Skip to content

Conversation

@shubhamk0205
Copy link
Contributor

@shubhamk0205 shubhamk0205 commented Dec 8, 2025

Closes #13878

Prevent bulk import operations from polluting the navigation history. When multiple entries are imported at once, automatic selection changes are now suppressed from being recorded in the navigation history. This ensures that only user-driven navigation actions are tracked, keeping the Back/Forward buttons functional and predictable.

Steps to test

  1. Open JabRef and create a new library
  2. Import multiple entries at once (e.g., via File → Import → BibTeX, or drag-and-drop multiple .bib files)
  3. After the import completes, verify that:
    • The Back/Forward navigation buttons remain disabled (or show the correct state based on actual user navigation, not the bulk import)
    • Manually selecting different entries adds them to navigation history as expected
    • Using Back/Forward buttons only navigates through entries you actually visited, not entries from the bulk import

Expected behavior: Bulk imports should not enable Back/Forward navigation or add entries to navigation history. Only manual entry selections should affect navigation history.

Mandatory checks

  • I own the copyright of the code submitted and I license it under the MIT license
  • I manually tested my changes in running JabRef (always required)
  • I added JUnit tests for changes (if applicable)
  • [/] I added screenshots in the PR description (if change is visible to the user)
  • I described the change in CHANGELOG.md in a way that is understandable for the average user (if change is visible to the user)
  • [/] I checked the user documentation: Is the information available and up to date? If not, I created an issue at https://github.com/JabRef/user-documentation/issues or, even better, I submitted a pull request updating file(s) in https://github.com/JabRef/user-documentation/tree/main/en.

@github-actions github-actions bot added the status: changes-required Pull requests that are not yet complete label Dec 8, 2025
@github-actions github-actions bot removed the status: changes-required Pull requests that are not yet complete label Dec 8, 2025
@github-actions github-actions bot added the status: changes-required Pull requests that are not yet complete label Dec 8, 2025
@github-actions github-actions bot removed the status: changes-required Pull requests that are not yet complete label Dec 8, 2025
@github-actions github-actions bot added the status: changes-required Pull requests that are not yet complete label Dec 8, 2025
@github-actions github-actions bot removed the status: changes-required Pull requests that are not yet complete label Dec 8, 2025
@koppor koppor added the status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers label Dec 8, 2025
koppor and others added 6 commits December 9, 2025 09:23
* Add JDK24 for gradle

* Run JBang tests on JDK25

* Update build-support JBang scripts to require JDK25+

* Remove JDK24 installation

* Weaken requirement for .jbang files

* Add JDK24

* Relax JDK requirement (and sort deps alphabetically)
* Add fallback

* Fix writing

* Add link

* Fix CHANGELOG.md

---------

Co-authored-by: Christoph <[email protected]>
* Implement reset for MainTablePreferences

Signed-off-by: Annabel Wang <[email protected]>

* Added comments

Signed-off-by: Annabel Wang <[email protected]>

* Use List.of() instead of Collections.emptyList().

Signed-off-by: Annabel Wang <[email protected]>

* rewriteRun + checkstyle set up

Signed-off-by: Annabel Wang <[email protected]>

* Revert "rewriteRun + checkstyle set up"

This reverts commit 148ce13.

---------

Signed-off-by: Annabel Wang <[email protected]>
Comment on lines 1054 to 1069
/**
* Marks the start of a bulk import operation.
* During bulk import, selection changes will not be added to navigation history.
*/
public void startBulkImport() {
bulkImportInProgress = true;
}

/**
* Marks the end of a bulk import operation.
* Normal navigation history tracking resumes after this call.
*/
public void endBulkImport() {
bulkImportInProgress = false;
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is hacky as hell

mayank1008-tech and others added 2 commits December 11, 2025 08:19
…cted' (JabRef#14561)

* change: Rename 'Search pre-configured' to 'Search pre-selected' and  'Web search fetchers' to 'Pre-selected fetchers'

* fix: Update localization keys and unit tests

* docs: Update CHANGELOG for UI label renames
* Refactor PagesChecker: Extract duplicate regex constants

Fixes JabRef#14562

* fix comments dont align on indentation

* Restore regex comments

* Revert "Merge branch 'refactor-pages-clean' of https://github.com/Zeglow/jabref into clean-fix"

This reverts commit 788979c, reversing
changes made to a4a0236.

* Revert "Restore regex comments"

This reverts commit a4a0236.

* restore MainTablePreferences.java, JabRefGuiPreferences.java and PagesChecker.java

* fix comment formatting issue
koppor and others added 9 commits December 12, 2025 03:26
* Implement reset for MainTablePreferences

Signed-off-by: Annabel Wang <[email protected]>

* Added comments

Signed-off-by: Annabel Wang <[email protected]>

* Use List.of() instead of Collections.emptyList().

Signed-off-by: Annabel Wang <[email protected]>

* rewriteRun + checkstyle set up

Signed-off-by: Annabel Wang <[email protected]>

* Revert "rewriteRun + checkstyle set up"

This reverts commit 148ce13.

---------

Signed-off-by: Annabel Wang <[email protected]>
…cted' (JabRef#14561)

* change: Rename 'Search pre-configured' to 'Search pre-selected' and  'Web search fetchers' to 'Pre-selected fetchers'

* fix: Update localization keys and unit tests

* docs: Update CHANGELOG for UI label renames
* Refactor PagesChecker: Extract duplicate regex constants

Fixes JabRef#14562

* fix comments dont align on indentation

* Restore regex comments

* Revert "Merge branch 'refactor-pages-clean' of https://github.com/Zeglow/jabref into clean-fix"

This reverts commit 788979c, reversing
changes made to a4a0236.

* Revert "Restore regex comments"

This reverts commit a4a0236.

* restore MainTablePreferences.java, JabRefGuiPreferences.java and PagesChecker.java

* fix comment formatting issue
* Parameterize tests (issue JabRef#676)

* Address code review feedback

* Fix code style

* Remove spaces before delimiter in CSV test data

* Restore trailing comma in test cases

* Add missing test case

* Adress review comments

---------

Co-authored-by: Oliver Kopp <[email protected]>
* New translations jabref_en.properties (French)

* New translations jabref_en.properties (Spanish)

* New translations jabref_en.properties (Italian)

* New translations jabref_en.properties (Portuguese, Brazilian)
…Ref#14534)

* Add 15 non-standard BibLaTeX entry types with .withType() method

* updated ChangeLog.md

* fixed formatting issue

* fixed Formatting

* fixed Checkstyle's DeclarationOrder

* fix checkstyle errors

* fixed Key Collision error

* New Crowdin updates (JabRef#14535)

* New translations jabref_en.properties (French)

* New translations jabref_en.properties (Spanish)

* New translations jabref_en.properties (Danish)

* New translations jabref_en.properties (German)

* New translations jabref_en.properties (Greek)

* New translations jabref_en.properties (Italian)

* New translations jabref_en.properties (Japanese)

* New translations jabref_en.properties (Korean)

* New translations jabref_en.properties (Dutch)

* New translations jabref_en.properties (Norwegian)

* New translations jabref_en.properties (Polish)

* New translations jabref_en.properties (Portuguese)

* New translations jabref_en.properties (Russian)

* New translations jabref_en.properties (Swedish)

* New translations jabref_en.properties (Turkish)

* New translations jabref_en.properties (Chinese Simplified)

* New translations jabref_en.properties (Vietnamese)

* New translations jabref_en.properties (Portuguese, Brazilian)

* New translations jabref_en.properties (Indonesian)

* New translations jabref_en.properties (Tagalog)

* Revise JavaDoc links in README.md (JabRef#14533)

* applied given changes

* fixed formatting

* fixed formatting

* Update jabgui/src/main/java/org/jabref/gui/menus/ChangeEntryTypeMenu.java

Co-authored-by: Oliver Kopp <[email protected]>

* fixed alphabatical ordering

* Fix link

* Proxy Preference reset (JabRef#14554)

* Fix typos (JabRef#14552)

* Add LlmPlainCitationParserTest (JabRef#14553)

* Junie try 1

* Refine test

* Fix casing

* updated ChangeLog.md

* moved the non-standard types to their own own enum class and updated the connected files

* eevert "Proxy Preference reset (JabRef#14554)"

This reverts commit 430b6b9.

Clean PR

* Fix CHANGELOG.md

---------

Co-authored-by: Christoph <[email protected]>
Co-authored-by: Oliver Kopp <[email protected]>
Co-authored-by: Lalit Kumar Verma <[email protected]>
@shubhamk0205
Copy link
Contributor Author

Closing this PR and replacing it with #14575 which has a cleaner commit history. The changes are identical.

@shubhamk0205 shubhamk0205 deleted the fix-for-issue-13878 branch December 11, 2025 23:22
@calixtus
Copy link
Member

Dont close prs and reopen. GitHub will automatically update your pr if you push to. In rare cases, if you totally mess up your commit history, you may force push.

Our comments will be lost.

@shubhamk0205
Copy link
Contributor Author

Dont close prs and reopen. GitHub will automatically update your pr if you push to. In rare cases, if you totally mess up your commit history, you may force push.

Our comments will be lost.

i will surely keep this in mind @calixtus , i thought i had no option because i thought that the CI reject changes with force push as i once tried earlier

@calixtus
Copy link
Member

Ci will complain, yes, but not reject. As I said, in rare cases only. But the tradeoff is less heavy as creating a new pr with a new branch in my eyes

@shubhamk0205
Copy link
Contributor Author

Ci will complain, yes, but not reject. As I said, in rare cases only. But the tradeoff is less heavy as creating a new pr with a new branch in my eyes

from next time i will keep this in mind , Thanks for guiding : )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: changes-required Pull requests that are not yet complete

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove/prevent "Ghost" navigation history when using importers

10 participants