67 Commits
Author SHA1 Message Date
edgeever-updater[bot] 67cf5297de chore: update EdgeEver from v2.18.0
EdgeEver-Upstream-Commit: 4235f3f2f1f68ad94802612362d1daea6dabb3cb
2026-11-03 09:33:32 +00:00
edgeever-updater[bot] eaf37b4aeb chore: update EdgeEver from v2.16.1
EdgeEver-Upstream-Commit: 6e79c1bd81a3678b1d0d01f5476564cfecdd40d8
2026-10-31 08:26:31 +00:00
edgeever-updater[bot] 55a447d8f8 chore: update EdgeEver from v2.12.0
EdgeEver-Upstream-Commit: eeaab088f41d0417fbce2266f58ff4adde7f5d76
2026-10-28 08:33:37 +00:00
edgeever-updater[bot] 83a99699c3 chore: update EdgeEver from v2.9.0
EdgeEver-Upstream-Commit: d5c62eeda4ece2affc36c7d5463c87dd7a8a292f
2026-10-27 07:52:48 +00:00
edgeever-updater[bot] 05e53dcba3 chore: update EdgeEver from v2.7.0
EdgeEver-Upstream-Commit: 30fcb3fc65c419000a3e6f8cfb70eca47ae53914
2026-10-26 07:48:43 +00:00
LuoQianhong 9ae88e3381 feat: 增强公开笔记本站点体验与发布控制 (#634)
公开笔记本站点新增长文导航、正文检索、逐站点排除和站点配置,保留实时分享以及原有 Token、密码和解锁 Cookie。收录只对无密码的别名页生效,Token 页保持完整 noindex。

迁移 0072 为 notebook_shares 增加站点列,并新增排除关系表。先执行迁移再部署。

Closes #591
2026-10-21 23:20:38 +08:00
tianma-if dba620d8e5 fix: repair welcome note Markdown seed
Repair untouched welcome notes with real line breaks, a consistent content hash and revision, and sync notification. Keep first-sign-in localization compatible with both seed versions and cover persisted database upgrades and user-content preservation.

Fixes #622
2026-10-19 19:43:33 +08:00
Dariusz Koryto b3f4dfda2b feat(workspace): localize default notebooks and welcome note at first sign-in (#562)
* feat(workspace): localize default notebooks and welcome note at first sign-in

A new installation always created its five default notebooks, welcome
note and note templates in Chinese, whatever the interface language.
Members added by the owner got notebooks and templates in the owner's
language instead of their own.

The seed data is now localized once, at the first sign-in of the
workspace's user, using the UI locale the client sends with the login
request (Web and Android send it; other clients fall back to
Accept-Language, and unsupported languages to English).

Migration 0070 marks the default workspace as waiting for this only on
an installation nobody has used yet: no users, no notes beyond the
welcome note, no edits to it, no extra notebooks, revisions or
resources. Existing installations keep their data unchanged. Member
workspaces created by the owner are marked when created.

The sign-in localizes notebook names, templates, the welcome note and
its search document in one transaction that also clears the mark, and
replaces only values that still equal a seeded translation. A failed
attempt leaves the mark for the next sign-in to retry, and a second
sign-in changes nothing. The demo clears the mark so its bilingual seed
stays as it is.

Refs #483

* fix(workspace): guard seed inserts and title-only welcome edits during localization

- Default template and AI prompt inserts in the first-sign-in batch now
  require the pending marker, so a delayed concurrent sign-in cannot
  recreate seeds removed after the faster sign-in finished.
- The welcome note is treated as untouched only while it keeps the seeded
  title, the system actor, the seed content hash, and revision 0, so a
  title-only edit is no longer overwritten.
- Add regression tests for both cases.

Refs #483
2026-10-14 20:45:42 +08:00
tianma-if 29bb511259 feat(sharing): recover encrypted passwords across devices 2026-10-14 09:27:13 +08:00
tianma-if a78586b716 feat(sharing): add password protection for notebook shares 2026-10-13 23:24:17 +08:00
tianma-if 13f8b3f407 feat: share notebooks recursively with live public reading
Add notebook-level share management, directory navigation, and live subtree checks for notes and attachments. Include migration and access-boundary regression tests.

Refs #551
2026-10-13 19:27:16 +08:00
tianma-if 150f0e8de5 feat(ai): expose detailed poster editing and client rendering 2026-10-11 17:20:32 +08:00
tianma-if f3b4226555 feat(speech): transcribe note media attachments without external downloads 2026-10-07 19:36:19 +08:00
tianma-if 2e15f325c5 revert: withdraw unreleased video transcription feature 2026-10-07 17:30:14 +08:00
tianma-if 46f1c7d764 feat(speech): extract video-note subtitles from a workspace speech service
Video notes keep a hidden marker, and the note list can queue subtitle extraction. The desktop app downloads the audio with yt-dlp and sends it to the selected OpenAI-compatible speech service.
2026-10-07 11:36:12 +08:00
tianma-if 871a9325d5 feat(web): replace the AI dialog with a companion sidebar
Notes open a right-hand assistant that can attach files and asks before changing note content. Desktop can talk to a local ACP agent without handing over the note directory.
2026-09-29 22:19:55 +08:00
tianma-if 16205e0173 fix(web): remove the custom note palette
Stored custom palettes read as native. Font size, line height, and palette no longer show a caption. Custom CSS notes that it syncs.
2026-09-29 18:46:43 +08:00
tianma-if b8a0b88d88 fix(web): tint only links, code, and bold in note palettes
Named hues leave body text, quotes, rules, tables, and code chrome on the native styles. Bold uses the palette accent. The green option is removed, and a saved emerald choice reads as native.
2026-09-29 17:29:16 +08:00
tianma-if 53290535ff feat(web): share note size, line height, and palette
Keep the native editor theme, store column width on this device, and publish account font size, line height, palette, and custom CSS to the editor, public shares, and WeChat paste. Highlight custom CSS with CodeMirror.
2026-09-29 16:20:57 +08:00
tianma-if c7f6e342be feat(web): add table attachments and a public entry form
Store attachment files in object storage and keep only resource references in the table. A separate public form link appends one row without showing existing records.
2026-09-23 13:03:12 +08:00
tianma-if f1949e795f feat(sharing): show the author's built-in font on public shares
Store the selected built-in note font on the account and apply it to the shared note body. System and custom font names keep the default face, so a share downloads a font only after one is chosen.
2026-09-23 00:09:28 +08:00
tianma-if 086d85d9d7 fix(notebooks): collapse duplicate inbox notebooks from 0046
0046 only looked for nb_inbox or {workspace}_inbox, so a historical slug inbox got a second empty 等待分类. Keep the notebook with notes, soft-delete extras, and unique-index one active inbox per workspace.
2026-09-19 16:06:16 +08:00
tianma-if dcfd11468d feat(sharing): add optional password protection for public note shares
Allow owners to turn on an auto-generated access password when sharing a note. Visitors must unlock the share page before reading the note or its attachments; existing public links stay open until a password is enabled.
2026-09-17 14:44:43 +08:00
tianma-if f5e9bc1a44 feat(ai): call model APIs from the client instead of the worker
Keep Cloudflare requests short for Agent, tag suggestions, plugin generate, and Paw checks. The instance only prepares credentials and executes tools; CORS failures still fall back to the existing proxy.
2026-09-16 22:45:07 +08:00
tianma-if 36f11471d3 feat(ai): give Agent a timeline, pinned context, and resumable runs
Show tool receipts in chat, pin notes with @, wire saved memory, and
let interrupted Agent turns continue. Split tool-side narration from
the user-facing answer.
2026-09-16 16:58:27 +08:00
tianma-if 0e5be33a44 feat(plugins): sync the install list across Web and desktop
Keep plugin and theme membership on the workspace so browsers and desktop apps can re-download verified packages. Settings, secrets, and native mobile runtimes stay out of this catalog.

Related Issue: #396
2026-09-14 10:41:56 +08:00
tianma-if bb43940135 feat(ai): replace social starter prompts with note workflows
Keep six factory prompts, swap Xiaohongshu and Twitter presets for extract-todos and continue-writing, and use four-character Chinese names.
2026-09-13 22:11:35 +08:00
tianma-if cc874cd3f9 fix(sync): keep desktop pull working without a slug inbox
Identify the workspace inbox by stable id, restore it when missing, and apply notebooks before memos so a renamed or deleted inbox cannot abort the whole pull.

Fixes #378
2026-09-10 11:52:01 +08:00
tianma-if 245ac044b6 feat: learn scoped filing and tagging preferences in Paw mode 2026-09-05 12:22:02 +08:00
tianma-if c5d678c9c7 perf(agent): reduce redundant model context and document implementation 2026-09-03 21:13:34 +08:00
tianma-if 2ead192557 feat(agent): add quiet discoveries and confirmed note actions 2026-09-03 20:30:14 +08:00
tianma-if f4aa8c5467 feat(ai): add lightweight personality and memory companion preview 2026-09-03 13:36:14 +08:00
tianma-if bde35ebb83 feat: add desktop plugin task scheduling 2026-09-02 18:20:10 +08:00
tianma-if 206e9e03d6 feat: support 1 GiB streamed attachments 2026-08-31 17:52:07 +08:00
tianma-if 944980cf67 perf: reduce sync polling and index memo tags 2026-08-20 14:38:51 +08:00
tianma-if 801b8547b5 perf: reduce database writes and improve update notices 2026-08-20 13:53:24 +08:00
tianma-if 9156aed2d6 feat: refine smart tag suggestions 2026-08-17 00:50:21 +08:00
tianma-if 4b43756be2 feat: focus built-in AI prompts 2026-08-15 21:56:17 +08:00
tianma-if b57c2edc64 feat: keep five editable starter templates 2026-08-15 21:32:03 +08:00
tianma-if c9d0785c81 feat: unify editable note templates 2026-08-15 21:02:55 +08:00
tianma-if 55fd32686d feat(ai): complete cross-platform custom prompt behavior 2026-08-12 16:06:28 +08:00
tianma-if e440da9b2f feat(ai): add editable prompt library shared with the assistant
Ship a workspace prompt library with seeded defaults, restore-missing
defaults, and a /ai-prompts management page. The AI assistant now uses
the same prompt text as the library, while keeping freeform custom
instructions and a compact one-row action UI. Also prevent local
wrangler migration rewrites from stripping unauthenticated local access.
2026-08-12 14:57:51 +08:00
tianma-if 0488731acc feat(ai): support multiple providers and models 2026-08-10 15:51:46 +08:00
tianma-if b272e8fc9d feat: add BYO AI note processing 2026-08-10 02:00:29 +08:00
tianma-if b94903fb52 feat: add instance-level S3-compatible object storage
Let instance owners route new uploads to an external OSS while keeping
existing attachments on their original store. Secrets are encrypted with
EDGE_EVER_STORAGE_ENCRYPTION_KEY before being stored in D1.
2026-08-05 12:27:10 +08:00
tianma-if 4d2ae5e27c feat: add revocable note sharing 2026-08-02 21:11:16 +08:00
tianma-if 6fb1d482c6 feat(mcp): improve import identity and reliability 2026-07-31 19:24:10 +08:00
tianma-if ea0f516ab7 feat: add portable login brute-force protection 2026-07-26 21:20:45 +08:00
tianma-if df99373a52 feat: add login device metadata 2026-07-26 12:56:14 +08:00
tianma-if 80aa95cd6a fix: preserve seeded template line breaks 2026-07-25 13:55:51 +08:00