toga-ai 1.0.992 → 1.0.994
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -59,7 +59,10 @@ A line is **empty** when it has no row in any table of `CUSTOMER_PO_LINE_REFEREN
|
|
|
59
59
|
## Gotchas
|
|
60
60
|
- **Billed line cannot be deleted.** `BillItems` has no api2 route (not a Core Record; `GET /bill-items` returns `EV-7 "ACL Record could not be loaded"`, not 404), so the merge cannot see it. FK `BillItems_purchaseOrderItemId` is ON DELETE NO ACTION (verified prod `Client_Nychh`) → the delete fails loud.
|
|
61
61
|
- **Root cause of NYCHH duplicates was the SO import, not the TO matcher.** PO 129 (EIT0012493): `syncSalesOrderFromNetsuite` on 2026-09-08 made new cost-0 lines because SO lines had price 0 and reuse needed equal quantity.
|
|
62
|
-
- Prod-verified 2026-10-09: EIT0012493 lines 7–12 (cost 0, no links) deleted; 6 lines left, all 23 TO links intact.
|
|
62
|
+
- Prod-verified 2026-10-09: EIT0012493 lines 7–12 (cost 0, no links) deleted; 6 lines left after scheduled syncs, all 23 TO links intact.
|
|
63
|
+
- **Old duplicates do not clean themselves.** The merge runs for a customer PO only when a linked TO syncs; the cursor catch-up replays only changed TOs. To clean a PO, re-process its TOs with `process_netsuite_order.php` — dry run first, capture with `2>&1 | tee` ([reprocessing workflow](../../worker/workflows/reprocessing-one-netsuite-order.md)). Snapshot after deploy 2026-10-09: NYCHH still had 1,573 extra lines in 48 POs (EIT0012016 388 → 31 groups; EIT0007930 409 → 190), plus 22 groups with 2+ stocked lines that never merge by design.
|
|
64
|
+
- **Ship library + worker together.** The earlier library on `_production` made GroWrk's TO sync (client 33) fail every 5 min: `consolidateCustomerPurchaseOrderLines: failed reading /bill-items [EV-7 ...]` (Logs.Issue 12A / 12C). After library PR #893 (~11:55 2026-10-09): no `/bill-items` calls, 0 API errors, links writing again. After any deploy of this step, check `Logs.Event` + `Logs_<Tenant>.Api`.
|
|
63
65
|
|
|
64
66
|
## Change history
|
|
65
67
|
- 2026-10-09 — Created: merge step (all TO clients), matcher cost rank, SO-QTY opt-in (hh only), `--dry-run`. CTO: agree with conditions, all applied. TRUE-82606. (jcardinal)
|
|
68
|
+
- 2026-10-09 — Post-deploy gotchas: old duplicates need TO re-process; library + worker must ship together (GroWrk `/bill-items` failures). TRUE-82606. (jcardinal)
|
|
@@ -6,7 +6,7 @@ project: Forwarder
|
|
|
6
6
|
client: shared
|
|
7
7
|
type: architecture
|
|
8
8
|
status: active
|
|
9
|
-
updated: 2026-09
|
|
9
|
+
updated: 2026-10-09
|
|
10
10
|
owners: [jcardinal]
|
|
11
11
|
files:
|
|
12
12
|
- forward/forward.ini
|
|
@@ -55,7 +55,7 @@ The `.htaccess` at the repo root drives a plain-text lookup table:
|
|
|
55
55
|
- **Local directory handler** — if the first host label matches a directory in the repo (e.g. `sos.*` → `/sos/`), it redirects to `/<subdomain>/` and serves that dir's `index.html`. Used for the bundled `sos/` Splashtop SOS download page.
|
|
56
56
|
- **404** — otherwise returns a styled `404` echoing the unmatched `host + uri`.
|
|
57
57
|
|
|
58
|
-
> **
|
|
58
|
+
> **Design demos are no longer in `forward`.** Since 2026-10-09 (TRUE-82616) demos are stored in S3 `togatech-demos` and served by CloudFront at `demo.togatech.com` (prod account); the 24 demo folders + `tabs.json` were removed from this repo (~31 MB now). The admin UI is in Tools at `/design`. See `standalone/apps/forward/features/static-demo-hosting.md` and `1.0/apps/tools/features/design-demo-admin.md`. `sos/` (local directory handler) stays. The `.htaccess` static-demo rule + `DirectoryIndex` line remain but match nothing today.
|
|
59
59
|
|
|
60
60
|
## Deployment (Elastic Beanstalk / Apache)
|
|
61
61
|
|
|
@@ -65,6 +65,7 @@ The `.htaccess` at the repo root drives a plain-text lookup table:
|
|
|
65
65
|
- `.ebextensions/rewritemap.config` — legacy **Amazon Linux 1** `files:` fallback. Both can coexist; AL2+ ignores the `.ebextensions` file path managed by `.platform`, and AL1 ignores `.platform` entirely.
|
|
66
66
|
- `forward.ini` deploys to `/var/www/html/forward.ini` (the path the map points at).
|
|
67
67
|
- `composer.json` declares a `Togatech\Forward\` PSR-4 autoload over `src/` but has **no dependencies** and no `src/` is shipped today — the app is effectively a single `index.php` plus the Apache config.
|
|
68
|
+
- **Three EB environments** run this repo: `agilant-forward-prod` and `true-forward-prod` (legacy account, CodePipeline `Forward-Production`), and `forward-production` (prod account, us-east-1, serves `togatechnology.com`). A change to `forward.ini`/`index.php` must reach all three.
|
|
68
69
|
- **`DirectoryIndex index.html index.php`** in `.htaccess` lets nested static-demo version paths `/<project>/<vN>/` serve via Apache's normal directory index. The single-segment static-demo rewrite rule does not match two-segment paths, and the `index.php` map-miss fallback does not fire for real directories — so versioned demo URLs resolve as directory-index lookups.
|
|
69
70
|
|
|
70
71
|
## The `decrypt()` scheme
|
|
@@ -84,3 +85,6 @@ Treat this as obfuscation only. Anything genuinely sensitive must not rely on it
|
|
|
84
85
|
- Specific-path map lines must precede host-only lines (see `forward.ini` header).
|
|
85
86
|
- New **encrypted** domains require a code change (`$encryptedDomains` in `index.php`), not just a `forward.ini` edit.
|
|
86
87
|
- `index.php` only runs on a map miss, so a bad/over-broad `forward.ini` host-only line can shadow paths you expected PHP to handle.
|
|
88
|
+
- **EB rejects bundles over 500 MB** ("The artifact is empty or exceeds the maximum size supported by AWS Elastic Beanstalk"), and the CodePipeline EB deploy ignores `.ebignore`. Never commit large static assets here — that broke every deploy from 2026-10-08 until demos moved to S3.
|
|
89
|
+
- **Git history still holds ~500 MB of old demo blobs.** Removing them needs a history rewrite + force-push — deferred; developer's call.
|
|
90
|
+
- **Removing a top-level folder:** first check no Route 53 name pointing at forward EB has a first label matching it (local directory handler). Checked for the 2026-10-09 removal; `togadesk.beta.agilantsolutions.com` is redirected by `forward.ini` first.
|
package/package.json
CHANGED