showPasswordChangeGate() replaced the auth gate's content and returned, but the same login also fires onAuthStateChange, which kicks off loadMemberships() independently. Once that resolved (workspace found), ensureAuthGate()'s periodic poll (every 5s, plus assorted event-driven calls) saw signedIn+workspace and tore the gate down immediately, regardless of whether a password-change form was currently blocking it - the employee would see the "create a new password" screen flash and vanish before they could use it, dropping them straight into the app still on their temporary password. Removes the forced gate entirely (mustChangePassword/ showPasswordChangeGate) and adds a "Пароль" box to the account settings card instead, so changing your password is a deliberate, always-available action rather than a one-shot dialog racing the rest of the login flow. 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.