Commit Graph
3535 Commits
Author SHA1 Message Date
Timothy Jaeryang Baek 0542df147a refac 2026-04-21 15:52:33 +09:00
Timothy Jaeryang Baek 6cc799b1bb chore: format 2026-04-21 15:52:00 +09:00
Timothy Jaeryang Baek 5f76c250f8 refac 2026-04-21 15:20:28 +09:00
Timothy Jaeryang Baek 7fd94b0e73 refac 2026-04-21 15:15:00 +09:00
Algorithm5838 81383a7df1 fix: always rAF-throttle markdown parsing during streaming (#23868) 2026-04-21 13:29:33 +09:00
G30 4790faba73 fix(ui): add shift+click to bypass message deletion confirmation (#23888) 2026-04-21 13:21:48 +09:00
Timothy Jaeryang Baek dc6df52a91 refac 2026-04-20 09:11:38 +09:00
Timothy Jaeryang Baekandtwheel c3c857a3ec refac
Co-Authored-By: twheel <100867139+whatisdata@users.noreply.github.com>
2026-04-20 08:59:30 +09:00
Algorithm5838 51cd43229c perf: extend fast-deep-equal to remaining call sites (#23845) 2026-04-20 08:26:30 +09:00
Timothy Jaeryang Baek b7b7b64d31 refac 2026-04-19 22:50:08 +09:00
Timothy Jaeryang Baek 37eba1c5a6 chore: format 2026-04-19 22:45:54 +09:00
Timothy Jaeryang Baek 5087492e25 refac 2026-04-19 15:49:42 +09:00
Timothy Jaeryang Baek 1be9627dd2 refac 2026-04-17 14:57:49 +09:00
Timothy Jaeryang Baek 4113b15a60 chore: format 2026-04-17 14:28:18 +09:00
Algorithm5838 e5f31c2e14 perf: replace JSON.stringify equality with fast-deep-equal (#23370) 2026-04-17 14:22:06 +09:00
Timothy Jaeryang Baek 3c22afc5a6 refac 2026-04-17 12:07:23 +09:00
Algorithm5838 7aed64be3c fix: chat:outlet update overwritten by stale write-back (#23829) 2026-04-17 11:19:27 +09:00
Timothy Jaeryang Baek 398718d505 refac 2026-04-17 10:44:29 +09:00
Timothy Jaeryang Baek bd35809105 refac 2026-04-17 10:22:43 +09:00
Timothy Jaeryang Baek 2e52ad8ff2 refac: shared chat 2026-04-17 10:16:32 +09:00
Timothy Jaeryang Baek 5dae600ce7 chore: format 2026-04-14 17:27:31 -05:00
Timothy Jaeryang Baek a4ed16999e refac 2026-04-14 16:08:14 -05:00
Timothy Jaeryang Baek cced77b584 refac 2026-04-14 00:07:50 -05:00
Timothy Jaeryang Baek 18fe17127a refac 2026-04-13 23:33:58 -05:00
Timothy Jaeryang Baek a209f7f6e0 refac 2026-04-13 23:23:49 -05:00
Timothy Jaeryang Baek 45e49d33e5 refac 2026-04-13 21:52:19 -05:00
Timothy Jaeryang Baek 84ec43105c refac 2026-04-13 21:33:43 -05:00
Timothy Jaeryang Baek cf4218e688 refac 2026-04-13 21:29:03 -05:00
Timothy Jaeryang Baek c8ef7b0289 refac 2026-04-13 18:51:20 -05:00
Timothy Jaeryang Baek 9dccd29c94 refac 2026-04-13 16:00:03 -05:00
Timothy Jaeryang Baek 026903399b refac 2026-04-13 15:58:33 -05:00
Timothy Jaeryang Baek e10a00132e refac 2026-04-12 19:02:57 -05:00
Timothy Jaeryang Baek 25898116ea chore: format 2026-04-12 18:12:59 -05:00
Classic298andClaude e7ff4768f8 fix: Add ownership checks to global task endpoints (#23454)
* Add ownership checks to global task endpoints

- Restrict GET /api/tasks and POST /api/tasks/stop/{task_id} to admin-only
- Add new scoped POST /api/tasks/chat/{chat_id}/stop endpoint with ownership
  check so regular users can stop their own chat tasks
- Allow admins to access the scoped chat task endpoints alongside owners
- Update frontend to use the new scoped stop endpoint when a chatId is available

https://claude.ai/code/session_01K7zPDvvjRu8AxJ4Br2HhZc

* Handle temporary (local:) chat IDs in scoped task endpoints

Temporary chats use local:<socketId> as chat_id which doesn't exist in
the DB. The scoped endpoints now skip ownership checks for local: IDs
(they aren't enumerable) and use {chat_id:path} to handle the colon in
the URL path.

https://claude.ai/code/session_01K7zPDvvjRu8AxJ4Br2HhZc

* Verify session ownership for local: chat IDs and URL-encode chat_id

- For local:<socketId> chat IDs, look up the socket's owner in
  SESSION_POOL and verify it matches the requesting user (or admin)
- URL-encode chat_id in frontend fetch calls to handle special
  characters (colon in local: IDs) safely

https://claude.ai/code/session_01K7zPDvvjRu8AxJ4Br2HhZc

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-12 17:56:43 -05:00
Timothy Jaeryang Baek 15b89b9218 refac 2026-04-12 16:56:00 -05:00
G30 008f1dfbda fix(ui): prevent user added action icons from being dragged (#23412) 2026-04-12 16:49:14 -05:00
Timothy Jaeryang Baek 47d413ce7b refac 2026-04-12 16:47:23 -05:00
Classic298 5eab125f13 fix: sanitize model description HTML with DOMPurify in chat placeholders (#23621) 2026-04-12 11:12:49 -05:00
Timothy Jaeryang Baek ee9db91df0 refac 2026-04-11 17:06:49 -06:00
Timothy Jaeryang Baek aacf95cf76 refac 2026-04-11 16:08:16 -06:00
Algorithm5838 bf49358185 refactor: use shared unescapeHtml in CodeBlock (#23553) 2026-04-11 15:00:33 -06:00
Timothy Jaeryang Baek bd3a3635ee refac 2026-04-10 10:15:55 -07:00
Timothy Jaeryang Baek 1dcbfd47fb refac 2026-04-09 11:36:06 -07:00
Timothy Jaeryang Baek 4b8e331333 refac 2026-04-09 11:13:09 -07:00
Timothy Jaeryang Baek cb0fd6ed41 refac 2026-04-08 14:55:04 -07:00
G30 8977789177 fix(ui): remove capitalize class from terminal menu selected label (#23518) 2026-04-08 12:48:51 -07:00
Timothy Jaeryang Baek 253f416de3 refac 2026-04-02 22:54:17 -05:00
Timothy Jaeryang Baek 6c243664bc refac 2026-04-02 20:56:00 -05:00
Timothy Jaeryang Baek 730e52a431 refac 2026-04-02 19:29:23 -05:00
Timothy Jaeryang Baek ae0316a30e refac 2026-04-02 17:53:11 -05:00