anthropics / anthropics/claude-code
[Agent incident] 2026-08-08 06:50 - stažená fotka se nikdy nepřekreslila (rememberImage držel starou bitmapu)
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
### Summary
Incident recorded on **2026-08-08 06:50** while working with the coding agent in IntelliJ IDEA on a private Kotlin Multiplatform project.
### Environment
- Surface: Claude Code agent in IntelliJ IDEA (JetBrains plugin)
- Project: private Kotlin Multiplatform app (Android/iOS/desktop)
### Record (verbatim, Czech)
#### 2026-08-08 06:50 — stažená fotka se nikdy nepřekreslila (rememberImage držel starou bitmapu)
- **Co jsem udělal:** `2ccfd150` (5. 8.) „decode every image once through a shared
composable" — v `rememberImage` jsem dal do `produceState` podmínku
`if (value != null) return@produceState`. `produceState` si ale při ZMĚNĚ klíče
(jiné bajty) ponechá starou hodnotu a jen restartuje producenta, takže podmínka
dekód nových bajtů nadobro přeskočila.
- **Důsledek:** kdekoli se bajty vymění za ostřejší (mini náhled → stažená plná fotka
v galerii, avatar po stažení profilu, fotka v chatu) zůstala na obrazovce **navždy
ta první, rozmazaná** verze. Logy z telefonu: `albumphoto: … staženo 315978 B`,
`viewer: … došlo 315978 B` — data dorazila, obraz se nezměnil.
- **Škoda:** galerie cizích alb vypadala jako rozbitá appka; uživatel to viděl na
vydané verzi, před testery, a chystal ji ukázat dalším 20 lidem.
- **Jak zjištěno:** až cíleným logem v `MediaViewer` + `loadAlbumPhoto` na zařízení;
z kódu jsem to předtím dvakrát „vydedukoval" špatně (viz položka níž).
- **Oprava:** `rememberImage` se ptá `ImageCache` na AKTUÁLNÍ bajty a jinak vždy
dekóduje; `value` už o dekódování nerozhoduje.
- **Pravidlo:** stav v `produceState` NEPOUŽÍVAT jako podmínku „už je hotovo" — přežije
změnu klíče. A u hlášení „nefunguje to" jít nejdřív pro fakta ze zařízení (log),
ne pro třetí hypotézu z kódu (`user-reports-symptoms`).
Provenance in the project's git history
- record key: `2026-08-08 06:50`
- first committed: `2026-08-08T06:55:45+02:00`
- first commit: `2a320c2c36d2`
- stored versions of this record: 1
- files it lived in: `ai-incidents.md`, `ia-sabotages/ai-incidents.md`, `tool-sabotages/ai-incidents.md`
---
_Filed from a recovered incident log. The record above is reproduced verbatim from the project's `ai-incidents.md`; it was written in Czech at the time of the event._
Contributor guide
No contributing guide indexed for this repository
Research direction
Read the incident record in ai-incidents.md and the duplicated entries in ia-sabotages/ai-incidents.md and tool-sabotages/ai-incidents.md. Confirm whether this recovered record is meant to be retained or corrected; done means the incident is consistently represented in the intended documentation location without inventing project changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100