who_need_help/android/play-store/internal-release-v3.md

106 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Internal testing release v3
This is the operator record for the current Google Play Internal testing
release. The source-bound artifact was uploaded, released only to Internal
testing, delivered by Google Play, and verified on the authorised physical
phone on 2026-08-10.
## Release identity
- Track: Internal testing only
- Release label: `0.1.2 Location consent clarity`
- Package: `org.whoneedhelp.mobile`
- Version code: `3`
- Version name: `0.1.2`
- Source commit: `cd154766a06bb1febb0598fb3f53db78628bd7f6`
- Source fingerprint:
`70529d3befcb0818f0b79f7869389b4fad432eb2911be08d52342529b7f22614`
- AAB: `android/dist-release-20260809-v3/who-need-help-release.aab`
- AAB SHA-256:
`5f1b63d02467ce63af795d16459a75693e415426478e0788b83f0f6d35dff922`
Do not upload an artifact with a different hash under this release record. A
code change requires a new version code, a fresh source-bound build, and a new
record.
## Release notes
### English (United States)
Improves live-location consent feedback. Cancelling the disclosure now leaves
sharing stopped without presenting a misleading technical error.
### Ukrainian
Покращено повідомлення про згоду на передавання геолокації. Скасування діалогу
тепер залишає передавання вимкненим і не показує помилкову технічну помилку.
### Russian
Улучшена обратная связь при согласии на передачу геолокации. Отмена диалога
теперь оставляет передачу выключенной и не показывает ложную техническую ошибку.
## Local verification
- Release unit tests, release lint, R8/resource shrinking, APK/AAB signing,
bundletool validation and the production App Links gate passed.
- The exported source fingerprint matches the current committed source.
- API 37 instrumentation passed 10/10 tests, including explicit native
disclosure cancellation and notification-based Stop behavior.
- The independent process-death probe observed the expected killed process and
verified that the non-sticky foreground service and notification did not
remain.
- The one-off emulator container, image and volume were removed by the test
harness.
Detailed evidence is recorded in
`docs/google-play-release-candidate-2026-08-09-v3.md`.
## Publication evidence
Play Console was re-read on 2026-08-10 and showed:
1. track **Internal testing** is active;
2. latest release is `0.1.2 Location consent clarity`;
3. the release is available to internal testers with one version code;
4. the release timestamp is 2026-08-10 11:02 AM in the Console UI;
5. the app is still unreviewed, so Internal testers see the temporary package
name until the application setup is reviewed;
6. no Closed or Production rollout was started by this release.
The App content overview was re-read on 2026-08-10 and showed exactly one item
under **Need attention**: the Foreground service permissions declaration. Its
Location form had no saved task selection and the Save control was disabled.
No incomplete declaration was saved or submitted during this inspection.
The Dashboard separately showed overall app setup at 9 of 11 tasks. The two
incomplete tasks were **Select an app category and provide contact details** and
**Set up your store listing**. Closed testing remained locked until those tasks
are complete and reported `0 testers currently opted-in`. No values were saved
and no Closed or Production release was created during this inspection.
The authorised physical phone then passed the strict installed-build verifier:
Google Play installer, Play App Signing identity, exact `0.1.2 (3)` version,
verified production App Link, and `MainActivity` resolution.
## Post-publication foreground-location evidence
An exact run-scoped production fixture was used only for the location replay.
The Play-delivered app showed the prominent disclosure, Android permission
prompt, active in-app state, and persistent notification while minimized. The
notification Stop action ended the session; server verification observed 41
samples and zero retained raw positions. Exact fixture cleanup deleted the
request, assignment, session, and synthetic requester, then both production
and frozen-test readiness endpoints returned `ready`.
The long evidence take is not the submission video: Android's recorder reached
its time limit before the Stop action was captured even though Stop and server
cleanup were verified immediately afterward. A separate 21.379802-second take
from this same Play-delivered version now includes the trigger, disclosure,
permission prompt, minimized persistent notification, notification Stop action,
and stopped state. Its path and SHA-256 are recorded in
`location-and-fgs-declaration.md`. It remains local evidence until it is hosted
as an unlisted video and its URL is saved with the foreground-service
declaration. Do not replace the Internal candidate before that declaration is
complete.