No description
Find a file
Dave 2b56053e1c fix(po): stop PocketBase auto-cancellation from killing PO creation
The Purchase Order form never reached the server. Creating a PO with two
or more "Manual Entry" rows fired N parallel POSTs to
/api/collections/stock_items/records via Promise.all. The PocketBase JS
SDK auto-cancels any in-flight request whose method + path match a newer
one, so the first POST was aborted with:

  ClientResponseError 0: The request was autocancelled.

Promise.all then rejected before the PO create ever ran, so the PO was
never created - only an orphan stock item per attempt. Confirmed against
the production PB logs: two stock_items POSTs today, zero
purchase_orders POSTs, and two orphan stock_items rows with no PO.

Fixes:
- src/lib/pocketbase.ts: pb.autoCancellation(false) on the browser
  client. Every server-side client in this repo already did this
  (scripts/*.mjs, server/po-api.mjs) - the browser client was the one
  place it was missing.
- PurchaseOrderForm: resolve rows sequentially instead of Promise.all,
  and build the snapshot in the same pass so manual rows carry the real
  stock item id instead of "".
- PurchaseOrderForm: disable the submit button while submitting, so a
  double click cannot create two POs.
- PurchaseOrderForm: compare SKUs trimmed, so a stray trailing space
  does not create a duplicate stock item.
- po-photo-ingest.mjs, jei_skill.ts, setup-users.js: same
  autoCancellation(false) guard.
2026-10-22 07:56:30 +02:00
.cursor feat(po): add MCP server, agent-friendly PO API, and PDF rendering 2026-09-07 11:12:13 +02:00
.playwright-mcp UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
backup Fixed login 2025-09-25 00:15:35 +02:00
docs feat(po): add MCP server, agent-friendly PO API, and PDF rendering 2026-09-07 11:12:13 +02:00
n8n feat(automation): add PO-to-invoice pipeline 2026-09-06 23:40:33 +02:00
pocketbase feat(quotes): delete quotes from the app, add customer inline with full details 2026-10-21 05:09:11 +02:00
public feat(purchase-orders): add edit functionality and improve form validation 2026-01-14 09:01:49 +02:00
scripts fix(po): stop PocketBase auto-cancellation from killing PO creation 2026-10-22 07:56:30 +02:00
server feat(po): add MCP server, agent-friendly PO API, and PDF rendering 2026-09-07 11:12:13 +02:00
src fix(po): stop PocketBase auto-cancellation from killing PO creation 2026-10-22 07:56:30 +02:00
.env.example feat(automation): add PO-to-invoice pipeline 2026-09-06 23:40:33 +02:00
.gitignore chore: untrack .env and pb_data, update gitignore 2026-09-01 07:45:02 +02:00
.mcp.json feat(automation): add PO-to-invoice pipeline 2026-09-06 23:40:33 +02:00
AI_RULES.md Updated AI_RULES.md 2025-09-19 12:19:47 +02:00
app-overview.png UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
components.json Init Dyad app 2025-09-09 00:12:47 +02:00
dashboard-updated.png UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
eslint.config.js Init Dyad app 2025-09-09 00:12:47 +02:00
index.html Add icon generation script and new icons for PWA and favicons 2025-09-25 00:50:36 +02:00
LOGGING_IMPLEMENTATION.md Fixed login 2025-09-25 00:15:35 +02:00
login-mobile-final.png UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
login-mobile.png UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
login-page-final.png UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
login-page.png UI: style polish, charts, tables, forms, PDF fix 2026-05-16 00:07:52 +02:00
nixpacks.json Update nixpacks.json 2025-12-29 14:15:05 +02:00
package-lock.json feat(po): add MCP server, agent-friendly PO API, and PDF rendering 2026-09-07 11:12:13 +02:00
package.json feat(po): add MCP server, agent-friendly PO API, and PDF rendering 2026-09-07 11:12:13 +02:00
postcss.config.js Init Dyad app 2025-09-09 00:12:47 +02:00
quote-dialog.png Add quotes feature and PO attachments 2026-05-15 07:11:07 +02:00
quote-fixed.png Add quotes feature and PO attachments 2026-05-15 07:11:07 +02:00
quote-form.png Add quotes feature and PO attachments 2026-05-15 07:11:07 +02:00
quote-page.png Add quotes feature and PO attachments 2026-05-15 07:11:07 +02:00
quote-page2.png Add quotes feature and PO attachments 2026-05-15 07:11:07 +02:00
quote-screenshot.png Add quotes feature and PO attachments 2026-05-15 07:11:07 +02:00
README.md Init Dyad app 2025-09-09 00:12:47 +02:00
setup-users.js fix(po): stop PocketBase auto-cancellation from killing PO creation 2026-10-22 07:56:30 +02:00
tailwind.config.js [dyad] Changed all blue UI elements to #ffc905 with black text - wrote 2 file(s) 2025-09-11 11:16:50 +02:00
tailwind.config.ts [dyad] Updated the dashboard with a new color palette - wrote 6 file(s) 2025-09-09 01:14:51 +02:00
test-logging.js Fixed login 2025-09-25 00:15:35 +02:00
tsconfig.app.json Init Dyad app 2025-09-09 00:12:47 +02:00
tsconfig.json Init Dyad app 2025-09-09 00:12:47 +02:00
tsconfig.node.json Init Dyad app 2025-09-09 00:12:47 +02:00
vercel.json Init Dyad app 2025-09-09 00:12:47 +02:00
vite.config.ts ci(vite): add allowedHosts to preview config 2026-01-13 10:28:14 +02:00

Welcome to your Dyad app