-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Merge dev into main for 2.2.0 #1642
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The new mask is only visible properly at max opacity but at max opacity the brush preview becomes fully opaque blocking the view. So the mask brush preview no remains at 0.5 no matter what the Brush opacity is.
Our app changes redux state very, very often. As our undo/redo history grows, the calls to persist state start to take in the 100ms range, due to a the deep cloning of the history. This causes very noticeable performance lag. The deep cloning is required because we need to blacklist certain items in redux from being persisted (e.g. the app's connection status). Debouncing the whole process of persistence is a simple and effective solution. Unfortunately, `redux-persist` dropped `debounce` between v4 and v5, replacing it with `throttle`. `throttle`, instead of delaying the expensive action until a period of X ms of inactivity, simply ensures the action is executed at least every X ms. Of course, this does not fix our performance issue. The patch is very simple. It adds a `debounce` argument - a number of milliseconds - and debounces `redux-persist`'s `update()` method (provided by `createPersistoid`) by that many ms. Before this, I also tried writing a custom storage adapter for `redux-persist` to debounce the calls to `localStorage.setItem()`. While this worked and was far less invasive, it doesn't actually address the issue. It turns out `setItem()` is a very fast part of the process. We use `redux-deep-persist` to simplify the `redux-persist` configuration, which can get complicated when you need to blacklist or whitelist deeply nested state. There is also a patch here for that library because it uses the same types as `redux-persist`. Unfortunately, the last release of `redux-persist` used a package `flat-stream` which was malicious and has been removed from npm. The latest commits to `redux-persist` (about 1 year ago) do not build; we cannot use the master branch. And between the last release and last commit, the changes have all been breaking. Patching this last release (about 3 years old at this point) directly is far simpler than attempting to fix the upstream library's master branch or figuring out an alternative to the malicious and now non-existent dependency.
Also fixes the canvas resizing failing n fast pushes
Now sets to 0 when the image had variations.
`TypeError: 'float' object cannot be interpreted as an integer`
This PR makes it possible to include a Hugging Face concepts library <style-or-subject-trigger> in the WebUI prompt. The metadata seems to be correctly handled.
- Add documentation for the Hugging Face concepts library and TI embedding. - Fixup index.md to point to each of the feature documentation files, including ones that are pending.
* tweak setup and environment files for linux & pypatchmatch - Downgrade python requirements to 3.9 because 3.10 is not supported on Ubuntu 20.04 LTS (widely-used distro) - Use our github pypatchmatch 0.1.3 in order to install Makefile where it needs to be. - Restored "-e ." as the last install step on pip installs. Hopefully this will not trigger the high-CPU hang we've previously experienced. * keep windows on basicsr 1.4.1 * keep windows on basicsr 1.4.1 * bump pypatchmatch requirement to 0.1.4 - This brings in a version of pypatchmatch that will gracefully handle internet connection not available at startup time. - Also refactors and simplifies the handling of gfpgan's basicsr requirement across various platforms.
## The concepts library now works with the Web UI This PR makes it possible to include a Hugging Face concepts library <style-or-subject-trigger> in the WebUI prompts. The metadata seems to be correctly handled.
This restores the correct behavior of list_models() and quenches the bug of list_models() returning a single model entry named "name". I have not investigated what was wrong with the new version, but I think it may have to do with changes to the behavior in dict.update()
- comment out non existing link - fix indention - add seperator between feature categories
* debloat Dockerfile - less options more but more userfriendly - better Entrypoint to simulate CLI usage - without command the container still starts the web-host * debloat build.sh * better syntax in run.sh * update Docker docs - fix description of VOLUMENAME - update run script example to reflect new entrypoint
* test linux install * try removing http from parsed requirements * pip install confirmed working on linux * ready for linux testing - rebuilt py3.10-linux-x86_64-cuda-reqs.txt to include pypatchmatch dependency. - point install.sh and install.bat to test-installer branch. * Updates MPS reqs * detect broken readline history files * fix download.pytorch.org URL * Test installer (Win 11) (#1620) Co-authored-by: Cyrus Chan <[email protected]> * Test installer (MacOS 13.0.1 w/ torch==1.12.0) (#1621) * Test installer (Win 11) * Test installer (MacOS 13.0.1 w/ torch==1.12.0) Co-authored-by: Cyrus Chan <[email protected]> * change sourceball to development for testing * Test installer (MacOS 13.0.1 w/ torch==1.12.1 & torchvision==1.13.1) (#1622) * Test installer (Win 11) * Test installer (MacOS 13.0.1 w/ torch==1.12.0) * Test installer (MacOS 13.0.1 w/ torch==1.12.1 & torchvision==1.13.1) Co-authored-by: Cyrus Chan <[email protected]> Co-authored-by: psychedelicious <[email protected]> Co-authored-by: Cyrus Chan <[email protected]> Co-authored-by: Cyrus Chan <[email protected]>
* Unified Canvas Docs & Assets Unified Canvas draft Advanced Tools Updates Doc Updates (lstein feedback) * copy edits to Unified Canvas docs - consistent capitalisation and feature naming - more intimate address (replace "the user" with "you") for improved User Engagement(tm) - grammatical massaging and *poesie* Co-authored-by: Lincoln Stein <[email protected]> Co-authored-by: damian <[email protected]>
* disable patchmatch in CI actions * fix indention * replace tab with spaces Co-authored-by: Matthias Wild <[email protected]> Co-authored-by: mauwii <[email protected]>
* refer to the platform as 'osx' instead of 'mac', otherwise the composed URL to micromamba is wrong. * move the `-O` option to `tar` to be grouped with the other tar flags to avoid the `-O` being interpreted as something to unarchive.
Was unintentionally added in #1621
- error was "Omnibus object has no attribute pil_image" - closes #1596
* add k_dpmpp_2_a and k_dpmpp_2 solvers options * update frontend Co-authored-by: Victor <[email protected]> Co-authored-by: Lincoln Stein <[email protected]>
* Fixes bug preventing multiple images from being generated * Fixes valid seam strength value range * Update Delete Alert Text Indicates to the user that images are not permanently deleted. * Fixes left/right arrows not working on gallery * Fixes initial image on load erroneously set to a user uploaded image Should be a result gallery image. * Lightbox Fixes - Lightbox is now a button in the current image buttons - Lightbox is also now available in the gallery context menu - Lightbox zoom issues fixed - Lightbox has a fade in animation. * Fix image display wrapper in current preview not overflow bounds * Revert "Fix image display wrapper in current preview not overflow bounds" This reverts commit 5511c82. * Change Staging Area discard icon from Bin to X * Expose Snap Threshold and Move Snap Settings to BBox Panel * Changes img2img strength default to 0.75 * Fixes drawing triggering when mouse enters canvas w/ button down When we only supported inpainting and no zoom, this was useful. It allowed the cursor to leave the canvas (which was easy to do given the limited canvas dimensions) and without losing the "I am drawing" state. With a zoomable canvas this is no longer as useful. Additionally, we have more popovers and tools (like the color pickers) which result in unexpected brush strokes. This fixes that issue. * Revert "Expose Snap Threshold and Move Snap Settings to BBox Panel" We will handle this a bit differently - by allowing the grid origin to be moved. I will dig in at some point. This reverts commit 33c92ec. * Adds Limit Strokes to Box * Adds fill bounding box button * Adds erase bounding box button * Changes Staging area discard icon to match others * Fixes right click breaking move tool * Fixes brush preview visibility issue with "darken outside box" * Fixes history bugs with addFillRect, addEraseRect, and other actions * Adds missing `key` * Fixes postprocessing being applied to canvas generations * Fixes bbox not getting scaled in various situations * Fixes staging area show image toggle not resetting on accept/discard * Locks down canvas while generating/staging * Fixes move tool breaking when canvas loses focus during move/transform * Hides cursor when restrict strokes is on and mouse outside bbox * Lints * Builds fresh bundle * Fix overlapping hotkey for Fill Bounding Box * Build Fresh Bundle * Fixes bug with mask and bbox overlay * Builds fresh bundle Co-authored-by: blessedcoolant <[email protected]> Co-authored-by: Lincoln Stein <[email protected]>
* disable NSFW checker loading during the CI tests The NSFW filter apparently causes invoke.py to crash during CI testing, possibly due to out of memory errors. This workaround disables NSFW model loading. * doc change * fix formatting errors in yml files
* configure the NSFW checker at install time with default on 1. Changes the --safety_checker argument to --nsfw_checker and --no-nsfw_checker. The original argument is recognized for backward compatibility. 2. The configure script asks users whether to enable the checker (default yes). Also offers users ability to select default sampler and number of generation steps. 3.Enables the pasting of the caution icon on blurred images when InvokeAI is installed into the package directory. 4. Adds documentation for the NSFW checker, including caveats about accuracy, memory requirements, and intermediate image dispaly. * use better fitting icon * NSFW defaults false for testing * set default back to nsfw active Co-authored-by: Matthias Wild <[email protected]> Co-authored-by: mauwii <[email protected]>
hipsterusername
approved these changes
Nov 30, 2022
Member
hipsterusername
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RELEASE THE KRAKEN
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merge
developmentintomainfor release 2.2.0This will bring
mainup to date withdevelopmentand will become the "main" development branch from now on. After this the two installers need to be brought intomainand then the whole thing tagged as RC2.