Daniel Hiller 2d289cd3d5 fix: Make endless list pagination deterministic
The filtered branch of `getByEndlessListId` applied `LIMIT` without an
`ORDER BY`, so Postgres was free to hand back any matching rows. With a
search over 64 cards the first page returned the oldest ones and a full
cursor walk reached 60 of them across 149 rows — cards both skipped and
repeated. The query now orders the way the cursor reads it.

The cursor itself is validated as ISO 8601, which admits forms Postgres
rejects as a timestamp (`2026`, `2026-W35-3`, a comma as the decimal
separator), each of them a 500 from the adapter. It is normalized before
the query, and stays a string because the equality half of the cursor
reads a `Date` as an empty constraint.
2026-08-26 09:23:01 +02:00
2026-08-07 16:36:02 +02:00
2025-05-10 02:09:06 +02:00
2026-02-12 16:03:53 +01:00
2026-08-09 22:36:27 +02:00
2020-05-29 21:46:08 +05:00
2025-11-28 17:45:31 +01:00
2025-05-10 02:09:06 +02:00
2025-05-10 02:09:06 +02:00
2026-08-07 16:17:24 +02:00
2026-08-07 16:17:24 +02:00
2026-08-09 22:36:27 +02:00
2026-08-10 18:28:48 +02:00
2026-08-07 19:15:43 +02:00
2025-05-10 02:09:06 +02:00

Logo

PLANKA

Project mastering driven by fun

Version Docker Pulls Contributors Chat

Install · Demo · Docs · API · Cloud · Pro version

Demo

Key Features

  • Collaborative Kanban Boards: Create projects, boards, lists, cards, and manage tasks with an intuitive drag-and-drop interface
  • Real-Time Updates: Instant syncing across all users, no refresh needed
  • Rich Markdown Support: Write beautifully formatted card descriptions with a powerful markdown editor
  • Flexible Notifications: Get alerts through 100+ providers, fully customizable to your workflow
  • Multilingual & Easy to Translate: Full internationalization support for a global audience

How to Deploy

PLANKA is easy to install using multiple methods - learn more in the installation guide.

For configuration and environment settings, see the configuration section.

Interested in a hosted or Pro version of PLANKA? Check out the pricing on our website.

Notes App

A testing version of the Notes app is now available on multiple platforms:

  • iOS: Join the TestFlight to try the app
  • Windows & Android: Download the app here

Contact

For any security issues, please do not create a public issue on GitHub - instead, report it privately by emailing security@planka.group.

Note: We do NOT offer any public support via email, please use GitHub.

Join our community: Get help, share ideas, or contribute on our Discord server.

License

PLANKA is fair-code distributed under the Fair Use License and PLANKA Pro/Enterprise License.

  • Source Available: The source code is always visible
  • Self-Hostable: Deploy and host it anywhere
  • Extensible: Customize with your own functionality
  • Enterprise Licenses: Available for additional features and support

For more details, check the License Guide.

Contributing

Found a bug or have a feature request? Check out our Contributing Guide to get started.

For setting up the project locally, see the development section.

Thanks to all our contributors!

Contributors

S
Description
Project mastering driven by fun - Collaborative Kanban boards, real-time updates, rich markdown, 100+ notification providers. Self-hosted and free to deploy.
Readme
29 MiB
Languages
JavaScript 95.2%
SCSS 4.3%
Shell 0.3%