Skip to content

Fix streaming drafts, UTC timestamps and permission review - #20

Merged
piclaw-bot merged 3 commits into
mainfrom
review/ui-streaming-permissions
Oct 2, 2026
Merged

piclaw-bot merged 3 commits into
mainfrom
review/ui-streaming-permissions

Conversation

@rcarmo

@rcarmo rcarmo commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Fix streaming drafts, UTC timestamps and permission review

PR: #20
Base: main
Head: review/ui-streaming-permissions

First PR of the published stack: #20 UI → #21 Windows → #22 FFI. Neither child is required to review this UI diff. CI/review follow-up is handed to the maintainer; no automatic merge is enabled.

Changes

  • Accumulate explicit append-mode draft events; preserve replacement snapshots and avoid double consumption of expanded deltas.
  • Interpret SQLite CURRENT_TIMESTAMP strings as UTC. Keep explicit timezone offsets, periodically update ages and show absolute local time on hover.
  • Remove agent capability diagnostics from the composer.
  • Render native-shaped permission requests as actions and arguments while retaining ACP/Pi payload compatibility. Keep exact CLI text visible and wrapped, add a LAN-HTTP-compatible Copy action, visible warnings, fixed decision footer and keyboard focus handling.
  • Support optional free-form response text and exact request-close SSE events without changing existing response option IDs or granting permissions.
  • Preserve canonical UX fixture LF bytes on Windows. Exempt generated JS from whitespace rewriting.
  • Fix four pre-existing Python E701/E702 style violations in message retrieval so the existing whole-repository lint gate can run. No behavior change in those four edits.
  • Deduplicate successful queue steering per chat/turn/row, including after HTTP acknowledgement; failed submissions remain retryable.
  • Ship docs/BROWSER_REVIEW.md and link it from the README.

No Copilot SDK dependency, native adapter, token handling, upload-ownership change or LAN deployment wrapper is included. Copilot-shaped display normalization is passive; it can render any matching request payload without starting an adapter.

Verification

  • 56 frontend tests pass; frontend ESLint/build pass.
  • Whole-repository Ruff passes; 7 message-tool tests pass.
  • Added browser fixtures for word-chunk accumulation, replacement snapshots, expand/collapse deduplication, UTC age updates in Lisbon/UTC/New York, and permission layout/copy/focus at desktop, phone and landscape sizes.
  • Hosted Linux Python and installed-package checks passed. Initial Chromium/WebKit run: 511 passed, 2 skipped, 5 failed (four assertions still expected the deliberately removed capability strip; one WebKit steering duplicate). Corrected those contracts and the deduplication implementation; full browser CI is rerunning at f382691.
  • Integrated Edge fixture checks passed for the above flows. Latest CI: https://github.com/rcarmo/vibes/actions/runs/37045198117
  • The UI-only branch retains upstream's Windows fcntl startup limitation. An attempted system-metrics app smoke failed at that unchanged POSIX import; it is addressed by the separate Windows PR. This PR is not labelled full-Windows-suite green.

Review focus

draft-stream.js, timestamps.js, agent-request-details.js, permission-clipboard.js, status.js and the scoped style overrides in styles.css contain the maintained code. Generated JS/CSS/maps and the HTML asset hash were rebuilt for this branch. Approval callbacks and IDs are unchanged; tests never approve real user requests.

@rcarmo
rcarmo marked this pull request as ready for review October 2, 2026 18:22
@piclaw-bot
piclaw-bot merged commit 680c767 into main Oct 2, 2026
1 of 2 checks passed
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