chore: release 0.9.22 - #241
Merged
Merged
Conversation
…nual chore: sync develop onto main after manual
Use a bottom Drawer for account settings on small screens, restore the historic Elegant Rose default brand, and persist light/dark preference with palette under the shared theme localStorage key. Co-authored-by: Cursor <cursoragent@cursor.com>
* fix: Update schema when restoring octop/lightclaw backups * feat: enhance error logging for OctopError in exception handlers * feat: enhance backup restore process to include IM channel reloading * feat: extend backup restore functionality to include cron job reloading * feat: add JWT secret capture and restore functionality during backup processes * fix: update Chinese translation for presetProviders term in zh.json * feat: implement Unix crontab semantics for weekday handling in cron triggers Added functionality to translate numeric Unix weekdays to names and updated the cron trigger builder to support Unix-style expressions. Enhanced unit tests to validate the new behavior for various weekday formats and ranges. * feat: enhance backup restore functionality with ownership remapping - Updated `restore_backup_file` to accept a `user` parameter for identifying the restoring admin. - Added `owner_user_id` option in CLI for specifying ownership during LightClaw migration archives. - Implemented user ownership remapping in the database during system backup restoration. - Enhanced user handling in backup processes to ensure proper ownership assignment and data integrity. - Updated tests to validate new ownership remapping behavior during migration restores. * refactor: streamline SQL query formatting in backup test case - Simplified the SQL query execution in the `_make_migration_backup` function by removing unnecessary line breaks for improved readability.
* feat: support installing plugins from a local ZIP archive Add a POST /plugins/upload endpoint (admin-only) that installs a plugin from an uploaded ZIP, plus a local-file picker in the installed-plugins panel with an optional overwrite checkbox. Extract install_archive() from install_url() so both paths share zip validation and path-traversal protection. * style: fix ruff formatting of install_url error message
* feat: Docker sandbox, workspace_dir, default_open, HITL and runtime knobs
WIP against local editable orcakit-harness-agent 0.9.20 (PyPI not published yet).
Includes Admin Docker storage, agent workspace_dir, connector default_open,
chat HITL resume/todos UI, and runtime limit fields.
* feat: browser HITL stream listen, gateway preempt stop/cancel
Wire the browser streaming endpoint to listen for human-in-the-loop
events, add gateway-side preemption (stop/cancel) for running agents,
and integrate chat send with the browser session state.
- Add browser stream "listen" endpoint and harness HITL wiring
- Add gateway preemption: stop/cancel handling for running agents
- Wire chat send to browser session state in the dashboard
- Bump harness-gateway to >=0.9.2 and regenerate uv.lock
- Add unit tests for browser stream listen and gateway preemption
* test: fix workspace_dir assertion on Windows
Compare path components (name == agent_id, parent == "agents") instead
of a hard-coded POSIX "/agents/{id}" string suffix, so the check passes
on Windows where Path uses backslash separators.
---------
Co-authored-by: jubaoliang <jubaoliang@tencent.com>
Require stronger passwords end-to-end (setup, Docker bootstrap, change-password), split password settings into a dedicated panel, and replace subagent file editing with a create/edit drawer. Co-authored-by: Cursor <cursoragent@cursor.com>
技能 ZIP 里仅含空目录(如 ai/、data/、scripts/)时,导入后目录会全部丢失: 此前解析 ZIP 直接跳过目录条目,写入时也只调用了文件上传。 - 前端 parseSkillZip:不再跳过目录条目,空目录转为带尾部 "/" 的路径标记 (content 为空)保留;根级技能下的子文件夹(无自己的 SKILL.md)作为 支撑文件一并保留,避免嵌套目录在导入时被丢弃。 - skill_packages:_normalize_relative_path 保留尾随 "/" 目录标记, 不再被 PurePosixPath 悄悄当成文件名。 - skill_package_store:write_skill 对目录标记执行 mkdir,重建空目录。 - skills 路由:新增 _write_skill_files,先 amkdir 空目录再批量上传文件, create / update / URL 导入统一走该函数。 - 补充单元与集成测试:空目录在包存储与工作区中均被重建;孤立的空目录 不会产生伪技能;根级技能与兄弟技能能正确共存。 验证:unit(agents) 技能相关用例通过、ruff clean、前端 parseSkillZip 测试通过。
专家工作区新增可编辑文档能力:.docx 以 Markdown 在 Monaco 中打开/保存, 后端保存时转回 docx 覆盖原文件,与 .md 编辑体验一致。 - 后端新增可编辑文档转换器注册表(infra/utils/doc_edit.py)与通用 GET/PUT /workspace/doc 端点,按扩展名分发,与具体格式解耦 - write_file 对可编辑文档按二进制格式落盘,工作区新建空 docx 即为合法 文档包,预览/编辑立即可用 - 前端 docKind.ts 新增 EDITABLE_DOCS 注册表(docx->markdown), CodeEditor/FileViewer/WorkspaceDrawer 通用路由编辑与保存 - DocumentPreview 对 0 字节 word 显示空状态 - 新增 8 个后端单测、6 个集成测试、5 个前端单测;引入 python-docx 后续加新后缀只需:后端注册一个转换器类 + 前端注册表加一行。
Keep main an ancestor of develop after the 0.9.21 release. Resolve changelog/version lock conflicts while retaining develop-only docx editing. Co-authored-by: Cursor <cursoragent@cursor.com>
GitHub-hosted runners have no committer name/email, so merge commits failed before conflicts could be handled. Abort only when MERGE_HEAD exists. Co-authored-by: Cursor <cursoragent@cursor.com>
…9.21 chore: sync develop onto main after 0.9.21
Keep main an ancestor of develop after merging the Sync workflow git-identity fix into main.
…-identity chore: sync develop onto main after ci identity fix
Old Workbox Cache-First index.html plus NetworkFirst on hashed chunks served deleted asset URLs after a rebuild. Fetch a fresh HTML shell, precache vendors, and recover by clearing the SW when the entry fails. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[0.9.22] - 2026-08-11
新增
.docx在线编辑:以 Markdown 在 Monaco 中打开/保存,保存时转回 docx 覆盖原文件(标题/加粗/斜体/列表/表格保留,复杂格式简化);工作区新建的.docx即初始化为合法文档包,预览/编辑立即可用。基于可扩展注册表,新增可编辑后缀只需注册一个后端转换器类 + 前端注册表一行变更
python-docx==1.2.0(含lxml),用于工作区.docx的 Markdown 往返转换修复
index.html;hashed 资源改为 CacheFirst;入口脚本失败时清除 SW 缓存并自动刷新一次 (fix(dashboard): 修复发版后 PWA 旧壳导致的白屏 #236)Release checklist