Commit Graph

4734 Commits

Author SHA1 Message Date
Ozzie Isaacs
cf1b3bb37f Merge remote-tracking branch 'de/patch-1' 2025-11-22 15:29:39 +01:00
Ozzie Isaacs
70fefa2f11 Merge remote-tracking branch 'de/patch-1' 2025-11-22 15:17:49 +01:00
Ozzie Isaacs
80df8b1fa6 Merge remote-tracking branch 'ko/patch-1' 2025-11-22 15:16:13 +01:00
Ozzie Isaacs
cac33165dc Merge remote-tracking branch 'fr/patch-1' 2025-11-22 15:14:59 +01:00
Ozzie Isaacs
bf2ab66362 Merge remote-tracking branch 'ga/patch-1' 2025-11-22 15:13:49 +01:00
Ozzie Isaacs
5e14b4bf41 Merge remote-tracking branch 'ga/patch-2' 2025-11-22 15:13:13 +01:00
Ozzie Isaacs
a6fdd8ab36 Updated testresults
Fix goodreads
Remove unused import
Limit number of routes for book pages
2025-11-22 15:06:40 +01:00
Félix Pardal González
d091b9d8b9 Update Galician translations in messages.po
Edited msgstr entried adding translation to Galician.
2025-11-22 13:43:28 +01:00
Félix Pardal González
2eb7c0d3f0 Update Spanish translations for various messages
Reviewed msgid entries and added spanish translation in msgstr entries.
2025-11-22 13:30:53 +01:00
Nico31240
54eb30e2b9 Update messages.po French 2025-11-12 10:30:42 +01:00
shsm0520
47f44d71cf Update Korean translations in messages.po
updated translate
2025-11-05 21:54:59 -05:00
Aljosa Asanovic
654095054f fix(kobo): add catch-all route for proxying unknown product endpoints
The Kobo store proxy feature was failing with 404 errors for certain
store endpoints (e.g., /v1/products/featuredforkoboplus/) because
Flask's routing couldn't match these paths. This prevented the Discover
tab from working when "Proxy unknown requests to Kobo Store" was enabled.

Added catch-all routes using Flask's path converter to match any
/v1/products/* paths not handled by more specific routes, allowing
the proxy logic to properly redirect these requests to the official
Kobo store API.
2025-11-02 13:10:25 -05:00
alcibiadesc
8544702bb2 Add security fixes and improvements to search optimization
- Add FTS5 table existence check to avoid log spam on non-FTS databases
- Escape FTS5 special characters (quotes) to prevent query errors
- Wrap FTS5 search terms in quotes for phrase matching accuracy
- Improve logging: change author ordering debug to warning for visibility
- Add comment explaining author_sort data issues

These changes improve robustness and security without affecting performance.
2025-11-01 20:05:53 +01:00
alcibiadesc
a3b5d2eac7 Optimize search performance for large libraries
This commit introduces several performance optimizations to the search
system, significantly reducing query times for large Calibre libraries.

Key improvements:

1. FTS5 Integration
   - Added FTS5 full-text search support with automatic fallback
   - Uses indexed search when available, providing sub-second results
   - Gracefully degrades to traditional search if FTS5 is unavailable

2. Query Optimization
   - Replaced expensive .any() subqueries with efficient JOIN-based
     subqueries for tags, series, authors, and publishers
   - Reduced SQL complexity and improved query planning
   - Added selectinload() for authors to prevent N+1 query problems

3. LIMIT+1 Pattern
   - Implemented LIMIT+1 estimation pattern in get_search_results()
   - Avoids expensive COUNT(*) operations on large result sets
   - Provides fast pagination without sacrificing accuracy

4. Author Ordering Optimization
   - Replaced nested database queries with O(1) dictionary lookups
   - Eliminated N+1 query anti-pattern in order_authors()
   - Reduced author sorting from O(n²) to O(n) complexity

Performance Impact:
In testing with a library of 129,000+ books, these optimizations reduced
search times from 3-9 seconds to 85-330ms, achieving 89-97% improvement
across different search types.

The changes maintain backward compatibility and include fallbacks for
environments without FTS5 support.
2025-11-01 19:48:16 +01:00
IgorKurkov
bba7812a07 feat(epub.js): add autosaving of current book reading position in localStorage to open this book on the last read point 2025-10-29 22:20:08 +01:00
IgorKurkov
458d0d1e3d feat(read.html, epub): add custom theme selection with color picker, used pickr.js 2025-10-29 22:10:08 +01:00
IgorKurkov
6d6d5ac097 add books button, add page count on bottom and in settings, add swipe for closing sidebar, fix settings modal, fix few styles 2025-10-29 22:06:09 +01:00
IgorKurkov
560e8e132d add swipes by gestures in settings as an option, hammer.js for mobile 2025-10-29 20:37:15 +01:00
schnabelewobski
3433b62864 Update messages.po
Added some missing German translations.
2025-10-29 14:03:04 +01:00
IgorKurkov
d8fbf967b3 add console process interruption by ctrl C 2025-10-26 21:28:58 +01:00
IgorKurkov
902368efa7 feat(epub.js): add saving for settings of the font family to localstorage 2025-10-26 18:47:56 +01:00
IgorKurkov
c5571fc359 feat(epub.js): add font size selector with precised + and - controls 2025-10-26 18:40:52 +01:00
IgorKurkov
132c17151a feat(epub.js): add font size saving in localstorage like theme saving 2025-10-26 18:24:44 +01:00
IgorKurkov
1ce1aee35e fix(js reader): adjust height to dynamic viewport height, add amber theme 2025-10-26 18:23:07 +01:00
Sebastian Holzer
4dc8948199 Some more fixes for some German translations in messages.po
Added some more translations that I stumbled over. Also added my name to it.
Please note however, the translation in line 3120 (book will be deleted from database) and the next translation (from hard disk) don't work well that way in german. Please consider defining two separate translations (one with and one without the hard disk). The german translation grammatically works the way I committed it here, but it's really not how one would write it if they had a choice. The "gelöscht" should always be at the end in german.
2025-10-22 20:02:04 +02:00
Sebastian Holzer
7db6481704 Added missing and fixed some existing German translations in messages.po
Updated German translations in messages.po, correcting various phrases and ensuring consistency. But most importantly added missing translations. Didn't check all translations though, just those that catched my attention
2025-10-22 19:47:25 +02:00
Ozzie Isaacs
6b11d0b4f3 Removed fuzzy translated strings which cause error during language compiling 2025-09-12 08:50:03 +02:00
Ozzie Isaacs
c30d550ee1 Merge remote-tracking branch 'zh_Hant_TW/master' 2025-09-12 08:32:05 +02:00
Ozzie Isaacs
c902fe1c5a Merge remote-tracking branch 'fr/master' 2025-09-12 08:28:27 +02:00
Ozzie Isaacs
a6fe639e2f Merge remote-tracking branch 'it/patch-1' 2025-09-12 08:27:55 +02:00
mapi68
e1bce5d5fe Update italian messages.po 2025-09-11 01:36:07 +02:00
Ganfoud
5057e68b84 Add files via upload
FR translation update
2025-09-10 21:26:01 +02:00
Finrod Chen
f88e776b1f Update zh_Hant_TW translations. 2025-09-10 11:56:43 +08:00
Ganfoud
957c906e53 Add files via upload
added some fr translations
2025-09-09 22:21:02 +02:00
Ozzie Isaacs
cfda7f109a Merge remote-tracking branch 'books_api/cjwin2000-google_books_apikey' 2025-09-09 09:59:49 +02:00
Ozzie Isaacs
9fcd636533 Omit exporting of api strings 2025-09-09 09:40:37 +02:00
Ozzie Isaacs
0e50794d9b Testrun 2025-09-09 09:08:37 +02:00
Ozzie Isaacs
714c19f558 Some code cosmetics 2025-09-08 17:31:43 +02:00
Ozzie Isaacs
c2d2db913e Merge remote-tracking branch 'opds/opds_improvements' 2025-09-08 15:59:33 +02:00
Ozzie Isaacs
e3537235ca Merge remote-tracking branch 'fix_booklist_read_status/fix_booklist_read_status' 2025-09-08 12:52:25 +02:00
Ozzie Isaacs
dc5663f21f Merge remote-tracking branch 'nl/patch-1' 2025-09-08 12:22:27 +02:00
Ozzie Isaacs
dcc091e354 Merge remote-tracking branch 'instapaper/patch-1' 2025-09-08 12:07:32 +02:00
Ozzie Isaacs
4ad747decf Merge branch 'Develop' 2025-09-08 12:06:11 +02:00
Ozzie Isaacs
0d07e445de Bugfix mass edit books 2025-09-08 12:05:59 +02:00
Hot Garbage
9e7efb187b kobo: add Instapaper config
Latest firmware version writes empty values for Instapaper parameters if missing from the /initialization response.
Add default values to `NATIVE_KOBO_RESOURCES`
2025-09-01 12:15:06 -07:00
Ozzie Isaacs
d480c55bcb Uodate optional-requirements.txt 2025-08-25 15:52:41 +02:00
Ozzie Isaacs
0ff1feaef0 Update optional-requirements.txt (#3446) 2025-08-25 14:43:39 +02:00
Ozzie Isaacs
0bfe6de62a Add certifi to requirements for Mac computer (fix for #3385) 2025-08-24 11:02:50 +02:00
Ozzie Isaacs
776eeccc67 Version bump 0.6.25 2025-08-24 09:50:41 +02:00
rjaakke
b632f1b9a2 Update get_filtered_book call to include archived books. 2025-08-18 20:31:31 +02:00