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.
FIX D: stalledProjects treated a no-tick project's missing done_on as the sentinel '0000-00-00', always older than any cutoff, so every freshly-assigned project immediately showed up on the "Onboarding stalled" tile. It's now measured against client_module.created_at (stamped by assignModule); when that's also unknown (predates the column, or an import path that doesn't stamp it) the project is excluded rather than assumed ancient. FIX E: STEP_STATUS only mapped the new template's keys, but TAIL_FALLBACK (any module with no seeded/owner-configured tail -- WHATSAPP, ATM, AMC, ...) still uses the legacy 'installed' key, so ticking "Installation done" on those modules left status at 'quoted' forever. Added installed->installed to STEP_STATUS (checked: no legacy payment key needs a mapping, since payment never drove status even in the new vocabulary). FIX F: bulkSetMilestone did a bare UPDATE, so a bulk go_live never advanced client_module.status and a bulk untick never cleared a stale payment_id/document_id link. Each id now routes through setMilestone itself (same status-advance + link-clearing path a single tick uses), inside the existing transaction -- nested transaction() calls become savepoints on both engines, so a project without the milestone key is caught and skipped without losing "bulk ops only touch projects that have the milestone". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
1 day ago | |
|---|---|---|
| .. | ||
| hq | 1 day ago | |
| hq-web | 1 day ago | |