wonday / react-native-pdf

A <Pdf /> component for react-native
MIT License
1.6k stars 557 forks source link

fix: Prevent crashes when canceling download tasks #870

Open wise-danya opened 2 months ago

wise-danya commented 2 months ago

Description

This PR addresses a critical issue where the app crashes when attempting to cancel certain tasks within the PDF component. The crash occurs because the cancel method is called on lastRNBFTask without first checking if it is a function.

Problem

When the component updates, unmounts, or when a new download is initiated, the app attempts to cancel any ongoing task represented by lastRNBFTask. However, if lastRNBFTask.cancel is not a function, this leads to an uncaught exception, causing the app to crash.

Solution

Safety checks have been implemented to ensure that lastRNBFTask.cancel is a function before any attempt is made to call it. The existing checks for the presence of lastRNBFTask have been retained, and the cleanup behavior (setting lastRNBFTask to null) has been preserved.

Screenshots

componentDidUpdate componentWillUnmount
WadhahEssam commented 1 month ago
Screenshot 2024-10-17 at 3 19 23 PM

We are experiencing same issue