Skip to content

Restore Shopify custom-install host (connect.lomi.africa) - #85

Open
princemuichkine wants to merge 3 commits into
mainfrom
cursor/restore-shopify-install-host-4988
Open

Restore Shopify custom-install host (connect.lomi.africa)#85
princemuichkine wants to merge 3 commits into
mainfrom
cursor/restore-shopify-install-host-4988

Conversation

@princemuichkine

Copy link
Copy Markdown
Collaborator

What

Restores the in-repo Shopify custom-install path so merchants (including Abdoul Raouf / kiz5dx-3m.myshopify.com) can leave dashboard Integrations → Shopify and reach OAuth once DNS + Vercel are live.

Canonical host stays https://connect.lomi.africa. That is already what Partner shopify.app.toml, dashboard VITE_SHOPIFY_APP_URL fallback, and docs document. Do not switch to shopify.lomi.africa.

Why

Re-verified 2026-09-06:

Host DNS HTTPS
connect.lomi.africa NXDOMAIN (no A/CNAME) cannot connect
shopify.lomi.africa CNAME b16496f94f759a85.vercel-dns-016.com Vercel DEPLOYMENT_NOT_FOUND; TLS CN=*.lomi.africa expired 2025-02-09 (Let's Encrypt R11)
dashboard.lomi.africa / docs / pay / api live valid per-host Let's Encrypt

Vercel team Princemuichkine has no Shopify project. Dashboard “Shopify on” only arms the channel; window.open of https://connect.lomi.africa/install?shop=… is the “Site inaccessible” page. Custom install only (not App Store).

Comptoir can resume the call-first draft after this host answers.

How

Shopify app (lomiafrica/shopify @ cursor/restore-shopify-install-host-4988):

  • GET /health (no Partner secret import) + CORS for dashboard.lomi.africa
  • .env.example, .node-version 20 (engines are >=18 <22)
  • Shared DEFAULT_SHOPIFY_APP_URL

Dashboard (lomiafrica/dashboard @ same branch name):

  • Integrations install URL from VITE_SHOPIFY_APP_URL / connect.lomi.africa
  • Probe /health before opening OAuth
  • CSP connect-src allows https://connect.lomi.africa
  • Woo install link → live docs zip

Woo (lomiafrica/woo @ same branch name): download docs point at https://docs.lomi.africa/downloads/woo-lomi.zip

Monorepo:

  • .github/workflows/app-deploy-shopify.yml + tooling/vercel/shopify.json (Remix Build Output; do not copy the Next umbrella stub)
  • apps/plugins/scripts/check-ecommerce-hosts.sh
  • Woo docs: /releases/latest is the CLI, not woo-lomi.zip

Other ecommerce hosts (light pass)

Live: api.lomi.africa, sandbox.api.lomi.africa, docs woo-lomi.zip, GitHub woo / magento / prestashop / bubble. Magento/PrestaShop/Bubble already use those API hosts. No new rails or fees.

Broken and fixed: dashboard + Woo README used …/releases/latest/download/woo-lomi.zip → 404 on cli-v3.4.0.

Babacar — DNS / Vercel (cannot do from git)

GoDaddy (ns03/ns04.domaincontrol.com), same pattern as invoice.lomi.africa.

  1. Vercel project on the lomi. team (Hobby cannot Git-connect private lomiafrica/shopify). CLI deploy only.
    • Name suggestion: connect.lomi.africa
    • Framework: Remix / Build Output from tooling/vercel/shopify.json
    • Node 20.x
  2. GitHub secret on lomiafrica/lomi.: VERCEL_PROJECT_ID_SHOPIFY (reuse VERCEL_TOKEN, VERCEL_ORG_ID).
  3. Env on that project: SHOPIFY_API_KEY, SHOPIFY_API_SECRET, SHOPIFY_APP_URL=https://connect.lomi.africa, SHOPIFY_SCOPES=read_checkouts,read_orders,write_checkouts,write_orders,write_products, SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, NODE_ENV=production.
  4. GoDaddy: CNAME connect → the Vercel target (cname.vercel-dns.com or the project’s *.vercel-dns-016.com). Then vercel domains add connect.lomi.africa and verify.
  5. Do not keep using the expired uploaded *.lomi.africa cert (Nov 2024–Feb 2025). Let Vercel issue a host cert (same as dashboard/docs).
  6. Optional alias: point shopify.lomi.africa at the same project and remove the dangling DEPLOYMENT_NOT_FOUND assignment. Not the documented install URL.
  7. After first production deploy: curl -i https://connect.lomi.africa/health → 200 {"ok":true,…} then
    https://connect.lomi.africa/install?shop=kiz5dx-3m.myshopify.com.
  8. Partner dashboard already lists connect.lomi.africa redirect URLs. Only run shopify app deploy if those URLs drifted.
  9. Then tell Comptoir the host is live.

Review

Please review: Alpha Diop (khossdev, alpha@lomi.africa) — Shopify app, Woo download, docs, deploy workflow. Dashboard submodule is private (Alpha should not be granted core-repo access); review that surface via this PR description + the dashboard branch if you have access.

Linear context: CORE-30.

Testing

  • pnpm test + pnpm typecheck in apps/plugins/shopify (Node 20): health report tests pass
  • apps/plugins/scripts/check-ecommerce-hosts.sh: API, docs Woo zip, plugin GitHubs OK; Shopify /health warns (NXDOMAIN) until steps above
  • Did not deploy to Vercel from this agent (no project id, no Partner secrets)
Open in Web Open in Cursor 

Keep connect.lomi.africa as the documented install URL (Partner toml,
dashboard, docs). Add a Vercel deploy workflow for the private Shopify
app, a /health probe, and a host-check script. Point Woo at the live
docs zip because GitHub /latest is the CLI and 404s.

DNS and the Vercel project still have to be created outside git.

Co-authored-by: Babacar Diop <princemuichkine@users.noreply.github.com>
@vercel

vercel Bot commented Sep 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs.lomi.africa Ready Ready Preview Sep 6, 2026 11:23am UTC

@princemuichkine
princemuichkine marked this pull request as ready for review September 6, 2026 11:15
cursoragent and others added 2 commits September 6, 2026 11:18
Actions pnpm 9 rejects the committed overrides encoding with
--frozen-lockfile, and supabase-js 2.x declares engines.node >=22.
Allow a non-frozen, engine-lenient install for this app only.

Co-authored-by: Babacar Diop <princemuichkine@users.noreply.github.com>
Shopify CI sets this so pnpm 9 can install despite lockfile overrides
encoding drift, with PNPM_IGNORE_ENGINES for the Node 20 / supabase-js
engines clash.

Co-authored-by: Babacar Diop <princemuichkine@users.noreply.github.com>
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