Skip to content

Dev Log · Fake Chat Video, Android, Release, Crash

Fake Chat Video: three versions in five days, and a crash only the API saw

8 August 2026, the other branch:

While Anpfiff1 ate July, three things shipped for Fake Chat Video in five days.

1.0.4 on 4 August

The clean-up release. Video export used to run in its own service, which brought nothing but restrictions on starting in the background. That is gone; export now runs in the app process. Imported photos are finally rotated upright too: the renderer ignored the EXIF rotation, so portrait photos lay on their side in the finished video.

The same day the price of the pro version went from 9.99 to 7.99 euro, across all 173 Play regions. Around 70 regions had been sitting at 12.66 US dollars, above the EU price, because they had never been re-tiered since launch.

1.0.5 on 5 August

Four things you notice. Right-to-left chats (Arabic, Hebrew, Persian and Urdu) did not stay inside the speech bubble but stuck to the edge of the screen. The bubble is sized from the measured text, but the text layout was built at full width, and in a right-to-left paragraph the text then starts at the right edge of that full width. Seven of the 86 store languages were affected.

The input line in the video always said "Message", whatever language the chat was in. And the first launch created an example chat that used up the one free chat slot a non-paying user gets.

1.0.6 today

The reason was a crash not a single user reported. The rate sat at 0.00 per cent for weeks and rose the day after the rollout to 0.34, then 0.43, then 0.59 per cent.

We only saw it because the figures were queried through the reporting API. The reports all looked similar: a crash deep in the graphics stack, but in a different place every time. A bad input value crashes in the same place every time. A crash site that moves means memory corruption.

The cause: the preview draws the chat on a background thread. If something changes while it is drawing, the running job is cancelled and a new one started. But only the bookkeeping was cancelled; the drawing itself carried on. So two threads were painting onto the same surface at once. On slow devices that happens reliably, on fast ones almost never, which is why the reports always named the same budget models.

Fixed with a lock. Plus a test that deliberately starts two drawing jobs at the same time. Without the lock the test machine dies with exactly the crash the users had.

And because a release with a one-line changelog is thin, something else came along: an empty editor now offers to insert an example chat. It writes into the conversation that already exists, so it costs no slot.

Where things stand

  • 350 translatable strings, complete in 71 languages
  • The store listing in 86 languages
  • 318 automated tests
  • Pro is a one-off 7.99 euro: no subscription, no ads, no watermark

The Manufaktur dev

Warm regards from the workshopDigitale Manufaktur Rudolstadt