Skip to content

Restore order notes and consistent planning details in K-food - #314

Merged
OziinG merged 3 commits into
mainfrom
codex/fix-kfood-oct01-order-flows
Oct 1, 2026
Merged

OziinG merged 3 commits into
mainfrom
codex/fix-kfood-oct01-order-flows

Conversation

@OziinG

@OziinG OziinG commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Orders with Shopify notes lost their note buttons when the canonical-only loader bypassed the Shopify query. Preserve order and customer note fields through the canonical adapter, including explicit clears from the server, so available notes appear beside the order number again.

The same operational fix also keeps filter popovers beside their triggers across repeated openings, exposes Date pending in Add Order, shows the existing order details in standalone and All routes views, and avoids reusing completed Shopify session tokens. All routes exposes read-only details and links to the owning route.

Validation:

  • Final complete app test suite: 867 passed.
  • Final canonical and Orders regression tests: 123 passed.
  • Final build, typecheck, scoped ESLint, public URL guard, and diff checks passed.
  • Browser fixtures verified single/All routes order details, unassigned rows, item popovers, and repeated filter opening without scroll movement.
  • Independent review found no remaining issues, including the note-clear change and CI timeout-test fix.
  • CI exposed an existing webhook timeout mock that let Node exit before AbortSignal.timeout fired. The test now holds a bounded timer until abort and asserts the actual TimeoutError; production webhook code is unchanged.

Deployment: K-food only, after exact-main CI succeeds. Server PR EVNSolution/clever-route-server#470 is already deployed. Customer-profile note ingestion remains a server follow-up when no customer note exists in the canonical payload; this change does not invent or conflate delivery instructions with customer notes. Historical delivery dates and Shopify source records are unchanged.

OziinG added 3 commits October 2, 2026 00:15
Preserve canonical notes and pending-date selection, show order details in every route scope, and stabilize embedded filter and session-token handling. Record the separate server cutoff and note projection defects with read-only evidence.

Constraint: Shopify orders remain read-only and production is unchanged
Rejected: Group-wide stop mutations from the new table | information display does not require expanding draft mutation scope
Confidence: high
Scope-risk: moderate
Directive: Fix server ingestion cutoff and note projection before claiming the production incident resolved
Tested: 867 app tests, 16 canonical tests, build, typecheck, public URL guard, changed-file lint, embedded fixture checks
Not-tested: Production deployment and historical date repair
Match the canonical API note contract by distinguishing absent fields from explicit null clears. Record why the order-number note icon disappears and which customer-note ingestion work remains after the server release.

Constraint: Preserve order and customer note meaning independently of delivery instructions
Confidence: high
Scope-risk: narrow
Tested: 123 focused tests, typecheck, build, changed-file lint, independent review
Not-tested: Production Shopify app deployment and customer-profile note ingestion
Constraint: Mocked fetch has no socket to keep Node alive for an unreferenced timeout.
Confidence: high
Scope-risk: narrow
Tested: All 867 app tests and scoped ESLint pass; independent review approved.
Directive: Assert the real TimeoutError so the fallback timer cannot mask a regression.
@OziinG
OziinG merged commit afbaa26 into main Oct 1, 2026
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.

1 participant