Files
mnote/.codex/reasonix-tasks/2026-05-22-sqlite-control-plane-worker-b-auth-session.md
T
lix-2026 5f97800489 chore: align local-first control plane and editor fixes
- wire SQLite control-plane access/session paths into Rust web local-folder routes

- preserve local Markdown attachment semantics across upload, reload, and secondary-pane resource tabs

- refresh design governance docs, Reasonix task templates, and bug records

- retire root .mcp.json local MCP config
2026-05-23 23:38:42 +08:00

2.3 KiB
Raw Blame History

Reasonix Worker BAuth/session SQLite 切换准备

Project root: /mnt/Data1T/mnote

你不是独自在代码库中工作。其他 worker 可能并行修改 SQLite store、access policy 或迁移脚本。不要还原、覆盖或清理不属于你任务范围的改动。不要提交 git。

背景

上位设计稿: design/02-convex-rust-long-term-architecture/process/2-8-convex-replace-with-rust-sqlite-control-plane-v1.md

当前用户报告过新注册账号显示“开发用户的空间”、不能新建页面。根因方向之一是真实 actor/profile/workspace name 没有统一来自控制面。本任务只处理 auth/session 切换准备,不处理 local folder access。

Ownership

允许修改:

  • rust/crates/mnote-web/src/routes/session.rs
  • 可新增 rust/crates/mnote-web/src/routes/auth_sqlite.rs
  • 可新增 rust/crates/mnote-web/src/control_plane_auth_adapter.rs
  • rust/crates/mnote-web/src/ssr/pages/auth.rs 仅限必要表单字段/测试适配
  • focused tests in same files

只读参考但不要直接改,除非确实必要并最小修改:

  • rust/crates/mnote-web/src/routes/gateway.rs
  • rust/crates/mnote-web/src/middleware/request_context.rs
  • rust/crates/mnote-web/src/context.rs

禁止修改:

  • rust/crates/mnote-web/src/routes/local_folder_source.rs
  • rust/crates/mnote-web/src/ssr/pages/admin.rs
  • rust/crates/mnote-web/src/ssr/styles.rs
  • infra/convex/**
  • .env*

任务

  1. 梳理现有 signIn/signUp/session cookie 链,写在代码注释或测试名中,不写长文档。
  2. 增加 SQLite session adapter 的 route/helper 骨架:
    • mnote_session 查 session。
    • 生成/刷新 mnote_actor_id/name/email/type display cookies。
    • /api/session 优先使用 SQLite session,缺失时保留现有 fallback。
  3. 注册/登录 adapter 应明确输出真实 user_id/email/name/actor_type
  4. 新用户注册测试必须断言不回退到 DEV_USER_NAME
  5. 不要求本轮完全删除 Convex auth fallback。

验收命令

cargo test --manifest-path rust/Cargo.toml -p mnote-web session -- --nocapture
cargo test --manifest-path rust/Cargo.toml -p mnote-web auth -- --nocapture
cargo fmt --check --all

最终回复格式

请列出:

  • 修改文件
  • 新增/调整的 cookie 与 session 规则
  • 实际运行过的命令及结果
  • 未完成项/风险