Skip to content

Android: polish workspace file navigation#104873

Merged
Solvely-Colin merged 5 commits into
openclaw:mainfrom
IWhatsskill:codex/android-workspace-files-navigation
Jul 12, 2026
Merged

Android: polish workspace file navigation#104873
Solvely-Colin merged 5 commits into
openclaw:mainfrom
IWhatsskill:codex/android-workspace-files-navigation

Conversation

@IWhatsskill

@IWhatsskill IWhatsskill commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

[AI-assisted]

What Problem This Solves

Workspace browsing loses context inside nested folders: the header only shows the leaf folder name, and users cannot refresh a listing without navigating away and back.

Why This Change Was Made

The Android Files screen now shows the relative workspace path below the folder title and adds a refresh action that reuses the existing listing request and loading state. Refresh and pagination share one in-flight guard, so they cannot launch concurrently or publish directory results out of order. Error handling, previews, sharing, Gateway APIs, and transport behavior remain unchanged. The native i18n inventory is synchronized for the accessibility label.

User Impact

Nested workspace navigation is easier to understand at a glance, changed files can be refreshed in place with one tap, and refresh cannot race pagination into stale, duplicated, or skipped rows.

Evidence

Focused Android validation passed after the review repair and current-main merge:

  • WorkspaceFilesTest, including request-in-flight regression coverage
  • pnpm native:i18n:check
  • pnpm android:i18n:check
  • git diff --check

The visible behavior was tested on a lane-a Android emulator against an isolated, paired OpenClaw Gateway. The online gate showed Gateway online, Nodes 1/1, Approvals 0, and no pending device or node requests. The concurrency repair does not change the demonstrated layout or interaction.

BeforeAfter
Before: nested workspace folder without path context or refresh action After: nested workspace folder with relative path and refresh action

After — navigate nested folders and refresh the current listing:

after-workspace-files-navigation-refresh-20260712-v1.mp4

@IWhatsskill
IWhatsskill marked this pull request as ready for review July 12, 2026 01:46
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: 🎥 video Contributor real behavior proof includes video or recording evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. labels Jul 12, 2026
@clawsweeper

clawsweeper Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 11, 2026, 11:54 PM ET / July 12, 2026, 03:54 UTC.

Summary
The branch adds a relative workspace-path subtitle, in-place refresh action, shared refresh/pagination request guard, regression coverage, and synchronized native i18n metadata to the Android workspace Files screen.

PR surface: Other +54. Total +54 across 3 files.

Reproducibility: not applicable. This PR adds a small Android navigation affordance rather than repairing a defined broken behavior contract. The earlier branch race is source-reproducible from the first reviewed head and demonstrably repaired on the current head.

Review metrics: none identified.

Merge readiness
Overall: 🦞 diamond lobster
Proof: 🦀 challenger crab ✨ media proof bonus
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Risk before merge

  • [P1] The exact-head Android build check was still running at final inspection; this is a routine merge gate rather than evidence of a patch defect.

Maintainer options:

  1. Decide the mitigation before merge
    Merge the focused screen-local improvement after the remaining exact-head build gate succeeds, retaining the common in-flight guard and the existing Gateway, navigation, preview, sharing, and pagination ownership.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • No automated repair action remains; ordinary maintainer review and completion of the exact-head build gate are appropriate.

Security
Cleared: The patch changes Compose UI state, a pure helper test, and generated localization metadata without introducing a concrete security or supply-chain concern.

Review details

Best possible solution:

Merge the focused screen-local improvement after the remaining exact-head build gate succeeds, retaining the common in-flight guard and the existing Gateway, navigation, preview, sharing, and pagination ownership.

Do we have a high-confidence way to reproduce the issue?

Not applicable; this PR adds a small Android navigation affordance rather than repairing a defined broken behavior contract. The earlier branch race is source-reproducible from the first reviewed head and demonstrably repaired on the current head.

Is this the best way to solve the issue?

Yes. Extending the established screen and canonical listing request is the narrowest maintainable approach, and the common in-flight guard protects the refresh/pagination invariant without duplicating behavior.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 630a8c256e01.

Label changes

Label changes:

  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦀 challenger crab and patch quality is 🦞 diamond lobster.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦞 diamond lobster, so this older rating label is no longer current.

Label justifications:

  • P3: This is bounded Android navigation and refresh polish with limited blast radius and no remaining correctness blocker.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦀 challenger crab and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): Valid before/after Android emulator screenshots directly show the relative path and refresh affordance, with a paired-Gateway recording supplying supplemental interaction proof.
  • proof: sufficient: Contributor real behavior proof is sufficient. Valid before/after Android emulator screenshots directly show the relative path and refresh affordance, with a paired-Gateway recording supplying supplemental interaction proof.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. Valid before/after Android emulator screenshots directly show the relative path and refresh affordance, with a paired-Gateway recording supplying supplemental interaction proof.
Evidence reviewed

PR surface:

Other +54. Total +54 across 3 files.

View PR surface stats
Area Files Added Removed Net
Source 0 0 0 0
Tests 0 0 0 0
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 3 72 18 +54
Total 3 72 18 +54

What I checked:

Likely related people:

  • steipete: Introduced and merged the Android workspace Files feature and has the clearest merged history for its screen, listing contract, navigation state, and tests. (role: feature introducer, merger, and recent area contributor; confidence: high; commits: 4188f9991a3a, b034b986a8df, 61a29a78364a; files: apps/android/app/src/main/java/ai/openclaw/app/ui/WorkspaceFilesScreen.kt, apps/android/app/src/main/java/ai/openclaw/app/WorkspaceFiles.kt, apps/android/app/src/main/java/ai/openclaw/app/MainViewModel.kt)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (2 earlier review cycles)
  • reviewed 2026-07-12T01:59:18.061Z sha 47ca668 :: needs changes before merge. :: [P2] Prevent refresh from racing pagination
  • reviewed 2026-07-12T02:58:30.930Z sha ee07e01 :: needs maintainer review before merge. :: none

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed proof: 🎥 video Contributor real behavior proof includes video or recording evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jul 12, 2026
@clawsweeper clawsweeper Bot added rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels Jul 12, 2026
@Solvely-Colin
Solvely-Colin merged commit 86b10ff into openclaw:main Jul 12, 2026
91 of 93 checks passed
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 12, 2026
* fix(android): polish workspace file navigation

* fix(android): serialize workspace file requests

---------

Co-authored-by: IWhatsskill <[email protected]>
Co-authored-by: Colin Johnson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app: android App: android P3 Low-priority cleanup, docs, polish, ergonomics, or speculative work. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. size: S status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants