Travis Abendshien
dcf564e8c3
fix: add loop cutoff to get_tag_categories() ( #1075 )
2025-08-31 14:00:39 -07:00
Travis Abendshien
9891caca35
fix: set generate_thumbs default to true
2025-08-30 15:34:52 -07:00
Xarvex
131c5df86b
fix(nix/package): ignore mutating test files, add new problematic tests
2025-08-30 12:16:50 -05:00
Travis Abendshien
d8b058ac5a
docs: update launch arguments
2025-08-29 17:40:32 -07:00
Travis Abendshien
a9bdd93c64
docs: update roadmap
2025-08-29 17:29:13 -07:00
Xarvex
2926b91980
chore(thumbs): prepare for pillow_heif removing AVIF support ( #1065 )
...
* fix(thumb_renderer): prepare for pillow_heif removing AVIF support
* fix(nix/package): add pillow-avif-plugin
2025-08-29 17:05:40 -07:00
Travis Abendshien
8e1ae81ec9
feat: replace extension exclusion system with .ts_ignore ( #1046 )
...
* feat: replace extension exclusion with ts_ignore
2025-08-29 14:25:54 -07:00
Weblate (bot)
44c7d223ff
fix(translations): update Portuguese keys ( #1069 )
...
Currently translated at 80.5% (270 of 335 strings)
Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/pt/
Translation: TagStudio/Strings
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
2025-08-29 14:03:03 -07:00
Travis Abendshien
3f9aa87ab6
feat(ui): add LibraryInfoWindow with statistics ( #1056 )
2025-08-29 13:54:42 -07:00
Weblate (bot)
2583a76f56
translations: update from Hosted Weblate ( #1066 )
...
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (329 of 329 strings)
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Strings
* Translated using Weblate (Spanish)
Currently translated at 99.6% (327 of 328 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Joan <joancanalscrehuet@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/es/
Translation: TagStudio/Strings
* Translated using Weblate (French)
Currently translated at 100.0% (329 of 329 strings)
Translated using Weblate (French)
Currently translated at 100.0% (328 of 328 strings)
Co-authored-by: Bamowen <mathieu.monsauret@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Strings
---------
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com >
Co-authored-by: Joan <joancanalscrehuet@gmail.com >
Co-authored-by: Bamowen <mathieu.monsauret@gmail.com >
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com >
2025-08-29 13:51:53 -07:00
TheBobBobs
d8919ab283
perf: optimize db queries for preview panel ( #942 )
...
* perf: optimize mapping of category->tags
* perf: one less db call for Library.tag_display_name
* fix: include joins in Library.get_tag_hierarchy
* fix: remove category if empty in preview panel
* fix: add missing imports and remove unneeded dict
* fix: add tags that are categories to their own category
* fix: flip parent_id/child_id in get_tag_hierarchy
* fix: prevent trying to save duplicate TagParents
2025-08-29 13:42:15 -07:00
TheBobBobs
08d0ba4eee
perf: optimize sql for or queries ( #948 )
2025-08-28 16:57:10 -07:00
Jann Stute
e551359845
refactor: unwrap instead of assert not None ( #1068 )
...
* refactor: unwrap instead of assert not None
* fix: address review feedback
2025-08-28 13:27:49 -07:00
Travis Abendshien
12e074b71d
refactor: store DB version inside versions table ( #1058 )
...
* refactor: store DB version inside `versions` table
* tests: update search_library db file
* chore: add copyright info to library constants.py
* fix: only backup db if loaded version is lower
* chore: mark Preferences as @deprecated
2025-08-28 12:58:51 -07:00
Travis Abendshien
4704b92804
ci(tests): fix broken tests and add type hints ( #1062 )
...
* ci: expand pyright ignore rules to vendored and tests
* tests: comment out unused Mocks for further evaluation
* tests: fix broken tests, add type hints
* chore: address type feedback
* chore: remove unused qtbot parameter
2025-08-27 04:33:38 -07:00
Travis Abendshien
3a0da4699a
fix: swap parent and child logic for TAG_CHILDREN_QUERY ( #1064 )
2025-08-27 03:19:19 -07:00
TheBobBobs
3125a995a7
refactor: make cache_manager thread safe ( #1039 )
...
* refactor: make cache_manager thread safe
* fix: move CacheManager to ts_qt
* fix: handle unexpected files in thumbnail cache
* perf(cache): reduce folder checks by tracking recently used folders
---------
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
2025-08-26 19:10:50 -07:00
Eric
5dfcc36d70
feat: add thumbnail generation toggle ( #1057 )
2025-08-26 18:51:36 -07:00
Xarvex
eb2887e871
fix(pyproject): remove extraPaths intended for external libraries
...
This also resolves issues in editors using the wrong paths for
completion and reporting missing type stubs.
2025-08-25 22:55:49 -05:00
HeikoWasTaken
02a56892e6
feat: add version argument ( #1060 )
...
Co-authored-by: heiko <heiko_was_taken@protonmail.com >
2025-08-25 22:32:51 -05:00
Travis Abendshien
3489e159a5
docs: update roadmap
2025-08-25 12:01:59 -07:00
purpletennisball
6c257f9671
fix: folders with names of unlinked entries are linked ( #1027 )
...
* fix: render folder entries as unlinked
* fix: hide file size for linked folders
* fix: linked folders can be revealed in explorer
* fix: linked folders can be opened
* fix: linked folders can be deleted
* fix: skip rendering thumbnails in `ThumbRenderer._render`
* fix: skip getting image metadata for folders
* fix: conflicts
* style: ruff
2025-08-25 11:39:21 -07:00
Weblate (bot)
acba9c3c33
translations: update from Hosted Weblate ( #1026 )
...
* Translated using Weblate (Russian)
Currently translated at 100.0% (325 of 325 strings)
Co-authored-by: Dott-rus <antonamelin8@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ru/
Translation: TagStudio/Strings
* Translated using Weblate (Romanian)
Currently translated at 10.7% (35 of 327 strings)
Added translation using Weblate (Romanian)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: VLTNO <gfree6311@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ro/
Translation: TagStudio/Strings
* Translated using Weblate (Japanese)
Currently translated at 100.0% (325 of 325 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/ja/
Translation: TagStudio/Strings
* Translated using Weblate (Portuguese)
Currently translated at 83.0% (270 of 325 strings)
Translated using Weblate (Portuguese)
Currently translated at 83.0% (270 of 325 strings)
Translated using Weblate (Portuguese)
Currently translated at 83.0% (270 of 325 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
Co-authored-by: ssantos <ssantos@web.de >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/pt/
Translation: TagStudio/Strings
* Translated using Weblate (Hungarian)
Currently translated at 100.0% (328 of 328 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (325 of 325 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/hu/
Translation: TagStudio/Strings
* Translated using Weblate (Polish)
Currently translated at 93.4% (302 of 323 strings)
Co-authored-by: Feather <featherprinceyt@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/pl/
Translation: TagStudio/Strings
* Translated using Weblate (French)
Currently translated at 100.0% (328 of 328 strings)
Translated using Weblate (French)
Currently translated at 100.0% (325 of 325 strings)
Translated using Weblate (French)
Currently translated at 100.0% (325 of 325 strings)
Co-authored-by: Bamowen <mathieu.monsauret@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/fr/
Translation: TagStudio/Strings
* Translated using Weblate (Swedish)
Currently translated at 29.5% (96 of 325 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: skrap konto <skrap.kontot.4@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/sv/
Translation: TagStudio/Strings
* Update translation files
Updated by "Squash Git commits" add-on in Weblate.
Translation: TagStudio/Strings
Translate-URL: https://hosted.weblate.org/projects/tagstudio/strings/
---------
Co-authored-by: Dott-rus <antonamelin8@gmail.com >
Co-authored-by: VLTNO <gfree6311@gmail.com >
Co-authored-by: wany-oh <wany-oh@users.noreply.hosted.weblate.org >
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
Co-authored-by: ssantos <ssantos@web.de >
Co-authored-by: Szíjártó Levente Pál <szijartoleventepal@gmail.com >
Co-authored-by: Feather <featherprinceyt@gmail.com >
Co-authored-by: Bamowen <mathieu.monsauret@gmail.com >
Co-authored-by: Med <45147847+kitsumed@users.noreply.github.com >
Co-authored-by: skrap konto <skrap.kontot.4@gmail.com >
2025-08-25 11:20:52 -07:00
Xarvex
899c534467
fix(nix): fixup and rework, always use nixpkgs PySide/Qt ( #1048 )
2025-08-24 18:08:14 -05:00
Travis Abendshien
74383e3c3c
feat: swap IDs in tag_parents table; bump DB to v100
...
commit c1346e7df36b137cf88be284a96329fee9605a6a
Author: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
Date: Sat Aug 23 18:04:58 2025 -0700
docs: update DB v100 with tag_parents flip
commit 7e5d9381759b000533c809df9d9bc4f9d984e363
Author: HeikoWasTaken <heikowastaken@protonmail.com >
Date: Sun Aug 24 00:31:21 2025 +0100
fix: swap IDs in parent_tags DB table (#998 )
* fix: reorder child and parent IDs in TagParent constructor call
* feat: add db10 migration
* fix: SQL query returning parent IDs instead of children IDs
* fix: stop assigning child tags as parents
* fix: select and remove parent tags, instead of child tags
* test/fix: correctly reorder child/parent args in broken test
* fix: migrate json subtags as parent tags, instead of child tags (I see where it went wrong now lol)
* fix: query parent tags instead of children
* refactor: scooching this down below db9 migrations
* test: add DB10 migration test
---------
Co-authored-by: heiko <heiko_was_taken@protonmail.com >
commit 1ce02699ad9798800f9d98832b2a6377e3d79ed4
Author: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
Date: Sat Aug 23 14:47:39 2025 -0700
feat: add db minor versioning, bump to 100
2025-08-23 18:17:19 -07:00
TheBobBobs
660a87bb94
feat: add random sorting ( #1029 )
...
* feat: add random sorting
* fix: improve randomness of random sort
2025-08-23 13:42:36 -07:00
Travis Abendshien
89cf2b22e4
fix(ui): fix vector previews not rendering
2025-08-22 15:33:58 -07:00
Travis Abendshien
133092cd05
fix(ui): fix clear square behind ignored icon
2025-08-21 17:31:26 -07:00
Travis Abendshien
94ac83768a
docs: add sidebar icon for ignore page
2025-08-21 16:13:20 -07:00
Travis Abendshien
61ca3cb32a
feat(ui): add exr thumbnail support ( #1035 )
2025-08-21 15:51:30 -07:00
Travis Abendshien
0e7a2dfd3d
feat: add .ts_ignore pattern ignoring system ( #897 )
...
* feat: add `.ts_ignore` pattern ignoring system
* fix: add wcmatch dependency
* search: add ".TemporaryItems" to GLOBAL_IGNORE
* add `desktop.ini` and `.localized` to global ignore
* add ".fhdx" and ".ts" filetypes
* chore: remove logging statement
* chore: format with ruff
* feat: use ripgrep for scanning if available
* docs: add ignore.md
* search: remove ts_ignore filtering on queries
* feat: detect if files are added but ignored
* fix: render edges on all unlinked thumbs
* perf: don't search for cached unlinked thumbs
* fix(ui): ensure newlines in file stats
* fix: use ignore_to_glob for wcmatch
* fix(tests): remove inconsistent test
The test hinged on the timing of refresh_dir()'s yield's rather than actual values
* ui: change ignored icon and color
2025-08-21 15:50:59 -07:00
Travis Abendshien
d00546d5fe
docs(roadmap): add infinite scrolling to roadmap
2025-08-19 17:33:44 -07:00
Travis Abendshien
969b1674f0
fix(search): pass current BrowsingState to from_tag_id() ( #1038 )
...
* fix(search): pass current BrowsingState to from_tag_id()
* chore: fix docstring
* fix: use existing query to build tag_id query
Co-authored-by: Jann Stute <46534683+Computerdores@users.noreply.github.com >
---------
Co-authored-by: Jann Stute <46534683+Computerdores@users.noreply.github.com >
2025-08-19 12:58:09 -07:00
Travis Abendshien
00001bbf0b
docs: update header style for mobile
2025-08-18 08:26:41 -07:00
Travis Abendshien
df064ad104
feat: add missing raw image, text, and audio types
2025-08-17 16:57:20 -07:00
Travis Abendshien
31d205a869
docs: update home page
2025-08-17 16:55:06 -07:00
Travis Abendshien
a55d9a6a67
docs: add preview support section to library page
2025-08-17 16:54:10 -07:00
Travis Abendshien
2c5c98c86c
docs: update formatting of schema_changes page
2025-08-16 09:37:21 -07:00
Travis Abendshien
8cef5e5749
docs: change accent color to "purple"
2025-08-16 09:04:17 -07:00
Travis Abendshien
32a2b47c4c
docs: remove minimal/unfinished pages
2025-08-15 20:45:04 -07:00
Travis Abendshien
7a44ef156d
docs: add icons to sidebar and titles
2025-08-15 20:33:32 -07:00
Travis Abendshien
f2454c4a9a
docs: rework roadmap ( #1023 )
...
* docs: rework core features
* docs: rework tag features
* docs: rework library features
* docs: rework search features
* docs: rework application features
* docs: rework macro features
* refactor(docs): remove card formatting for roadmap
* docs: roadmap tweaks
2025-08-12 11:53:26 -07:00
Jann Stute
537ecb2a55
fix: add tag to selected entries in bulk not individually ( #1028 )
2025-08-11 12:08:52 -07:00
Travis Abendshien
62f1b7ca55
ci: bump windows runner image to 2022
v9.5.3
2025-08-07 19:46:29 -07:00
Travis Abendshien
8aec8ca11a
chore: bump version to v9.5.3
2025-08-07 18:45:02 -07:00
Travis Abendshien
c235d4f727
ui: tweak media player style and behavior ( #1025 )
...
* ui: tweak media player style and behavior
* ui: change player overlay to gradient
* ui: add slight outline to player bar
* feat: realtime playback seeking
* fix(ui): click to jump to unbuffered media
* chore: organize imports
* refactor: remove unused code
2025-08-07 14:23:20 -07:00
Travis Abendshien
78e29a9a69
fix(ui): show correct thumb labels ( #1010 )
...
* fix(ui): show correct thumb labels
* fix(ui): use timestamp cutoff for thumb filename and ext
2025-08-07 12:33:38 -07:00
Trigam
c71032ff51
feat(ui): clickable links in text fields ( #924 )
...
* feat: links in text fields are clickable
* style: fix linting errors
* style: remove unnecessary comment
* feat: better url pattern
* chore: disable Ruff error
* style: add trailing line
* style: maybe format it? that'd be smart
* ui: chance text_label from RichText to Markdown
---------
Co-authored-by: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com >
2025-08-07 12:29:09 -07:00
Travis Abendshien
77cfa697fc
fix: use srctools instead of vtf2img for vtf files ( #1014 )
2025-08-06 18:34:12 -07:00
Travis Abendshien
89fc8a7280
fix(docs): load non-local fonts
2025-08-06 13:40:20 -07:00