ugyes
31120ad111
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hu/
2026-03-08 23:26:09 +01:00
Yusuke Sakai
cd8640f00e
Translated using Weblate (Japanese)
...
Currently translated at 23.1% (269 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ja/
2026-03-08 23:26:09 +01:00
Luis Landeiro
d0ba455ed6
Translated using Weblate (Portuguese (Brazil))
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/pt_BR/
2026-03-08 23:26:09 +01:00
advplyr
e5b7aea46c
Merge pull request #5063 from mandreko/idor-fixes
...
IDOR fixes
2026-03-08 17:26:03 -05:00
advplyr
2f2d026b06
Auto format
2026-03-08 17:25:52 -05:00
advplyr
c156b063f5
Merge pull request #5036 from kctdfh/Slightly-better-subtitle-parsing-logic
...
Improved subtitle parsing to account for bare colon in title
2026-03-08 17:12:55 -05:00
advplyr
e6d49a2d53
Fix home page check current user for hide from continue listening
CodeQL / Analyze (push) Has been cancelled
Run Component Tests / Run Component Tests (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
2026-03-04 16:50:36 -06:00
advplyr
6d3404272c
Fix Match click to use current label string
CodeQL / Analyze (push) Has been cancelled
Run Component Tests / Run Component Tests (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
2026-02-28 11:32:28 -06:00
meek2100
a9e12657f5
Add autocomplete attributes to login and setup fields for password manager support
2026-02-26 14:29:28 -08:00
Kevin Gatera
c0319ebbac
Adjust discover/search changes for API compatibility
2026-02-23 19:22:45 -05:00
advplyr
1d0b7e383a
Merge pull request #5071 from pavel-miniutka/master
...
CodeQL / Analyze (push) Has been cancelled
Run Component Tests / Run Component Tests (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
Add Belarusian language option & Belarus podcast region
2026-02-22 16:19:19 -06:00
advplyr
9f5d8386f3
Merge pull request #5077 from belpe/add-slovak-language
...
Add Slovak (sk) language to language selector
2026-02-22 16:15:55 -06:00
advplyr
6e0da3bf7a
Fix updating author name merging with same name authors in a different library #4628
CodeQL / Analyze (push) Waiting to run
Build and Push Docker Image / build (push) Waiting to run
Integration Test / build and test (push) Waiting to run
Run Unit Tests / Run Unit Tests (push) Waiting to run
2026-02-21 16:00:38 -06:00
Peter Belák
ee6016f70e
Add Slovak (sk) language to the language selector
...
The Slovak translation file (client/strings/sk.json) already exists
with a complete translation but was missing from the languageCodeMap
in i18n.js, making it inaccessible from the language dropdown.
Also adds Slovakia to the podcast search region map.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 09:11:50 +01:00
Kevin Gatera
f1a2e56054
Add database indexes for discover query performance
2026-02-19 20:11:49 -05:00
Kevin Gatera
d2915e689f
Speed up personalized shelves and reduce search payload size
2026-02-19 20:11:38 -05:00
Kevin Gatera
05d9ab81f9
Improve API cache invalidation for high-churn models
2026-02-19 20:11:24 -05:00
pavel-miniutka
75eed9d09a
Add Belarusian language option & Belarus podcast region
2026-02-19 10:36:28 +03:00
Matt Andreko
e5af2f336b
Move file to correct folder...
2026-02-15 22:06:20 -05:00
Matt Andreko
ade1752e97
Fix IDOR bugs
2026-02-15 22:01:36 -05:00
advplyr
fa5fa7b788
Fix server crash on /me/progress/:libraryItemId/:episodeId? when episodeId is not passed in for a podcast library item #5058
CodeQL / Analyze (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
2026-02-14 17:17:12 -06:00
Denis Arnst
a6848065e1
OIDC: Skip nonce for mobile flow to fix app login
...
Some IdPs (e.g. Authentik) don't echo the nonce in the id_token for
the authorization code flow, causing "nonce mismatch, got: undefined"
errors when the mobile app attempts SSO login. The mobile flow already
uses PKCE which provides equivalent replay protection, so nonce is not
needed. Web flow continues to use nonce for defense-in-depth.
2026-02-13 12:35:03 +01:00
Denis Arnst
67f8eb6815
OIDC: Support object-shaped and string group claims
...
The group claim was assumed to always be an array, which crashes with
providers like Zitadel that return an object with role names as keys
(e.g. { "admin": {...}, "user": {...} }). Normalize all common formats:
array, single string, and object (extract keys).
Fixes #4744
2026-02-12 13:25:56 +01:00
advplyr
b01facc034
Merge pull request #5042 from openam/open-api-spec-fixes
...
Run Unit Tests / Run Unit Tests (push) Has been cancelled
Fix OpenAPI spec description
2026-02-08 17:23:18 -06:00
Michael Tuttle
dd4fc09909
Fix OpenAPI spec description
2026-02-08 00:19:23 -07:00
Denis Arnst
84b3d4d215
Fix migration crash on upgrade from v2.31.0
...
Removed index definition from Session model since the migration already
creates it. This prevents .sync() from trying to create the index before
migrations run. Also bumped version to 2.34.0 to match migration files.
Fixes: SQLITE_ERROR: no such column: oidcSessionId
2026-02-07 22:19:33 +01:00
Khashayar Toodehfallah
c15cb48def
Improved subtitle parsing to account for bare colon in title
2026-02-06 14:31:09 -05:00
Denis Arnst
c99543be87
Update en-us.json
2026-02-05 20:32:35 +01:00
Denis Arnst
e428ba5657
OIDC: Fix CodeQL warnings
2026-02-05 20:31:07 +01:00
Denis Arnst
c2a7615319
OIDC: Improve error messages
2026-02-05 20:10:18 +01:00
Denis Arnst
49aeb2da19
Require email_verified to be explicitly true when enforcement is enabled
...
Previously the check only rejected email_verified === false, allowing
logins when the claim was missing entirely. Since the admin opted in,
the IdP is expected to provide the claim.
2026-02-05 19:56:58 +01:00
Denis Arnst
b3d63f4158
Fix backchannel logout always returning 501
...
global.ServerSettings is a plain JSON object from toJSON(), so the
isOpenIDAuthSettingsValid getter was always undefined. Use
Database.serverSettings instead, matching the rest of the codebase.
2026-02-05 19:35:50 +01:00
Denis Arnst
d5047978a8
Add unit tests for OIDC callback flow and authorization
...
Test handleCallback (11), getAuthorizationUrl (13), generatePkce (5),
handleMobileRedirect (5), cleanupStaleAuthSessions (3). 88 total.
2026-02-05 19:35:50 +01:00
Denis Arnst
ed0db539c9
Add unit tests for 5 OidcAuthStrategy methods
...
Cover validateGroupClaim, isValidRedirectUri, isValidWebCallbackUrl,
updateUserPermissions, and verifyUser with 40 new tests (51 total).
Tests cover open redirect prevention, group claim validation,
auto-registration flows, permission updates, and error handling.
2026-02-05 18:04:14 +01:00
Denis Arnst
073eff74ef
Add OIDC Back-Channel Logout support
...
Implement OIDC Back-Channel Logout 1.0 (RFC). When enabled, the IdP can
POST a signed logout_token JWT to invalidate user sessions server-side.
- Add BackchannelLogoutHandler: JWT verification via jose, jti replay
protection with bounded cache, session destruction by sub or sid
- Add oidcSessionId column to sessions table with index for fast lookups
- Add backchannel logout route (POST /auth/openid/backchannel-logout)
- Notify connected clients via socket to redirect to login page
- Add authOpenIDBackchannelLogoutEnabled toggle in schema-driven settings UI
- Migration v2.34.0 adds oidcSessionId column and index
- Polish settings UI: auto-populate loading state, subfolder dropdown
options, KeyValueEditor fixes, localized descriptions via descriptionKey,
duplicate key detection, success/error toasts
- Localize backchannel logout toast (ToastSessionEndedByProvider)
- OidcAuthStrategy tests now use real class via require-cache stubbing
2026-02-05 17:55:10 +01:00
Denis Arnst
33bee70a12
Revamp OIDC auth: remove Passport wrapper, add schema-driven settings UI
...
- Remove Passport.js wrapper from OIDC auth, use openid-client directly
- Add schema-driven OIDC settings UI (OidcSettingsSchema.js drives form rendering)
- Add group mapping with KeyValueEditor (explicit mapping or legacy direct name match)
- Add scopes configuration (authOpenIDScopes)
- Add verified email enforcement option (authOpenIDRequireVerifiedEmail)
- Fix group claim validation rejecting URN-style claims (#4744 )
- Add auto-discover endpoint for OIDC provider configuration
- Store oidcIdToken in sessions table instead of cookie
- Add AuthError class for structured error handling in auth flows
- Migration v2.33.0 adds oidcIdToken column and new settings fields
2026-02-05 17:54:59 +01:00
advplyr
fe13456a2b
Merge pull request #4936 from weblate/weblate-audiobookshelf-abs-web-client
...
CodeQL / Analyze (push) Has been cancelled
Run Component Tests / Run Component Tests (push) Has been cancelled
Build and Push Docker Image / build (push) Has been cancelled
Verify all i18n files are alphabetized / update_translations (push) Has been cancelled
Integration Test / build and test (push) Has been cancelled
Run Unit Tests / Run Unit Tests (push) Has been cancelled
Translations update from Hosted Weblate
2026-02-03 17:26:42 -06:00
Lluís Forns
2ee893062f
Translated using Weblate (Catalan)
...
Currently translated at 92.2% (1073 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ca/
2026-02-03 20:10:06 +01:00
dapitch666
31630f50a5
Translated using Weblate (French)
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2026-02-03 20:10:06 +01:00
Delta Umhöfer
edfce46058
Translated using Weblate (German)
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2026-02-02 08:02:28 +00:00
Jan-Eric Myhrgren
cc5244c596
Translated using Weblate (Swedish)
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/
2026-02-02 08:02:27 +00:00
enosh
b8942c5931
Translated using Weblate (Hebrew)
...
Currently translated at 81.4% (947 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/he/
2026-02-02 08:02:26 +00:00
FiendFEARing
6e5feee78a
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/
2026-02-02 08:02:25 +00:00
Dawid Kuźnicki
e7cb0466e6
Translated using Weblate (Polish)
...
Currently translated at 94.5% (1100 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/pl/
2026-02-02 08:02:24 +00:00
dv4yGY2U
6c7221d37d
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/tr/
2026-02-02 08:02:24 +00:00
Samuel Guerrero
1f3fa80ddd
Translated using Weblate (Spanish)
...
Currently translated at 97.5% (1134 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2026-02-02 08:02:23 +00:00
Mantas
87f3766299
Translated using Weblate (Lithuanian)
...
Currently translated at 59.9% (697 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/lt/
2026-02-02 08:02:22 +00:00
Bartłomiej
d08cef11ed
Translated using Weblate (Polish)
...
Currently translated at 94.5% (1100 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/pl/
2026-02-02 08:02:21 +00:00
Kabika82
7201cced42
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (1163 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hu/
2026-02-02 08:02:20 +00:00
N Visi
4f8fbbc979
Translated using Weblate (Japanese)
...
Currently translated at 22.8% (266 of 1163 strings)
Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ja/
2026-02-02 08:02:19 +00:00