Commit graph

733 commits

Author SHA1 Message Date
Arthur Belleville
03e1f335bc
docs: add account deletion design spec
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-29 15:34:46 +02:00
Arthur Belleville
9386778e2c
docs: add expo chat day separator bars design 2026-04-19 12:05:01 +02:00
Arthur Belleville
ee02241700
docs: add expo primary purple design spec 2026-04-19 09:58:45 +02:00
Arthur Belleville
5a5bf1c93b
Add prompt 2026-04-15 22:08:33 +02:00
Arthur Belleville
f531f2437b fix(expo): add type annotation for members forEach in channel screen 2026-04-15 17:13:10 +02:00
Arthur Belleville
f00eec25e8 chore(expo): remove unused SwipeableChannelPreview (Stream Chat) 2026-04-15 17:12:29 +02:00
Arthur Belleville
60ac81deb1 feat(expo): rewrite channel screen with custom chat backend 2026-04-15 17:11:56 +02:00
Arthur Belleville
b321d42b89 feat(expo): rewrite discussions tab with custom chat backend 2026-04-15 17:10:58 +02:00
Arthur Belleville
8cc23fc76c feat(expo): remove Stream Chat, switch to custom chat backend 2026-04-15 17:09:57 +02:00
Arthur Belleville
74d1b4859d feat(expo): add useChatUnread hook for unread count polling 2026-04-15 17:07:16 +02:00
Arthur Belleville
68194d445f feat(expo): add useChat hook with WebSocket and REST integration 2026-04-15 17:07:16 +02:00
Arthur Belleville
f57185cd50 feat(expo): add chat message and WebSocket event types 2026-04-15 17:06:27 +02:00
Arthur Belleville
b516568b74 docs: add expo chat migration implementation plan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 17:03:47 +02:00
Arthur Belleville
302eb665fd docs: add expo chat migration design spec
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 16:59:18 +02:00
Arthur Belleville
66d9ab9ad8
fix(expo): address review findings - cache invalidation, date handling, cleanup
- Add tasks cache invalidation to etape create/update hooks
- Fix timezone-unsafe overdue date comparison in TaskRow
- Add due date picker to EtapeSheet (was missing from spec)
- Use initialized ref to prevent form state overwrite on refetch
- Remove unused deleteTask import from TaskList

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:07:42 +02:00
Arthur Belleville
0ffcb871d8
feat(expo): navigate to tablo detail on tap instead of channel
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:02:26 +02:00
Arthur Belleville
956f97b19f
feat(expo): add task detail screen with create/edit/delete
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 14:01:53 +02:00
Arthur Belleville
03cd92719c
feat(expo): add tablo detail screen with task list and etape management
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 14:00:57 +02:00
Arthur Belleville
559c0b4451
chore(expo): add @react-native-community/datetimepicker dependency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 13:59:47 +02:00
Arthur Belleville
a00d95f8be
feat(expo): add TaskList component with etape grouping 2026-04-15 09:48:55 +02:00
Arthur Belleville
58bbcf840b
feat(expo): add AssigneePicker and EtapePicker modal components 2026-04-15 09:47:11 +02:00
Arthur Belleville
78dba5f15a
feat(expo): add EtapeSheet modal for etape create/edit 2026-04-15 09:46:44 +02:00
Arthur Belleville
ac6a133e26
feat(expo): add EtapeSection collapsible header component 2026-04-15 09:46:26 +02:00
Arthur Belleville
f30df0901d
feat(expo): add TaskRow component 2026-04-15 09:46:08 +02:00
Arthur Belleville
c7b2b8c2d0
feat(expo): add StatusControl segmented picker component 2026-04-15 09:45:53 +02:00
Arthur Belleville
db0b077c0d
feat(expo): add tablo members read-only hook 2026-04-15 09:44:48 +02:00
Arthur Belleville
d6d7892684
feat(expo): add etape CRUD hooks 2026-04-15 09:44:46 +02:00
Arthur Belleville
1d38602465
feat(expo): add task CRUD hooks 2026-04-15 09:44:41 +02:00
Arthur Belleville
5cfb892e11
feat(expo): add task and etape type definitions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 09:35:13 +02:00
Arthur Belleville
3d0a2f7cc0
feat(expo): add tasks and tasks_with_assignee database types
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 09:35:07 +02:00
Arthur Belleville
4189a5b140
docs: add expo tasks & etapes implementation plan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 09:20:40 +02:00
Arthur Belleville
32fd9c1b2e
docs: add expo tasks & etapes feature design spec
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 09:06:42 +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
e7b1a04966
fix(ui): restrict tablo delete to admins, hide chat attachments and border
- Only show trash icon on tablo cards/rows when user is admin
- Comment out attachment button and file inputs in chat composer
- Remove top border from chat composer
- Add org logo to NavigationBar avatar

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:49:00 +02:00
Arthur Belleville
8ac4510542
fix(chat-ui): disable message hover actions toolbar
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:20:26 +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
2eb7cc5183
fix(main): handle snake_case fields from REST API in ChatMessages
The chat REST API returns raw DB rows with snake_case fields
(user_id, created_at) while WS messages use camelCase. Handle
both to prevent Invalid Date errors from new Date(undefined).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 16:51:02 +02:00
Arthur Belleville
8d4abd8e65
fix(chat-ui): add CSS export to package.json and fix import path
The @import in main.css failed because ./src/chat-ui.css wasn't
in the exports field. Add explicit export and use correct path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 15:38:01 +02:00
Arthur Belleville
04fa385429
fix(chat-ui): fix CSS pipeline and Tailwind source scanning
- Import chat-ui.css via CSS @import in main.css (not JS import)
  so @layer directives go through Tailwind's compilation
- Add @source directive for packages/chat-ui so Tailwind v4
  scans the package for utility classes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 14:33:06 +02:00
Arthur Belleville
d9094855d4
feat(main): rewrite ChatMessages to use @xtablo/chat-ui
Replace chatscope implementation with ChatProvider, ChatMessageList,
and ChatComposer from @xtablo/chat-ui. Props interface unchanged.
Also fix unused Tag import in chat-ui layouts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 14:18:32 +02:00
Arthur Belleville
88d4b0dc6c
feat(main): switch from chatscope to @xtablo/chat-ui 2026-04-12 14:16:43 +02:00
Arthur Belleville
2929c4a81e
feat(chat-ui): add barrel export and wire up CSS 2026-04-12 14:16:27 +02:00
Arthur Belleville
919001fd15
fix(chat-ui): replace remaining var(--chat-*) in layouts.tsx
Replace leftover chatcn CSS variables in ticket status/priority
configs and filter tabs with xtablo design tokens.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 14:14:39 +02:00
Arthur Belleville
ca8492d37e
feat(chat-ui): add layout components with xtablo theming
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 14:11:56 +02:00
Arthur Belleville
95cbca1b27
feat(chat-ui): add feature components with xtablo theming 2026-04-12 14:10:04 +02:00
Arthur Belleville
26db9b1adf
feat(chat-ui): add core chat components with xtablo theming
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 14:00:38 +02:00
Arthur Belleville
e80a1018ae
feat(chat-ui): add animation and utility CSS
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 13:48:23 +02:00
Arthur Belleville
a0bbbe15ca
feat(chat-ui): add types, hooks, and security utilities from chatcn
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 13:46:35 +02:00
Arthur Belleville
34fe75cd12
feat(chat-ui): scaffold @xtablo/chat-ui package
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 12:54:19 +02:00