Fix favicon being cleared by web archive snapshot task #405
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With the introduction of the favicon background task, adding a bookmark can result in running both, the web archive snapshot task, and the favicon task in parallel. Both load the bookmark at the start of the task, then do their own processing, and then save the bookmark at the end. This could result in one task overriding the updated data of the other task, as the bookmark instance was not refreshed at the end of the task, before saving it. From testing this usually results in the favicon being cleared by the snapshot task, as the snapshot task takes longer.
Refreshing the bookmark would ideally wrap refreshing and saving the bookmark in a transaction, however that sporadically results in database locked errors with Sqlite. Instead this fix involves only updating the field that is relevant to each task.