From bb66ae4e2198d3bd7dec9db8a10221c4d5e9fee3 Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Thu, 10 Sep 2026 20:41:25 -0700 Subject: [PATCH] docs: update library sync documentation --- .../settings_refresh_library_on_open.png | Bin 49729 -> 59096 bytes docs/libraries.md | 63 ++++++++++++++++-- docs/roadmap.md | 22 +++--- docs/stylesheets/extra.css | 1 + docs/usage.md | 22 ++---- 5 files changed, 77 insertions(+), 31 deletions(-) diff --git a/docs/assets/settings_refresh_library_on_open.png b/docs/assets/settings_refresh_library_on_open.png index 931e455ed98b4da0879d4d6806a6e88a0a179a5e..2469cb9ca1a6f8bd9e89285516ee3648ffa9eaa1 100644 GIT binary patch literal 59096 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 GPyP=pz7Mbf diff --git a/docs/libraries.md b/docs/libraries.md index c48545e6..3dc986ee 100644 --- a/docs/libraries.md +++ b/docs/libraries.md @@ -33,13 +33,68 @@ To create or open a [library](libraries.md), go to **File -> Open/Create Library !!! info "Legacy Library Migration" If you open a library created with TagStudio **v9.4.2 or earlier** in **[v9.5.0](changelog.md#950-march-3rd-2025) or later**, you'll be walked through a migration process that converts the old `ts_library.json` save file to the new `ts_library.sqlite` format. The original JSON file is preserved and can be easily deleted from the **View -> Library Information** panel once you're satisfied with the migration. -## :material-database-refresh: Refreshing Directories +## :material-database-sync: Library Syncing -TagStudio automatically scans for new or updated files when opening a library by default. This behavior can be toggled in the settings if your library is very large and/or located on a slow drive. +A TagStudio library gets synced with the files found in your chosen content folders and certain metadata attributes (e.g. stats) found on those files. This is a **non-destructive, read-only** process and none of your content files are moved, modified, or deleted. Syncing is indicated by a temporary progress bar, and you can continue to use TagStudio normally while syncing occurs. -![Settings -> Automatically Load New Files](assets/settings_refresh_library_on_open.png) +Syncing automatically occurs when you open a library by default, and you can manually sync a library at any time by going to **File -> Sync Library** in the menubar to by pressing Ctrl+R (⌘ Command +R on macOS). If you do not wish for your library to be synced when opened, you can disable this behavior in the settings. -To manually refresh your library at any time, use **File -> Refresh Directories** from the menu or by using Ctrl+R (⌘ Command +R on macOS). +
+ ![Settings -> Sync Library on Open](assets/settings_refresh_library_on_open.png) +
+ Settings -> Sync Library on Open +
+
+ +### :material-link-variant: Automatic Relinking + +Unlinked entries are file entries in your TagStudio library that have become "unlinked" from their original file on disk, likely as a result of the original file being renamed, moved, or deleted. TagStudio attempts to automatically relink any of these entries as a part of the syncing process, but there are some scenarios where automatic relinking is not possible or too ambiguous and requires a manual review. Below is a complete table of every scenario in which file entries can become unlinked, and whether or not TagStudio can auto-relink them: + +| Case | File Moved? | File Renamed? | File Modified? | Unlinked Entries | Matched Files | Auto-Relink | +| -------: | :---------: | :-----------: | :------------: | :--------------: | :-----------: | :---------------------------------: | +| **\#0** | _No_ | _No_ | **Yes** | 0 | — | :material-minus-circle:{.lg .gray} | +| **\#1** | — | — | — | 1 | 0 | :material-close-circle:{.lg .red} | +| **\#2** | **Yes** | **Yes** | **Yes** | 1 | 0 | :material-close-circle:{.lg .red} | +| **\#3** | **Yes** | **Yes** | _No_ | 1 | 1 | :material-check-circle:{.lg .green} | +| **\#4** | **Yes** | **Yes** | _No_ | 1 | 2+ | :material-close-circle:{.lg .red} | +| **\#5** | **Yes** | **Yes** | _No_ | 2+ | Any | :material-close-circle:{.lg .red} | +| **\#6** | **Yes** | _No_ | **Yes** | 1 | 1 | :material-check-circle:{.lg .green} | +| **\#7** | **Yes** | _No_ | _No_ | 1 | 1 | :material-check-circle:{.lg .green} | +| **\#8** | **Yes** | _No_ | _No_ | 1 | 2+ | :material-close-circle:{.lg .red} | +| **\#9** | **Yes** | _No_ | _No_ | 2+ | Any | :material-close-circle:{.lg .red} | +| **\#10** | _No_ | **Yes** | **Yes** | 1 | 0 | :material-close-circle:{.lg .red} | +| **\#11** | _No_ | **Yes** | _No_ | 1 | 1 | :material-check-circle:{.lg .green} | +| **\#12** | _No_ | **Yes** | _No_ | 1 | 2+ | :material-close-circle:{.lg .red} | +| **\#13** | _No_ | **Yes** | _No_ | 2+ | Any | :material-close-circle:{.lg .red} | + +#### Explanations + +- **Case \#0**: _Modifying file content alone does not create unlinked entries._ +- **Case \#1**: If the original file was deleted, no matches will be found. TagStudio leaves the decision to delete entries up to the user. +- **Case \#2**: If the original file bears no similarities to the unlinked entry anymore, it is indistinguishable from a deleted or new file. +- **Case \#3**: The file has been moved and renamed with a high degree of confidence. +- **Case \#4**: If more than one file is matched with the same stats, the case is too ambiguous. +- **Case \#5**: If two or more entries share the same stats, it's not clear which entry a matched file belongs to. +- **Case \#6**: The file has been moved and modified, but since no other file shares its filename, it is assumed to be the same file with a decent degree of confidence. +- **Case \#7**: The original file has been moved with a high degree of confidence. +- **Case \#8**: If multiple copies of the same moved file are matched in different locations, the case is ambiguous. +- **Case \#9**: _Similar to **\#5**._ If two or more entries share the same filename and stats, it's not clear which entry a matched file belongs to. +- **Case \#10**: _Same as **\#2**._ +- **Case \#11**: The file has been renamed with a high degree of confidence. +- **Case \#12**: _Same as **\#4**._ +- **Case \#13**: _Same as **\#5**._ + +Every numbered case above assumes the entry has saved file metadata attributes to help match against (added in **v9.7**), in which case the **file modification date** combined with the **file size** is used as a soft file signature to aid in scenarios such as renames or moves. If no file metadata is stored with the file entry, or if this soft file signature doesn't lead to a confident match, TagStudio falls back to matching by filename alone: a single file found with that name is automatically relinked, while zero or multiple filename matches leave the entry unlinked for manual review. + + +!!! warning + There's currently no way to manually specify which remaining unlinked entries should be linked with which files, only to delete the entries from the library. Manual relinking is a high priority feature for future releases. + + +!!! warning "Switching from a Case-Sensitive to Case-Insensitive Filesystem (i.e. Windows)" + If you switch from using TagStudio on a computer with a case-sensitive filesystem to one with a *case-insensitive* one, TagStudio will treat any entries added up to this point with the same filepath + name under case-insensitivity as duplicate entries and merge them. The automatic relinking process will also take case-insensitivity into account when relinking entries. + + Currently, TagStudio only uses this case-insensitivity mode when running on Windows. Future versions will be more precise about this distinction, with the aim of determining the case sensitivity on a per-drive basis. ## :material-database-cog: Library Information Panel diff --git a/docs/roadmap.md b/docs/roadmap.md index 518f44dd..b1a0db97 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -96,7 +96,7 @@ A detailed specification written for the TagStudio tag and/or library format. In - [x] Delete Old Backups **[[v9.5.4](changelog.md#954-september-1st-2025)]** - [x] Delete Legacy JSON File **[[v9.5.4](changelog.md#954-september-1st-2025)]** - [x] Translations -- [ ] Search Bar Rework :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.6.x]** +- [ ] Search Bar Rework :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.7.x]** - [ ] Improved Tag Autocomplete :material-chevron-triple-up:{ .priority-high title="High Priority" } - [ ] Tags appear as widgets in search bar _(similar to new tag search/create bar)_ :material-chevron-triple-up:{ .priority-high title="High Priority" } - [x] Unified Media Player @@ -136,7 +136,7 @@ A detailed specification written for the TagStudio tag and/or library format. In - [x] Theme - [x] Thumbnail Generation **[[v9.5.4](changelog.md#954-september-1st-2025)]** - [x] Configurable Page Size -- [ ] Library Settings :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.6.x]** +- [ ] Library Settings :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.7.x]** - [ ] Stored in `.TagStudio` folder :material-chevron-triple-up:{ .priority-high title="High Priority" } - [ ] Toggle File Extension Label :material-chevron-double-up:{ .priority-med title="Medium Priority" } - [ ] Toggle Duration Label :material-chevron-double-up:{ .priority-med title="Medium Priority" } @@ -149,13 +149,13 @@ A detailed specification written for the TagStudio tag and/or library format. In - [x] Per-Library Tags - [ ] Global Tags :material-chevron-double-up:{ .priority-med title="Medium Priority" } **[v9.8.x]** -- [ ] Multiple Root Directories :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.6.x]** - - [ ] Ability to store TagStudio data folder separate from library content folder(s) :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.6.x]** -- [ ] Automatic Entry Relinking :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.8.x]** - - [ ] Detect Renames :material-chevron-triple-up:{ .priority-high title="High Priority" } - - [ ] Detect Moves :material-chevron-triple-up:{ .priority-high title="High Priority" } - - [ ] Detect Deletions :material-chevron-triple-up:{ .priority-high title="High Priority" } - - [ ] Performant :material-chevron-triple-up:{ .priority-high title="High Priority" } +- [ ] Multiple Root Directories :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.7.x]** + - [ ] Ability to store TagStudio data folder separate from library content folder(s) :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.7.x]** +- [x] Automatic Entry Relinking :material-chevron-triple-up:{ .priority-high title="High Priority" } **[v9.7.0]** + - [x] Detect Renames :material-chevron-triple-up:{ .priority-high title="High Priority" } + - [x] Detect Moves :material-chevron-triple-up:{ .priority-high title="High Priority" } + - [ ] Some way to safely handle unlinked entries presumed to be from deleted files automatically (deleted after X days?) :material-chevron-double-up:{ .priority-med title="Medium Priority" } + - [x] Performant :material-chevron-triple-up:{ .priority-high title="High Priority" } - [ ] Background File Scanning :material-chevron-triple-up:{ .priority-high title="High Priority" } - [x] Thumbnail Caching **[[v9.5.0](changelog.md#950-march-3rd-2025)]** - [ ] Audio Waveform Caching :material-chevron-double-up:{ .priority-med title="Medium Priority" } **[v9.7.x]** @@ -166,7 +166,7 @@ A detailed specification written for the TagStudio tag and/or library format. In File or file-like [entries](entries.md) stored in the library. - [x] File Entries **[v1.0.0]** -- [ ] URL Entries / Bookmarks :material-chevron-up:{ .priority-low title="Low Priority" } **[v9.6.x]** +- [ ] URL Entries / Bookmarks :material-chevron-up:{ .priority-low title="Low Priority" } **[v9.8.x]** - [x] Fields - [x] Text Lines - [x] Text Boxes @@ -267,7 +267,7 @@ Discrete library objects representing [attributes]( Open/Create Library** in the menu bar or use Ctrl+O (⌘ Command +O on macOS) and chose a folder with file contents you'd like to use as a TagStudio library. If a `.TagStudio` folder doesn't already exist inside the directory, TagStudio will create one and automatically scan the folder for files to include. Otherwise, the pre-existing library is opened. -### :material-database-refresh: Refreshing Directories +### :material-database-sync: Library Syncing -TagStudio automatically scans for new or updated files when opening a library by default. Manually refresh by going to **File -> Refresh Directories** in the menu or by using Ctrl+R (⌘ Command +R on macOS). +A TagStudio library gets synced with the files found in your content folders. This is a **non-destructive, read-only** process and none of your files are moved, modified, or deleted. Syncing is indicated by a temporary progress bar, and you can continue to use TagStudio normally while syncing occurs. + +### :material-link-variant: Automatic Relinking + +Files that become moved, renamed, or modified will try to be automatically relinked during syncing. If a file cannot be found or a match cannot be safely made, it will stay unlinked until the entries are manually deleted under "Fix Unlinked Entries". _Manual relinking is a high priority feature for future versions._ !!! abstract "TagStudio Libraries" @@ -115,20 +119,6 @@ Creating and adding fields to entries is extremely similar to how [tagging](#tag --- -## Relinking Moved Files - -Inevitably some of the files inside your library will be renamed, moved, or deleted. If a file has been renamed or moved, TagStudio will display the thumbnail as a red broken chain link. To relink moved files or delete these entries, select the "Manage Unlinked Entries" option under the Tools menu. Click the "Refresh" button to scan your library for unlinked entries. Once complete, you can attempt to "Search & Relink" any unlinked file entries to their respective files, or "Delete Unlinked Entries" in the event the original files have been deleted and you no longer wish to keep their entries inside your library. - - -!!! warning - There is currently no method to relink entries to files that have been renamed - only moved or deleted. This is a high priority for future releases. - - -!!! warning - If multiple matches for a moved file are found (matches are currently defined as files with a matching filename as the original), TagStudio will currently ignore the match groups. Adding a GUI for manual selection, as well as smarter automated relinking, are high priorities for future versions. - ---- - ## Launch Arguments There are a handful of launch arguments you can pass to TagStudio via the command line or a desktop shortcut.