Go to file
pavlov346346-source a08633f9d0 perf: stop recomputing the full client list per client on bulk push
pushAllClients() already has every client profile from its own
listClients() call, but looped through pushClient(key) -> getClient(key)
-> listClients() again for each one - N clients meant N+1 full
order-history recomputations instead of one. pushClient now accepts an
optional already-known profile so the bulk path skips the redundant
lookup; single-key callers (scheduleServerPush's debounce) are
unaffected.

compareClientSources() had the same shape of duplicate work: it called
buildClients()/serverListClients() directly and then again inside
mergeClientSources(). mergeClientSources() now accepts already-computed
local/server arrays instead of always recomputing both.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 14:08:57 +03:00
.github/workflows fix: gate production promotion on QA success; remove dead data-layer files 2026-09-12 14:08:38 +03:00
docs fix: correct stale data-layer references in manifest and SW cache 2026-09-12 14:08:47 +03:00
ops Ops: add self-hosted Supabase stack for Timeweb Cloud migration 2026-09-11 16:20:45 +03:00
public perf: stop recomputing the full client list per client on bulk push 2026-09-12 14:08:57 +03:00
supabase/functions security: pin employee edge import map 2026-09-11 09:57:23 +03:00
tests test: remove reminder requirements from order enhancements 2026-09-11 15:21:32 +03:00
.gitignore Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
deploy-trigger.txt Create deploy-trigger.txt 2026-09-07 15:48:20 +03:00
GITHUB-CLOUDFLARE-SETUP.txt docs: mark Cloudflare as verified-production fallback 2026-09-11 09:36:55 +03:00
package-lock.json Fix high-severity npm audit findings 2026-09-11 07:51:06 +03:00
package.json Add order comments, reminders, search and delivery totals 2026-09-11 14:27:17 +03:00
PUSH-TO-GITHUB.bat Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
README.md docs: make Timeweb production source of truth 2026-09-11 09:36:48 +03:00
TIMEWEB-APP-PLATFORM.md Infra: production branch promotion for app.caterium.ru 2026-09-09 19:09:32 +03:00
UPDATE-FROM-REMOTE-AND-PUSH.bat Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
wrangler.jsonc Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00

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.