psychedelicious
818045f678
tidy(ui): use × instead of translation string
2024-07-23 10:55:54 +10:00
psychedelicious
7edefbefff
feat(ui): add translation for upscaling tab
2024-07-23 10:55:54 +10:00
psychedelicious
29efab70b7
feat(nodes): spandrel_image_to_image.scale defaults to 4.0
2024-07-23 10:55:54 +10:00
psychedelicious
ac6adc392a
feat(nodes): add scale
and fit_to_multiple_of_8
to spandrel node
2024-07-23 10:55:54 +10:00
psychedelicious
a2ef5d56ee
feat(nodes): split out spandrel node upscale logic into utils
2024-07-23 10:55:54 +10:00
Mary Hipp
13f3560e55
more lint fixes
2024-07-23 10:55:54 +10:00
Mary Hipp
c4bd60e00f
knip fix
2024-07-23 10:55:54 +10:00
Mary Hipp
54eda9163c
remove tiledVAE option and make it true
2024-07-23 10:55:54 +10:00
Mary Hipp
582f384fff
lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
a43211e650
math updates for controlnet tiles
2024-07-23 10:55:54 +10:00
Mary Hipp
6cb0581b0d
add description to upscale model dropdown tooltip
2024-07-23 10:55:54 +10:00
Mary Hipp
845d77916e
lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
f18431a999
use fn to get width/height of output image
2024-07-23 10:55:54 +10:00
Mary Hipp
5060bf2f62
lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
7854d913b2
add upscaling data to metadata
2024-07-23 10:55:54 +10:00
Mary Hipp
890a3ce32a
add limited metadata
2024-07-23 10:55:54 +10:00
Mary Hipp
fb4b3f3350
fix creativity/sharpness/structure scales, move where loras are added, get scale const working
2024-07-23 10:55:54 +10:00
Mary Hipp
d166b08b6a
restore scale but hardcode it to 2 regardless of upscale model
2024-07-23 10:55:54 +10:00
psychedelicious
5266e9e682
fix(ui): remove unused scale param
2024-07-23 10:55:54 +10:00
psychedelicious
d0265e21b0
fix(ui): use spandrel node for upscaling
2024-07-23 10:55:54 +10:00
psychedelicious
3126e8e49a
chore(ui): typegen
2024-07-23 10:55:54 +10:00
Mary Hipp
9e3412d776
translations and lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
4a09cc57be
use the tile conttrolnet in graph instad of marys hardcoded key
2024-07-23 10:55:54 +10:00
Mary Hipp
5ab36e0433
add warning if no upscale model or no tile controlnet for base model
2024-07-23 10:55:54 +10:00
Mary Hipp
d2bf3629bf
base scale off of upscale model selected
2024-07-23 10:55:54 +10:00
Mary Hipp
d9b217d908
hook up sharpness, structure, and creativity
2024-07-23 10:55:54 +10:00
Mary Hipp
2847f1b5ac
add vae toggle, lint fix
2024-07-23 10:55:54 +10:00
Mary Hipp
bc30850f3a
hardcode marys tile cnet key
2024-07-23 10:55:54 +10:00
Mary Hipp
7668dc68a0
cleanup, add loras
2024-07-23 10:55:54 +10:00
Mary Hipp
ea449f5a0a
upscale graph built, no multidiffusion yet
2024-07-23 10:55:54 +10:00
Mary Hipp
5a1ed99ca1
restore adhoc upscale button
2024-07-23 10:55:54 +10:00
Mary Hipp
3a2707ac02
disable invoke button properly for upscaling tab
2024-07-23 10:55:54 +10:00
Mary Hipp
ce5b1103ed
add send to upscale to context menu
2024-07-23 10:55:54 +10:00
Mary Hipp
fd91b83d86
build out the rest of the accordions
2024-07-23 10:55:54 +10:00
Mary Hipp
a0a54348e8
removed upscale button, created spandrel model dropdown, created upscale initial image that works with dnd
2024-07-23 10:55:54 +10:00
Mary Hipp
43b3e242b0
tidy(ui): refactor parameters panel components to be 1:1 with tabs
2024-07-23 10:55:54 +10:00
Sergey Borisov
4e8dcb7a1a
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 01:46:29 +03:00
Sergey Borisov
3cb13d6288
Rename as suggested in other PRs
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-23 01:01:18 +03:00
chainchompa
e92af52fb8
fix moving items to uncategorized updating
2024-07-22 16:11:36 -04:00
Sergey Borisov
5f0fe3c8a9
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-22 23:09:11 +03:00
chainchompa
339dddd018
update uncategorized board totals when deleting and moving images
2024-07-22 16:03:01 -04:00
Sergey Borisov
1b359b55cb
Suggested changes
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-22 22:17:29 +03:00
Sergey Borisov
42356ec866
Add ControlNet support to denoise
2024-07-21 20:01:30 +03:00
Sergey Borisov
1748848b7b
Ruff fixes
2024-07-21 18:37:20 +03:00
Sergey Borisov
5772965f09
Fix slightly different output with old backend
2024-07-21 18:31:30 +03:00
Sergey Borisov
e046e60e1c
Add FreeU support to denoise
2024-07-21 18:31:10 +03:00
Sergey Borisov
9a1420280e
Add rescale cfg support to denoise
2024-07-21 17:33:43 +03:00
Ryan Dick
a8cc5caf96
Fix function call that we forgot to update in https://github.com/invoke-ai/InvokeAI/pull/6606
2024-07-19 17:07:52 -04:00
Mary Hipp
930ff559e4
add sdxl tile to starter models
2024-07-19 16:49:33 -04:00
Ryan Dick
78d2b1b650
Merge branch 'main' into stalker-backend_base
2024-07-19 16:25:20 -04:00
Sergey Borisov
39e10d894c
Add invocation cancellation logic to patchers
2024-07-19 23:17:01 +03:00
Ryan Dick
e16faa6370
Add gradient blending to tile seams in MultiDiffusion.
2024-07-19 13:05:50 -07:00
Ryan Dick
83a86abce2
Add unit tests for ExtensionsManager and ExtensionBase.
2024-07-19 14:15:46 -04:00
Sergey Borisov
0c56d4a581
Ryan's suggested changes to extension manager/extensions
...
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
2024-07-18 23:49:44 +03:00
Lincoln Stein
97a7f51721
don't use cpu state_dict for model unpatching when executing on cpu ( #6631 )
...
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-07-18 15:34:01 -04:00
StAlKeR7779
710dc6b487
Merge branch 'main' into stalker7779/backend_base
2024-07-18 01:08:04 +03:00
Sergey Borisov
2ef3b49a79
Add run cancelling logic to extension manager
2024-07-17 04:39:15 +03:00
Sergey Borisov
3f79467f7b
Ruff format
2024-07-17 04:24:45 +03:00
Sergey Borisov
2c2ec8f0bc
Comments, a bit refactor
2024-07-17 04:20:31 +03:00
Sergey Borisov
79e35bd0d3
Minor fixes
2024-07-17 03:48:37 +03:00
Sergey Borisov
137202b77c
Remove patch_unet logic for now
2024-07-17 03:40:27 +03:00
Sergey Borisov
03e22c257b
Convert conditioning_mode to enum
2024-07-17 03:37:11 +03:00
Sergey Borisov
ae6d4fbc78
Move out _concat_conditionings_for_batch submethods
2024-07-17 03:31:26 +03:00
Sergey Borisov
cd1bc1595a
Rename sequential as private variable
2024-07-17 03:24:11 +03:00
Ryan Dick
f866b49255
Add some ESRGAN and SwinIR upscale models to the starter models list.
2024-07-16 15:55:10 -04:00
Sergey Borisov
b7c6c63005
Added some comments
2024-07-16 22:52:44 +03:00
Ryan Dick
6b0ca88177
Merge branch 'main' into ryan/spandrel-upscale-tiling
2024-07-16 15:40:14 -04:00
Ryan Dick
81991e072b
Merge branch 'main' into ryan/spandrel-upscale
2024-07-16 15:14:08 -04:00
Sergey Borisov
cec345cb5c
Change attention processor apply logic
2024-07-16 20:03:29 +03:00
Sergey Borisov
608cbe3f5c
Separate inputs in denoise context
2024-07-16 19:30:29 +03:00
psychedelicious
7905a46ca4
chore: bump version to 4.2.6post1
2024-07-16 09:09:04 +10:00
psychedelicious
38343917f8
fix(backend): revert non-blocking device transfer
...
In #6490 we enabled non-blocking torch device transfers throughout the model manager's memory management code. When using this torch feature, torch attempts to wait until the tensor transfer has completed before allowing any access to the tensor. Theoretically, that should make this a safe feature to use.
This provides a small performance improvement but causes race conditions in some situations. Specific platforms/systems are affected, and complicated data dependencies can make this unsafe.
- Intermittent black images on MPS devices - reported on discord and #6545 , fixed with special handling in #6549 .
- Intermittent OOMs and black images on a P4000 GPU on Windows - reported in #6613 , fixed in this commit.
On my system, I haven't experience any issues with generation, but targeted testing of non-blocking ops did expose a race condition when moving tensors from CUDA to CPU.
One workaround is to use torch streams with manual sync points. Our application logic is complicated enough that this would be a lot of work and feels ripe for edge cases and missed spots.
Much safer is to fully revert non-locking - which is what this change does.
2024-07-16 08:59:42 +10:00
Sergey Borisov
9f088d1bf5
Multiple small fixes
2024-07-16 00:51:25 +03:00
Sergey Borisov
fd8d1c12d4
Remove 'del' operator overload
2024-07-16 00:43:32 +03:00
Sergey Borisov
d623bd429b
Fix condtionings logic
2024-07-16 00:31:56 +03:00
psychedelicious
5a0c99816c
chore: bump version to v4.2.6
2024-07-15 14:16:31 +10:00
psychedelicious
24bf1ea65a
fix(ui): boards cut off when search open
2024-07-15 14:07:20 +10:00
psychedelicious
28e79c4c5e
chore: ruff
...
Looks like an upstream change to ruff resulted in this file being a violation.
2024-07-15 14:05:04 +10:00
psychedelicious
d7d59d704b
chore: update default workflows
...
- Update all existing defaults
- Add Tiled MultiDiffusion workflow
2024-07-15 14:05:04 +10:00
Riccardo Giovanetti
8539c601e6
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1262 of 1282 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-07-15 11:54:45 +10:00
psychedelicious
5cbe9fafb2
fix(ui): clear selection when deleting last image in board
2024-07-15 08:57:13 +10:00
psychedelicious
3ecd14f394
chore: bump version to 4.2.6rc1
2024-07-13 14:55:21 +10:00
psychedelicious@windows
7c0dfd74a5
fix(api): deleting large images fails
...
This issue is caused by a race condition. When a large image is served to the client, it is done using a streaming `FileResponse`. This concurrently serves the image straight from disk. The file is kept open by FastAPI until the image is fully served.
When a user deletes an image before the file is done serving, the delete fails because the file is still held by FastAPI.
To reproduce the issue:
- Create a very large image (8k reliably creates the issue).
- Create a smaller image, so that the first image in the gallery is not the large image.
- Refresh the app. The small image should be selected.
- Select the large image and immediately delete it. You have to be fast, to delete it before it finishes loading.
- In the terminal, we expect to see an error saying `Failed to delete image file`, and the image does not disappear from the UI.
- After a short wait, once the image has fully loaded, try deleting it again. We expect this to work.
The workaround is to instead serve the image from memory.
Loading the image to memory is very fast, so there is only a tiny window in which we could create the race condition, but it technically could still occur, because FastAPI is asynchronous and handles requests concurrently.
Once we load the image into memory, deletions of that image will work. Then we return a normal `Response` object with the image bytes. This is essentially what `FileResponse` does - except it uses `anyio.open_file`, which is async.
The tradeoff is that the server thread is blocked while opening the file. I think this is a fair tradeoff.
A future enhancement could be to implement soft deletion of images (db is already set up for this), and then clean up deleted image files on startup/shutdown. We could move back to using the async `FileResponse` for best responsiveness in the server without any risk of race conditions.
2024-07-13 14:46:41 +10:00
psychedelicious@windows
2c1a91241e
fix(app): windows indefinite hang while finding port
...
For some reason, I started getting this indefinite hang when the app checks if port 9090 is available. After some fiddling around, I found that adding a timeout resolves the issue.
I confirmed that the util still works by starting the app on 9090, then starting a second instance. The second instance correctly saw 9090 in use and moved to 9091.
2024-07-13 14:46:41 +10:00
Riccardo Giovanetti
84f136e737
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1262 of 1282 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-07-13 08:38:22 +10:00
Sergey Borisov
499e4d4fde
Add preview extension to check logic
2024-07-13 00:45:04 +03:00
Sergey Borisov
e961dd1dec
Remove remains of priority logic
2024-07-13 00:44:21 +03:00
Sergey Borisov
7e00526999
Remove overrides logic for now
2024-07-13 00:28:56 +03:00
Sergey Borisov
3a9dda9177
Renames
2024-07-12 22:44:00 +03:00
Sergey Borisov
bd8ae5d896
Simplify guidance modes
2024-07-12 22:01:37 +03:00
Sergey Borisov
87e96e1be2
Rename modifiers to callbacks, convert order to int, a bit unify injection points
2024-07-12 22:01:05 +03:00
Sergey Borisov
0bc60378d3
A bit rework conditioning convert to unet kwargs
2024-07-12 20:43:32 +03:00
Sergey Borisov
9cc852cf7f
Base code from draft PR
2024-07-12 20:31:26 +03:00
psychedelicious
712cf00a82
fix(app): vae tile size field description
2024-07-12 06:30:27 -07:00
psychedelicious
fb1130c644
fix(ui): do not invalidate image dto cache when deleting image
2024-07-12 14:25:38 +10:00
psychedelicious
0f65a12cf3
fix(ui): handle archived boards like other boards when they are visible, do not reset board selection when autoadd board is hidden
2024-07-12 14:25:38 +10:00
psychedelicious
84abdc5780
fix(ui): prevent cutoff of last board
2024-07-12 14:25:38 +10:00
Ryan Dick
69af099532
Warn on invalid model configs in the DB rather than crashing.
2024-07-11 21:05:55 -04:00
Ryan Dick
0428ce73a9
Add early cancellation to SpandrelImageToImageInvocation.
2024-07-11 15:42:33 -04:00
Alexander Eichhorn
5795617f86
translationBot(ui): update translation (German)
...
Currently translated at 67.0% (859 of 1282 strings)
Co-authored-by: Alexander Eichhorn <pfannkuchensack@einfach-doof.de>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Nathan
b533bc072e
translationBot(ui): update translation (French)
...
Currently translated at 25.2% (322 of 1275 strings)
Co-authored-by: Nathan <bonnemainsnathan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/fr/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Васянатор
d7199c7ca6
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1282 of 1282 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1280 of 1280 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1275 of 1275 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1273 of 1273 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Riccardo Giovanetti
a69284367b
translationBot(ui): update translation (Italian)
...
Currently translated at 98.2% (1260 of 1282 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1260 of 1280 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1255 of 1275 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1253 of 1273 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1245 of 1265 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-07-11 19:23:28 +10:00
Phrixus2023
c4d2fe9c65
translationBot(ui): update translation (Chinese (Simplified))
...
Currently translated at 76.5% (968 of 1265 strings)
Co-authored-by: Phrixus2023 <920414016@qq.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
Hosted Weblate
fe0d56de5c
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-07-11 19:23:28 +10:00
HAL
7aec5624f7
translationBot(ui): update translation (Japanese)
...
Currently translated at 50.4% (636 of 1261 strings)
Co-authored-by: HAL <HALQME@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ja/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
B N
2f3ec41f94
translationBot(ui): update translation (German)
...
Currently translated at 67.3% (849 of 1261 strings)
Co-authored-by: B N <berndnieschalk@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-07-11 19:23:28 +10:00
psychedelicious
de1235c980
chore: bump version to 4.2.6a1
2024-07-11 10:34:53 +10:00
Ryan Dick
d0d2955992
Reduce peak VRAM utilization of SpandrelImageToImageInvocation.
2024-07-10 14:25:19 -04:00
Ryan Dick
d868d5d584
Make SpandrelImageToImage tiling much faster.
2024-07-10 14:25:19 -04:00
Ryan Dick
ab775726b7
Add tiling support to the SpoandrelImageToImage node.
2024-07-10 14:25:19 -04:00
Ryan Dick
650902dc29
Fix broken unit test caused by non-existent model path.
2024-07-10 13:59:17 -04:00
psychedelicious
88c3a71586
fix(ui): fix bug with usePanel
2024-07-10 04:27:24 -07:00
psychedelicious
ec1b429d45
feat(ui): add divider between board search and list
2024-07-10 04:27:24 -07:00
psychedelicious
146e3a3377
feat(ui): tweak board tooltip behaviour
2024-07-10 04:27:24 -07:00
psychedelicious
38622b0d91
feat(ui): board list title verbiage
2024-07-10 04:27:24 -07:00
psychedelicious
7db767b7c3
feat(ui): sticky board list header
2024-07-10 04:27:24 -07:00
psychedelicious
b70e87f25b
feat(ui): tweak add board button style
2024-07-10 04:27:24 -07:00
psychedelicious
fea1ec9085
feat(ui): updated boards resizable panel logic
2024-07-10 04:27:24 -07:00
psychedelicious
2e7a95998c
feat(ui): add support for default size in usePanel
2024-07-10 04:27:24 -07:00
psychedelicious
788f90a7d5
feat(ui): tweak resizehandle styling
2024-07-10 04:27:24 -07:00
psychedelicious
6bf29b20af
fix(ui): fix edge case in panels
...
Not sure why I didn't figure out how to do this before - we only should reset a panel if it's too small.
2024-07-10 04:27:24 -07:00
psychedelicious
8f0edcd4f4
fix(ui): edge cases when deleting, archiving, updating boards
...
Need to handle different cases where the selected or auto-add board is hidden - fall back to uncategorized in these situations.
2024-07-10 04:27:24 -07:00
psychedelicious
a7c44b4a98
feat(ui): rename gallery boards on double click
2024-07-10 04:27:24 -07:00
psychedelicious
48a57f0da8
feat(ui): boards styling
...
- Refine layout
- Update colors - more minimal, fewer shaded boxes
- Add indicator for search icons showing a search term is entered
- Handle new `projectName` and `projectUrl` ui props
2024-07-10 04:27:24 -07:00
psychedelicious
dfd94bbd0b
feat(ui): remove galleryHeader in favor of projectUrl & projectName
2024-07-10 04:27:24 -07:00
chainchompa
2edfb2356d
remove extra boardname
2024-07-10 04:27:24 -07:00
chainchompa
58d2c1557d
prettier
2024-07-10 04:27:24 -07:00
chainchompa
8fdff33cf8
update board header styling, toggle board search, resizing gallery panels
2024-07-10 04:27:24 -07:00
chainchompa
a96e34d2d1
remove collapsibles and update board title
2024-07-10 04:27:24 -07:00
chainchompa
8826adad24
filter out uncategorized when not included in search
2024-07-10 04:27:24 -07:00
chainchompa
cdacf2ecd0
clear out boards search when adding a new board
2024-07-10 04:27:24 -07:00
chainchompa
f193a576a6
move boardname back and make collapsible again
2024-07-10 04:27:24 -07:00
chainchompa
b7ebdca70a
update image and assets tabs styling
2024-07-10 04:27:24 -07:00
Ryan Dick
7b5d4935b4
Merge branch 'main' into ryan/spandrel-upscale
2024-07-09 13:47:11 -04:00
chainchompa
a79e9caab1
Merge branch 'main' into boards-ui-update
2024-07-09 10:00:26 -04:00
psychedelicious
476ebd13ae
feat(ui): add board button tooltip when private boards enabled
2024-07-09 22:51:08 +10:00
psychedelicious
2460689c00
feat(ui): style board name
2024-07-09 22:47:03 +10:00
psychedelicious
781b800ef7
feat(ui): boards lists start collapsed
2024-07-09 22:40:50 +10:00
psychedelicious
d38d513d23
fix(ui): autoadd badge doesn't flex shrink
2024-07-09 22:39:32 +10:00
psychedelicious
80e1b87b9e
fix(ui): autoadd badge hides when editing name
2024-07-09 22:39:17 +10:00
psychedelicious
6014382c7b
feat(ui): select a board when it is created
2024-07-09 22:37:41 +10:00
Ryan Dick
af63c538ed
Demote error log to warning to models treated as having size 0.
2024-07-09 08:35:43 -04:00
psychedelicious
060d698a12
feat(ui): restore image count for boards
2024-07-09 22:19:20 +10:00
psychedelicious
637802d803
fix(ui): restore auto-add indicator
2024-07-09 22:14:21 +10:00
psychedelicious
2faf1e2ed3
fix(ui): show uncategorized board when private boards disabled
2024-07-09 22:02:54 +10:00
psychedelicious
81cf47dd99
feat(ui): boards list layout & style tweaking
2024-07-09 21:58:48 +10:00
chainchompa
907b257984
remove unused file and addressed pr feedback
2024-07-08 23:20:50 -04:00
chainchompa
e2667f957c
prettier
2024-07-08 22:16:31 -04:00
chainchompa
40c3b5e727
generate types again
2024-07-08 22:13:12 -04:00