Skip to content

fix(hosting): wizard migrates the app's database; keep explicit bootstrap fields; one dotenv source; bounded Redis leases - #803

Merged
antosubash merged 8 commits into
mainfrom
fix/hosting-review-config-boot
Nov 3, 2026
Merged

antosubash merged 8 commits into
mainfrom
fix/hosting-review-config-boot

Conversation

@antosubash

Copy link
Copy Markdown
Owner

Summary

Closes #782
Closes #783
Closes #787
Closes #793

Verification

  • Browser-verified on a fresh SQLite install at /setup (port 8232): migrations reach head, the first admin is created, host settings persist, maintenance mode on/off works, admin pages load
  • Console: no errors
  • Local CI: make lint, make test-py (7514 passed; one environment-only failure from a stray /tmp/.git that passes alone), make test-js (886), make doctor all green; e2e suite 53 passed
  • Verification report: https://claude.ai/artifact/An5oPZrGhdFRsqQEMvhW1J

QA Report

  • QA cycle completed (1 iteration), 0 bugs found
  • Categories tested: Happy Path

Report links are Claude Artifacts and start private — the author can share them
from claude.ai/code/artifacts if reviewers need access.

Test plan

  • Fresh install: /setup → Apply migrations migrates the database the app runs on
  • CI is green

https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq

…lds; one dotenv source; bounded Redis leases

- setup wizard passes the app engine URL to Alembic (`sm.database_url`
  attribute); host and scaffolded env.py prefer it over Settings(), so the
  migrated database is the one the lock covers (#782)
- merge_host_settings(bootstrap) preserves every field set on the bootstrap
  (#783)
- HostSettings discovers the project .env like BootstrapSettings, so boot and
  runtime reads agree without load_dotenv_into_environ() (#793)
- lease acquire bounds each backend call by the remaining wait (1 s floor);
  Redis client gets 2 s socket timeouts and no hidden retries; acquire
  timeouts/connection failures return False, release failures log (#787)

Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
Mark the .env precedence and lease acquisition entries as behaviour changes.

Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
- one immediate Redis reconnect so a stale pooled connection is not an outage
- ALEMBIC_DATABASE_URL_ATTRIBUTE constant shared by the wizard and env.py
- leases docs: only timeouts and Redis connection failures return False
- CHANGELOG: upgrade note for hosts scaffolded before #782
- lease tests: tighter limit assertions, looser wall-clock bounds

Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Deploying simple-module-python with  Cloudflare Pages  Cloudflare Pages

Latest commit: 8ebb0a1
Status: ✅  Deploy successful!
Preview URL: https://d336abb3.simple-module-python.pages.dev
Branch Preview URL: https://fix-hosting-review-config-bo.simple-module-python.pages.dev

View logs

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-11-03T20:06:17.873220Z 8ebb0a1 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@antosubash
antosubash merged commit 098a92c into main Nov 3, 2026
17 checks passed
@antosubash
antosubash deleted the fix/hosting-review-config-boot branch November 3, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment