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>
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>
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>
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>
- 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>
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>
- 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>
- 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>
- 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>
- 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>