Skip to content

fix(runtime): isolate V2 file operations from legacy schema - #43

Merged
opendev9 merged 4 commits into
devfrom
fix/upload-guard-errors
Oct 21, 2026
Merged

opendev9 merged 4 commits into
devfrom
fix/upload-guard-errors

Conversation

@opendev9

@opendev9 opendev9 commented Oct 20, 2026 •

Copy link
Copy Markdown

Disabled Checkout returns before Guard discovery; enabled Checkout requires the reviewed path-keyed schema. The current root URLconf no longer mounts the historical Resource/Intent/SchemaRunner control plane. Native library/file reads remain, and effective-permission, shared-directory and directory-entry compatibility aliases now use the existing V2 views directly instead of old NativeRead.

Current V2 management and directory sync endpoints remain registered by seahub.urls. Historical directory-address, library-rules, directory-shares, directory/sync, hosted identity/editing/transfer and capabilities routes are no longer mounted by the root URLconf; their historical fields are not reintroduced into the four-table schema. The retained aliases use V2 parameters and response bodies.

Validation: 28 targeted tests and 7 subtests passed, covering root URL resolution, absence of retired routes, real V2 permission decisions, native Cookie reads and Checkout-disabled behavior. Native boundaries are doubled in this unit suite; no live HTTP/image deployment was performed. Coordinate with Server #21 and the Docker four-table runtime PR. No DDL or environment-variable changes.

@opendev9 opendev9 changed the title fix(checkout): qualify Guard only when Checkout is enabled fix(runtime): isolate V2 file operations from legacy schema Oct 20, 2026

@servicememeai servicememeai left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

联动评审(2026-10-21):路由退出 Resource/Intent 旧控制面、V2 读取别名改为 Authority、禁用 Checkout 时跳过 Guard 探测的方向合理,未发现需要为本轮恢复旧路由的理由。现有 root URL 测试替身化了 seahub.urls,尚不能代表镜像中真实 URLconf 的最终优先级;合并三仓后请在集成节点对目录权限/共享只读别名、V2 管理入口以及 local-view/optimistic/exclusive 三种模式做一次针对性 HTTP smoke。不要为此扩展历史兼容层。

@opendev9

Copy link
Copy Markdown
Author

评审跟进(2026-10-21):

已按你的意见做了静态核对,未改代码:

  1. 真实 ROOT_URLCONF 链路确认:Docker 的 cloudfile.py 写入 SITE_ROOT_URLCONF = 'cloudfile_extensions.root_urls',而 root_urls.py 先注册 V2 别名、最后 include('seahub.urls')。因此本 PR 移除的历史路由在默认部署下确实不再挂载,且 V2 入口优先于上游。
  2. 未发现悬空引用:仓库内(排除测试)无 directory_sync / library_rules / directory_shares 的视图导入或 URL 反向引用;CLOUDFILE_EXTENSION_URLCONFS 默认空,不会通过部署扩展把旧路由注册回来。
  3. 你的担心成立:现有 root URL 测试替身化了 seahub.urls,不能代表真实 URLconf 优先级。真实 HTTP smoke 未在本 PR 执行(无 Django/镜像环境),已纳入集成节点验收清单:目录权限别名、共享只读别名、V2 管理入口,以及 local-view / optimistic / exclusive 三种模式。不会为此扩展历史兼容层。

结论:本 PR 代码层面无新增修改,等待三仓合并后的集成 smoke。

@opendev9
opendev9 merged commit 86bcdae into dev Oct 21, 2026
1 check passed
@opendev9
opendev9 deleted the fix/upload-guard-errors branch October 21, 2026 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants