psychedelicious
b24e8dd829
feat(stats): refactor InvocationStatsService to output stats as dataclasses
...
This allows the stats to be written to disk as JSON and analyzed.
- Add dataclasses to hold stats.
- Move stats pretty-print logic to `__str__` of the new `InvocationStatsSummary` class.
- Add `get_stats` and `dump_stats` methods to `InvocationStatsServiceBase`.
- `InvocationStatsService` now throws if stats are requested for a session it doesn't know about. This avoids needing to do a lot of messy null checks.
- Update `DefaultInvocationProcessor` to use the new stats methods and suppresses the new errors.
2024-02-01 08:50:56 +11:00
Mary Hipp
25291a2e01
select first image if no selectedImageName
2024-01-31 11:52:47 -05:00
Brandon
ed466a99ec
Merge branch 'main' into fix-civit-model-imports
2024-01-31 10:12:44 -05:00
Mary Hipp Rogers
f68f8898c0
Workflow navigation & save-as ( #5607 )
...
* redo top panel of workflow editor
* add checkbox option to save to project, integrate save-as flow into first time saving workflow
* remove log
* remove workflowLibrary as a feature that can be disabled
* lint
* feat(ui): make SaveWorkflowAsDialog a singleton
Fixes an issue where the workflow name would erroneously be an empty string (which it should show the current workflow name).
Also makes it easier to interact with this component.
- Extract the dialog state to a hook
- Render the dialog once in `<NodeEditor />`
- Use the hook in the various buttons that should open the dialog
- Fix a few wonkily named components (pre-existing issue)
* fix(ui): when saving a never-before-saved workflow, do not append " (copy)" to the name
* fix(ui): do not obscure workflow library button with add node popover
This component is kinda janky :/ the popover content somehow renders invisibly over the button. I think it's related to the `<PopoverAnchor />.
Need to redo this in the future, but for now, making the popover render lazily fixes this.
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2024-01-31 13:32:31 +00:00
Brandon Rising
a0996b1c0a
Fix ruff styling
2024-01-31 07:16:14 -06:00
Brandon Rising
522ff4a042
civit -> civitai
2024-01-31 07:16:14 -06:00
Brandon Rising
a769f93be0
Remove unnecessary change
2024-01-31 07:16:14 -06:00
Brandon Rising
2c5ef92979
Move location of config property, comment for explanation of use
2024-01-31 07:16:14 -06:00
Brandon Rising
5d773dc94c
Remove debug line
2024-01-31 07:16:14 -06:00
Brandon Rising
088e3420e6
Allow passing of civit api key via config
2024-01-31 07:16:14 -06:00
Brandon Rising
14efc95707
Allow passing of a civit api key
2024-01-31 07:16:14 -06:00
psychedelicious
f48a2c5fd2
fix(ui): workflow settings styling
...
Got borked in the redesign.
2024-01-31 07:16:01 -06:00
Hosted Weblate
74ae4d7774
translationBot(ui): update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2024-01-31 23:05:11 +11:00
Ufuk Sarp Selçok
191203ea0c
translationBot(ui): update translation (Turkish)
...
Currently translated at 36.1% (516 of 1427 strings)
Co-authored-by: Ufuk Sarp Selçok <ilkel@live.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/tr/
Translation: InvokeAI/Web UI
2024-01-31 23:05:11 +11:00
Riccardo Giovanetti
6aceae5c22
translationBot(ui): update translation (Italian)
...
Currently translated at 97.2% (1388 of 1427 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-01-31 23:05:11 +11:00
Thomas Mello
8c6b3efd39
fix(ui): remove hard reset of cursor on canvas during state reset
...
Remove resetting cursor when resetting state letting event handlers to take care of presentation
2024-01-31 23:03:14 +11:00
psychedelicious
4602efd598
feat: add profiler util ( #5601 )
...
* feat(config): add profiling config settings
- `profile_graphs` enables graph profiling with cProfile
- `profiles_dir` sets the output for profiles
* feat(nodes): add Profiler util
Simple wrapper around cProfile.
* feat(nodes): use Profiler in invocation processor
* scripts: add generate_profile_graphs.sh script
Helper to generate graphs for profiles.
* pkg: add snakeviz and gprof2dot to dev deps
These are useful for profiling.
* tests: add tests for profiler util
* fix(profiler): handle previous profile not stopped cleanly
* feat(profiler): add profile_prefix config setting
The prefix is used when writing profile output files. Useful to organise profiles into sessions.
* tidy(profiler): add `_` to private API
* feat(profiler): simplify API
* feat(profiler): use child logger for profiler logs
* chore(profiler): update docstrings
* feat(profiler): stop() returns output path
* chore(profiler): fix docstring
* tests(profiler): update tests
* chore: ruff
2024-01-31 10:51:57 +00:00
Josh Corbett
f70c0936ca
feat: ✨ disable/enable LoRas with a switch ( #5591 )
...
* feat: ✨ disable/enable LorRas with a switch
* feat: ✨ visually display previous weight when disabled
* style: 🚨 linting
* feat: ✨ lora badge count reflects active loras
* style: 🚨 linting
* feat: ✨ track disabled lora on state instead of weight
* style: 🚨 linting
* feat: ✨ it all works now
tracking isEnabled on lora state, disabled slider when disabled, removed disabled loras from graph, updated badge counting and renamed lora add function
* style: 🚨 linting
* fix: 🐛 enabledLoRAs filter nullish coalescing
* refactor: 🎨 minor changes
renamed lora toggle action, removed errent comment, removed extraneous type annotation
* style: 🚨 linting
2024-01-31 05:50:03 +00:00
Rohinish
0d4de4cc63
changed hotkeys ( #5542 )
...
Adds adds ctrl/meta + scroll to change brush size on canvas.
* changed hotkeys
* new hotkey as an additional
* lint fixed"
* added ctrl scroll and removed hotkey
* using
* added fix
* feedbck_changes
* brush size change logic
* feat(ui): also check for meta key when modifying brush size
* feat(ui): add comment linking to where brush size algo was determined
---------
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2024-01-31 15:57:16 +11:00
dependabot[bot]
bb2787584d
chore(deps-dev): bump vite in /invokeai/frontend/web
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.0.11 to 5.0.12.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.0.12/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 15:47:13 +11:00
Thomas Mello
d7f16b7c87
fix(ui): the bottom button on floating side panel clears all queue items
2024-01-31 01:04:24 +11:00
Thomas Mello
4477e04d59
fix(ui): filter out interactive targets when pressing space on canvas tab
...
Improve input filtering for better accessibility
2024-01-30 09:56:21 +11:00
Thomas Mello
30e11b4b42
feat(ui): save the current staging image with shift+s
2024-01-30 09:56:21 +11:00
Thomas Mello
b93695b78f
feat(ui): discard all staging images in canvas on escape
2024-01-30 09:56:21 +11:00
Thomas Mello
b01311813b
fix(ui): activate move tool on pressing space
...
canvas element is not guaranteed to be in focus (e.g. after accepting new staging image) so we check for the active tab name instead
2024-01-30 09:56:21 +11:00
Thomas Mello
5ae80fab87
fix(ui): accept staging image hotkey callback
2024-01-30 09:56:21 +11:00
Thomas Mello
c4291f2136
fix(ui): block gallery navigation when staging images on canvas
2024-01-30 09:56:21 +11:00
Mary Hipp Rogers
287d3c2b04
add UI library to rollup config ( #5598 )
...
* try rolling up ui library
* lint
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2024-01-29 13:13:09 -05:00
Ufuk Sarp Selçok
7fde19730e
translationBot(ui): update translation (Turkish)
...
Currently translated at 22.8% (326 of 1426 strings)
Co-authored-by: Ufuk Sarp Selçok <ilkel@live.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/tr/
Translation: InvokeAI/Web UI
2024-01-29 14:15:29 +11:00
psychedelicious
3f5370b284
feat(ui): add a copy button to the about modal
...
This copies the dependencies as JSON.
2024-01-28 20:50:08 -06:00
psychedelicious
d048eb5b20
docs(ui): add STATE_MGMT.md
...
Supersedes the mini nanostores doc.
2024-01-29 07:28:20 +11:00
psychedelicious
dd7031a472
docs(ui): update README.md
...
Also moved it to the frontend package root
2024-01-29 07:28:20 +11:00
Ufuk Sarp Selçok
6a44697911
translationBot(ui): update translation (Turkish)
...
Currently translated at 10.5% (151 of 1426 strings)
translationBot(ui): update translation (Turkish)
Currently translated at 8.1% (116 of 1426 strings)
translationBot(ui): update translation (Turkish)
Currently translated at 6.6% (95 of 1426 strings)
Co-authored-by: Ufuk Sarp Selçok <ilkel@live.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/tr/
Translation: InvokeAI/Web UI
2024-01-28 22:27:25 +11:00
Hosted Weblate
7a1d0ec228
translationBot(ui): update translation files
...
Updated by "Remove blank strings" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2024-01-28 22:27:25 +11:00
Riccardo Giovanetti
b5928fd411
translationBot(ui): update translation (Italian)
...
Currently translated at 97.2% (1387 of 1426 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-01-28 22:27:25 +11:00
psychedelicious
2f345d1976
chore(ui): lint
2024-01-28 19:57:53 +11:00
psychedelicious
f5d0721fa8
chore(ui): bump @invoke-ai/eslint-config-react
2024-01-28 19:57:53 +11:00
psychedelicious
c3b36cb61d
chore(ui): remove chakra CLI
...
It doesn't work now that the theme is external. I'm not sure how to fix it and not sure if it really did much (I don't think I ever got autocomplete...). Maybe it can be implemented in `@invoke-ai/ui-library`.
2024-01-28 19:57:53 +11:00
psychedelicious
189c430e46
chore(ui): format
...
Lots of changed bc the line length is now 120. May as well do it now.
2024-01-28 19:57:53 +11:00
psychedelicious
b922ee566a
chore(ui): use new prettier config
2024-01-28 19:57:53 +11:00
psychedelicious
89da69f647
fix(ui): correct import in ReduxInit
2024-01-28 19:57:53 +11:00
psychedelicious
138caa34de
chore(ui): lint
2024-01-28 19:57:53 +11:00
psychedelicious
26c3378ede
chore(ui): use new eslint config, add some overrides
2024-01-28 19:57:53 +11:00
psychedelicious
aa134a2db8
chore(ui): remove postinstall script
2024-01-28 19:57:53 +11:00
Mary Hipp
d0391cb430
chore(ui): bump @invoke-ai/ui-library, add @invoke-ai/eslint-config-react & @invoke-ai/prettier-config-react
2024-01-28 19:57:53 +11:00
Mary Hipp
b28fcc6be5
lint
2024-01-27 21:36:42 +11:00
Mary Hipp
418cdbabb7
add option for workflowCategories
2024-01-27 21:36:42 +11:00
Mary Hipp
de20711637
add nanostore for open API schema
2024-01-27 12:43:47 +11:00
Mary Hipp
55e91b97be
dep
2024-01-27 12:43:47 +11:00
Mary Hipp
f79bbd2d6e
account for baseUrl
2024-01-27 12:43:47 +11:00