Skip to content

Commit 5b38415

Browse files
Merge branch 'main' into pr-764: Port LDAP auth fix to new kosync location
2 parents 7c2e5ef + 33a7a12 commit 5b38415

74 files changed

Lines changed: 8661 additions & 1204 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ Pluggable providers in `cps/metadata_provider/`:
186186
- `CWA_WATCH_MODE`: Force polling watcher (`poll`) or inotify (default)
187187
- `HARDCOVER_TOKEN`: API key for Hardcover metadata provider
188188
- `COOKIE_PREFIX`: Custom prefix for session cookies
189+
- `TRUSTED_PROXY_COUNT`: Number of proxies to trust for X-Forwarded-* headers (default: 1, use 2+ for CF Tunnel + reverse proxy)
189190

190191
## Common Pitfalls
191192
1. **Don't import SQLite on main thread**: Always use `init_db_thread()` in background tasks
@@ -195,6 +196,7 @@ Pluggable providers in `cps/metadata_provider/`:
195196
5. **WAL mode errors**: Usually means network share deployment without `NETWORK_SHARE_MODE=true`
196197
6. **Port binding**: Ports below 1024 need `cap_add: [NET_BIND_SERVICE]` in docker-compose
197198
7. **Calibre plugins**: Requires `customize.py.json` in `/config/.config/calibre/` to register
199+
8. **Session protection errors**: Behind multiple proxies? Set `TRUSTED_PROXY_COUNT` to match your proxy chain depth
198200

199201
## Version Management
200202
- **Installed version**: `/app/CWA_RELEASE` (baked at build time)

.github/workflows/tests.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,18 @@ jobs:
3333
fast-tests:
3434
name: Fast Tests (Smoke + Unit)
3535
runs-on: ubuntu-latest
36+
env:
37+
PYTHONDONTWRITEBYTECODE: '1'
3638

3739
steps:
3840
- name: Checkout code
3941
uses: actions/checkout@v4
42+
43+
- name: Remove Python bytecode and pycache
44+
run: |
45+
echo "Removing any leftover .pyc and pycache"
46+
find . -name '__pycache__' -type d -print -exec rm -rf {} +
47+
find . -name '*.pyc' -type f -print -delete
4048
4149
- name: Set up Python 3.13
4250
uses: actions/setup-python@v5
@@ -136,10 +144,15 @@ jobs:
136144
pip install -r requirements.txt
137145
pip install -r requirements-dev.txt
138146
139-
- name: Pull/cache Docker images
140-
run: |
141-
docker pull doubleuynn/calibre-web-automated:latest || true
142-
docker pull python:3.13-slim || true
147+
- name: Build Docker image
148+
uses: docker/build-push-action@v5
149+
with:
150+
context: .
151+
push: false
152+
load: true
153+
tags: crocodilestick/calibre-web-automated:latest
154+
cache-from: type=gha
155+
cache-to: type=gha,mode=max
143156

144157
- name: Run Docker integration tests
145158
run: |
@@ -151,6 +164,7 @@ jobs:
151164
--junitxml=integration-results.xml
152165
env:
153166
CWA_TEST_PORT: "8083" # CI uses production default port
167+
CWA_TEST_IMAGE: "crocodilestick/calibre-web-automated:latest"
154168
timeout-minutes: 30 # Kill if stuck
155169

156170
- name: Upload test results

.gitignore

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ cwa-wiki/
2424
docs/
2525
.venv-activate.sh
2626
test_venv
27+
cwa.code-workspace
28+
2729

2830

2931
# Test Scripts
@@ -80,6 +82,7 @@ htmlcov/
8082
.cache
8183
nosetests.xml
8284
coverage.xml
85+
coverage.md
8386
*.cover
8487
*.py,cover
8588
.hypothesis/
@@ -156,13 +159,14 @@ celerybeat.pid
156159
*.sage.py
157160

158161
# Environments
159-
.env
162+
*.env
160163
.venv
161164
env/
162165
venv/
163166
ENV/
164167
env.bak/
165168
venv.bak/
169+
tmp/
166170

167171
# Spyder project settings
168172
.spyderproject
@@ -193,4 +197,7 @@ cython_debug/
193197
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
194198
# and can be added to the global gitignore or merged into this file. For a more nuclear
195199
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
196-
#.idea/
200+
#.idea/
201+
202+
# Dev instance files for testing in the same folder
203+
instance/

CONTRIBUTORS

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
CONTRIBUTORS
22

33
This file is automatically generated. DO NOT EDIT MANUALLY.
4-
Generated on: 2025-10-29T11:15:51.677020Z
54

65
Upstream project: https://github.com/janeczku/calibre-web
76
Fork project (Calibre-Web Automated, since 2024): https://github.com/crocodilestick/calibre-web-automated
@@ -12,7 +11,7 @@ Copyright (C) 2018-2025 Calibre-Web contributors
1211
Copyright (C) 2024-2025 Calibre-Web Automated contributors
1312
# Upstream Contributors (janeczku/calibre-web)
1413

15-
- OzzieIsaacs (anon) (2750 commits)
14+
- OzzieIsaacs (anon) (2758 commits)
1615
- Ozzie Isaacs (anon) (263 commits)
1716
- cbartondock (96 commits)
1817
- idalin (69 commits)
@@ -123,6 +122,7 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
123122
- h1f0x (2 commits)
124123
- halkeye (2 commits)
125124
- hitsounds (2 commits)
125+
- holzerseb (2 commits)
126126
- issmirnov (2 commits)
127127
- jef (2 commits)
128128
- jfenske89 (2 commits)
@@ -133,6 +133,7 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
133133
- nanu-c (2 commits)
134134
- norangebit (2 commits)
135135
- Northguy (2 commits)
136+
- o-F3L1X-o (2 commits)
136137
- peperunas (2 commits)
137138
- petersonev (2 commits)
138139
- rafarq (2 commits)
@@ -154,6 +155,7 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
154155
- adocampo (1 commits)
155156
- aexvir (1 commits)
156157
- akushsky (1 commits)
158+
- alasano (1 commits)
157159
- Allram (1 commits)
158160
- altair (1 commits)
159161
- anatoliifetisov (1 commits)
@@ -254,6 +256,7 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
254256
- nelsg2 (1 commits)
255257
- nferrari (1 commits)
256258
- NickWick13 (1 commits)
259+
- Nico31240 (1 commits)
257260
- oguzkilcan (1 commits)
258261
- overhacked (1 commits)
259262
- petervirtech (1 commits)
@@ -272,6 +275,8 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
272275
- ruben-herold (1 commits)
273276
- ryanlong1004 (1 commits)
274277
- sartoshi-foot-dao (1 commits)
278+
- schnabelewobski (1 commits)
279+
- shsm0520 (1 commits)
275280
- skiman6010 (1 commits)
276281
- SpaceWhite (1 commits)
277282
- theopsall (1 commits)
@@ -288,7 +293,7 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
288293
- whilenot-dev (1 commits)
289294
- Wolfenk (1 commits)
290295
- wolviex (1 commits)
291-
- Wouter Dijk (anon) (1 commits)
296+
- wouterdijk-cpu (1 commits)
292297
- WouterKoch (1 commits)
293298
- wuwei-12138 (1 commits)
294299
- xybydy (1 commits)
@@ -298,15 +303,16 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
298303
- zhiyue (1 commits)
299304
# Fork Contributors (crocodilestick/calibre-web-automated)
300305

301-
- crocodilestick (745 commits)
306+
- crocodilestick (789 commits)
302307
- jmarmstrong1207 (73 commits)
303308
- demitrix (30 commits)
304-
- sirwolfgang (22 commits)
309+
- sirwolfgang (29 commits)
305310
- Domoel (21 commits)
311+
- wolffshots (14 commits)
306312
- angelicadvocate (9 commits)
313+
- jgoguen (9 commits)
307314
- natabat (8 commits)
308315
- nstwfdev (8 commits)
309-
- jgoguen (7 commits)
310316
- alva-seal (6 commits)
311317
- smevawala (5 commits)
312318
- Aymendje (4 commits)
@@ -322,9 +328,11 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
322328
- sethvoltz (2 commits)
323329
- Strubbl (2 commits)
324330
- tecosaur (2 commits)
331+
- TexGG (2 commits)
325332
- tseho (2 commits)
326333
- Valenth (2 commits)
327334
- a-eukarya (1 commits)
335+
- AlexSat (1 commits)
328336
- Andrej Kralj (anon) (1 commits)
329337
- bcrdncola (1 commits)
330338
- brunofin (1 commits)
@@ -348,6 +356,8 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
348356
- jack1lee1995 (anon) (1 commits)
349357
- jspiers (1 commits)
350358
- kevpam (1 commits)
359+
- lazyusername (1 commits)
360+
- marauder37 (1 commits)
351361
- Marodeur80 (anon) (1 commits)
352362
- Matteo Benaroyo (anon) (1 commits)
353363
- morpheus65535 (1 commits)
@@ -362,6 +372,7 @@ Copyright (C) 2024-2025 Calibre-Web Automated contributors
362372
- spezzino (1 commits)
363373
- stadler-pascal (1 commits)
364374
- stefanop1 (1 commits)
375+
- tomried (1 commits)
365376
- Turmaxx (1 commits)
366377
- ugyes (1 commits)
367378
- werdeil (1 commits)

0 commit comments

Comments
 (0)