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.
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!

