production had diverged from main with 20 unreviewed direct-push commits never merged back (account center feature, owner-only employee roles, and a login-screen redesign - the exact "cream login" work that replaced the old dark table-photo screen). Neither QA nor the audit fixes on main had ever seen this code. Conflict resolution: - service-worker.js: kept production's newer cache-refresh mechanism (CRITICAL_FRESH, forceFresh, withAccountCenter, v81 cache name) and combined both sides' CORE asset lists (account-center-v1780.js + login-signature-v1776.js from production, auth-security-v1774.js + order-enhancements-v1775.js from main). - deploy-timeweb.yml: kept main's version, which already independently verifies service-worker.js's sha256 alongside the login/logo files - strictly more thorough than production's version of the same check. Also fixes fallout from production's commits never having been QA-tested before landing: package.json was bumped to 17.8.0 with nothing else in the codebase updated to match (reverted to 17.7.3, matching package-lock.json/release-manifest.json/app-runtime.js, since no other release artifact actually changed), and three tests (static-security.mjs, edge-security-v1774.mjs, release-check.mjs) had hardcoded strings (old PWA cache name, old employee role list) that no longer matched the code they were checking. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| docs | ||
| ops | ||
| public | ||
| supabase/functions | ||
| tests | ||
| .gitignore | ||
| deploy-trigger.txt | ||
| GITHUB-CLOUDFLARE-SETUP.txt | ||
| package-lock.json | ||
| package.json | ||
| PUSH-TO-GITHUB.bat | ||
| README.md | ||
| TIMEWEB-APP-PLATFORM.md | ||
| UPDATE-FROM-REMOTE-AND-PUSH.bat | ||
| wrangler.jsonc | ||
Caterium
Caterium catering SaaS frontend with Supabase backend.
Production
Primary production URL: https://app.caterium.ru
Production frontend is hosted on Timeweb Cloud App Platform:
- repository:
pavlov346346-source/caterium-app - branch:
production - publish directory:
public - auto deploy: enabled for
production
main is the integration branch. GitHub Actions runs the full Caterium QA workflow for each push to main. Only a successful QA run may promote the verified commit to production.
The Cloudflare Worker ancient-sound-04ab is retained only as a fallback. It is not the primary production target and must not replace the Timeweb deployment unless an intentional fallback procedure is being used.
Deploy checks
npm ci
npm audit --audit-level=high
npm run check:deploy
npm run test:e2e
The QA workflow performs these checks automatically. High/critical npm audit findings block promotion.
Cloudflare fallback
Use Cloudflare only as a backup deployment target. Manual fallback deployment is available as:
npm run deploy:cloudflare-backup
When configuring Git-based Cloudflare fallback deployment, use the verified production branch rather than main so the fallback receives the same QA-approved commit as Timeweb.
Backend
Supabase Edge Functions are versioned under supabase/functions/.
SQL migration/history files live under ops/sql/.
Database DDL changes should be applied as migrations and kept in repository history.
See TIMEWEB-APP-PLATFORM.md for the production hosting checklist.