Commit Graph
213 Commits
Author SHA1 Message Date
tianma-if a54f297ec6 feat(ai): add Agent mode to the in-app assistant
Reuse companion MCP tools inside the existing AI assistant. Instruction mode stays a single-turn rewrite; Agent mode searches and organizes notes, renders replies as Markdown with clickable note links, and confirms writes. Closing the panel starts a fresh thread, with an opt-in resume of the last chat.
2026-09-15 22:25:57 +08:00
tianma-if 6d6b1704a0 docs: treat /api/openapi.json as a reachability probe
Stop advertising the stale OpenAPI snapshot as an API catalog. Keep the URL for deploy checks and point agents at MCP.
2026-09-15 15:59:21 +08:00
tianma-if b346400f6a test: align coverage with Japanese locale and create-note layout
Update source and locale tests that still treated Japanese as unmatched English and pinned the previous fixed-width New note control.
2026-09-14 18:19:31 +08:00
tianma-if 98dca9baf2 fix(i18n): localize factory AI prompt seeds in Japanese
Japanese UI was falling back to English seed copy only because the catalog had no ja translations. Add Japanese names, descriptions, and instructions, and resolve ja the same way as zh-CN and en-US.
2026-09-14 15:48:05 +08:00
tianma-if 760e82ab50 fix(i18n): fall unmatched locales back to English
Unknown browser and system languages now resolve to English instead of
Simplified Chinese, and Japanese App Store / Play listing copy is kept
in store-assets for console publishing.
2026-09-14 10:56:53 +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 4b4b5df8c1 fix(i18n): give editor themes original four-character names
Keep Chinese labels at four characters without a shared suffix, and stop reusing competitor theme names.
2026-09-13 23:00:41 +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 dfdcfa11e4 feat(web): give paper themes independent palettes and tidy theme UX
Each paper layout now carries its own colors, ornaments, and reading rhythm instead of mixing with native green. Drop Classic Blue & White, unify preset names, move theme switching fully into the editor toolbar, and keep settings for custom palettes only.
2026-09-13 18:56:14 +08:00
tianma-if b38750eda5 feat(web): play common video attachments inline
Serve browser-native video with the same Range streaming path as audio, and allow collapsing the player without leaving the note.

Fixes #392
2026-09-12 15:35:24 +08:00
tianma-if 5260fca9ae fix(plugins): fall back to v-prefixed GitHub plugin release tags
Marketplace updates look up the semver tag first, so official plugins
published as vX.Y.Z failed with "GitHub release was not found." Retry
the v-prefixed tag in the instance proxy and the desktop installer.
2026-09-12 11:07:00 +08:00
tianma-if 2cec726f43 feat(ai): stream note generation from the client when the model host allows it
Desktop, Android, and iOS call the configured model API after a short prepare hop so Cloudflare no longer sits in the token path. The web app probes CORS first and direct-connects only when the host allows it; blocked hosts keep using the instance proxy without downloading the API key.
2026-09-11 18:34:55 +08:00
tianma-if f19dba17a9 fix(plugins): install GitHub plugins without the REST release API
When api.github.com returns 401/403/429, download public Release
assets by tag instead of failing the local web update with HTTP 403.
2026-09-11 01:01:17 +08:00
tianma-if 3514a538b7 docs: contrast full-stack open source with Obsidian's open files 2026-09-10 20:49:20 +08:00
tianma-if a4a10a32b9 feat(web): export selected notes as a Markdown ZIP
Add a bulk Markdown ZIP action for selected notes, reuse the existing
readable export layout, and keep the desktop bulk action card visible
when a diagram note is open.
2026-09-10 17:07:46 +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 2b3646f609 fix(plugins): check updates without GitHub REST quota
Read the latest Release through the instance (cached 5 minutes),
then the public latest/download URL and raw.githubusercontent.com.
Do not treat one plugin's 403 as a total update-check failure.
2026-09-10 10:45:17 +08:00
tianma-if f63d3cc69f fix(plugins): fall back when GitHub asset downloads fail
Prefer the GitHub API asset-id route after the public release URL fails, and skip re-downloading official plugin packages when the live version already matches.
2026-09-10 09:31:50 +08:00
tianma-if ad9edb1ff8 fix(plugins): install GitHub marketplace plugins through the instance
Desktop install was failing with Failed to fetch because the renderer
fetched GitHub metadata directly. Resolve live official releases and
download Release assets via the current EdgeEver instance, so daily
plugin updates still work without a client-side GitHub API round trip.
2026-09-09 19:26:11 +08:00
tianma-if a853c92350 fix(docker): persist credential encryption secrets on the data volume
NAS GUI upgrades that drop container environment variables could leave
login working while AI and object-storage credentials could no longer be
encrypted. Persist the encryption root on /data, generate one when an
existing instance has no secret, and stop the add-service form from
looking fillable when encryption is still unavailable.

Fixes #370
2026-09-09 18:11:58 +08:00
tianma-if 17f10968a7 fix(api): allow packaged desktop origin in CORS
v1.63.0 moved the packaged renderer from file:// (Origin null) to
edgeever-app://app. Instance CORS still only allowed local Vite and
null, so desktop login failed as network_unreachable.
2026-09-09 16:54:13 +08:00
tianma-if a423c92c9c fix(sync): handle deleted notebook references
Fixes #371
2026-09-09 12:51:22 +08:00
tianma-if 466161284d feat(diagram): add org, timeline, and fishbone layouts
Give mind maps real whole-map families for brace, org, hanging tree,
timeline, and fishbone, and let flowcharts pick forest, ink, or paper.
2026-09-08 20:20:18 +08:00
tianma-if 87a6e64a6d feat(diagram): add structure gallery and named color strips
Mind maps pick a whole-map structure (balanced maps and right-growing
logic charts) from thumbnail cards, and a named 6-color palette from
vivid/classic strips. Flowchart notes keep a dedicated paper surface.
2026-09-08 18:36:49 +08:00
tianma-if 748be71645 feat(diagram): split structure from color and stop canvas clipping
Mind maps now pick structure (underline map vs boxed topics)
independently from color (forest green vs spectrum). The editor
sizes the paper to every node so two-sided branches are not
cropped while editing.
2026-09-08 18:01:11 +08:00
tianma-if caa5967580 feat(mcp): add semantic diagram editing 2026-09-07 14:49:04 +08:00
tianma-if 1b804b165d feat: improve diagram reading and layout across clients 2026-09-07 10:20:46 +08:00
tianma-if 559768034e feat(mcp): support semantic diagram note creation 2026-09-06 20:48:53 +08:00
tianma-if 7f84ee4349 feat: label diagram notes in memo list 2026-09-06 17:09:15 +08:00
tianma-if d400371841 feat: add editable mind map and flowchart notes 2026-09-05 15:44:48 +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 91bd1247c2 fix: avoid shared GitHub asset rate limits 2026-09-05 00:52:11 +08:00
tianma-if 2351d36628 refine companion discovery notifications 2026-09-05 00:31:18 +08:00
tianma-if 69a7facd75 feat: streamline companion discovery notifications 2026-09-04 17:25:57 +08:00
tianma-if 12fca0db5f perf(plugins): keep public requests off the backend when possible 2026-09-04 13:35:27 +08:00
tianma-if 7da54257f7 fix: report instance deployment source 2026-09-04 11:58:24 +08:00
tianma-if 878e90fb9e fix: derive OSS credential encryption from authentication 2026-09-04 10:52:31 +08:00
tianma-if a076592076 fix(companion): require default model before enable 2026-09-04 01:43:57 +08:00
tianma-if c5d678c9c7 perf(agent): reduce redundant model context and document implementation 2026-09-03 21:13:34 +08:00
tianma-if 719665e8e1 fix(ai): preserve lazy runtime loading in plugin routes 2026-09-03 20:38:57 +08:00
tianma-if 2ead192557 feat(agent): add quiet discoveries and confirmed note actions 2026-09-03 20:30:14 +08:00
tianma-if ee9632038f feat(plugins): expose generic AI and public HTTPS capabilities 2026-09-03 16:05:41 +08:00
tianma-if f4aa8c5467 feat(ai): add lightweight personality and memory companion preview 2026-09-03 13:36:14 +08:00
tianma-if e9476ba1ac perf: pipeline image compression and resource uploads 2026-09-03 10:55:20 +08:00
tianma-if bde35ebb83 feat: add desktop plugin task scheduling 2026-09-02 18:20:10 +08:00
tianma-if 8f2c7911f1 feat(attachments): add inline audio playback
Use native media decoding with range-aware resource responses and graceful fallback for unsupported formats.\n\nRefs #334
2026-09-02 01:45:09 +08:00
tianma-if cee98bc90b feat(plugins): add resource panels and embeds 2026-09-01 21:35:25 +08:00
tianma-if dcbb0d3383 fix(web): respect AI assistant input 2026-09-01 21:10:28 +08:00
tianma-if 206e9e03d6 feat: support 1 GiB streamed attachments 2026-08-31 17:52:07 +08:00
tianma-if 10b50829ee feat: report Docker image source in system info 2026-08-30 18:46:50 +08:00