Skip to content

Conversation

@dpogue
Copy link
Member

@dpogue dpogue commented Nov 5, 2025

Platforms affected

iOS

Motivation and Context

Provide a preference to control whether the WKWebView will refresh or reload completely after a crash.

Closes GH-1232.
Closes GH-1235.
Closes GH-1355.
Closes GH-1393.
Closes GH-1533.
Closes GH-1552.

Description

This adds a CrashRecoveryBehavior preference with options "refresh" (default - try to refresh the WKWebView URL) and "reload" (load the starting page again in the WKWebView).

This doesn't solve the root issue where sometimes refreshing the WKWebView after a crash results in a blank screen, but gives people the option to force a full reload (which seems to be what people are using as a workaround for the blank screen bug).

Testing

Added API tests to confirm the intended behaviour.

Checklist

This adds a `CrashRecoveryBehavior` preference with options `"refresh"`
(default - try to refresh the WebView URL) and `"reload"` (load the
starting page again in the WebView).

This doesn't solve the root issue where sometimes refreshing the WebView
still results in a blank screen, but gives people the option to force a
full reload (which seems to be what people are using as a workaround for
the blank screen bug).

Closes apacheGH-1232.
Closes apacheGH-1235.
Closes apacheGH-1355.
Closes apacheGH-1393.
Closes apacheGH-1533.
Closes apacheGH-1552.
@dpogue dpogue added this to the 8.0.0 milestone Nov 5, 2025
@codecov-commenter
Copy link

codecov-commenter commented Nov 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.74%. Comparing base (6b39d0e) to head (bdb7ddc).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1582   +/-   ##
=======================================
  Coverage   78.74%   78.74%           
=======================================
  Files          17       17           
  Lines        4911     4911           
=======================================
  Hits         3867     3867           
  Misses       1044     1044           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Member

@erisu erisu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Built a Cordova test app and tested the following cases:

  • No settings: After crashing the WebContent, the app's WebView reloaded and the previously set hash value remained in the href.
  • CrashRecoveryBehavior set to refresh: After crashing the WebContent, the app's WebView reloaded and the previously set hash value remained in the href.
  • CrashRecoveryBehavior set to reload: After crashing the WebContent, the app's WebView reloaded and the href resets to the original starting URL.

@dpogue dpogue merged commit 5a13d63 into apache:master Nov 9, 2025
21 of 22 checks passed
@dpogue dpogue deleted the crash-recovery-behaviour branch November 9, 2025 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants