feat(tui): 添加 M0A.5b TUI 登录(重提 #84)#4
Draft
wangjk9527 wants to merge 5 commits into
Draft
Conversation
提供 deploy.sh 原生部署链路(configure/install/build/start/stop/doctor/tui), 仅托管 Web + API;补齐无内置 DataLink 的 npm start / stack-runner。 语义 Data Link 改为外置 MCP 对接,deploy 不安装、不启动、不作健康门槛。 基于 main reset 后重提原 datagallery-lab#82。
仅在 verified running state 时标记 managed ports;redeploy 默认以磁盘密钥为准;launchId 校验失败时清除 stale 状态且不向错误进程发信号。附带端口精确匹配、postgres URL 脱敏与 .env 权限提示。
实现 password 模式会话/CSRF/注册策略,并修复 HITL 事件桥、cookie Path 与缺失注册策略静默 open 等确定性缺陷。脚本侧统一正式认证客户端,并为 FORMAL_HTTP_AUTH_TARGETS 增加 node --check 语法门禁。 基于 main reset 后重提原 datagallery-lab#83,叠在 DataLink 外置的一键部署分支之上。 Co-authored-by: wing <wangjk9527@users.noreply.github.com>
接入正式认证登录/会话恢复,并按复审加固: - 认证请求 redirect:manual,逐跳拒绝 HTTPS→HTTP 与跨 origin - AbortController 覆盖完整 body 读取;session 隔离/重置与保存同锁,锁支持过期回收 - CSRF 403 若 jar token 已更新则直接重试;session-invalid 去重先于清理副作用 基于 main reset 后重提原 datagallery-lab#84,rebase 到 DataLink 外置 deploy + M0A.5a 栈上; 同步清理 TUI 指南中残留的离线 Demo 模式表述。 Co-authored-by: wing <wangjk9527@users.noreply.github.com>
Max-Age=0/过期 Expires 的 Set-Cookie 现在会删除 jar 条目;session-invalid 清理失败仍通知 auth-required;logout/auth-required 后强制交互登录,避免 磁盘残留会话被静默恢复。
wangjk9527
force-pushed
the
cursor/m0a5a-formal-auth-foundation-f252
branch
from
July 26, 2026 08:10
851d690 to
5442fab
Compare
wangjk9527
force-pushed
the
cursor/m0a5b-tui-login-f252
branch
from
July 26, 2026 08:11
1ba3c88 to
62167a5
Compare
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
基于 main reset 后重提原 #84:为 TUI 增加正式账号登录、Session 持久化、交互注册引导、账号切换与
/logout。叠在:
cursor/native-one-click-deployment-v2-f252(DataLink 外置一键部署)cursor/m0a5a-formal-auth-foundation-f252(M0A.5a,重提 feat(auth): add formal password authentication foundation (M0A.5a) datagallery-lab/datafoundry#83)run-defaults)共用AuthenticatedTransport;身份探测走GET /api/v1/mesmoke:tui-auth-sharing)redirect:manual安全跳转、AbortController 覆盖 body 读取、session 锁与 CSRF 重试等Depends on M0A.5a 分支(以及其下的 deploy v2)。请先合部署与 5a,再审/合本 PR。
Test plan
npm --workspace @datafoundry/tui test(96 pass)npm run typechecknpm run test:auth-foundation(24 pass)npm run smoke:authnpm run smoke:tui-auth-sharingnpm run test:deploy(叠层后仍 87 pass)Notes
wangjk9527:cursor/m0a5b-tui-login-f252cursor/m0a5a-formal-auth-foundation-f252;底层合入main后再改 base / rebase