Commit d773511
authored
feat(kilo-chat): rip out stream chat
* fix(notifications): record badges without push tokens
* fix(kilo-chat): roll back failed action webhooks
* fix(mobile): add kilo chat message actions
* fix(kilo-chat): retry failed mark-read attempts
* fix(mobile): add reply and delivery failure parity
* fix(event-service): retry after token refresh
* fix(mobile): dispatch message actions by identity
* fix(kiloclaw): disable bot-added chat members
* fix(mobile): show chat action errors
* feat(mobile): add chat typing indicators
* fix(mobile): generate ulid chat client ids
* fix(kilo-chat): reorder conversations after activity
* fix(kilo-chat): bound mark-read to observed message
* fix(kilo-chat): keep first auto-title
* fix(kilo-chat): suppress pending message actions
* fix(notifications): fail open on presence lookup errors
* fix(notifications): dedupe presence suppressed pushes
* fix(kilo-chat): ignore pending ids for read boundary
* fix(event-service): keep reconnecting after pre-open failures
* fix(kilo-chat): reject bot additional members
* fix(web): wait for kilo chat user id
* fix(kilo-chat): use message timestamp for read activity
* fix(kilo-chat): clear badges from mark read
* fix(kilo-chat): order resolved optimistic messages
* fix(mobile): keep mark-read success authoritative
* fix(mobile): enforce chat message length
* fix(mobile): gate kilo chat sends on bot status
* fix(kilo-chat): revoke mutations after leave
* fix(kilo-chat): include reply parent snapshots
* fix(kilo-chat): preserve live reply snapshots
* fix(kilo-chat): preserve failed edit drafts
* fix(mobile): refresh unread badges under chat provider
* fix(web): retry failed kilo chat mark-read
* fix(kilo-chat): suppress false delivery-failed events
* fix(mobile): retry kilo chat mark read failures
* fix(mobile): hide failed message actions
* fix(kilo-chat): suppress stale action failure events
* fix(mobile): hide deleted message reactions
* fix(kilo-chat): skip duplicate action failure events
* fix(mobile): redirect stale chat routes
* fix(kilo-chat): suppress duplicate delivery failure events
* fix(web): filter delivery failure toasts by context
* fix(kilo-chat): guard optimistic message rollbacks
* fix(kilo-chat): order delayed message events
* chore: sync schemas
* fix(kilo-chat): handle send queue cleanup rejection
* fix(kilo-chat): guard read rollback state
* fix(kilo-chat): keep conversation timestamps monotonic
* fix(kilo-chat): ignore stale message update events
* fix(kilo-chat): preserve state on delayed creates
* fix(kilo-chat): preserve resolved actions on delayed creates
* fix(kilo-chat): guard stale reaction events
* fix(kilo-chat): preserve badges for stale mark-read
* fix(kilo-chat): seed local reaction operations
* fix(kilo-chat): clear deleted conversation badges
* fix(kilo-chat): seed idempotent reaction removes
* fix(kilo-chat): gate badge clears on mark-read response
* fix(mobile): guard stale chat badge writes
* fix(kilo-chat): invalidate messages on edit conflict
* fix(kilo-chat): resolve ci drift
* fix(kilo-chat): guard mobile pagination fetches
* fix(kilo-chat): remove redundant typing fanout
* perf(kilo-chat): contain web message rows
* perf(kilo-chat): collapse membership post-commit update
* perf(kilo-chat): share reply parent lookup
* perf(kilo-chat): reuse create message member info
* perf(kilo-chat): resolve mark read in conversation do
* perf(notifications): reuse incremented badge total
* perf(web): stabilize message failure handlers
* perf(kilo-chat): slim mark-read resolver payload
* perf(web): scope kilo chat cache events
* perf(kilo-chat): patch loaded activity rows
* perf(kilo-chat): conditionally advance read markers
* perf(kilo-chat): scope mark-read cache updates
* perf(kilo-chat): localize action pending state
* perf(notifications): skip noop badge total writes
* feat(kilo-chat): return created conversation rows
* feat(kilo-chat): return message page cursors
* feat(kilo-chat): return canonical mark-read state
* fix(kilo-chat): align conversation create response
* feat(kilo-chat): return execute-action result
* fix(kilo-chat): return canonical created messages
* fix(kiloclaw): expose message pagination cursors
* fix(kilo-chat): preserve message page cursors
* fix(kilo-chat): scope create fallback invalidation
* perf(kilo-chat): return execute action fanout context
* test(kilo-chat): align response contract assertions
* perf(kilo-chat): scope rename leave invalidations
* fix(chat): scope public chat token auth
* fix(events): use websocket connection tickets
* refactor(kilo-chat-hooks): normalize message page cache
* refactor(kilo-chat-hooks): share conversation list event handling
* refactor(kilo-chat-hooks): share mark-read retry helpers
* refactor(kilo-chat): share bot status hook
* test(kilo-chat-hooks): consolidate helper coverage
* fix(kiloclaw): align image hash inputs
* fix(kiloclaw): hash local OpenClaw images
* fix(kiloclaw): preserve local OpenClaw image mode
* fix(kiloclaw): include image mode in dev handoff
* fix(kiloclaw): include dockerignore in image hashes
* fix(kilo-chat): validate event fanout payloads
* fix(web): invalidate conversation status on reconnect
* fix(event-service): allow local web connect tickets
* fix(mobile): subscribe chat routes to instance events
* fix(notifications): validate chat push rpc payloads
* fix(notifications): retry transient expo push failures
* fix(mobile): reconcile native badge on hydration
* fix(mobile): update chat stack route registration
* fix(notifications): surface expo ticket errors
* fix(notifications): make no-token dispatch terminal
* fix(notifications): surface lifecycle ticket errors
* fix(notifications): report expo receipt errors
* fix(notifications): report all-stale chat pushes
* fix(notifications): terminalize partial ticket failures
* fix(mobile): show message pagination loader only while fetching
* fix(web): guard kilo chat conversation sandbox
* fix(web): preserve kilo chat scroll anchor
* fix(kilo-chat): seed cold message cache on send
* fix(kilo-chat): refetch cold send history
* fix(kilo-chat): patch renamed conversation detail
* fix(web): preserve composer after send failure
* fix(web): preserve kilo chat status errors
* fix(web): preserve pending chat drafts
* fix(kilo-chat): preserve sidebar state on leave rollback
* fix(notifications): trust typed rpc inputs
* fix(kilo-chat): trust event rpc payloads
* fix(kiloclaw): trust chat webhook rpc input
* fix(web): trust kilo chat token output
* fix(kilo-chat): reject invalid delivery failure bodies
* fix(kiloclaw): type kilo-chat request bodies
* fix(kilo-chat): type client request payloads
* fix(event-service): validate connect ticket responses
* fix(event-service): type websocket messages
* fix(kilo-chat): type notification rpc payloads
* fix(event-service): type ticket mint requests
* fix(event-service): validate connect ticket query
* fix(event-service): schema-check ticket consume responses
* fix(kilo-chat): type mark-read success responses
* fix(kilo-chat): validate action failure group ids
* fix(kilo-chat): return empty accepted action failures
* fix(kiloclaw): type plugin typing requests
* fix(kiloclaw): type chat webhook forwards
* fix(event-service): share connect ticket query schema
* fix(kilo-chat): return empty bot status nudge acks
* fix(kilo-chat): return empty delivery failure acks
* fix(web): route claw chat to kilo chat
* fix(dev-env): sync local secrets store bindings
* fix(event-service): align local auth env
* refactor(event-service): use RPC for connection tickets
* fix(event-service): reconnect pre-open socket failures
* fix(kilo-chat): surface badge clear failures
* fix(kilo-chat): return ok for void successes
* fix(kilo-chat-hooks): refetch incomplete activity reorders
* fix(notifications): omit tokens from ticket errors
* fix(web): gate org chat layout server-side
* fix(web): apply billing wrapper to personal chat
* fix(env-sync): resolve suffixed local secret sources
* fix(web): show chat creation progress
* fix(mobile): recover kilo chat user id after token retry
* fix(mobile): separate chat list loading states
* fix(mobile): gate chat history initial load
* fix(mobile): guard chat route sandbox mismatches
* fix(mobile): persist focused kilo chat sandbox
* fix(kilo-chat): retry HTTP calls after auth refresh
* fix(event-service): stop exhausted auth reconnects
* fix(notifications): retry transient Expo tickets
* fix(env-sync): prefer exact secret sources
* fix(env-sync): skip exec during secret discovery
* fix(mobile): keep chat state types internal
* refactor(kilo-chat): share bearer auth verification
* refactor(kilo-chat): share presence subscriptions
* refactor(kilo-chat): share message action policy
* test(notifications): mint badge route tokens for worker env
* refactor(worker-utils): remove unused chat token verifier
* fix(kilo-chat): prevent trial banner page scroll
* fix(kilo-chat): refresh inactive conversation messages
* fix(kiloclaw): clarify kilo chat message tool contract
* chore(mobile): add local env example
* docs(mobile): document local env host access
* fix(dev): respect configured app url
* fix(mobile): center bottom tab labels
* fix: fix kilo-chat-hooks dependency resolution
* fix(mobile): use expo crypto for chat client ids
* fix(mobile): route kiloclaw tab through instances
* feat(mobile): add kiloclaw instance list
* feat(mobile): polish kilo chat conversations
* fix(mobile): preserve kilo chat drafts
* feat(mobile): complete kilo chat message actions
* feat(mobile): polish kilo chat shell
* fix(mobile): address kiloclaw chat qa
* fix(mobile): show greeting in home header
* fix(mobile): keep kiloclaw navigation in tabs
* fix(mobile): align kiloclaw tab header
* fix(mobile): hide create instance with instances
* fix(mobile): remove invalid kiloclaw route registration
* fix(mobile): keep home tab navigation intact
* fix(mobile): remove kiloclaw instance subtitle
* fix(mobile): hide kiloclaw section counts
* fix(mobile): remove kiloclaw current marker
* fix(mobile): show agent identity in kiloclaw rows
* fix(mobile): make kiloclaw conversation list route match
* fix(mobile): polish kilo chat conversation list
* fix(mobile): add full-page pull refresh
* fix(mobile): hide refresh spinner during polling
* fix(mobile): show bot name in chat header
* fix(mobile): title instance switcher by bot
* fix(mobile): move kilo chat rename route
* fix(mobile): improve kilo chat list actions
* fix(mobile): polish kilo chat composer layout
* fix(mobile): match kilo chat composer shape
* fix(mobile): float kilo chat composer
* fix(mobile): restore kilo chat composer background
* fix(mobile): center kilo chat composer text
* fix(kilo-chat): avoid toSorted in message cache
* fix(mobile): improve kilo chat message display
* fix(mobile): add swipe reply for kilo chat
* fix(mobile): animate kilo chat message long press
* fix(mobile): disable kilo chat message text selection
* fix(mobile): shorten kilo chat reaction actions
* fix(mobile): preserve back gesture in kilo chat
* docs(kiloclaw): note approval ownership invariant
* docs(kiloclaw): explain resolved approval skip
* fix(kiloclaw): validate webhook sandbox ids
* fix(mobile): align kiloclaw tab content spacing
* fix(dev): skip kiloclaw tunnels for docker-local
* chore(dev): add mobile dev target
* fix(mobile): preserve chat scroll on keyboard open
* fix(mobile): reuse kiloclaw cards on claw tab
* fix(mobile): add instance settings shortcut
* fix(mobile): stabilize kilo chat composer scroll
* fix(mobile): reduce composer keyboard padding
* feat(kilo-chat): notify bot streamed messages
* fix(kilo-chat): cancel deleted bot message notifications
* fix(mobile): warm bot status on conversation list
* fix(kilo-chat): dedupe bot status requests
* fix(kilo-chat): raise bot notification threshold
* fix(mobile): use normal chat composer keyboard
* fix(mobile): stabilize chat composer on resume
* fix(mobile): avoid duplicate notification route pushes
* fix(mobile): auto-expand kilo chat composer
* fix(mobile): avoid active chat message refetches
* fix(mobile): skip own-message mark-read
* fix(mobile): follow newest chat messages
* fix(notifications): type scheduled action push data
* fix(mobile): clean up knip unused code
* fix(notifications): share push RPC types
* fix(mobile): support dark mode in chat messages
* fix(mobile): honor fresh kilo chat bot presence1 parent 0fd0c33 commit d773511
405 files changed
Lines changed: 44666 additions & 7320 deletions
File tree
- .agents/skills/kilo-design/reference
- .github/workflows
- apps
- mobile
- src
- app
- (app)
- (tabs)
- (1_kiloclaw)
- chat
- [sandbox-id]
- chat
- kiloclaw/[instance-id]
- components
- agents
- home
- kilo-chat
- hooks
- kiloclaw
- lib
- hooks
- web
- src
- app
- (app)
- claw
- chat
- [conversationId]
- components
- billing
- hooks
- kilo-chat
- [conversationId]
- components
- hooks
- components
- organizations/[id]/claw
- chat
- [conversationId]
- components
- kilo-chat
- [conversationId]
- api
- kilo-chat/token
- kiloclaw/chat-credentials
- contexts
- hooks
- lib
- kilo-chat
- kiloclaw
- routers
- organizations
- dev/local
- env-sync
- scripts
- packages
- db/src
- migrations
- meta
- event-service/src
- __tests__
- kilo-chat-hooks
- src
- kilo-chat
- src
- test
- notifications
- src
- worker-utils
- src
- patches
- scripts
- services
- event-service
- src
- __tests__
- do
- kilo-chat
- drizzle/conversation
- meta
- src
- __tests__
- db
- do
- routes
- services
- util
- webhook
- kiloclaw
- controller/src
- plugins/kilo-chat/src
- synced
- scripts
- src
- durable-objects
- kiloclaw-instance
- gateway
- routes
- schemas
- stream-chat
- notifications
- src
- __tests__
- dos
- lib
- routes
- util
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
93 | | - | |
| 92 | + | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
| |||
70 | 71 | | |
71 | 72 | | |
72 | 73 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
| 74 | + | |
83 | 75 | | |
84 | 76 | | |
85 | 77 | | |
| |||
412 | 404 | | |
413 | 405 | | |
414 | 406 | | |
| 407 | + | |
415 | 408 | | |
416 | 409 | | |
417 | 410 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
26 | 30 | | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
30 | 34 | | |
| 35 | + | |
31 | 36 | | |
32 | 37 | | |
33 | 38 | | |
| |||
49 | 54 | | |
50 | 55 | | |
51 | 56 | | |
52 | | - | |
53 | 57 | | |
54 | 58 | | |
55 | 59 | | |
| |||
78 | 82 | | |
79 | 83 | | |
80 | 84 | | |
81 | | - | |
82 | | - | |
83 | 85 | | |
84 | 86 | | |
85 | | - | |
| 87 | + | |
86 | 88 | | |
87 | 89 | | |
88 | 90 | | |
| |||
93 | 95 | | |
94 | 96 | | |
95 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
96 | 103 | | |
97 | 104 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
9 | 31 | | |
Lines changed: 63 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
Lines changed: 99 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
0 commit comments