|
templates
|
Add maker credit to site footer (#193)
|
2026-07-19 21:28:55 +00:00 |
|
tests
|
Report rain in whole millimetres; lift tier spans out of the bars (#192)
|
2026-07-19 19:28:58 +00:00 |
|
api_accounts.py
|
Push: surface delivery failures (no longer a silent success) (#157)
|
2026-07-17 00:12:14 +00:00 |
|
app.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
audit.py
|
Dashboard: accounts totals only; log client IPs per request (#140)
|
2026-07-16 21:58:40 +00:00 |
|
cities.json
|
SEO: values filter — trim cities in anti-LGBTQ countries, keep notable hubs (#102)
|
2026-07-16 02:20:41 +00:00 |
|
cities.py
|
Lead climate page titles with the city and the payload (#188)
|
2026-07-19 18:17:13 +00:00 |
|
cities_flavor.json
|
SEO: values filter — trim cities in anti-LGBTQ countries, keep notable hubs (#102)
|
2026-07-16 02:20:41 +00:00 |
|
city_events.py
|
SEO: broaden curated weather events beyond the US/Anglosphere (#101)
|
2026-07-16 01:42:49 +00:00 |
|
climate.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
content.py
|
Report rain in whole millimetres; lift tier spans out of the bars (#192)
|
2026-07-19 19:28:58 +00:00 |
|
db.py
|
Fix mobile alerts dropdown overflow; add account API tests (#93)
|
2026-07-15 22:00:47 +00:00 |
|
digest.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
gen_cities.py
|
SEO: values filter — trim cities in anti-LGBTQ countries, keep notable hubs (#102)
|
2026-07-16 02:20:41 +00:00 |
|
gen_flavor.py
|
SEO: expand city set to 1000 (extended English-speaking / high-proficiency) (#99)
|
2026-07-16 01:14:30 +00:00 |
|
grading.py
|
Render every percentile through one rule (#186)
|
2026-07-18 09:08:28 +00:00 |
|
grid.py
|
Warm neighbor cells server-side (/cell?neighbors=1) (#51)
|
2026-07-11 20:47:31 +00:00 |
|
homepage.py
|
Render every percentile through one rule (#186)
|
2026-07-18 09:08:28 +00:00 |
|
indexnow.py
|
Auto-submit IndexNow on deploy when the URL set changes (#130)
|
2026-07-16 13:38:59 -07:00 |
|
mailer.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
metrics.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
migrate.py
|
Migrate backend dataframe layer from pandas to polars (#90)
|
2026-07-15 19:07:38 +00:00 |
|
models.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
notify.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |
|
places.py
|
Move the suggestion policy into places.py (#45)
|
2026-07-11 20:00:24 +00:00 |
|
push.py
|
Push: surface delivery failures (no longer a silent success) (#157)
|
2026-07-17 00:12:14 +00:00 |
|
requirements-dev.txt
|
Add backend test suite; gate direct pushes; serialize LAN deploys (#41)
|
2026-07-11 19:37:49 +00:00 |
|
requirements.txt
|
SEO: crawlable programmatic climate pages + technical hygiene (#96)
|
2026-07-15 23:53:11 +00:00 |
|
schemas.py
|
Add PWA + Web Push delivery for weather alerts (#95)
|
2026-07-15 23:21:06 +00:00 |
|
singleton.py
|
Gate the subscription notifier to one worker (#161)
|
2026-07-17 12:54:55 +00:00 |
|
store.py
|
Compare/calendar mobile polish: overflow fix, sheet load button, 6-yr default, country in names (#80)
|
2026-07-12 06:32:10 +00:00 |
|
users.py
|
Account system with weather-notification subscriptions (#89)
|
2026-07-15 18:46:46 +00:00 |
|
views.py
|
Migrate backend dataframe layer from pandas to polars (#90)
|
2026-07-15 19:07:38 +00:00 |
|
warm_cities.py
|
Rebuild the homepage as a distribution landing; add an SMTP seam (#178)
|
2026-07-18 07:39:47 +00:00 |