* feat: add list filter to board view
* feat: implement API-driven list filtering
* refactor: remove unnecessary list join from card filtering queries
* feat: enable list filter options for public boards
* refactor(perf): move to main query
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* fix(web): logic of disabling credential login
If credentials are disabled, then don't show the email login form at all. If credentials are disabled and no social providers are present, show message saying none are available.
* chore: update lang
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* feat(cloud): add free trial
* fix: center workspace name icon when collapsed
* feat: add 14 day free trial notice to pricing page
* feat: hide upgrade button when on active subscription
* chore: translations
* feat: card will indicate icons of comments and description
* fix: comments limit to one
* feat: fetch comments for public boards
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* Fix for minor spelling mistakes and contextually better sounding
sentences
* chore: compile lang
* chore: rebuild translations
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* fix: disabled email functionality unless email sending enabled
* feat: missing locale only russian complete
* chore: add ENABLE_EMAIL to docker compose
* chore: add translations
* fix: removed new env variable, and used SMTP_HOST instead for checking
* Revert "fix: removed new env variable, and used SMTP_HOST instead for checking"
This reverts commit 5f75237e06ac07bcbb073c25cdc9d6a9071e4011.
* feat: allow inviting members via link
* refactor: update env to disable email
* chore: update translations
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* fix(db): normalize/compact indices to prevent import duplicates
- bulkCreate now assigns sequential indices per board (preserves order; ignores incoming indices).
- Auto-compact indices after create/insert if duplicates exist, keeping active lists unique and gap-free.
- Prevents reorder errors caused by duplicate indices from Trello imports.
* feat(db): normalize/compact indices with fail-safe duplicate recheck
* refactor: reorganize settings page with tabbed interface
* feat: revamp API key management with new list view and confirmation modals
* refactor: update tab styling
* refactor: tweak UI/UX for managing API keys
* refactor: only show update button when change has been made
* refactor: only show update button when content of display name has been updated
* feat: store tab state in params
* refactor: remove focus state from tabs
* refactor: tweak styling on mobile select
* refactor: simplify settings pages
* feat: open upgrade modal if upgrade=pro is in params
* feat: add scroll to api key list on mobile
* chore: add translations
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>