History: web/mux.js
Ref:
| Hash | Message | Author | Date |
|---|---|---|---|
| 5b6c89ea | refactor: share surface input encoding | a73x | 2026-09-07 |
| 0716f07b | feat: keep native selections anchored as output scrolls | a73x | 2026-09-06 |
| 3c7beb0b | feat: every painter reads the grid, and the two browser clients hold one | a73x | 2026-09-04 |
| 019b1c19 | feat: the browser hub reads the hosts file and polls like the CLI wall | a73x | 2026-08-29 |
| afe28aa1 | docs: the hub's own assets say `mux web` | a73x | 2026-08-28 |
| 907b6627 | refactor: modules live in the folder of what owns them | a73x | 2026-08-28 |
| 597d8a35 | fix: a shell you exited is not brought back by a zoomed tile | a73x | 2026-08-26 |
| b81fd513 | feat: the browser's word for a refused attach is 'refused' | a73x | 2026-08-26 |
| a5c2aba0 | docs: a session muxa can join is one that already exists | a73x | 2026-08-26 |
| 042aad9a | feat(web): theme and font settings, uploaded not baked | a73x | 2026-08-21 |
| d057e034 | refactor: an unzoomed browser tile claims no size, like every other watcher | a73x | 2026-08-20 |
| b687a421 | feat: web wall — drag reorder, new-session-here | a73x | 2026-08-18 |
| f589c333 | feat: web wall management — reconcile by id, add tile, remove tile | a73x | 2026-08-18 |
| d18f2e2d | fix: keep IME focus when a copy control hides itself | a73x | 2026-08-18 |
| 93103d11 | fix: narrow web osc 52 writes to the clipboard target | a73x | 2026-08-18 |
| 3f348dbb | fix: let an explicit copy revoke a queued osc 52 write | a73x | 2026-08-18 |
| 44feadf5 | feat: pin selection replies to a history watermark | a73x | 2026-08-18 |
| 1120988e | fix: revoke expired selection replies | a73x | 2026-08-18 |
| 104de050 | fix: bound web selection lifecycle | a73x | 2026-08-18 |
| 168495eb | fix: harden web selection interaction races | a73x | 2026-08-18 |
| d0c694a2 | feat: copy mouse selections in muxweb | a73x | 2026-08-18 |
| 2a47b293 | fix: erase stale selection pixels on lifecycle resets | a73x | 2026-08-18 |
| c1c27e1f | fix: harden retained web selection state | a73x | 2026-08-18 |
| cfc2e619 | feat: add retained web terminal selection | a73x | 2026-08-18 |
| 4c1110f1 | fix: serialize web clipboard writes | a73x | 2026-08-18 |
| c719ac17 | feat: handle osc 52 in muxweb | a73x | 2026-08-18 |
| a38eb053 | feat: make web paste respect terminal mode | a73x | 2026-08-18 |
| f5ffc31d | feat(web): TARGET#NAME names a tile's session; the browser appends it at attach | a73x | 2026-08-15 |
| 6468febb | fix(web): re-review nits — the zoom gate learns about ws, both engines drain | a73x | 2026-08-13 |
| e30c010e | fix(web): the badge stops being the state machine's memory | a73x | 2026-08-13 |
| 7c2b4725 | docs: M17 close-out record; a recovered tile clears its stuck badge | a73x | 2026-08-13 |
| 002d1f76 | fix(web): headFrame overflowed on a wire-declared length; bound the replay retries | a73x | 2026-08-13 |
| 14cef649 | fix(web): the page never ran; unzoom was unreachable; a paste wrapped every chunk | a73x | 2026-08-13 |
| 7a57ef8c | feat: web shell — canvas wall, 1x1 passive tiles, zoomed input/IME/scrollback | a73x | 2026-08-13 |
| a52200c3 | feat: webhub — origin gate, route table, ws endpoint naming | a73x | 2026-08-13 |