58 Commits

Author SHA1 Message Date
Maksim Eltyshev
d83ea4b146 fix(terms): Display template notice, support custom terms loading
Closes #1523
2026-02-17 15:37:26 +01:00
Maksim Eltyshev
0db1a5cf0e chore: Support multiple term types 2026-02-10 22:53:22 +01:00
Maksim Eltyshev
a82ae49fe4 chore: Unify term types 2026-02-10 21:14:56 +01:00
Maksim Eltyshev
450bd875c1 chore: Update server dependencies 2026-02-04 12:53:15 +01:00
Maksim Eltyshev
8df5a111bf fix: Forward headers correctly when reading from S3 2026-02-04 11:34:47 +01:00
Maksim Eltyshev
3c33161df6 fix: Fix server error when fetching custom field group
Closes #1507
2026-02-01 00:14:07 +01:00
Maksim Eltyshev
db99227f32 feat: Re-stream static files from S3, introduce protected static files 2026-01-30 21:45:18 +01:00
Maksim Eltyshev
d688a64e36 feat: Add OIDC debug mode 2026-01-27 22:34:08 +01:00
Maksim Eltyshev
2b699f77f4 feat: Add ability to unlink SSO from user 2026-01-26 21:18:32 +01:00
Maksim Eltyshev
267fce0505 fix: Prevent deactivated users from receiving socket events when possible 2026-01-23 19:38:58 +01:00
Maksim Eltyshev
6ec0bafecb fix: Prevent sending notifications to deactivated users 2026-01-23 17:20:12 +01:00
Maksim Eltyshev
1264fd5715 feat: Add internal runtime configuration 2026-01-22 18:02:42 +01:00
Maksim Eltyshev
a60f8e3c3e chore: Rename for consistency 2026-01-13 17:52:31 +01:00
Maksim Eltyshev
208e61a272 feat: Optimize and parallel image processing 2025-12-19 19:11:02 +01:00
Maksim Eltyshev
9e6e38fcf7 feat: Add ability to copy/cut cards with shortcut support 2025-12-09 14:58:01 +01:00
Maksim Eltyshev
0023c63be8 fix: Optimize query methods 2025-11-27 19:09:10 +01:00
Maksim Eltyshev
26b3cffdab fix: Rename getCards inputs for consistency 2025-11-27 18:41:50 +01:00
Maksim Eltyshev
54e230d4c1 ref: Refactoring 2025-11-27 18:24:55 +01:00
Maksim Eltyshev
197ebc16db chore: Bump package lock files 2025-11-24 19:48:30 +01:00
Samuel
b4cbd32bf2 feat: Add API key authentication (#1254)
Closes #945
2025-11-06 20:56:48 +01:00
Maksim Eltyshev
c6f4dcdb70 feat: Add ability to configure and test SMTP via UI 2025-09-22 20:35:13 +02:00
Maksim Eltyshev
203fbd152d fix: Correctly parse environment variables, little refactoring 2025-09-05 00:19:35 +02:00
Symon Baikov
9683227fbc feat: Add ability to move lists between boards (#1208) 2025-09-04 00:07:10 +02:00
Maksim Eltyshev
4c5c7799f2 ref: Little refactoring 2025-08-30 17:09:17 +02:00
Maksim Eltyshev
60a94f33fc ref: Little refactoring 2025-08-25 17:23:59 +02:00
Maksim Eltyshev
4d77a1f596 feat: Track storage usage 2025-08-23 00:03:20 +02:00
Maksim Eltyshev
2f4bcb0583 feat: Add legal requirements (#1306) 2025-08-21 15:10:02 +02:00
Maksim Eltyshev
3aba4d4a56 ref: Little refactoring 2025-07-14 14:54:06 +02:00
Maksim Eltyshev
230f50e3d9 feat: Add ability to link tasks to cards 2025-07-11 01:04:02 +02:00
Maksim Eltyshev
4346b7040a feat: Add INTERNAL_ACCESS_TOKEN to support internal user configuration 2025-07-07 21:35:37 +02:00
Maksim Eltyshev
b22dba0d11 feat: Move webhooks configuration from environment variable to UI 2025-07-04 22:04:11 +02:00
Maksim Eltyshev
6988864808 fix: Fix filtering by task assignees 2025-06-17 16:04:22 +02:00
millenium-codebug
c8cb1f4a20 feat: Include task assignees in member filter logic (#1214) 2025-06-16 23:16:57 +02:00
Hannes
4049b4c396 feat: Display comments total on front of cards (#1146)
Closes #1136
2025-05-23 17:31:28 +02:00
Maksim Eltyshev
86cfd155f2 feat: Add board activity log 2025-05-22 23:14:46 +02:00
Maksim Eltyshev
2ee1166747 feat: Version 2
Closes #627, closes #1047
2025-05-10 02:09:06 +02:00
Derzsi Dániel
480c280ab3 fix: Lazy initialize OIDC client (#947) 2024-11-18 22:38:52 +01:00
Maksim Eltyshev
be9dd30cd1 ref: Rename folder to dir for consistency 2024-11-12 17:07:04 +01:00
Maksim Eltyshev
97f4c0ab0d fix: Secure S3 attachments, bump SDK, refactoring
Closes #673
2024-11-12 15:58:22 +01:00
Maksim Eltyshev
db6180025b feat: Ability to disable SMTP certificate verification
Closes #744
2024-10-02 14:10:31 +02:00
Maksim Eltyshev
50519f1bcd feat: Additional httpOnly token for enhanced security in browsers 2024-09-01 09:31:04 +02:00
Maksim Eltyshev
0cc9408857 ref: Refactoring, fix linting 2024-07-16 12:33:38 +02:00
aleb_the_flash
d45cbeb0fb feat: Improve OIDC support for strict providers (#824) 2024-07-16 12:19:27 +02:00
Smiley3112
3b43d7d2c9 feat: Add SMTP_NAME environment variable (#761)
Closes #758
2024-05-18 15:02:21 +02:00
Maksim Eltyshev
4fe77c305c feat: Automatic logout when session expires
Closes #693
2024-04-09 15:12:46 +02:00
Edouard
e14ae09e47 feat: SMTP integration and email notifications (#631) 2024-03-22 00:14:09 +01:00
Maksim Eltyshev
0fab6075bd ref: Refactoring 2023-10-19 16:05:34 +02:00
Lorenz Brun
9011ee61da feat: Improve OIDC SSO (#524)
The OIDC implementation merged in https://github.com/plankanban/planka/pull/491 is flawed for multiple reasons.

It assumes that the access_token returned by the IDP has to be a JWT parseable by the RP which is not the case [1].
Many major IDPs do issue tokens which are not JWTs and RPs should not rely on the contents of these at all.
The only signed token which has a standardized format for direct RP consumption is the OIDC ID token (id_token), but this by default doesn't contain many claims, especially role claims are omitted from them by default for size reasons. To get these additional claims into the ID token, one needs an IDP with support for the "claims" parameter.

It requires manual specification of the JWKS URL which is mandatory in any OIDC discovery document and thus never needs to be manually specified.

It also makes the questionable decision to use a client-side code flow with PKCE where a normal code flow would be much more appropriate as all user data is processed in the backend which can securely hold a client secret (confidential client). This has far wider IDP support, is safer (due to direct involvement of the IDP in obtaining user information) and doesn't require working with ID tokens and claim parameters.

By using a server-side code flow we can also offload most complexity to the server alone, no longer requiring an additional OIDC library on the web client.

Also silent logout doesn't work on most IDPs for security reasons, one needs to actually redirect the user over to the IDP, which then prompts them once more if they actually want to log out.

This implementation should work with any OIDC-compliant IDP and even OAuth 2.0-only IDPs as long as they serve and OIDC discovery document.

[1] rfc-editor.org/rfc/rfc6749#section-5.1
2023-10-19 17:39:21 +05:00
Maksim Eltyshev
e623e8a3a8 fix: Socket bug fixes and improvements 2022-10-03 12:11:19 +02:00
Maksim Eltyshev
48ea62c0a0 feat: Invalidate access token on logout 2022-09-07 18:39:33 +05:00