Commit graph

128 commits

Author SHA1 Message Date
Johnny
d617f652b0
fix(markdown): support word-internal apostrophes in tags (#6135) 2026-08-02 21:08:57 +08:00
Johnny
8648b97b9e
feat(user): define username format and mention syntax (#6134) 2026-08-02 19:57:16 +08:00
Johnny
c68e3d5bf9
feat(markdown): unify tag syntax and recognition (#6132) 2026-08-02 14:46:04 +08:00
johnnyjoygh
7c78320999 chore: cleanup docs 2026-07-19 23:51:11 +08:00
boojack
0038295bbc feat(config): provision settings from secret files
- Load IdPs and supported instance-setting groups as runtime overlays from /etc/secrets.
- Reject API mutations of deployment-managed resources and serialize authentication safety checks across database drivers.
- Preserve upgrade compatibility, demo SSO policy, stable IdP ordering, and driver-specific transaction retries.
2026-07-13 22:34:24 +08:00
boojack
ad6d009767 feat(auth): bootstrap identity providers from secret files
- scan /etc/secrets for memos-idp-*.json after migrations and demo seeding
- reconcile protobuf JSON identity providers by stable UID
- validate all discovered providers before applying updates
2026-07-13 00:08:15 +08:00
boojack
f0e4a5624f feat(filter): expand CEL filter surface with startsWith/endsWith, matches(), and all()
Let users write three more CEL constructs in the filter field, each compiled to
SQL across SQLite/MySQL/Postgres:

- Scalar startsWith()/endsWith() on content/filename/mime_type (case-insensitive)
- matches() regex: PG ~, MySQL/SQLite REGEXP (Go-backed SQLite fn), validated at
  compile time via cel.ValidateRegexLiterals()
- all() comprehension over tags via per-element subqueries, non-empty required

Also: contains() now escapes LIKE metacharacters (%, _, \); cross-dialect render
tests plus behavioral tests; cel-go bumped to v0.28.1; new operators surfaced in
the frontend shortcut guide.
2026-06-15 23:22:28 +08:00
boojack
797f1ff15d
feat(web): markdown WYSIWYG editor with raw-mode toggle (#6030)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:34:51 +08:00
boojack
777d227eb9
feat: add OpenAPI-driven MCP support (#6026) 2026-06-09 09:16:50 +08:00
boojack
53abb8020e refactor(frontend): remove react-use dependency 2026-05-31 18:32:17 +08:00
boojack
8c16ffa1f1
feat: add <Placeholder> component with ASCII bird states (#5949)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 22:48:37 +08:00
boojack
a6024eebf1
perf: lazy load heavy first-screen dependencies (#5947) 2026-05-12 20:11:39 +08:00
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
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
boojack
d688914b28
feat(auth): add SSO user identity linkage (#5883) 2026-04-23 08:51:45 +08:00
boojack
ebc0e10f07
docs: refine SSO identity linkage design (#5879) 2026-04-22 09:09:15 +08:00
memoclaw
24fc8ab8ca
feat(mentions): add memo mention parsing, notifications, and rendering (#5811)
Co-authored-by: memoclaw <265580040+memoclaw@users.noreply.github.com>
2026-04-06 22:16:53 +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
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
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
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
johnnyjoy
cda18a37c0 chore: remove docs 2025-01-19 10:50:49 +08:00
johnnyjoy
3c0d011085 chore(dev): update build guides 2025-01-19 10:46:35 +08:00
Steven
171a89564e chore: tweak gen apidocs 2024-09-23 08:43:16 +08:00
johnnyjoy
41976cb894 feat: update memo endpoints 2024-09-22 15:43:46 +08:00
johnnyjoy
c28516b35f chore: buf generate 2024-09-22 13:57:47 +08:00
Steven
ca213437e9 feat: implement nesting lists 2024-09-21 20:02:47 +08:00
johnnyjoy
8cdc956e59 chore: update ts proto 2024-09-21 17:25:57 +08:00
Steven
fbe0251eed feat: impl list renderer 2024-09-17 19:03:10 +08:00
johnnyjoy
1da0752922 chore: add schema version to workspace setting 2024-09-14 08:23:39 +08:00
Zisu Zhang
b787d1c7b6
feat: support disable change username and nickname (#3911)
* feat: support disable change username and nickname

* chore: update UX
2024-09-12 13:45:04 +08:00
johnnyjoy
8c6682bd77 chore: regenerate apidocs 2024-09-02 20:50:59 +08:00
RoccoSmit
9b1adfbbe9
feat: reintroducing thumbnails (#3821)
* Reintroducing thumbnails

* Aligned with linting rules

* making recomended code review change
- changed method names to start with lower case as they are not used outside of their package
- made receiver types for struct funcs to be pointers to not need to create copies

Trying to cover all linting issues
- converted slog warning to use attributes when logging warnings
- seperated imports to have package files in their own section

* Update go.mod

---------

Co-authored-by: boojack <24653555+boojack@users.noreply.github.com>
2024-08-29 21:01:57 +08:00
Steven
bb86482b71 chore: tweak setting name 2024-08-29 08:28:11 +08:00
Steven
1167df29d8 feat: add security related settings 2024-08-28 23:46:06 +08:00
Steven
a8ea28066e chore: retire export memos 2024-08-28 23:20:32 +08:00
Steven
f4d6675363 chore: add enable memo comment setting 2024-08-19 09:13:44 +08:00
Steven
3c5aa41a78 feat: implement week start day setting 2024-08-18 23:18:45 +08:00
Steven
c3f381c8c5 chore: add instance url to profile 2024-08-13 22:16:43 +08:00
Steven
21f18f7c56 chore: tweak activity service definition 2024-08-01 23:40:16 +08:00
Steven
8bf7cdfd31 feat: add password auth flag 2024-07-27 19:24:37 +08:00
Steven
139090fb8f chore: fix calendar timestamps 2024-07-27 09:47:12 +08:00
Steven
44e56844f5 chore: tweak search resources 2024-07-22 15:33:02 +08:00
Steven
260a4f89fc chore: buf generate 2024-07-15 22:32:59 +08:00
Johnny
9909fd8a6f
feat: add snippet field to memo message (#3689) 2024-07-15 08:08:08 +08:00
Johnny
bcb8843245
chore: implement stringify markdown nodes endpoint (#3688) 2024-07-14 20:46:57 +08:00
Johnny
7c9e54afbd
chore: update disallow public visibility setting name (#3687) 2024-07-14 20:23:19 +08:00
Steven
f374169a2b feat: implement html element renderer 2024-07-13 11:06:51 +08:00