Repository navigation
fix: pin thread betas and verify live docker memory - #621
Merged
Merged
Conversation
默认跟随请求模型,调用方窗口经内部字段送到当前 job,面板值可热配置。
窗口在入站清理前提取,再经内部字段进入 native body。
窗口必须在 settings 删除前提取,再传给 native body。
A replaced helper keeps the old inode and the listen port. Ownership now treats that process as down and the next start or fleet refresh stops every helper bound to the proxy config, including one the pidfile no longer names.
Fleet refresh now waits for every helper bound to the proxy config to exit before binding the new one. install.sh no longer treats a failed refresh as a successful upgrade.
账本列出文件里的真实配置项,claude.setting 可编辑后播种。遥测开/关与进程状态分开,种子页打开时 2 秒刷新。
编辑框只显示当前槽文件的原文。文件缺失或为空都保持空白,不再回退到策略文本或默认串。
GET /seed-settings 不再用策略默认串填补不存在的文件。空文件仍返回空串,策略字段保持独立。
settings.json 的 env 改成输入框,播种时写回。缺少 CLAUDE_CODE_ATTRIBUTION_HEADER 时默认 0。
默认不拉取。打开后读取本槽 telemetry-upload.log,sidecar 在每次上传后追加正文。
theme 可编辑并随播种写回。autoUpdates 与 grove_enabled 由播种固定,只读显示,不再被环境项过滤掉。
落盘前去掉邮箱、账号、组织和设备标识。超过四十行时原子替换,不再无限追加。
调试开关会改变查询键。保存成功按种子前缀失效,避免日志继续显示旧记录。
batch 日志改为 PostBatch 发出的 BatchRequest。身份字段仍在包装内删除。
解锁和播种都要确认。时区与语言提供 en、cn、jp;时区也可以改成当前 SOCKS5 的时区。
TZ 为空表示跟随。展示用当前代理时区,播种时才写入;代理时区变化后下一次播种跟着变。
空 TZ 保持跟随,但时区选择不被禁用。选中 en、cn、jp 后写入固定值。
容器运行且 cli-node 已安装后,claude auth login 自己生成链接并换票。宿主机不再构造 claude_code 授权链接。
授权码由用户直接粘进终端,不再由面板中转。
没有 credentials.json 时先建空文件,再把官方 .credentials.json 链过去,避免登录写到 worker 读不到的独立文件。
集群节点、未运行容器和缺少 cli-node 的槽不能打开官方登录终端。凭证链接失败时终端不再继续启动。
普通运维 ticket 即使带 login=1 也不能升级成官方登录终端。
shell 只负责拿到票。会话结束时写入槽唯一使用的 credentials.json,并删除官方 CLI 的临时副本。
shell 拿到的票交给 commitImportedOauth。导入后 .credentials.json 继续链接到 worker 的 credentials.json,终端和槽使用同一份。
已有授权链接不再挡住官方登录。选择 Claude Code 时显示终端,链接只留给普通 OAuth 和 Setup Token。
# Conflicts: # docs/PANEL_API.md # docs/TELEMETRY.md # scripts/claude-auth-login-pty.py # src/lib/cluster/remote-slot-files.mjs # src/lib/cluster/remote-slot.mjs # src/lib/vm/egress.mjs # src/lib/vm/fleet-update.mjs # test/unit/fleet-update.test.mjs # test/unit/go-worker-client.test.mjs # test/unit/panel-vm-seed-settings.test.mjs # test/unit/remote-slot-migration.test.mjs # web/src/components/ws-terminal.tsx # web/src/features/settings/protocol-pane.tsx # web/src/features/vm/detail-page.tsx # web/src/features/vm/queries.ts # web/src/features/vm/seed-policy-card.test.ts # web/src/features/vm/seed-policy-card.tsx # web/src/features/vm/seed-settings.test.ts # web/src/features/vm/seed-settings.ts
Owner
Author
合并方式33 个提交里,净 diff 相对 不要 merge commit。用 squash,或者把分支重放到
|
This was referenced Oct 20, 2026
Owner
Author
dofastted
added a commit
that referenced
this pull request
Oct 20, 2026
* fix(web): Claude Code 直接打开登录终端 已有授权链接不再挡住官方登录。选择 Claude Code 时显示终端,链接只留给普通 OAuth 和 Setup Token。 * docs(changelog): 未发布 — CC 登录终端顺序 (#621) Co-authored-by: ted <kuhlmangarry24@gmail.com> * docs(changelog): 本切片引用 #622 Co-authored-by: ted <kuhlmangarry24@gmail.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Merged
dofastted
added a commit
that referenced
this pull request
Oct 20, 2026
VERSION → 1.3.201. Fold the unpublished notes plus #621 into the 1.3.201 section.
dofastted
added a commit
that referenced
this pull request
Oct 20, 2026
cursor Bot
pushed a commit
that referenced
this pull request
Oct 20, 2026
Co-authored-by: ted <kuhlmangarry24@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Oct 20, 2026
Co-authored-by: ted <kuhlmangarry24@gmail.com>
cursor Bot
pushed a commit
that referenced
this pull request
Oct 20, 2026
Co-authored-by: ted <kuhlmangarry24@gmail.com>
dofastted
added a commit
that referenced
this pull request
Oct 20, 2026
* fix(vm): cgroup v1/max 在线扩容校验与 docker update 回滚 (#621) Co-authored-by: ted <kuhlmangarry24@gmail.com> * style: biome format docker-slot-memory Co-authored-by: ted <kuhlmangarry24@gmail.com> * docs(changelog): #623 未发布条目与 1.3.201 分离 Co-authored-by: ted <kuhlmangarry24@gmail.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Open
3 tasks done
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.
Summary
continueturn reuses the previous turn's betas when the model is unchanged, and still keeps betas derived on the new turn. Create turns for the mid-output-config model set emitmid-conversation-output-configfrombody.threadalone, so a continue that no longer replays message-level effort controls still carries the gate. Pin/miss/model-change is recorded onhop_meta.thread_betas.HostConfig.Memory,HostConfig.MemorySwap, and the container cgroupmemory.maxall equal the requested bytes. Mismatch or a stopped container returns 502 and does not writevm.machine.memory.activeMethod === 'cc') opens the slot terminal before the generated-link branch, so a ready auth link cannot hide the terminal login button.git merge-treeagainstorigin/main(f175be04) reports no conflicts. The branch also contains the already-merged seed / OAuth / egress commits that were still ahead oforigin/fix/remote-slot-refresh; the net diff versusmainis the 12 files below.Not included: uncommitted
sticky-pane.tsxcopy change, and untrackeddocs/fork-vs-current-2026-10-20.md.Review notes
Map. A multi-process or restarted Node loses them; the continue turn then uses freshly computed betas (pin: miss) instead of failing.docker updateis not rolled back when the post-check fails. Config stays at the old value, but the container limit may already be the new one (memory_diverged/cgroup_memory_diverged).memory.maxofmaxfails the numeric compare on purpose.Test plan
node --test test/unit/thread-betas.test.mjs test/unit/docker-slot-memory.test.mjs test/unit/mid-convo-effort.test.mjs test/unit/panel-vm-memory-raise.test.mjs test/unit/runtime-state.test.mjs— 44 passNote
Medium Risk
Changes upstream beta headers for threaded conversations and tightens live Docker memory raises; thread pins are process-local and lost on control-plane restart (miss path only).
Overview
Adds 24h in-process pinning of Anthropic
anthropic-betatokens across message-threadcontinueturns (bounded map, merge with freshly derived betas on model match). Worker outbound prep callspinThreadBetas/rememberThreadTurnon success;mid-conversation-output-configis now emitted whenbody.threadis set on supported models even without replayed message-level effort controls. Pin outcomes are recorded onhop_meta.thread_betasin request logs.Docker slot online memory raise is stricter: requires a running container, then persists
vm.machine.memoryonly when Docker memory + swap limits and cgroupmemory.maxall equal the requested bytes (502 / no persist on mismatch). DEPLOY.md documents panel resize vs manualdocker update.Credential panel: official Claude Code (
cc) login terminal is shown earlier in the branch order so a ready OAuth link cannot hide the terminal button.Reviewed by Cursor Bugbot for commit 270aa7d. Configure here.