Repository navigation
fix(web): 补齐本地查看、普通编辑与独占编辑入口 - #50
Merged
Merged
Conversation
servicememeai
marked this pull request as draft
October 23, 2026 03:50
2026-10-24 状态当前 head 按 2026-10-23 owner 裁决保持 Draft:需先结合 Checkout/Checkin 需求完成统一方案评审(三模式与签出/提交/签入边界、占用人行为、续租/撤权/断线/未知回执),再调整实现与验证后评审合并。本轮未改动该 PR,也未合并。 |
2026-10-25 Checkout/Checkin 统一方案草案(供 owner 评审;本 PR 保持 Draft)三模式语义(Hub 只签发浏览器范围短期 ticket,不做最终授权)
与 Checkout/Checkin 的关系
实施顺序(评审通过后)
按 owner 要求,此文档评审通过前不合并本 PR。 |
Author
Owner 确认 — 2026-10-25:Checkout 只支持 OFF / OPTIONAL(按库),不支持 REQUIRED正式产品决策:
前置候选 PR(均保持 Draft,需联动部署):
本 PR #50 仍保持 Draft;网页矩阵更新要求:
上述三个候选 PR 未运行完整构建/真实 E2E,不能仅凭创建 PR 就视为合并条件满足。 |
2026-10-25 对照最新 OFF/OPTIONAL 决策的检查
|
…known lock state - use lock-info checked_out_by_me: the Guard owner gets "Resume exclusive editing" (same open/exclusive-edit path; Rust Agent verifies the original Guard) while another user's lock stays blocked - an unavailable/unknown lock-info (503/network) now disables ordinary and exclusive editing instead of treating it as "not checked out"; local viewing remains available - update the OFF/OPTIONAL policy matrix in docs, refresh Chinese/English strings, and sync with latest Hub dev - Jest: 3 suites / 32 tests pass (dialog now 17)
opendev9
marked this pull request as ready for review
October 25, 2026 04:21
mynamexyz
pushed a commit
that referenced
this pull request
Oct 26, 2026
`.eslintrc.json` puts `react*` into the `builtin` path group with `position: before`, so `reactstrap` has to precede `prop-types`; the `@/` imports are alphabetized. PR #50 added both files with the imports in the wrong order, which fails the frontend build with: src/components/local-file-dialog/index.js Line 3:1: `reactstrap` import should occur before import of `prop-types` Line 5:1: `@/cloudfile/agent-local-edit` import should occur before import of `@/cloudfile/cloudfile-api` src/features/library-view/toolbar/selected-dirents-toolbar/index.js Line 3:1: `@/components/local-file-dialog` import should occur after import of `@/components/icon` No logic change; `eslint` on both files now reports 0 errors.
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.
合并前置要求(2026-10-23 owner 裁决)
保持 Draft,当前方案未达到合并要求。必须结合 Checkout/Checkin 需求统一检查,按评审结果修改并完成验证后,再评审合并。 补齐网页三种入口或现有测试通过,均不能单独作为合并依据。
联合评审需明确三模式与 Checkout/Checkin 的关系、签出/提交/签入的操作入口及责任边界、占用者与其他用户的行为,以及续租、撤权、断线和未知回执的恢复规则。本文后续现有方案描述是待复核实现,不代表上述需求已经确认。
文件列表原入口固定签发
optimistic-edit,且依赖旧的CF_AGENT_OPTIMISTIC_UPLOAD_READY开关;文件预览页也缺少独占编辑入口。本 PR 为两处复用同一个“本地文件操作”窗口,显式选择local-view/optimistic-edit/exclusive-edit,统一调用已有openV2LocalFile。仅修改 Hub,不变更 Chrome/Agent2 协议、表或 Host。权限与失败规则
r仅查看;rw且库可写才允许编辑,文件权限优先于父目录权限。lock-info明确checkout_supported=true且checked_out=false时允许。能力未知/失败只禁用独占;已有 Guard 禁用新写任务并引导回已有 Agent2 任务,查看仍可用。验证
node --test tests/open-uri.cjs tests/agent2-routing.cjs:19 项通过;无需扩展改动。test_no_managed_boundary.py:11 项通过;三个修改入口 Babel 解析、git diff --check通过。docs/local-file-modes-web.md。核验 dev:Hub
df8c547,Chrome0a66287,Agent23daea00。共享窗口沿用已有src/cloudfile协议/API 边界,分层例外与后续整体迁移说明见文档;本次不扩大目录重构。关联与待验收
Related: eaopen/cloudfile-local-agent2#10, eaopen/cloudfile-local-agent2#1
两项 Issue 保持 Open;本 PR 不声明端到端通过,也不推 PROD。
详见
docs/local-file-modes-web.md。