You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MAJOR - Documents register: Convert & send no longer bubbles into row navigation (stopPropagation guard on the actions cell) - Pipeline rows: convert_invoice now uses the same confirmed convert-and-send as the Documents page (was the old plain draft convert) - APEX importer carries anydesk/os/district/sector: stg_client columns (+ migrate guard), optional CSV headers staged, commit INSERT maps them - Clients page: district/sector filter inputs wired to the server filters (server side widened to LIKE for narrow-as-you-type) MINOR - WhatsApp/secretary typed contact roles: datalist on the contact Role input, labeled rows (with Copy) on the Client 360 support card - Dashboard overdue + dues-aging now anchor on COALESCE(due_date, doc_date) — an unpaid invoice not yet due no longer shows as overdue (test added) - PATCH /clients/:id is atomic: dbPassword + field patch in one transaction - Audit same-txn: setClientDbPassword, stageCsv, and the import stage/commit route audits all wrapped in db.transaction Suite: 345 tests / 66 files, typecheck clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
5 days ago | |
|---|---|---|
| .. | ||
| public | 5 days ago | |
| src | 5 days ago | |
| test | 5 days ago | |
| index.html | 5 days ago | |
| package.json | 5 days ago | |
| tsconfig.json | 2 weeks ago | |
| vite.config.ts | 5 days ago | |