docs: record verified PWA design preview and recovered Apple validation
Android validation / emulator (35) (push) Failing after 4s
Android validation / emulator (37.0) (push) Failing after 4s
iOS validation / simulator (push) Successful in 58s
Android validation / build (push) Successful in 5m15s

This commit is contained in:
Yuvomi Mobile Contributors committed 2026-10-21 10:51:40 +02:00
1 parent 7ac9882307
commit e0938df256
3 files changed
+89 -10

No files matched your search

+24 -3
View File
@@ -39,8 +39,28 @@ Set `PLAYWRIGHT_HOST_PLATFORM_OVERRIDE=ubuntu24.04-x64` on this Ubuntu 26 host.
Reference output is ignored under `artifacts/visual/pwa-360x592`; native screenshots Reference output is ignored under `artifacts/visual/pwa-360x592`; native screenshots
are in the external build's `app/outputs/native-screenshots`. The side-by-side are in the external build's `app/outputs/native-screenshots`. The side-by-side
compositor is tooling only; screenshots are evidence, not automated parity approval. compositor is tooling only; screenshots are evidence, not automated parity approval.
The committed source `7ac9882` also passed a separate clean-archive build in
`/tmp/opencode/yuvomi-design-clean-1fknxqpt`, outputs at
`/home/neste/yuvomi-design-clean-build-7ac9882`. All three inspected native packages
are collected in ignored `artifacts/android/`; the installable CI debug APK is a
separate artifact with its own signature/checksum, not assumed identical.
Gitea run 670/build job 1079 succeeded at `7ac9882`. The actual 0.2.2/code-4 CI APK
was downloaded, signature/version/contents checked, installed and cold-launched
on `emulator-5554`; link and SHA-256 are in `validation.md`. It is now the installed
local preview, with a certificate different from the local Gradle debug key.
Remove only that known synthetic preview/use a fresh AVD before local device tests
if an install mismatch occurs; zero tests must still fail verification.
Remote emulator jobs 1080/1081 still report inaccessible `/dev/kvm`. Signing remains
paused, and the complete Android run is not green despite its successful build job.
iOS is unchanged. No module has accepted full functional/visual parity, the rest iOS is unchanged by this design pass. Later inspection of run 669/job 1078 at
`bd0e4cc` verified 16 portable tests, 16 simulator XCTest tests, one onboarding UI
test and an unsigned device archive. The historical CoreSimulator timeout is no
longer the current blocker; see `validation.md` and the retained external job log.
Run 671/job 1082 at `7ac9882` subsequently repeated those successful Apple checks;
the actual log was downloaded and its test counts/archive markers inspected.
This is not iOS native API/Keychain/device or visual-parity acceptance.
No module has accepted full functional/visual parity, the rest
of the inventory remains open, and signing stays paused. Continue refinement from of the inventory remains open, and signing stays paused. Continue refinement from
actual comparison images, including non-default font sizes/devices and native actual comparison images, including non-default font sizes/devices and native
module functionality; do not declare the whole user request finished from this module functionality; do not declare the whole user request finished from this
@@ -177,8 +197,9 @@ validation must happen on macOS with Xcode and real supported devices.
## Highest-priority external work ## Highest-priority external work
1. Typecheck/build the iOS app against Apple SDKs, run its actual XCTest/UI tests, 1. Extend the now-successful Apple SDK/simulator/archive validation beyond the
and produce an unsigned archive. Fix any failures; none of these ran locally. basic onboarding UI test to authenticated native API flows, Keychain runtime,
visual comparisons and physical devices. These did not run on Linux.
2. Run the API 37 permission grant/denial/revocation scenarios on a working image 2. Run the API 37 permission grant/denial/revocation scenarios on a working image
or device, plus the minimum-supported Android and current WebView matrix. or device, plus the minimum-supported Android and current WebView matrix.
3. Review iOS unknown-length download disk-pressure handling before release. 3. Review iOS unknown-length download disk-pressure handling before release.
+3 -1
View File
@@ -74,7 +74,9 @@ not replace either screenshot, normalize away UI differences or assert acceptanc
visual refinement and broader device/font-size/accessibility testing. visual refinement and broader device/font-size/accessibility testing.
- The three supported favorites stand in for unavailable native destinations; - The three supported favorites stand in for unavailable native destinations;
this is not full preference/navigation parity. this is not full preference/navigation parity.
- Apple UI/build validation remains blocked as recorded in [validation](validation.md). - The unchanged iOS slice now has a verified Apple simulator build/test/archive
run, but no new design comparison or native real-server parity acceptance;
see [validation](validation.md).
Screenshot existence and passing CRUD tests are evidence, **not visual acceptance**. Screenshot existence and passing CRUD tests are evidence, **not visual acceptance**.
See [native parity](native-parity.md) for the complete scope. See [native parity](native-parity.md) for the complete scope.
+62 -6
View File
@@ -34,8 +34,62 @@ Logs: `/home/neste/yuvomi-design-build-final.log`,
`/home/neste/yuvomi-design-secure-final.log`. `/home/neste/yuvomi-design-secure-final.log`.
The [design comparison](native-design.md) includes reviewed synthetic images and The [design comparison](native-design.md) includes reviewed synthetic images and
documents the exact 360 × 592 content viewport and intentional fixture scope. documents the exact 360 × 592 content viewport and intentional fixture scope.
**This is not accepted 1:1 parity.** iOS was not changed or newly validated. **This is not accepted 1:1 parity.** iOS was not changed in this design pass.
Remote KVM/CoreSimulator prerequisites and production signing remain open. Remote Android KVM prerequisites and production signing remain open. The earlier
Mac blocker has since cleared, as verified below.
A separate `git archive` checkout of committed source `7ac9882` was rebuilt at
`/tmp/opencode/yuvomi-design-clean-1fknxqpt`, with outputs under
`/home/neste/yuvomi-design-clean-build-7ac9882`. JVM tests, both lint variants and
debug/unsigned release APK/AAB builds succeeded (`/home/neste/yuvomi-design-clean-build.log`).
The artifact collector verified version/code, debug signature, unsigned release
outputs, production TLS-only/system-CA policy and absence of test certificates or
private signing files. Local copies are in ignored `artifacts/android/`. Collection
records the documentation-only dirty worktree honestly; the build itself used the
clean committed-source archive, not those later documentation edits.
### Downloaded and installed CI artifact
Gitea Android run **670**, build job **1079**, source `7ac9882`: the build/test/lint,
repository/script/format/dependency checks and artifact upload succeeded. The
actual ZIP was downloaded; its sole `app-debug.apk` is
`0.2.2-native-preview` / code **4**, and `apksigner` verified its signature. No
fixture certificate or private signing files were present. The downloaded APK was
then installed and cold-launched successfully on authorized `emulator-5554`.
- [Download Android 0.2.2 native preview](https://git.nesterovic.cc/nessi/Yuvomi-App/actions/runs/670/artifacts/android-native-debug-apk)
- APK SHA-256: `6efea6c2fbafc0702f6cd8c665817dd93a1d63590b00da4def09d246df900e44`
- Local downloaded copy/verification: ignored `artifacts/android-ci-670/`.
- The CI debug certificate differs from the local development certificate. Only
the known synthetic local preview was removed for this installation. A user
whose older preview has a different debug certificate may need to uninstall it
before installing this APK and then log in again; server data is not deleted.
The whole Android run is **not green**: emulator jobs **1080/1081** failed preflight
because `/dev/kvm` is not exposed/read-write accessible inside their jobs. Their
logs explicitly report this prerequisite; no remote emulator pass is claimed.
All device-test results above are the actual local API-35 executions.
### Verified Apple runner recovery
Inspection of Gitea run 669/job 1078 at `bd0e4cc` found an actual successful Apple
run, not just green bootstrap steps. The downloaded job log contains:
- Successful bounded `simctl` preflight and native app simulator compilation.
- 16 portable tests, then 16 simulator XCTest tests with zero failures.
- One `OnboardingTests.testRejectsCleartextWithoutNetwork` UI test, zero failures;
it checks cleartext rejection and absence of a WebView in the native hierarchy.
- `** TEST SUCCEEDED **` and `** ARCHIVE SUCCEEDED **` for the explicitly unsigned
generic-iOS device archive.
Log retained outside Git: `/home/neste/yuvomi-ios-job-1078.log`. This supersedes the
earlier CoreSimulator timeout as a **current** blocker, while leaving its historical
diagnosis intact. It is not a native login/CRUD, Keychain runtime, real-device or
visual-parity certification, nor an installable signed iOS distribution.
The current design source `7ac9882` also completed the same Apple checks in run
671/job 1082. Its downloaded log again contains the 16-test XCTest and one-test
onboarding successes plus `TEST SUCCEEDED` / `ARCHIVE SUCCEEDED` markers
(`/home/neste/yuvomi-ios-job-1082.log`). The iOS UI itself is unchanged.
## Android 0.2.1 / code 3: reproduced login regression ## Android 0.2.1 / code 3: reproduced login regression
@@ -147,9 +201,11 @@ Evidence paths in the local external build directory:
passed. The runner administrator must repair CoreSimulator availability for the passed. The runner administrator must repair CoreSimulator availability for the
runner user before Apple application validation can proceed. runner user before Apple application validation can proceed.
No Apple SDK application build, simulator UI test or physical-device result is At that point no Apple SDK application build or simulator UI result was available
claimed from the Linux runs or the stalled Mac job. Runner prerequisites were from the Linux runs or stalled Mac job. The later verified run 669 above supersedes
not weakened or counted as passing, and no host license/settings were changed. that limitation for compilation/basic simulator tests/archive only. No physical-
device result is claimed. Runner prerequisites were not weakened, and this agent
did not change host license/settings.
## Commands ## Commands
@@ -170,7 +226,7 @@ devices are not test targets.
## External gates ## External gates
Apple SDK builds, real supported devices/current engines, Android API 37, native Broad Apple UI/runtime coverage, real supported devices, Android API 37, native
SSO/reset/invite protocols, permission/role cases, files/offline/notifications, SSO/reset/invite protocols, permission/role cases, files/offline/notifications,
complete module and settings parity, visual baselines, accessibility and human complete module and settings parity, visual baselines, accessibility and human
security review remain open. Missing modules are listed in security review remain open. Missing modules are listed in