boojack
ef55013418
feat(memo): create memos on the selected calendar date ( #5925 )
2026-05-02 11:53:50 +08:00
Steven
d349fe4409
chore(theme): rebalance dark palette for readability
2026-05-02 09:11:46 +08:00
Steven
8daef1dc89
feat(activity-calendar): aggregate by ViewContext.timeBasis
...
Fixes the inconsistency where switching the memo list to update_time
left the activity heatmap aggregating by created_time. The heatmap
now follows the same time basis as the list it sits next to.
Backend
- UserStats gains memo_updated_timestamps (additive proto field, tag 8).
- GetUserStats and ListAllUserStats populate it alongside the existing
memo_created_timestamps. No DB migration; memo.updated_ts already
exists on every row.
Frontend
- useFilteredMemoStats reads timeBasis from ViewContext and selects
the matching timestamp source.
- StatisticsView and MonthNavigator forward timeBasis through to
MonthCalendar / YearCalendar so tooltip text matches the basis
("X memos in DATE" vs "X memos updated on DATE").
- Falls back to memoCreatedTimestamps when an old server returns an
empty memoUpdatedTimestamps array (detected by length divergence,
since protobuf-es deserializes missing repeated fields as []).
Tests
- Backend: TestGetUserStats_MemoUpdatedTimestamps verifies the field
is populated and reflects post-creation updates.
- Frontend: filtered-memo-stats covers create/update source switching
and the old-server fallback path; activity-calendar-tooltip covers
basis-aware label selection.
Spec and implementation plan committed under docs/superpowers/.
2026-05-02 00:26:53 +08:00
Steven
ea0625da45
feat(stats): admin instance resource statistics
2026-05-01 23:15:56 +08:00
Steven
cd4f28ae10
feat(notification): add smtp email settings
...
- Add admin notification email settings UI and test-email RPC
- Dispatch privacy-first comment and mention emails through server notification layer
- Keep SMTP secrets write-only and require passwords when SMTP identity changes
2026-05-01 18:48:21 +08:00
Steven
a0b6417689
chore: bump pnpm to 11.0.1 and align list test assertions
2026-04-30 20:05:39 +08:00
boojack
e008b1a23c
fix(markdown): align list items with checkboxes
2026-04-30 08:49:49 +08:00
boojack
0bc56694b0
feat: render link metadata cards
2026-04-29 23:23:52 +08:00
boojack
9c5c604944
feat: add link metadata endpoints
2026-04-29 22:38:08 +08:00
memoclaw
267f90a3ff
chore: refactor Settings UI structure ( #5912 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com >
2026-04-29 09:30:58 +08:00
boojack
14480bfc46
chore(settings): improve storage tags and memo panels
2026-04-28 23:28:01 +08:00
boojack
ee65e90a39
chore: upgrade pnpm to 11 ( #5911 )
2026-04-28 22:16:22 +08:00
Chyna
328396a97f
fix(web): sync avatar changes immediately after profile update ( #5903 )
...
Signed-off-by: Chyna <68607983+chyna-gvng@users.noreply.github.com >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-04-28 21:57:58 +08:00
Mostafa Attia
9353848603
chore: increased muted text contrast in dark theme ( #5902 )
2026-04-28 20:03:24 +08:00
boojack
616487fa37
chore: update backend and frontend dependencies ( #5900 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com >
2026-04-28 08:25:26 +08:00
boojack
18e729fe00
chore(memo): simplify markdown task list rendering
2026-04-27 23:22:29 +08:00
boojack
9e310bf93c
chore(memo): clarify displayed update time
2026-04-27 21:50:41 +08:00
boojack
94ce1e5347
chore(settings): show build commit in version info
2026-04-27 08:51:11 +08:00
boojack
e2c60845ea
fix(markdown): split mixed task and bullet lists
2026-04-26 23:25:29 +08:00
boojack
c268551a16
feat(memos): choose created or updated time for memos ( #5894 )
2026-04-26 11:50:26 +08:00
boojack
3949a252db
style(web): refine scrollbar styling
2026-04-26 00:24:45 +08:00
boojack
34c90dd5e1
chore: remove duplicate tags from share image preview
2026-04-25 22:22:49 +08:00
boojack
ee1799851e
feat: redesign account and SSO management ( #5886 )
2026-04-24 09:08:58 +08:00
boojack
30c0611a82
fix: fix legacy username auth flows ( #5885 )
2026-04-23 22:35:38 +08:00
boojack
d688914b28
feat(auth): add SSO user identity linkage ( #5883 )
2026-04-23 08:51:45 +08:00
boojack
50638040f6
fix: reduce list memo query overhead ( #5880 )
2026-04-22 09:31:48 +08:00
boojack
b5863d76be
fix(web): preserve task checkbox state ( #5867 )
2026-04-20 23:27:00 +08:00
wndnjs0
d98f665919
fix: disable modal prop on DropdownMenu to prevent scroll disappearing ( #5861 )
2026-04-20 21:38:28 +08:00
boojack
88cb58ab64
refactor(web/routing): guard-based auth flow, migrate tests to Vitest ( #5848 )
2026-04-18 01:06:54 +08:00
Mattia Borda
5be530dbac
chore: update Italian translation for 'cancel' key ( #5841 )
...
Signed-off-by: Mattia Borda <mattiagiovanni.borda@icloud.com >
2026-04-15 21:01:57 +08:00
boojack
411d8335e7
chore: set native color scheme for dark themes ( #5840 )
2026-04-15 20:55:41 +08:00
boojack
a3a5b52d60
chore: tweak location picker
2026-04-15 20:07:36 +08:00
boojack
ab5332901f
fix: hide transcribe button without AI provider
2026-04-14 21:47:59 +08:00
boojack
35504cc8bd
feat(web): add demo mode banner ( #5836 )
2026-04-14 09:08:17 +08:00
boojack
101704c8ea
feat(ai): add BYOK audio transcription ( #5832 )
2026-04-13 22:09:24 +08:00
boojack
0ad0fec8d4
feat(ai): add Anthropic provider option
2026-04-12 21:42:17 +08:00
memoclaw
d87539a1e1
feat: add Gemini transcription provider ( #5830 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com >
2026-04-12 21:12:03 +08:00
memoclaw
83ed32f119
feat(ai): add instance AI providers and transcription ( #5829 )
...
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com >
2026-04-12 19:23:34 +08:00
boojack
efeb28c872
fix: remove duplicate Japanese locale keys
2026-04-12 10:34:20 +08:00
Takuro Onoue
0f7c7eb75e
i18n: refine and normalize Japanese locale strings ( #5826 )
...
Signed-off-by: Takuro Onoue <kusanaginoturugi@gmail.com >
2026-04-11 22:15:26 +08:00
boojack
2523d966f4
chore(web): improve navigation accessibility
2026-04-10 22:27:29 +08:00
boojack
8cdcd7b284
refactor(attachments): extract visual gallery layout and tile style tokens
2026-04-10 08:55:20 +08:00
boojack
9ca71229a6
fix: preserve draft content when tab is suspended or editor remounts
...
Gate auto-save on initialization to prevent empty content from overwriting
cached drafts on remount. Flush drafts synchronously on visibilitychange/
pagehide so Chromium tab suspension cannot drop pending debounced saves.
Restore cached draft over saved memo content when they differ (inline editing).
2026-04-10 08:48:50 +08:00
boojack
938c405b0f
refactor: move embedded content styles from global CSS to Tailwind
2026-04-08 23:34:49 +08:00
boojack
124708f164
chore: refactor attachment media layout and insert menu organization
2026-04-08 23:28:49 +08:00
boojack
7e21b728b3
fix: harden memo content iframe and HTML sanitization
2026-04-08 21:10:35 +08:00
boojack
2d682ae176
refactor(attachments): compact audio item layout and playback logic
...
Made-with: Cursor
2026-04-07 21:47:06 +08:00
boojack
5b78023fd5
Polish share-as-image UI and sidebar sharing actions
...
Made-with: Cursor
2026-04-07 21:07:40 +08:00
boojack
e51985a29f
feat(memo-editor): add compact live waveform recorder panel ( #5817 )
2026-04-07 20:40:34 +08:00
boojack
61c963841b
chore(web): polish dark theme and calendar UI
...
- simplify ActivityCalendar state handling and shared max-count utilities
- remove calendar ring styling and darken the default dark theme primary colors
- tighten the audio recorder panel layout and action sizing
2026-04-06 22:44:11 +08:00