Commit Graph

9332 Commits

Author SHA1 Message Date
Timothy Jaeryang Baek
009715cd63 refac 2026-07-14 00:22:00 -04:00
Timothy Jaeryang Baek
6a7068c3a4 refac 2026-07-14 00:21:47 -04:00
Timothy Jaeryang Baek
797293c749 refac 2026-07-14 00:19:41 -04:00
Timothy Jaeryang Baek
7088d245bb refac 2026-07-14 00:10:28 -04:00
Timothy Jaeryang Baek
8f07c0c8ee refac 2026-07-13 23:34:54 -04:00
Timothy Jaeryang Baek
d3fd860c13 refac 2026-07-13 23:32:07 -04:00
Timothy Jaeryang Baek
e1f96aa20e refac 2026-07-13 23:21:45 -04:00
Timothy Jaeryang Baek
2f37e853d1 refac 2026-07-13 23:19:58 -04:00
Timothy Jaeryang Baek
e355959e91 refac 2026-07-13 23:16:22 -04:00
Timothy Jaeryang Baek
49d202a18e refac 2026-07-13 12:06:17 -04:00
A-PS1999
8c71897bc0 Corrected a few Japanese translations, added several more which were previously blank (#26881) 2026-07-10 13:33:46 -05:00
Classic298
274729aa47 fix: socket reconnect recovery never runs for chats started from the home page (#26913)
When a chat is started from the home page, the URL is switched to /c/{id} with
history.replaceState, so the Chat component is never remounted and chatIdProp
stays empty for the lifetime of that view. Both websocket recovery paths,
handleSocketConnect and the chat:active fallback, are gated on chatIdProp and
therefore never run for these chats. After any websocket drop during a response
(mobile backgrounding, VPN or IP change, wake from sleep) the completed response
is never fetched and the chat stays stuck in a loading state until a manual page
refresh. Chats opened directly via /c/{id} recover fine, which is why the bug
only reproduces reliably on freshly started chats.

Gate both recovery paths on the chatId store instead, which is set for every
persisted chat, and let loadChat fall back to it so the recovery reload also
works when chatIdProp is empty. Chats opened via /c/{id} behave exactly as
before and temporary chats stay excluded.

The same gate likely explains the remaining reports in #26315.

Fixes #26844
2026-07-10 13:30:55 -05:00
Classic298
65a5fad7b9 fix: gate allow-same-origin on the terminal file-preview iframe to prevent same-origin XSS (#26907)
The system-terminal HTML file preview (FilePreview.svelte, serveUrl branch) rendered served HTML in an iframe that hardcoded allow-same-origin. The terminal proxy serves the file root-relative (same origin as the app) and injects no CSP, and there is no default global CSP, so script in a previewed HTML file executed in the application's own origin and could read localStorage (the session token), enabling account takeover and, for admin or workspace.functions victims, server-side RCE via Functions. The sibling srcdoc branch already gates allow-same-origin behind the iframeSandboxAllowSameOrigin setting (off by default) and injects a CSP; the serveUrl branch never received that defense. Gate allow-same-origin on the serveUrl branch identically, so by default the preview runs at an opaque origin and its scripts cannot reach the parent context. Legitimate HTML preview rendering is unaffected.

Co-authored-by: manus-use <manus-use@users.noreply.github.com>
2026-07-10 13:30:18 -05:00
Classic298
42f5c3d6f7 Merge pull request #26914 from Classic298/srcdoc-embed-prompt-confirmation
fix: restore prompt confirmation for sandboxed tool result embeds
2026-07-10 13:28:39 -05:00
Timothy Jaeryang Baek
b854389951 refac 2026-07-09 18:46:40 -05:00
Timothy Jaeryang Baek
6e030e892b refac 2026-07-09 18:28:38 -05:00
Timothy Jaeryang Baek
247b866330 refac 2026-07-09 17:44:40 -05:00
Timothy Jaeryang Baek
285379d489 refac 2026-07-09 17:43:13 -05:00
Timothy Jaeryang Baek
5ab012e7ae refac 2026-07-09 17:38:52 -05:00
Timothy Jaeryang Baek
6be9d1e760 refac 2026-07-09 17:37:47 -05:00
Timothy Jaeryang Baek
5e1a337d6e refac 2026-07-09 17:37:43 -05:00
Timothy Jaeryang Baek
31996a5acf refac 2026-07-09 17:37:31 -05:00
Timothy Jaeryang Baek
975f7b868a refac 2026-07-09 17:32:45 -05:00
Timothy Jaeryang Baek
252e6fd855 refac 2026-07-09 17:30:02 -05:00
Timothy Jaeryang Baek
951f96021a refac 2026-07-09 17:29:51 -05:00
Timothy Jaeryang Baek
db802e28d3 refac 2026-07-09 17:29:07 -05:00
Timothy Jaeryang Baek
10724d057a refac 2026-07-02 12:38:22 -05:00
Timothy Jaeryang Baek
90eca2ac25 refac 2026-07-01 03:37:35 -05:00
Timothy Jaeryang Baek
54f31c630a refac 2026-07-01 03:32:12 -05:00
Timothy Jaeryang Baek
52ee5cb1b3 refac 2026-07-01 03:29:44 -05:00
Timothy Jaeryang Baek
c98d8ecacc refac 2026-07-01 03:16:54 -05:00
Timothy Jaeryang Baek
092b5857bb refac 2026-07-01 03:09:26 -05:00
Algorithm5838
0e5540c2b2 fix: derive content from output for search (#26405) 2026-07-01 03:05:47 -05:00
Timothy Jaeryang Baek
4b08d65597 refac 2026-07-01 02:53:22 -05:00
Timothy Jaeryang Baek
0016266c06 refac 2026-07-01 02:49:33 -05:00
Timothy Jaeryang Baek
b6d4baeb7e refac 2026-07-01 02:28:22 -05:00
Timothy Jaeryang Baek
989c6c13f5 refac 2026-07-01 02:26:47 -05:00
Timothy Jaeryang Baek
8fe480250f refac 2026-07-01 02:25:20 -05:00
Aleix Dorca
9ed7af823c Update and fix Catalan translation.json (#26409) 2026-07-01 02:11:24 -05:00
JuanMa Diaz
980786f574 i18n: fix Spanish relative time labels (#26463) 2026-07-01 02:10:37 -05:00
Algorithm5838
a78f0c0302 fix: use absolute indexURL for pyodide sandbox (#26625) 2026-07-01 02:09:19 -05:00
Classic298
2d7fc04bfb fix: use updated_at for sidebar chat timestamp (#26454)
The sidebar time-ago indicator rendered `created_at`, so the relative time stayed pinned to the chat's creation age and never reflected new activity. After sending a message the chat would jump to the top of the list (which sorts by `updated_at`) while still showing a stale label such as "3w", which is confusing.

The indicator was originally added using `updated_at` and was inadvertently switched to `created_at` during a later refactor. Restore `updated_at` (falling back to `created_at` when absent) so the timestamp matches the list ordering and updates whenever a chat is modified.

Fixes #26451
2026-07-01 02:08:56 -05:00
Timothy Jaeryang Baek
2ed8934f5b refac 2026-07-01 02:05:14 -05:00
Timothy Jaeryang Baek
56ee875e21 refac 2026-07-01 01:46:36 -05:00
Timothy Jaeryang Baek
58ef80d8f7 refac 2026-07-01 00:10:23 -05:00
Timothy Jaeryang Baek
af1c0eee89 refac 2026-06-30 20:20:15 -05:00
Timothy Jaeryang Baek
139206f0fe refac 2026-06-30 16:59:02 -05:00
Timothy Jaeryang Baek
6ed56b07c4 refac 2026-06-30 16:55:25 -05:00
Sicknine
1014c212a4 i18n(th-TH): translate missing Thai keys/fix typo (#26406) 2026-06-30 15:18:18 -05:00
Timothy Jaeryang Baek
4067e357b2 refac 2026-06-29 21:31:49 -05:00