Remove the duplicated validation status listener from SourceTab.#14815
Conversation
…icated. storeSource method already implements the error dialog boxes.
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||
subhramit
left a comment
There was a problem hiding this comment.
Lgtm, one of us needs to check why unrelated tests are failing
|
@subhramit |
org.jabref.gui.fieldeditors.LinkedFileViewModelTest
downloadPdfFileWhenLinkedFilePointsToPdfUrl(boolean)
Test [1] true FAILED
org.opentest4j.AssertionFailedError
at app/org.jabref/org.jabref.gui.fieldeditors.LinkedFileViewModelTest.downloadPdfFileWhenLinkedFilePointsToPdfUrl(LinkedFileViewModelTest.java:298)
Test [2] false FAILED
org.opentest4j.AssertionFailedError
at app/org.jabref/org.jabref.gui.fieldeditors.LinkedFileViewModelTest.downloadPdfFileWhenLinkedFilePointsToPdfUrl(LinkedFileViewModelTest.java:298)
2026-01-06 15:42:26 [Test worker] org.gradle.api.internal.tasks.testing.worker.TestWorker.execute()
INFO: Gradle Test Executor 12 finished executing tests.
2026-01-06 15:42:27 [Test worker] org.gradle.api.internal.tasks.testing.worker.TestWorker.execute()
INFO: Gradle Test Executor 13 started executing tests.
(java:3895): dbind-WARNING **: 15:42:28.820: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
> Task :jabgui:test
org.jabref.gui.linkedfile.DownloadLinkedFileActionTest
Test replacesLinkedFiles(Path) FAILED
org.opentest4j.AssertionFailedError: expected: <[ParsedFileField{description='', link='/tmp/junit-12374738821660726715/asdf.pdf', fileType='PDF', sourceUrl='http://arxiv.org/pdf/1207.0408v1'}]> but was: <[]>
at app/org.jabref/org.jabref.gui.linkedfile.DownloadLinkedFileActionTest.replacesLinkedFiles(DownloadLinkedFileActionTest.java:96)
doesntReplaceSourceURL(boolean)
Test [1] true FAILED
org.opentest4j.AssertionFailedError: expected: <[ParsedFileField{description='', link='/tmp/junit-6350193331887083893/asdf.pdf', fileType='PDF', sourceUrl='http://arxiv.org/pdf/1207.0408v1'}]> but was: <[]>
at app/org.jabref/org.jabref.gui.linkedfile.DownloadLinkedFileActionTest.doesntReplaceSourceURL(DownloadLinkedFileActionTest.java:121)
Test [2] false FAILED
org.opentest4j.AssertionFailedError: expected: <[ParsedFileField{description='', link='/tmp/junit-16191715732590128158/asdf.pdf', fileType='PDF', sourceUrl='http://arxiv.org/pdf/1207.0408v1'}]> but was: <[]>
at app/org.jabref/org.jabref.gui.linkedfile.DownloadLinkedFileActionTest.doesntReplaceSourceURL(DownloadLinkedFileActionTest.java:121)they don't seem to be related to localization, or your PR. |
|
@subhramit |
|
Actually I was saying that they passed a while ago but jablib tests failed due to localization issue |
got it |
|
please adapt the PR title, it is not informative. Check other PRs |
|
Tested it; it, works. SourceTab is not focused again, but that can be done in a follow up task. |
User description
Closes #14805
Removed a redundant validation listener in the SourceTab class that was triggering duplicate error dialogs when invalid BibTeX source was detected, as the storeSource method already handles parsing errors and user notifications adequately. This eliminates the loop of modal dialogs blocking the entry editor without fixing the source.
Steps to test
Screencast_20260106_205305.webm
Mandatory checks
CHANGELOG.mdin a way that is understandable for the average user (if change is visible to the user)PR Type
Bug fix
Description
Removed redundant validation listener causing duplicate error dialogs
Validation errors now handled solely by storeSource method
Eliminates modal dialog loop blocking entry editor
Diagram Walkthrough
File Walkthrough
SourceTab.java
Remove redundant validation listener from SourceTabjabgui/src/main/java/org/jabref/gui/entryeditor/SourceTab.java
ValidationStatusdialogs
sourceValidator.getValidationStatus().getMessages()and showingwarning dialogs
storeSourcemethod which handlesparsing errors
CHANGELOG.md
Document duplicate error dialog fixCHANGELOG.md
error dialogs