psychedelicious
a9f3f1a4b2
fix(app): handle model files with periods in their name
...
Previously, we used pathlib's `with_suffix()` method to change add a
suffix (e.g. ".safetensors") to a model when installing it.
The intention is to add a suffix to the model's name - but that method
actually replaces everything after the first period.
This can cause different models to be installed under the same name!
For example, the FLUX models all end up with the same name:
- "FLUX.1 schnell.safetensors" -> "FLUX.safetensors"
- "FLUX.1 dev.safetensors" -> "FLUX.safetensors"
The fix is easy - append the suffix using string formatting instead of
using pathlib.
This issue has existed for a long time, but was exacerbated in
075345bffd in which I updated the names of
our starter models, adding ".1" to the FLUX model names. Whoops!
2025-07-29 14:15:59 +10:00
psychedelicious
8a73df4fe1
fix(ui): progress image does not hide on viewer with autoswitch disabled
2025-07-29 12:53:45 +10:00
psychedelicious
ea2e1ea8f0
fix(ui): queue count badge renders when left panel collapsed
2025-07-29 12:51:23 +10:00
psychedelicious
e8aa91931d
fix(ui): connect metadata to output node for ext api nodes
2025-07-29 06:46:17 +10:00
psychedelicious
8d22a314a6
docs(ui): add some comments for race condition handling
2025-07-29 06:34:08 +10:00
psychedelicious
57ce2b8aa7
chore(ui): lint
2025-07-29 06:34:08 +10:00
psychedelicious
6b810cb3fb
fix(ui): race condition w/ queue counts
2025-07-29 06:34:08 +10:00
psychedelicious
4f3a5dcc43
tidy(ui): remove unused progress related logic and components
2025-07-29 06:34:08 +10:00
psychedelicious
c3ae14cf73
fix(ui): ignore events for already-completed queue items
2025-07-29 06:34:08 +10:00
psychedelicious
b9c44b92d5
fix(ui): clear progress images from viewer at the right time
2025-07-29 06:34:08 +10:00
psychedelicious
5a68b4ddbc
build(ui): skip logging ctx plugin when running tests
2025-07-29 06:31:30 +10:00
psychedelicious
18a722839b
chore(ui): update knip conifg
2025-07-29 06:31:30 +10:00
psychedelicious
7370cb9be6
build(ui): add vite plugin to add relative file path to logger context
2025-07-29 06:31:30 +10:00
Kent Keirsey
1cb4ef05a4
add newline
2025-07-25 11:08:54 -04:00
Kent Keirsey
7da141101c
Merge branch 'main' into psyche/feat/app/client-state-persistence
2025-07-25 11:07:17 -04:00
psychedelicious
2571e199c5
tidy(ui): remove unused props
2025-07-25 11:06:18 -04:00
psychedelicious
79e93f905e
fix(ui): add separate wrapper components for notes and current image nodes that do not need invocation node context
2025-07-25 11:06:18 -04:00
psychedelicious
f562e4f835
fix(ui): ensure all node context provider wraps all calls to useInvocationNodeContext
2025-07-25 11:06:18 -04:00
psychedelicious
47e220aaf3
perf(ui): imperatively get nodes and edges in autolayout hook
2025-07-25 11:06:18 -04:00
psychedelicious
9365154bfe
chore: bump version to v6.2.0
2025-07-25 11:06:18 -04:00
psychedelicious
afc6911c96
chore: bump version to v6.3.0a1
2025-07-25 19:07:08 +10:00
psychedelicious
afa1ee7ffd
tidy(ui): enable devmode redux checks
2025-07-25 19:04:21 +10:00
psychedelicious
5a102f6b53
chore(ui): lint
2025-07-25 19:04:21 +10:00
psychedelicious
af345a33f3
fix(ui): infinite loop when setting tile controlnet model
2025-07-25 19:04:21 +10:00
psychedelicious
038b110a82
fix(ui): do not store whole model configs in state
2025-07-25 19:04:21 +10:00
psychedelicious
f3cd49d46e
refactor(ui): just manually validate async stuff
2025-07-25 19:04:21 +10:00
psychedelicious
ca7d7c9d93
refactor(ui): work around zod async validation issue
2025-07-25 19:04:21 +10:00
psychedelicious
1addeb4b59
fix(ui): check initial retrieval and set as last persisted
2025-07-25 19:04:21 +10:00
psychedelicious
6ea4884b0c
chore(ui): bump zod to latest
...
Checking if it fixes an issue w/ async validators
2025-07-25 19:04:21 +10:00
psychedelicious
aed9b1013e
refactor(ui): use zod for all redux state
2025-07-25 19:04:21 +10:00
psychedelicious
6962536b4a
refactor(ui): use zod for all redux state (wip)
...
needed for confidence w/ state rehydration logic
2025-07-25 19:04:21 +10:00
psychedelicious
7e59d040aa
feat(ui): iterate on storage api
2025-07-25 19:04:20 +10:00
psychedelicious
e7c67da2c2
refactor(ui): restructure persistence driver creation to support custom drivers
2025-07-25 19:04:20 +10:00
psychedelicious
c44571bc36
revert(ui): temp changes to main.tsx for testing
2025-07-25 19:04:20 +10:00
psychedelicious
ca257650d4
revert(ui): temp disable eslint rule
2025-07-25 19:04:20 +10:00
psychedelicious
6a9962d2bb
git: update gitignore
2025-07-25 19:04:20 +10:00
psychedelicious
9492569a2c
wip
2025-07-25 19:04:20 +10:00
psychedelicious
53bcbc58f5
chore(ui): lint
2025-07-25 19:04:20 +10:00
psychedelicious
42f3990f7a
refactor(ui): iterate on persistence
2025-07-25 19:04:20 +10:00
psychedelicious
456205da17
refactor(ui): iterate on persistence
2025-07-25 19:04:20 +10:00
psychedelicious
ca0684700e
refactor(ui): alternate approach to slice configs
2025-07-25 19:04:19 +10:00
psychedelicious
6a702821ef
chore(ui): typegen
2025-07-25 19:04:19 +10:00
psychedelicious
682d271f6f
feat(api): make client state key query not body
2025-07-25 19:04:19 +10:00
psychedelicious
e872c253b1
refactor(ui): cleaner slice definitions
2025-07-25 19:04:19 +10:00
psychedelicious
28633c9983
feat: server-side client state persistence
2025-07-25 19:04:19 +10:00
psychedelicious
70ac58e64a
tidy(ui): remove unused props
2025-07-25 18:51:21 +10:00
psychedelicious
e653837236
fix(ui): add separate wrapper components for notes and current image nodes that do not need invocation node context
2025-07-25 18:51:21 +10:00
psychedelicious
2bbfcc2f13
fix(ui): ensure all node context provider wraps all calls to useInvocationNodeContext
2025-07-25 18:51:21 +10:00
psychedelicious
d6e0e439c5
perf(ui): imperatively get nodes and edges in autolayout hook
2025-07-25 18:50:59 +10:00
psychedelicious
26aab60f81
chore: bump version to v6.2.0
2025-07-25 18:41:00 +10:00