Commit Graph
199 Commits
Author SHA1 Message Date
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
tianma-if 73330a114f fix(api): avoid repeated demo seed writes 2026-08-30 11:13:10 +08:00
tianma-if 4eda31ca30 refactor: decompose core runtime modules 2026-08-30 01:00:42 +08:00
tianma-if d483f6db00 feat: expand shared system diagnostics 2026-08-29 21:37:07 +08:00
tianma-if dd0c1d3566 fix(sync): batch large change detail queries 2026-08-29 18:28:25 +08:00
tianma-if c58ed12e47 fix: make attachment deletion recoverable
Fixes #314
2026-08-28 19:59:56 +08:00
tianma-if 90474b2943 fix: encode UTF-8 resource filenames safely 2026-08-27 23:00:40 +08:00
tianma-if d6a39addf2 feat: add inline PDF preview workflow 2026-08-26 23:29:43 +08:00
tianma-if 28891fd16a docs(docker): use GHCR as official image source 2026-08-26 19:04:25 +08:00
tianma-if 084ad290a1 feat(web): add non-mainland Apple ID badge to iOS download and enhance download button hierarchy 2026-08-26 15:42:04 +08:00
tianma-if bd10429a6a fix(sharing): 修复新笔记同步与公开引用 2026-08-26 01:50:57 +08:00
tianma-if 4737da0b56 fix: 修复 Demo 环境重置失效 2026-08-25 21:49:28 +08:00