Commit Graph
275 Commits
Author SHA1 Message Date
Daniel Hiller 4e15748e4b feat: Widen the Pro banner rotation and split it by role
The banner still advertised the calendar, recurring cards and guest roles —
features from 2.3 — to everyone who ran an instance. It now carries nine
features up to 2.5.0, and the ten strings behind them sit in their
alphabetical place rather than in the middle of the two-factor block, where
the first three had ended up.

Who sees what now depends on the role. An admin can put a trial on their own
server today and a board user cannot, so admins get the trial line and land
on planka.app/trial while everyone else gets the overview on /pro. The
landing path is also what tells the two groups apart in the referral figures,
since nothing is measured in the app.

A full pass through nine features takes over two minutes, longer than most
visits, and the rotation restarted at the first entry on every load. The tail
of the list would have advertised nothing. The list now starts at an offset
picked per visit, which spreads the features over the visitors instead of over
the length of a session — the headline still opens every session, only the
feature that follows it varies.

The headline falls back per language. `proTrialSelfHosted` is new and exists
in two locales; `discoverPlankaPro` exists in all of them. Where the sharper
line is untranslated the softer one is used rather than a line of English, on
the one string that opens every session and fills every second slot. The link
still goes to the trial, and as translations land the check flips on its own.

The thirty-day dismissal is untouched, deliberately: any version-aware
dismissal would resurface the banner for every user at once on rollout,
because the entries already in local storage carry no version.
2026-09-08 19:54:07 +02:00
Daniel Hiller 6def0330c2 chore: Move the changelog to the repository root
The release notes rendered in the about modal only existed as an asset
inside the client, where nothing outside a build would look for them. The
file moves to CHANGELOG.md at the root and the about modal reads it from
there, so the client build and the Docker image copy in the same file the
repository keeps.

An unreleased section collects the orphaned reference fixes and the
pagination fixes.
2026-08-26 10:15:56 +02:00
Daniel Hiller 3ef87a8603 feat: Add configurable auto logout on inactivity
Users can pick an inactivity timeout in their preferences. A warning
appears 30 seconds before, and activity or a logout is synchronised
across open tabs.
2026-08-08 00:24:16 +02:00
Daniel Hiller a9d0c228df feat: Replace user edit popups with a single modal
Editing a user now opens a modal with an information tab and an API
key tab instead of a chain of popups. The user name in the list opens
it, and the admin two-factor reset moves in as well.
2026-08-08 00:16:35 +02:00
Daniel Hiller a6f6af8a6c fix: Replace Pro theme tokens with literal colors
The two-factor stylesheets were carried over from the Pro edition and
referenced CSS custom properties from its theme system, which this
edition does not define. They silently fell back to browser defaults.
2026-08-08 00:15:34 +02:00
Daniel Hiller 2e4904f77d feat: Add two-factor authentication via TOTP
Adds TOTP setup with QR code, login challenge, recovery codes and
trusted devices that let a browser skip the second factor for 30
days. Admins can reset another user's second factor by confirming
with their own password.
2026-08-07 20:11:55 +02:00
Daniel Hiller 36aa732fec feat: Remove OIDC and SSO support
Existing SSO accounts have no local password, so the migration
deactivates them before dropping is_sso_user and the
identity_provider_user table.
2026-08-07 19:15:43 +02:00
Daniel Hiller cd9ba8ff4f feat: Add Pro features discovery banner
Adds a dismissible banner in the topbar that informs users about
PLANKA Pro features.

- Dismissible per-user (stored in localStorage)
- Reappears after 30 days
- Rotates between main message and 3 feature highlights
- Links to planka.app/pro (with ref parameter for anonymous source attribution)
2026-04-18 13:32:22 +00:00
HannesOberreiter 3bf6e6fa19 fix: allow unicodes in initials 2026-04-16 14:21:13 +02:00
Sebastian Dichler d3ff3e2db8 feat(client): Add ability for admins to edit user avatars (#1604) 2026-03-25 11:24:27 +01:00
Maksim Eltyshev c342d2edd7 feat: Add ability to display card ages 2026-03-18 09:42:20 +01:00
Roberto Fernández Iglesias 5e6195b252 feat: Support running under subpath (#1451) 2026-03-12 22:11:11 +01:00
Maksim Eltyshev 2a1760393f fix(dropzone): Prevent dropzone from overflowing content 2026-02-19 17:09:21 +01:00
Maksim Eltyshev d83ea4b146 fix(terms): Display template notice, support custom terms loading
Closes #1523
2026-02-17 15:37:26 +01:00
Maksim Eltyshev 168776aef8 chore: Bump terms 2026-02-11 14:03:37 +01:00
Maksim Eltyshev a82ae49fe4 chore: Unify term types 2026-02-10 21:14:56 +01:00
Hayden Welch e7326303cd docs: Validate Swagger docs (#1486) 2026-02-10 19:35:39 +01:00
Maksim Eltyshev aa3ebd5add feat: Apply color to entire list instead of card bottoms 2026-02-08 00:06:32 +01:00
Maksim Eltyshev f8cd7474d1 chore: Update client dependencies 2026-02-04 17:52:04 +01:00
Maksim Eltyshev b37ca68d61 chore: Auto-update internal version for nightly build, improve version display in UI 2026-01-29 00:24:57 +01:00
Maksim Eltyshev d688a64e36 feat: Add OIDC debug mode 2026-01-27 22:34:08 +01:00
Maksim Eltyshev 2c4369159b fix: Hide unlinking SSO when OIDC is enforced 2026-01-26 22:21:27 +01:00
Maksim Eltyshev b2da1a5e18 docs: Add missing details to Swagger 2026-01-26 21:44:00 +01:00
Maksim Eltyshev 2b699f77f4 feat: Add ability to unlink SSO from user 2026-01-26 21:18:32 +01:00
Maksim Eltyshev 3b8ad26169 feat: Add ability to pre-fill login credentials in demo mode 2026-01-25 20:17:13 +01:00
Maksim Eltyshev b52604045d fix: Correctly track password field modification in SMTP pane 2026-01-23 20:32:23 +01:00
Maksim Eltyshev 1264fd5715 feat: Add internal runtime configuration 2026-01-22 18:02:42 +01:00
Maksim Eltyshev e3e55b2c26 fix: Disable fuzzy links in markdown editor
Closes #1480
2026-01-14 13:00:29 +01:00
Maksim Eltyshev e1c1719414 chore: Update Apprise link 2026-01-13 18:39:27 +01:00
Maksim Eltyshev a60f8e3c3e chore: Rename for consistency 2026-01-13 17:52:31 +01:00
Maksim Eltyshev fb5d5233bf feat: Improve mime type detection, limit image processing size 2025-12-19 17:24:22 +01:00
Maksim Eltyshev bd10a7fa5a chore: Update dependencies 2025-12-19 12:32:10 +01:00
Maksim Eltyshev 4f5f5ddad4 feat: Display last updates in About modal 2025-12-17 15:49:33 +01:00
Maksim Eltyshev 27fd10ba3f fix: Rename Information menu item to About 2025-12-12 21:09:44 +01:00
Maksim Eltyshev a47bdb9c8a feat: Move About and Terms into separate modal 2025-12-12 16:10:07 +01:00
Maksim Eltyshev 7f6978ae9e fix: Prevent attachment gallery content from going out of bounds
Closes #1349
2025-12-11 12:11:34 +01:00
Maksim Eltyshev 6da5c7aaca feat: Enhance card actions menu with separators and action bar 2025-12-09 20:30:05 +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 52acc9de90 feat: Allow setting customer panel URL via environment variables 2025-12-08 21:25:13 +01:00
Maksim Eltyshev 26200754f3 fix: Improve login page appearance 2025-12-08 21:08:51 +01:00
Maksim Eltyshev 54e230d4c1 ref: Refactoring 2025-11-27 18:24:55 +01:00
Maksim Eltyshev c646f0f5b3 fix: Increase max username length
Closes #1441
2025-11-25 15:03:35 +01:00
Maksim Eltyshev 8a288d1816 fix: Prevent shortcuts from triggering in actions popup 2025-11-24 21:46:32 +01:00
Maksim Eltyshev 5c787d65a9 fix: Properly prevent shortcut events, update dependencies
Closes #1440
2025-11-24 19:21:07 +01:00
Samar Khajuria 7e41a0167d feat: Add create-board button to open-board screen (#1438)
Closes #1435
2025-11-24 15:45:50 +01:00
Maksim Eltyshev c68ab99bfe feat: Extend card action shortcuts 2025-11-24 15:02:26 +01:00
Serge Zaitsev 561d2c77d4 feat: Add basic shortcuts (#1436) 2025-11-24 12:35:31 +01:00
Maksim Eltyshev d7cb2087e5 fix: Adjust margins in menu-styled popups 2025-11-06 23:15:57 +01:00
Maksim Eltyshev 22baf5ab12 feat: Ghost error page for improved error display 2025-11-06 23:11:06 +01:00
Samuel b4cbd32bf2 feat: Add API key authentication (#1254)
Closes #945
2025-11-06 20:56:48 +01:00