Conversation
…tons Refs JabRef#12706 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Link selected auto-found file on "+" in the File field Pressing "+" with an automatically found, not yet linked file selected now links that file directly instead of opening the "Add file link" dialog. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T5ibD7MmLqVmjTFkqipStf * Link PR in changelog Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T5ibD7MmLqVmjTFkqipStf --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…abRef#17239) * Label new issues "status: needs-triage" and block /assign-me on them Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Fix YAML syntax of decline step Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* Make case-sensitive search work in linked files The Lucene index for linked files only kept the lowercased, stemmed text, so `=!`, `==!` and `=~!` silently matched every spelling. Contents and annotations are now additionally indexed case-preserving, and case-sensitive comparisons are routed to those fields. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PTgPLMjHLxC6CHZAZy62jk * Fix formatting Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PTgPLMjHLxC6CHZAZy62jk * Say casing in CHANGELOG entry Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PTgPLMjHLxC6CHZAZy62jk * Stop re-exporting Lucene highlighter SearchResult no longer exposes a Highlighter in its API. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PTgPLMjHLxC6CHZAZy62jk * Update SqlBasedLibrarySearcherWithBibFilesTest.java * Update InMemoryLuceneSearchBackendTest.java --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com>
* New translations jabref_en.properties for (French) * New translations jabref_en.properties for (Spanish) * New translations jabref_en.properties for (Arabic) * New translations jabref_en.properties for (Danish) * New translations jabref_en.properties for (German) * New translations jabref_en.properties for (Greek) * New translations jabref_en.properties for (Finnish) * New translations jabref_en.properties for (Italian) * New translations jabref_en.properties for (Japanese) * New translations jabref_en.properties for (Korean) * New translations jabref_en.properties for (Dutch) * New translations jabref_en.properties for (Norwegian) * New translations jabref_en.properties for (Polish) * New translations jabref_en.properties for (Portuguese) * New translations jabref_en.properties for (Russian) * New translations jabref_en.properties for (Swedish) * New translations jabref_en.properties for (Turkish) * New translations jabref_en.properties for (Ukrainian) * New translations jabref_en.properties for (Chinese Simplified) * New translations jabref_en.properties for (Chinese Traditional) * New translations jabref_en.properties for (Vietnamese) * New translations jabref_en.properties for (Portuguese, Brazilian) * New translations jabref_en.properties for (Indonesian) * New translations jabref_en.properties for (Persian) * New translations jabref_en.properties for (Tagalog)
…-specobject (JabRef#17248) Bumps [org.itsallcode.openfasttrace:openfasttrace-exporter-specobject](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace-exporter-specobject dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Ref#17244) Bumps [org.itsallcode.openfasttrace:openfasttrace-api](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace-api dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…17243) Bumps [org.itsallcode.openfasttrace:openfasttrace](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…-specobject (JabRef#17245) Bumps [org.itsallcode.openfasttrace:openfasttrace-exporter-specobject](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace-exporter-specobject dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Ref#17249) Bumps [org.itsallcode.openfasttrace:openfasttrace-api](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace-api dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…17247) Bumps [org.itsallcode.openfasttrace:openfasttrace](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…bRef#17246) Bumps [org.itsallcode.openfasttrace:openfasttrace-core](https://github.com/itsallcode/openfasttrace) from 4.9.0 to 4.10.0. - [Release notes](https://github.com/itsallcode/openfasttrace/releases) - [Commits](itsallcode/openfasttrace@4.9.0...4.10.0) --- updated-dependencies: - dependency-name: org.itsallcode.openfasttrace:openfasttrace-core dependency-version: 4.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#17252) Bumps [org.hibernate.validator:hibernate-validator](https://github.com/hibernate/hibernate-validator) from 9.1.3.Final to 9.1.4.Final. - [Release notes](https://github.com/hibernate/hibernate-validator/releases) - [Changelog](https://github.com/hibernate/hibernate-validator/blob/9.1.4.Final/changelog.md) - [Commits](hibernate/hibernate-validator@9.1.3.Final...9.1.4.Final) --- updated-dependencies: - dependency-name: org.hibernate.validator:hibernate-validator dependency-version: 9.1.4.Final dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….3.0 in /build-logic (JabRef#17250) * Chore(deps): Bump org.itsallcode:openfasttrace-gradle in /build-logic Bumps org.itsallcode:openfasttrace-gradle from 3.2.0 to 3.3.0. --- updated-dependencies: - dependency-name: org.itsallcode:openfasttrace-gradle dependency-version: 3.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * remove workaround for openfassttrace --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Christoph <siedlerkiller@gmail.com>
* Update Grobid url from http to https * fix test * fix(preferences): migrate Grobid URL Migrate the legacy endpoint during GUI and JabKit startup without changing custom URLs. * public no longer needed in main * changelog * restore public * Apply suggestion from @subhramit --------- Co-authored-by: Subhramit Basu <subhramit.bb@live.in>
* Clarify requirements documentation * Apply batched suggestions from code review Co-authored-by: InAnYan <ruslanpopov1512@gmail.com> --------- Co-authored-by: Ruslan <ruslan@example.com> Co-authored-by: Oliver Kopp <kopp.dev@gmail.com>
PR Summary by QodoAdd background task viewer and cross-cutting maintenance fixes
AI Description
Diagram
High-Level Assessment
Files changed (63)
|
Code Review by Qodo
1. Task changes cannot be reviewed alone
|
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
| - name: Decline self-assignment of untriaged issues | ||
| id: untriaged | ||
| if: "${{ contains(github.event.comment.body, '/assign-me') && contains(github.event.issue.labels.*.name, 'status: needs-triage') }}" | ||
| run: | |
There was a problem hiding this comment.
1. Task changes cannot be reviewed alone 📘 Rule violation ⚙ Maintainability
The task-viewer PR also changes issue-triage automation, requirement-tracing dependencies, Grobid networking, file linking, and full-text search behavior. These independent code paths force review, release, and rollback of the Help-menu feature to carry unrelated behavior changes with it.
Agent Prompt
## Issue description
The background-task viewer is bundled with several unrelated features and maintenance changes, preventing focused review and rollback.
## Fix Focus Areas
- .github/workflows/on-issue-comment.yml[15-24]
- jablib/src/main/java/org/jabref/logic/importer/util/GrobidService.java[69-74]
- jablib/src/main/java/org/jabref/logic/search/query/SearchToLuceneVisitor.java[95-119]
## Recommended Fix
Rebase or cherry-pick the background-task viewer changes onto a clean branch. Move issue triage, Grobid, linked-file, search, dependency, and localization work into independently reviewed pull requests.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
🤖 Generated with Claude Code
Not done: all flagged files come from the merged origin/main, not this PR.
| implementation("org.itsallcode:openfasttrace-gradle:3.4.0") | ||
| implementation("org.itsallcode.openfasttrace:openfasttrace-api:4.10.0") | ||
| implementation("org.itsallcode.openfasttrace:openfasttrace-core:4.10.0") | ||
| implementation("org.itsallcode.openfasttrace:openfasttrace-exporter-specobject:4.10.0") |
There was a problem hiding this comment.
2. Build versions remain decentralized 📘 Rule violation ⚙ Maintainability
build-logic/build.gradle.kts hard-codes five upgraded OpenFastTrace versions instead of declaring them in versions/build.gradle.kts. A later dependency update must discover and synchronize version metadata outside the approved catalog for the plugin and its runtime components.
Agent Prompt
## Issue description
The OpenFastTrace dependency versions are upgraded directly in the build-logic dependency declarations rather than through the designated version file.
## Fix Focus Areas
- build-logic/build.gradle.kts[31-35]
- versions/build.gradle.kts[135-138]
## Recommended Fix
Declare the OpenFastTrace versions in `versions/build.gradle.kts` and make the build-logic dependency declarations consume those centralized versions, retaining any required module mappings in `gradle/modules.properties`.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
🤖 Generated with Claude Code
Not done: build-logic versions arrived with the merged origin/main.
| Unable\ to\ merge\ %0.=Impossible de fusionner %0. | ||
| Merged\ %0\ without\ conflicts.=%0 fusionné sans conflit. | ||
| %0\ entries\ could\ not\ be\ merged\ automatically\:=%0 entrées n'ont pas pu être fusionnées automatiquement \: | ||
| %0\:\ deleted\ in\ CURRENT,\ changed\ in\ OTHER=%0 \: supprimé de ACTUEL, changé dans AUTRE |
There was a problem hiding this comment.
3. Translated bundles bypass crowdin 📘 Rule violation ⚙ Maintainability
JabRef_fr.properties and JabRef_it.properties add translated merge-driver keys, while numerous other translated bundles receive the same new section comment. These changes modify Crowdin-owned outputs outside JabRef_en.properties, allowing the next localization synchronization to replace or conflict with them.
Agent Prompt
## Issue description
The PR directly modifies Crowdin-managed translated localization bundles instead of limiting localization metadata changes to the English source bundle.
## Fix Focus Areas
- jablib/src/main/resources/l10n/JabRef_fr.properties[3508-3522]
- jablib/src/main/resources/l10n/JabRef_it.properties[3443-3457]
- jablib/src/main/resources/l10n/JabRef_ar.properties[779-780]
## Recommended Fix
Revert all changes under translated `JabRef_<lang>.properties` bundles. Keep new or changed localization keys only in `JabRef_en.properties` and allow Crowdin to update translated bundles.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
🤖 Generated with Claude Code
Not done: only JabRef_en.properties is maintained here; other bundles come from Crowdin.
| /// Shows a non-modal dialog listing the running background tasks. | ||
| void showBackgroundTasksDialog(StateManager stateManager); |
There was a problem hiding this comment.
5. Two public surfaces lack package docs 📘 Rule violation ⚙ Maintainability
DialogService adds a public task-viewer operation and GrobidUrlMigration adds a public class to an exported logic package, but neither package receives corresponding package documentation. Generated developer documentation therefore omits the purpose and contract of both newly exposed surfaces.
Agent Prompt
## Issue description
Two packages gain new public surfaces without corresponding package or module documentation updates.
## Fix Focus Areas
- jabgui/src/main/java/org/jabref/gui/DialogService.java[219-220]
- jablib/src/main/java/org/jabref/logic/preferences/GrobidUrlMigration.java[7-16]
- jablib/src/main/java/module-info.java[26-26]
## Recommended Fix
Add or update `package-info.java` documentation for `org.jabref.gui` and `org.jabref.logic.preferences` using Markdown Javadoc. Describe the task-dialog service surface and the preference-migration responsibility without documenting implementation details.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
🤖 Generated with Claude Code
Not done: jablib has package-info only for a handful of packages; helper classes stay below that bar.
|
Code review by qodo was updated up to the latest commit 9d6d381 |
Summary
Running background tasks could only be inspected by trying to quit JabRef. The Help menu now offers "View background tasks", and the quit dialog uses the descriptive buttons "Quit anyway" and "Keep JabRef open" instead of "Yes" and "Cancel".
Steps to test
Enable AI and open the "AI summary" tab of an entry with a PDF.
Choose Help > View background tasks: the summary task is listed.
Close that dialog and press Ctrl+Q while the task runs: the dialog offers "Keep JabRef open" (stays open) and "Quit anyway" (quits).
Related issues and pull requests
Refs JabRef#12706
AI usage
Claude Code (model claude-opus-5), AIL3.
AI CHECKLIST.md walkthrough
1. Code self-review
== null/!= nullchecksObjects.requireNonNull(...)@NullMarked@NullMarkedOptionalconsumed withifPresent/map/ ... — neverisPresent()+get()StringUtil.isBlank(...)catch (Exception e)throw new RuntimeException(...)BibEntrywithersBackgroundTaskfor background workorg.jabref.model/org.jabref.logicchanges (GUI only)2. Verification commands
LocalizationConsistencyTest(instead of full:jablib:check; GUI-only change)./gradlew :jabgui:checkstyleMain./gradlew modernizer(left to CI)./gradlew --no-configuration-cache :rewriteDryRun(left to CI)./gradlew javadoc(left to CI)3. Documentation
CHANGELOG.mdentry addeddocs/requirements4. Pull request
gh pr create --body-fileTODOplaceholder in CHANGELOGChecklist
CHANGELOG.mddescribing the change from the user's point of view (if the change is visible to the user)🤖 Generated with Claude Code