From 300e6f9282287eb454e574300f50fa924b3dd535 Mon Sep 17 00:00:00 2001 From: "paseo-bot[bot]" <266920839+paseo-bot[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:29:31 +0200 Subject: [PATCH] test(app): retain large Markdown restore diagnostic --- .../markdown-preview-repro/README.md | 29 +++++++++++++++++++ .../markdown-preview-repro/restore.android.ad | 5 ++++ 2 files changed, 34 insertions(+) create mode 100644 packages/app/e2e/mobile/agent-device/markdown-preview-repro/README.md create mode 100644 packages/app/e2e/mobile/agent-device/markdown-preview-repro/restore.android.ad diff --git a/packages/app/e2e/mobile/agent-device/markdown-preview-repro/README.md b/packages/app/e2e/mobile/agent-device/markdown-preview-repro/README.md new file mode 100644 index 0000000000..fe0a5acbb5 --- /dev/null +++ b/packages/app/e2e/mobile/agent-device/markdown-preview-repro/README.md @@ -0,0 +1,29 @@ +# Large Markdown preview restore diagnostic + +Reproduces the Android path in [issue #1384](https://github.com/getpaseo/paseo/issues/1384), using the public synthetic document in [the Android report](https://github.com/getpaseo/paseo/issues/1384#issuecomment-6186501327). + +## Preconditions + +Use an isolated Android emulator with an official Paseo APK and a connected daemon. Generate `mixed-500k.md` from the report's public generator with seed 1. Verify its SHA-256 is `23a5ec243319e62c5314523b44db8854c0b4d305793be74bc8e33cd16b48a0bc` (467,495 bytes). + +1. Open a workspace containing the fixture. +2. Open Explorer → Files → `mixed-500k.md`, with Preview selected. +3. Return the preview to the top, where its heading is `Partition review payload limit`. Leave this file selected and close the application. +4. Run the diagnostic on that emulator: + +```sh +agent-device test packages/app/e2e/mobile/agent-device/markdown-preview-repro/restore.android.ad --platform android --device +``` + +The heading must become accessibility-visible within 15 seconds after application launch. This is a diagnostic responsiveness bound, not a product rendering SLA. The check includes startup, reconnection, rendering, and accessibility collection. A failure before Preview, or with the document scrolled away from its heading, does not establish a Markdown rendering failure. + +## Observed comparison + +On the same Android 15/API 35 emulator, with identical document bytes and a Linux daemon: + +- Official 0.11.2 (versionCode 11002): the diagnostic failed its heading wait, completing in 16.6 seconds. A native stack during restore captured the main thread in `SpannableStringBuilder.restoreInvariants`, through React Native `TextLayoutManager` and Fabric mounting. The document eventually appeared. +- Official 0.12.0 (versionCode 12000): the same diagnostic passed in 1.32 seconds after returning the document to the top. The preview also scrolled successfully. + +An initial 0.12.0 launch stopped at Loading workspace; selecting the fixture workspace again recovered it. A separate run with the preview left scrolled down failed the heading check, as expected from the precondition. Neither result is attributed to Markdown rendering. + +No Android ANR dialog or white-screen crash was observed. Physical Android devices, iOS, desktop, private documents, and the reported inability to close the file remain unverified. The version comparison does not isolate an individual commit as the sole cause of the difference. diff --git a/packages/app/e2e/mobile/agent-device/markdown-preview-repro/restore.android.ad b/packages/app/e2e/mobile/agent-device/markdown-preview-repro/restore.android.ad new file mode 100644 index 0000000000..d75913f60d --- /dev/null +++ b/packages/app/e2e/mobile/agent-device/markdown-preview-repro/restore.android.ad @@ -0,0 +1,5 @@ +context platform=android timeout=20000 retries=0 + +open "sh.paseo" +wait "text=\"Partition review payload limit\"" 15000 +close