Port the task-led support entry and deterministic order intake into Desk - #9
Merged
Conversation
Ported from AbleDesk PR #47 (583b0e9). Help always opens at its landing page: a browser refresh is a new visit, not a restored transcript, so the stored session key is gone. Contact-card turns are hidden from the visible transcript, and the mobile intake shell is corrected. Session/reset storage keys keep the Morrow prefix. public/voice-demo.js and public/voice-demo.css are build outputs and are rebuilt separately.
Ported from AbleDesk PR #48 (baaac44). An order question from an unidentified visitor is routed deterministically into the contact card instead of relying on the model to ask for identity, and the Shopify order-lookup bindings are wired into the local and test runtimes. Binding and environment variable names keep the MORROW_ prefix.
Ported from AbleDesk PR #49 (6e06146), mechanism only. The landing page now offers a "Common tasks" grid of scoped starting points backed by data-support-message, moves "Contact support" into that grid, and links private-request recovery. Contact-card labels become addressable so the card can explain which reason it is collecting for. HUMAN_HELP_MESSAGE now names the real outcome — a private email-support request, not a live transfer — and the explicit_human_request rule matches the new wording. Fix Coffee's product copy is deliberately NOT ported: Morrow keeps its neutral headings, "Ask anything" placeholder, branded lede, and generic test fixtures. The India-specific "GST invoice" tile is generalised to "Billing or invoice". Order-number fixtures use a neutral prefix. public/voice-demo.js and public/voice-demo.css are build outputs and are rebuilt separately.
Only agent-home changes, across all four viewports: the landing page grew from 1000px to 1097px tall when the "Common tasks" grid landed. The other 60 visual assertions passed unchanged against existing baselines before the update, so nothing unrelated was absorbed. Linux goldens are captured separately by the Capture Linux visual baselines workflow.
Captured by the Capture Linux visual baselines workflow on this branch (run 31102558247, 64 passed). The artifact carried all 24 goldens; only the four agent-home images differ from the reviewed set already in the repository, so no unrelated surface drifted.
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.
What changes for a customer
The support homepage stops being a single open-ended prompt. It now offers
six scoped starting points — track an order, delivery problem, warranty or
repair, billing or invoice, contact support, find a request — each entering a
conversation with a known reason instead of hoping the model asks the right
question. An order question from an unidentified visitor routes
deterministically into the contact card rather than depending on the model to
ask for identity. A browser refresh is a new visit, not a silently restored
transcript.
"Ask the team" is gone. The escalation path now says what actually happens: a
private support request answered by email.
HUMAN_HELP_MESSAGEand theexplicit_human_requestrule were reworded together so the promise in thetranscript matches the outcome, and no surface claims a live human transfer.
Where this came from
These three changes were merged into the AbleDesk repository after Morrow was
cut from it on 2026-08-01, so Morrow has been behind since the day it was
opened. Each commit here maps to one of them:
fix: fix mobile support intake flowfeat: route anonymous order questions into the contact cardfeat: make support entry task-ledWhat was deliberately not ported
AbleDesk #49 carries its deployment's own product copy. Morrow keeps its
neutral wording:
How can we help?, the branded lede viaworkspaceShortName, and theAsk anythingplaceholder. The India-specific"GST invoice" tile is generalised to "Billing or invoice", and test fixtures
use neutral products and order numbers. Storage keys, environment variables
and Worker vars keep their
morrow-/MORROW_prefixes throughout.The mechanism is fully ported: the task grid and its
data-support-messagecontract, addressable contact-card labels so the card can name its reason,
the private-request recovery link, and the Shopify order-lookup bindings in
the local and test runtimes.
Verification
npm run check— 206 + 2 tests pass, generated assets in sync, alltypechecks clean
npm run test:visual— 64 passed, 20 skipped4 failures, all
agent-home, all from the landing page growing 1000px to1097px; the other 60 assertions passed against existing baselines. The
Linux artifact carried all 24 goldens and only those same 4 differed from
the reviewed set, so no unrelated surface drifted.
this branch: run 31102558247.
🤖 Generated with Claude Code