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.
Make the annotations list lazy load with the package react-intersection-observer. Now the annotation in the SidebarPreview only renders when it becomes visible. For PDF file with more than 10k annotations, loading time for annotations list is significantly improved (from several seconds to immediately); for the Better Note plugin's annotation header custom button API call, the UI do nor freeze (previously freeze for several minutes).
I also tried react-virtualized, but due to the following reasons that would bring some issue that I don't think can be easily solved:
For the reasons above, I think we can just go with this PR and hopefully this will also decrease the memory usage of the reader.