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>
Replace the standalone SSE dot above UserMenu with a small badge
overlaid on the bottom-right of the user avatar. Only visible when
status is connecting (yellow) or disconnected (red) — invisible in the
normal connected state, removing constant visual noise.
Add a comment preview section below memo cards in list view, displaying
up to 3 comment snippets with a "View all" link. Removes the old comment
count icon from the memo header in favor of this richer inline display.
Comment preview is hidden in memo detail view.
- Reduce themes from 6 to 4: system, light, dark, paper
- Remove midnight (too similar to dark) and whitewall (too similar to light)
- Drop all unused tokens: chart-*, sidebar-primary, sidebar-border,
sidebar-ring, shadow-2xs, tracking-normal, spacing
- Remove redundant @theme inline blocks from dynamic theme files
(Tailwind only processes them at compile time, not at runtime)
- Move shared tokens (fonts, radius) to default.css only
- Polish dark mode color palette
- Consistent cool-slate hue (h265) across all surfaces
- Proper surface layering: sidebar(0.07) → bg(0.09) → card(0.13) →
popover(0.17) → secondary(0.19) → muted(0.21) → accent(0.22)
- Foreground softened to 0.82 (from 0.9) — comfortable off-white
- Accent more chromatic than muted (0.012 vs 0.008) — hover feels interactive
- Popover elevated above card (0.17 vs 0.13) — floating elements visible
- Destructive more vivid (0.62/c0.20) — clearly red on dark surfaces
- Input border (0.25) more distinct than layout border (0.21)
- Sidebar foreground (0.68) dimmer than content foreground (0.82)
- Fix inline code background invisible in dark mode (#5674)
- Muted was same lightness as card — increased to 0.21 for clear contrast