Skip to content

Fit chat approvals and the Agent inbox to a phone-width screen - #481

Merged
Birfy merged 3 commits into
ThinkFlowLab:mainfrom
Birfy:feat/362-mobile-layout
Oct 20, 2026
Merged

Birfy merged 3 commits into
ThinkFlowLab:mainfrom
Birfy:feat/362-mobile-layout

Conversation

@Birfy

@Birfy Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Fixes #362

Step 1 only, per the Owner decision (2026-10-20): a phone-width layout for the chat, the held-reply Approve / Reject buttons and the Agent inbox. No PWA, push or native app.

What. One new style block, core/src/client/mobile.js (MOBILE_CSS, all under @media (max-width:640px), installed last in the shell group), plus one phone rule in the social hold card:

  • Held-reply and floating approval cards: Reject / Approve share the card width as 40px buttons, Approve filled with the accent; the held card uses the full message width. Social's hold card gets 40px Approve / Reject too.
  • The floating approval stack and the chat pointers span the screen beside DSH's 56px icon rail (DSH already collapses the sidebar below 1024px), so the top + and the account stay reachable.
  • Inbox cards put their buttons on a row under the text (36px) and wrap title/reason to two lines instead of truncating to "Run npm i…". The inbox dialog already went full-screen at this width.

Why. At 400px the inbox card's buttons squeezed the title to a few characters, the held-reply buttons were ~24px browser defaults, and the pointer covered the top +.

Test. core/test/mobile-layout.test.js (rules sit in one media query, button sizes, rail clearance, inbox wrap, install order and bundle) and a social test for the hold-card rule. ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify passes (core 1062, social 292, tree 80, timeline 80, scripts 88, interop 37, live-e2e 16; 0 failures, 0 skipped). Checked by eye on a local mock dsh web (npm harness 0.2.0-rc.2, mock model) in headless Chrome at 400px and 360px: chat, inbox, held card and floating approvals. Wider screens are unchanged (every rule sits in the max-width query).

Risk tier: T1 (estimate; the controller sets the label)

…FlowLab#362)

Step 1 of ThinkFlowLab#362 (owner decision 2026-10-20): below 640px the held-reply and
floating approval buttons are 40px touch targets (Approve filled), the floating
approval stack and chat pointers sit beside the 56px icon rail, and inbox cards
wrap their buttons under the text. Wider screens are unchanged. No PWA, push or
native app.
@Birfy Birfy added agent-pr Pull request opened by an agent enhancement New feature or request area:ui Web/desktop UI and copy labels Oct 20, 2026
@Birfy Birfy self-assigned this Oct 20, 2026
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 774ba97
Ran:

  • ARCH_DOCS_BASE=origin/main TZ=UTC npm run verify: pass (core lint + arch-docs OK, plugin lint, build-client --check, ds-bot-patches check; core 1062, social 292, tree 80, timeline 80, scripts 88, interop 37, live-e2e 16; 0 fail, 0 skipped)
  • node scripts/ds-bot-patches.mjs generate then check: ok; node .github/scripts/changelog.mjs check: ok
  • CI at tip: tests-ok, test, plugins (social/tree/timeline), package all green; risk tier (report only) T2
  • Local mock dsh web (npm harness DSH 0.2.0-rc.2, mock model) in headless Chrome at 400px and 360px: chat, Agent inbox card, held-reply card and floating approval stack checked by eye before and after
  • Design rules re-read against the diff: approval stays on explicit UI buttons only (no new path), English UI, one top + menu kept reachable, scope limited to step 1 (no PWA/push/native), wider screens unchanged (all rules in one max-width query)
    Not run:
  • Real phone browsers (iOS Safari / Android Chrome); a live friend's held reply through Bot Social (held card drawn from fixture markup on the bench)
  • The user's Mac instances and the production Bot Social server (not touched)

@Birfy Birfy added the awaiting-approval PR is green and waits for the maintainer's approval (T2/T3) or a review PASS at its tip label Oct 20, 2026
@Birfy
Birfy added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 20, 2026
# Conflicts:
#	patches/ds-bot/0008-client-bundle.patch
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 44fe62c
Ran:

@Birfy
Birfy added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 20, 2026
# Conflicts:
#	patches/ds-bot/0008-client-bundle.patch
#	plugins/social/test/social.test.js
@Birfy

Birfy commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

Self-review: PASS
Tip SHA: 22b6d8d
Ran:

@github-actions github-actions Bot added the risk:T2 Risk tier T2 (host/plugin code or an unnamed path), set by the controller from the diff label Oct 20, 2026
@Birfy
Birfy added this pull request to the merge queue Oct 20, 2026
Merged via the queue into ThinkFlowLab:main with commit 2c2cabc Oct 20, 2026
8 checks passed
@Birfy
Birfy deleted the feat/362-mobile-layout branch October 20, 2026 06:47
Birfy added a commit to Birfy/FlyBot that referenced this pull request Oct 20, 2026
…ThinkFlowLab#481/ThinkFlowLab#501/ThinkFlowLab#505)

Keep ThinkFlowLab#499 composer-label / data-placeholder docs with ThinkFlowLab#481 phone hold-card targets.
Regenerated client bundle patch after merge.
Birfy added a commit to Birfy/FlyBot that referenced this pull request Oct 20, 2026
Birfy added a commit to Birfy/FlyBot that referenced this pull request Oct 20, 2026
…owLab#481/ThinkFlowLab#501/ThinkFlowLab#505)

Regenerated client bundle patch after merge; auto-merged social sources keep ThinkFlowLab#498 friend Bot name formatter with ThinkFlowLab#501/ThinkFlowLab#505.
Birfy added a commit to Birfy/FlyBot that referenced this pull request Oct 20, 2026
Birfy added a commit to Birfy/FlyBot that referenced this pull request Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ui Web/desktop UI and copy enhancement New feature or request risk:T2 Risk tier T2 (host/plugin code or an unnamed path), set by the controller from the diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mobile: PWA first, then native — approvals and reminders on the phone

1 participant