Commit Graph

83 Commits

Author SHA1 Message Date
Henry
b159b48c35 feat: invite workspace members via link (#196)
* feat: add workspace invite links schema

* feat: update workspace invite schema

* feat: add repo funcs and share link toggle

* feat: redirect to next param on authentication

* feat: add invite page

* feat: switch to workspace on invite success

* refactor: tweak light mode styles

* feat(cloud): update subscription for cloud

* feat: only allow admin users to create links

* chore: add translations
2025-09-26 22:25:42 +01:00
Morfixx
7ab30acfc4 feat(db): added similar checks for duplicate indices for cards (#191) 2025-09-24 21:40:25 +01:00
Morfixx
fed24d1960 fix: bulkCreate to stop imports with duplicate indices (#190)
* 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
2025-09-20 22:17:41 +01:00
Henry
cea5cf84c8 feat(cloud): pause/reactivate members (#184)
* feat: add paused member status

* feat: add paused badge to member table

* chore: add translations

* feat: unpause all members on pro activation
2025-09-18 22:09:42 +01:00
Henry
2f88366418 feat: set workspace url when creating a new workspace (#172)
* 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
2025-09-11 20:32:02 +01:00
Henry
6c04a10b1f feat(cloud): show pro features (#169)
* feat(cloud): show pro workspace features

* feat: allow multiple subscriptions

* chore: translations
2025-09-08 23:22:12 +01:00
Henry
5a4835091f feat(cloud): unlimited seats (#166)
* feat: add unlimitedSeats to subscription

* feat: set unlimited seats to true for pro plans

* feat: add unlimited invites messaging

* feat: upgrade to pro via auth client

* feat: add subscription repo funcs

* chore: move subscription utils to shared

* feat: skip updating subscription if unlimited seats
2025-09-07 22:50:20 +01:00
Henry
06c268bed1 feat(cloud): enable seat based pricing (#161)
* feat: setup subscriptions

* feat: prompt user to create subscription if inactive

* feat: update subscription when increasing/decreasing workspace members

* feat: rework upgrade

* chore: remove pricing notice

* chore: add translations

* chore: update proration comment
2025-09-02 22:36:09 +01:00
Henry
13b10471ec feat: card checklists (#141)
* feat: setup checklist schema

* feat: scaffold checklist router

* feat: add create new checklist modal

* feat: create new checklist item

* feat: toggle checklist item completed state

* feat: update checklist name

* feat: delete checklist

* feat: show checklists progress on cards

* feat: tweak light mode styling

* feat: focus item form on creation of new checklist

* feat: tweak new checklist item form styling

* feat: add checklist activity

* feat: show checklist progress on public board page

* feat: display checklist items on public card modal

* chore: add translations
2025-08-14 19:59:36 +01:00
Cyber
d555546782 feat: add pglite support (#138) 2025-08-09 20:32:13 +01:00
Henry
638b8b6b79 fix: update public board lookup to filter by workspace slug and show not found message (#131)
* fix: update public board lookup to filter by workspace slug

* feat: show not found message for public boards

* chore: update lang
2025-07-28 22:59:28 +01:00
Henry
974a5ff0f3 fix: update board slug availability check to be unique to workspace (#126) 2025-07-26 21:18:26 +01:00
Henry
0cb69e2087 fix: allow member invites when signup is disabled (#121) 2025-07-20 11:18:19 +01:00
Henry
f4ef1217dc feat: enhance label router with consistent output (#104) 2025-07-07 22:33:01 +01:00
LovelessCodes
316f148663 feat: add template selection when creating new boards with predefined… (#42)
* 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>
2025-06-29 21:53:37 +01:00
Henry
f6114a56af chore: patch migration order (#74) 2025-06-10 21:15:47 +01:00
LovelessCodes
75e89f118f feat: implement Trello integration with OAuth and user fields (#48)
* 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>
2025-06-10 19:24:18 +01:00
LovelessCodes
53426bf155 feat: add account deletion functionality with cascade delete for work… (#33)
* 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>
2025-06-08 20:54:47 +01:00
LovelessCodes
17c2a1b8ec refactor: add relation names to schema (#56) 2025-06-08 16:32:44 +01:00
LovelessCodes
805ef8cf43 refactor: update board slug prefix to use dynamic base URL from env (#38)
* refactor: update board slug prefix to use dynamic base URL from env

* feat: add board slug availability check with real-time validation UI

* refactor: consolidate board slug lookup by removing boardSlug repo and updating environment variables

* feat: allow board slug reuse across different workspaces

* chore: update environment settings and remove unused imports

* refactor: update board slug availability check to use boardPublicId instead of workspaceSlug

* refactor: simplify board slug availability check with direct SQL query
2025-06-06 12:55:00 +01:00
LovelessCodes
2043a8f98c fix: add cascade delete for card-related foreign keys and invalidate … (#31)
* 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
2025-06-05 21:20:31 +01:00
LovelessCodes
c9a9779e79 feat: include column name in board repository query response to use in board PageHead (#20) 2025-06-05 06:08:20 +01:00
LovelessCodes
356e35964b feat: allow public card access without authentication (#19) 2025-06-05 06:05:03 +01:00
Henry
ee5cbd1e7f fix: change casing for apiKey schema 2025-06-01 23:07:21 +01:00
Henry
d602c1f960 fix: prevent duplicate indices when creating a new list 2025-06-01 22:28:46 +01:00
Henry
471f36a9c9 fix: disable api key hashing 2025-06-01 00:12:16 +01:00
Henry
1d00aa78b4 feat: create and delete api keys 2025-05-31 23:59:48 +01:00
Henry
e61dd4e27e feat: show new workspace modal when user is not a member of any workspaces 2025-05-30 14:09:44 +01:00
Henry
14f55e5939 chore: update package licences and migration script 2025-05-29 23:18:25 +01:00
Henry
47ddf0a048 fix: show email and avatar for pending members 2025-05-28 21:51:41 +01:00
Henry
236aafa26c fix: prevent undefined workspace slug 2025-05-27 22:21:59 +01:00
Henry
a0e2d45f74 fix: update board and workspace slug queries to filter by visibility 2025-05-27 22:17:58 +01:00
Henry
b1bb8a6539 fix: create card.updated.list activity when changing list 2025-05-27 22:09:12 +01:00
Henry
59eadfc694 fix: soft delete labels 2025-05-27 21:49:01 +01:00
Henry
8a81d1ff17 feat: add workspace member assertion to remaining routers 2025-05-26 22:03:39 +01:00
Henry
76b65acc0f feat: add workspace member assertion to card router 2025-05-26 21:30:09 +01:00
Henry
a6c6524749 feat: add workspace member assertion to list router 2025-05-23 13:43:51 +01:00
Henry
2e97e2be53 feat: assert user is member of workspace for board routes 2025-05-22 22:12:33 +01:00
Henry
71c92eea27 fix: reenable member invites 2025-05-22 12:18:56 +01:00
Henry
b3c4f0b956 fix: reenable member and label filters 2025-05-20 23:11:12 +01:00
Henry
d065ae73e1 refactor: remove edge compatibility 2025-05-15 22:27:03 +01:00
Henry
66de4b6c42 chore: flatten migrations 2025-05-15 21:53:33 +01:00
Henry
b6daaa41de refactor: remove supabase auth 2025-05-05 15:16:30 +01:00
Henry
091fea6f38 feat: setup better-auth 2025-05-02 23:40:34 +01:00
Henry
5996ad19c3 refactor: move shift index into transaction 2025-05-02 12:27:14 +01:00
Henry
73d8799c75 chore: remove unused repo func 2025-04-30 00:03:47 +01:00
Henry
88110b0b8f refactor: move reorder card to update handler 2025-04-30 00:01:45 +01:00
Henry
d99e95826f refactor: move reorder lists to update list 2025-04-29 08:58:07 +01:00
Henry
d40760d2ab fix: cleanup drizzle refactor 2025-04-24 22:53:22 +01:00
Henry
0c3ab8b890 refactor: update card repo to use drizzle 2025-04-24 22:36:29 +01:00