MasterIfeanyi
c2b6b78ef0
Merge eec739f1ec into f403f8c03c
2026-04-03 21:58:43 +11:00
memoclaw
f403f8c03c
refactor: simplify memo metadata components
2026-04-02 22:30:21 +08:00
memoclaw
0e4d2d25ca
refactor: simplify audio attachment playback component
2026-04-02 21:56:01 +08:00
Serhat
9676e72533
i18n: complete Turkish (tr) translations to 100% coverage ( #5802 )
...
Signed-off-by: Serhat <49079271+onwp@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-01 19:25:18 +08:00
memoclaw
c0d5854f67
feat(editor): add voice note recording to the memo composer ( #5801 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-04-01 09:36:33 +08:00
memoclaw
a0d83e1a9e
fix(web): refine attachment media layout
2026-04-01 08:40:36 +08:00
memoclaw
63a17d897d
refactor: split audio attachment view into reusable components
2026-03-31 23:03:38 +08:00
memoclaw
1921b57662
fix(tags): allow blur-only tag metadata ( #5800 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-31 21:38:55 +08:00
memoclaw
e520b637fd
fix: prevent stale comment drafts from being restored
2026-03-30 22:37:07 +08:00
memoclaw
c53677fcba
fix(api): improve SSE hub design and fix double-broadcast on comments
...
- Fix duplicate SSE event on comment creation: CreateMemoComment now
suppresses the redundant memo.created broadcast from the inner
CreateMemo call, emitting only memo.comment.created
- Extract reaction event-building IIFEs into buildMemoReactionSSEEvent
helper, removing duplicated inline DB-fetch logic
- Promote resolveSSEAudienceCreatorID from method to free function
(resolveSSECreatorID) since it never used the receiver
- Add userID to SSE connect/disconnect log lines for traceability
- Change canReceive default from permissive (return true) to
deny-with-warning for unknown visibility types
- Add comprehensive tests covering all new helpers, visibility edge
cases, slow-client drop behavior, and the double-broadcast fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 07:33:40 +08:00
memoclaw
acddef1f3d
fix(api): switch user resource names to usernames ( #5779 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-25 09:11:17 +08:00
memoclaw
4f6730a12e
chore: show compact attachment count instead of thumbnails in comment previews
...
When truncate mode is active (comment list), display an inline file icon
with attachment count instead of rendering full image thumbnails.
2026-03-24 19:30:39 +08:00
memoclaw
6a03917f6e
chore: upgrade TypeScript to 6.0.2
2026-03-24 08:45:56 +08:00
memoclaw
bb7f4978e5
refactor(web): consolidate SharedMemo into MemoDetail ( #5773 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-24 08:40:49 +08:00
memoclaw
6b30579903
feat: add outline navigation to memo detail sidebar ( #5771 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 00:20:40 +08:00
memoclaw
2aaca27bd5
refactor(web): improve MemoDetail and sidebar maintainability ( #5769 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-23 22:51:24 +08:00
memoclaw
e176b28c80
feat(memo-preview): support comment metadata in previews ( #5768 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-23 21:51:30 +08:00
memoclaw
22519b57a0
fix(web): prevent MemoContent prop leaks
2026-03-23 20:34:14 +08:00
memoclaw
45b21530d9
feat: add blur_content attribute to tag metadata settings ( #5767 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-23 19:42:27 +08:00
memoclaw
9e04049632
feat: treat tag setting keys as anchored regex patterns ( #5759 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 08:07:45 +08:00
memoclaw
9ded59a1aa
refactor(web): improve Settings page maintainability and consistency ( #5757 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 15:05:48 +08:00
memoclaw
d5de325ff4
refactor(web): simplify main layout sidebar structure ( #5756 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-21 12:54:18 +08:00
memoclaw
4177898054
refactor(web): consolidate memo metadata components into MemoMetadata ( #5755 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 09:04:15 +08:00
memoclaw
ac077ac3d3
refactor(web): improve MemoView and MemoEditor maintainability ( #5754 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 07:20:18 +08:00
memoclaw
7b4f3a9fa5
refactor(memo): simplify MemoDetail error handling, drop memo.failed-to-load i18n key
...
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>
2026-03-20 20:19:44 +08:00
memoclaw
5f6f624635
i18n: add missing auth.protected-memo-notice and memo.failed-to-load fallbacks to all locales
...
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>
2026-03-20 19:41:12 +08:00
xun zhao
7601708ae4
Redirect unauthenticated protected memo access to sign in ( #5738 )
2026-03-20 19:40:19 +08:00
fiatcode
551ee1d81f
fix(auth): recover session via refresh cookie when localStorage is empty ( #5748 )
2026-03-20 19:21:11 +08:00
memoclaw
be00abe852
fix: sync html lang attribute with active locale ( #5753 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-20 19:17:30 +08:00
google-labs-jules[bot]
23a7e99a21
chore: optimize unreact network requests ( #5747 )
...
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: boojack <stevenlgtm@gmail.com>
2026-03-20 18:08:28 +08:00
memoclaw
a7cabb7ce6
refactor(web): remove masonry memo layout ( #5746 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-20 09:01:43 +08:00
memoclaw
05810e7882
fix(memo-editor): scope Cmd+Enter save to the active editor ( #5745 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-20 08:43:01 +08:00
memoclaw
e0334cf0a8
refactor: restructure i18n locale keys for better maintainability ( #5744 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-20 05:56:56 +08:00
memoclaw
6f1f3d81c5
chore: remove disallow_public_visibility setting ( #5743 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-20 00:00:51 +08:00
memoclaw
3f3133d6e2
feat(memo): add share links for private memos ( #5742 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-19 23:47:22 +08:00
memoclaw
a249d06e2e
feat(instance): add notification transport setting ( #5737 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-03-19 09:18:28 +08:00
boojack
65d14fbb63
feat(instance): add canonical tag metadata setting ( #5736 )
2026-03-19 08:54:43 +08:00
boojack
330291d4d9
feat(user): add per-user tag metadata settings ( #5735 )
2026-03-18 23:15:14 +08:00
boojack
04f239a2fc
fix(api): remove public activity service ( #5734 )
2026-03-18 22:42:57 +08:00
Nix
89c6902895
feat(i18n): update sse connect label in Chinese ( #5732 )
2026-03-18 18:53:09 +08:00
memoclaw
6f5f0d94e8
chore(web): update frontend dependencies and Node runtime ( #5729 )
2026-03-16 20:37:16 +08:00
memoclaw
1e688b2a5d
feat: extract title from first H1 heading into memo property ( #5726 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:05:03 +08:00
memoclaw
8f43e8075b
fix: correct typos in comments, error messages, and identifiers ( #5704 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 18:40:17 +08:00
memoclaw
bdd3554b89
fix: handle chunk load errors after redeployment with auto-reload ( #5703 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 10:45:16 +08:00
memoclaw
2ccb98a6cb
fix: render audio attachments as inline players ( #5699 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:57:48 +08:00
memoclaw
4503679155
enhance: improve link memo dialog with rich previews ( #5697 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:54:13 +08:00
memoclaw
e70149af5f
enhance: polish PWA manifest and meta tags ( #5695 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 14:02:13 +08:00
memoclaw
3d4f793f97
fix: include plain URLs and tags in memo snippet generation ( #5688 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 22:03:45 +08:00
memoclaw
92d937b1aa
feat: replace auto-increment ID with UID for identity provider resource names ( #5687 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 21:01:22 +08:00
Peter Etelej
3010f10eaf
fix: access token refresh on web app ( #5681 )
2026-03-05 19:29:21 +08:00