You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JabRef stops responding ("hangs") while processing files during import and provides no user-visible mechanism for progress. The length of the hang is proportional to the number of files selected, particularly evident during the creation of a new library, where many files are more likely to be imported.
The issue is also significantly exacerbated given imported file contents and other metadata are processed (for example: DOI and other lookups in PDF's) using remote service calls, which can and do present and add significant latencies to the processing time.
The issue is more likely to impact two user segments: new/newer users and users converting from other reference managers, where existing file collection sizes may be substantial, and as such presents a significant user experience issue.
A PDF collection of 264 files was used during my testing.
Steps to Reproduce
Lookup -> Search for unlinked files
Select N > 1 files for import -> Import
Observe total processing time
Repeat steps 2-3 for higher file counts (N)
Observe that the Import dialog and JabRef main window cannot be interacted with (see screenshots below) until Import process completes.
Additional Information (Screenshot)
Proposed Solution
If Import processing is not currently executed off main thread, execute it off main thread
On Import execution (start), add a visual progress mechanism to the Import dialog (see screenshot example below)
(Optional) Allow in-progress import to be cancelled (needs UI/UX)
Example: Change Import button control to Cancel once Import is started
(Optional) Use the Import dialog tree control elements (of selected files) to indicate progress
Example:
For each folder item, change ☑ <Folder Name> (N files) to ☐ <Folder Name> (Processing X of N files). Change ☐ to ☑ once each folder processing is complete.
For each child item (file), change ☑ <filename> to ☐ <filename> (Processing...). Change ☐ to ☑ once each file processing is complete
The text was updated successfully, but these errors were encountered:
We completely refactored the dialog now. You can test it in the latest development version (currently building)
We would like to ask you to use a development build from https://builds.jabref.org/master and report back if it works for you. Please remember to make a backup of your library before trying-out this version.
JabRef Version
Summary
JabRef stops responding ("hangs") while processing files during import and provides no user-visible mechanism for progress. The length of the hang is proportional to the number of files selected, particularly evident during the creation of a new library, where many files are more likely to be imported.
The issue is also significantly exacerbated given imported file contents and other metadata are processed (for example: DOI and other lookups in PDF's) using remote service calls, which can and do present and add significant latencies to the processing time.
The issue is more likely to impact two user segments: new/newer users and users converting from other reference managers, where existing file collection sizes may be substantial, and as such presents a significant user experience issue.
A PDF collection of 264 files was used during my testing.
Steps to Reproduce
Lookup
->Search for unlinked files
N > 1
files for import ->Import
Additional Information (Screenshot)
Proposed Solution
(Optional) Allow in-progress import to be cancelled (needs UI/UX)
Import
button control toCancel
once Import is started(Optional) Use the Import dialog tree control elements (of selected files) to indicate progress
Example:
☑ <Folder Name> (N files)
to☐ <Folder Name> (Processing X of N files)
. Change ☐ to ☑ once each folder processing is complete.☑ <filename>
to☐ <filename> (Processing...)
. Change ☐ to ☑ once each file processing is completeThe text was updated successfully, but these errors were encountered: