deployment: Further refinements to improve fly.io deployment reliability ref: #90
increase timeouts to handle cold start delays
Increase MongoDB connection timeout from 5s to 30s to handle replica set discovery during Fly.io cold starts
Add 600s (10 minute) wait-timeout to flyctl deploy to prevent premature deployment failures
Addresses issue where deployments succeeded but GitHub Actions timed out after 5 minutes
run migrations asynchronously after server starts
Move server.listen() before migration execution to ensure health checks pass immediately during fly.io deployments.
Migrations now run in background with proper error handling, allowing the server to respond to health checks within the 60s grace period while migrations complete.
member-admin: align lifecycle handling and brevo sync (#92)
Lifecycle handling: added MemberTerm enum (life/annual), ingested from bulk loads, schemas updated; life/payment-pending/newly-loaded members avoid expiry actions; Member Admin list shows “Lifetime” and modal expiry is disabled/readonly for life members.
UX persistence: Member Admin search/sort now persisted via kebab-cased query params (search, sort, sort-order) and local storage; lifetime display and date-picker null handling improved.
Deletion audit: manual member delete now records a deleted-member document (aligning with bulk delete).
Bulk load/back-end: member bulk-load date map aggregation typed and tested; member status/term captured from Ramblers feed; date map endpoint typed.