Commit graph

58 commits

Author SHA1 Message Date
Arthur Belleville
c56d5718b8
refactor: remove is_temporary flag across the entire codebase
Drop the is_temporary boolean from the DB schema (new migration), types,
API routers/helpers/middleware, and all frontend components and tests.
Access control now relies solely on is_client.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-30 17:04:11 +02:00
Arthur Belleville
f02c36dbb7
feat: add client password invite flow 2026-04-18 11:09:04 +02:00
Arthur Belleville
e8044182d8
fix: resolve lint and formatting issues in apps/main
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:33:38 +02:00
Arthur Belleville
118b23bfb1
feat(main): add client invite UI to share dialog
Adds three React Query hooks (usePendingClientInvites, useCreateClientInvite, useCancelClientInvite) and a new Client Access section in the share dialog with email input, pending invite list, expiry countdown, and orange warning badge for invites expiring in less than 5 days.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 14:18:27 +02:00
Arthur Belleville
bc28194d3d
refactor: move tablo view components to packages/tablo-views
Moves kanban, gantt, section components, chat hooks and extracted
EtapesSection/RoadmapSection from apps/main into the new shared
packages/tablo-views package. Components that previously depended on
app-specific providers (UserStoreProvider, useIsReadOnlyUser, etc.) are
refactored to receive data/callbacks as props, keeping the package free
of apps/main dependencies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 09:23:06 +02:00
Arthur Belleville
4f31275c82
fix(auth): redirect to login immediately on logout
Replace toast-only onSuccess with window.location.href redirect to
/login, which also cleanly resets all React state and caches.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:55:05 +02:00
Arthur Belleville
b7a6798cad
fix(chat): normalize REST messages, full-width layout, and UI cleanup
- Normalize snake_case REST API responses to camelCase in useChat so
  messages are correctly attributed after page reload
- Remove max-w-3xl from chat-ui messages and composer for full-width
- Remove discussion header/border so chat fills the tablo section
- Remove plan badge pills from settings page header
- Use org logo in NavigationBar avatar instead of first-letter fallback
- Persist plan announcement in localStorage instead of sessionStorage

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:10:12 +02:00
Arthur Belleville
14688afdeb
feat(chat): add i18n support and filter self typing indicator
Add a `chat` i18n namespace (FR/EN) and replace all hardcoded strings
in chat components with useTranslation calls. Introduce a `labels` prop
on ChatProvider so chat-ui renders translated typing indicators,
placeholders, and aria labels. Also filter out typing events from the
current user on the client side.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 14:15:00 +02:00
Arthur Belleville
0e8788f32b fix: resolve remaining Stream Chat references and type errors
- Remove useSignUpToStream from hooks/auth.ts and oauth-signin.tsx
- Fix useRef initial values in useChat.ts
- Remove unused destructured variables in chat.tsx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:33:48 +02:00
Arthur Belleville
6081ada013 refactor(main): remove all Stream Chat dependencies and components
- Delete ChatProvider, ChannelPreview, CustomChannelHeader, hooks/channel.ts
- Replace TabloDiscussionSection with chatscope-based implementation using useChat
- Update tablo-details.tsx to use useChatUnread instead of useTabloDiscussionUnread
- Remove streamToken field from User type in UserStoreProvider
- Remove useSignUpToStream from shared auth hooks
- Remove stream-chat and stream-chat-react packages
- Remove stream-chat-react CSS import from main.tsx
- Clean up all streamToken references from test mocks and helpers
- Update chat.test.tsx and tablo-details.layout.test.tsx for new implementation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 13:49:57 +02:00
Arthur Belleville
db59316dc3
feat(chat): add useChatUnread hook for polling unread counts 2026-04-11 12:04:27 +02:00
Arthur Belleville
2833b4b2c1
feat(chat): add useChat hook with WebSocket connection and reconnection 2026-04-11 12:04:03 +02:00
Arthur Belleville
2e9ab46be8
feat: add org ID cookie management and logo upload/remove hooks
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:03:59 +02:00
Arthur Belleville
8e6e8b6d71
style(pwa): fix biome formatting in hook and banner
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:54:46 +02:00
Arthur Belleville
e23013b0af
feat(pwa): add useInstallPrompt hook with tests
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:48:13 +02:00
Arthur Belleville
0b0d7b6cf0
Block app access until organizations add a paid plan 2026-03-24 21:41:38 +01:00
Arthur Belleville
c481f2c577
Retry signup tests with Stripe CLI 2026-03-15 19:09:35 +01:00
Arthur Belleville
0efc36e70c
feat: add configurable overview layout builder 2026-03-14 13:36:47 +01:00
Arthur Belleville
2d965c524e
Fix organization modal flows 2026-03-08 22:44:02 +01:00
Arthur Belleville
76f497d2c8
Keep founder plan during invites 2026-03-08 21:43:31 +01:00
Arthur Belleville
992b846a85
Fix CircleCI docker node pull 2026-03-08 21:28:44 +01:00
Arthur Belleville
d0820ebbf1
Implement solo teams founder billing 2026-03-08 19:29:44 +01:00
Arthur Belleville
0e91257aa1
Add tablo invite popover 2026-03-07 19:27:22 +01:00
Arthur Belleville
cd327c8b79
Move dispos, split types d'appels, and also put the tablo invitations in the top bar 2026-03-07 19:12:19 +01:00
Arthur Belleville
354831c82f
Some work towards initial release 2026-03-07 15:45:49 +01:00
Arthur Belleville
28d0b938fa
Fix various issues 2026-03-04 22:09:10 +01:00
Arthur Belleville
7c15ff3275
Organization support 2026-03-04 21:47:44 +01:00
Arthur Belleville
2b09dd4093
Add due_date field to tasks and implement roadmap feature
- Add due_date column to tasks table with Supabase migration
- Update database types and tasks_with_assignee view
- Add DatePicker to TaskModal for setting due dates
- Display due dates on KanbanTaskCard, list view, and Etapes section
- Enable Roadmap tab on both Tasks page and Tablo Details page
- Add RoadmapView components with timeline grouped by Etape
- Highlight overdue dates in red across all views

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-24 10:07:47 +01:00
Arthur Belleville
515fee98cd
Redesign tasks page and add files page
- Rework tasks page with new board/list views, header with view tabs (Tableau, Liste, Roadmap, Calendrier), search and filter dropdown
- Board view: new card style with tablo row, assignee avatar, kebab menu (ouvrir/déplacer)
- List view: grouped by status, table with fixed column layout, kebab actions
- Add files page (/fichiers) with per-project file tables, folder cards, upload modal, download/delete actions
- Add /all-filenames API endpoint to fetch all tablo file names in a single call
- Add files nav item and recent projects section in NavigationBar
- Translate all UI strings to French

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-02-21 18:05:32 +01:00
Arthur Belleville
4347adedd9
Folder 2025-12-18 11:25:00 +01:00
Arthur Belleville
f152d7d45a
Big UI update
Remove notes and follow the figma
2025-12-04 23:37:18 +01:00
Arthur Belleville
ce11d37a9d
Freemium 2025-12-01 22:21:49 +01:00
Arthur Belleville
06f2ac541b
Onboarding + freemium 2025-12-01 19:34:30 +01:00
Arthur Belleville
d158a204af
Add beta plan + upsell modals + block past_due users 2025-11-24 23:09:14 +01:00
Arthur Belleville
7ec848e37e
Ship ship ship the new features (tasks, etapes, notifs) 2025-11-22 17:22:57 +01:00
Arthur Belleville
33bd462f87
Apply lint and typecheck 2025-11-18 20:56:17 +01:00
Arthur Belleville
054bcb63ee
Merge branch 'main' into develop 2025-11-18 10:07:28 +01:00
Arthur Belleville
f672830d9e
Fix types + lint 2025-11-18 09:58:29 +01:00
Arthur Belleville
cebafbdb2e
First version of parent tasks 2025-11-18 09:53:29 +01:00
Arthur Belleville
cd309d30df
Notifications in the UI 2025-11-16 14:01:41 +01:00
Arthur Belleville
a49dec34ff
Add task management 2025-11-15 22:58:18 +01:00
Arthur Belleville
5d1edd2754
Fix cors + tasks 2025-11-14 23:09:54 +01:00
Arthur Belleville
92b0646176
Create two packages: api and shared-types 2025-11-10 08:52:47 +01:00
Arthur Belleville
03a25dace3
Improve flow 2025-11-06 22:47:28 +01:00
Arthur Belleville
2bfe51017f
Improve user flow when booking a slot 2025-11-06 11:35:05 +01:00
Arthur Belleville
373aaff892
Add stripe subscription card 2025-11-03 09:50:34 +01:00
Arthur Belleville
40ce04ecc0
Add confirm email page 2025-10-31 23:13:35 +01:00
Arthur Belleville
5132771f84
Add cookie banner 2025-10-30 19:09:46 +01:00
Arthur Belleville
8f37530005
Improve Datadog Rum 2025-10-30 18:23:24 +01:00
Arthur Belleville
0fd0253685
Huge step ahead for invites 2025-10-28 14:26:24 +01:00