Befundliste des Besitzers: drei echte Fehler, dazu Feinschliff (2026.8.30.9)
Fahrzeug-Pin auf der Standortkarte fehlte: die Marker-Effekte lesen Refs, die erst im asynchronen Leaflet-Import gesetzt werden. Beim ersten Lauf leer, Effekt steigt aus - und weil die Koordinaten sich danach nicht mehr aendern, lief er nie wieder. Ein Bereitschaftsschalter in den Abhaengigkeiten behebt das fuer Marker, Kachelebene und eigene Position zugleich. Kachelpfeil auf "Mein Audi" sass auf halber Kachelhoehe statt oben neben der Ueberschrift; Auswahlfelder hatten nach appearance:none ueberhaupt keinen Aufklapp-Pfeil mehr. SmartDeal: das Datumsfeld war fehlerhaft und die Abfrage, bis wann der Rabatt gilt, fehlte ganz. Das Panel fragt beim Einschalten und zeigt danach nur an - genau daran haengt, dass der Rabatt von selbst auslaufen kann. Portiert. Adressen statt Koordinaten: Nominatim drosselt uns inzwischen. Beide Apps fielen korrekt zurueck, merkten sich Treffer aber nur bis zum Neuladen. Jetzt dauerhaft im selben Cache wie die Tankstellensuche. Ziehen zum Aktualisieren auf dem Geraet: dem Scrollbehaelter fehlte overscroll-behavior, das native Overscroll nahm die Geste weg - derselbe Befund, den das Panel am 2026-08-17 hatte. Ausserdem: Platzhalter wieder in voller Groesse, FIN statt Fahrgestellnummer, Details als Hinweiszeile, Chevron an der Batteriespannung, Reifenzeile "aktuell montiert:", Zahnrad statt Stift am Anzugsmoment, Radkilometer in der Zahlenschrift, Layer-Icon zentriert, share-s beim Teilen, Schliessen-Knopf nur bei aufgezogener Karte. Nicht nachstellbar und zurueckgemeldet: "Fahrten/Tanken, grauer Hintergrund" - Panel und App sind dort deckungsgleich. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# AGENTS.md — Project state, review findings, open items, and working rules
|
||||
|
||||
**Last updated: 2026-08-30** (design-audit follow-through - the five priority items applied to
|
||||
**Last updated: 2026-08-30** (owner findings batch - vehicle pin, tile chevrons, select arrows,
|
||||
SmartDeal dialog, address cache and pull-to-refresh; manifest `2026.8.30.9`, see section AO.
|
||||
Before that: design-audit follow-through - the five priority items applied to
|
||||
both codebases, plus the location preview's wrong pin; manifest `2026.8.30.8`, see section AN.
|
||||
Before that: third parity round — the panel had never actually rendered Audi
|
||||
Type (@font-face inside a shadow root is ignored), "Daten bearbeiten" now works in both, and the
|
||||
@@ -5821,6 +5823,75 @@ pushed from elsewhere, no overlap).
|
||||
|
||||
---
|
||||
|
||||
|
||||
## AO. Owner findings batch, 2026.8.30.9 - three of them real bugs with a single cause each
|
||||
|
||||
Seventeen findings in one go, all applied to both codebases unless noted.
|
||||
|
||||
**The three that were genuine defects, not drift:**
|
||||
|
||||
1. **No vehicle pin on the Standort map (app).** The marker effects read `leafletRef`/`kartenRef`,
|
||||
which are only filled inside the asynchronous `import("leaflet")` callback. On mount they were
|
||||
still null, the effects returned early - and since their dependencies (the coordinates) never
|
||||
changed afterwards, they never ran again. A `karteBereit` flag, set once the map exists and added
|
||||
to those dependency lists, brings them back. Same class of bug reached the tile-layer and
|
||||
own-position effects; all four were fixed together.
|
||||
2. **The chevron on the Mein-Audi tiles sat on half the tile's height (app).** `.ads-tile__go` was a
|
||||
flex child with `margin-left`, so on a tile with several value rows it pointed into the middle of
|
||||
a row instead of at the title that says where it leads. Now absolute at top 22px / right 18px -
|
||||
what the panel has done since 2026-08-13. Measured before: 132 / 106 / 106 / 98px from the top.
|
||||
3. **Select fields had no drop-down arrow at all (app).** `appearance:none` in `Feld.css` removed the
|
||||
native arrow without putting anything back, so a picker was indistinguishable from a plain text
|
||||
field. Reported at "Ansicht" and at the backup interval; the fix in `.ads-feld select` covers
|
||||
every select in the app and copies the panel's own chevron image and metrics one to one.
|
||||
|
||||
**SmartDeal: the date field was broken *and* the question behind it was missing.** The app carried an
|
||||
inline date input labelled "Gültig bis", the panel asks for the date in a dialog the moment the
|
||||
switch is turned on and afterwards only displays it. The panel's behaviour is the one that makes
|
||||
sense - `smartdeal.aktiv` is computed from that date (`laeuft_ab >= heute` in both codebases), so
|
||||
without it the discount can never expire on its own. The dialog is now ported; the inline field is
|
||||
gone, so there is exactly one way to set the value.
|
||||
|
||||
**Nominatim has started refusing us.** "Suddenly only GPS coordinates where an address used to be" is
|
||||
not a display bug: the reverse lookup comes back without a CORS header (that is what throttling looks
|
||||
like from a browser) and both apps fall back to coordinates as designed. What was missing is memory -
|
||||
the panel kept a single point in RAM, the app the same, both gone on reload, with the reasoning "the
|
||||
vehicle position changes constantly anyway". That holds for driving, not for parking: the car stands
|
||||
in the same few places. Both now cache resolved addresses in the same persistent store the fuel-station
|
||||
lookup already used (`rev:`-prefixed key, rounded to ~110 m); only real hits are stored, so a throttled
|
||||
answer is retried rather than remembered as "no address here".
|
||||
|
||||
**Pull-to-refresh did not work on the device.** The gesture logic was fine - the scroll container had
|
||||
no `overscroll-behavior`, so iOS's own rubber-band took the gesture before the threshold was reached.
|
||||
Exactly the finding the panel had on 2026-08-17 and the app never received; `.dm-scroll` now carries
|
||||
`overscroll-behavior-y: contain` and `touch-action: pan-y`. Not reproducible on a desktop, because
|
||||
there is no native overscroll to compete with.
|
||||
|
||||
**The rest, briefly:** the Übersicht placeholder is back at full 16:8 size (the audit had narrowed it
|
||||
to 72px; a strip does not show what belongs there); "Fahrgestellnummer" is now "FIN" and "Details"
|
||||
shows "Informationen über das Auto" as a comment-weight hint rather than a truncated engine line; the
|
||||
Batteriespannung row got its chevron back (an earlier note claiming the panel marks it by cursor only
|
||||
was wrong - the panel has a `.chev` there); the Reifen box leads with "aktuell montiert: /
|
||||
Sommerräder" and drops the dash under the change date; Anzugsmoment uses the gear, not the pencil (the
|
||||
pencil belongs to the kilometre correction); the wheel odometer is back in the figure typeface at
|
||||
32px; the map-layer icon is the only one of the four controls not centred in its own grid (2.1 left
|
||||
vs 1.1 right, measured via `getBBox`) and is now nudged onto centre and scaled to 0.88 so it stops
|
||||
outweighing its outline neighbours; Teilen uses the real `share-s` from the CI set; and the sheet's
|
||||
close button only exists while the sheet is raised - half-covered it looked operable and did nothing.
|
||||
|
||||
**One finding could not be reproduced:** "Fahrten/Tankfüllung: Auflistung/grauer Hintergrund ist
|
||||
falsch". Panel and app are identical there - same backgrounds (transparent rows on a white tile),
|
||||
same paddings, same indents, same text. Reported back rather than guessed at.
|
||||
|
||||
Verified: `node --check`, `design-system` rebuilt, `tsc --noEmit` clean, 147/147 green, deployed to
|
||||
`audi_ha_test` and confirmed against both frontends at 375x812 - chevrons at 22px on all four tiles,
|
||||
the Zustand row's chevron, the select arrow, the full-size placeholder, the SmartDeal dialog driven
|
||||
end to end (state restored afterwards), the Reifen page's gear/date/figure, and on Standort: one
|
||||
marker, the centred layer icon, the share glyph, and the close button appearing exactly when the sheet
|
||||
is raised.
|
||||
|
||||
---
|
||||
|
||||
## Working conventions (observed — keep them)
|
||||
|
||||
- German is the project language: identifiers, comments, commits, UI texts. Exceptions:
|
||||
|
||||
Reference in New Issue
Block a user