Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions CHANGELOG.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,29 @@ All notable PocketRoot changes are recorded here. Semantic Versioning begins wit
infrastructure failure, restarting only its own temporary Simulator for one
bounded retry; caller-owned devices, ordinary assertions, and a second
failure still fail closed immediately.
- Host App iPad file-creation smoke no longer semantically taps `New File` or
`New Folder` directly in a popover. It revalidates the App and action frames,
performs a bounded physical-coordinate retry, and attaches the accessibility
hierarchy plus final frames if the name field never appears. Entering the
local document-picker location now also re-queries its target before every
attempt, using the sidebar item first and a newly resolved text frame inside
that row second. Both attempts dispatch only through captured App
coordinates while waiting for either Host navigation state or the Host
container. If neither completes the transition, hierarchy evidence is kept
without asking a disappearing system cell to resolve and perform its own
action.
- Files export now follows the UIKit presentation contract by showing
`UIActivityViewController` in a popover on iPad and adapting to a sheet only
in compact-width environments such as iPhone. This avoids the former iPad
modal path getting stuck with a dimmed background while the share content
remains below the screen. The temporary export directory is now removed by
the `UIActivityViewController` completion callback, so it is not deleted
while the popover hands the URL to the `Save to Files` document picker; it
is still cleaned up after completion, cancellation, or dismissal. A
dedicated iPad export UI smoke now verifies the platform activity UI, the
`Save to Files` action, and the actual document-picker handoff without
depending on system file import, while the system round-trip activates its
share menu action through a freshly validated physical frame.
- Tightened the untagged `v0.2.0` source-candidate audit:
`--allow-source-blocked` accepts only final source-release authorization as
unsatisfied, and fails on any pinned-gate-set, NOTICE, license, public API
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@ PocketRoot 的重要变化记录在这里,并从首个公开版本开始遵循
正在消失的元素。通用 UI runner 也会把 XCTest 在测试方法执行前报告的
Accessibility 加载超时识别为模拟器基础设施故障,仅对自己创建的临时 Simulator
重启并有界重试一次;调用方提供的设备、普通测试断言和第二次失败仍立即 fail-closed。
- Host App iPad 文件创建 smoke 不再直接语义点击 popover 中的 `New File` / `New Folder`:
测试会重新校验 App 与动作 frame、通过物理坐标有界重试,并在名称输入框未出现时附带
accessibility hierarchy 与最后 frame 立即失败。系统文件选择器进入本机位置时也会在
每次尝试前重新查询目标,首次使用 sidebar 条目、第二次使用条目内新解析的文字 frame,
且两次都只通过已捕获的 App 坐标触发,同时等待 Host 导航状态或容器条目;两条路径都
未完成转换时保留层级证据,不会要求正在消失的系统 cell 重新解析并执行自身动作。
- Files 导出现在按 UIKit 平台契约在 iPad 使用 popover 呈现
`UIActivityViewController`,并仅在 iPhone 等紧凑宽度环境适配为 sheet;这避免 iPad
在先前的模态 sheet 路径中只显示变暗背景、分享内容仍停留在屏幕下方。临时导出目录
改由 `UIActivityViewController` 完成回调清理,不会在 popover 为 `Save to Files` 交接
系统文件保存器时提前删除;完成、取消或关闭分享流程后仍会清理。新增独立的 iPad
导出 UI smoke,不依赖系统文件导入即可验证平台分享界面、`Save to Files` 动作以及
文件保存器确实打开;系统 round-trip 的分享菜单动作也改为通过重新校验的物理 frame
触发。
- 收紧 `v0.2.0` 未打 tag 源码候选审计:`--allow-source-blocked` 只接受最终源码发布
授权这一项尚未满足,固定门禁集合、NOTICE、许可证、公开 API 状态或源码边界漂移
都会失败;CI 和受信 tag 工作流只上传带 commit、archive SHA-256、文件统计和精确
Expand Down
4 changes: 2 additions & 2 deletions Compliance/Release/experimental-v0.2.0/COMPOSITION.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
"Sources/PocketRootTerminal/Bridge/TerminalBridge.swift": "b0850236d896a517258dc310c30f2f63dfaf4450cb7ff732a3ba3414c2da2002",
"Sources/PocketRootTerminal/Public/PocketRootCommandTerminalSession.swift": "5eaa24f24efb46de1482029b3c5f2ce33942a9e961249fbdaeb728eabe92257a",
"Sources/PocketRootTerminal/Public/PocketRootFileBrowser.swift": "2f74c5a311899995f8a941402ea5e3f7cad07a922fb341ff183e1b0795944801",
"Sources/PocketRootTerminal/Public/PocketRootFileBrowserView.swift": "dfc40223b22bae241d210430a23886e8410d3c39114e8cc655a848d6e1e86318",
"Sources/PocketRootTerminal/Public/PocketRootFileBrowserView.swift": "9a48150a7d3beb9cfed4ea882d8789891e9145813be6f551ab31ebdb0e920135",
"Sources/PocketRootTerminal/Public/PocketRootTerminalCommandExecutor.swift": "e9deacbb10e81adc412147a1a1b0a6f7896acfa2be4ef1b1a855e9cb01b09e61",
"Sources/PocketRootTerminal/Public/PocketRootTerminalConfiguration.swift": "2207a7c358517ddf2d8791019b39ce4f6b27203b0763046e40f825384ab08d14",
"Sources/PocketRootTerminal/Public/PocketRootTerminalTheme.swift": "a0f67e8d79b76465bb6b64d4ea3f48b886bc6a5d2d85a59669b82699e0e0649b",
Expand Down Expand Up @@ -120,7 +120,7 @@
"Examples/PocketRootDemo/Sources/PocketRootDemo/Shared/UI/PlaceholderViewController.swift": "48e0f6462228a66face2aef51f9bd39ec02923c4d1c01b6b34f920948998f2b8",
"Examples/PocketRootHostApp/Sources/HostApp.swift": "0c36bd3104ddc5bebb9e23675a44a92e3ce4aec2c1461b3e182d86d1a75159c9",
"Examples/PocketRootHostApp/Sources/Info.plist": "711b38923f11fdb4ceb7d28cb90a51674afec0a64786a20f9bd68e3f406f8d26",
"Examples/PocketRootHostApp/UITests/PocketRootHostAppUITests.swift": "d925256c6207a0ef676c260fc023a41d86df5e5c8d494957b0102c2266a3a228",
"Examples/PocketRootHostApp/UITests/PocketRootHostAppUITests.swift": "c7f18083694ba05706cdec2be8286acbf5e1e0d7b1f4479f84733199dd02fefb",
"Examples/PocketRootQuickStartApp/Sources/Info.plist": "b3c0c96e89db99c72c9f020590b1c5cdc0c927fd3af4b6ae7865abfdc81049b8",
"Examples/PocketRootQuickStartApp/Sources/QuickStartApp.swift": "1c77c9229281d0d1f9fbe3678bcc9995fff8c7d2189f4c6152daaa2999683fb6",
"Examples/PocketRootQuickStartApp/UITests/PocketRootQuickStartAppUITests.swift": "9d1c2a16adbd6918ea86d36808bfe360047ecb222d38afca2efd8db2d2eaf373",
Expand Down
2 changes: 1 addition & 1 deletion Compliance/Release/experimental-v0.2.0/SBOM.spdx.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"dataLicense": "CC0-1.0",
"SPDXID": "SPDXRef-DOCUMENT",
"name": "PocketRoot experimental full-graph composition 0.2.0",
"documentNamespace": "https://github.com/jacklv-coder/PocketRoot/sbom/release/experimental-v0.2.0/a9a4d9f55109789e23abb37c2f0c609173374996e45e8ce7e54c74e621d61b35",
"documentNamespace": "https://github.com/jacklv-coder/PocketRoot/sbom/release/experimental-v0.2.0/05495d05d69b4ddec325abb9b712c6bd632df73213c7c0ac51db6b2f036a6ba4",
"creationInfo": {
"created": "2026-08-03T00:00:00Z",
"creators": [
Expand Down
4 changes: 2 additions & 2 deletions Compliance/Release/experimental-v0.2.0/SHA256SUMS
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
a9a4d9f55109789e23abb37c2f0c609173374996e45e8ce7e54c74e621d61b35 COMPOSITION.json
05495d05d69b4ddec325abb9b712c6bd632df73213c7c0ac51db6b2f036a6ba4 COMPOSITION.json
9fe270ba11160051d13f99cfe4ce6ee03c52882b88339dd6e4c1b4923ae30755 READINESS.json
6d41126608b019b46332a7957889f41e3c3ec6c6e9e2b884dca5ffc6d405e943 README.md
fab07621b5188930bfd2a38117e206815d94f755e667d65fc182ee55d14d2d40 RELEASE-CHECKLIST.md
e1673e7cba02ebe7dc563b01906517d7cd676803b68b199e63bf083ee1b9c0e9 SBOM.spdx.json
888fffde64e4eed026296939334500cdc52d98694708e4edcb2a4130916bfe37 SBOM.spdx.json
Loading