Commit Graph

143 Commits (0e0b607cfaabf59167e3ab2a44d491b4e4e1b08e)

Author SHA1 Message Date
awsr 2fae55a7f9
Initial thumbnail cache clearing setup 2026-01-21 05:38:24 -08:00
awsr a344a13863
Move AbortController reset to function 2026-01-21 05:31:37 -08:00
vladmandic 7664d7ea88 lint js
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 10:11:31 +01:00
Ryan Meador 300bc31de7 address PR feedback 2026-01-19 21:04:04 -05:00
Ryan Meador a38e5af3b3 add selection indicator to gallery view 2026-01-19 14:27:35 -05:00
Ryan Meador 383898eae7 fix gallery modal next/prev button navigation 2026-01-19 14:27:35 -05:00
CalamitousFelicitousness c07eddb58d fix(ui): improve gallery sorting and IndexedDB operations
- Enhance gallery sorting functionality
- Update IndexedDB operations for better reliability
2026-01-18 04:03:19 +00:00
CalamitousFelicitousness 761ea1c327 feat(settings): add base path support for output folders
Change "Images folder" and "Grids folder" settings to act as base paths
that combine with specific folder settings, rather than replacing them.

- Add resolve_output_path() helper function to modules/paths.py
- Update all output path usages to use combined base + specific paths
- Update gallery API to return resolved paths with display labels
- Update gallery UI to show short labels with full path on hover

Example: If base is "C:\Database\" and specific is "outputs/text",
the resolved path becomes "C:\Database\outputs\text"

Edge cases handled:
- Empty base path: uses specific path directly (backward compatible)
- Absolute specific path: ignores base path
- Empty specific path: uses base path only
2026-01-16 16:24:05 +00:00
awsr 33e15a809c
Linting and rebase 2026-01-04 00:39:58 -08:00
awsr c0b0a62512
Revert conversion to static class
It's probably fine if keeping the instance creation next to the class definition as long as it doesn't get moved to earlier in the file.
2026-01-04 00:37:44 -08:00
awsr e8c1bcb766
Move SimpleProgressBar into `gallery.js`
Converted to using static class elements since it's only being used here.
2026-01-04 00:37:43 -08:00
awsr e0b70ba0c6
Simplify and lint 2026-01-04 00:37:43 -08:00
awsr 2bd1086850
Implement SimpleProgressBar class 2026-01-04 00:37:43 -08:00
awsr b6f7d92fa0
Additional AbortSignal checks 2026-01-04 00:37:43 -08:00
awsr 455bc4356e
Linting / regex cleanup 2026-01-03 18:43:10 -08:00
awsr 6d4b79659e
Linting 2026-01-02 18:47:46 -08:00
awsr 5acbab5e61
Upgrade to ESLint 9
- Upgraded to new plugins for other languages
- Added markdown linting
- Added `extensions-builtin` to `globalIgnores`
- *Disabled CSS and HTML linters for now*
- Updated rules that were migrated from eslint to stylistic
- Updated VSCode settings to work with new linting features
- Updated a few rules to have better defaults instead of disabling them
2026-01-02 18:47:46 -08:00
awsr 9d8119b6ab
Fix/update browser cache behavior
It was partially ignoring the setting and writing to cache anyway.
2025-12-09 19:23:16 -08:00
awsr e1c05b0e91
Improve standard theme compatibility 2025-12-04 04:56:59 -08:00
awsr a322186650
Improve rendering on non-modern UI 2025-12-04 04:18:31 -08:00
awsr 6cff06eafe
Improve layout of gallery status info 2025-12-04 03:58:50 -08:00
awsr 489db27210
Fix GalleryFolder rendering for long paths 2025-12-04 03:56:56 -08:00
awsr 78e8bff46f
Reposition setting `lastSortName`
Makes more sense to use the provided catch-all that's part of switch...case
2025-12-04 03:24:11 -08:00
awsr 28144d83e4
Better rendering of long path names 2025-12-03 21:16:38 -08:00
awsr 955759a4cd Set minimum display time for message 2025-12-02 19:26:30 -08:00
awsr c771b82ad9 Improve look of cleanup overlay 2025-12-02 17:55:59 -08:00
awsr 2c288b651a Remove need for timeout failsafe
All the failure routes should either:
- Get far enough along to not leave checked values unable to reach the finished state...
- or all be tied into the same AbortController so everything aborts together.

... I think...
2025-12-02 16:29:20 -08:00
awsr 75dc851d1c Fix incorrect syntax 2025-12-01 17:49:00 -08:00
awsr e1febfd92c Logging adjustment 2025-12-01 16:45:23 -08:00
awsr 9ae7c1a7c7 Generalize the SimpleFunctionQueue class 2025-12-01 16:20:23 -08:00
awsr 766aa6c728 Change from ternary to make things easier to read 2025-12-01 15:55:40 -08:00
awsr 8fa791a22f Remove extra parentheses
Looks like they snuck in when refactoring to inline declaration.
2025-12-01 05:26:06 -08:00
awsr 6cab50e584 Overhaul custom element styling
Large performance improvement due to only needing a single style source instead of creating and parsing thousands of style elements.
2025-12-01 05:18:23 -08:00
awsr 35cd563c7d Minor rename and logic adjustment
Only add to the hashes Set when guard is in place.
2025-11-30 22:59:26 -08:00
awsr b25cf56181 Rename and remove redundant logic 2025-11-30 22:05:14 -08:00
awsr 143558df4b Fix typo and missing return 2025-11-30 22:02:03 -08:00
awsr a1f6611da2 Fix typo and change log level 2025-11-30 21:57:59 -08:00
awsr d458ff1073 Change timeout handling to act as just a failsafe 2025-11-30 21:57:45 -08:00
awsr b4e5db478f
Merge updated gallery maintenance system (#3)
* Add eslint rule for class members
* Finalize gallery maintenance system
  - Adds a simple function queue in lieu of the Web Locks API in order to work in the (probably unlikely) event that SD.Next is accessed over regular HTTP but not from localhost.
  - Removes overlay message progress update since it's incompatible with the new method.
2025-11-30 21:27:56 -08:00
awsr c3986172d5 Don't run on error 2025-11-29 01:09:43 -08:00
awsr eb4f4c683c Improve error handling 2025-11-28 14:26:03 -08:00
awsr 9ceed935ce Naming changes and additional check 2025-11-28 13:21:24 -08:00
awsr 8bf7fb50ed Restore accidental line deletion 2025-11-27 20:27:47 -08:00
awsr 8197cbefaa Update names/info and ensure folder is string 2025-11-27 18:34:11 -08:00
awsr d7ddc953b9 Switch to folder-based database cleanup 2025-11-26 22:13:58 -08:00
awsr 691339773e
[hotfix] Fix cache clearing when switching folders (#4421)
* Update submodules

* Revert "Update submodules"

This reverts commit 1679ddeeea.

* Fix cache clearing when switching folders

This is more of a temporary hotfix since it will affect switching between gallery folders quickly and it'll kick off when viewing small folders.
2025-11-25 09:58:45 -05:00
awsr 8cceb12085
Minor margin adjustments
Makes it less likely for elements to overflow on mobile UI.
2025-11-24 18:34:02 -08:00
vladmandic d89ccf5ba8 linting
Signed-off-by: vladmandic <mandic00@live.com>
2025-11-23 13:23:16 -05:00
awsr 412d857e73 Minor code layout adjustment 2025-11-22 16:18:37 -08:00
awsr 1b4bdda3a2 Add function documentation 2025-11-22 15:53:13 -08:00
awsr 538cad1aad Simplify init
- Doesn't need advanced handling anymore because the overlay is now fully dynamic.
2025-11-22 15:15:41 -08:00
awsr 7caba3287f Reorganize functions for readability 2025-11-22 15:11:46 -08:00
awsr 43de9f98e3 Improve overlay function
- Rename variables to be more descriptive.
- Change run threshold to 500.
- Make overlay fully dynamic.
2025-11-22 15:09:07 -08:00
awsr b476a31e71 Update error handling and logging 2025-11-22 14:34:12 -08:00
awsr cfae4a5f1f Show blocking overlay when running cleanup 2025-11-22 05:19:15 -08:00
awsr 6f15a04fe0 Simpler method for getting key count 2025-11-21 05:29:48 -08:00
awsr f2eddd7f7d Changed threshold to 100 entries before cleanup 2025-11-21 05:00:19 -08:00
awsr 2f9cf121bc Remove old entries from gallery cache
Removes excess thumbnail data when the IndexedDB has at least 200 more entries than is loaded by the gallery.
2025-11-21 04:58:21 -08:00
Vladimir Mandic 8fb037d4d4 wrap all internal api calls with auth check and use token when possible
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-11-11 18:13:47 -05:00
Vladimir Mandic 28ad5bb0c3 image download use real filename
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-08-12 08:15:29 -04:00
Vladimir Mandic 895c7f41fb gallery bypass thumb cache and safer delete ops
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-08-04 15:53:43 -04:00
Vladimir Mandic 8ec16d5b8c update modernui
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-28 13:47:13 -04:00
Vladimir Mandic 1c6bb03446 gallery post merge
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-26 09:48:53 -04:00
CalamitousFelicitousness 6a18f2f502
Update gallery.js
* Collapse by default except for the first separator (I can't fix that initial "flash" of images before the separators)
  * Fix for files which appear after separator is created and closed not respecting being hidden, so it hides the files for the second time once all files are processed
* Session state memory for separators
* Dynamic file counters
  * Filter to only include image/video outputs in the file count (currently counted txt jsons etc.)
* Sort/no sort mode indicator
* Small quick animations of the arrows "opening and closing"
* Hover effects and integration with style so they work with themes
* Some spacing fixes
* Separator name overflow truncation with ellipsis
* Improved search
  * Automatically collapses separators with 0 hits and open up separators with hits, restores everything back upon clearing the search
  * File counters automatically updating to show how many files were found in each separator has been removed, left in a stub to see if I can still implement it
2025-07-25 17:20:33 +01:00
Vladimir Mandic aed0086cb7 update styles and add simple gallery separator click option
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-24 12:48:03 -04:00
Vladimir Mandic 41269b05c0 handle startup errors
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-22 10:19:30 -04:00
Vladimir Mandic 36c356785e modernui updates
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-07-22 10:07:17 -04:00
Vladimir Mandic 6c3f0dd43b add `SD_SAVE_DEBUG` env variable
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-06-25 11:23:39 -04:00
Vladimir Mandic b650618b27 fix params.txt
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-06-25 09:11:17 -04:00
Vladimir Mandic 98a11fc86c fix gallery duplicate entries
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-05-30 11:04:56 +02:00
Disty0 dca11dd806 Add jxl to image extension lists 2025-05-01 16:02:50 +03:00
Vladimir Mandic 60a7549614 configurable card sizes
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-02-17 12:04:34 -05:00
Vladimir Mandic dbf20d1388 api refactor: force access control and handle subpaths
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-02-14 11:27:21 -05:00
Vladimir Mandic 6b225d0bc2 gallery add http fallback
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-01-16 11:00:23 -05:00
Vladimir Mandic 1bc4229fdf increase gallery timeouts
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-01-16 10:31:46 -05:00
Vladimir Mandic 19aac2d3c5 css optimizations
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2024-12-27 14:55:16 -05:00
Vladimir Mandic 8a1eaedc82 browser to server logging
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2024-11-23 10:47:06 -05:00
Vladimir Mandic 9a46d381cc cleanups
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2024-10-01 20:02:21 -04:00
Vladimir Mandic 0a05826724 fix gallery sort 2024-08-30 14:03:15 -04:00
Vladimir Mandic d9ab46218b fix gallery mtime display 2024-05-29 09:00:31 -04:00
Vladimir Mandic 0b7a685a55 skip gallery hashing/caching for mobile 2024-04-30 01:14:50 -04:00
Yoink3000 ab218fa9c8 fix path handling for gallery preview 2024-04-19 02:05:39 +08:00
Vladimir Mandic ef8f822736 minor gallery fix 2024-04-07 12:39:23 -04:00
Vladimir Mandic 9d04255b54 reorganize js callbacks and startup sequence 2024-04-04 18:26:51 -04:00
Vladimir Mandic db11bc59d1 gallery optimizations 2024-03-26 09:02:30 -04:00
Vladimir Mandic fb5ef75f5a gallery video support 2024-03-24 13:18:39 -04:00
Vladimir Mandic 0862b80377 gallery improve sort and separators 2024-03-24 11:11:23 -04:00
Vladimir Mandic b33e4d0a6a gallery urlencode/decode filenames 2024-03-24 09:40:13 -04:00
Vladimir Mandic b2236b6f98 fix gallery sort 2024-03-23 16:35:27 -04:00
Vladimir Mandic dc9c60e174 gallery optimizations 2024-03-23 14:46:55 -04:00
Vladimir Mandic 91d4988d3a cleanup gallery 2024-03-21 16:16:39 -04:00
Vladimir Mandic 72a1dd0ac4 add image gallery 2024-03-21 16:16:39 -04:00
Vladimir Mandic 1a27871c70 initial version of native gallery 2024-03-21 16:16:39 -04:00