Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix large pixel image rendition issue by adding limitInputPixels option #476

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

madhubalaji
Copy link

Issue #, if available:
#465

Description of changes:
Implement limitInputPixels option which is now supported by sharp library. This will enable us to process very large images . Any image larger than 16364 * 16364 need limitInputPixels set to false.

Checklist

  • 👋 I have added unit tests for all code changes.
  • 👋 I have run the unit tests, and all unit tests have passed.
  • ⚠️ This pull request might incur a breaking change.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@madhubalaji
Copy link
Author

Hi @dougtoppin , Could you please add yourself as a reviewer and review the PR. I'm unable to add reviewers. Thanks!

@dougtoppin dougtoppin self-assigned this May 5, 2023
Copy link
Contributor

@dougtoppin dougtoppin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • would be good to npm run prettier-format in source to ensure that the code meets formatting guidelines
  • don't leave in commented out code in resize.spec.ts
  • rather than change an existing unit test, it would be better to add new unit tests for expected to pass and expected to fail behavior confirmation
  • another consideration is to provide the same functionality and unit tests for the thumbor style requests
  • for PRs that are not very large, it is worthwhile to squash the commits into a single commit, this helps make it clear in the history as to what changed and why
  • for PRs that provide new capabilities and/or are configurable, please include descriptive text that can be folded into the Implementation guide as to what it is and how to use it, note that related to this is a mention that using potentially larger images may mean that the default Lambda sizing be increased to accommodate additional memory needs

@madhubalaji
Copy link
Author

@dougtoppin I have updated the PR . See my comments below:

would be good to npm run prettier-format in source to ensure that the code meets formatting guidelines
don't leave in commented out code in resize.spec.ts. - DONE
rather than change an existing unit test, it would be better to add new unit tests for expected to pass and expected to fail behavior confirmation - DONE
another consideration is to provide the same functionality and unit tests for the thumbor style requests - I can work on it in next version
for PRs that are not very large, it is worthwhile to squash the commits into a single commit, this helps make it clear in the history as to what changed and why - DONE
for PRs that provide new capabilities and/or are configurable, please include descriptive text that can be folded into the Implementation guide as to what it is and how to use it, note that related to this is a mention that using potentially larger images may mean that the default Lambda sizing be increased to accommodate additional memory needs - Let me know how you want to document this

@simonkrol simonkrol self-requested a review July 4, 2023 16:21
@madhubalaji
Copy link
Author

@dougtoppin Any luck with this PR review?

@simonkrol
Copy link
Member

Hi @madhubalaji,

I've added a task to the backlog to evaluate and potentially include this change in the next minor release.

Thanks for your patience on this,
Simon

@simonkrol
Copy link
Member

simonkrol commented Jul 16, 2024

Hi @madhubalaji,
I've gone ahead and implemented this change internally, you should see the functionality added in the next minor/major release. While we can see the feature being useful, we've decided not to include it on default deployments, rather, an Env variable that is passed to the Backend Lambda function will need to be modified.
Any number value in this EnvVar will be passed directly to Sharp (0 = infinite), while any non-number value (including an empty string) will use the existing default.

Due to our internal processes, you won't see this PR get merged, rather, once this change is released, this PR will be closed and you'll find your name and a link to the PR included at the bottom of the README.

Thank you for your contributions to SIH.
Simon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants