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.
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, iflastRNBFTask.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 oflastRNBFTask
have been retained, and the cleanup behavior (settinglastRNBFTask
to null) has been preserved.Screenshots