lazyflat/web
EiSiMo f5b4523b77 fix apply-click feedback: create application row synchronously
The Bewerben button wasn't flipping to "läuft…" until the next HTMX
poll because the DB row with finished_at=NULL was being inserted
inside the background thread — which had barely started by the time
the route already returned the re-rendered partial.

Split the work: _kick_apply now runs db.start_application() on the
request thread so the row exists before the response hits the wire.
Only the long-running Playwright call + finish_application are
offloaded to a worker via asyncio.create_task + to_thread. The new
_finish_apply_background re-reads prefs when it lands so circuit-
breaker state is current.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 18:39:42 +02:00
..
static rename to wohnungsdidi + didi logo + footer for all + seconds-only counter 2026-04-21 17:29:24 +02:00
templates bewerben UX: instant feedback; drop forensics detail; partner feature 2026-04-21 18:18:24 +02:00
app.py fix apply-click feedback: create application row synchronously 2026-04-21 18:39:42 +02:00
apply_client.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
auth.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
db.py bewerben UX: instant feedback; drop forensics detail; partner feature 2026-04-21 18:18:24 +02:00
Dockerfile lazyflat: combined alert + apply behind authenticated web UI 2026-04-21 09:51:35 +02:00
enrichment.py rename to wohnungsdidi + didi logo + footer for all + seconds-only counter 2026-04-21 17:29:24 +02:00
llm.py secrets tab, drop commute filter, favicon, robust error reports 2026-04-21 17:56:57 +02:00
matching.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
notifications.py rename to wohnungsdidi + didi logo + footer for all + seconds-only counter 2026-04-21 17:29:24 +02:00
requirements.txt enrichment: drop LLM for structured info, dedup images by sha + phash 2026-04-21 15:29:55 +02:00
retention.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
settings.py rename to wohnungsdidi + didi logo + footer for all + seconds-only counter 2026-04-21 17:29:24 +02:00