fix(tags): normalise leading hashes in tag names (#1317) #1351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #1317 — typing
#tag
,##tag
, or even###tag
could save a double‑hash tag to the database, breaking search.We now trim whitespace and strip every leading
#
on every tag‑creation path:tags.create
,tags.update
)bookmarks.updateTags
)UI continues to display #tag; only storage is normalized.
Key changes
packages/trpc/utils/tag.ts
: newnormalizeTagName
helperpackages/trpc/routers/tags.ts
: call helper in create and conditional updatepackages/trpc/routers/bookmarks.ts
: apply helper (bulk) + ignore empty names to avoidvalues() must be called with at least one value
errorpackages/trpc/routers/tags.test.ts
: +2 tests (create & update) confirming hashes are strippedTests
pnpx vitest run packages/trpc
##demo
→ storeddemo
(create)#foo
→##bar
→ storedbar
(update)