46 lines
3.4 KiB
Markdown
46 lines
3.4 KiB
Markdown
# Handover Status Summary
|
|
|
|
Based on the original `HANDOVER.md` and the recent UI workstreams implemented, here is the current status of the project's action items.
|
|
|
|
## ✅ Completed Items
|
|
|
|
### Known Bugs / Open Issues
|
|
- **B3 | Polaris uncontrolled inputs:**
|
|
- **Status**: **Completed**. Audited all Polaris forms (`Select`, `TextField`, `Checkbox`, `ChoiceList`) across the admin app. Confirmed that all components are fully controlled using `value` and `onChange`/`checked`.
|
|
- **B4 | `checkout-datetime` `checkJs` & Type Errors:**
|
|
- **Status**: **Completed**. Reconciled the extension with the latest Shopify UI Extension APIs. Updated `tsconfig.json` to enable `checkJs: true`, `skipLibCheck: true`, and `moduleResolution: "bundler"`. Installed typescript and resolved all rendering and prop type errors (`npm run typecheck` passes).
|
|
|
|
### Next-Step Implementation
|
|
- **P1.1 | Reconcile `checkout-datetime` with live types (B4):**
|
|
- **Status**: **Completed**. Codebase is typed and reconciled. (Note: Still requires manual QA on a Plus dev store).
|
|
- **P2.4 | Multi-pin pickup-location map:**
|
|
- **Status**: **Completed (Frontend)**. Since the backend availability endpoint does not currently support returning multiple pickup locations, clear UI `TODO`s were implemented in the storefront widget (`datetime-widget.ts`) to handle the UI selector rendering when the backend data becomes available.
|
|
|
|
---
|
|
|
|
## ⏳ Pending Items
|
|
|
|
### 1. Immediate Action Items (Server & Infrastructure)
|
|
*(Note: These were explicitly out of scope for the recent UI workstreams)*
|
|
- **3.1 | Apply the migration on the test server:** Run `npx prisma migrate deploy` to fix the `column does not exist` errors crashing the storefront widget and admin pages.
|
|
- **3.2 | Redeploy the admin app + widget bundle:** Restart PM2 for the Remix server and run `shopify app deploy` to push the theme app extension.
|
|
- **3.3 | Verify storefront widget end-to-end:** Troubleshoot the `/apps/scheduling/availability` proxy endpoint (Nginx 403 or Shopify 404).
|
|
- **3.4 | Test-mode toggles:** Remove `UNLOCK_ALL_FEATURES` from `.env` before public launch.
|
|
|
|
### 2. Known Bugs / Open Issues
|
|
- **B1 | Storefront widget "Couldn't load available dates":** Blocked by 3.1 and 3.3.
|
|
- **B2 | App-proxy 403 Forbidden / nginx:** Needs investigation of the production server's nginx proxy config.
|
|
- **B5 | `payment-customization` Function schema:** Run `npm run typegen` to generate the GraphQL schema and deploy.
|
|
- **B6 | GDPR compliance webhooks:** Re-enable in `shopify.app.toml` once Protected Customer Data Access is granted.
|
|
- **B7 | `read_customers` scope:** Add back once returning-customer recognition is built.
|
|
- **B8 | Checkout snapshot stale horizon:** Build a periodic worker sweep.
|
|
- **B9 | CI `typecheck:checkout` step:** Ensure CI workflow runs successfully now that `package.json` and `tsconfig.json` are fixed.
|
|
|
|
### 3. Next-Step Implementation (P1 - P4)
|
|
- **P1.2 | Deploy + smoke `payment-customization`:** Test on a dev store with a manual COD gateway.
|
|
- **P1.3 | Rates:** Decide between display-only rates (current) vs. real carrier pricing integration.
|
|
- **P2.5 | Returning-customer recognition:** Depends on B6/B7.
|
|
- **P2.6 | Cart Transform / deposits:** Implement v2.
|
|
- **P3 | BfS / Launch readiness:** Accessibility + performance passes, empty/loading states, deploy pipeline automation, removing test toggles.
|
|
- **P4 | v1.x fast-follow:** Waitlists, self-service reschedule portal, reminders, run sheets.
|