4636 Commits

Author SHA1 Message Date
boojack 5ccba98adc refactor: split STT and Audio-LLM into separate interfaces (#5928) 2026-05-03 00:21:58 +08:00
boojack 238f27dea1 feat(transcription): explicit STT settings with provider, model, prompt (#5926) 2026-05-02 19:35:18 +08:00
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 35bf761b8c fix(security): enforce attachment ownership on memo updates 2026-05-01 18:23:53 +08:00
Tokenicrat 词元 603781f792 fix(frontend): use correct url path for memos in sitemap.xml (#5921) 2026-05-01 16:08:31 +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 1df3fe7955 fix(user): omit internal settings from list responses (#5917) 2026-04-30 08:49:03 +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 c7242324a1 fix(fileserver): preserve HDR image metadata in thumbnails 2026-04-29 21:32:10 +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 9bf648ac91 chore(main): release 0.28.0 (#5866) v0.28.0 2026-04-27 08:56:00 +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 0fb83a745d fix(auth): harden authorization and username validation (#5890) 2026-04-25 21:24:16 +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 ebc0e10f07 docs: refine SSO identity linkage design (#5879) 2026-04-22 09:09:15 +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 765a8c6e28 chore(main): release 0.27.1 (#5855) v0.27.1 2026-04-19 13:17:09 +08:00
George Wu bbded584ce fix: user resource names can be uuidv4 from idp sub claim (#5856) 2026-04-19 13:05:08 +08:00
boojack f8a304bae3 fix(release): inject build version into artifacts 2026-04-19 12:02:32 +08:00
boojack cfe2cf4cf5 chore(main): release 0.27.1 (#5854) 2026-04-19 10:55:16 +08:00
boojack 01be01f4b7 fix: mixed-case user resource names (#5853) 2026-04-19 10:44:25 +08:00
boojack 1fd6a2a385 chore(main): release 0.27.0 (#5843)
Signed-off-by: boojack <stevenlgtm@gmail.com>
v0.27.0
2026-04-19 04:02:50 +08:00
boojack 583c3d24f4 feat(mcp): harden tool exposure and side effects (#5850) 2026-04-18 22:28:35 +08:00
wndnjs0 0fc1dab28b fix: add unix socket file permission setting (755 -> 660) (#5849) 2026-04-18 13:21:03 +08:00
boojack 88cb58ab64 refactor(web/routing): guard-based auth flow, migrate tests to Vitest (#5848) 2026-04-18 01:06:54 +08:00
boojack 587f5b1b6c chore(github): simplify issue templates 2026-04-17 23:54:17 +08:00
boojack ff6389a5ef fix(api): appease image size lint 2026-04-16 23:21:07 +08:00
boojack c45663761d fix(api): reduce memory pressure in backend paths 2026-04-16 23:08:48 +08:00
boojack 8479e1d5a3 test: close SSE response body explicitly 2026-04-16 22:57:31 +08:00