wrolpi/alembic/versions
lrnselfreliance 0dd61b8e64
Strip whitespace from Tag names (#876)
* Tag names have leading and trailing whitespace stripped

A padded name now finds the existing Tag instead of creating a
near-duplicate, and a whitespace-only name is rejected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Migration strips whitespace from Tag names and merges collisions

Tags whose names match once stripped are merged (tagged files, Zim
entries, Collections); the first color by id is kept.  Downloads and the
configs that name Tags are rewritten too, so the next import is in step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* tags.yaml keeps the database's color for merged Tags

The file was merged in sorted key order, not by Tag id, and the next
import copies the file's color over the database's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:22:16 -06:00
..
2026_07_10_1350_sqlite_baseline.py Postgres -> SQLite hard cutover: the database moves into the media directory. 2026-07-12 14:09:37 -06:00
2026_07_14_0900_browse_covering_index.py SQLite: make the browse pages index-only. 2026-07-14 07:46:29 -06:00
2026_09_16_1200_file_group_stem.py files: SQL FileGroup compare, stem column, drop unused discovery path (#713) 2026-09-18 08:57:56 -06:00
2026_09_18_1200_unique_directory_stem.py files: unique (directory, stem) after collapsing duplicate FileGroups (#715) 2026-09-19 21:03:49 -06:00
2026_09_20_1200_drop_file_group_idempotency.py files: extract refresh compare into its own module; drop file_group.idempotency (#717) 2026-09-20 20:58:19 -06:00
2026_09_27_1200_domain_collection_summary.py collections: channel and domain listings read trigger-maintained summary columns (#739) 2026-09-27 11:36:08 -06:00
2026_09_28_1200_collection_listing_indexes.py collections: listing answers channel and download queries from covering indexes (#740) 2026-09-27 12:53:40 -06:00
2026_10_05_1200_markdown_mimetype.py Preview markdown files formatted, with a raw toggle (#780) 2026-10-05 13:26:42 -06:00
2026_10_06_1200_repository.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
2026_10_06_1300_repository_search.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
2026_10_06_1400_repository_submodules.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
2026_10_06_1500_repository_clone_token.py Add a Repos module that mirrors git repositories (#783) 2026-10-07 15:16:58 -06:00
2026_10_08_1200_file_group_progress.py Track how far the user is through a file, kept in recently_viewed.yaml (#787) 2026-10-08 16:15:25 -06:00
2026_10_24_1200_config_version.py Database configs carry a version the database keeps too (#866) 2026-10-24 14:58:18 -06:00
2026_10_25_1200_strip_tag_names.py Strip whitespace from Tag names (#876) 2026-10-25 16:22:16 -06:00