Allow any tag to trigger content blurring by setting blur_content=true
in InstanceTagsSetting, replacing the previous hardcoded NSFW-only check.
Changes:
- proto: add bool blur_content field to InstanceTagMetadata (store) and
InstanceSetting.TagMetadata (API v1); regenerate Go and TS bindings
- server: thread BlurContent through convertInstanceTagsSettingFromStore
and convertInstanceTagsSettingToStore conversion helpers
- web/MemoView: replace tag.toUpperCase()==='NSFW' with a
findTagMetadata() lookup on tagsSetting.blurContent; rename internal
state nsfw/showNSFWContent/toggleNsfwVisibility to
blurred/showBlurredContent/toggleBlurVisibility
- web/TagsSection: add blur checkbox column and new-tag blur toggle to
the admin tags settings UI
- web/locales: rename click-to-show/hide-nsfw-content keys to
click-to-show/hide-sensitive-content across all 30+ locale files;
update English strings to 'sensitive content' phrasing
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The failed-to-load key was only used for non-ConnectError exceptions, which
are unreachable in practice since the Connect RPC client always wraps errors
as ConnectError. Use (error as Error).message as a plain fallback instead.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
30 locale files were missing the two keys added in the auth redirect PR.
Added English fallback strings so all locales render properly until
community translations are contributed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Remove menu item and dialog from MemoActionMenu
- Remove removeCompletedTasks() and hasCompletedTasks() utilities
- Remove translation keys from all 34 locale files
- Feature was not aligned with standard note-taking UX patterns