1759 Commits

Author SHA1 Message Date
Jeremy MountainJohnson
13d709521c fix(ai): guard against stream chunks that have no choices array (#1226)
Every streaming loop reads `chunk.choices[0]` directly, which throws a
TypeError before any of the existing guards run when a provider emits a
chunk without a `choices` array:

    TypeError: undefined is not an object (evaluating 'e.choices[0]')

The existing optional chaining does not help because it sits after the
index: `chunk.choices[0]?.delta` still throws when `choices` is absent.
In agent runtime the `if (!choice) continue` guard is likewise
unreachable for this case.

Move the optional chaining before the index so the guards that already
exist can do their job. No behavior change on well-formed chunks.


Claude-Session: https://claude.ai/code/session_013rsgamahFqrfNUZqAHceG1

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 07:18:20 +08:00
Jeremy MountainJohnson
b17a036c4b fix(agent): emit items for array tool parameters (#1227)
`legacyInputSchema()` copies a tool parameter's `type` straight into the
generated JSON Schema, so an array parameter is emitted as a bare
`{ "type": "array" }` with no `items`.

`items` is required alongside `type: "array"`, and some providers reject
it rather than ignoring it. Against a local LM Studio server every agent
request fails, because the model's chat template cannot render the tool
list:

    Engine protocol predict request returned 500:
    While executing If at line 12, column 13 in source:
    ...am_spec.type == "array" -%}
        {%- if param_spec['items'] -%}
    Error: Function is not a bool value

The template tests `param_spec['items']`; with the key absent that
resolves to the mapping's `items` method rather than a value, which is
not a bool, so the request 500s before generation starts.

At least 19 tool parameters declare `type: 'array'`, so the agent is
effectively unusable with any provider strict about this.

`ToolParameter` carries no item type, so fall back to a permissive `{}`
rather than guessing `string` — several of these arrays hold objects.


Claude-Session: https://claude.ai/code/session_013rsgamahFqrfNUZqAHceG1

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 07:15:44 +08:00
codexu
2376804818 release: v0.36.0 note-gen-v0.36.0 2026-08-26 21:41:59 +08:00
codexu
e1a29f59b7 fix(#1212): 修复跨设备图片路径与同步异常 2026-08-26 20:40:13 +08:00
codexu
898af4efb6 fix: 修复生产构建静态检查错误 2026-08-26 20:40:09 +08:00
codexu
95da0aab01 fix(#1220): 修复长笔记选区操作条定位异常 2026-08-26 20:12:29 +08:00
codexu
49cc63f8fb fix: 修复新标签页顶部遮挡并优化布局 2026-08-26 20:12:13 +08:00
codexu
ff14abc0e2 feat(#1111): 完善大纲章节拖拽排序 2026-08-26 18:15:33 +08:00
codexu
4f55c9a2e1 feat(#681): 补全自启后隐藏设置的多语言文案 2026-08-26 18:13:44 +08:00
codexu
ca9e81484c feat(#1111): 支持拖拽调整大纲章节顺序 2026-08-26 18:12:38 +08:00
codexu
5322dc8389 fix: 修复唯一新标签页仍可被关闭 2026-08-26 18:11:15 +08:00
codexu
84865ea41c feat: 优化新标签页品牌展示与模块布局 2026-08-26 18:11:08 +08:00
codexu
d152666f27 fix(#1207): 修复 AI 代码输出排版与高亮问题 2026-08-26 17:14:17 +08:00
codexu
72e893cf7b fix(#1218): 修复 OneDrive 账户连接被拒绝问题 2026-08-26 15:18:30 +08:00
codexu
b0ec8a78c9 style: 调整 Toast 至顶部居中 2026-08-26 13:26:38 +08:00
codexu
19107d2c9f style: 统一并调淡滚动条样式 2026-08-26 13:24:15 +08:00
codexu
76df56e398 fix: 修复 AI 对话框聚焦边框过深 2026-08-26 13:24:13 +08:00
codexu
f0691ba010 fix: 修复标签栏菜单显示与滚动抖动 2026-08-26 13:06:07 +08:00
codexu
44e54ef678 fix: 修复空白标签页被误读为目录 2026-08-26 13:05:48 +08:00
codexu
59240e0fbf feat: 添加可自定义的新标签页 2026-08-26 12:55:12 +08:00
codexu
92935a9e27 fix: 修复隐藏画布视口产生 NaN 警告 2026-08-26 10:27:56 +08:00
codexu
4107b28c1b style: 移除左侧栏重复底部状态栏 2026-08-26 10:27:56 +08:00
codexu
5b806ed4f7 fix(#1208): 修复链接编辑弹层滚动与定位异常 2026-08-26 08:32:50 +08:00
codexu
001c66ee94 fix(#1219): 修复行内代码复制格式异常 2026-08-26 08:14:09 +08:00
codexu
ef9824e884 feat: 优化 Agent 运行状态与消息队列 2026-08-25 21:50:38 +08:00
codexu
b8ea35fe38 feat: implement local MCP server and bridge functionality 2026-08-25 21:08:57 +08:00
codexu
77752f838e ci: 修复普通用户无法触发 Issue 自动分析 2026-08-25 19:46:33 +08:00
codexu
d4cda335d5 ci: 添加 AI Issue 自动分析回复 2026-08-25 08:48:26 +08:00
codexu
ceb63a6e82 fix(#1206): 修复文件列表与磁盘状态不同步问题 2026-08-25 08:05:15 +08:00
codexu
977c540fb7 feat: 添加赞助信息和模型服务详情至 README 文件 2026-08-24 20:00:21 +08:00
codexu
f3557e58da feat: 添加 Infistar 模型平台与促销展示 2026-08-24 19:54:52 +08:00
codexu
e3af191543 feat(#1215): 支持编辑器多 Tab 分屏与独立窗口 2026-08-24 19:07:13 +08:00
codexu
ed4b76134d feat: add developer mode and diagnostics features 2026-08-24 08:58:07 +08:00
codexu
e617f065c3 feat: 增加自托管同步方案(实验性) (#1214)
* feat: 添加自托管同步与实时协作

* feat: 完善自托管同步与实时协作

* fix: 修复自托管文件同步与实时协作问题

* feat: 完善自托管同步设置与风险引导
2026-08-23 14:10:45 +08:00
Dionyz0z
6862295efb feat(i18n): add complete German translation and fix dayjs locale bugs (#1211)
* feat(i18n): add complete German translation.

* fix(i18n): update dayjs locale imports and logic for all supported languages
2026-08-23 13:32:43 +08:00
Dionyz0z
24e38471ca fix(i18n): translate remaining Chinese strings in en.json (#1210) 2026-08-21 10:53:59 +08:00
codexu
43eca30466 feat: 更新 iOS 部署目标至 15.0 2026-08-19 14:53:54 +08:00
codexu
0ef807b5a0 feat: 添加对 macOS 10.15 的支持标记 2026-08-19 14:05:18 +08:00
codexu
916c702033 release: v0.35.0 note-gen-v0.35.1 2026-08-19 13:47:14 +08:00
codexu
c7302abcfc feat(#1198): 优化移动端编辑与上下文关联 2026-08-19 13:45:20 +08:00
codexu
200320da37 fix: 修复移动端编辑器键盘与工具栏交互问题 2026-08-18 23:04:37 +08:00
codexu
796ae58580 fix: 修复移动端编辑器顶部工具栏显示与交互问题 2026-08-18 22:13:55 +08:00
codexu
0ac1d4b253 style: 移除抽屉底部操作区分割线 2026-08-17 15:26:32 +08:00
codexu
d9db23d952 feat: 移动端文本记录改用抽屉选择保存位置 2026-08-17 15:26:32 +08:00
codexu
1012d1543a fix: 修复移动端全局搜索展示索引状态 2026-08-17 15:26:31 +08:00
codexu
199d8e583d feat(#1191): 将全局搜索整合到左侧栏 2026-08-17 10:56:38 +08:00
codexu
dd4293063b fix(#1192): 修复 Excel 表格粘贴与工具栏交互问题 2026-08-17 09:42:05 +08:00
codexu
88d24745f7 fix: 修复本地与远程文件混选时无法分别删除 2026-08-17 08:19:14 +08:00
codexu
1bacb6917d fix: 修复文件管理器框选与界面文本误选问题 2026-08-17 08:13:33 +08:00
codexu
9f61204f03 fix(#1195): 修复缩进围栏与特殊信息字符串丢失问题 2026-08-17 07:57:13 +08:00