Skip to content

feat(inspector): add and remove an item's tags - #165

Merged
aicayzer merged 2 commits into
mainfrom
feat/edit-tags
Oct 26, 2026
Merged

aicayzer merged 2 commits into
mainfrom
feat/edit-tags

Conversation

@aicayzer

Copy link
Copy Markdown
Contributor

What changes for a person

You can now add and remove an item's tags in MAPP. Before, tags were read-only.

  • Inspector: a Tags section lists the item's tags, each with a remove button, and a field to add one. The field suggests tags already used in the library.
  • Menu and palette: Add Tag… is in the item menus (menu bar, context menu, More menu, board cards) and the command palette. It opens a small sheet and works for several selected items at once.
  • Offline and undo: tag changes are queued like MAPP's other edits, show at once, and undo and redo.

What I chose

  • The favorite tag stays with the Favorite command: it is not listed in the tag editor, cannot be removed there, and is refused as typed text. The conflicted-copy tag is treated the same way.
  • Typed tags are trimmed and keep their case. A tag is refused if it is empty, longer than 128 characters, or is . or .., and an item can hold at most 100. The refusal appears under the field and the typed text stays.
  • An item in Recently Deleted, or one with a problem, shows its tags without remove buttons or a field.
  • Removing a tag another device already removed sends nothing. A change the server refuses is told in the usual notice.
  • The old fallback that listed tags under Details is gone, since Tags now shows them.
  • String Catalog: only the new strings were added. Building in Xcode also reformatted the whole file and added unrelated missing entries, so I kept just this work's keys.

Tested

The Unit plan passes, including new tests for add, remove, duplicate, invalid and reserved tags, a full item, an item in the bin, suggestions, queued writes with undo and redo, and a refused write.

Not tested: the Live plan (no instance was given), so offline queueing across a restart rests on the existing queue and is not exercised here. The UI plan was not run. The inspector controls were looked at only briefly in the sample library; adding a tag with Return from the field was not exercised in the running app.

@aicayzer
aicayzer merged commit 6aa16ff into main Oct 26, 2026
4 checks passed
@aicayzer
aicayzer deleted the feat/edit-tags branch October 26, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant