anthropics / anthropics/claude-code
[Agent incident] 2026-08-08 06:15 - galerie cizího alba: rozmazaná placka bez loaderu i bez retry
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
### Summary
Incident recorded on **2026-08-08 06:15** 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:15 — galerie cizího alba: rozmazaná placka bez loaderu i bez retry
- **Co jsem udělal:** lazy stahování plných fotek jsem zapojil jen na DVOU z devíti
míst, kde se `MediaViewer` volá (profilová galerie a veřejné album v profilu).
Zbylým sedmi jsem předal jen `loadVideoBytes` — videa dostala loader i retry
(`db000e79`), fotky ne. Hlavička alba přitom po drátě nese jen mini náhled
(`Album.headOnly(thumb = blurredThumb)`), takže prohlížeč ukázal rozmazaný
16px placeholder a **nic dalšího už neudělal**: žádné stažení, žádný spinner
(`photoLoading` zůstalo false), žádná retry šipka (`photoFailed` zůstalo false).
- **Co si uživatel zadal:** funkční galerii. Sdílená komponenta se má chovat všude
stejně — ne že si každá obrazovka zapojí půlku.
- **Škoda:** cizí alba (timeline post, zeď, album v chatu, přijaté album) vypadala
jako rozbitá appka. Uživatel to viděl AŽ NA ZVEŘEJNĚNÉ VERZI a před testery —
„na té galerii jsme strávili měsíc práce".
- **Jak zjištěno:** uživatel, screenshot prohlížeče („2/7", rozmazané, bez loaderu).
- **Oprava:** `loadPhotoBytes` dopojeno v `ProfileScreen` (timeline viewer),
`PublicScreen`, `TimelineHistoryScreen`, `ChatScreen` (album peera) a
`AlbumsScreen` (přijaté album) — všude zrcadlí existující video loader.
- **Komentář uživatele (8. 8.):** „několikadenní testování a dlouhodobé ladění kódu
úplně v háji, to stojí cca i 100 000 taky test a je to díky AI v prdeli, celé na
sračky." — cena jednoho takového kola testování s živým člověkem je řádově
desetitisíce až 100 000; když do vyladěné funkce vjede AI a rozbije ji, zahodí se
tím i všechno testování, které na ní stálo.
- **Pravidlo:** když komponenta dostane nový parametr pro lazy načítání, projít
VŠECHNA volání a zapojit ho všude, kde dává smysl — a fallback stav (spinner /
retry) musí platit i pro cestu, kde loader chybí. Lepší je nechat komponentu, ať
si zdroj bajtů vyřeší sama, než to opisovat na devíti místech
(`repeated-bug-report-find-all-paths`, `divide-et-impera`).
Provenance in the project's git history
- record key: `2026-08-08 06:15`
- first committed: `2026-08-08T06:23:09+02:00`
- first commit: `9afc7c30ed08`
- 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
Start by reading the incident record in ai-incidents.md and the related stored paths ia-sabotages/ai-incidents.md and tool-sabotages/ai-incidents.md. The issue describes a private Kotlin Multiplatform project and completed fixes in several screens, but does not identify a change required in Claude Code. Done is therefore not defined until the desired repository action is clarified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- devtools, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100