InvokeAI/.github/workflows/build-container.yml

44 lines
1.3 KiB
YAML
Raw Normal View History

# Building the Image without pushing to confirm it is still buildable
# confirum functionality would unfortunately need way more resources
name: build container image
on:
push:
branches:
- 'main'
- 'development'
Merge dev into main for 2.2.0 (#1642) * Fixes inpainting + code cleanup * Disable stage info in Inpainting Tab * Mask Brush Preview now always at 0.5 opacity 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. * Remove save button from Canvas Controls (cleanup) * Implements invert mask * Changes "Invert Mask" to "Preserve Masked Areas" * Fixes (?) spacebar issues * Patches redux-persist and redux-deep-persist with debounced persists 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. * Adds debouncing * Fixes AttributeError: 'dict' object has no attribute 'invert_mask' * Updates package.json to use redux-persist patches * Attempts to fix redux-persist debounce patch * Fixes undo/redo * Fixes invert mask * Debounce > 300ms * Limits history to 256 for each of undo and redo * Canvas styling * Hotkeys improvement * Add Metadata To Viewer * Increases CFG Scale max to 200 * Fix gallery width size for Outpainting Also fixes the canvas resizing failing n fast pushes * Fixes disappearing canvas grid lines * Adds staging area * Fixes "use all" not setting variationAmount Now sets to 0 when the image had variations. * Builds fresh bundle * Outpainting tab loads to empty canvas instead of upload * Fixes wonky canvas layer ordering & compositing * Fixes error on inpainting paste back `TypeError: 'float' object cannot be interpreted as an integer` * Hides staging area outline on mouseover prev/next * Fixes inpainting not doing img2img when no mask * Fixes bbox not resizing in outpainting if partially off screen * Fixes crashes during iterative outpaint. Still doesn't work correctly though. * Fix iterative outpainting by restoring original images * Moves image uploading to HTTP - It all seems to work fine - A lot of cleanup is still needed - Logging needs to be added - May need types to be reviewed * Fixes: outpainting temp images show in gallery * WIP refactor to unified canvas * Removes console.log from redux-persist patch * Initial unification of canvas * Removes all references to split inpainting/outpainting canvas * Add patchmatch and infill_method parameter to prompt2image (options are 'patchmatch' or 'tile'). * Fixes app after removing in/out-painting refs * Rebases on dev, updates new env files w/ patchmatch * Organises features/canvas * Fixes bounding box ending up offscreen * Organises features/canvas * Stops unnecessary canvas rescales on gallery state change * Fixes 2px layout shift on toggle canvas lock * Clips lines drawn while canvas locked When drawing with the locked canvas, if a brush stroke gets too close to the edge of the canvas and its stroke would extend past the edge of the canvas, the edge of that stroke will be seen after unlocking the canvas. This could cause a problem if you unlock the canvas and now have a bunch of strokes just outside the init image area, which are far back in undo history and you cannot easily erase. With this change, lines drawn while the canvas is locked get clipped to the initial image bbox, fixing this issue. Additionally, the merge and save to gallery functions have been updated to respect the initial image bbox so they function how you'd expect. * Fixes reset canvas view when locked * Fixes send to buttons * Fixes bounding box not being rounded to 64 * Abandons "inpainting" canvas lock * Fixes save to gallery including empty area, adds download and copy image * Fix Current Image display background going over image bounds * Sets status immediately when clicking Invoke * Adds hotkeys and refactors sharing of konva instances Adds hotkeys to canvas. As part of this change, the access to konva instance objects was refactored: Previously closure'd refs were used to indirectly get access to the konva instances outside of react components. Now, a getter and setter function are used to provide access directly to the konva objects. * Updates hotkeys * Fixes canvas showing spinner on first load Also adds good default canvas scale and positioning when no image is on it * Fixes possible hang on MaskCompositer * Improves behaviour when setting init canvas image/reset view * Resets bounding box coords/dims when no image present * Disables canvas actions which cannot be done during processing * Adds useToastWatcher hook - Dispatch an `addToast` action with standard Chakra toast options object to add a toast to the toastQueue - The hook is called in App.tsx and just useEffect's w/ toastQueue as dependency to create the toasts - So now you can add toasts anywhere you have access to `dispatch`, which includes middleware and thunks - Adds first usage of this for the save image buttons in canvas * Update Hotkey Info Add missing tooltip hotkeys and update the hotkeys modal to reflect the new hotkeys for the Unified Canvas. * Fix theme changer not displaying current theme on page refresh * Fix tab count in hotkeys panel * Unify Brush and Eraser Sizes * Fix staging area display toggle not working * Staging Area delete button is now red So it doesnt feel blended into to the rest of them. * Revert "Fix theme changer not displaying current theme on page refresh" This reverts commit 903edfb803e743500242589ff093a8a8a0912726. * Add arguments to use SSL to webserver * Integrates #1487 - touch events Need to add: - Pinch zoom - Touch-specific handling (some things aren't quite right) * Refactors upload-related async thunks - Now standard thunks instead of RTK createAsyncThunk() - Adds toasts for all canvas upload-related actions * Reorganises app file structure * Fixes Canvas Auto Save to Gallery * Fixes staging area outline * Adds staging area hotkeys, disables gallery left/right when staging * Fixes Use All Parameters * Fix metadata viewer image url length when viewing intermediate * Fixes intermediate images being tiny in txt2img/img2img * Removes stale code * Improves canvas status text and adds option to toggle debug info * Fixes paste image to upload * Adds model drop-down to site header * Adds theme changer popover * Fix missing key on ThemeChanger map * Fixes stage position changing on zoom * Hotkey Cleanup - Viewer is now Z - Canvas Move tool is V - sync with PS - Removed some unused hotkeys * Fix canvas resizing when both options and gallery are unpinned * Implements thumbnails for gallery - Thumbnails are saved whenever an image is saved, and when gallery requests images from server - Thumbnails saved at original image aspect ratio with width of 128px as WEBP - If the thumbnail property of an image is unavailable for whatever reason, the image's full size URL is used instead * Saves thumbnails to separate thumbnails directory * Thumbnail size = 256px * Fix Lightbox Issues * Disables canvas image saving functions when processing * Fix index error on going past last image in Gallery * WIP - Lightbox Fixes Still need to fix the images not being centered on load when the image res changes * Fixes another similar index error, simplifies logic * Reworks canvas toolbar * Fixes canvas toolbar upload button * Cleans up IAICanvasStatusText * Improves metadata handling, fixes #1450 - Removes model list from metadata - Adds generation's specific model to metadata - Displays full metadata in JSON viewer * Gracefully handles corrupted images; fixes #1486 - App does not crash if corrupted image loaded - Error is displayed in the UI console and CLI output if an image cannot be loaded * Adds hotkey to reset canvas interaction state If the canvas' interaction state (e.g. isMovingBoundingBox, isDrawing, etc) get stuck somehow, user can press Escape to reset the state. * Removes stray console.log() * Fixes bug causing gallery to close on context menu open * Minor bugfixes - When doing long-running canvas image exporting actions, display indeterminate progress bar - Fix staging area image outline not displaying after committing/discarding results * Removes unused imports * Fixes repo root .gitignore ignoring frontend things * Builds fresh bundle * Styling updates * Removes reasonsWhyNotReady The popover doesn't play well with the button being disabled, and I don't think adds any value. * Image gallery resize/style tweaks * Styles buttons for clearing canvas history and mask * First pass on Canvas options panel * Fixes bug where discarding staged images results in loss of history * Adds Save to Gallery button to staging toolbar * Rearrange some canvas toolbar icons Put brush stuff together and canvas movement stuff together * Fix gallery maxwidth on unified canvas * Update Layer hotkey display to UI * Adds option to crop to bounding box on save * Masking option tweaks * Crop to Bounding Box > Save Box Region Only * Adds clear temp folder * Updates mask options popover behavior * Builds fresh bundle * Fix styling on alert modals * Fix input checkbox styling being incorrect on light theme * Styling fixes * Improves gallery resize behaviour * Cap gallery size on canvas tab so it doesnt overflow * Fixes bug when postprocessing image with no metadata * Adds IAIAlertDialog component * Moves Loopback to app settings * Fixes metadata viewer not showing metadata after refresh Also adds Dream-style prompt to metadata * Adds outpainting specific options * Linting * Fixes gallery width on lightbox, fixes gallery button expansion * Builds fresh bundle * Fix Lightbox images of different res not centering * Update feature tooltip text * Highlight mask icon when on mask layer * Fix gallery not resizing correctly on open and close * Add loopback to just img2img. Remove from settings. * Fix to gallery resizing * Removes Advanced checkbox, cleans up options panel for unified canvas * Minor styling fixes to new options panel layout * Styling Updates * Adds infill method * Tab Styling Fixes * memoize outpainting options * Fix unnecessary gallery re-renders * Isolate Cursor Pos debug text on canvas to prevent rerenders * Fixes missing postprocessed image metadata before refresh * Builds fresh bundle * Fix rerenders on model select * Floating panel re-render fix * Simplify fullscreen hotkey selector * Add Training WIP Tab * Adds Training icon * Move full screen hotkey to floating to prevent tab rerenders * Adds single-column gallery layout * Fixes crash on cancel with intermediates enabled, fixes #1416 * Updates npm dependencies * Fixes img2img attempting inpaint when init image has transparency * Fixes missing threshold and perlin parameters in metadata viewer * Renames "Threshold" > "Noise Threshold" * Fixes postprocessing not being disabled when clicking use all * Builds fresh bundle * Adds color picker * Lints & builds fresh bundle * Fixes iterations being disabled when seed random & variations are off * Un-floors cursor position * Changes color picker preview to circles * Fixes variation params not set correctly when recalled * Fixes invoke hotkey not working in input fields * Simplifies Accordion Prep for adding reset buttons for each section * Fixes mask brush preview color * Committing color picker color changes tool to brush * Color picker does not overwrite user-selected alpha * Adds brush color alpha hotkey * Lints * Removes force_outpaint param * Add inpaint size options to inpaint at a larger size than the actual inpaint image, then scale back down for recombination * Bug fix for inpaint size * Adds inpaint size (as scale bounding box) to UI * Adds auto-scaling for inpaint size * Improves scaled bbox display logic * Fixes bug with clear mask and history * Fixes shouldShowStagingImage not resetting to true on commit * Builds fresh bundle * Fixes canvas failing to scale on first run * Builds fresh bundle * Fixes unnecessary canvas scaling * Adds gallery drag and drop to img2img/canvas * Builds fresh bundle * Fix desktop mode being broken with new versions of flaskwebgui * Fixes canvas dimensions not setting on first load * Builds fresh bundle * stop crash on !import_models call on model inside rootdir - addresses bug report #1546 * prevent "!switch state gets confused if model switching fails" - If !switch were to fail on a particular model, then generate got confused and wouldn't try again until you switch to a different working model and back again. - This commit fixes and closes #1547 * Revert "make the docstring more readable and improve the list_models logic" This reverts commit 248068fe5d57b5639ea7a87ee6cbf023104d957d. * fix model cache path * also set fail-fast to it's default (true) in this way the whole action fails if one job fails this should unblock the runners!!! * fix output path for Archive results * disable checks for python 3.9 * Update-requirements and test-invoke-pip workflow (#1574) * update requirements files * update test-invoke-pip workflow * move requirements-mkdocs.txt to docs folder (#1575) * move requirements-mkdocs.txt to docs folder * update copyright * Fixes outpainting with resized inpaint size * Interactive configuration (#1517) * Update scripts/configure_invokeai.py prevent crash if output exists Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * implement changes requested by reviews * default to correct root and output directory on Windows systems - Previously the script was relying on the readline buffer editing feature to set up the correct default. But this feature doesn't exist on windows. - This commit detects when user typed return with an empty directory value and replaces with the default directory. * improved readability of directory choices * Update scripts/configure_invokeai.py Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * better error reporting at startup - If user tries to run the script outside of the repo or runtime directory, a more informative message will appear explaining the problem. Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * Embedding merging (#1526) * add whole <style token> to vocab for concept library embeddings * add ability to load multiple concept .bin files * make --log_tokenization respect custom tokens * start working on concept downloading system * preliminary support for dynamic loading and merging of multiple embedded models - The embedding_manager is now enhanced with ldm.invoke.concepts_lib, which handles dynamic downloading and caching of embedded models from the Hugging Face concepts library (https://huggingface.co/sd-concepts-library) - Downloading of a embedded model is triggered by the presence of one or more <concept> tags in the prompt. - Once the embedded model is downloaded, its trigger phrase will be loaded into the embedding manager and the prompt's <concept> tag will be replaced with the <trigger_phrase> - The downloaded model stays on disk for fast loading later. - The CLI autocomplete will complete partial <concept> tags for you. Type a '<' and hit tab to get all ~700 concepts. BUGS AND LIMITATIONS: - MODEL NAME VS TRIGGER PHRASE You must use the name of the concept embed model from the SD library, and not the trigger phrase itself. Usually these are the same, but not always. For example, the model named "hoi4-leaders" corresponds to the trigger "<HOI4-Leader>" One reason for this design choice is that there is no apparent constraint on the uniqueness of the trigger phrases and one trigger phrase may map onto multiple models. So we use the model name instead. The second reason is that there is no way I know of to search Hugging Face for models with certain trigger phrases. So we'd have to download all 700 models to index the phrases. The problem this presents is that this may confuse users, who will want to reuse prompts from distributions that use the trigger phrase directly. Usually this will work, but not always. - WON'T WORK ON A FIREWALLED SYSTEM If the host running IAI has no internet connection, it can't download the concept libraries. I will add a script that allows users to preload a list of concept models. - BUG IN PROMPT REPLACEMENT WHEN MODEL NOT FOUND There's a small bug that occurs when the user provides an invalid model name. The <concept> gets replaced with <None> in the prompt. * fix loading .pt embeddings; allow multi-vector embeddings; warn on dupes * simplify replacement logic and remove cuda assumption * download list of concepts from hugging face * remove misleading customization of '*' placeholder the existing code as-is did not do anything; unclear what it was supposed to do. the obvious alternative -- setting using 'placeholder_strings' instead of 'placeholder_tokens' to match model.params.personalization_config.params.placeholder_strings -- caused a crash. i think this is because the passed string also needed to be handed over on init of the PersonalizedBase as the 'placeholder_token' argument. this is weird config dict magic and i don't want to touch it. put a breakpoint in personalzied.py line 116 (top of PersonalizedBase.__init__) if you want to have a crack at it yourself. * address all the issues raised by damian0815 in review of PR #1526 * actually resize the token_embeddings * multiple improvements to the concept loader based on code reviews 1. Activated the --embedding_directory option (alias --embedding_path) to load a single embedding or an entire directory of embeddings at startup time. 2. Can turn off automatic loading of embeddings using --no-embeddings. 3. Embedding checkpoints are scanned with the pickle scanner. 4. More informative error messages when a concept can't be loaded due either to a 404 not found error or a network error. * autocomplete terms end with ">" now * fix startup error and network unreachable 1. If the .invokeai file does not contain the --root and --outdir options, invoke.py will now fix it. 2. Catch and handle network problems when downloading hugging face textual inversion concepts. * fix misformatted error string Co-authored-by: Damian Stewart <d@damianstewart.com> * model_cache.py: fix list_models Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> * add statement of values (#1584) * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * Fix heading * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * add keturn and mauwii to the team member list * Fix punctuation * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * add keturn and mauwii to the team member list * fix formating - make sub bullets use * (decide to all use - or *) - indent sub bullets Sorry, first only looked at the code version and found this only after looking at the markdown rendered version * use multiparagraph numbered sections * Break up Statement Of Values as per comments on #1584 * remove duplicated word, reduce vagueness it's important not to overstate how many artists we are consulting. * fix typo (sorry blessedcoolant) Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: damian <git@damianstewart.com> * update dockerfile (#1551) * update dockerfile * remove not existing file from .dockerignore * remove bloat and unecesary step also use --no-cache-dir for pip install image is now close to 2GB * make Dockerfile a variable * set base image to `ubuntu:22.10` * add build-essential * link outputs folder for persistence * update tag variable * update docs * fix not customizeable build args, add reqs output * !model_import autocompletes in ROOTDIR * Adds psychedelicious to statement of values signature (#1602) * add a --no-patchmatch option to disable patchmatch loading (#1598) This feature was added to prevent the CI Macintosh tests from erroring out when patchmatch is unable to retrieve its shared library from github assets. * Fix #1599 by relaxing the `match_trigger` regex (#1601) * Fix #1599 by relaxing the `match_trigger` regex Also simplify logic and reduce duplication. * restrict trigger regex again (but not so far) * make concepts library work with Web UI 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. * documentation enhancements (#1603) - 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 (#1580) * 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. * revert to older version of list_models() (#1611) 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() * Fixes for #1604 (#1605) * Converts ESRGAN image input to RGB - Also adds typing for image input. - Partially resolves #1604 * ensure there are unmasked pixels before color matching Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> * update index.md (#1609) - comment out non existing link - fix indention - add seperator between feature categories * Debloat-docker (#1612) * 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 installer (#1618) * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> * 2.2 Doc Updates (#1589) * 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 <lincoln.stein@gmail.com> Co-authored-by: damian <git@damianstewart.com> * include a step after config to `cat ~/.invokeai` (#1629) * disable patchmatch in CI actions (#1626) * disable patchmatch in CI actions * fix indention * replace tab with spaces Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> * Fix installer script for macOS. (#1630) * 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. * Removes symlinked environment.yaml (#1631) Was unintentionally added in #1621 * Fix inpainting with iterations (#1635) * fix error when inpainting using runwayml inpainting model (#1634) - error was "Omnibus object has no attribute pil_image" - closes #1596 * add k_dpmpp_2_a and k_dpmpp_2 solvers options (#1389) * add k_dpmpp_2_a and k_dpmpp_2 solvers options * update frontend Co-authored-by: Victor <victorca25@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * add .editorconfig (#1636) * Web UI 2.2 bugfixes (#1572) * 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 5511c82714dbf1d1999d64e8bc357bafa34ddf37. * 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 33c92ecf4da724c2f17d9d91c7ea31a43a2f6deb. * 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 <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * disable NSFW checker loading during the CI tests (#1641) * 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 (#1624) * 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 <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> Co-authored-by: javl <mail@jaspervanloenen.com> Co-authored-by: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: Damian Stewart <d@damianstewart.com> Co-authored-by: DevOps117 <55235206+devops117@users.noreply.github.com> Co-authored-by: damian <git@damianstewart.com> Co-authored-by: Damian Stewart <null@damianstewart.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> Co-authored-by: Andre LaBranche <dre@mac.com> Co-authored-by: victorca25 <41912303+victorca25@users.noreply.github.com> Co-authored-by: Victor <victorca25@users.noreply.github.com>
2022-11-30 21:12:23 +00:00
- 'update-dockerfile'
jobs:
docker:
merge release-candidate-1-3-2 into main. Squashed commit of the following: commit 9a1fe8e7fbbd81d9e9e47c4fda6bde6f66fba30c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 17:07:40 2022 +0000 swap in release URLs for installers commit ff56f5251ba8502833cb561317e82b028cd2da5d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 17:03:21 2022 +0000 fix up bad unicode chars in invoke.py commit ed943bd6c785d968d1e31fbbb814fea8688fc8bb Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 16:05:45 2022 +0000 outcrop improvements, hand-added commit 7ad2355b1da53861bb75312edead8f9db0b0f44d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 15:14:33 2022 +0000 documentation fixes commit 66c920fc197d9206be9e0e2d1eb2a1cb86362887 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 16:49:25 2022 -0500 Revert "Resize hires as an image" This reverts commit d05b1b3544dfa7b3c071ac05b4f014a52e08fa50. commit 3fc5cb09f8bc03ea96e67a3e49fb087019d2f9d5 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 12:43:17 2022 +0000 fix incorrect link in install commit 1345ec77ab58f70e1bf5a0f587ca40aba4e906b7 Author: tildebyte <337875+tildebyte@users.noreply.github.com> Date: Sun Nov 6 19:07:31 2022 -0500 toil(repo): add tildebyte as owner of installer/ directory commit b116715490f390a59e5bee1022a6a758aee0918d Author: Kyle Schouviller <kyle0654@hotmail.com> Date: Thu Nov 10 21:43:56 2022 -0800 Fix performance issue introduced by torch cuda cache clear during generation commit fa3670270e7aae6bfd8d47fb7bdd32b707310c23 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 12:42:03 2022 +0100 small update to dockers huggingface section commit c304250ef663b3e202b4da8332365288589d94c7 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 12:19:27 2022 +0100 fix format and Link in INSTALL_INVOKE.md commit 802ce5dde5ca68f24aa4609cdba428044e0c7fa1 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 11:17:49 2022 +0100 small fixex to format and a link in INSTALL_MANUAL commit 311ee320ecac892cb4a1bcd012374fa051b1d011 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 07:23:35 2022 +0000 ignore installer intermediate files commit e9df17b374df58a44d3ae3ba33cbdc58794bcf5d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 07:19:25 2022 +0000 fix backslash-related syntax error commit 061fb4ef00482bdd4fba635aeaeff4ca7510190d Merge: 52be0d23 4095acd1 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 06:50:04 2022 +0000 Merge branch 'release-candidate-2-1-3' of github.com:/invoke-ai/InvokeAI into release-candidate-2-1-3 commit 52be0d2396de2de02030855c92e3367008b50377 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 06:49:45 2022 +0000 add WindowsLongFileName batfile to source installer commit 4095acd10ebae05a8cb14cc2faf7c79936d9e6a9 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 07:05:17 2022 +0100 Doc Updates A lot of re-formating of new Installation Docs also some content updates/corrections commit 201eb22d7650b00f55249c2646fa4f47ac3e0ec2 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 04:41:02 2022 +0000 prevent two models from being marked default in models.yaml commit 17ab98220034dfbb798a9a0460bc2837f0c1e2cb Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 03:56:54 2022 +0000 installers download branch HEAD not tag commit a04965b0e9e9d1170cf284af9acbd1186d681255 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 03:48:21 2022 +0000 improve messaging during installation process commit 0b529f0c574dd91fb9593e924ebc41c8c219b6ce Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 15:22:32 2022 +0000 enable outcropping of random JPG/PNG images - Works best with runwayML inpainting model - Numerous code changes required to propagate seed to final metadata. Original code predicated on the image being generated within InvokeAI. commit 6f9f84834557eb3c48562dc5d0ace51ca9e9cca2 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 17:27:42 2022 +0000 enhance outcropping with ability to direct contents of new regions - When outcropping an image you can now add a `--new_prompt` option, to specify a new prompt to be used instead of the original one used to generate the image. - Similarly you can provide a new seed using `--seed` (or `-S`). A seed of zero will pick one randomly. - This PR also fixes the crash that happened when trying to outcrop an image that does not contain InvokeAI metadata. commit 918c1589ef30595668899f4259ece6a4ad605c69 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 20:16:47 2022 +0000 fix #1402 commit 116415b3fcec8415f8e6de9b23c0bbd0dbc6845b Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 21:27:25 2022 +0000 fix invoke.py crash if no models.yaml file present - Script will now offer the user the ability to create a minimal models.yaml and then gracefully exit. - Closes #1420 commit b4b6eabaac94896e38123be331c44d1b63065b0d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 16:49:25 2022 -0500 Revert "Log strength with hires" This reverts commit 82d4904c07670d514e9a541de7c9ecd8489eeae2. commit 4ef1f4a854717c953f9192454d0adabef32af36c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 20:01:49 2022 +0000 remove temporary directory from repo commit 510fc4ebaa5f9dc0e77b47cf04e0c265423e0a44 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 19:59:03 2022 +0000 remove -e from clipseg load in installer commit a20914434bb3609cf1d883cabf048d4cc25f881a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 19:37:07 2022 +0000 change clipseg repo branch to avoid clipseg not found error commit 0d134195fda5c69fce5a95d6da90248eba8d226d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 18:39:29 2022 +0000 update repo URL to point to rc commit 649d8c8573896fdb5a73453b69ee4b54cf4d6241 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 18:13:28 2022 +0000 integrate tildebyte installer commit a358d370a05ea985a9e26fa9c1101d9c14fdb3ab Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 17:48:14 2022 +0000 add @tildebyte compiled pip installer commit 94a9033c4f6214e604be149a3de6d7c747af7f3a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 14:52:00 2022 +0000 ignore source installer zip files commit 18a947c503c83c95cd83f27424696219ff3c4c95 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 14:46:36 2022 +0000 documentation and environment file fixes - Have clarified the relationship between the @tildebyte and @cmdr2 installers; However, @tildebyte installer merge is still a WIP due to conflicts over such things as `invoke.sh`. - Rechristened 1click installer as "source" installer. @tildebyte installer will be "the" installer. (We'll see which one generates the least support requests and maintenance work.) - Sync'd `environment-mac.yml` with `development`. The former was failing with a taming-transformers error as per https://discord.com/channels/@me/1037201214154231899/1040060947378749460 commit a23b03189526a49da8ddae90ce71b0e902784d29 Author: Mike DiGiovanni <vinblau@gmail.com> Date: Wed Nov 9 16:44:59 2022 -0500 Fixes typos in README.md commit 23af68c7d79d947f1bd3441c91bb44d655238f01 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 07:02:27 2022 -0500 downgrade win installs to basicsr==1.4.1 commit e258beeb51f3e645b9ea60e52d69d18722221cc5 Merge: 7460c069 e481bfac Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 06:37:45 2022 -0500 Merge branch 'release-candidate-2-1-3' of github.com:invoke-ai/InvokeAI into release-candidate-2-1-3 commit 7460c069b880b10c84b55f2e0c0998e350d6cf12 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 06:36:48 2022 -0500 remove --prefer-binary from requirements-base.txt It appears that some versions of pip do not recognize this option when it appears in the requirements file. Did not explore this further but recommend --prefer-binary in the manual install instructions on the command line. commit e481bfac615e0c798ceb5e59e8fbe3038f85b431 Merge: 5040747c d1ab65a4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 11:21:56 2022 +0000 Merge branch 'release-candidate-2-1-3' of github.com:/invoke-ai/InvokeAI into release-candidate-2-1-3 commit 5040747c6700c9b949e3f3e1d2c3f21daffcec6c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 11:21:43 2022 +0000 fix windows install instructions & bat file commit d1ab65a43122f73c20533d5815590ec10bc05eca Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 07:18:59 2022 +0100 update WEBUIHOTKEYS.md commit af4ee7feb8a7d2528bf4e2b3f7deee7a7c4c3dec Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 06:33:49 2022 +0100 update INSTALL_DOCKER.md commit 764fb29aded8114984d05932c4266ea24614b932 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 06:30:15 2022 +0100 fix formatting in INSTALL.md commit 1014d3ba44aa4cd4cfdc6e3650c24a0dc9568a6e Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 06:29:14 2022 +0100 fix build.sh invokeai_conda_env_file default value commit 40a48aca88e337e9f4475f80a03b7d6d4751d09b Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 05:25:30 2022 +0100 fix environment-mac.yml moved taming-transformers-rom1504 to pip dependencies commit 92abc00f16a34a586dd16d3c64408f00e23fcb53 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 05:19:52 2022 +0100 fix test-invoke-conda - copy required conda environment yaml - use environment.yml - I use cp instead of ln since would be compatible for windows runners commit a5719aabf89c8c5f29c6044e2882ccdcd0c6916b Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 04:14:35 2022 +0100 update Dockerfile - link environment.yml from new environemnts path - change default conda_env_file - quote all variables to avoid splitting - also remove paths from conda-env-files in build-container.yml commit 44a18511fa7accfec6a20345774583a1ce745b02 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 20:51:06 2022 +0000 update paths in container build workflow commit b850dbadafba052310327ca759d96f49a9d25d03 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 20:16:57 2022 +0000 finished reorganization of install docs commit 9ef8b944d53afb1fed94c418b2fd936d2d743797 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 18:50:58 2022 +0000 tweaks to manual install documentation --prefer-binary is an iffy option in the requirements file. It isn't supported by some versions of pip, so I removed it from requirements-base.txt and inserted it into the manual install instructions where it seems to do what it is supposed to. commit efc5a9848803b4250d726bc1913b9fd5a33fad75 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 18:20:03 2022 +0000 manual installation documentation tested on Linux commit 1417c87928e13b0ed21bf1c5604f8636d3b50a8d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 17:37:06 2022 +0000 change name of requirements.txt to avoid confusion commit 2dd6fc2b93ff7bbb4038568a3b28d36a8fafaeb8 Merge: 22213612 71ee44a8 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 17:26:24 2022 +0000 Merge branch 'release-candidate-2-1-3' of github.com:/invoke-ai/InvokeAI into release-candidate-2-1-3 commit 22213612a08bbece46eafd48994f985b097cb141 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 17:25:59 2022 +0000 directory cleanup; working on install docs commit 71ee44a827898759fd457f774c0b2ac7a1ef6519 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 02:07:13 2022 +0000 prevent crash when switching to an invalid model commit b17ca0a5e731c142101bbdbf34d121df949e86d7 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 14:28:38 2022 +0100 don't suppress exceptions when doing cross-attention control commit 71bbfe4a1a5b70f90e5f41c94df50fb104dbdd79 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:59:34 2022 +0100 Fix #1362 by improving VRAM usage patterns when doing .swap() commit ef3f7a26e242b73c2beb0195c7fd8f654ef47f55 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:18:37 2022 +0100 remove log spam commit 7189d649622d4668b120b0dd278388ad672142c4 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:10:28 2022 +0100 change the way saved slicing strategy is applied commit 01c40f751ab72955140165c16f95ae411732265b Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:04:43 2022 +0100 fix slicing_strategy_getter callsite commit f8cfe25150a346958903316bc710737d99839923 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 11:56:22 2022 +0100 cleanup, consistent dim=0 also tested commit 5bf9b1e890d48e962afd4a668a219b68271e5dc1 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 11:34:09 2022 +0100 refactored context, tested with non-sliced cross attention control commit d58a46e39bf562e7459290d2444256e8c08ad0b6 Author: damian0815 <null@damianstewart.com> Date: Sun Nov 6 00:41:52 2022 +0100 cleanup commit 7e2c658b4c06fe239311b65b9bb16fa3adec7fd7 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:57:31 2022 +0100 disable logs commit 20ee89d93841b070738b3d8a4385c93b097d92eb Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:36:58 2022 +0100 slice saved attention if necessary commit 0a7684a22c880ec0f48cc22bfed4526358f71546 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:32:38 2022 +0100 raise instead of asserting commit 7083104c7f3a0d8fd96e94a2f391de50a3c942e4 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:31:00 2022 +0100 store dim when saving slices commit f7c0808ed383ec1dc70645288a798ed2aa4fa85c Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:27:16 2022 +0100 don't retry on exception commit 749a721e939b3fe7c1741e7998dab6bd2c85a0cb Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:24:50 2022 +0100 stuff commit 032ab90e9533be8726301ec91b97137e2aadef9a Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:20:17 2022 +0100 more logging commit 3dc34b387f033482305360e605809d95a40bf6f8 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:16:47 2022 +0100 logs commit 901c4c1aa4b9bcef695a6551867ec8149e6e6a93 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:12:39 2022 +0100 actually set save_slicing_strategy to True commit f780e0a0a7c6b6a3db320891064da82589358c8a Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:10:35 2022 +0100 store slicing strategy commit 93bb6d566fd18c5c69ef7dacc8f74ba2cf671cb7 Author: damian <git@damianstewart.com> Date: Sat Nov 5 20:43:48 2022 +0100 still not it commit 5e3a9541f8ae00bde524046963910323e20c40b7 Author: damian <git@damianstewart.com> Date: Sat Nov 5 17:20:02 2022 +0100 wip offloading attention slices on-demand commit 4c2966aa856b6f3b446216da3619ae931552ef08 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 15:47:40 2022 +0100 pre-emptive offloading, idk if it works commit 572576755e9f0a878d38e8173e485126c0efbefb Author: root <you@example.com> Date: Sat Nov 5 11:25:32 2022 +0000 push attention slices to cpu. slow but saves memory. commit b57c83a68f2ac03976ebc89ce2ff03812d6d185f Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 12:04:22 2022 +0100 verbose logging commit 3a5dae116f110a96585d9eb71d713b5ed2bc3d2b Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 11:50:48 2022 +0100 wip fixing mem strategy crash (4 test on runpod) commit 3cf237db5fae0c7b0b4cc3c47c81830bdb2ae7de Author: damian0815 <null@damianstewart.com> Date: Fri Nov 4 09:02:40 2022 +0100 wip, only works on cuda commit 5702271991e126c026aa1ff41c44f8ad37b26e3a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 14:09:36 2022 +0000 speculative reorganization of the requirements & environment files - This is only a test! - The various environment*.yml and requirements*.txt files have all been moved into a directory named "environments-and-requirements". - The idea is to clean up our root directory so that the github home page is tidy. - The manual install instructions will start with the instructions to create a symbolic link from environment.yml to the appropriate file for OS and GPU. - The 1-click installers have been updated to accommodate this change. commit 10781e7dc4f4551583a110d14f2a1f60393112b8 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 01:59:45 2022 +0000 refactoring requirements commit 099d1157c579c7b9fea20945e8504cc15745c598 Author: mauwii <Mauwii@outlook.de> Date: Wed Nov 9 00:16:18 2022 +0100 better way to make sure if conda is useable commit ab825bf7ee5f0b82d2273da1cda64fc9266a978e Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 22:05:33 2022 +0000 add back --prefer-binaries to requirements commit 10cfeb5ada7bcfc9f3aff3716ab8ea4961a8b528 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:27:19 2022 +0100 add quotes to set and use `$environment_file` commit e97515d0453583e013674b4dd1f3739c7de402cc Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:24:21 2022 +0100 set environment file for conda update commit 0f04bc5789c712bf7c7319b1d93064914993f4ec Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:21:25 2022 +0100 use conda env update commit 3f74aabecd08ed25fac158463ae12b775bd1fca2 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:20:44 2022 +0100 use command instead of hash commit b1a99a51b7ca23c4b895855bd7b4c82dbdc431e4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 14:44:44 2022 -0500 remove --global git config from 1-click installers commit 8004f8a6d99f6ff75e00c170da40f1dec93a8914 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Nov 7 09:07:20 2022 -0500 Revert "Use array slicing to calc ddim timesteps" This reverts commit 1f0c5b4cf196716c21f2db74f92c8750ad8f889d. commit ff8ff2212afb1e1c2dce4f6a61f29e2bc8302eb5 Merge: 8e5363cd 636620b1 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 14:01:40 2022 +0000 add initfile support from PR #1386 commit 8e5363cd83bff0e6be0f002c644283955f7fcbfd Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 13:26:18 2022 +0000 move 'installer/' to '1-click-installer' to make room for tildebyte installer commit 1450779146e89510d12b8c90eb316d9861c3375e Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 12:56:36 2022 +0000 update branch for installer to pull against commit 8cd5d95b8a1cb213cce2f949c394c841a09d9cab Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 05:30:20 2022 +0000 move all models into subdirectories of ./models - this required an update to the invoke-ai fork of gfpgan - simultaneously reverted consolidation of environment and requirements files, as their presence in a directory triggered setup.py to try to install a sub-package. commit abd6407394d55d4f6c064a05f3ac989dd3817c59 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 03:52:46 2022 +0000 leave a copy of environment-cuda.yml at top level - named it environment.yml - need to avoid a big change for users and breaking older support instructions. commit 734dacfbe9d8c86ca943c6541e7b5ff5ef787ff4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 03:50:07 2022 +0000 consolidate environment files - starting to remove unneeded entries and pins - no longer require -e in front of github dependencies - update setup.py with release number - update manual installation instructions commit 636620b1d5e2466613d0dcc2a604522be12fa3a4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 03:26:16 2022 +0000 change initfile to ~/.invokeai - adjust documentation - also fix 'clipseg_models' to 'clipseg', which seems to be working now commit 1fe41146f0975bbc9d552208473490a9ccb9fc56 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 14:28:01 2022 -0400 add support for an initialization file, invokeai.init - Place preferred startup command switches in a file named "invokeai.init". The file can consist of a single line of switches such as "--web --steps=28", a series of switches on each line, or any combination of the two. Example: ``` --web --host=0.0.0.0 --steps=28 --grid -f 0.6 -C 11.0 -A k_euler_a ``` - The following options, which were previously only available within the CLI, are now available on the command line as well: --steps --strength --cfg_scale --width --height --fit commit 2ad6ef355a9b9c4b17bae71edea2346c2e8708c5 Merge: 865502ee 8b47c829 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sun Nov 6 18:08:36 2022 +0000 update discord link commit 865502ee4f681de4516d231370ae603983354d8f Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 18:00:16 2022 +0100 update changelog commit c7984f3299c5c8f56a70d80907d527af458674af Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 17:07:27 2022 +0100 update TROUBLESHOOT.md commit 7f150ed83302ba875c3e0c0f39d8ac0f32c6e362 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:56:58 2022 +0100 remove `:`from headlines in CONTRIBUTORS.md commit badf4e256ce6e3201df1a9a87a7072b36b18d699 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:56:37 2022 +0100 enable navigation tabs Since the docs are growing, this way they look cleaner commit e64c60bbb38fc1620e08ce52bf28bd17003c7ef6 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:18:59 2022 +0100 remove preflight checks from assets seems like somebody executed tests and commited them commit 178061854300632b024810e65922b54b64d95939 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:15:06 2022 +0100 update INSTALLING_MODELS.md commit f91fd276242a0c92b301e99d02982d30f7b712c3 Author: Kyle Schouviller <kyle0654@hotmail.com> Date: Sat Nov 5 14:47:53 2022 -0700 Bug fix for inpaint size commit 09e41e8f769457b9ffd56901aae13991cdc6eeb8 Author: Kyle Schouviller <kyle0654@hotmail.com> Date: Sat Nov 5 14:34:52 2022 -0700 Add inpaint size options to inpaint at a larger size than the actual inpaint image, then scale back down for recombination commit 6eeb2107b300fc27cfe6134b43e5570c246b8e96 Author: mauwii <Mauwii@outlook.de> Date: Sat Nov 5 21:01:14 2022 +0100 remove create-caches.yml since not used anywhere commit 17053ad8b7efecb21a9b4eb32695089f683f72e3 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 16:01:55 2022 -0400 fix duplicated argument introduced by conflict resolution commit fefb4dc1f88bc6551a39602a2bc79b278cd83c59 Merge: 762ca60a d05b1b35 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 12:47:35 2022 -0700 Merge branch 'development' into fix_generate.py commit d05b1b3544dfa7b3c071ac05b4f014a52e08fa50 Author: Craig <cwallen@users.noreply.github.com> Date: Sat Oct 29 20:40:30 2022 -0400 Resize hires as an image commit 82d4904c07670d514e9a541de7c9ecd8489eeae2 Author: Craig <cwallen@users.noreply.github.com> Date: Sat Oct 29 20:37:40 2022 -0400 Log strength with hires commit 1cdcf33cfa39e90f9660fabf8f5936dcfb6c3aa5 Merge: 6616fa83 cbc029c6 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 09:57:38 2022 -0400 Merge branch 'main' into development - this synchronizes recent document fixes by mauwii commit 6616fa835ac4318bf53419f2b54b88c962559578 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 4 00:47:03 2022 -0400 fix Windows library dependency issues This commit addresses two bugs: 1) invokeai.py crashes immediately with a message about an undefined attritube sigKILL (closes #1288). The fix is to pin torch at 1.12.1. 2) Version 1.4.2 of basicsr fails to load properly on Windows, and is a requirement of realesrgan, however 1.4.1 works. Pinning basicsr in our requirements file resulted in a dependency conflict, so I ended up cloning realesrgan into the invoke-ai Git space and changing the requirements file there. If there is a more elegant solution, please advise. commit 7b9a4564b11f4181b9b3c06ecda2a4a25fd1849e Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Sat Nov 5 14:36:45 2022 +0100 Update-docs (#1382) * update IMG2IMG.md * update INPAINTING.md * update WEBUIHOTKEYS.md * more doc updates (mostly fix formatting): - OUTPAINTING.md - POSTPROCESS.md - PROMPTS.md - VARIATIONS.md - WEB.md - WEBUIHOTKEYS.md commit fcdefa0620761472718afa14b2955a5d0603cfcc Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Fri Nov 4 20:47:31 2022 +0100 Hotifx docs (#1376) (#1377) commit ef8b3ce639954259a95a38f44fa5329687bee781 Merge: b7042095 36870a8f Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 4 12:08:44 2022 -0400 Merge-main-into-development (#1373) To get the rid of the difference between main and development. Since otherwise it will be a pain to start fixing the documentatino (when the state between main and development is not the same ...) Also this should fix the problem of all tests failing since environment yamls get updated. commit 36870a8f53217d4b733e9bb8b119190b5e36da59 Merge: 6b89adfa b7042095 Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Fri Nov 4 16:25:00 2022 +0100 Merge branch 'development' into merge-main-into-development commit b70420951d5b70937c0c07e4f8a552a01c3008bc Author: damian0815 <null@damianstewart.com> Date: Thu Nov 3 12:39:45 2022 +0100 fix parsing error doing eg `forest ().swap(in winter)` commit 1f0c5b4cf196716c21f2db74f92c8750ad8f889d Author: wfng92 <43742196+wfng92@users.noreply.github.com> Date: Thu Nov 3 17:13:52 2022 +0800 Use array slicing to calc ddim timesteps commit 8648da811190fc8bcf237d83aff38cf605851300 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 4 00:06:19 2022 +0100 update environment-linux-aarch64 to use python 3.9 commit 45b459356399f8cfb7e9af571c1643fab04218fe Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 3 22:31:46 2022 +0100 update environment-linux-aarch64.yml - move getpass_asterisk to pip commit 41b04316cf5118ea9518dc77934d135a489dd684 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 3 20:40:08 2022 +0100 rename job, remove debug branch from triggers commit e97c6db2a3c0157a8a5ab74cd28ebee480a2d078 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 3 20:34:01 2022 +0100 include build matrix to build x86_64 and aarch64 commit 896820a349292b0e14bbc32f0c557fe8a6b45395 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 05:01:15 2022 +0100 disable caching commit 06c8f468bff7e1dfecc1a1990164be1005b114a7 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 04:26:39 2022 +0100 disable PR-Validation since there are no files passed from context this is unecesarry commit 61920e2701c4a9cea94c03ab933c4482458215b7 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 04:09:39 2022 +0100 update action to use current branch also update build-args of dockerfile and build.sh commit f34ba7ca70f1c417ee97e8b0c57abff57614d78f Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 02:30:24 2022 +0100 remove unecesarry mkdir command again commit c30ef0895dbf0565345ac6ccb136d98a174470a6 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:51:12 2022 +0100 remove symlink to GFPGANv1.4 also re-add mkdir to prevent action from failing commit aa3a774f73d5004571ea42fea14cd2b525fffb1c Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:48:59 2022 +0100 update build-container.yml to use cachev3 commit 2c30555b844293764123baa4137fcf952d40a4e7 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:34:20 2022 +0100 update Dockerfile - create models.yaml from models.yaml.example - run preload_models.py with --no-interactive commit 743f60577364d43237eeb46aefd523371c36e56b Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:21:15 2022 +0100 update build.sh to download sd-v1.5 model commit 519c661abbae83aa62b3ee536635c39192890441 Author: mauwii <Mauwii@outlook.de> Date: Tue Oct 25 01:26:50 2022 +0200 replace old fashined markdown templates with forms this will help the readability of issues a lot 🤓 commit 22c956c75f4797ddc2dffa944e3ea84b4eb3477c Merge: 13696adc 0196571a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 3 10:20:21 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit 13696adc3a3a2b169e68048a5b511660d0430fae Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 3 10:20:10 2022 -0400 speculative change to solve windows esrgan issues commit 0196571a12992eb8207d36e022721fe3ad2cfd19 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 22:39:35 2022 -0400 remove merge markers from preload_models.py commit 9666f466ab1c710dfda2e59be9e8a26fcd7e8718 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 18:29:34 2022 -0400 use refined model by default commit 240e5486c89552ef480c3443a63283fb86a493c3 Merge: 8164b6b9 aa247e68 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 18:35:00 2022 -0400 Merge branch 'spezialspezial-patch-9' into development commit 8164b6b9cff077e4131384195af65e30a40733a7 Merge: 4fc82d55 dd5a88dc Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 17:06:46 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit 4fc82d554ff573780c0af562a6bc9586aa56012d Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:17:28 2022 +1300 [WebUI] Final 2.1 Release Build commit 96b34c0f85f6ed52707fe43456d20b81822c7d1d Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 09:08:11 2022 +0100 Final WebUI build for Release 2.1 - squashed commit of 52 commits from PR #1327 don't log base64 progress images Fresh Build For WebUI [WebUI] Loopback Default False Fixes bugs/styling - Fixes missing web app state on new version: Adds stateReconciler to redux-persist. When we add more values to the state and then release the update app, they will be automatically merged in. Reseting web UI will be needed far less. 7159ec - Fixes console z-index - Moves reset web UI button to visible area Decreases gallery width on inpainting Increases workarea split padding to 1rem Adds missing tooltips to site header Changes inpainting controls settings to hover Fixes hotkeys and settings buttons not working Improves bounding box interactions - Bounding box can now be moved by dragging any of its edges - Bounding box does not affect drawing if already drawing a stroke - Can lock bounding box to draw directly on the bounding box edges - Removes spacebar-hold behaviour due to technical issues Fixes silent crash when init image too large To send the mask to the server, the UI rendered the mask onto the init image and sent the whole image. The mask was then cropped by the server. If the image was too large, the app silently failed. Maybe it exceeds the websocket size limit. Fixed by cropping the mask in the UI layer, sending only bounding-box-sized mask image data. Disabled bounding box settings when locked Styles image uploader Builds fresh bundle Improves bounding box interaction Added spacebar-hold-to-transform back. Address bounding box feedback - Adds back toggle to hide bounding box - Box quick toggle = q, normal toggle = shift + q - Styles canvas alert icons Adds hints when unable to invoke - Popover on Invoke button indicates why exactly it is disabled, e.g. prompt is empty, something else is processing, etc. - There may be more than one reason; all are displayed. Fix Inpainting Alerts Styling Preventing unnecessary re-renders across the app Code Split Inpaint Options Isolate features to their own components so they dont re-render the other stuff each time. [TESTING] Remove global isReady checking I dont believe this is need at all because the isready state is constantly updated when needed and tracked real time in the Redux store. This causes massive re-renders. @psychedelicious If this is absolutely essential for a reason that I do not see, please hit me up on Discord. Fresh Bundle Fix Bounding Box Settings re-rendering on brush stroke [Code Splitting] Bounding Box Options Isolated all bounding box components to trigger unnecessary re-renders. Still need to fix bounding box triggering re-renders on the control panel inside the canvas itself. But the options panel should be a good to go with this change. Inpainting Controls Code Spitting and Performance Codesplit the entirety of the inpainting controls. Created new selectors for each and every component to ensure there are no unnecessary re-renders. App feels a lot smoother. Fixes rerenders on ClearBrushHistory Fixes crash when requesting post-generation upscale/face restoration - Moves the inpainting paste to before the postprocessing. Removes unused isReady state Changes Report Bug icon to a bug Restores shift+q bounding box shortcut Adds alert for bounding box size to status icons Adds asCheckbox to IAIIconButton Rough draft of this. Not happy with the styling but it's clearer than having them look just like buttons. Fixes crash related to old value of progress_latents in state Styling changes and settings modal minor refactor Fixes: uploaded JPG images not loading Reworks CurrentImageButtons.tsx - Change all icons to FA iconset for consistency - Refactors IAIIconButton, IAIButton, IAIPopover to handle ref forwarding - Redesigns buttons into group Only generate 1 iteration when seed fixed & variations disabled Fixes progress images select Fixes edge case: upload over gets stuck while alt tabbing - Press esc to close it now Fixes display progress images select typing Fixes current image button rerenders Adds min width to ImageUploader Makes fast-latents in progress default Update Icon Button Checkbox Style Styling Fixes next/prev image buttons Refactor canvas buttons + more Add Save Intermediates Step Count For accurate mode only. Co-Authored-By: Richard Macarthy <richardmacarthy@protonmail.com> Restores "initial image" text Address feedback - moves mask clear button - fixes intermediates - shrinks inpainting icons by 10% Fix Loopback Styling Adds escape hotkey to close floating panels Readd Hotkey for Dual Display Updated Current Image Button Styling commit dd5a88dceeec53ceb1722a62e3689ae3dd871154 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:17:28 2022 +1300 [WebUI] Final 2.1 Release Build commit 95ed56bf82825a47cfe406fa34eaf4e32c129143 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:16:31 2022 +1300 Updated Current Image Button Styling commit 1ae80f5ab9d00a25e0c3a21e2eccd318c5343401 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:07:57 2022 +1300 Readd Hotkey for Dual Display commit 1f0bd3ca6cda4221d1a7a46325f235cd23bd0af9 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 02:07:00 2022 +1100 Adds escape hotkey to close floating panels commit a1971f6830306b3d748f7f36c2243f6dee682f97 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 03:38:15 2022 +1300 Fix Loopback Styling commit c6118e889895ba35a191124ce1beb5d2b719366d Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 01:29:51 2022 +1100 Address feedback - moves mask clear button - fixes intermediates - shrinks inpainting icons by 10% commit 7ba958cf7ff4e804a127b71c88666084f81e7340 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 01:10:38 2022 +1100 Restores "initial image" text commit 383905d5d24359aa1824de96ff124a8f8a87e015 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 02:59:11 2022 +1300 Add Save Intermediates Step Count For accurate mode only. Co-Authored-By: Richard Macarthy <richardmacarthy@protonmail.com> commit 6173e3e9cabd5e74fb466d55d7bb6a80a77b3fa8 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 00:53:53 2022 +1100 Refactor canvas buttons + more commit 3feb7d8922b0e4c9f944e96b95211003f40d9705 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 00:49:23 2022 +1100 Fixes next/prev image buttons commit 1d9edbd0ddd6e10cf120fe0de3db0b56ae374db4 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 00:50:44 2022 +1300 Update Icon Button Checkbox Style Styling commit d439abdb89db73e652add9df371234861189d90c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:37:24 2022 +1100 Makes fast-latents in progress default commit ee47ea0c891a33049bdec12f1c254926f341eff2 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:37:09 2022 +1100 Adds min width to ImageUploader commit 300bb2e6279c1c477131b9e57425db348062f19c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:28:22 2022 +1100 Fixes current image button rerenders commit ccf8593501d23e00979f7340f8991514e6ca3428 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:27:43 2022 +1100 Fixes display progress images select typing commit 0fda612f3ff8ad75932e158b9b29cf64c3f30eb6 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:02:01 2022 +1100 Fixes edge case: upload over gets stuck while alt tabbing - Press esc to close it now commit 5afff65b71bb60d067392c120efff1a17adc66af Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 20:33:19 2022 +1100 Fixes progress images select commit 7e55bdefce8920831cac7b9fa857bfbffe9e9d5d Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 20:27:47 2022 +1100 Only generate 1 iteration when seed fixed & variations disabled commit 620cf84d3dd54b8498e84574f33040a26d4d315f Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 19:51:38 2022 +1100 Reworks CurrentImageButtons.tsx - Change all icons to FA iconset for consistency - Refactors IAIIconButton, IAIButton, IAIPopover to handle ref forwarding - Redesigns buttons into group commit cfe567c62ad3fd0cff5e3e579a2250ca5dfa2d53 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 16:14:50 2022 +1100 Fixes: uploaded JPG images not loading commit cefe12f1df72e051f109ed77ce46f18093b3b8bb Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 15:31:18 2022 +1100 Styling changes and settings modal minor refactor commit 1e51c3992853ad4643d8eda2443a3bd0d65f5f90 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 15:27:46 2022 +1100 Fixes crash related to old value of progress_latents in state commit 42a02bbb8087cd46a1b5c795b1b41e38c08ba229 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 13:15:06 2022 +1100 Adds asCheckbox to IAIIconButton Rough draft of this. Not happy with the styling but it's clearer than having them look just like buttons. commit f1ae6dae4c36e74ca8dedf8b57eb8933c059dcf4 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 13:13:56 2022 +1100 Adds alert for bounding box size to status icons commit 6195579910a91fb2ab7e1186aa1c1145566c3122 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:52:19 2022 +1100 Restores shift+q bounding box shortcut commit 16c8b23b347792d7811cff66a27d350fe5d0d62c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:32:07 2022 +1100 Changes Report Bug icon to a bug commit 07ae626b22554b5222a3b71d1ce3974e2c3fb284 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:17:16 2022 +1100 Removes unused isReady state commit 8d171bb044f578d4b9cc4911edfa05b20a01d373 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:13:26 2022 +1100 Fixes crash when requesting post-generation upscale/face restoration - Moves the inpainting paste to before the postprocessing. commit 6e33ca7e9e64fb355430511e28bb08c32c9c68b1 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 10:59:01 2022 +1100 Fixes rerenders on ClearBrushHistory commit db46e12f2b8c98dac8895ea4d04242d3754dbec4 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 11:36:28 2022 +1300 Inpainting Controls Code Spitting and Performance Codesplit the entirety of the inpainting controls. Created new selectors for each and every component to ensure there are no unnecessary re-renders. App feels a lot smoother. commit 868e4b2db82fa8556b423111f2f8d565a70ec129 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 07:40:31 2022 +1300 [Code Splitting] Bounding Box Options Isolated all bounding box components to trigger unnecessary re-renders. Still need to fix bounding box triggering re-renders on the control panel inside the canvas itself. But the options panel should be a good to go with this change. commit 2e562742c13988a1fc299c673a97ba4e4a645aaf Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:40:27 2022 +1300 Fix Bounding Box Settings re-rendering on brush stroke commit 68e69580091fc1dc1d8b6e03c9e7ef777c7ebf61 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:28:34 2022 +1300 Fresh Bundle commit ea6e3a7949f2743711516261cb7e450517d39702 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:26:56 2022 +1300 [TESTING] Remove global isReady checking I dont believe this is need at all because the isready state is constantly updated when needed and tracked real time in the Redux store. This causes massive re-renders. @psychedelicious If this is absolutely essential for a reason that I do not see, please hit me up on Discord. commit b2879ca99f88869277c474185ade049914b0bf26 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:08:59 2022 +1300 Code Split Inpaint Options Isolate features to their own components so they dont re-render the other stuff each time. commit 4e911566c33989392eb3279049b15331ca98594a Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 03:50:56 2022 +1300 Preventing unnecessary re-renders across the app commit 9bafda6a152778893df143776ae859a3b8b7f192 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 03:02:35 2022 +1300 Fix Inpainting Alerts Styling commit 871a8a5375cae891f22eb853ffd2d22298298b11 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 23:52:07 2022 +1100 Adds hints when unable to invoke - Popover on Invoke button indicates why exactly it is disabled, e.g. prompt is empty, something else is processing, etc. - There may be more than one reason; all are displayed. commit 0eef74bc00d3c0cedc5037c1deeef1d9a5b6d33d Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 23:40:11 2022 +1100 Address bounding box feedback - Adds back toggle to hide bounding box - Box quick toggle = q, normal toggle = shift + q - Styles canvas alert icons commit 423ae3209782f1d8d321b2ed9ed00712b726adf7 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 17:06:07 2022 +1100 Improves bounding box interaction Added spacebar-hold-to-transform back. commit 8282e5d0458ca1bba5565c069093b5389f2228d4 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:57:07 2022 +1100 Builds fresh bundle commit 19305cdbdf6ac74833bd6011bff0ced8e9d36f69 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:51:11 2022 +1100 Styles image uploader commit eb9028ab3069bca9d747aca664ca60ae13ba6df8 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:51:03 2022 +1100 Disabled bounding box settings when locked commit 21483f5d0731bce5aa97985e722a64bf0d7cd12c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:50:24 2022 +1100 Fixes silent crash when init image too large To send the mask to the server, the UI rendered the mask onto the init image and sent the whole image. The mask was then cropped by the server. If the image was too large, the app silently failed. Maybe it exceeds the websocket size limit. Fixed by cropping the mask in the UI layer, sending only bounding-box-sized mask image data. commit 82dcbac28f140aa7bd89d967bcc7fa31cb03a267 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:28:30 2022 +1100 Improves bounding box interactions - Bounding box can now be moved by dragging any of its edges - Bounding box does not affect drawing if already drawing a stroke - Can lock bounding box to draw directly on the bounding box edges - Removes spacebar-hold behaviour due to technical issues commit d43bd4625d64a03d90de0458ad5fcacef211a8a6 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 15:10:49 2022 +1100 Fixes hotkeys and settings buttons not working commit ea891324a2086faf8eeeeac7eaf47ae2935322fb Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:04:02 2022 +1100 Changes inpainting controls settings to hover commit 8fd9ea219390493f392e690eadb23c4209a4ecfc Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:03:41 2022 +1100 Adds missing tooltips to site header commit fb026668563b3179805819a1630c654c9ce260d9 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:03:25 2022 +1100 Increases workarea split padding to 1rem commit f6f5c2731b0c37089c5d7382736f973e857df712 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:03:10 2022 +1100 Decreases gallery width on inpainting commit b4e3f771e0314e0a18ad5cedc80b28f246fced59 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 10:54:59 2022 +1100 Fixes bugs/styling - Fixes missing web app state on new version: Adds stateReconciler to redux-persist. When we add more values to the state and then release the update app, they will be automatically merged in. Reseting web UI will be needed far less. 7159ec - Fixes console z-index - Moves reset web UI button to visible area commit 99bb9491ac97f1f733accab839ea38cdf4870ba0 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Tue Nov 1 08:35:45 2022 +1300 [WebUI] Loopback Default False commit 0453f211278a533a49fb1aee54dd989b69179c10 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 23:23:51 2022 +1300 Fresh Build For WebUI commit 9fc09aa4bda3b3e6139b026f24733a37747d373f Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 09:08:11 2022 +0100 don't log base64 progress images commit 5e87062cf809a08242d3b006b66d3bbb834ddb16 Author: spezialspezial <75758219+spezialspezial@users.noreply.github.com> Date: Wed Nov 2 00:21:27 2022 +0100 Option to directly invert the grayscale heatmap - fix commit 3e7a459990407ad1679f38d4027c19d50a9d36e3 Author: spezialspezial <75758219+spezialspezial@users.noreply.github.com> Date: Tue Nov 1 21:37:33 2022 +0100 Update txt2mask.py commit bbf4c03e500bafc8627c2a70f8b3396efeddabb3 Author: spezialspezial <75758219+spezialspezial@users.noreply.github.com> Date: Tue Nov 1 21:11:19 2022 +0100 Option to directly invert the grayscale heatmap Theoretically less work inverting the image while it's small but I can't measure a significant difference. Though, handy option to have in some cases. commit 611a3a975328a7e276c2781214d5e14108708ed7 Author: mauwii <Mauwii@outlook.de> Date: Wed Nov 2 02:23:09 2022 +0100 fix name of caching step commit 1611f0d1815022fe90d33f41c21d670251a75f29 Author: mauwii <Mauwii@outlook.de> Date: Wed Nov 2 02:18:46 2022 +0100 readd caching of sd-models - this would remove the necesarrity of the secret availability in PRs commit 08835115e4c5c0ee3587ce07ab769a04d55cb3c5 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 22:10:12 2022 -0400 pin pytorch_lightning to 1.7.7, issue #1331 commit 2d84e28d329be282b51a4cbc22f7c200d80c8f0e Merge: 533fd04e ef17aae8 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 22:11:04 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit ef17aae8abe03fd87dc6f91b3c6d2fe03375f6c5 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 00:39:48 2022 +0100 add damian0815 to contributors list commit 0cc39f01a3c67f32873b7888e1e032d33626e269 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 01:18:50 2022 +0100 report full size for fast latents and update conversion matrix for v1.5 commit 688d7258f185035a5924bee23322b001574da931 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 00:33:00 2022 +0100 fix a bug that broke cross attention control index mapping commit 4513320bf161d3efdd99e2aef4f7c37472131373 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 00:31:58 2022 +0100 save VRAM by not recombining tensors that have been sliced to save VRAM commit 533fd04ef0d1ba9d2cb25d556991b999e7d44aba Merge: 6215592b dff5681c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 17:40:36 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit dff5681cf0e24faf67d5eb5903203c4ea39f89bd Author: damian0815 <d@d.com> Date: Tue Nov 1 13:56:03 2022 +0100 shorter strings commit 5a2790a69b11e049d2507bc22eab7812915d867f Author: damian0815 <d@d.com> Date: Tue Nov 1 13:19:20 2022 +0100 convert progress display to a drop-down commit 7c5305ccbaf7926162536aa3a9e51dcdd8574d0d Author: damian0815 <d@d.com> Date: Tue Nov 1 12:54:46 2022 +0100 do not try to save base64 intermediates in gallery on cancellation commit 4013e8ad6fa5e5c2a710c607fe7e1d040f353299 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 21:54:35 2022 +1100 Fixes b64 image sending and displaying commit d1dfd257f9e1cafd352d9007a56194226b9d6b63 Author: damian <d@d.com> Date: Tue Nov 1 11:40:40 2022 +0100 wip base64 commit 5322d735ee4515d89293b7fb015b2ce048262f68 Author: damian <d@d.com> Date: Tue Nov 1 11:31:42 2022 +0100 update frontend commit cdb107dcda858a8bb64455cc60a196a42345f8f7 Author: damian <d@d.com> Date: Tue Nov 1 11:17:43 2022 +0100 add option to show intermediate latent space commit be1393a41ce7a75ed8de7f648a93c5e5974a50d2 Author: damian <d@d.com> Date: Tue Nov 1 10:16:55 2022 +0100 ensure existing exception handling code also handles new exception class commit e554c2607f00a5e51c03052acb9861ff21ec1c12 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Tue Nov 1 10:08:42 2022 +0100 Rebuilt prompt parsing logic Complete re-write of the prompt parsing logic to be more readable and logical, and therefore also hopefully easier to debug, maintain, and augment. In the process it has also become more robust to badly-formed prompts. Squashed commit of the following: commit 8fcfa88a16e1390d41717e940d72aed64712171c Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 17:05:57 2022 +0100 further cleanup commit 1a1fd78bcfeb49d072e3e6d5808aa8df15441629 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 16:07:57 2022 +0100 cleanup and document commit 099c9659fa8b8135876f9a5a50fe80b20bc0635c Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 15:54:58 2022 +0100 works fully commit 5e6887ea8c25a1e21438ff6defb381fd027d25fd Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 15:24:31 2022 +0100 further... commit 492fda120844d9bc1ad4ec7dd408a3374762d0ff Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 14:08:57 2022 +0100 getting there... commit c6aab05a8450cc3c95c8691daf38fdc64c74f52d Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Fri Oct 28 14:29:03 2022 +0200 wip doesn't compile commit 5e533f731cfd20cd435330eeb0012e5689e87e81 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Fri Oct 28 13:21:43 2022 +0200 working with CrossAttentionCtonrol but no Attention support yet commit 9678348773431e500e110e8aede99086bb7b5955 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Fri Oct 28 13:04:52 2022 +0200 wip rebuiling prompt parser commit 6215592b12dea3822c727913b771012789a52477 Merge: ef24d76a 349cc254 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 17:34:55 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit 349cc25433e1d358c6c61cca4a6c300ecc8ca3d7 Author: damian0815 <d@d.com> Date: Tue Nov 1 20:08:52 2022 +0100 fix crash (be a little less aggressive clearing out the attention slice) commit 214d276379387ae0fa2259602ab00884ec1ad03e Author: damian0815 <d@d.com> Date: Tue Nov 1 19:57:55 2022 +0100 be more aggressive at clearing out saved_attn_slice commit ef24d76adc5a192297714707cd6794d4f44bcf67 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 14:34:23 2022 -0400 fix library problems in preload_modules commit ab2b5a691dadb292f7cecf5db94a165db3e3e126 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 17:22:48 2022 -0400 fix model_cache memory management issues commit c7de2b2801ad5d6ce52a5f44e88c5705f1dbf524 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 02:02:14 2022 +0100 disable checks with sd-V1.4 model... ...to save some resources, since V1.5 is the default now commit e8075658acf675346d35435d0cfb7710becab42a Author: mauwii <Mauwii@outlook.de> Date: Mon Oct 31 22:20:51 2022 +0100 update test-invoke-conda.yml - fix model dl path for sd-v1-4.ckpt - copy configs/models.yaml.example to configs/models.yaml commit 4202dabee1143f597f4c3946420fbfa7b8eccddf Author: mauwii <Mauwii@outlook.de> Date: Mon Oct 31 22:17:21 2022 +0100 fix models example weights for sd-v1.4 commit d67db2bcf1ac26d8bb7c5f8bfd056f2172597780 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Tue Nov 1 08:35:45 2022 +1300 [WebUI] Loopback Default False commit 7159ec885faa1117a3506689d547618be1d91808 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Oct 31 11:33:05 2022 -0400 further improvements to preload_models.py - Faster startup for command line switch processing - Specify configuration file to modify using --config option: ./scripts/preload_models.ply --config models/my-models-file.yaml commit b5cf734ba9f1aeaab14075b55cc13ed9a0ae31e2 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Oct 31 11:08:19 2022 -0400 improve behavior of preload_models.py - NEVER overwrite user's existing models.yaml - Instead, merge its contents into new config file, and rename original to models.yaml.orig (with message) - models.yaml has been removed from repository and renamed models.yaml.example commit f7dc8eafeef991e135b5541c01d0ff740dda9591 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Oct 31 10:47:35 2022 -0400 restore models.yaml to virgin state commit 762ca60a309f70daaf1b9e79b6273f76fd9474b6 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Oct 4 22:55:10 2022 -0400 Update INPAINTING.md commit e7fb9f342cb5ed0c09e6215026d60d45eef3ebcb Author: Hideyuki Katsushiro <h.katsushiro@qualia.tokyo.jp> Date: Wed Oct 5 10:08:53 2022 +0900 add argument --outdir
2022-11-12 17:17:07 +00:00
strategy:
fail-fast: false
matrix:
arch:
- x86_64
- aarch64
Merge dev into main for 2.2.0 (#1642) * Fixes inpainting + code cleanup * Disable stage info in Inpainting Tab * Mask Brush Preview now always at 0.5 opacity 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. * Remove save button from Canvas Controls (cleanup) * Implements invert mask * Changes "Invert Mask" to "Preserve Masked Areas" * Fixes (?) spacebar issues * Patches redux-persist and redux-deep-persist with debounced persists 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. * Adds debouncing * Fixes AttributeError: 'dict' object has no attribute 'invert_mask' * Updates package.json to use redux-persist patches * Attempts to fix redux-persist debounce patch * Fixes undo/redo * Fixes invert mask * Debounce > 300ms * Limits history to 256 for each of undo and redo * Canvas styling * Hotkeys improvement * Add Metadata To Viewer * Increases CFG Scale max to 200 * Fix gallery width size for Outpainting Also fixes the canvas resizing failing n fast pushes * Fixes disappearing canvas grid lines * Adds staging area * Fixes "use all" not setting variationAmount Now sets to 0 when the image had variations. * Builds fresh bundle * Outpainting tab loads to empty canvas instead of upload * Fixes wonky canvas layer ordering & compositing * Fixes error on inpainting paste back `TypeError: 'float' object cannot be interpreted as an integer` * Hides staging area outline on mouseover prev/next * Fixes inpainting not doing img2img when no mask * Fixes bbox not resizing in outpainting if partially off screen * Fixes crashes during iterative outpaint. Still doesn't work correctly though. * Fix iterative outpainting by restoring original images * Moves image uploading to HTTP - It all seems to work fine - A lot of cleanup is still needed - Logging needs to be added - May need types to be reviewed * Fixes: outpainting temp images show in gallery * WIP refactor to unified canvas * Removes console.log from redux-persist patch * Initial unification of canvas * Removes all references to split inpainting/outpainting canvas * Add patchmatch and infill_method parameter to prompt2image (options are 'patchmatch' or 'tile'). * Fixes app after removing in/out-painting refs * Rebases on dev, updates new env files w/ patchmatch * Organises features/canvas * Fixes bounding box ending up offscreen * Organises features/canvas * Stops unnecessary canvas rescales on gallery state change * Fixes 2px layout shift on toggle canvas lock * Clips lines drawn while canvas locked When drawing with the locked canvas, if a brush stroke gets too close to the edge of the canvas and its stroke would extend past the edge of the canvas, the edge of that stroke will be seen after unlocking the canvas. This could cause a problem if you unlock the canvas and now have a bunch of strokes just outside the init image area, which are far back in undo history and you cannot easily erase. With this change, lines drawn while the canvas is locked get clipped to the initial image bbox, fixing this issue. Additionally, the merge and save to gallery functions have been updated to respect the initial image bbox so they function how you'd expect. * Fixes reset canvas view when locked * Fixes send to buttons * Fixes bounding box not being rounded to 64 * Abandons "inpainting" canvas lock * Fixes save to gallery including empty area, adds download and copy image * Fix Current Image display background going over image bounds * Sets status immediately when clicking Invoke * Adds hotkeys and refactors sharing of konva instances Adds hotkeys to canvas. As part of this change, the access to konva instance objects was refactored: Previously closure'd refs were used to indirectly get access to the konva instances outside of react components. Now, a getter and setter function are used to provide access directly to the konva objects. * Updates hotkeys * Fixes canvas showing spinner on first load Also adds good default canvas scale and positioning when no image is on it * Fixes possible hang on MaskCompositer * Improves behaviour when setting init canvas image/reset view * Resets bounding box coords/dims when no image present * Disables canvas actions which cannot be done during processing * Adds useToastWatcher hook - Dispatch an `addToast` action with standard Chakra toast options object to add a toast to the toastQueue - The hook is called in App.tsx and just useEffect's w/ toastQueue as dependency to create the toasts - So now you can add toasts anywhere you have access to `dispatch`, which includes middleware and thunks - Adds first usage of this for the save image buttons in canvas * Update Hotkey Info Add missing tooltip hotkeys and update the hotkeys modal to reflect the new hotkeys for the Unified Canvas. * Fix theme changer not displaying current theme on page refresh * Fix tab count in hotkeys panel * Unify Brush and Eraser Sizes * Fix staging area display toggle not working * Staging Area delete button is now red So it doesnt feel blended into to the rest of them. * Revert "Fix theme changer not displaying current theme on page refresh" This reverts commit 903edfb803e743500242589ff093a8a8a0912726. * Add arguments to use SSL to webserver * Integrates #1487 - touch events Need to add: - Pinch zoom - Touch-specific handling (some things aren't quite right) * Refactors upload-related async thunks - Now standard thunks instead of RTK createAsyncThunk() - Adds toasts for all canvas upload-related actions * Reorganises app file structure * Fixes Canvas Auto Save to Gallery * Fixes staging area outline * Adds staging area hotkeys, disables gallery left/right when staging * Fixes Use All Parameters * Fix metadata viewer image url length when viewing intermediate * Fixes intermediate images being tiny in txt2img/img2img * Removes stale code * Improves canvas status text and adds option to toggle debug info * Fixes paste image to upload * Adds model drop-down to site header * Adds theme changer popover * Fix missing key on ThemeChanger map * Fixes stage position changing on zoom * Hotkey Cleanup - Viewer is now Z - Canvas Move tool is V - sync with PS - Removed some unused hotkeys * Fix canvas resizing when both options and gallery are unpinned * Implements thumbnails for gallery - Thumbnails are saved whenever an image is saved, and when gallery requests images from server - Thumbnails saved at original image aspect ratio with width of 128px as WEBP - If the thumbnail property of an image is unavailable for whatever reason, the image's full size URL is used instead * Saves thumbnails to separate thumbnails directory * Thumbnail size = 256px * Fix Lightbox Issues * Disables canvas image saving functions when processing * Fix index error on going past last image in Gallery * WIP - Lightbox Fixes Still need to fix the images not being centered on load when the image res changes * Fixes another similar index error, simplifies logic * Reworks canvas toolbar * Fixes canvas toolbar upload button * Cleans up IAICanvasStatusText * Improves metadata handling, fixes #1450 - Removes model list from metadata - Adds generation's specific model to metadata - Displays full metadata in JSON viewer * Gracefully handles corrupted images; fixes #1486 - App does not crash if corrupted image loaded - Error is displayed in the UI console and CLI output if an image cannot be loaded * Adds hotkey to reset canvas interaction state If the canvas' interaction state (e.g. isMovingBoundingBox, isDrawing, etc) get stuck somehow, user can press Escape to reset the state. * Removes stray console.log() * Fixes bug causing gallery to close on context menu open * Minor bugfixes - When doing long-running canvas image exporting actions, display indeterminate progress bar - Fix staging area image outline not displaying after committing/discarding results * Removes unused imports * Fixes repo root .gitignore ignoring frontend things * Builds fresh bundle * Styling updates * Removes reasonsWhyNotReady The popover doesn't play well with the button being disabled, and I don't think adds any value. * Image gallery resize/style tweaks * Styles buttons for clearing canvas history and mask * First pass on Canvas options panel * Fixes bug where discarding staged images results in loss of history * Adds Save to Gallery button to staging toolbar * Rearrange some canvas toolbar icons Put brush stuff together and canvas movement stuff together * Fix gallery maxwidth on unified canvas * Update Layer hotkey display to UI * Adds option to crop to bounding box on save * Masking option tweaks * Crop to Bounding Box > Save Box Region Only * Adds clear temp folder * Updates mask options popover behavior * Builds fresh bundle * Fix styling on alert modals * Fix input checkbox styling being incorrect on light theme * Styling fixes * Improves gallery resize behaviour * Cap gallery size on canvas tab so it doesnt overflow * Fixes bug when postprocessing image with no metadata * Adds IAIAlertDialog component * Moves Loopback to app settings * Fixes metadata viewer not showing metadata after refresh Also adds Dream-style prompt to metadata * Adds outpainting specific options * Linting * Fixes gallery width on lightbox, fixes gallery button expansion * Builds fresh bundle * Fix Lightbox images of different res not centering * Update feature tooltip text * Highlight mask icon when on mask layer * Fix gallery not resizing correctly on open and close * Add loopback to just img2img. Remove from settings. * Fix to gallery resizing * Removes Advanced checkbox, cleans up options panel for unified canvas * Minor styling fixes to new options panel layout * Styling Updates * Adds infill method * Tab Styling Fixes * memoize outpainting options * Fix unnecessary gallery re-renders * Isolate Cursor Pos debug text on canvas to prevent rerenders * Fixes missing postprocessed image metadata before refresh * Builds fresh bundle * Fix rerenders on model select * Floating panel re-render fix * Simplify fullscreen hotkey selector * Add Training WIP Tab * Adds Training icon * Move full screen hotkey to floating to prevent tab rerenders * Adds single-column gallery layout * Fixes crash on cancel with intermediates enabled, fixes #1416 * Updates npm dependencies * Fixes img2img attempting inpaint when init image has transparency * Fixes missing threshold and perlin parameters in metadata viewer * Renames "Threshold" > "Noise Threshold" * Fixes postprocessing not being disabled when clicking use all * Builds fresh bundle * Adds color picker * Lints & builds fresh bundle * Fixes iterations being disabled when seed random & variations are off * Un-floors cursor position * Changes color picker preview to circles * Fixes variation params not set correctly when recalled * Fixes invoke hotkey not working in input fields * Simplifies Accordion Prep for adding reset buttons for each section * Fixes mask brush preview color * Committing color picker color changes tool to brush * Color picker does not overwrite user-selected alpha * Adds brush color alpha hotkey * Lints * Removes force_outpaint param * Add inpaint size options to inpaint at a larger size than the actual inpaint image, then scale back down for recombination * Bug fix for inpaint size * Adds inpaint size (as scale bounding box) to UI * Adds auto-scaling for inpaint size * Improves scaled bbox display logic * Fixes bug with clear mask and history * Fixes shouldShowStagingImage not resetting to true on commit * Builds fresh bundle * Fixes canvas failing to scale on first run * Builds fresh bundle * Fixes unnecessary canvas scaling * Adds gallery drag and drop to img2img/canvas * Builds fresh bundle * Fix desktop mode being broken with new versions of flaskwebgui * Fixes canvas dimensions not setting on first load * Builds fresh bundle * stop crash on !import_models call on model inside rootdir - addresses bug report #1546 * prevent "!switch state gets confused if model switching fails" - If !switch were to fail on a particular model, then generate got confused and wouldn't try again until you switch to a different working model and back again. - This commit fixes and closes #1547 * Revert "make the docstring more readable and improve the list_models logic" This reverts commit 248068fe5d57b5639ea7a87ee6cbf023104d957d. * fix model cache path * also set fail-fast to it's default (true) in this way the whole action fails if one job fails this should unblock the runners!!! * fix output path for Archive results * disable checks for python 3.9 * Update-requirements and test-invoke-pip workflow (#1574) * update requirements files * update test-invoke-pip workflow * move requirements-mkdocs.txt to docs folder (#1575) * move requirements-mkdocs.txt to docs folder * update copyright * Fixes outpainting with resized inpaint size * Interactive configuration (#1517) * Update scripts/configure_invokeai.py prevent crash if output exists Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * implement changes requested by reviews * default to correct root and output directory on Windows systems - Previously the script was relying on the readline buffer editing feature to set up the correct default. But this feature doesn't exist on windows. - This commit detects when user typed return with an empty directory value and replaces with the default directory. * improved readability of directory choices * Update scripts/configure_invokeai.py Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * better error reporting at startup - If user tries to run the script outside of the repo or runtime directory, a more informative message will appear explaining the problem. Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * Embedding merging (#1526) * add whole <style token> to vocab for concept library embeddings * add ability to load multiple concept .bin files * make --log_tokenization respect custom tokens * start working on concept downloading system * preliminary support for dynamic loading and merging of multiple embedded models - The embedding_manager is now enhanced with ldm.invoke.concepts_lib, which handles dynamic downloading and caching of embedded models from the Hugging Face concepts library (https://huggingface.co/sd-concepts-library) - Downloading of a embedded model is triggered by the presence of one or more <concept> tags in the prompt. - Once the embedded model is downloaded, its trigger phrase will be loaded into the embedding manager and the prompt's <concept> tag will be replaced with the <trigger_phrase> - The downloaded model stays on disk for fast loading later. - The CLI autocomplete will complete partial <concept> tags for you. Type a '<' and hit tab to get all ~700 concepts. BUGS AND LIMITATIONS: - MODEL NAME VS TRIGGER PHRASE You must use the name of the concept embed model from the SD library, and not the trigger phrase itself. Usually these are the same, but not always. For example, the model named "hoi4-leaders" corresponds to the trigger "<HOI4-Leader>" One reason for this design choice is that there is no apparent constraint on the uniqueness of the trigger phrases and one trigger phrase may map onto multiple models. So we use the model name instead. The second reason is that there is no way I know of to search Hugging Face for models with certain trigger phrases. So we'd have to download all 700 models to index the phrases. The problem this presents is that this may confuse users, who will want to reuse prompts from distributions that use the trigger phrase directly. Usually this will work, but not always. - WON'T WORK ON A FIREWALLED SYSTEM If the host running IAI has no internet connection, it can't download the concept libraries. I will add a script that allows users to preload a list of concept models. - BUG IN PROMPT REPLACEMENT WHEN MODEL NOT FOUND There's a small bug that occurs when the user provides an invalid model name. The <concept> gets replaced with <None> in the prompt. * fix loading .pt embeddings; allow multi-vector embeddings; warn on dupes * simplify replacement logic and remove cuda assumption * download list of concepts from hugging face * remove misleading customization of '*' placeholder the existing code as-is did not do anything; unclear what it was supposed to do. the obvious alternative -- setting using 'placeholder_strings' instead of 'placeholder_tokens' to match model.params.personalization_config.params.placeholder_strings -- caused a crash. i think this is because the passed string also needed to be handed over on init of the PersonalizedBase as the 'placeholder_token' argument. this is weird config dict magic and i don't want to touch it. put a breakpoint in personalzied.py line 116 (top of PersonalizedBase.__init__) if you want to have a crack at it yourself. * address all the issues raised by damian0815 in review of PR #1526 * actually resize the token_embeddings * multiple improvements to the concept loader based on code reviews 1. Activated the --embedding_directory option (alias --embedding_path) to load a single embedding or an entire directory of embeddings at startup time. 2. Can turn off automatic loading of embeddings using --no-embeddings. 3. Embedding checkpoints are scanned with the pickle scanner. 4. More informative error messages when a concept can't be loaded due either to a 404 not found error or a network error. * autocomplete terms end with ">" now * fix startup error and network unreachable 1. If the .invokeai file does not contain the --root and --outdir options, invoke.py will now fix it. 2. Catch and handle network problems when downloading hugging face textual inversion concepts. * fix misformatted error string Co-authored-by: Damian Stewart <d@damianstewart.com> * model_cache.py: fix list_models Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> * add statement of values (#1584) * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * Fix heading * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * add keturn and mauwii to the team member list * Fix punctuation * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * add keturn and mauwii to the team member list * fix formating - make sub bullets use * (decide to all use - or *) - indent sub bullets Sorry, first only looked at the code version and found this only after looking at the markdown rendered version * use multiparagraph numbered sections * Break up Statement Of Values as per comments on #1584 * remove duplicated word, reduce vagueness it's important not to overstate how many artists we are consulting. * fix typo (sorry blessedcoolant) Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: damian <git@damianstewart.com> * update dockerfile (#1551) * update dockerfile * remove not existing file from .dockerignore * remove bloat and unecesary step also use --no-cache-dir for pip install image is now close to 2GB * make Dockerfile a variable * set base image to `ubuntu:22.10` * add build-essential * link outputs folder for persistence * update tag variable * update docs * fix not customizeable build args, add reqs output * !model_import autocompletes in ROOTDIR * Adds psychedelicious to statement of values signature (#1602) * add a --no-patchmatch option to disable patchmatch loading (#1598) This feature was added to prevent the CI Macintosh tests from erroring out when patchmatch is unable to retrieve its shared library from github assets. * Fix #1599 by relaxing the `match_trigger` regex (#1601) * Fix #1599 by relaxing the `match_trigger` regex Also simplify logic and reduce duplication. * restrict trigger regex again (but not so far) * make concepts library work with Web UI 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. * documentation enhancements (#1603) - 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 (#1580) * 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. * revert to older version of list_models() (#1611) 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() * Fixes for #1604 (#1605) * Converts ESRGAN image input to RGB - Also adds typing for image input. - Partially resolves #1604 * ensure there are unmasked pixels before color matching Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> * update index.md (#1609) - comment out non existing link - fix indention - add seperator between feature categories * Debloat-docker (#1612) * 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 installer (#1618) * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> * 2.2 Doc Updates (#1589) * 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 <lincoln.stein@gmail.com> Co-authored-by: damian <git@damianstewart.com> * include a step after config to `cat ~/.invokeai` (#1629) * disable patchmatch in CI actions (#1626) * disable patchmatch in CI actions * fix indention * replace tab with spaces Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> * Fix installer script for macOS. (#1630) * 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. * Removes symlinked environment.yaml (#1631) Was unintentionally added in #1621 * Fix inpainting with iterations (#1635) * fix error when inpainting using runwayml inpainting model (#1634) - error was "Omnibus object has no attribute pil_image" - closes #1596 * add k_dpmpp_2_a and k_dpmpp_2 solvers options (#1389) * add k_dpmpp_2_a and k_dpmpp_2 solvers options * update frontend Co-authored-by: Victor <victorca25@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * add .editorconfig (#1636) * Web UI 2.2 bugfixes (#1572) * 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 5511c82714dbf1d1999d64e8bc357bafa34ddf37. * 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 33c92ecf4da724c2f17d9d91c7ea31a43a2f6deb. * 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 <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * disable NSFW checker loading during the CI tests (#1641) * 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 (#1624) * 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 <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> Co-authored-by: javl <mail@jaspervanloenen.com> Co-authored-by: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: Damian Stewart <d@damianstewart.com> Co-authored-by: DevOps117 <55235206+devops117@users.noreply.github.com> Co-authored-by: damian <git@damianstewart.com> Co-authored-by: Damian Stewart <null@damianstewart.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> Co-authored-by: Andre LaBranche <dre@mac.com> Co-authored-by: victorca25 <41912303+victorca25@users.noreply.github.com> Co-authored-by: Victor <victorca25@users.noreply.github.com>
2022-11-30 21:12:23 +00:00
pip-requirements:
- requirements-lin-amd.txt
- requirements-lin-cuda.txt
runs-on: ubuntu-latest
Merge dev into main for 2.2.0 (#1642) * Fixes inpainting + code cleanup * Disable stage info in Inpainting Tab * Mask Brush Preview now always at 0.5 opacity 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. * Remove save button from Canvas Controls (cleanup) * Implements invert mask * Changes "Invert Mask" to "Preserve Masked Areas" * Fixes (?) spacebar issues * Patches redux-persist and redux-deep-persist with debounced persists 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. * Adds debouncing * Fixes AttributeError: 'dict' object has no attribute 'invert_mask' * Updates package.json to use redux-persist patches * Attempts to fix redux-persist debounce patch * Fixes undo/redo * Fixes invert mask * Debounce > 300ms * Limits history to 256 for each of undo and redo * Canvas styling * Hotkeys improvement * Add Metadata To Viewer * Increases CFG Scale max to 200 * Fix gallery width size for Outpainting Also fixes the canvas resizing failing n fast pushes * Fixes disappearing canvas grid lines * Adds staging area * Fixes "use all" not setting variationAmount Now sets to 0 when the image had variations. * Builds fresh bundle * Outpainting tab loads to empty canvas instead of upload * Fixes wonky canvas layer ordering & compositing * Fixes error on inpainting paste back `TypeError: 'float' object cannot be interpreted as an integer` * Hides staging area outline on mouseover prev/next * Fixes inpainting not doing img2img when no mask * Fixes bbox not resizing in outpainting if partially off screen * Fixes crashes during iterative outpaint. Still doesn't work correctly though. * Fix iterative outpainting by restoring original images * Moves image uploading to HTTP - It all seems to work fine - A lot of cleanup is still needed - Logging needs to be added - May need types to be reviewed * Fixes: outpainting temp images show in gallery * WIP refactor to unified canvas * Removes console.log from redux-persist patch * Initial unification of canvas * Removes all references to split inpainting/outpainting canvas * Add patchmatch and infill_method parameter to prompt2image (options are 'patchmatch' or 'tile'). * Fixes app after removing in/out-painting refs * Rebases on dev, updates new env files w/ patchmatch * Organises features/canvas * Fixes bounding box ending up offscreen * Organises features/canvas * Stops unnecessary canvas rescales on gallery state change * Fixes 2px layout shift on toggle canvas lock * Clips lines drawn while canvas locked When drawing with the locked canvas, if a brush stroke gets too close to the edge of the canvas and its stroke would extend past the edge of the canvas, the edge of that stroke will be seen after unlocking the canvas. This could cause a problem if you unlock the canvas and now have a bunch of strokes just outside the init image area, which are far back in undo history and you cannot easily erase. With this change, lines drawn while the canvas is locked get clipped to the initial image bbox, fixing this issue. Additionally, the merge and save to gallery functions have been updated to respect the initial image bbox so they function how you'd expect. * Fixes reset canvas view when locked * Fixes send to buttons * Fixes bounding box not being rounded to 64 * Abandons "inpainting" canvas lock * Fixes save to gallery including empty area, adds download and copy image * Fix Current Image display background going over image bounds * Sets status immediately when clicking Invoke * Adds hotkeys and refactors sharing of konva instances Adds hotkeys to canvas. As part of this change, the access to konva instance objects was refactored: Previously closure'd refs were used to indirectly get access to the konva instances outside of react components. Now, a getter and setter function are used to provide access directly to the konva objects. * Updates hotkeys * Fixes canvas showing spinner on first load Also adds good default canvas scale and positioning when no image is on it * Fixes possible hang on MaskCompositer * Improves behaviour when setting init canvas image/reset view * Resets bounding box coords/dims when no image present * Disables canvas actions which cannot be done during processing * Adds useToastWatcher hook - Dispatch an `addToast` action with standard Chakra toast options object to add a toast to the toastQueue - The hook is called in App.tsx and just useEffect's w/ toastQueue as dependency to create the toasts - So now you can add toasts anywhere you have access to `dispatch`, which includes middleware and thunks - Adds first usage of this for the save image buttons in canvas * Update Hotkey Info Add missing tooltip hotkeys and update the hotkeys modal to reflect the new hotkeys for the Unified Canvas. * Fix theme changer not displaying current theme on page refresh * Fix tab count in hotkeys panel * Unify Brush and Eraser Sizes * Fix staging area display toggle not working * Staging Area delete button is now red So it doesnt feel blended into to the rest of them. * Revert "Fix theme changer not displaying current theme on page refresh" This reverts commit 903edfb803e743500242589ff093a8a8a0912726. * Add arguments to use SSL to webserver * Integrates #1487 - touch events Need to add: - Pinch zoom - Touch-specific handling (some things aren't quite right) * Refactors upload-related async thunks - Now standard thunks instead of RTK createAsyncThunk() - Adds toasts for all canvas upload-related actions * Reorganises app file structure * Fixes Canvas Auto Save to Gallery * Fixes staging area outline * Adds staging area hotkeys, disables gallery left/right when staging * Fixes Use All Parameters * Fix metadata viewer image url length when viewing intermediate * Fixes intermediate images being tiny in txt2img/img2img * Removes stale code * Improves canvas status text and adds option to toggle debug info * Fixes paste image to upload * Adds model drop-down to site header * Adds theme changer popover * Fix missing key on ThemeChanger map * Fixes stage position changing on zoom * Hotkey Cleanup - Viewer is now Z - Canvas Move tool is V - sync with PS - Removed some unused hotkeys * Fix canvas resizing when both options and gallery are unpinned * Implements thumbnails for gallery - Thumbnails are saved whenever an image is saved, and when gallery requests images from server - Thumbnails saved at original image aspect ratio with width of 128px as WEBP - If the thumbnail property of an image is unavailable for whatever reason, the image's full size URL is used instead * Saves thumbnails to separate thumbnails directory * Thumbnail size = 256px * Fix Lightbox Issues * Disables canvas image saving functions when processing * Fix index error on going past last image in Gallery * WIP - Lightbox Fixes Still need to fix the images not being centered on load when the image res changes * Fixes another similar index error, simplifies logic * Reworks canvas toolbar * Fixes canvas toolbar upload button * Cleans up IAICanvasStatusText * Improves metadata handling, fixes #1450 - Removes model list from metadata - Adds generation's specific model to metadata - Displays full metadata in JSON viewer * Gracefully handles corrupted images; fixes #1486 - App does not crash if corrupted image loaded - Error is displayed in the UI console and CLI output if an image cannot be loaded * Adds hotkey to reset canvas interaction state If the canvas' interaction state (e.g. isMovingBoundingBox, isDrawing, etc) get stuck somehow, user can press Escape to reset the state. * Removes stray console.log() * Fixes bug causing gallery to close on context menu open * Minor bugfixes - When doing long-running canvas image exporting actions, display indeterminate progress bar - Fix staging area image outline not displaying after committing/discarding results * Removes unused imports * Fixes repo root .gitignore ignoring frontend things * Builds fresh bundle * Styling updates * Removes reasonsWhyNotReady The popover doesn't play well with the button being disabled, and I don't think adds any value. * Image gallery resize/style tweaks * Styles buttons for clearing canvas history and mask * First pass on Canvas options panel * Fixes bug where discarding staged images results in loss of history * Adds Save to Gallery button to staging toolbar * Rearrange some canvas toolbar icons Put brush stuff together and canvas movement stuff together * Fix gallery maxwidth on unified canvas * Update Layer hotkey display to UI * Adds option to crop to bounding box on save * Masking option tweaks * Crop to Bounding Box > Save Box Region Only * Adds clear temp folder * Updates mask options popover behavior * Builds fresh bundle * Fix styling on alert modals * Fix input checkbox styling being incorrect on light theme * Styling fixes * Improves gallery resize behaviour * Cap gallery size on canvas tab so it doesnt overflow * Fixes bug when postprocessing image with no metadata * Adds IAIAlertDialog component * Moves Loopback to app settings * Fixes metadata viewer not showing metadata after refresh Also adds Dream-style prompt to metadata * Adds outpainting specific options * Linting * Fixes gallery width on lightbox, fixes gallery button expansion * Builds fresh bundle * Fix Lightbox images of different res not centering * Update feature tooltip text * Highlight mask icon when on mask layer * Fix gallery not resizing correctly on open and close * Add loopback to just img2img. Remove from settings. * Fix to gallery resizing * Removes Advanced checkbox, cleans up options panel for unified canvas * Minor styling fixes to new options panel layout * Styling Updates * Adds infill method * Tab Styling Fixes * memoize outpainting options * Fix unnecessary gallery re-renders * Isolate Cursor Pos debug text on canvas to prevent rerenders * Fixes missing postprocessed image metadata before refresh * Builds fresh bundle * Fix rerenders on model select * Floating panel re-render fix * Simplify fullscreen hotkey selector * Add Training WIP Tab * Adds Training icon * Move full screen hotkey to floating to prevent tab rerenders * Adds single-column gallery layout * Fixes crash on cancel with intermediates enabled, fixes #1416 * Updates npm dependencies * Fixes img2img attempting inpaint when init image has transparency * Fixes missing threshold and perlin parameters in metadata viewer * Renames "Threshold" > "Noise Threshold" * Fixes postprocessing not being disabled when clicking use all * Builds fresh bundle * Adds color picker * Lints & builds fresh bundle * Fixes iterations being disabled when seed random & variations are off * Un-floors cursor position * Changes color picker preview to circles * Fixes variation params not set correctly when recalled * Fixes invoke hotkey not working in input fields * Simplifies Accordion Prep for adding reset buttons for each section * Fixes mask brush preview color * Committing color picker color changes tool to brush * Color picker does not overwrite user-selected alpha * Adds brush color alpha hotkey * Lints * Removes force_outpaint param * Add inpaint size options to inpaint at a larger size than the actual inpaint image, then scale back down for recombination * Bug fix for inpaint size * Adds inpaint size (as scale bounding box) to UI * Adds auto-scaling for inpaint size * Improves scaled bbox display logic * Fixes bug with clear mask and history * Fixes shouldShowStagingImage not resetting to true on commit * Builds fresh bundle * Fixes canvas failing to scale on first run * Builds fresh bundle * Fixes unnecessary canvas scaling * Adds gallery drag and drop to img2img/canvas * Builds fresh bundle * Fix desktop mode being broken with new versions of flaskwebgui * Fixes canvas dimensions not setting on first load * Builds fresh bundle * stop crash on !import_models call on model inside rootdir - addresses bug report #1546 * prevent "!switch state gets confused if model switching fails" - If !switch were to fail on a particular model, then generate got confused and wouldn't try again until you switch to a different working model and back again. - This commit fixes and closes #1547 * Revert "make the docstring more readable and improve the list_models logic" This reverts commit 248068fe5d57b5639ea7a87ee6cbf023104d957d. * fix model cache path * also set fail-fast to it's default (true) in this way the whole action fails if one job fails this should unblock the runners!!! * fix output path for Archive results * disable checks for python 3.9 * Update-requirements and test-invoke-pip workflow (#1574) * update requirements files * update test-invoke-pip workflow * move requirements-mkdocs.txt to docs folder (#1575) * move requirements-mkdocs.txt to docs folder * update copyright * Fixes outpainting with resized inpaint size * Interactive configuration (#1517) * Update scripts/configure_invokeai.py prevent crash if output exists Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * implement changes requested by reviews * default to correct root and output directory on Windows systems - Previously the script was relying on the readline buffer editing feature to set up the correct default. But this feature doesn't exist on windows. - This commit detects when user typed return with an empty directory value and replaces with the default directory. * improved readability of directory choices * Update scripts/configure_invokeai.py Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * better error reporting at startup - If user tries to run the script outside of the repo or runtime directory, a more informative message will appear explaining the problem. Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * Embedding merging (#1526) * add whole <style token> to vocab for concept library embeddings * add ability to load multiple concept .bin files * make --log_tokenization respect custom tokens * start working on concept downloading system * preliminary support for dynamic loading and merging of multiple embedded models - The embedding_manager is now enhanced with ldm.invoke.concepts_lib, which handles dynamic downloading and caching of embedded models from the Hugging Face concepts library (https://huggingface.co/sd-concepts-library) - Downloading of a embedded model is triggered by the presence of one or more <concept> tags in the prompt. - Once the embedded model is downloaded, its trigger phrase will be loaded into the embedding manager and the prompt's <concept> tag will be replaced with the <trigger_phrase> - The downloaded model stays on disk for fast loading later. - The CLI autocomplete will complete partial <concept> tags for you. Type a '<' and hit tab to get all ~700 concepts. BUGS AND LIMITATIONS: - MODEL NAME VS TRIGGER PHRASE You must use the name of the concept embed model from the SD library, and not the trigger phrase itself. Usually these are the same, but not always. For example, the model named "hoi4-leaders" corresponds to the trigger "<HOI4-Leader>" One reason for this design choice is that there is no apparent constraint on the uniqueness of the trigger phrases and one trigger phrase may map onto multiple models. So we use the model name instead. The second reason is that there is no way I know of to search Hugging Face for models with certain trigger phrases. So we'd have to download all 700 models to index the phrases. The problem this presents is that this may confuse users, who will want to reuse prompts from distributions that use the trigger phrase directly. Usually this will work, but not always. - WON'T WORK ON A FIREWALLED SYSTEM If the host running IAI has no internet connection, it can't download the concept libraries. I will add a script that allows users to preload a list of concept models. - BUG IN PROMPT REPLACEMENT WHEN MODEL NOT FOUND There's a small bug that occurs when the user provides an invalid model name. The <concept> gets replaced with <None> in the prompt. * fix loading .pt embeddings; allow multi-vector embeddings; warn on dupes * simplify replacement logic and remove cuda assumption * download list of concepts from hugging face * remove misleading customization of '*' placeholder the existing code as-is did not do anything; unclear what it was supposed to do. the obvious alternative -- setting using 'placeholder_strings' instead of 'placeholder_tokens' to match model.params.personalization_config.params.placeholder_strings -- caused a crash. i think this is because the passed string also needed to be handed over on init of the PersonalizedBase as the 'placeholder_token' argument. this is weird config dict magic and i don't want to touch it. put a breakpoint in personalzied.py line 116 (top of PersonalizedBase.__init__) if you want to have a crack at it yourself. * address all the issues raised by damian0815 in review of PR #1526 * actually resize the token_embeddings * multiple improvements to the concept loader based on code reviews 1. Activated the --embedding_directory option (alias --embedding_path) to load a single embedding or an entire directory of embeddings at startup time. 2. Can turn off automatic loading of embeddings using --no-embeddings. 3. Embedding checkpoints are scanned with the pickle scanner. 4. More informative error messages when a concept can't be loaded due either to a 404 not found error or a network error. * autocomplete terms end with ">" now * fix startup error and network unreachable 1. If the .invokeai file does not contain the --root and --outdir options, invoke.py will now fix it. 2. Catch and handle network problems when downloading hugging face textual inversion concepts. * fix misformatted error string Co-authored-by: Damian Stewart <d@damianstewart.com> * model_cache.py: fix list_models Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> * add statement of values (#1584) * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * Fix heading * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * add keturn and mauwii to the team member list * Fix punctuation * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * add keturn and mauwii to the team member list * fix formating - make sub bullets use * (decide to all use - or *) - indent sub bullets Sorry, first only looked at the code version and found this only after looking at the markdown rendered version * use multiparagraph numbered sections * Break up Statement Of Values as per comments on #1584 * remove duplicated word, reduce vagueness it's important not to overstate how many artists we are consulting. * fix typo (sorry blessedcoolant) Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: damian <git@damianstewart.com> * update dockerfile (#1551) * update dockerfile * remove not existing file from .dockerignore * remove bloat and unecesary step also use --no-cache-dir for pip install image is now close to 2GB * make Dockerfile a variable * set base image to `ubuntu:22.10` * add build-essential * link outputs folder for persistence * update tag variable * update docs * fix not customizeable build args, add reqs output * !model_import autocompletes in ROOTDIR * Adds psychedelicious to statement of values signature (#1602) * add a --no-patchmatch option to disable patchmatch loading (#1598) This feature was added to prevent the CI Macintosh tests from erroring out when patchmatch is unable to retrieve its shared library from github assets. * Fix #1599 by relaxing the `match_trigger` regex (#1601) * Fix #1599 by relaxing the `match_trigger` regex Also simplify logic and reduce duplication. * restrict trigger regex again (but not so far) * make concepts library work with Web UI 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. * documentation enhancements (#1603) - 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 (#1580) * 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. * revert to older version of list_models() (#1611) 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() * Fixes for #1604 (#1605) * Converts ESRGAN image input to RGB - Also adds typing for image input. - Partially resolves #1604 * ensure there are unmasked pixels before color matching Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> * update index.md (#1609) - comment out non existing link - fix indention - add seperator between feature categories * Debloat-docker (#1612) * 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 installer (#1618) * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> * 2.2 Doc Updates (#1589) * 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 <lincoln.stein@gmail.com> Co-authored-by: damian <git@damianstewart.com> * include a step after config to `cat ~/.invokeai` (#1629) * disable patchmatch in CI actions (#1626) * disable patchmatch in CI actions * fix indention * replace tab with spaces Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> * Fix installer script for macOS. (#1630) * 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. * Removes symlinked environment.yaml (#1631) Was unintentionally added in #1621 * Fix inpainting with iterations (#1635) * fix error when inpainting using runwayml inpainting model (#1634) - error was "Omnibus object has no attribute pil_image" - closes #1596 * add k_dpmpp_2_a and k_dpmpp_2 solvers options (#1389) * add k_dpmpp_2_a and k_dpmpp_2 solvers options * update frontend Co-authored-by: Victor <victorca25@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * add .editorconfig (#1636) * Web UI 2.2 bugfixes (#1572) * 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 5511c82714dbf1d1999d64e8bc357bafa34ddf37. * 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 33c92ecf4da724c2f17d9d91c7ea31a43a2f6deb. * 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 <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * disable NSFW checker loading during the CI tests (#1641) * 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 (#1624) * 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 <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> Co-authored-by: javl <mail@jaspervanloenen.com> Co-authored-by: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: Damian Stewart <d@damianstewart.com> Co-authored-by: DevOps117 <55235206+devops117@users.noreply.github.com> Co-authored-by: damian <git@damianstewart.com> Co-authored-by: Damian Stewart <null@damianstewart.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> Co-authored-by: Andre LaBranche <dre@mac.com> Co-authored-by: victorca25 <41912303+victorca25@users.noreply.github.com> Co-authored-by: Victor <victorca25@users.noreply.github.com>
2022-11-30 21:12:23 +00:00
name: ${{ matrix.pip-requirements }} ${{ matrix.arch }}
steps:
- name: prepare docker-tag
env:
repository: ${{ github.repository }}
run: echo "dockertag=${repository,,}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build container
uses: docker/build-push-action@v3
with:
context: .
file: docker-build/Dockerfile
merge release-candidate-1-3-2 into main. Squashed commit of the following: commit 9a1fe8e7fbbd81d9e9e47c4fda6bde6f66fba30c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 17:07:40 2022 +0000 swap in release URLs for installers commit ff56f5251ba8502833cb561317e82b028cd2da5d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 17:03:21 2022 +0000 fix up bad unicode chars in invoke.py commit ed943bd6c785d968d1e31fbbb814fea8688fc8bb Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 16:05:45 2022 +0000 outcrop improvements, hand-added commit 7ad2355b1da53861bb75312edead8f9db0b0f44d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 15:14:33 2022 +0000 documentation fixes commit 66c920fc197d9206be9e0e2d1eb2a1cb86362887 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 16:49:25 2022 -0500 Revert "Resize hires as an image" This reverts commit d05b1b3544dfa7b3c071ac05b4f014a52e08fa50. commit 3fc5cb09f8bc03ea96e67a3e49fb087019d2f9d5 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 12 12:43:17 2022 +0000 fix incorrect link in install commit 1345ec77ab58f70e1bf5a0f587ca40aba4e906b7 Author: tildebyte <337875+tildebyte@users.noreply.github.com> Date: Sun Nov 6 19:07:31 2022 -0500 toil(repo): add tildebyte as owner of installer/ directory commit b116715490f390a59e5bee1022a6a758aee0918d Author: Kyle Schouviller <kyle0654@hotmail.com> Date: Thu Nov 10 21:43:56 2022 -0800 Fix performance issue introduced by torch cuda cache clear during generation commit fa3670270e7aae6bfd8d47fb7bdd32b707310c23 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 12:42:03 2022 +0100 small update to dockers huggingface section commit c304250ef663b3e202b4da8332365288589d94c7 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 12:19:27 2022 +0100 fix format and Link in INSTALL_INVOKE.md commit 802ce5dde5ca68f24aa4609cdba428044e0c7fa1 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 11:17:49 2022 +0100 small fixex to format and a link in INSTALL_MANUAL commit 311ee320ecac892cb4a1bcd012374fa051b1d011 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 07:23:35 2022 +0000 ignore installer intermediate files commit e9df17b374df58a44d3ae3ba33cbdc58794bcf5d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 07:19:25 2022 +0000 fix backslash-related syntax error commit 061fb4ef00482bdd4fba635aeaeff4ca7510190d Merge: 52be0d23 4095acd1 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 06:50:04 2022 +0000 Merge branch 'release-candidate-2-1-3' of github.com:/invoke-ai/InvokeAI into release-candidate-2-1-3 commit 52be0d2396de2de02030855c92e3367008b50377 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 06:49:45 2022 +0000 add WindowsLongFileName batfile to source installer commit 4095acd10ebae05a8cb14cc2faf7c79936d9e6a9 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 11 07:05:17 2022 +0100 Doc Updates A lot of re-formating of new Installation Docs also some content updates/corrections commit 201eb22d7650b00f55249c2646fa4f47ac3e0ec2 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 04:41:02 2022 +0000 prevent two models from being marked default in models.yaml commit 17ab98220034dfbb798a9a0460bc2837f0c1e2cb Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 03:56:54 2022 +0000 installers download branch HEAD not tag commit a04965b0e9e9d1170cf284af9acbd1186d681255 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 11 03:48:21 2022 +0000 improve messaging during installation process commit 0b529f0c574dd91fb9593e924ebc41c8c219b6ce Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 15:22:32 2022 +0000 enable outcropping of random JPG/PNG images - Works best with runwayML inpainting model - Numerous code changes required to propagate seed to final metadata. Original code predicated on the image being generated within InvokeAI. commit 6f9f84834557eb3c48562dc5d0ace51ca9e9cca2 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 17:27:42 2022 +0000 enhance outcropping with ability to direct contents of new regions - When outcropping an image you can now add a `--new_prompt` option, to specify a new prompt to be used instead of the original one used to generate the image. - Similarly you can provide a new seed using `--seed` (or `-S`). A seed of zero will pick one randomly. - This PR also fixes the crash that happened when trying to outcrop an image that does not contain InvokeAI metadata. commit 918c1589ef30595668899f4259ece6a4ad605c69 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 20:16:47 2022 +0000 fix #1402 commit 116415b3fcec8415f8e6de9b23c0bbd0dbc6845b Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 21:27:25 2022 +0000 fix invoke.py crash if no models.yaml file present - Script will now offer the user the ability to create a minimal models.yaml and then gracefully exit. - Closes #1420 commit b4b6eabaac94896e38123be331c44d1b63065b0d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 16:49:25 2022 -0500 Revert "Log strength with hires" This reverts commit 82d4904c07670d514e9a541de7c9ecd8489eeae2. commit 4ef1f4a854717c953f9192454d0adabef32af36c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 20:01:49 2022 +0000 remove temporary directory from repo commit 510fc4ebaa5f9dc0e77b47cf04e0c265423e0a44 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 19:59:03 2022 +0000 remove -e from clipseg load in installer commit a20914434bb3609cf1d883cabf048d4cc25f881a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 19:37:07 2022 +0000 change clipseg repo branch to avoid clipseg not found error commit 0d134195fda5c69fce5a95d6da90248eba8d226d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 18:39:29 2022 +0000 update repo URL to point to rc commit 649d8c8573896fdb5a73453b69ee4b54cf4d6241 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 18:13:28 2022 +0000 integrate tildebyte installer commit a358d370a05ea985a9e26fa9c1101d9c14fdb3ab Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 17:48:14 2022 +0000 add @tildebyte compiled pip installer commit 94a9033c4f6214e604be149a3de6d7c747af7f3a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 14:52:00 2022 +0000 ignore source installer zip files commit 18a947c503c83c95cd83f27424696219ff3c4c95 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 14:46:36 2022 +0000 documentation and environment file fixes - Have clarified the relationship between the @tildebyte and @cmdr2 installers; However, @tildebyte installer merge is still a WIP due to conflicts over such things as `invoke.sh`. - Rechristened 1click installer as "source" installer. @tildebyte installer will be "the" installer. (We'll see which one generates the least support requests and maintenance work.) - Sync'd `environment-mac.yml` with `development`. The former was failing with a taming-transformers error as per https://discord.com/channels/@me/1037201214154231899/1040060947378749460 commit a23b03189526a49da8ddae90ce71b0e902784d29 Author: Mike DiGiovanni <vinblau@gmail.com> Date: Wed Nov 9 16:44:59 2022 -0500 Fixes typos in README.md commit 23af68c7d79d947f1bd3441c91bb44d655238f01 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 07:02:27 2022 -0500 downgrade win installs to basicsr==1.4.1 commit e258beeb51f3e645b9ea60e52d69d18722221cc5 Merge: 7460c069 e481bfac Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 06:37:45 2022 -0500 Merge branch 'release-candidate-2-1-3' of github.com:invoke-ai/InvokeAI into release-candidate-2-1-3 commit 7460c069b880b10c84b55f2e0c0998e350d6cf12 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 06:36:48 2022 -0500 remove --prefer-binary from requirements-base.txt It appears that some versions of pip do not recognize this option when it appears in the requirements file. Did not explore this further but recommend --prefer-binary in the manual install instructions on the command line. commit e481bfac615e0c798ceb5e59e8fbe3038f85b431 Merge: 5040747c d1ab65a4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 11:21:56 2022 +0000 Merge branch 'release-candidate-2-1-3' of github.com:/invoke-ai/InvokeAI into release-candidate-2-1-3 commit 5040747c6700c9b949e3f3e1d2c3f21daffcec6c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 10 11:21:43 2022 +0000 fix windows install instructions & bat file commit d1ab65a43122f73c20533d5815590ec10bc05eca Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 07:18:59 2022 +0100 update WEBUIHOTKEYS.md commit af4ee7feb8a7d2528bf4e2b3f7deee7a7c4c3dec Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 06:33:49 2022 +0100 update INSTALL_DOCKER.md commit 764fb29aded8114984d05932c4266ea24614b932 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 06:30:15 2022 +0100 fix formatting in INSTALL.md commit 1014d3ba44aa4cd4cfdc6e3650c24a0dc9568a6e Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 06:29:14 2022 +0100 fix build.sh invokeai_conda_env_file default value commit 40a48aca88e337e9f4475f80a03b7d6d4751d09b Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 05:25:30 2022 +0100 fix environment-mac.yml moved taming-transformers-rom1504 to pip dependencies commit 92abc00f16a34a586dd16d3c64408f00e23fcb53 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 05:19:52 2022 +0100 fix test-invoke-conda - copy required conda environment yaml - use environment.yml - I use cp instead of ln since would be compatible for windows runners commit a5719aabf89c8c5f29c6044e2882ccdcd0c6916b Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 10 04:14:35 2022 +0100 update Dockerfile - link environment.yml from new environemnts path - change default conda_env_file - quote all variables to avoid splitting - also remove paths from conda-env-files in build-container.yml commit 44a18511fa7accfec6a20345774583a1ce745b02 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 20:51:06 2022 +0000 update paths in container build workflow commit b850dbadafba052310327ca759d96f49a9d25d03 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 20:16:57 2022 +0000 finished reorganization of install docs commit 9ef8b944d53afb1fed94c418b2fd936d2d743797 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 18:50:58 2022 +0000 tweaks to manual install documentation --prefer-binary is an iffy option in the requirements file. It isn't supported by some versions of pip, so I removed it from requirements-base.txt and inserted it into the manual install instructions where it seems to do what it is supposed to. commit efc5a9848803b4250d726bc1913b9fd5a33fad75 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 18:20:03 2022 +0000 manual installation documentation tested on Linux commit 1417c87928e13b0ed21bf1c5604f8636d3b50a8d Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 17:37:06 2022 +0000 change name of requirements.txt to avoid confusion commit 2dd6fc2b93ff7bbb4038568a3b28d36a8fafaeb8 Merge: 22213612 71ee44a8 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 17:26:24 2022 +0000 Merge branch 'release-candidate-2-1-3' of github.com:/invoke-ai/InvokeAI into release-candidate-2-1-3 commit 22213612a08bbece46eafd48994f985b097cb141 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 17:25:59 2022 +0000 directory cleanup; working on install docs commit 71ee44a827898759fd457f774c0b2ac7a1ef6519 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 02:07:13 2022 +0000 prevent crash when switching to an invalid model commit b17ca0a5e731c142101bbdbf34d121df949e86d7 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 14:28:38 2022 +0100 don't suppress exceptions when doing cross-attention control commit 71bbfe4a1a5b70f90e5f41c94df50fb104dbdd79 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:59:34 2022 +0100 Fix #1362 by improving VRAM usage patterns when doing .swap() commit ef3f7a26e242b73c2beb0195c7fd8f654ef47f55 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:18:37 2022 +0100 remove log spam commit 7189d649622d4668b120b0dd278388ad672142c4 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:10:28 2022 +0100 change the way saved slicing strategy is applied commit 01c40f751ab72955140165c16f95ae411732265b Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 12:04:43 2022 +0100 fix slicing_strategy_getter callsite commit f8cfe25150a346958903316bc710737d99839923 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 11:56:22 2022 +0100 cleanup, consistent dim=0 also tested commit 5bf9b1e890d48e962afd4a668a219b68271e5dc1 Author: damian0815 <null@damianstewart.com> Date: Tue Nov 8 11:34:09 2022 +0100 refactored context, tested with non-sliced cross attention control commit d58a46e39bf562e7459290d2444256e8c08ad0b6 Author: damian0815 <null@damianstewart.com> Date: Sun Nov 6 00:41:52 2022 +0100 cleanup commit 7e2c658b4c06fe239311b65b9bb16fa3adec7fd7 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:57:31 2022 +0100 disable logs commit 20ee89d93841b070738b3d8a4385c93b097d92eb Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:36:58 2022 +0100 slice saved attention if necessary commit 0a7684a22c880ec0f48cc22bfed4526358f71546 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:32:38 2022 +0100 raise instead of asserting commit 7083104c7f3a0d8fd96e94a2f391de50a3c942e4 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:31:00 2022 +0100 store dim when saving slices commit f7c0808ed383ec1dc70645288a798ed2aa4fa85c Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:27:16 2022 +0100 don't retry on exception commit 749a721e939b3fe7c1741e7998dab6bd2c85a0cb Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:24:50 2022 +0100 stuff commit 032ab90e9533be8726301ec91b97137e2aadef9a Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:20:17 2022 +0100 more logging commit 3dc34b387f033482305360e605809d95a40bf6f8 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:16:47 2022 +0100 logs commit 901c4c1aa4b9bcef695a6551867ec8149e6e6a93 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:12:39 2022 +0100 actually set save_slicing_strategy to True commit f780e0a0a7c6b6a3db320891064da82589358c8a Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 22:10:35 2022 +0100 store slicing strategy commit 93bb6d566fd18c5c69ef7dacc8f74ba2cf671cb7 Author: damian <git@damianstewart.com> Date: Sat Nov 5 20:43:48 2022 +0100 still not it commit 5e3a9541f8ae00bde524046963910323e20c40b7 Author: damian <git@damianstewart.com> Date: Sat Nov 5 17:20:02 2022 +0100 wip offloading attention slices on-demand commit 4c2966aa856b6f3b446216da3619ae931552ef08 Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 15:47:40 2022 +0100 pre-emptive offloading, idk if it works commit 572576755e9f0a878d38e8173e485126c0efbefb Author: root <you@example.com> Date: Sat Nov 5 11:25:32 2022 +0000 push attention slices to cpu. slow but saves memory. commit b57c83a68f2ac03976ebc89ce2ff03812d6d185f Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 12:04:22 2022 +0100 verbose logging commit 3a5dae116f110a96585d9eb71d713b5ed2bc3d2b Author: damian0815 <null@damianstewart.com> Date: Sat Nov 5 11:50:48 2022 +0100 wip fixing mem strategy crash (4 test on runpod) commit 3cf237db5fae0c7b0b4cc3c47c81830bdb2ae7de Author: damian0815 <null@damianstewart.com> Date: Fri Nov 4 09:02:40 2022 +0100 wip, only works on cuda commit 5702271991e126c026aa1ff41c44f8ad37b26e3a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 14:09:36 2022 +0000 speculative reorganization of the requirements & environment files - This is only a test! - The various environment*.yml and requirements*.txt files have all been moved into a directory named "environments-and-requirements". - The idea is to clean up our root directory so that the github home page is tidy. - The manual install instructions will start with the instructions to create a symbolic link from environment.yml to the appropriate file for OS and GPU. - The 1-click installers have been updated to accommodate this change. commit 10781e7dc4f4551583a110d14f2a1f60393112b8 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 9 01:59:45 2022 +0000 refactoring requirements commit 099d1157c579c7b9fea20945e8504cc15745c598 Author: mauwii <Mauwii@outlook.de> Date: Wed Nov 9 00:16:18 2022 +0100 better way to make sure if conda is useable commit ab825bf7ee5f0b82d2273da1cda64fc9266a978e Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 22:05:33 2022 +0000 add back --prefer-binaries to requirements commit 10cfeb5ada7bcfc9f3aff3716ab8ea4961a8b528 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:27:19 2022 +0100 add quotes to set and use `$environment_file` commit e97515d0453583e013674b4dd1f3739c7de402cc Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:24:21 2022 +0100 set environment file for conda update commit 0f04bc5789c712bf7c7319b1d93064914993f4ec Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:21:25 2022 +0100 use conda env update commit 3f74aabecd08ed25fac158463ae12b775bd1fca2 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 8 22:20:44 2022 +0100 use command instead of hash commit b1a99a51b7ca23c4b895855bd7b4c82dbdc431e4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 14:44:44 2022 -0500 remove --global git config from 1-click installers commit 8004f8a6d99f6ff75e00c170da40f1dec93a8914 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Nov 7 09:07:20 2022 -0500 Revert "Use array slicing to calc ddim timesteps" This reverts commit 1f0c5b4cf196716c21f2db74f92c8750ad8f889d. commit ff8ff2212afb1e1c2dce4f6a61f29e2bc8302eb5 Merge: 8e5363cd 636620b1 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 14:01:40 2022 +0000 add initfile support from PR #1386 commit 8e5363cd83bff0e6be0f002c644283955f7fcbfd Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 13:26:18 2022 +0000 move 'installer/' to '1-click-installer' to make room for tildebyte installer commit 1450779146e89510d12b8c90eb316d9861c3375e Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 12:56:36 2022 +0000 update branch for installer to pull against commit 8cd5d95b8a1cb213cce2f949c394c841a09d9cab Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 05:30:20 2022 +0000 move all models into subdirectories of ./models - this required an update to the invoke-ai fork of gfpgan - simultaneously reverted consolidation of environment and requirements files, as their presence in a directory triggered setup.py to try to install a sub-package. commit abd6407394d55d4f6c064a05f3ac989dd3817c59 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 03:52:46 2022 +0000 leave a copy of environment-cuda.yml at top level - named it environment.yml - need to avoid a big change for users and breaking older support instructions. commit 734dacfbe9d8c86ca943c6541e7b5ff5ef787ff4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 03:50:07 2022 +0000 consolidate environment files - starting to remove unneeded entries and pins - no longer require -e in front of github dependencies - update setup.py with release number - update manual installation instructions commit 636620b1d5e2466613d0dcc2a604522be12fa3a4 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 8 03:26:16 2022 +0000 change initfile to ~/.invokeai - adjust documentation - also fix 'clipseg_models' to 'clipseg', which seems to be working now commit 1fe41146f0975bbc9d552208473490a9ccb9fc56 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 14:28:01 2022 -0400 add support for an initialization file, invokeai.init - Place preferred startup command switches in a file named "invokeai.init". The file can consist of a single line of switches such as "--web --steps=28", a series of switches on each line, or any combination of the two. Example: ``` --web --host=0.0.0.0 --steps=28 --grid -f 0.6 -C 11.0 -A k_euler_a ``` - The following options, which were previously only available within the CLI, are now available on the command line as well: --steps --strength --cfg_scale --width --height --fit commit 2ad6ef355a9b9c4b17bae71edea2346c2e8708c5 Merge: 865502ee 8b47c829 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sun Nov 6 18:08:36 2022 +0000 update discord link commit 865502ee4f681de4516d231370ae603983354d8f Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 18:00:16 2022 +0100 update changelog commit c7984f3299c5c8f56a70d80907d527af458674af Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 17:07:27 2022 +0100 update TROUBLESHOOT.md commit 7f150ed83302ba875c3e0c0f39d8ac0f32c6e362 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:56:58 2022 +0100 remove `:`from headlines in CONTRIBUTORS.md commit badf4e256ce6e3201df1a9a87a7072b36b18d699 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:56:37 2022 +0100 enable navigation tabs Since the docs are growing, this way they look cleaner commit e64c60bbb38fc1620e08ce52bf28bd17003c7ef6 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:18:59 2022 +0100 remove preflight checks from assets seems like somebody executed tests and commited them commit 178061854300632b024810e65922b54b64d95939 Author: mauwii <Mauwii@outlook.de> Date: Sun Nov 6 16:15:06 2022 +0100 update INSTALLING_MODELS.md commit f91fd276242a0c92b301e99d02982d30f7b712c3 Author: Kyle Schouviller <kyle0654@hotmail.com> Date: Sat Nov 5 14:47:53 2022 -0700 Bug fix for inpaint size commit 09e41e8f769457b9ffd56901aae13991cdc6eeb8 Author: Kyle Schouviller <kyle0654@hotmail.com> Date: Sat Nov 5 14:34:52 2022 -0700 Add inpaint size options to inpaint at a larger size than the actual inpaint image, then scale back down for recombination commit 6eeb2107b300fc27cfe6134b43e5570c246b8e96 Author: mauwii <Mauwii@outlook.de> Date: Sat Nov 5 21:01:14 2022 +0100 remove create-caches.yml since not used anywhere commit 17053ad8b7efecb21a9b4eb32695089f683f72e3 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 16:01:55 2022 -0400 fix duplicated argument introduced by conflict resolution commit fefb4dc1f88bc6551a39602a2bc79b278cd83c59 Merge: 762ca60a d05b1b35 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 12:47:35 2022 -0700 Merge branch 'development' into fix_generate.py commit d05b1b3544dfa7b3c071ac05b4f014a52e08fa50 Author: Craig <cwallen@users.noreply.github.com> Date: Sat Oct 29 20:40:30 2022 -0400 Resize hires as an image commit 82d4904c07670d514e9a541de7c9ecd8489eeae2 Author: Craig <cwallen@users.noreply.github.com> Date: Sat Oct 29 20:37:40 2022 -0400 Log strength with hires commit 1cdcf33cfa39e90f9660fabf8f5936dcfb6c3aa5 Merge: 6616fa83 cbc029c6 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Sat Nov 5 09:57:38 2022 -0400 Merge branch 'main' into development - this synchronizes recent document fixes by mauwii commit 6616fa835ac4318bf53419f2b54b88c962559578 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 4 00:47:03 2022 -0400 fix Windows library dependency issues This commit addresses two bugs: 1) invokeai.py crashes immediately with a message about an undefined attritube sigKILL (closes #1288). The fix is to pin torch at 1.12.1. 2) Version 1.4.2 of basicsr fails to load properly on Windows, and is a requirement of realesrgan, however 1.4.1 works. Pinning basicsr in our requirements file resulted in a dependency conflict, so I ended up cloning realesrgan into the invoke-ai Git space and changing the requirements file there. If there is a more elegant solution, please advise. commit 7b9a4564b11f4181b9b3c06ecda2a4a25fd1849e Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Sat Nov 5 14:36:45 2022 +0100 Update-docs (#1382) * update IMG2IMG.md * update INPAINTING.md * update WEBUIHOTKEYS.md * more doc updates (mostly fix formatting): - OUTPAINTING.md - POSTPROCESS.md - PROMPTS.md - VARIATIONS.md - WEB.md - WEBUIHOTKEYS.md commit fcdefa0620761472718afa14b2955a5d0603cfcc Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Fri Nov 4 20:47:31 2022 +0100 Hotifx docs (#1376) (#1377) commit ef8b3ce639954259a95a38f44fa5329687bee781 Merge: b7042095 36870a8f Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Fri Nov 4 12:08:44 2022 -0400 Merge-main-into-development (#1373) To get the rid of the difference between main and development. Since otherwise it will be a pain to start fixing the documentatino (when the state between main and development is not the same ...) Also this should fix the problem of all tests failing since environment yamls get updated. commit 36870a8f53217d4b733e9bb8b119190b5e36da59 Merge: 6b89adfa b7042095 Author: Matthias Wild <40327258+mauwii@users.noreply.github.com> Date: Fri Nov 4 16:25:00 2022 +0100 Merge branch 'development' into merge-main-into-development commit b70420951d5b70937c0c07e4f8a552a01c3008bc Author: damian0815 <null@damianstewart.com> Date: Thu Nov 3 12:39:45 2022 +0100 fix parsing error doing eg `forest ().swap(in winter)` commit 1f0c5b4cf196716c21f2db74f92c8750ad8f889d Author: wfng92 <43742196+wfng92@users.noreply.github.com> Date: Thu Nov 3 17:13:52 2022 +0800 Use array slicing to calc ddim timesteps commit 8648da811190fc8bcf237d83aff38cf605851300 Author: mauwii <Mauwii@outlook.de> Date: Fri Nov 4 00:06:19 2022 +0100 update environment-linux-aarch64 to use python 3.9 commit 45b459356399f8cfb7e9af571c1643fab04218fe Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 3 22:31:46 2022 +0100 update environment-linux-aarch64.yml - move getpass_asterisk to pip commit 41b04316cf5118ea9518dc77934d135a489dd684 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 3 20:40:08 2022 +0100 rename job, remove debug branch from triggers commit e97c6db2a3c0157a8a5ab74cd28ebee480a2d078 Author: mauwii <Mauwii@outlook.de> Date: Thu Nov 3 20:34:01 2022 +0100 include build matrix to build x86_64 and aarch64 commit 896820a349292b0e14bbc32f0c557fe8a6b45395 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 05:01:15 2022 +0100 disable caching commit 06c8f468bff7e1dfecc1a1990164be1005b114a7 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 04:26:39 2022 +0100 disable PR-Validation since there are no files passed from context this is unecesarry commit 61920e2701c4a9cea94c03ab933c4482458215b7 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 04:09:39 2022 +0100 update action to use current branch also update build-args of dockerfile and build.sh commit f34ba7ca70f1c417ee97e8b0c57abff57614d78f Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 02:30:24 2022 +0100 remove unecesarry mkdir command again commit c30ef0895dbf0565345ac6ccb136d98a174470a6 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:51:12 2022 +0100 remove symlink to GFPGANv1.4 also re-add mkdir to prevent action from failing commit aa3a774f73d5004571ea42fea14cd2b525fffb1c Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:48:59 2022 +0100 update build-container.yml to use cachev3 commit 2c30555b844293764123baa4137fcf952d40a4e7 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:34:20 2022 +0100 update Dockerfile - create models.yaml from models.yaml.example - run preload_models.py with --no-interactive commit 743f60577364d43237eeb46aefd523371c36e56b Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 01:21:15 2022 +0100 update build.sh to download sd-v1.5 model commit 519c661abbae83aa62b3ee536635c39192890441 Author: mauwii <Mauwii@outlook.de> Date: Tue Oct 25 01:26:50 2022 +0200 replace old fashined markdown templates with forms this will help the readability of issues a lot 🤓 commit 22c956c75f4797ddc2dffa944e3ea84b4eb3477c Merge: 13696adc 0196571a Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 3 10:20:21 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit 13696adc3a3a2b169e68048a5b511660d0430fae Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Thu Nov 3 10:20:10 2022 -0400 speculative change to solve windows esrgan issues commit 0196571a12992eb8207d36e022721fe3ad2cfd19 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 22:39:35 2022 -0400 remove merge markers from preload_models.py commit 9666f466ab1c710dfda2e59be9e8a26fcd7e8718 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 18:29:34 2022 -0400 use refined model by default commit 240e5486c89552ef480c3443a63283fb86a493c3 Merge: 8164b6b9 aa247e68 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 18:35:00 2022 -0400 Merge branch 'spezialspezial-patch-9' into development commit 8164b6b9cff077e4131384195af65e30a40733a7 Merge: 4fc82d55 dd5a88dc Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Wed Nov 2 17:06:46 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit 4fc82d554ff573780c0af562a6bc9586aa56012d Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:17:28 2022 +1300 [WebUI] Final 2.1 Release Build commit 96b34c0f85f6ed52707fe43456d20b81822c7d1d Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 09:08:11 2022 +0100 Final WebUI build for Release 2.1 - squashed commit of 52 commits from PR #1327 don't log base64 progress images Fresh Build For WebUI [WebUI] Loopback Default False Fixes bugs/styling - Fixes missing web app state on new version: Adds stateReconciler to redux-persist. When we add more values to the state and then release the update app, they will be automatically merged in. Reseting web UI will be needed far less. 7159ec - Fixes console z-index - Moves reset web UI button to visible area Decreases gallery width on inpainting Increases workarea split padding to 1rem Adds missing tooltips to site header Changes inpainting controls settings to hover Fixes hotkeys and settings buttons not working Improves bounding box interactions - Bounding box can now be moved by dragging any of its edges - Bounding box does not affect drawing if already drawing a stroke - Can lock bounding box to draw directly on the bounding box edges - Removes spacebar-hold behaviour due to technical issues Fixes silent crash when init image too large To send the mask to the server, the UI rendered the mask onto the init image and sent the whole image. The mask was then cropped by the server. If the image was too large, the app silently failed. Maybe it exceeds the websocket size limit. Fixed by cropping the mask in the UI layer, sending only bounding-box-sized mask image data. Disabled bounding box settings when locked Styles image uploader Builds fresh bundle Improves bounding box interaction Added spacebar-hold-to-transform back. Address bounding box feedback - Adds back toggle to hide bounding box - Box quick toggle = q, normal toggle = shift + q - Styles canvas alert icons Adds hints when unable to invoke - Popover on Invoke button indicates why exactly it is disabled, e.g. prompt is empty, something else is processing, etc. - There may be more than one reason; all are displayed. Fix Inpainting Alerts Styling Preventing unnecessary re-renders across the app Code Split Inpaint Options Isolate features to their own components so they dont re-render the other stuff each time. [TESTING] Remove global isReady checking I dont believe this is need at all because the isready state is constantly updated when needed and tracked real time in the Redux store. This causes massive re-renders. @psychedelicious If this is absolutely essential for a reason that I do not see, please hit me up on Discord. Fresh Bundle Fix Bounding Box Settings re-rendering on brush stroke [Code Splitting] Bounding Box Options Isolated all bounding box components to trigger unnecessary re-renders. Still need to fix bounding box triggering re-renders on the control panel inside the canvas itself. But the options panel should be a good to go with this change. Inpainting Controls Code Spitting and Performance Codesplit the entirety of the inpainting controls. Created new selectors for each and every component to ensure there are no unnecessary re-renders. App feels a lot smoother. Fixes rerenders on ClearBrushHistory Fixes crash when requesting post-generation upscale/face restoration - Moves the inpainting paste to before the postprocessing. Removes unused isReady state Changes Report Bug icon to a bug Restores shift+q bounding box shortcut Adds alert for bounding box size to status icons Adds asCheckbox to IAIIconButton Rough draft of this. Not happy with the styling but it's clearer than having them look just like buttons. Fixes crash related to old value of progress_latents in state Styling changes and settings modal minor refactor Fixes: uploaded JPG images not loading Reworks CurrentImageButtons.tsx - Change all icons to FA iconset for consistency - Refactors IAIIconButton, IAIButton, IAIPopover to handle ref forwarding - Redesigns buttons into group Only generate 1 iteration when seed fixed & variations disabled Fixes progress images select Fixes edge case: upload over gets stuck while alt tabbing - Press esc to close it now Fixes display progress images select typing Fixes current image button rerenders Adds min width to ImageUploader Makes fast-latents in progress default Update Icon Button Checkbox Style Styling Fixes next/prev image buttons Refactor canvas buttons + more Add Save Intermediates Step Count For accurate mode only. Co-Authored-By: Richard Macarthy <richardmacarthy@protonmail.com> Restores "initial image" text Address feedback - moves mask clear button - fixes intermediates - shrinks inpainting icons by 10% Fix Loopback Styling Adds escape hotkey to close floating panels Readd Hotkey for Dual Display Updated Current Image Button Styling commit dd5a88dceeec53ceb1722a62e3689ae3dd871154 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:17:28 2022 +1300 [WebUI] Final 2.1 Release Build commit 95ed56bf82825a47cfe406fa34eaf4e32c129143 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:16:31 2022 +1300 Updated Current Image Button Styling commit 1ae80f5ab9d00a25e0c3a21e2eccd318c5343401 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 04:07:57 2022 +1300 Readd Hotkey for Dual Display commit 1f0bd3ca6cda4221d1a7a46325f235cd23bd0af9 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 02:07:00 2022 +1100 Adds escape hotkey to close floating panels commit a1971f6830306b3d748f7f36c2243f6dee682f97 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 03:38:15 2022 +1300 Fix Loopback Styling commit c6118e889895ba35a191124ce1beb5d2b719366d Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 01:29:51 2022 +1100 Address feedback - moves mask clear button - fixes intermediates - shrinks inpainting icons by 10% commit 7ba958cf7ff4e804a127b71c88666084f81e7340 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 01:10:38 2022 +1100 Restores "initial image" text commit 383905d5d24359aa1824de96ff124a8f8a87e015 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 02:59:11 2022 +1300 Add Save Intermediates Step Count For accurate mode only. Co-Authored-By: Richard Macarthy <richardmacarthy@protonmail.com> commit 6173e3e9cabd5e74fb466d55d7bb6a80a77b3fa8 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 00:53:53 2022 +1100 Refactor canvas buttons + more commit 3feb7d8922b0e4c9f944e96b95211003f40d9705 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu Nov 3 00:49:23 2022 +1100 Fixes next/prev image buttons commit 1d9edbd0ddd6e10cf120fe0de3db0b56ae374db4 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Thu Nov 3 00:50:44 2022 +1300 Update Icon Button Checkbox Style Styling commit d439abdb89db73e652add9df371234861189d90c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:37:24 2022 +1100 Makes fast-latents in progress default commit ee47ea0c891a33049bdec12f1c254926f341eff2 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:37:09 2022 +1100 Adds min width to ImageUploader commit 300bb2e6279c1c477131b9e57425db348062f19c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:28:22 2022 +1100 Fixes current image button rerenders commit ccf8593501d23e00979f7340f8991514e6ca3428 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:27:43 2022 +1100 Fixes display progress images select typing commit 0fda612f3ff8ad75932e158b9b29cf64c3f30eb6 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 21:02:01 2022 +1100 Fixes edge case: upload over gets stuck while alt tabbing - Press esc to close it now commit 5afff65b71bb60d067392c120efff1a17adc66af Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 20:33:19 2022 +1100 Fixes progress images select commit 7e55bdefce8920831cac7b9fa857bfbffe9e9d5d Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 20:27:47 2022 +1100 Only generate 1 iteration when seed fixed & variations disabled commit 620cf84d3dd54b8498e84574f33040a26d4d315f Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 19:51:38 2022 +1100 Reworks CurrentImageButtons.tsx - Change all icons to FA iconset for consistency - Refactors IAIIconButton, IAIButton, IAIPopover to handle ref forwarding - Redesigns buttons into group commit cfe567c62ad3fd0cff5e3e579a2250ca5dfa2d53 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 16:14:50 2022 +1100 Fixes: uploaded JPG images not loading commit cefe12f1df72e051f109ed77ce46f18093b3b8bb Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 15:31:18 2022 +1100 Styling changes and settings modal minor refactor commit 1e51c3992853ad4643d8eda2443a3bd0d65f5f90 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 15:27:46 2022 +1100 Fixes crash related to old value of progress_latents in state commit 42a02bbb8087cd46a1b5c795b1b41e38c08ba229 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 13:15:06 2022 +1100 Adds asCheckbox to IAIIconButton Rough draft of this. Not happy with the styling but it's clearer than having them look just like buttons. commit f1ae6dae4c36e74ca8dedf8b57eb8933c059dcf4 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 13:13:56 2022 +1100 Adds alert for bounding box size to status icons commit 6195579910a91fb2ab7e1186aa1c1145566c3122 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:52:19 2022 +1100 Restores shift+q bounding box shortcut commit 16c8b23b347792d7811cff66a27d350fe5d0d62c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:32:07 2022 +1100 Changes Report Bug icon to a bug commit 07ae626b22554b5222a3b71d1ce3974e2c3fb284 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:17:16 2022 +1100 Removes unused isReady state commit 8d171bb044f578d4b9cc4911edfa05b20a01d373 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 11:13:26 2022 +1100 Fixes crash when requesting post-generation upscale/face restoration - Moves the inpainting paste to before the postprocessing. commit 6e33ca7e9e64fb355430511e28bb08c32c9c68b1 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Wed Nov 2 10:59:01 2022 +1100 Fixes rerenders on ClearBrushHistory commit db46e12f2b8c98dac8895ea4d04242d3754dbec4 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 11:36:28 2022 +1300 Inpainting Controls Code Spitting and Performance Codesplit the entirety of the inpainting controls. Created new selectors for each and every component to ensure there are no unnecessary re-renders. App feels a lot smoother. commit 868e4b2db82fa8556b423111f2f8d565a70ec129 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 07:40:31 2022 +1300 [Code Splitting] Bounding Box Options Isolated all bounding box components to trigger unnecessary re-renders. Still need to fix bounding box triggering re-renders on the control panel inside the canvas itself. But the options panel should be a good to go with this change. commit 2e562742c13988a1fc299c673a97ba4e4a645aaf Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:40:27 2022 +1300 Fix Bounding Box Settings re-rendering on brush stroke commit 68e69580091fc1dc1d8b6e03c9e7ef777c7ebf61 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:28:34 2022 +1300 Fresh Bundle commit ea6e3a7949f2743711516261cb7e450517d39702 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:26:56 2022 +1300 [TESTING] Remove global isReady checking I dont believe this is need at all because the isready state is constantly updated when needed and tracked real time in the Redux store. This causes massive re-renders. @psychedelicious If this is absolutely essential for a reason that I do not see, please hit me up on Discord. commit b2879ca99f88869277c474185ade049914b0bf26 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 06:08:59 2022 +1300 Code Split Inpaint Options Isolate features to their own components so they dont re-render the other stuff each time. commit 4e911566c33989392eb3279049b15331ca98594a Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 03:50:56 2022 +1300 Preventing unnecessary re-renders across the app commit 9bafda6a152778893df143776ae859a3b8b7f192 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 03:02:35 2022 +1300 Fix Inpainting Alerts Styling commit 871a8a5375cae891f22eb853ffd2d22298298b11 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 23:52:07 2022 +1100 Adds hints when unable to invoke - Popover on Invoke button indicates why exactly it is disabled, e.g. prompt is empty, something else is processing, etc. - There may be more than one reason; all are displayed. commit 0eef74bc00d3c0cedc5037c1deeef1d9a5b6d33d Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 23:40:11 2022 +1100 Address bounding box feedback - Adds back toggle to hide bounding box - Box quick toggle = q, normal toggle = shift + q - Styles canvas alert icons commit 423ae3209782f1d8d321b2ed9ed00712b726adf7 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 17:06:07 2022 +1100 Improves bounding box interaction Added spacebar-hold-to-transform back. commit 8282e5d0458ca1bba5565c069093b5389f2228d4 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:57:07 2022 +1100 Builds fresh bundle commit 19305cdbdf6ac74833bd6011bff0ced8e9d36f69 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:51:11 2022 +1100 Styles image uploader commit eb9028ab3069bca9d747aca664ca60ae13ba6df8 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:51:03 2022 +1100 Disabled bounding box settings when locked commit 21483f5d0731bce5aa97985e722a64bf0d7cd12c Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:50:24 2022 +1100 Fixes silent crash when init image too large To send the mask to the server, the UI rendered the mask onto the init image and sent the whole image. The mask was then cropped by the server. If the image was too large, the app silently failed. Maybe it exceeds the websocket size limit. Fixed by cropping the mask in the UI layer, sending only bounding-box-sized mask image data. commit 82dcbac28f140aa7bd89d967bcc7fa31cb03a267 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 16:28:30 2022 +1100 Improves bounding box interactions - Bounding box can now be moved by dragging any of its edges - Bounding box does not affect drawing if already drawing a stroke - Can lock bounding box to draw directly on the bounding box edges - Removes spacebar-hold behaviour due to technical issues commit d43bd4625d64a03d90de0458ad5fcacef211a8a6 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 15:10:49 2022 +1100 Fixes hotkeys and settings buttons not working commit ea891324a2086faf8eeeeac7eaf47ae2935322fb Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:04:02 2022 +1100 Changes inpainting controls settings to hover commit 8fd9ea219390493f392e690eadb23c4209a4ecfc Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:03:41 2022 +1100 Adds missing tooltips to site header commit fb026668563b3179805819a1630c654c9ce260d9 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:03:25 2022 +1100 Increases workarea split padding to 1rem commit f6f5c2731b0c37089c5d7382736f973e857df712 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 11:03:10 2022 +1100 Decreases gallery width on inpainting commit b4e3f771e0314e0a18ad5cedc80b28f246fced59 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 10:54:59 2022 +1100 Fixes bugs/styling - Fixes missing web app state on new version: Adds stateReconciler to redux-persist. When we add more values to the state and then release the update app, they will be automatically merged in. Reseting web UI will be needed far less. 7159ec - Fixes console z-index - Moves reset web UI button to visible area commit 99bb9491ac97f1f733accab839ea38cdf4870ba0 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Tue Nov 1 08:35:45 2022 +1300 [WebUI] Loopback Default False commit 0453f211278a533a49fb1aee54dd989b69179c10 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Wed Nov 2 23:23:51 2022 +1300 Fresh Build For WebUI commit 9fc09aa4bda3b3e6139b026f24733a37747d373f Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 09:08:11 2022 +0100 don't log base64 progress images commit 5e87062cf809a08242d3b006b66d3bbb834ddb16 Author: spezialspezial <75758219+spezialspezial@users.noreply.github.com> Date: Wed Nov 2 00:21:27 2022 +0100 Option to directly invert the grayscale heatmap - fix commit 3e7a459990407ad1679f38d4027c19d50a9d36e3 Author: spezialspezial <75758219+spezialspezial@users.noreply.github.com> Date: Tue Nov 1 21:37:33 2022 +0100 Update txt2mask.py commit bbf4c03e500bafc8627c2a70f8b3396efeddabb3 Author: spezialspezial <75758219+spezialspezial@users.noreply.github.com> Date: Tue Nov 1 21:11:19 2022 +0100 Option to directly invert the grayscale heatmap Theoretically less work inverting the image while it's small but I can't measure a significant difference. Though, handy option to have in some cases. commit 611a3a975328a7e276c2781214d5e14108708ed7 Author: mauwii <Mauwii@outlook.de> Date: Wed Nov 2 02:23:09 2022 +0100 fix name of caching step commit 1611f0d1815022fe90d33f41c21d670251a75f29 Author: mauwii <Mauwii@outlook.de> Date: Wed Nov 2 02:18:46 2022 +0100 readd caching of sd-models - this would remove the necesarrity of the secret availability in PRs commit 08835115e4c5c0ee3587ce07ab769a04d55cb3c5 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 22:10:12 2022 -0400 pin pytorch_lightning to 1.7.7, issue #1331 commit 2d84e28d329be282b51a4cbc22f7c200d80c8f0e Merge: 533fd04e ef17aae8 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 22:11:04 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit ef17aae8abe03fd87dc6f91b3c6d2fe03375f6c5 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 00:39:48 2022 +0100 add damian0815 to contributors list commit 0cc39f01a3c67f32873b7888e1e032d33626e269 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 01:18:50 2022 +0100 report full size for fast latents and update conversion matrix for v1.5 commit 688d7258f185035a5924bee23322b001574da931 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 00:33:00 2022 +0100 fix a bug that broke cross attention control index mapping commit 4513320bf161d3efdd99e2aef4f7c37472131373 Author: damian0815 <null@damianstewart.com> Date: Wed Nov 2 00:31:58 2022 +0100 save VRAM by not recombining tensors that have been sliced to save VRAM commit 533fd04ef0d1ba9d2cb25d556991b999e7d44aba Merge: 6215592b dff5681c Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 17:40:36 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit dff5681cf0e24faf67d5eb5903203c4ea39f89bd Author: damian0815 <d@d.com> Date: Tue Nov 1 13:56:03 2022 +0100 shorter strings commit 5a2790a69b11e049d2507bc22eab7812915d867f Author: damian0815 <d@d.com> Date: Tue Nov 1 13:19:20 2022 +0100 convert progress display to a drop-down commit 7c5305ccbaf7926162536aa3a9e51dcdd8574d0d Author: damian0815 <d@d.com> Date: Tue Nov 1 12:54:46 2022 +0100 do not try to save base64 intermediates in gallery on cancellation commit 4013e8ad6fa5e5c2a710c607fe7e1d040f353299 Author: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Tue Nov 1 21:54:35 2022 +1100 Fixes b64 image sending and displaying commit d1dfd257f9e1cafd352d9007a56194226b9d6b63 Author: damian <d@d.com> Date: Tue Nov 1 11:40:40 2022 +0100 wip base64 commit 5322d735ee4515d89293b7fb015b2ce048262f68 Author: damian <d@d.com> Date: Tue Nov 1 11:31:42 2022 +0100 update frontend commit cdb107dcda858a8bb64455cc60a196a42345f8f7 Author: damian <d@d.com> Date: Tue Nov 1 11:17:43 2022 +0100 add option to show intermediate latent space commit be1393a41ce7a75ed8de7f648a93c5e5974a50d2 Author: damian <d@d.com> Date: Tue Nov 1 10:16:55 2022 +0100 ensure existing exception handling code also handles new exception class commit e554c2607f00a5e51c03052acb9861ff21ec1c12 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Tue Nov 1 10:08:42 2022 +0100 Rebuilt prompt parsing logic Complete re-write of the prompt parsing logic to be more readable and logical, and therefore also hopefully easier to debug, maintain, and augment. In the process it has also become more robust to badly-formed prompts. Squashed commit of the following: commit 8fcfa88a16e1390d41717e940d72aed64712171c Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 17:05:57 2022 +0100 further cleanup commit 1a1fd78bcfeb49d072e3e6d5808aa8df15441629 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 16:07:57 2022 +0100 cleanup and document commit 099c9659fa8b8135876f9a5a50fe80b20bc0635c Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 15:54:58 2022 +0100 works fully commit 5e6887ea8c25a1e21438ff6defb381fd027d25fd Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 15:24:31 2022 +0100 further... commit 492fda120844d9bc1ad4ec7dd408a3374762d0ff Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Sun Oct 30 14:08:57 2022 +0100 getting there... commit c6aab05a8450cc3c95c8691daf38fdc64c74f52d Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Fri Oct 28 14:29:03 2022 +0200 wip doesn't compile commit 5e533f731cfd20cd435330eeb0012e5689e87e81 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Fri Oct 28 13:21:43 2022 +0200 working with CrossAttentionCtonrol but no Attention support yet commit 9678348773431e500e110e8aede99086bb7b5955 Author: Damian at mba <damian@frey.NOSPAMco.nz> Date: Fri Oct 28 13:04:52 2022 +0200 wip rebuiling prompt parser commit 6215592b12dea3822c727913b771012789a52477 Merge: ef24d76a 349cc254 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 17:34:55 2022 -0400 Merge branch 'development' of github.com:invoke-ai/InvokeAI into development commit 349cc25433e1d358c6c61cca4a6c300ecc8ca3d7 Author: damian0815 <d@d.com> Date: Tue Nov 1 20:08:52 2022 +0100 fix crash (be a little less aggressive clearing out the attention slice) commit 214d276379387ae0fa2259602ab00884ec1ad03e Author: damian0815 <d@d.com> Date: Tue Nov 1 19:57:55 2022 +0100 be more aggressive at clearing out saved_attn_slice commit ef24d76adc5a192297714707cd6794d4f44bcf67 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 14:34:23 2022 -0400 fix library problems in preload_modules commit ab2b5a691dadb292f7cecf5db94a165db3e3e126 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Nov 1 17:22:48 2022 -0400 fix model_cache memory management issues commit c7de2b2801ad5d6ce52a5f44e88c5705f1dbf524 Author: mauwii <Mauwii@outlook.de> Date: Tue Nov 1 02:02:14 2022 +0100 disable checks with sd-V1.4 model... ...to save some resources, since V1.5 is the default now commit e8075658acf675346d35435d0cfb7710becab42a Author: mauwii <Mauwii@outlook.de> Date: Mon Oct 31 22:20:51 2022 +0100 update test-invoke-conda.yml - fix model dl path for sd-v1-4.ckpt - copy configs/models.yaml.example to configs/models.yaml commit 4202dabee1143f597f4c3946420fbfa7b8eccddf Author: mauwii <Mauwii@outlook.de> Date: Mon Oct 31 22:17:21 2022 +0100 fix models example weights for sd-v1.4 commit d67db2bcf1ac26d8bb7c5f8bfd056f2172597780 Author: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Date: Tue Nov 1 08:35:45 2022 +1300 [WebUI] Loopback Default False commit 7159ec885faa1117a3506689d547618be1d91808 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Oct 31 11:33:05 2022 -0400 further improvements to preload_models.py - Faster startup for command line switch processing - Specify configuration file to modify using --config option: ./scripts/preload_models.ply --config models/my-models-file.yaml commit b5cf734ba9f1aeaab14075b55cc13ed9a0ae31e2 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Oct 31 11:08:19 2022 -0400 improve behavior of preload_models.py - NEVER overwrite user's existing models.yaml - Instead, merge its contents into new config file, and rename original to models.yaml.orig (with message) - models.yaml has been removed from repository and renamed models.yaml.example commit f7dc8eafeef991e135b5541c01d0ff740dda9591 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Mon Oct 31 10:47:35 2022 -0400 restore models.yaml to virgin state commit 762ca60a309f70daaf1b9e79b6273f76fd9474b6 Author: Lincoln Stein <lincoln.stein@gmail.com> Date: Tue Oct 4 22:55:10 2022 -0400 Update INPAINTING.md commit e7fb9f342cb5ed0c09e6215026d60d45eef3ebcb Author: Hideyuki Katsushiro <h.katsushiro@qualia.tokyo.jp> Date: Wed Oct 5 10:08:53 2022 +0900 add argument --outdir
2022-11-12 17:17:07 +00:00
platforms: Linux/${{ matrix.arch }}
push: false
Merge dev into main for 2.2.0 (#1642) * Fixes inpainting + code cleanup * Disable stage info in Inpainting Tab * Mask Brush Preview now always at 0.5 opacity 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. * Remove save button from Canvas Controls (cleanup) * Implements invert mask * Changes "Invert Mask" to "Preserve Masked Areas" * Fixes (?) spacebar issues * Patches redux-persist and redux-deep-persist with debounced persists 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. * Adds debouncing * Fixes AttributeError: 'dict' object has no attribute 'invert_mask' * Updates package.json to use redux-persist patches * Attempts to fix redux-persist debounce patch * Fixes undo/redo * Fixes invert mask * Debounce > 300ms * Limits history to 256 for each of undo and redo * Canvas styling * Hotkeys improvement * Add Metadata To Viewer * Increases CFG Scale max to 200 * Fix gallery width size for Outpainting Also fixes the canvas resizing failing n fast pushes * Fixes disappearing canvas grid lines * Adds staging area * Fixes "use all" not setting variationAmount Now sets to 0 when the image had variations. * Builds fresh bundle * Outpainting tab loads to empty canvas instead of upload * Fixes wonky canvas layer ordering & compositing * Fixes error on inpainting paste back `TypeError: 'float' object cannot be interpreted as an integer` * Hides staging area outline on mouseover prev/next * Fixes inpainting not doing img2img when no mask * Fixes bbox not resizing in outpainting if partially off screen * Fixes crashes during iterative outpaint. Still doesn't work correctly though. * Fix iterative outpainting by restoring original images * Moves image uploading to HTTP - It all seems to work fine - A lot of cleanup is still needed - Logging needs to be added - May need types to be reviewed * Fixes: outpainting temp images show in gallery * WIP refactor to unified canvas * Removes console.log from redux-persist patch * Initial unification of canvas * Removes all references to split inpainting/outpainting canvas * Add patchmatch and infill_method parameter to prompt2image (options are 'patchmatch' or 'tile'). * Fixes app after removing in/out-painting refs * Rebases on dev, updates new env files w/ patchmatch * Organises features/canvas * Fixes bounding box ending up offscreen * Organises features/canvas * Stops unnecessary canvas rescales on gallery state change * Fixes 2px layout shift on toggle canvas lock * Clips lines drawn while canvas locked When drawing with the locked canvas, if a brush stroke gets too close to the edge of the canvas and its stroke would extend past the edge of the canvas, the edge of that stroke will be seen after unlocking the canvas. This could cause a problem if you unlock the canvas and now have a bunch of strokes just outside the init image area, which are far back in undo history and you cannot easily erase. With this change, lines drawn while the canvas is locked get clipped to the initial image bbox, fixing this issue. Additionally, the merge and save to gallery functions have been updated to respect the initial image bbox so they function how you'd expect. * Fixes reset canvas view when locked * Fixes send to buttons * Fixes bounding box not being rounded to 64 * Abandons "inpainting" canvas lock * Fixes save to gallery including empty area, adds download and copy image * Fix Current Image display background going over image bounds * Sets status immediately when clicking Invoke * Adds hotkeys and refactors sharing of konva instances Adds hotkeys to canvas. As part of this change, the access to konva instance objects was refactored: Previously closure'd refs were used to indirectly get access to the konva instances outside of react components. Now, a getter and setter function are used to provide access directly to the konva objects. * Updates hotkeys * Fixes canvas showing spinner on first load Also adds good default canvas scale and positioning when no image is on it * Fixes possible hang on MaskCompositer * Improves behaviour when setting init canvas image/reset view * Resets bounding box coords/dims when no image present * Disables canvas actions which cannot be done during processing * Adds useToastWatcher hook - Dispatch an `addToast` action with standard Chakra toast options object to add a toast to the toastQueue - The hook is called in App.tsx and just useEffect's w/ toastQueue as dependency to create the toasts - So now you can add toasts anywhere you have access to `dispatch`, which includes middleware and thunks - Adds first usage of this for the save image buttons in canvas * Update Hotkey Info Add missing tooltip hotkeys and update the hotkeys modal to reflect the new hotkeys for the Unified Canvas. * Fix theme changer not displaying current theme on page refresh * Fix tab count in hotkeys panel * Unify Brush and Eraser Sizes * Fix staging area display toggle not working * Staging Area delete button is now red So it doesnt feel blended into to the rest of them. * Revert "Fix theme changer not displaying current theme on page refresh" This reverts commit 903edfb803e743500242589ff093a8a8a0912726. * Add arguments to use SSL to webserver * Integrates #1487 - touch events Need to add: - Pinch zoom - Touch-specific handling (some things aren't quite right) * Refactors upload-related async thunks - Now standard thunks instead of RTK createAsyncThunk() - Adds toasts for all canvas upload-related actions * Reorganises app file structure * Fixes Canvas Auto Save to Gallery * Fixes staging area outline * Adds staging area hotkeys, disables gallery left/right when staging * Fixes Use All Parameters * Fix metadata viewer image url length when viewing intermediate * Fixes intermediate images being tiny in txt2img/img2img * Removes stale code * Improves canvas status text and adds option to toggle debug info * Fixes paste image to upload * Adds model drop-down to site header * Adds theme changer popover * Fix missing key on ThemeChanger map * Fixes stage position changing on zoom * Hotkey Cleanup - Viewer is now Z - Canvas Move tool is V - sync with PS - Removed some unused hotkeys * Fix canvas resizing when both options and gallery are unpinned * Implements thumbnails for gallery - Thumbnails are saved whenever an image is saved, and when gallery requests images from server - Thumbnails saved at original image aspect ratio with width of 128px as WEBP - If the thumbnail property of an image is unavailable for whatever reason, the image's full size URL is used instead * Saves thumbnails to separate thumbnails directory * Thumbnail size = 256px * Fix Lightbox Issues * Disables canvas image saving functions when processing * Fix index error on going past last image in Gallery * WIP - Lightbox Fixes Still need to fix the images not being centered on load when the image res changes * Fixes another similar index error, simplifies logic * Reworks canvas toolbar * Fixes canvas toolbar upload button * Cleans up IAICanvasStatusText * Improves metadata handling, fixes #1450 - Removes model list from metadata - Adds generation's specific model to metadata - Displays full metadata in JSON viewer * Gracefully handles corrupted images; fixes #1486 - App does not crash if corrupted image loaded - Error is displayed in the UI console and CLI output if an image cannot be loaded * Adds hotkey to reset canvas interaction state If the canvas' interaction state (e.g. isMovingBoundingBox, isDrawing, etc) get stuck somehow, user can press Escape to reset the state. * Removes stray console.log() * Fixes bug causing gallery to close on context menu open * Minor bugfixes - When doing long-running canvas image exporting actions, display indeterminate progress bar - Fix staging area image outline not displaying after committing/discarding results * Removes unused imports * Fixes repo root .gitignore ignoring frontend things * Builds fresh bundle * Styling updates * Removes reasonsWhyNotReady The popover doesn't play well with the button being disabled, and I don't think adds any value. * Image gallery resize/style tweaks * Styles buttons for clearing canvas history and mask * First pass on Canvas options panel * Fixes bug where discarding staged images results in loss of history * Adds Save to Gallery button to staging toolbar * Rearrange some canvas toolbar icons Put brush stuff together and canvas movement stuff together * Fix gallery maxwidth on unified canvas * Update Layer hotkey display to UI * Adds option to crop to bounding box on save * Masking option tweaks * Crop to Bounding Box > Save Box Region Only * Adds clear temp folder * Updates mask options popover behavior * Builds fresh bundle * Fix styling on alert modals * Fix input checkbox styling being incorrect on light theme * Styling fixes * Improves gallery resize behaviour * Cap gallery size on canvas tab so it doesnt overflow * Fixes bug when postprocessing image with no metadata * Adds IAIAlertDialog component * Moves Loopback to app settings * Fixes metadata viewer not showing metadata after refresh Also adds Dream-style prompt to metadata * Adds outpainting specific options * Linting * Fixes gallery width on lightbox, fixes gallery button expansion * Builds fresh bundle * Fix Lightbox images of different res not centering * Update feature tooltip text * Highlight mask icon when on mask layer * Fix gallery not resizing correctly on open and close * Add loopback to just img2img. Remove from settings. * Fix to gallery resizing * Removes Advanced checkbox, cleans up options panel for unified canvas * Minor styling fixes to new options panel layout * Styling Updates * Adds infill method * Tab Styling Fixes * memoize outpainting options * Fix unnecessary gallery re-renders * Isolate Cursor Pos debug text on canvas to prevent rerenders * Fixes missing postprocessed image metadata before refresh * Builds fresh bundle * Fix rerenders on model select * Floating panel re-render fix * Simplify fullscreen hotkey selector * Add Training WIP Tab * Adds Training icon * Move full screen hotkey to floating to prevent tab rerenders * Adds single-column gallery layout * Fixes crash on cancel with intermediates enabled, fixes #1416 * Updates npm dependencies * Fixes img2img attempting inpaint when init image has transparency * Fixes missing threshold and perlin parameters in metadata viewer * Renames "Threshold" > "Noise Threshold" * Fixes postprocessing not being disabled when clicking use all * Builds fresh bundle * Adds color picker * Lints & builds fresh bundle * Fixes iterations being disabled when seed random & variations are off * Un-floors cursor position * Changes color picker preview to circles * Fixes variation params not set correctly when recalled * Fixes invoke hotkey not working in input fields * Simplifies Accordion Prep for adding reset buttons for each section * Fixes mask brush preview color * Committing color picker color changes tool to brush * Color picker does not overwrite user-selected alpha * Adds brush color alpha hotkey * Lints * Removes force_outpaint param * Add inpaint size options to inpaint at a larger size than the actual inpaint image, then scale back down for recombination * Bug fix for inpaint size * Adds inpaint size (as scale bounding box) to UI * Adds auto-scaling for inpaint size * Improves scaled bbox display logic * Fixes bug with clear mask and history * Fixes shouldShowStagingImage not resetting to true on commit * Builds fresh bundle * Fixes canvas failing to scale on first run * Builds fresh bundle * Fixes unnecessary canvas scaling * Adds gallery drag and drop to img2img/canvas * Builds fresh bundle * Fix desktop mode being broken with new versions of flaskwebgui * Fixes canvas dimensions not setting on first load * Builds fresh bundle * stop crash on !import_models call on model inside rootdir - addresses bug report #1546 * prevent "!switch state gets confused if model switching fails" - If !switch were to fail on a particular model, then generate got confused and wouldn't try again until you switch to a different working model and back again. - This commit fixes and closes #1547 * Revert "make the docstring more readable and improve the list_models logic" This reverts commit 248068fe5d57b5639ea7a87ee6cbf023104d957d. * fix model cache path * also set fail-fast to it's default (true) in this way the whole action fails if one job fails this should unblock the runners!!! * fix output path for Archive results * disable checks for python 3.9 * Update-requirements and test-invoke-pip workflow (#1574) * update requirements files * update test-invoke-pip workflow * move requirements-mkdocs.txt to docs folder (#1575) * move requirements-mkdocs.txt to docs folder * update copyright * Fixes outpainting with resized inpaint size * Interactive configuration (#1517) * Update scripts/configure_invokeai.py prevent crash if output exists Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * implement changes requested by reviews * default to correct root and output directory on Windows systems - Previously the script was relying on the readline buffer editing feature to set up the correct default. But this feature doesn't exist on windows. - This commit detects when user typed return with an empty directory value and replaces with the default directory. * improved readability of directory choices * Update scripts/configure_invokeai.py Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * better error reporting at startup - If user tries to run the script outside of the repo or runtime directory, a more informative message will appear explaining the problem. Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> * Embedding merging (#1526) * add whole <style token> to vocab for concept library embeddings * add ability to load multiple concept .bin files * make --log_tokenization respect custom tokens * start working on concept downloading system * preliminary support for dynamic loading and merging of multiple embedded models - The embedding_manager is now enhanced with ldm.invoke.concepts_lib, which handles dynamic downloading and caching of embedded models from the Hugging Face concepts library (https://huggingface.co/sd-concepts-library) - Downloading of a embedded model is triggered by the presence of one or more <concept> tags in the prompt. - Once the embedded model is downloaded, its trigger phrase will be loaded into the embedding manager and the prompt's <concept> tag will be replaced with the <trigger_phrase> - The downloaded model stays on disk for fast loading later. - The CLI autocomplete will complete partial <concept> tags for you. Type a '<' and hit tab to get all ~700 concepts. BUGS AND LIMITATIONS: - MODEL NAME VS TRIGGER PHRASE You must use the name of the concept embed model from the SD library, and not the trigger phrase itself. Usually these are the same, but not always. For example, the model named "hoi4-leaders" corresponds to the trigger "<HOI4-Leader>" One reason for this design choice is that there is no apparent constraint on the uniqueness of the trigger phrases and one trigger phrase may map onto multiple models. So we use the model name instead. The second reason is that there is no way I know of to search Hugging Face for models with certain trigger phrases. So we'd have to download all 700 models to index the phrases. The problem this presents is that this may confuse users, who will want to reuse prompts from distributions that use the trigger phrase directly. Usually this will work, but not always. - WON'T WORK ON A FIREWALLED SYSTEM If the host running IAI has no internet connection, it can't download the concept libraries. I will add a script that allows users to preload a list of concept models. - BUG IN PROMPT REPLACEMENT WHEN MODEL NOT FOUND There's a small bug that occurs when the user provides an invalid model name. The <concept> gets replaced with <None> in the prompt. * fix loading .pt embeddings; allow multi-vector embeddings; warn on dupes * simplify replacement logic and remove cuda assumption * download list of concepts from hugging face * remove misleading customization of '*' placeholder the existing code as-is did not do anything; unclear what it was supposed to do. the obvious alternative -- setting using 'placeholder_strings' instead of 'placeholder_tokens' to match model.params.personalization_config.params.placeholder_strings -- caused a crash. i think this is because the passed string also needed to be handed over on init of the PersonalizedBase as the 'placeholder_token' argument. this is weird config dict magic and i don't want to touch it. put a breakpoint in personalzied.py line 116 (top of PersonalizedBase.__init__) if you want to have a crack at it yourself. * address all the issues raised by damian0815 in review of PR #1526 * actually resize the token_embeddings * multiple improvements to the concept loader based on code reviews 1. Activated the --embedding_directory option (alias --embedding_path) to load a single embedding or an entire directory of embeddings at startup time. 2. Can turn off automatic loading of embeddings using --no-embeddings. 3. Embedding checkpoints are scanned with the pickle scanner. 4. More informative error messages when a concept can't be loaded due either to a 404 not found error or a network error. * autocomplete terms end with ">" now * fix startup error and network unreachable 1. If the .invokeai file does not contain the --root and --outdir options, invoke.py will now fix it. 2. Catch and handle network problems when downloading hugging face textual inversion concepts. * fix misformatted error string Co-authored-by: Damian Stewart <d@damianstewart.com> * model_cache.py: fix list_models Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> * add statement of values (#1584) * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * Fix heading * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * Update InvokeAI_Statement_of_Values.md * add keturn and mauwii to the team member list * Fix punctuation * this adds the Statement of Values Google doc source = https://docs.google.com/document/d/1-PrUKDJcxy8OyNGc8CyiHhv2VgLvjt7LRGlEpbg1nmQ/edit?usp=sharing * add keturn and mauwii to the team member list * fix formating - make sub bullets use * (decide to all use - or *) - indent sub bullets Sorry, first only looked at the code version and found this only after looking at the markdown rendered version * use multiparagraph numbered sections * Break up Statement Of Values as per comments on #1584 * remove duplicated word, reduce vagueness it's important not to overstate how many artists we are consulting. * fix typo (sorry blessedcoolant) Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: damian <git@damianstewart.com> * update dockerfile (#1551) * update dockerfile * remove not existing file from .dockerignore * remove bloat and unecesary step also use --no-cache-dir for pip install image is now close to 2GB * make Dockerfile a variable * set base image to `ubuntu:22.10` * add build-essential * link outputs folder for persistence * update tag variable * update docs * fix not customizeable build args, add reqs output * !model_import autocompletes in ROOTDIR * Adds psychedelicious to statement of values signature (#1602) * add a --no-patchmatch option to disable patchmatch loading (#1598) This feature was added to prevent the CI Macintosh tests from erroring out when patchmatch is unable to retrieve its shared library from github assets. * Fix #1599 by relaxing the `match_trigger` regex (#1601) * Fix #1599 by relaxing the `match_trigger` regex Also simplify logic and reduce duplication. * restrict trigger regex again (but not so far) * make concepts library work with Web UI 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. * documentation enhancements (#1603) - 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 (#1580) * 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. * revert to older version of list_models() (#1611) 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() * Fixes for #1604 (#1605) * Converts ESRGAN image input to RGB - Also adds typing for image input. - Partially resolves #1604 * ensure there are unmasked pixels before color matching Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> * update index.md (#1609) - comment out non existing link - fix indention - add seperator between feature categories * Debloat-docker (#1612) * 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 installer (#1618) * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> * 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 <cyruswkc@hku.hk> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> * 2.2 Doc Updates (#1589) * 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 <lincoln.stein@gmail.com> Co-authored-by: damian <git@damianstewart.com> * include a step after config to `cat ~/.invokeai` (#1629) * disable patchmatch in CI actions (#1626) * disable patchmatch in CI actions * fix indention * replace tab with spaces Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> * Fix installer script for macOS. (#1630) * 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. * Removes symlinked environment.yaml (#1631) Was unintentionally added in #1621 * Fix inpainting with iterations (#1635) * fix error when inpainting using runwayml inpainting model (#1634) - error was "Omnibus object has no attribute pil_image" - closes #1596 * add k_dpmpp_2_a and k_dpmpp_2 solvers options (#1389) * add k_dpmpp_2_a and k_dpmpp_2 solvers options * update frontend Co-authored-by: Victor <victorca25@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * add .editorconfig (#1636) * Web UI 2.2 bugfixes (#1572) * 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 5511c82714dbf1d1999d64e8bc357bafa34ddf37. * 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 33c92ecf4da724c2f17d9d91c7ea31a43a2f6deb. * 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 <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com> * disable NSFW checker loading during the CI tests (#1641) * 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 (#1624) * 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 <40327258+mauwii@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Signed-off-by: devops117 <55235206+devops117@users.noreply.github.com> Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Co-authored-by: blessedcoolant <54517381+blessedcoolant@users.noreply.github.com> Co-authored-by: Kyle Schouviller <kyle0654@hotmail.com> Co-authored-by: javl <mail@jaspervanloenen.com> Co-authored-by: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com> Co-authored-by: mauwii <Mauwii@outlook.de> Co-authored-by: Matthias Wild <40327258+mauwii@users.noreply.github.com> Co-authored-by: Damian Stewart <d@damianstewart.com> Co-authored-by: DevOps117 <55235206+devops117@users.noreply.github.com> Co-authored-by: damian <git@damianstewart.com> Co-authored-by: Damian Stewart <null@damianstewart.com> Co-authored-by: Cyrus Chan <82143712+cyruschan360@users.noreply.github.com> Co-authored-by: Cyrus Chan <cyruswkc@hku.hk> Co-authored-by: Andre LaBranche <dre@mac.com> Co-authored-by: victorca25 <41912303+victorca25@users.noreply.github.com> Co-authored-by: Victor <victorca25@users.noreply.github.com>
2022-11-30 21:12:23 +00:00
tags: ${{ env.dockertag }}:${{ matrix.pip-requirements }}-${{ matrix.arch }}
build-args: pip_requirements=${{ matrix.pip-requirements }}