* feat: setup schema for workspace roles
* chore: regen migration
* feat: add publicId to workspace roles
* feat: setup default permissions
* feat: add repo funcs
* feat: setup basic router interactions
* feat: add card permissions
* feat: assert permissions for lists
* feat: assert board permissions
* feat: assert permission for remaining routes
* feat: add permissions page to settings
* feat: enable updating member roles
* feat: order members by role and createdAt
* feat: allow editing individual permissions
* feat: reset role defaults
* feat: clear all permission overrides
* feat: allow users to delete entities they have created
* feat: set roleId when inviting new members
* feat: disable UI elements if user does not have permissions
* feat: allow admins to assign the admin role to other users
* feat: allow delete:list as default
* refactor: centre permissions modal
* chore: translations
* feat: add YouTube video embed support for TipTap editor
- Paste YouTube URLs to auto-embed videos with metadata
- Edit video title and URL through dropdown menu
- Convert embed back to plain URL link
- Fetch video titles automatically via YouTube oEmbed API
* fix:
- reverted NewCardForm CSS properties back to max-h-48.
- Added boolean prop to TipTap Edtior for YouTube embed.
- Disabled YouTube embed feature for NewCardForm Editor
* chore: lint
* chore: translations
* chore: update translations
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* feat: implement drag-and-drop reordering for checklist items
* WIP: Changes before syncing with main
* feat: update drag icon and positioning
* refactor: consolidate checklist item updates into single endpoint
- Remove standalone reorderItem route (now part of updateItem)
- Add optional index parameter to updateItem for reordering
- Change updateItem from PUT to PATCH method
- Add deletedAt IS NULL filter to reorderItem SQL queries
- Follows existing pattern from card.update route
* feat: add optimistic updates
* chore: translations
---------
Co-authored-by: Henry <henry_ball@hotmail.co.uk>
* feat: add card due dates to schema
* feat: update repo funcs
* feat: update card router to support due dates
* chore: update migration journal
* feat: add date selector
* feat: display date icon and label on cards
* feat: add due date filters
* feat: add due date to new card form
* feat: light mode tweaks
* feat: improve text eligibility on light mode
* feat: reduce selector font size
* feat: display date updates in card activity
* chore: gen translations
* 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
* 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>
* 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>
* 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
* fix: ensure workspace slug is updated on activation
* feat: open upgrade modal if upgrade=pro is in URL params
* fix: show correct skeleton loader for workspace menu when collapsed
* fix: reenable scroll when navigating back to marketing page
* feat: add launch offer notice
* feat: hide dropdown on comments for public boards
* feat: fix height of modal and add scrollable content area
* feat: add view only badge to public boards
* feat: prevent card title from overlapping close button
* chore: gen translations
* feat: add patterned background to boards
* feat: setup dashboard 2.0
* fix: prevent patterned background from overlaying buttons
* feat: set max width for main card view
* feat: adjust colour scheme for card view
* feat: adjust dashboard border colour scheme and radius
* fix: use correct colour for description placeholder
* fix: use getLayout to persist layout state across pages
* feat: reduce max width for settings and members pages
* feat: add feedback button and modal
* feat: adjust page max width
* feat: extend mobile layout support
* fix: hide pro badge when collapsed
* feat: tweak nav styling for light mode
* feat: tweak skeleton loaders for board list
* feat: extend list max height
* fix: hide side nav right border on desktop
* chore: update hero images
* chore: update hero images for docs
* chore: update translations