🚀 Petal Browser v4.8 (Build 480)
Mozilla GeckoView Beta 161 & Android Components 161.0b3 Migration with Full Wiring Fixes & Account Redesign
🌐 Latest Engine & Component Upgrades
- GeckoView Beta 161: Upgraded to
org.mozilla.geckoview:geckoview-beta:161.0.20261113104103, delivering the bleeding-edge web platform capabilities, security patches, and performance enhancements. - Mozilla Android Components 161.0b3: Upgraded all 38 Mozilla components to
161.0b3, bringing synchronized feature layers across browser state, engine sessions, downloads, site permissions, search, top sites, sync, and add-on management. - Updated User-Agent Profiles: Refreshed mobile and desktop Firefox user agent identifiers to
rv:161.0/Firefox/161.0.
📱 Standalone Viewers & Native Predictive Back
- Task Affinity Isolation: Assigned distinct task affinities to Petal's standalone viewers (
com.petal.browser.viewer.pdf,.file,.image,.media), opening each document into its own Recents task card without nesting in the browser task stack. - Document Launch Modes: Configured
documentLaunchMode="always"for PDF, File, and Image viewers, andintoExistingfor the Media Player. - Native Predictive Back: Integrated
enableOnBackInvokedCallback="true"with system-level back handlers for fluid back-gesture animations that finish the standalone viewer directly without double animations or lingering process state. - Clean Intent Separation: Retained browser handling for web links, HTML/XHTML, password vault, and extensions while delegating media and file viewing directly to the isolated viewers.
🏗️ Full Mozilla Android Components Migration & Wiring Hardening
- Phase 1 (External Schemes, Web Notifications & Media): Handled external scheme resolution via
feature-app-linkswith strict user-gesture gating against automated script launches; wired Web Notifications viafeature-webnotificationscomplying with Android 12+ notification trampoline guidelines; streamlinedServiceWorkerDelegatetab creation with background cold-start resume queueing; unified tab thumbnails and icons viabrowser-thumbnailsandbrowser-icons. - Phase 2 (Permissions, Prompts, Search, Top Sites): Wired
feature-sitepermissionswith origin and private session isolation; eliminated prompt feature redundancy by cleanly isolatingPromptFeatureandPetalBrowserPromptBridge; added support forTimeSelectionformat parsing, login credential selection sheet, FedCM identity credentials, and Liquid Glass dialog presentation. - Phase 3 (Places, Syncable Logins & Session Restore): Re-established bidirectional visit forwarding to Mozilla's
HistoryDelegatewhile protecting private tabs; upgraded credential vault autocomplete toSyncableLoginsStorage; harmonized history title recording across page navigation events. - Phase 4 (Add-on Manager, PWA, Custom Tabs): Maintained web extensions management via
AddonManager, persisted PWA manifests viaManifestStorage, and refined Custom Tabs configuration withCustomTabConfigHelper. - Engine Variant Guard: Introduced the
checkGeckoViewVariantsGradle verification task to ensure strict single-engine variant resolution during APK and AAB bundle builds.
👤 Unified Account & Profile Center
- Account Redesign Integration: Merged comprehensive
PetalAccountScreenandPetalAccountRepositorywith Material 3 Expressive and Liquid Glass theming. - Seamless Firefox Sync & Local Profiles: Harmonized Firefox Account cloud sync (
FirefoxAccountSyncScreen) and local user profile switches (PetalUserProfileManager) under a unified account management hub. - App Lock & Quick Tools Integration: Embedded biometric/PIN app lock controls into Quick Tools and settings categories.
⚡ Build System & CI/CD Speed Optimization
- WASM & Rust Engine Caching: Added
taiki-e/install-action@v2forwasm-pack,Swatinem/rust-cache@v2fornative/adblock_rs, and cachedpetal_network_blocker/wasmassets to bypass redundant compiles. - Fast Build ABI Filtering: Added
-PfastBuildproperty to build onlyarm64-v8aduring normal PR and branch pushes, preserving full 4-ABI + Universal APK bundles for tags and releases. - Play Store Bundle Isolation: Separated Github release APK builds from Play Store AAB bundle generation with
-PnoSplitsto prevent AGP 9.x Proto split resource conflicts.