Skip to content

[BugFix][Android] Enable typed resource fetcher pipeline - #130

Open
Huxpro wants to merge 1 commit into
tiktok:agent/android-viewport-thread-guardfrom
Huxpro:agent/android-resource-fetcher-runtime-fix
Open

[BugFix][Android] Enable typed resource fetcher pipeline#130
Huxpro wants to merge 1 commit into
tiktok:agent/android-viewport-thread-guardfrom
Huxpro:agent/android-resource-fetcher-runtime-fix

Conversation

@Huxpro

@Huxpro Huxpro commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • enable the Lynx resource pipeline when any typed generic, media, or template fetcher is configured
  • fix template-only and media-only configurations being silently ignored at runtime
  • add focused regression coverage for template-only and media-only configurations

Root cause

Lynx 3.9 only installs typed template/media fetchers when setEnableGenericResourceFetcher(TRUE) is set. Sparkling previously enabled that switch only when a generic fetcher existed, so template-only and media-only configurations fell back to the legacy template provider.

Validation

  • :sparkling:testDebugUnitTest --tests com.tiktok.sparkling.hybridkit.lynx.SparklingResourceFetcherConfiguratorTest
  • :app:assembleDebug :app:assembleDebugAndroidTest on SG1
  • Lynx Sandbox aries_10, Android 10/API 29: template-only page fetcher loaded a real bundle, emitted first-screen/load-finish, and passed fixed viewport 320x480, density 3.25, and PART_ON_LAYOUT assertions

Stack

Expanded durable device validation

The checked-in SG1 + Lynx Sandbox matrix in #131 now validates exact commit df875a87541d587ab8aa84a86600c0610f9e44c7 with 10/10 PASS on aries_10 (Android 10 / API 29). Added runtime coverage includes: the pre-load listener observing a ready bridge before template fetch; the global per-page fetcher factory; real first-screen rendering for ALL_ON_UI, MOST_ON_TASM, PART_ON_LAYOUT, and safe MULTI_THREADS; and full-page fixed-viewport + MULTI_THREADS rejection before Activity launch or transfer-station save. The runner requires a clean exact HEAD and fails closed unless Sandbox release confirms the leased serial. Evidence: /tmp/sparkling-android-device-acceptance-df875a8; archive SHA-256 712a3b83dbd78eabeae9afc0766b5b191cee0bff10e515967b3ae9f46c4feb98.

Enable the Lynx resource pipeline whenever any typed generic, media, or template fetcher is configured. This fixes template-only and media-only configurations being silently ignored at runtime.

TEST: :sparkling:testDebugUnitTest --tests com.tiktok.sparkling.hybridkit.lynx.SparklingResourceFetcherConfiguratorTest

TEST: Lynx Sandbox Android 10/API 29 template-only fetcher first-screen gate

Co-authored-by: TRAE CLI <noreply@bytedance.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant