jabref icon indicating copy to clipboard operation
jabref copied to clipboard

Remove/prevent "Ghost" navigation history when using importers

Open subhramit opened this issue 3 months ago β€’ 7 comments

JabRef version

Latest development branch build (please note build date below)

Operating system

Windows

Details on version and operating system

Windows

Checked with the latest development build (copy version output from About dialog)

  • [x] I made a backup of my libraries before testing the latest development version.
  • [x] I have tested the latest development version and the problem persists

Details

During JabCon 2025, we worked on adding some new features and possibly breaking changes. One of these included "Chronological navigation in libraries". This was essentially an improved "per-tab" version of the same feature which existed in JabRef 4.x and was removed in 5.x

Steps to reproduce the behaviour

  1. Open JabRef
  2. Open an empty library
  3. The navigation (back/forward) buttons should be disabled
  4. Bulk-import multiple entries into the library (I imported ~30 entries - I searched for "black hole" via search pre-configured fetcher and imported the first page)
  5. See that the navigation buttons are available, and sometimes some sequence of pressing them can take you to certain entries

Possible hint to solution

When any new entry is added/imported, the maintable selects it via: https://github.com/JabRef/jabref/blob/e7a5420727d4197585fe4c8037ee10f1ab1a664d/jabgui/src/main/java/org/jabref/gui/LibraryTab.java#L493-L497

to show which entry was last added. In case of bulk imports, there is no defined order of import (and thus no defined order of selections), and these selections should not be counted in the navigation history. The challenge will be to track when bulk imports happen and disable the history list updates in such cases.

Appendix

No response

subhramit avatar Sep 13 '25 15:09 subhramit

Alternative way would be to disable auto-selection altogether during bulk-import, not just history update. "Least clean" workaround solution would be to clear out history by last X items from the list, if X items were imported.

subhramit avatar Sep 13 '25 15:09 subhramit

/assign-me

Mujib-Ahasan avatar Nov 09 '25 16:11 Mujib-Ahasan

πŸ‘‹ Hey @Mujib-Ahasan, thank you for your interest in this issue! πŸŽ‰

We're excited to have you on board. Start by exploring our Contributing guidelines, and set up your local development workspace by following the steps in our workspace setup guidelines to get started smoothly.

For questions on JabRef functionality, you can consult the JabRef Guru. For questions related to the codebase, please start using DeepWiki.

In case you encounter failing tests during development, please check our developer FAQs!

Still facing issues or having more questions? Feel free to ask here on GitHub or on JabRef's Gitter chat. Please don't hesitate to open a (draft) pull request early on to show the direction you are heading towards if unsure.

Happy coding! πŸš€

github-actions[bot] avatar Nov 09 '25 16:11 github-actions[bot]

⏰ Assignment Reminder

Hi @Mujib-Ahasan, this is a friendly reminder about your assignment to this issue.

[!WARNING] This issue will be automatically unassigned in 11 days if there's no activity.

Remember that you can ask the JabRef Guru or DeepWiki about anything regarding JabRef. Additionally, our contributing guide has hints on creating a pull request and a link to our Gitter chat.

How to keep your assignment


If you are working on it, you can prevent automatic unassignment by:

  • Submitting a draft pull request with your progress within 11 days
  • Asking for the πŸ“Œ Pinned label if you need more time

We appreciate your contribution and are here to help if needed!

github-actions[bot] avatar Nov 19 '25 12:11 github-actions[bot]

πŸ“‹ Assignment Update

Hi @Mujib-Ahasan, due to inactivity, you have been unassigned from this issue.

Next steps


If you still want to work on this:

  • Submit a pull request showing your current state. You will be automatically assigned again.
  • Ask a maintainer to assign you again.

github-actions[bot] avatar Nov 30 '25 12:11 github-actions[bot]

Hi! @subhramit
I’m currently assigned to a different issue, but I’ve already completed that one and am waiting for a review on the PR. In the meantime, I went ahead and worked on this issue as well and have a solution ready.

Would it be okay if I open a PR for this issue even though it’s not formally assigned to me? Happy to make changes if needed!

shubhamk0205 avatar Dec 07 '25 23:12 shubhamk0205

Hi! @subhramit I’m currently assigned to a different issue, but I’ve already completed that one and am waiting for a review on the PR. In the meantime, I went ahead and worked on this issue as well and have a solution ready.

Would it be okay if I open a PR for this issue even though it’s not formally assigned to me? Happy to make changes if needed!

Have assigned you, please go ahead.

subhramit avatar Dec 07 '25 23:12 subhramit

/assign-me

shubhamk0205 avatar Dec 11 '25 23:12 shubhamk0205

Thank you for your continued work in JabRef. At this point, you probably already know the basics and the important links. If not, our contributing guidelines is the place you should go to.

Happy coding! πŸš€

jabref-machine avatar Dec 11 '25 23:12 jabref-machine