anthropics / anthropics/claude-code

[Agent incident] 2026-08-23 - Platby na Androidu se od 23.7. tiše zahazovaly (klient zaplatil, odemek nepřišel)

Open
#94,970 0 comments 0 reactions 0 assignees View on GitHub
area:agent bug platform:intellij
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Summary

Incident recorded on **2026-08-23** 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-23 — Platby na Androidu se od 23.7. tiše zahazovaly (klient zaplatil, odemek nepřišel)

- **Co se stalo:** bezpečnostní záplata e1288d9a (23.7., pending marker proti
podvrženému psippr://paid/) přidala do markPaid tvrdý guard, ale
marker se nastavoval JEN ve větvi host == null (desktop/iOS). Na Androidu je
PaymentHost instalovaný vždy (MainActivity → installPaymentHost), takže OBĚ
reálné cesty — in-app karta/Google Pay (PaymentActivity → report(true) →
markPaid) i hybrid Payment Link WebView otevřený z PaymentActivity — doběhly
do markPaid bez markeru a platba se zahodila s logem „ignoruji návrat bez
odpovídající pending platby". Stripe peníze strhl, předplatné se neaktivovalo.
- **Škoda:** minimálně jeden platící klient bez zaplacené služby (reálné
peníze); ztráta důvěry. Odemek nejde zpětně dohledat automaticky (žádný
backend záznam v appce) — klientovi nutno aktivovat ručně / vrátit peníze.
- **Oprava:** commit této session — markPaidConfirmed (potvrzený in-app
PaymentIntent není deep link, marker nevyžaduje; deep-link cesta zůstává
hlídaná) + markPaymentPending i v host větvi payFeature (kryje hybrid
Payment Link fallback uvnitř PaymentActivity).
- **Pravidlo:** guard přidaný do SPOLEČNÉ aktivační funkce vyžaduje projít
VŠECHNY její callsites a všechny cesty, které k ní vedou (tady: deep link,
in-app callback, hybrid WebView) — přesně repeated-bug-report-find-all-paths.
Platební/odemykací flow se po každé změně testuje na release buildu
(promo-testing-release), ne jen v debugu, kde je vše odemčené a chyba
neviditelná.

Provenance in the project's git history

- record key: `2026-08-23 ~ platby na androidu se od 237 tiše zahazovaly klient zaplatil`
- first committed: `2026-08-23T12:32:36+02:00`
- first commit: `39c53d88a64f`
- 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 with the incident records in ai-incidents.md, ia-sabotages/ai-incidents.md, and tool-sabotages/ai-incidents.md. The report mentions markPaid, markPaidConfirmed, markPaymentPending, PaymentActivity, MainActivity, and installPaymentHost, but does not identify a change needed in claude-code. Done is not defined for this repository.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
documentation, mobile-dev
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.