Add-Bar: Namen in Vorschlags- und Recents-Chips unsichtbar (v0.3.1) #10

Closed
opened 2026-09-24 17:19:46 +00:00 by dennis · 1 comment
Owner

Symptom

Seit v0.3.1 zeigt die Add-Bar bei allen Chips nur noch Emoji (bzw. Emoji + Kategorie-Badge + Haken bei Recents) — die Namen fehlen komplett. Betroffen sind sowohl Suchvorschläge (ab 2 Zeichen) als auch Recents (leeres, fokussiertes Feld). Der Issue-#9-Fix (Entfernen der Surface-Deaktivierung, f93e7a5) hat daran nichts geändert.

Auf dem Emulator (foodbridge-AVD, echte Serverdaten) reproduziert: Accessibility-Dump zeigt pro Chip nur Emoji-TextView + Haken-Icon, der Name-Text fehlt strukturell (0 px breit).

Wurzelursache

dd5f817 (Issue #8) ergänzte am Namen-Text im AddSuggestionChip den Modifier Modifier.weight(1f, fill = false). Der Chip-Row liegt in einem LazyRow-Item — Compose misst LazyRow-Items mit unbeschränkter Breite (min 0 / max ∞). In der RowColumnMeasurePolicy fällt der Zielraum für gewichtete Kinder in dem Fall auf den Min-Constraint (0) zurück: Der Name wird mit maxWidth = 0 gemessen und kollabiert auf Nullbreite — unsichtbar, während Emoji (davor) und Badge/Haken (danach, ungewichtet) normal rendern.

Hinweis: Der Bug ist JVM-seitig (Robolectric) nicht reproduzierbar — dort misst das Layout anders. Nachweis nur auf Gerät/Emulator.

Fix

weight(1f, fill = false) → widthIn(max = 220.dp): begrenzt die Chip-Breite constraints-unabhängig (lange Namen ellipsisieren weiterhin) und funktioniert korrekt unter unbeschränkten Constraints.

## Symptom Seit v0.3.1 zeigt die Add-Bar bei **allen** Chips nur noch Emoji (bzw. Emoji + Kategorie-Badge + Haken bei Recents) — die Namen fehlen komplett. Betroffen sind sowohl Suchvorschläge (ab 2 Zeichen) als auch Recents (leeres, fokussiertes Feld). Der Issue-#9-Fix (Entfernen der Surface-Deaktivierung, f93e7a5) hat daran nichts geändert. Auf dem Emulator (foodbridge-AVD, echte Serverdaten) reproduziert: Accessibility-Dump zeigt pro Chip nur Emoji-TextView + Haken-Icon, der Name-Text fehlt strukturell (0 px breit). ## Wurzelursache dd5f817 (Issue #8) ergänzte am Namen-Text im `AddSuggestionChip` den Modifier `Modifier.weight(1f, fill = false)`. Der Chip-Row liegt in einem `LazyRow`-Item — Compose misst LazyRow-Items mit **unbeschränkter Breite** (min 0 / max ∞). In der `RowColumnMeasurePolicy` fällt der Zielraum für gewichtete Kinder in dem Fall auf den Min-Constraint (0) zurück: Der Name wird mit maxWidth = 0 gemessen und kollabiert auf Nullbreite — unsichtbar, während Emoji (davor) und Badge/Haken (danach, ungewichtet) normal rendern. Hinweis: Der Bug ist JVM-seitig (Robolectric) **nicht** reproduzierbar — dort misst das Layout anders. Nachweis nur auf Gerät/Emulator. ## Fix `weight(1f, fill = false)` → `widthIn(max = 220.dp)`: begrenzt die Chip-Breite constraints-unabhängig (lange Namen ellipsisieren weiterhin) und funktioniert korrekt unter unbeschränkten Constraints.
Author
Owner

Behoben in e130bf0 (Merge 2d33e31), Release v0.3.2.

Ursache war der weight-Modifier am Namen-Text (dd5f817, Issue #8): In LazyRow-Items misst Compose mit unbeschränkter Breite, gewichtete Kinder kollabieren dort auf den Min-Constraint — der Name war 0 px breit. Ersetzt durch widthIn(max = 220.dp). Auf dem Emulator mit echten Serverdaten verifiziert: Vorschläge („Butter ✓“, „Butter Streichzart gesalzen“) und Recents („Waschmittel“, „Getränkesirup Kirsche“) zeigen ihre Namen wieder; abgedimmte Duplikat-Chips bleiben lesbar (55 % Alpha).

Behoben in e130bf0 (Merge 2d33e31), Release v0.3.2. Ursache war der weight-Modifier am Namen-Text (dd5f817, Issue #8): In LazyRow-Items misst Compose mit unbeschränkter Breite, gewichtete Kinder kollabieren dort auf den Min-Constraint — der Name war 0 px breit. Ersetzt durch widthIn(max = 220.dp). Auf dem Emulator mit echten Serverdaten verifiziert: Vorschläge („Butter ✓“, „Butter Streichzart gesalzen“) und Recents („Waschmittel“, „Getränkesirup Kirsche“) zeigen ihre Namen wieder; abgedimmte Duplikat-Chips bleiben lesbar (55 % Alpha).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
dennis/foodbridge-app#10
No description provided.