ui: live timers, Berlin timestamps, ZIP failure reports, drop kill-switch/Fehler tab
* remove the kill-switch: auto-apply toggle is the single on/off; manual
'Bewerben' button now only gated by apply reachability; circuit breaker
stays but only gates auto-apply (manual bypasses, so a user can retry)
* Berlin-timezone date filter (de_dt) formats timestamps as DD.MM.YYYY HH:MM
everywhere; storage stays UTC
* Wohnungen: live 'entdeckt vor X' on every flat + 'nächste Aktualisierung in Xs'
countdown in the header, driven by /static/app.js; HTMX polls body every 30s
* drop the Fehler tab entirely; failed applications now carry a
'Fehler-Report herunterladen (ZIP)' link -> /bewerbungen/{id}/report.zip
bundles application.json, flat.json, profile_snapshot.json, forensics.json,
step_log.txt, page.html, console/errors/network JSONs, and decoded
screenshots/*.jpg for AI-assisted debugging
* trim the 'sensibel' blurb from the Profil tab
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c630b500ef
commit
332d9eea19
13 changed files with 429 additions and 343 deletions
|
|
@ -13,11 +13,18 @@
|
|||
{% if application.provider %}<span class="chip chip-info">{{ application.provider }}</span>{% endif %}
|
||||
{% if application.submit_forms_used %}<span class="chip chip-warn">echt gesendet</span>
|
||||
{% else %}<span class="chip chip-info">dry-run</span>{% endif %}
|
||||
|
||||
{% if application.success == 0 %}
|
||||
<a class="btn btn-danger text-sm ml-auto"
|
||||
href="/bewerbungen/{{ application.id }}/report.zip">
|
||||
Fehler-Report herunterladen (ZIP)
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="text-sm text-slate-600 space-y-1">
|
||||
<div><span class="text-slate-500">URL:</span> <a href="{{ application.url }}" target="_blank" rel="noopener">{{ application.url }}</a></div>
|
||||
<div><span class="text-slate-500">gestartet:</span> {{ application.started_at }}</div>
|
||||
<div><span class="text-slate-500">beendet:</span> {{ application.finished_at or "—" }}</div>
|
||||
<div><span class="text-slate-500">gestartet:</span> {{ application.started_at|de_dt }}</div>
|
||||
<div><span class="text-slate-500">beendet:</span> {{ application.finished_at|de_dt if application.finished_at else "—" }}</div>
|
||||
{% if application.message %}<div><span class="text-slate-500">Meldung:</span> {{ application.message }}</div>{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
|
|
@ -31,7 +38,7 @@
|
|||
|
||||
{% if forensics %}
|
||||
<section class="card p-5 space-y-4">
|
||||
<h3 class="font-semibold">Forensik (für KI-Debug)</h3>
|
||||
<h3 class="font-semibold">Forensik</h3>
|
||||
|
||||
<details open>
|
||||
<summary class="font-medium">Step-Log ({{ forensics.steps|length }} Einträge, {{ forensics.duration_s }} s)</summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue