* 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
* feat: add migration to remove not null constraint from referenceId on subscriptions
* feat(cloud): write worspace slug availability checks to db
* feat: add migration to add cascade set null to referenceId on subscription
* feat: update workspace and subscripton schema
* feat: add createWorkspaceSlugCheck repo func
* feat: set workspace url on creation
* chore: update translations
* refactor: various tweaks and fixes
* feat: add pro bolt to pricing notice
* feat: toggle pro subscription
* fix: hide pro subscription notice for self hosters
* feat: add pro upgrade message on members page
* feat: hide pro upgrade notice on small viewports
* feat: update workspace url placeholder
The `/social-providers` endpoint should return a list of the provider ids, not their names.
This was found when trying to use the microsoft endpoint and the endpoint was returning `"microsoft entraid"`, when the `AuthForm` expects it to just be `"microsoft"`.
* feat: add template selection when creating new boards with predefined lists
* feat: extend templates with labels, update design and add translations
* feat: add validation and error states to new board form
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* feat: implement Trello integration with OAuth and user fields
* feat: migrate Trello integration to new integrations table
* refactor: migrate Trello integration to use new integration system
* refactor: migrate Trello integration to use new integrations table
* fix: add loading check for Trello integration and update VSCode settings
* feat: enhance import boards UI with dynamic integration providers and local storage config
* feat: add select/unselect all buttons and loading state to board import form
* feat: add Trello import env vars on README
* docs: update Trello import guide to use OAuth flow instead of API keys
* feat: add integrations table for OAuth token management
* feat: connect trello from import modal
* refactor: consolidate Trello integration endpoints into unified integration router
* fix: trello import again
* refactor: generalize integration authorization flow and improve error handling
* refactor: update Trello API endpoints and tags for better organization
* feat: add Integrations tag to OpenAPI specification
* refactor: update Trello auth endpoint to use generic integration provider param
* refactor: move Trello integration logic from trello.ts to import.ts router
* refactor: consolidate Trello integration endpoints and fix API URL
* chore: remove debug logs
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* feat: add password reset functionality with email template and credentials config
* feat: add authentication configuration options and improve development setup
* feat: add password-based authentication and signup control flags
* feat: update auth form to support name field
* fix: prevent password icon from overlaying the input text
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* feat: add account deletion functionality with cascade delete for workspace relations
* fix: add cascade delete to workspace user foreign key constraints
* fix: change onDelete action to set null for user references in schema
* feat: tweak design
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
Co-authored-by: Henry <30578846+hjball@users.noreply.github.com>
* feat: add S3 avatar upload during user creation from social provider
* chore: remove console.log and update storage config for local development
* refactor: move avatar upload to after user creation and use user ID for filename
* feat: update avatar storage path
* fix: add cascade delete for card-related foreign keys and invalidate workspace cache after deletion
* fix: use refetch instead of invalidate for workspace deletion to ensure immediate UI update
* feat: add cascade delete to card relations and activity tables