53314 Commits

Author SHA1 Message Date
Kovid Goyal
ee3166cc5b
Fix status tip for context menus not working 2026-04-05 10:26:28 +05:30
Kovid Goyal
89b907546f
clone action should also copy status tip 2026-04-05 10:14:13 +05:30
Kovid Goyal
f8df3d90db
Add status tips to copy to library actions 2026-04-05 10:01:18 +05:30
Kovid Goyal
bd4d9390bc
Content server: Fix regression causing error during searching. Fixes #2147261 [Search fucntion in calibre server 9.6.0 (search in epub-File) fails, works in 9.3.0](https://bugs.launchpad.net/calibre/+bug/2147261) 2026-04-05 09:40:56 +05:30
Kovid Goyal
59a368c196
Merge branch 'fix-open-book-from-fts' of https://github.com/ktetzlaff/calibre-forked 2026-04-04 19:23:40 +05:30
ktetzlaff
e0324c7ae8 Fix opening a book from the FTS search result dialog
Since version 9.6.0, pressing `v` in the FTS search result pane results in
the following error:

```
Traceback (most recent call last):
  File "/usr/lib/calibre/calibre/gui2/fts/dialog.py", line 32, in view_current_book
    if not self.results_panel.view_current_result():
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/calibre/calibre/gui2/fts/search.py", line 1062, in view_current_result
    open_book(results, match)
    ~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/lib/calibre/calibre/gui2/fts/search.py", line 115, in open_book
    result_dict = results.result_dicts[match_index]
                  ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
TypeError: list indices must be integers or slices, not dict
```

I traced this back to commit b10e56d9e5 (Refactor FTS dialog to allow multiple
result visualisations) which refactored `ResultsView.view_current_result` in
`src/calibre/gui2/fts/search.py` from:

``` python
    def view_current_result(self):
        idx = self.currentIndex()
        if idx.isValid():
            results, match = self.m.data_for_index(idx)
            if results:
                if match is not None:
                    match = idx.row()
                open_book(results, match)
                return True
        return False
```

to `ResultsPanel.view_current_result`:

``` python
    def view_current_result(self):
        results, match = self.current_view.current_result()
        if results:
            open_book(results, match)
            return True
        return False
```

and `SplitView.current_result`:

``` python
    def current_result(self):
        idx = self.results_view.currentIndex()
        if idx.isValid():
            results, match = self.results_view.model().data_for_index(idx)
            if match is None:
                match = idx.row()
            return results, match
        return None, None
```

As can be seen in the latter, the condition in the original
`ResultsView.view_current_result`:

``` python
           if match is not None:
                match = idx.row()
```

has changed to:

``` python
           if match is None:
                match = idx.row()
```

in `SplitView.current_result` which is causing the error.

This bug is fixed in the current commit.
2026-04-04 13:55:22 +02:00
Kovid Goyal
cef0b976a1
Annots browser: Fix searching with restriction to type of annotation not working 2026-04-04 09:15:26 +05:30
Kovid Goyal
37eba19c23
Add a mention of the new auto-update plugin 2026-04-03 13:59:41 +05:30
Kovid Goyal
fa89d52271
Bump version for preview release 2026-04-03 08:42:43 +05:30
Kovid Goyal
d8a4b09b4a
Ignore CVEs in nodejs used only for building webengine 2026-04-02 21:53:51 +05:30
Kovid Goyal
9e05bb1f69
Merge branch 'master' of https://github.com/sgmoore/calibre 2026-04-02 20:27:56 +05:30
Stephen Moore
991e719315 Amended WorkerError custom exception to print all details.
Printing standard tracebacks now includes the original exception.
2026-04-02 15:31:22 +01:00
Kovid Goyal
5518d9858d
Merge branch 'bsd' of https://github.com/bgermann/calibre 2026-04-02 08:32:06 +05:30
Bastian Germann
9a27df13de COPYRIGHT: Drop BSD file reference
/usr/share/common-licenses/BSD is going to be removed from Debian and is
already disallowed by Debian Policy.

Replace the appearances of this reference with the actual license texts
used by the referencing projects.
2026-04-01 21:06:08 +02:00
Kovid Goyal
ae0121f210
Fix #2147008 [Openrouter backend - reasoning disabled if set to auto](https://bugs.launchpad.net/calibre/+bug/2147008) 2026-04-01 19:24:26 +05:30
Kovid Goyal
9eba5b16fe
Merge branch 'copilot/fix-duplicate-column-names' of https://github.com/kovidgoyal/calibre
Fixes #2146097 [Bug: Duplicate column names  - only one shown in menus](https://bugs.launchpad.net/calibre/+bug/2146097)
2026-04-01 11:08:57 +05:30
copilot-swe-agent[bot]
55e070682c Fix duplicate column names in Show Column and Sort By menus
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/bdadbc3e-805b-48aa-9232-a4c7df75d643

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-01 05:28:50 +00:00
Kovid Goyal
935ebc2c18
Merge branch 'master' of https://github.com/gabrielrussell/calibre 2026-04-01 07:35:57 +05:30
Gabriel Russell
ca598395d5 fixing a couple of use-after-free bugs in libmtp.c
o my kindle colorsoft has a ton of books on it, so I'm guessing
  that that is why this crashed popped up.
o there were cases in this file of doing the memory clean up safely,
  so I just copied how it was done there.
2026-03-31 14:55:12 -04:00
Kovid Goyal
6c9ecc6139
Fix search error report dialog being hidden automatically 2026-03-31 23:51:31 +05:30
copilot-swe-agent[bot]
6b0d315653
Content server: Fix opening results from full text search not working. Fixes #2146829
Fixes #3075
2026-03-31 23:46:48 +05:30
Kovid Goyal
3155ae770c
... 2026-03-31 23:05:17 +05:30
Kovid Goyal
525fc29cd8
Merge branch 'copilot/task-1308621-10332822-42314d4f-2cba-4eae-97d1-0754baa2baff' of https://github.com/kovidgoyal/calibre 2026-03-31 15:55:35 +05:30
copilot-swe-agent[bot]
38252f6435 Fix test_annotations tests to match updated annotation group sorting
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/2fb2b51f-720c-42c9-b99a-bbcadf6bd521

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 10:21:37 +00:00
Kovid Goyal
1aaa786980
Merge branch 'copilot/fix-group-sorting-in-annotations' of https://github.com/kovidgoyal/calibre 2026-03-31 15:40:48 +05:30
copilot-swe-agent[bot]
e7bd5ee3e7 Use rating_to_stars for rating group labels, 'Unrated' for missing/0 values
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/484081a7-d0c9-44da-aabb-4b2e454dc774

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 09:34:54 +00:00
copilot-swe-agent[bot]
2a4f8570cd Fix type mismatch in get_group_key for non-text fields (rating, enumeration, etc.)
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/390a940b-78a4-4b27-a1e4-0728a442235e

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 09:29:26 +00:00
Kovid Goyal
08a0a9a396
Partial cleanup of previous PR 2026-03-31 14:54:33 +05:30
Kovid Goyal
8da1ead831
Merge branch 'copilot/refactor-grouping-code-annotations' of https://github.com/kovidgoyal/calibre 2026-03-31 14:21:01 +05:30
copilot-swe-agent[bot]
f4e5b0f4e5 Merge remote-tracking branch 'origin/master' into copilot/refactor-grouping-code-annotations
# Conflicts:
#	src/calibre/gui2/library/test_annotations.py

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 08:39:09 +00:00
copilot-swe-agent[bot]
e2a51c3409 Address code review: simplify walrus operator, fix test assertion
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/6c6c56e2-ea78-4bc2-95b1-4ee08f08c1dd

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 08:29:02 +00:00
copilot-swe-agent[bot]
ccd7d3ffc8 Refactor grouping code in annotations.py - use db prefs, iter_all_groups, and multi-valued field support
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/6c6c56e2-ea78-4bc2-95b1-4ee08f08c1dd

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 08:27:37 +00:00
Kovid Goyal
5413476893
Fix failing tests 2026-03-31 13:53:46 +05:30
Kovid Goyal
bf1b8f18b4
Make getting list of groups re-useable 2026-03-31 13:22:58 +05:30
Kovid Goyal
ae60d09500
Clean up previous PR 2026-03-31 12:46:31 +05:30
Kovid Goyal
1777d6288a
pep8 2026-03-31 10:17:17 +05:30
Kovid Goyal
81ea2dcc55
Merge branch 'annot-sort' of https://github.com/brpeterman/calibre 2026-03-31 10:15:39 +05:30
Kovid Goyal
8bf08af7b8
Merge branch 'copilot/fix-cover-image-on-book-records' of https://github.com/kovidgoyal/calibre 2026-03-31 10:04:45 +05:30
copilot-swe-agent[bot]
85429c25de Fix cover not being set when adding files to existing book records with no cover
Agent-Logs-Url: https://github.com/kovidgoyal/calibre/sessions/aa4abbc0-5dd8-4380-a760-ace343a70589

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 04:20:43 +00:00
Kovid Goyal
d85fd0f15b
Cleanup previous PR 2026-03-31 08:40:06 +05:30
Kovid Goyal
17d1a7ada0
Merge branch 'add-cenital-recipe' of https://github.com/rpazos98/calibre 2026-03-31 08:36:33 +05:30
Kovid Goyal
6c834f77b5
Merge branch 'dependabot/pip/pygments-2.20.0' of https://github.com/kovidgoyal/calibre 2026-03-31 08:18:35 +05:30
Rodrigo Pazos
627bc91051 now producing a new cover 2026-03-30 16:41:43 -03:00
dependabot[bot]
9cf000a18c
Bump pygments from 2.19.2 to 2.20.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.19.2 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.19.2...2.20.0)

---
updated-dependencies:
- dependency-name: pygments
  dependency-version: 2.20.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 19:38:35 +00:00
Rodrigo Pazos
8f69c4d349 Add Cenital recipe for Argentine newsletter magazine
Adds a new recipe for Cenital, an Argentine news outlet publishing 8 weekly
newsletters covering politics, economics, international affairs, and culture.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 16:03:00 -03:00
Kovid Goyal
9015f436c8
Python developers take 5 tries to get a simple license field right
Its format has apparently changed, yet again. Sigh.
2026-03-30 13:40:50 +05:30
Kovid Goyal
1d02709af2
pep8 2026-03-29 21:58:43 +05:30
Kovid Goyal
65cc790bf7
Content server: Implement full offline mode
Needs HTTPS to work because browsers are gods own pieces off ass.
Fixes #3065 (E-book viewer: Service Worker offline caching)
2026-03-29 21:33:19 +05:30
Kovid Goyal
7ecc18e7eb
... 2026-03-29 21:22:04 +05:30
Kovid Goyal
8a7d833704
Merge branch 'master' of https://github.com/unkn0w7n/calibre 2026-03-29 20:26:44 +05:30