Commit 5a1af8f
committed
fix(files, chat): contain the media work's blast radius
Each of these is a side-effect of a deliberate change reaching further than the
change needed. The features stay; what they touched by accident is put back.
- Config files download again. Resolving unknown extensions through the
canonical MIME table is what makes byte-range serving work, but it also
promoted .env/.log/.conf/.ini/.cfg from "unknown bytes" to text/plain, which
is on the inline allowlist — a shared .env started rendering in the tab
instead of downloading. Those five join FORCE_ATTACHMENT_EXTENSIONS, so the
MIME resolution stays honest and the disposition stays what it was. Verified
these are the only five of the 47 newly-typed extensions that flipped.
- The aggregate per-share ceiling is charged once per read, not once per seek.
It is shared by every visitor to a link, so counting each range request let
one person scrubbing a shared video 429 everyone else. The audit row beside it
already deduped seeks; both now use one `isReadStart` predicate rather than
two copies of the same string test that can drift apart.
- MediaPreview clears a decode failure when the bytes change. It is keyed on
`file.id`, which is stable across content edits, so one transient error wedged
the player until the viewer opened a different file. Adjusted during render,
the same pattern the markdown image node view uses.
- The chat-trigger attachment guard accepts `dataUrl`, the preferred inline
field, not just the legacy `data`. `processChatFiles` reads `dataUrl || data`,
so testing only `data` skipped the upload for every current client and dropped
its attachments silently — the exact failure the guard was added to prevent.
- The navbar sticks below the macOS traffic-light lane instead of the viewport.
Every shell mounting it wears `.desktop-title-bar-page`, which reserves the
lane with padding, but sticky positions against the scroll port — so the bar
slid under the traffic lights on scroll. The variable is 0px off-desktop.
- The wordmark opens in a new tab on the deployed chat and the public file page.
Reusing the landing navbar turned those two from `sim.ai` in a new tab into
same-origin `/` in the same tab, so clicking the logo mid-conversation
navigated away and destroyed it. `/` is the better href — self-hosters get
their own landing — so only the target moves back, behind one `brandInNewTab`
prop for surfaces hosting something the viewer would lose.1 parent 9a96054 commit 5a1af8f
11 files changed
Lines changed: 146 additions & 8 deletions
File tree
- apps/sim
- app
- (interfaces)/chat/components/header
- api
- files
- public/[token]/content
- workflows/[id]/execute
- f/[token]
- components/resources/file-view
- lib/uploads/utils
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
98 | 106 | | |
99 | 107 | | |
100 | 108 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
95 | 105 | | |
96 | 106 | | |
97 | 107 | | |
| |||
102 | 112 | | |
103 | 113 | | |
104 | 114 | | |
| 115 | + | |
105 | 116 | | |
106 | 117 | | |
107 | 118 | | |
| |||
130 | 141 | | |
131 | 142 | | |
132 | 143 | | |
| 144 | + | |
133 | 145 | | |
134 | 146 | | |
135 | 147 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
77 | 82 | | |
78 | | - | |
79 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
80 | 87 | | |
81 | 88 | | |
82 | 89 | | |
| |||
104 | 111 | | |
105 | 112 | | |
106 | 113 | | |
107 | | - | |
| 114 | + | |
108 | 115 | | |
109 | 116 | | |
110 | 117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
490 | 490 | | |
491 | 491 | | |
492 | 492 | | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
493 | 515 | | |
494 | 516 | | |
495 | 517 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
206 | 229 | | |
207 | 230 | | |
208 | 231 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1450 | 1450 | | |
1451 | 1451 | | |
1452 | 1452 | | |
1453 | | - | |
| 1453 | + | |
1454 | 1454 | | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
1455 | 1460 | | |
1456 | 1461 | | |
1457 | 1462 | | |
1458 | 1463 | | |
1459 | 1464 | | |
1460 | | - | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
1461 | 1468 | | |
1462 | 1469 | | |
1463 | 1470 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
475 | 475 | | |
476 | 476 | | |
477 | 477 | | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
478 | 491 | | |
479 | 492 | | |
480 | 493 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
106 | 107 | | |
107 | 108 | | |
108 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
0 commit comments