feat: v2.7.8 — Artifacts hub, clone related repos as extra folders, quieter resume prompt

- Artifacts (/artifacts): claude.ai pages sessions publish (captured from the
  Artifact tool's hook), pinned workspace files, skills and plugins, each
  kept as a snapshot; shared ones appear in a Hub and a skill or plugin
  installs into the viewer's own account (server/lib/artifacts.js,
  /api/artifacts, docs/plans/artifacts/).
- Workspace extra folders: clone one or more related repos beside the
  workspace and add them in one step (POST /api/lanes/:id/sources/clone).
- A pane that ended by itself while tmux kept running is no longer offered
  for resume (tmux.serverStartedAt in reconcileOrphans).
- Changes panel: a folder that is not a git repo opens on Files, and its
  files open from there.
- Plus the parallel sessions' work in this tree: File Explorer button in the
  panel header, user delete, RSA SSH keys, chat/terminal and pet fixes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 16:04:03 +07:00
parent e94038481e
commit 22de5009ff
79 changed files with 4617 additions and 231 deletions
+11 -2
View File
@@ -57,7 +57,8 @@
"enabled": "Đã mở khoá {{name}}",
"password": "Đã đặt lại mật khẩu cho {{name}}",
"workspace": "Đã giao workspace cho {{name}}",
"updated": "Đã cập nhật {{name}}"
"updated": "Đã cập nhật {{name}}",
"deleted": "Đã xoá {{name}}."
},
"errors": {
"EREAUTH": "Mật khẩu của bạn không đúng.",
@@ -72,7 +73,8 @@
"ENOTOWNED": "Workspace đó không còn thuộc người này.",
"EOWNERFOLDER": "Thư mục của workspace đó thuộc tài khoản của người dùng khác.",
"EBADROLE": "Vai trò không hợp lệ.",
"ELOCALMODE": "Chỉ quản lý tài khoản được ở chế độ server."
"ELOCALMODE": "Chỉ quản lý tài khoản được ở chế độ server.",
"ELASTADMIN": "Không thể xoá admin cuối cùng."
},
"readOnly": "Analyst chỉ xem được tài khoản, không thay đổi được.",
"auditTitle": "Nhật ký audit",
@@ -187,5 +189,12 @@
"codex": "OpenAI API key (sk-…), hoặc toàn bộ ~/.codex/auth.json sau khi `codex login` bằng tài khoản ChatGPT."
},
"refreshFailed": "làm mới lỗi"
},
"delete": {
"button": "Xoá user",
"title": "Xoá {{name}}?",
"body": "Thao tác này xoá vĩnh viễn {{name}}: tài khoản đăng nhập, {{count}} workspace, và tài khoản Linux cùng toàn bộ thư mục home (/srv/agenthub/users/{{user}}) — mọi file và source code trong đó. Không thể khôi phục. Lịch sử session và audit log vẫn được giữ.",
"confirm": "Xoá vĩnh viễn",
"needsPassword": "Hãy nhập mật khẩu của bạn ở ô bên dưới trước."
}
}