Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lucene search #11542

Merged
merged 331 commits into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
331 commits
Select commit Hold shift + click to select a range
0f32e91
Use pattern matching for cast
btut Nov 6, 2022
231f200
Fix pattern matching
btut Nov 7, 2022
202f514
Merge branch 'main' into version6
btut Nov 7, 2022
f602207
Merge branch 'version6' into luceneSearchBackend
btut Nov 7, 2022
675d75c
Fix merge
btut Nov 7, 2022
49eeb1d
Speed up switches between sorting/filtering modes
btut Nov 7, 2022
a25fa00
Merge remote-tracking branch 'upstream/main' into luceneSearchBackend
calixtus Dec 27, 2022
08aca25
Fixed merge errors
calixtus Dec 27, 2022
15b2152
Fixed small issues
calixtus Jan 1, 2023
f8b643b
Removed obsolete tests, fixed some tests
calixtus Jan 3, 2023
229fed7
Merge branch 'main' into luceneSearchBackend
koppor Jan 3, 2023
536ecfa
Fixed merge error in CHANGELOG.md
calixtus Jan 4, 2023
1117e17
Fixed checkstyle
calixtus Jan 4, 2023
ff4ad1c
Fixed more tests
calixtus Jan 4, 2023
7bdccf0
Removed obsolete tests
calixtus Jan 4, 2023
40de951
Fixes "Fixed merge error in CHANGELOG.md" by removing duplicate entries
koppor Jan 4, 2023
cbb5461
Merge remote-tracking branch 'upstream/luceneSearchBackend' into luce…
calixtus Jan 4, 2023
9e8863d
Merge branch 'main' into luceneSearchBackend
calixtus Jan 10, 2023
1f38a68
WiP on tests
calixtus Jan 23, 2023
5467095
Merge remote-tracking branch 'upstream/main' into luceneSearchBackend
calixtus Sep 12, 2023
00cecf8
Checkstyle
calixtus Sep 12, 2023
ad85c77
Checkstyle
calixtus Sep 12, 2023
3c1c08e
Merge remote-tracking branch 'upstream/main' into luceneSearchBackend
calixtus Sep 25, 2023
8981cdd
Merge remote-tracking branch 'upstream/main' into luceneSearchBackend
calixtus Sep 25, 2023
986bf3f
Merge remote-tracking branch 'upstream/luceneSearchBackend' into luce…
calixtus Sep 25, 2023
ed5cebf
Update Java version
calixtus Sep 25, 2023
afc4d67
Refine logging
koppor Sep 25, 2023
2f3203f
Fix compile error
koppor Sep 25, 2023
c771458
Add LuceneTest
koppor Sep 25, 2023
b795fa6
Update CHANGELOG.md
koppor Jan 11, 2024
29759bb
Move search classes to pdf package
LoayGhreeb May 23, 2024
b084538
Merge branch 'main' into update-lucene-branch
LoayGhreeb May 23, 2024
0dc1c2d
Move search classes to search package
LoayGhreeb May 24, 2024
d5c87df
rewriteRun
LoayGhreeb May 24, 2024
a0c3a71
Merge branch 'main' into update-lucene-branch
LoayGhreeb May 29, 2024
bfc33c8
Remove bibEntry from DocumentReader
LoayGhreeb May 31, 2024
17fd483
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 3, 2024
c0098c9
Rewrite LuceneIndexer
LoayGhreeb Jun 3, 2024
cebaa1c
Remove IndexingTaskManager
LoayGhreeb Jun 3, 2024
81a0988
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 3, 2024
14a612d
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 12, 2024
f3c5cfa
Separate Bib fields index and LinkedFiles index
LoayGhreeb Jun 17, 2024
50299b2
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 17, 2024
a12653d
Fix null LuceneManager in ExternalFilesEntryLinker
LoayGhreeb Jun 17, 2024
007898a
Save as action
LoayGhreeb Jun 17, 2024
c4e02d6
Clear linkedFiles indexer when fullText indexing is disabled in prefe…
LoayGhreeb Jun 17, 2024
c6faa35
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 17, 2024
0c0d6ba
remove comments
LoayGhreeb Jun 17, 2024
6b5e66a
get indexed files on update
LoayGhreeb Jun 17, 2024
4c23c4e
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 17, 2024
50a6db4
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 18, 2024
3c1c0ef
Add LUCENE_MANAGERS map for accessing managers by databaseContext.getUid
LoayGhreeb Jun 19, 2024
c2181ec
Move LuceneManager from search.indexing package to search
LoayGhreeb Jun 19, 2024
00ec1de
Fix wrong order for import
LoayGhreeb Jun 19, 2024
ad95628
Move SearchQuery to model package
LoayGhreeb Jun 19, 2024
4732d25
Fix issue with opening multiple unsaved libraries
LoayGhreeb Jun 19, 2024
9887362
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 23, 2024
c692b30
Pass LuceneManager down to the entry editor
LoayGhreeb Jun 23, 2024
27fdde1
Improve searching performance
LoayGhreeb Jun 24, 2024
9708b29
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 24, 2024
ab5388f
Change SearchFieldConstants to enum
LoayGhreeb Jun 25, 2024
9242516
More performance improvements for searching
LoayGhreeb Jun 25, 2024
2cc4f39
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 25, 2024
d8bc078
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jun 26, 2024
9219eec
Update FulltextSearchResultsTab.java
LoayGhreeb Jun 26, 2024
99938d9
Fix group union, intersection
LoayGhreeb Jun 26, 2024
d70342f
Fix backgroundtask
calixtus Jun 27, 2024
f9731d1
Merge remote-tracking branch 'LoayGhreeb/update-lucene-branch' into f…
calixtus Jun 27, 2024
bbf8d19
Fix subscriptions
calixtus Jun 27, 2024
8d6e06c
Remove lastSearchQueryLogic
calixtus Jun 27, 2024
fb3c097
Fix possible NPE
calixtus Jun 27, 2024
b8c6e9a
Fix searchTask check
calixtus Jun 27, 2024
7e75341
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jul 3, 2024
136225d
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jul 3, 2024
b13d81e
Remove sort by score flag
LoayGhreeb Jul 5, 2024
4f679de
Fix score column sorting
LoayGhreeb Jul 5, 2024
12c9869
Fix modifier buttons listener
LoayGhreeb Jul 5, 2024
d94a1b1
Add search rank column
LoayGhreeb Jul 8, 2024
3671fdf
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jul 8, 2024
cf271d5
hide search rank column from preferences
LoayGhreeb Jul 8, 2024
5b42e70
Add search_rank column to sort order by default
LoayGhreeb Jul 10, 2024
33cc770
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jul 10, 2024
8abee27
Update CHANGELOG.md
LoayGhreeb Jul 10, 2024
c30edfb
fix typo
LoayGhreeb Jul 10, 2024
2fe8e3b
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jul 11, 2024
cf49713
Change the order of the rank
LoayGhreeb Jul 11, 2024
bec28bf
Merge branch 'main' into update-lucene-branch
koppor Jul 15, 2024
bf94797
Merge branch 'main' into update-lucene-branch
LoayGhreeb Jul 26, 2024
4352e77
Merge branch 'update-lucene-branch' into LuceneSearch
LoayGhreeb Jul 28, 2024
3203439
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 4, 2024
d67b988
Use NGramAnalyzer for indexing
LoayGhreeb Aug 4, 2024
aa81985
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 5, 2024
aac90cd
Resolve conflicts
LoayGhreeb Aug 5, 2024
1ec38d5
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 6, 2024
f28af55
update search matches with lucene
LoayGhreeb Aug 6, 2024
17f834a
PreviewViewer highlighting with Lucene
LoayGhreeb Aug 7, 2024
f660551
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 7, 2024
76297a0
Delete IndexingTaskManager.java
LoayGhreeb Aug 7, 2024
6d4e992
SourceTab highlighting with Lucene
LoayGhreeb Aug 11, 2024
e71087e
Fix non-ASCII characters
LoayGhreeb Aug 12, 2024
f4d24f6
Extract query terms from search query
LoayGhreeb Aug 12, 2024
805a5a0
Highlight regex queries
LoayGhreeb Aug 12, 2024
2446ccd
return js highlight function
LoayGhreeb Aug 12, 2024
20d7096
Fix invalid search query throw exception
LoayGhreeb Aug 12, 2024
77a4c92
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 12, 2024
793dd59
Refactor Lucene indexer classes
LoayGhreeb Aug 12, 2024
1b1cdbb
Refactor linked files indexer
LoayGhreeb Aug 12, 2024
4e7defa
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 12, 2024
43c8d9d
Update search matches when entries are added or updated
LoayGhreeb Aug 13, 2024
f58b1e8
Remove preferences from ActionHelper
LoayGhreeb Aug 13, 2024
b8be4ee
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 13, 2024
09f3ea5
checkstyle
LoayGhreeb Aug 13, 2024
e47ba65
comment out search tests
LoayGhreeb Aug 13, 2024
a8f7d18
OpenRewrite
LoayGhreeb Aug 13, 2024
97ecff1
Fix Groups Parser/Serializer
LoayGhreeb Aug 13, 2024
87408a1
Localization
LoayGhreeb Aug 13, 2024
abd5652
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 14, 2024
b5a2774
Search groups
LoayGhreeb Aug 15, 2024
1fe163e
Merge remote-tracking branch 'upstream/main' into LuceneSearch
koppor Aug 19, 2024
3939064
Release `IndexSearcher` after completing search task
LoayGhreeb Aug 20, 2024
52b04e4
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 20, 2024
8c8becc
Checkstyle
LoayGhreeb Aug 20, 2024
4dea5f3
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 23, 2024
363f46b
Correct typo
LoayGhreeb Aug 25, 2024
78ab566
Remove GroupSearchQuery
LoayGhreeb Aug 25, 2024
210a824
Remove EventBus from LuceneManager and use BibDatabase eventBus
LoayGhreeb Aug 25, 2024
193d533
Fix number of matched entries in groups
LoayGhreeb Aug 25, 2024
4ca8afb
Fix search groups
LoayGhreeb Aug 25, 2024
9ca71c7
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 25, 2024
26a49d4
Localization
LoayGhreeb Aug 25, 2024
d26929e
Remove bib fields highlighter
LoayGhreeb Aug 26, 2024
e4c9d91
Pass LuceneManager to search groups
LoayGhreeb Aug 26, 2024
3400c92
Fix performance issues by caching matched entries
LoayGhreeb Aug 26, 2024
e4fe911
Update GroupDialogViewModelTest.java
LoayGhreeb Aug 26, 2024
707063a
Update main table matches
LoayGhreeb Aug 26, 2024
63cba32
Fix groups icon
LoayGhreeb Aug 26, 2024
fd531a6
Restore Search.g4 and GrammarBasedSearchRule
LoayGhreeb Aug 26, 2024
fcc8c9c
First version of search group migration
koppor Aug 26, 2024
660e354
Add groups field to the index
LoayGhreeb Aug 26, 2024
9d0d718
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 26, 2024
fca2f93
Merge branch 'LuceneSearch' of https://github.com/Jabref/jabref into …
LoayGhreeb Aug 26, 2024
c6c9065
Remove search rules
LoayGhreeb Aug 26, 2024
05aab8d
Localization
LoayGhreeb Aug 26, 2024
c19d01d
Add test cases
LoayGhreeb Aug 27, 2024
67c6c4d
Fix names
koppor Aug 27, 2024
ba660d4
Add some more functionality
koppor Aug 27, 2024
e46e0a2
Always add "all" prefix
koppor Aug 27, 2024
699e921
Add comment for alternative implementation
koppor Aug 27, 2024
f671f08
Mark library tab changed after migration
koppor Aug 27, 2024
3e6a179
Add another test for regular expression
koppor Aug 27, 2024
2018cea
Small fixes
koppor Aug 27, 2024
04105a8
Fix markBaseChanged
koppor Aug 27, 2024
cc3c002
Fix adding new entries did not update MatchCategory
LoayGhreeb Aug 28, 2024
909afe4
Fix searching for Non-ASCII characters
LoayGhreeb Aug 28, 2024
bfa1356
Fix escaping special characters
LoayGhreeb Aug 28, 2024
ec5bfbb
Fix tests
LoayGhreeb Aug 28, 2024
9efbf55
Add first draft of LatexToUnicodeFoldingFilter
koppor Aug 28, 2024
e95674a
Fix LatexToUnicodeFoldingFilter
LoayGhreeb Aug 28, 2024
02c8ca0
Remove LatexToUnicode from SearchQuery
LoayGhreeb Aug 28, 2024
7b95f8d
Localization
LoayGhreeb Aug 28, 2024
a0ff7fb
AllowedToUseLogic
LoayGhreeb Aug 28, 2024
eb989f4
Merge branch 'main' into LuceneSearch
koppor Aug 28, 2024
b55ab31
Update CHANGELOG.md
koppor Aug 28, 2024
0b7284d
Use sentence case for search result heading
koppor Aug 28, 2024
37c8325
Add CHANGELOG for change in JabRefFrameViewModel
koppor Aug 28, 2024
8faad33
Add more changes to CHANGELOG.md
koppor Aug 28, 2024
cd71f11
Add ADR-0038
koppor Aug 28, 2024
beb3881
Rename "SCORE" to "MATCH_SCORE"
koppor Aug 28, 2024
59a5e54
Add link to ADR-0038
koppor Aug 28, 2024
bc28532
Add another CHANGELOG.md entry
koppor Aug 28, 2024
85f4a4b
Add CHANGELOG.md entry
koppor Aug 28, 2024
d22ef7b
Revert change of filename
koppor Aug 28, 2024
9ca8416
Add JavaDoc comment
koppor Aug 28, 2024
4ebb256
Trying to find better names
koppor Aug 28, 2024
e64242d
Discard changes to src/main/resources/tinylog.properties
koppor Aug 28, 2024
f6b3d94
Remove commented out code
koppor Aug 28, 2024
7d2834b
Remove obsolete testing class
koppor Aug 28, 2024
033226c
Remove obsolete test
koppor Aug 28, 2024
5d0118d
Discard changes to src/test/resources/tinylog-test.properties
koppor Aug 28, 2024
78264d7
Remove completely disabled code
koppor Aug 28, 2024
6616c2a
Merge branch 'LuceneSearch' of github.com:JabRef/jabref into LuceneSe…
koppor Aug 28, 2024
73890f1
Merge branch 'main' into LuceneSearch
koppor Aug 28, 2024
3dfd01e
Rename "all" to "any"
LoayGhreeb Aug 28, 2024
e2c430b
Catch thrown exception
LoayGhreeb Aug 28, 2024
05b6270
Remove groups field from the default field
LoayGhreeb Aug 28, 2024
cde42f0
Remove SearchGroupsListener
LoayGhreeb Aug 29, 2024
5cc1312
Update Benchmarks.java
LoayGhreeb Aug 29, 2024
5818452
Update module-info.java
LoayGhreeb Aug 29, 2024
ff56ea9
Fixes from code review on LibraryTab
LoayGhreeb Aug 29, 2024
2310625
Remove regex button from search bar
LoayGhreeb Aug 29, 2024
f369b09
Use BibEntry.getId instead of System.identityHashCode
LoayGhreeb Aug 29, 2024
27ed105
Add BibEntry index map
LoayGhreeb Aug 29, 2024
a1461e5
Readd option
koppor Aug 29, 2024
53e274d
Add `@ADR` annotation
koppor Aug 29, 2024
d4754ca
Add some comment
koppor Aug 29, 2024
71732a6
One more annotation
koppor Aug 29, 2024
f4a5567
Add CHANGELOG.md entry
koppor Aug 29, 2024
f3f454c
One more annotation
koppor Aug 29, 2024
a23e047
Add CHANGELOG.md entry
koppor Aug 29, 2024
edfb3cc
Revert "Add BibEntry index map"
LoayGhreeb Aug 29, 2024
94b27eb
Use binary search to find the index of the entry
LoayGhreeb Aug 29, 2024
edb2ab6
openrewrite
LoayGhreeb Aug 29, 2024
24cf9f7
Tests for LinkedFilesIndexer
LoayGhreeb Aug 29, 2024
c3c9d12
Fix DatabaseSearcher
LoayGhreeb Aug 29, 2024
e3c3256
LocalizationConsistencyTest
LoayGhreeb Aug 29, 2024
12ff246
DatabaseSearcherWithBibFilesTest
LoayGhreeb Aug 29, 2024
36ee112
Fix typo in CHANGELOG.md
koppor Aug 29, 2024
15ed52b
Fix typo
LoayGhreeb Aug 30, 2024
cd6e55f
Use parameterized test for DatabaseSearcherTest
LoayGhreeb Aug 30, 2024
df5d7c1
Fix DatabaseSearcherWithBibFiles tests
LoayGhreeb Aug 30, 2024
4872dc5
Fix exportMatches test
LoayGhreeb Aug 30, 2024
bb90047
Merge branch 'main' into LuceneSearch
LoayGhreeb Aug 30, 2024
b12fa56
Remove regex check box from search groups dialog
LoayGhreeb Aug 30, 2024
1351add
JavaDoc
LoayGhreeb Aug 30, 2024
a8a1c2a
Fix SearchGroups test
LoayGhreeb Aug 30, 2024
d20cf5c
Remove closeAndWait methods and use CurrentThreadTaskExecutor
LoayGhreeb Aug 31, 2024
0957707
Fix architecture test
LoayGhreeb Sep 1, 2024
f923502
Allow to use logic
LoayGhreeb Sep 1, 2024
6b6bca3
Add debug logging for search
LoayGhreeb Sep 1, 2024
efb5324
Add more logging
LoayGhreeb Sep 1, 2024
48aa091
Assert with containsInAnyOrder
LoayGhreeb Sep 1, 2024
d4b5e8a
Fix DatabaseSearcher test
LoayGhreeb Sep 1, 2024
48fe7ca
Global search dialog
LoayGhreeb Sep 1, 2024
bb1d8c5
Merge branch 'main' into LuceneSearch
LoayGhreeb Sep 1, 2024
68d1df8
Rename method
LoayGhreeb Sep 1, 2024
1005685
Improve code quality
LoayGhreeb Sep 2, 2024
84a2754
Use non-static preferences variables
LoayGhreeb Sep 2, 2024
a8a845f
Update CHANGELOG.md
LoayGhreeb Sep 2, 2024
d6fbf55
Delete SearchGroupTest.java
LoayGhreeb Sep 2, 2024
eeadaee
fix typo
LoayGhreeb Sep 2, 2024
0959592
fix indentation
LoayGhreeb Sep 2, 2024
29d2ad3
Update matchedEntries on the UI thread
LoayGhreeb Sep 2, 2024
0a7b92f
Discard changes to src/main/java/org/jabref/gui/importer/actions/GUIP…
LoayGhreeb Sep 2, 2024
0ecfae4
Merge branch 'main' into LuceneSearch
LoayGhreeb Sep 2, 2024
5bcb82d
Fix LoayGhreeb#12
LoayGhreeb Sep 2, 2024
09d5148
Sync search flags between search bar and global search bar
LoayGhreeb Sep 2, 2024
a9a8a7c
Move VERSION_6_0_ALPHA const to SearchGroupsMigrationAction
LoayGhreeb Sep 2, 2024
146e3f7
Refactor LuceneSearcher
LoayGhreeb Sep 2, 2024
558b1b3
Use linked files analyzer for highlighting full-text results
LoayGhreeb Sep 2, 2024
54fd783
Merge branch 'main' into LuceneSearch
LoayGhreeb Sep 2, 2024
e6f3b5d
Fix line break
LoayGhreeb Sep 2, 2024
95458d3
Fix tests
LoayGhreeb Sep 2, 2024
e5665ce
Use EnglishAnalyzer for indexing/searching linked files
LoayGhreeb Sep 2, 2024
ce21f4a
Ask to wait for linked files indexing on shutdown
LoayGhreeb Sep 4, 2024
cf92f0a
Merge branch 'main' into LuceneSearch
LoayGhreeb Sep 4, 2024
6dbc187
Use EdgeNGram instead of NGram
LoayGhreeb Sep 4, 2024
c9d8230
Return comment
LoayGhreeb Sep 4, 2024
fa8344b
Update CHANGELOG.md
LoayGhreeb Sep 4, 2024
5f05f4a
Merge branch 'main' into LuceneSearch
LoayGhreeb Sep 4, 2024
ab87e24
Merge branch 'main' into LuceneSearch
LoayGhreeb Sep 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'main' into LuceneSearch
  • Loading branch information
LoayGhreeb committed Aug 7, 2024
commit f660551b382c386c5895d484dd5729caccc9d173
2 changes: 2 additions & 0 deletions .github/workflows/add-greeting-to-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:

Newcomers, we're excited to have you on board. Start by exploring our [Contributing](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md) guidelines, and don't forget to check out our [workspace setup guidelines](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace) to get started smoothly.

In case you encounter failing tests during development, please check our [developer FAQs](https://devdocs.jabref.org/code-howtos/faq.html)!

Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on [JabRef's Gitter chat](https://gitter.im/JabRef/jabref). And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback.

Happy coding! 🚀
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
- The dialog for [adding an entry using reference text](https://docs.jabref.org/collect/newentryfromplaintext) is now filled with the clipboard contents as default. [#11565](https://github.com/JabRef/jabref/pull/11565)
- Added minimal support for [biblatex data annotation](https://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf#subsection.3.7) fields in `.layout` files. [#11505](https://github.com/JabRef/jabref/issues/11505)
- Added saving of selected options in the [Lookup -> Search for unlinked local files dialog](https://docs.jabref.org/collect/findunlinkedfiles#link-the-pdfs-to-your-bib-library). [#11439](https://github.com/JabRef/jabref/issues/11439)
- We fixed ans issue where text in Dark mode inside "Citation information" was not readable [#11512](https://github.com/JabRef/jabref/issues/11512)
- We enabled creating a new file link manually. [#11017](https://github.com/JabRef/jabref/issues/11017)
- We added a toggle button to invert the selected groups. [#9073](https://github.com/JabRef/jabref/issues/9073)
- We reintroduced the floating search in the main table. [#4237](https://github.com/JabRef/jabref/issues/4237)
- We fixed an issue where the selection of an entry in the table lost after searching for a group. [#3176](https://github.com/JabRef/jabref/issues/3176)
Expand All @@ -31,19 +33,21 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
- JabRef does not show finished background tasks in the status bar popup. [#11574](https://github.com/JabRef/jabref/pull/11574)
- We enhanced the indexing speed. [#11502](https://github.com/JabRef/jabref/pull/11502)
- ⚠️ Renamed command line parameters `embeddBibfileInPdf` to `embedBibFileInPdf`, `writeMetadatatoPdf` to `writeMetadataToPdf`, and `writeXMPtoPdf` to `writeXmpToPdf`. [#11575](https://github.com/JabRef/jabref/pull/11575)
- The browse button for a Custom theme now opens in the directory of the current used CSS file [#11597](https://github.com/JabRef/jabref/pull/11597)

### Fixed

- We fixed an issue where the "Check for updates" preference was not saved. [#11485](https://github.com/JabRef/jabref/pull/11485)
- We fixed an issue where an exception was thrown after changing "show preview as a tab" in the preferences. [#11515](https://github.com/JabRef/jabref/pull/11515)
- We fixed an issue where JabRef put file paths as absolute path when an entry was created using drag and drop of a PDF file. [#11173](https://github.com/JabRef/jabref/issues/11173)
- We fixed an issue that online and offline mode for new library creation were handled incorrectly. [#11565](https://github.com/JabRef/jabref/pull/11565)
- We fixed an issue with colors in the search bar when dark theme is enabled. [#11569](https://github.com/JabRef/jabref/issues/11569)
- We fixed an issue where a new unsaved library was not marked with an asterisk. [#11519](https://github.com/JabRef/jabref/pull/11519)
- We fixed an issue where JabRef starts without window decorations. [#11440](https://github.com/JabRef/jabref/pull/11440)

### Removed


- We removed support for importing using the SilverPlatterImporter (`Record INSPEC`). [#11576](https://github.com/JabRef/jabref/pull/11576)



Expand Down
6 changes: 3 additions & 3 deletions PRIVACY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Privacy Policy

Last updated: 2023-08-24
Last updated: 2024-08-06

Your privacy is a fundamental right JabRef e.V. respects and supports.
By using JabRef and its related online services, you choose to share some of your personal information.
Expand Down Expand Up @@ -58,6 +58,7 @@ These third-party services are the following:
| [IACR](https://www.iacr.org/) | <https://www.iacr.org/privacy.html> |
| [IEEEXplore](https://ieeexplore.ieee.org/Xplore/home.jsp) | <https://www.ieee.org/security-privacy.html> |
| [INSPIRE](https://inspirehep.net/) | <https://cern.service-now.com/service-portal?id=privacy_policy&se=INSPIRE-Online&notice=main> |
| [ISIDORE](https://isidore.science/) | <https://isidore.science/credit> |
| [JSTOR](https://www.jstor.org/) | <https://www.ithaka.org/privacypolicy/> |
| [Library of Congress](https://lccn.loc.gov/) | <https://www.loc.gov/legal/> |
| [National Library of Medicine](https://www.ncbi.nlm.nih.gov/) | <https://www.nlm.nih.gov/web_policies.html> |
Expand All @@ -73,9 +74,8 @@ These third-party services are the following:
| [The SAO/NASA Astrophysics Data System](https://ui.adsabs.harvard.edu/) | <https://ui.adsabs.harvard.edu/help/privacy/> |
| [Unpaywall](https://unpaywall.org/) | <https://unpaywall.org/legal/privacy> |
| [zbMATH Open](https://www.zbmath.org) | <https://zbmath.org/privacy-policy/> |
| [ISIDORE](https://isidore.science/) | <https://isidore.science/credit> |

[1]: *Note: The Mr. DLib service is used for the related articles tab in the entry editor and collects also your language, your browser and operating system (by default*disabled*).*
[1]: *Note: The Mr. DLib service is used for the related articles tab in the entry editor and collects also your language, your browser and operating system (*disabled* by default).*

## JabRef Browser Extension

Expand Down
2 changes: 1 addition & 1 deletion docs/code-howtos/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Following is a list of common errors encountered by developers which lead to fai
Read more about the background and format of localization in JabRef [here](https://devdocs.jabref.org/code-howtos/localization.html).

* `org.jabref.logic.l10n.LocalizationConsistencyTest` `findObsoleteLocalizationKeys` <span style="color:red">FAILED</span>
* <span style="color:green">Fix</span>: There are localization keys [localization properties file](https://github.com/JabRef/jabref/blob/main/src/main/resources/l10n/JabRef_en.properties) that are not used in the code, probably due to the removal of existing code. Navigate to the unused key-value pairs in the file and remove them. You can always click on the details of the failing test to pinpoint which keys are unused.
* <span style="color:green">Fix</span>: There are localization keys in the [localization properties file](https://github.com/JabRef/jabref/blob/main/src/main/resources/l10n/JabRef_en.properties) that are not used in the code, probably due to the removal of existing code. Navigate to the unused key-value pairs in the file and remove them. You can always click on the details of the failing test to pinpoint which keys are unused.
Read more about the background and format of localization in JabRef [here](https://devdocs.jabref.org/code-howtos/localization.html).

* `org.jabref.logic.citationstyle.CitationStyle` `discoverCitationStyles` <span style="color:red">ERROR: Could not find any citation style. Tried with /ieee.csl.</span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ Press <kbd>Alt</kbd>+<kbd>0</kbd> to open the commit dialog.
Unfortunately, IntelliJ has no support for ignored sub modules [[IDEA-285237](https://youtrack.jetbrains.com/issue/IDEA-285237/ignored-changes-in-submodules-are-still-visible-in-the-commit-window)].
Fortunately, there is a workaround:

Go to **File > Settings... > Version Control > Directory Mappings**.
Go to **File > Settings... > Version Control > Directory Mappings**.<br>
**Note:** In some MacBooks, `Settings` can be found at the "IntelliJ" button of the app menu instead of at "File".

Currently, it looks as follows:

Expand All @@ -60,3 +61,5 @@ This will make these directories "Unregistered roots:", which is fine.
{% figure caption:"Directory Mappings having three unregistered roots" %}
![Directory Mappings having three repositories unregsitered](intellij-directory-mappings-unregistered-roots.png)
{% endfigure %}

<!-- markdownlint-disable-file MD033 -->
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ nav_order: 12

## Ensure that JDK 21 is available to IntelliJ

Ensure you have a Java 21 SDK configured by navigating to **File > Project Structure... > Platform Settings > SDKs**.
Ensure you have a Java 21 SDK configured by navigating to **File > Project Structure... > Platform Settings > SDKs**.<br>
**Note:** In some MacBooks, `Project Structure` can be found at the "IntelliJ" button of the app menu instead of at "File".

{% figure caption:"JDKs 11, 14, and 15 shown in available SDKs. JDK 21 is missing." %}
![Plattform Settings - SDKs](intellij-choose-jdk-adoptopenjdk-on-windows-project-settings.png)
Expand Down Expand Up @@ -193,3 +194,5 @@ A right-click on "BibEntryTests" enables the debugger to start.
{% figure caption:"Run window for the BibEntry test case" %}
![Run window for the BibEntry test case](guidelines-intellij-tests-are-green.png)
{% endfigure %}

<!-- markdownlint-disable-file MD033 -->
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ Install the [CheckStyle-IDEA plugin](http://plugins.jetbrains.com/plugin/1065?pr
Navigate to **File > Settings... > Plugins"**.
On the top, click on "Marketplace".
Then, search for "Checkstyle".
Click on "Install" choose "CheckStyle-IDEA".
Click on "Install" choose "CheckStyle-IDEA".<br>
**Note:** In some MacBooks, `Settings` can be found at the "IntelliJ" button of the app menu instead of at "File".

{% figure caption:"Install CheckStyle" %}
![Install CheckStyle](guidelines-intellij-install-checkstyle.png)
Expand Down Expand Up @@ -159,3 +160,5 @@ Press "OK".
> Finally, you have Checkstyle running locally so that you can check for styling errors before submitting the pull request.

Got it running? GREAT! You are ready to lurk the code and contribute to JabRef. Please make sure to also read our [contribution guide](https://devdocs.jabref.org/contributing#contribute-code).

<!-- markdownlint-disable-file MD033 -->
14 changes: 9 additions & 5 deletions scripts/vms/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ This folder contains directories making use of [Vagrant](https://www.vagrantup.c

### Setup VM

1. `cd` into `ubuntu`
1. `cd` into `{vmdir}`, e..g, `cd ubuntu`
2. Start the vm `vagrant up`
3. Store ssh configuration: `vagrant ssh-config > default`
3. Linux machines: Store ssh configuration: `vagrant ssh-config > default`

### Use VM

You can use the UI offered by the VirtualBox client.
You can also do `ssh -Y -F vagrant-ssh default` to SSH into the machine.
On Linux, you can also do `ssh -Y -F vagrant-ssh default` to SSH into the machine.

If asked for a password, this is `vagrant`.

Expand All @@ -31,8 +31,12 @@ Then, everything is removed.

## Available VMs

- `ubuntu`: Ubuntu with JabRef snap and libreoffice-connection pre-installed. One has to install the [JabRef Browser Extension](https://addons.mozilla.org/en-US/firefox/addon/jabref/) manually.
- `fedora`: Fedora 39 with KDE plasma and JDK. During the build, the JabRef sources will be fetched and an initial build will be triggered. Login and then type `startx`. Now KDE Plasma should start. Open Konsole. Then `cd jabref`. Then `./gradlew run`.
| VM | JabRef | Browser | LibreOffice |
|-------------------------------------------------|---------|---------|-------------|
| [`fedora`](fedora/) | source | -- | -- |
| [`Linux Mint (Cinnamon)`](linux-mint-cinnamon/) | source | Firefox | yes |
| [`ubuntu`](ubuntu/) | snap | Firefox | yes |
| [`windows`](windows/) | source | Edge | -- |

## Troubleshooting

Expand Down
6 changes: 6 additions & 0 deletions scripts/vms/fedora/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Fedora VM

Fedora 39 with KDE plasma and JDK.
During the build, the JabRef sources will be fetched and an initial build will be triggered.

Login and then type `startx`. Now KDE Plasma should start. Open Konsole. Then `cd jabref`. Then `./gradlew run`.
23 changes: 23 additions & 0 deletions scripts/vms/linux-mint-cinnamon/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Linux Mint Cinnamon VM

[Linux Mint](https://linuxmint.com/) with JabRef snap and libreoffice-connection pre-installed.

Uses <https://portal.cloud.hashicorp.com/vagrant/discover/aaronvonawesome/linux-mint-21-cinnamon>.

Start JabRef by following steps:

- 1. Open termminal
- 2. `cd jabref`
- 3. `./gradlew run`

## Alternative

We could have build our own image.
First creating an image using packer with <https://github.com/rmoesbergen/packer-linuxmint>.
Then, building a `Vagrantfile` on top of it.
Seemed to be too much issues for the users.

1. Install packer
2. `packer plugins install github.com/hashicorp/virtualbox`
3. `packer plugins install github.com/hashicorp/vagrant`
4. `packer build -var-file=mint-cinnamon-22.json core_template.json`
33 changes: 33 additions & 0 deletions scripts/vms/linux-mint-cinnamon/Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

# https://portal.cloud.hashicorp.com/vagrant/discover/aaronvonawesome/linux-mint-21-cinnamon
config.vm.box = "aaronvonawesome/linux-mint-21-cinnamon"
config.vm.box_version = "4.0.1"

config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true

config.vm.provider "virtualbox" do |v|
v.name = "jabref-linux-mint-cinnamon"
v.gui = true
v.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "2"]
end

config.vm.provision "shell", inline: <<-SHELL
sudo apt-get install -y git
SHELL

config.vm.provision "shell", privileged: false, inline: <<-SHELL
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 21.0.4-tem < /dev/null
git clone --recurse-submodules https://github.com/JabRef/jabref.git
cd jabref
sdk use java 21.0.4-tem
./gradlew jar
SHELL

config.ssh.forward_x11 = true
end
5 changes: 5 additions & 0 deletions scripts/vms/ubuntu/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Ubuntu VM

Ubuntu with JabRef snap and libreoffice-connection pre-installed.

One has to install the [JabRef Browser Extension](https://addons.mozilla.org/en-US/firefox/addon/jabref/) manually.
23 changes: 12 additions & 11 deletions scripts/vms/ubuntu/Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,18 @@ Vagrant.configure("2") do |config|
v.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "2"]
end

# Update package index
config.vm.provision "shell", inline: "sudo apt-get update"
config.vm.provision "shell", inline: "sudo apt-get upgrade -y"

# Install latest development build of JabRef
config.vm.provision "shell", inline: "sudo snap install --edge jabref"

# Enable LibreOffice connection
config.vm.provision "shell", inline: "sudo apt-get install -y libreoffice-java-common"
config.vm.provision "shell", inline: "sudo mkdir -p /usr/lib/mozilla/native-messaging-hosts"
config.vm.provision "shell", inline: "snap connect jabref:hostfs-mozilla-native-messaging-jabref"
config.vm.provision "shell", inline: <<-SHELL
# Update package index
sudo apt-get update
sudo apt-get upgrade -y

# Install latest development build of JabRef
sudo snap install --edge jabref

sudo apt-get install -y libreoffice-java-common
sudo mkdir -p /usr/lib/mozilla/native-messaging-hosts
snap connect jabref:hostfs-mozilla-native-messaging-jabref
SHELL

config.ssh.forward_x11 = true
end
49 changes: 49 additions & 0 deletions scripts/vms/windows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Windows VM

A Windows-based VM to test JabRef.
As user, you need to ensure to have the proper Windows license to use this VM.

In case you have many CPU cores, you can adapt `vb.cpus` in `Vagrantfile` to a higher number.

One has to install the [JabRef Browser Extension](https://addons.mozilla.org/en-US/firefox/addon/jabref/) manually.

## Troubleshooting

### "Waiting for machine to reboot..."

In case Vagrant reports "Waiting for machine to reboot..." and nothing happens, one has to "power off" the machine, execute `vagrant destory`, and then run `vagrant up` again.

### `fatal: early EOF`

```console
jabref-windows-sandbox: Cloning into 'jabref'...
jabref-windows-sandbox: error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
jabref-windows-sandbox: error: 6846 bytes of body are still expected
jabref-windows-sandbox: fetch-pack: unexpected disconnect while reading sideband packet
jabref-windows-sandbox: fatal: early EOF
jabref-windows-sandbox: fatal: fetch-pack: invalid index-pack output
```

The `git clone` command did not work.

Login, open `cmd` and then execute following commands:

```cmd
git clone --recurse-submodules https://github.com/JabRef/jabref.git
cd jabref
gradlew run
```

## Background

`Vagrantfile` is based on [SeisoLLC/windows-sandbox](https://github.com/SeisoLLC/windows-sandbox/tree/main).

The most use image seems to be the [Windows 10 image by `gusztavvargadr`](https://portal.cloud.hashicorp.com/vagrant/discover/gusztavvargadr/windows-10).
List of all images at <https://portal.cloud.hashicorp.com/vagrant/discover/gusztavvargadr>.

[Chocolatey](https://chocolatey.org/) is used instead of [winget-cli](https://learn.microsoft.com/en-us/windows/package-manager/), because Chocolatey installation does not hit GitHub's rate limits during unattended installation.

## Atlernatives

- Atlernative Vagrant images: <https://app.vagrantup.com/boxes/search?q=windows+10&utf8=%E2%9C%93>.
- [Windows Sandbox](https://learn.microsoft.com/en-us/windows/security/application-security/application-isolation/windows-sandbox/windows-sandbox-overview)
47 changes: 47 additions & 0 deletions scripts/vms/windows/Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
NAME = "jabref-windows-sandbox"

Vagrant.configure("2") do |config|
config.vm.box = "gusztavvargadr/windows-10"
config.vm.box_url = "https://app.vagrantup.com/gusztavvargadr/boxes/windows-10"
config.vm.hostname = NAME

config.vm.provider "virtualbox" do |vb|
vb.name = NAME

vb.memory = 6000
vb.cpus = 2

vb.customize ['modifyvm', :id, '--clipboard-mode', 'bidirectional']
vb.gui = true
end

config.vm.provision "shell", privileged: "true", powershell_elevated_interactive: "true", inline: <<-SHELL
# Install chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation

choco install libericajdk
choco install git.install -y --params "/GitAndUnixToolsOnPath /WindowsTerminal /WindowsTerminalProfile"

# Required by AI functionaltiy
choco choco install vcredist140

# choco install firefox
# choco install libreoffice-fresh
SHELL

config.vm.provision "shell", reboot: true

config.vm.provision "shell", privileged: "false", inline: <<-SHELL
cd \\users\\vagrant
git clone --recurse-submodules https://github.com/JabRef/jabref.git
# cd jabref
# .\\gradlew jar
SHELL

# Used to set the Vagrant machine name
config.vm.define NAME do |t|
end
end
Loading
Loading
You are viewing a condensed version of this merge commit. You can view the full changes here.