1 Commits
Author SHA1 Message Date
Fauxx 3a0c1f0d13 Release v0.88.1: live chat, chat replays, movable side panels (#3)
## What and why

Release **v0.88.1** (`develop` → `main`). No issue: this is the
maintainer's release merge, not an outside contribution.

It brings everything since v0.78.9: 
- **live chat** (reading, reactions, typing with emoji pages, Top fans)
- **chat replays**
- **movable side panels**
- **hide everything with one trigger pull**
- **Auto-hide while paused**. 
It also adds Quality menu icons, clearer controller icons, and fixes.
The full list is in `CHANGELOG.md` (0.78.10 to 0.88.1) and the README's
"What's new".

## How

- Live chat: `src/sites/youtube/page/youtube-chat.js` (YouTube's chat
requests) and the panel controller
`src/sites/youtube/page/provider/live-chat.js`, drawn by the new shell
style `src/core/page/vr-panel/styles/chat.js`. The shell only got
generic registry options (`available`, `autoOpen`, `stays`), no
chat-specific fields.
- Movable side panels, and recentering that keeps your moves:
`vr-panel.js`, `orbiters-ui.js` and `math3d.js` (`invertRigid`), with
the "Recenter resets panels" switch in `safe-zone-options.js`.
- Trigger-to-hide and "Auto-hide while paused" (suggested by
u/TehSuperFruitSnack): `vr-panel.js`, `fade-options.js`.
- Docs: the README (What's new, a help-test list for the live chat, the
Meta Quest 2 reported working by u/TehSuperFruitSnack),
`docs/youtube.md` (Live chat findings), `design-choices.md`,
`whats-left.md`, `known-issues.md`, `hardware.md`.
- The automatic summary flags `styles/info.js` for naming YouTube: those
are two comments in the Top fans part, not code.

## Tested on

- Headset and controllers: Valve Steam Frame with its controllers
- VR runtime / connection: SteamVR, streamed with "Stream VR without
game"
- Browser and version: Google Chrome 155.0.8059.82 (Official Build)
(64-bit) (cohort: Control)
- Signed in to YouTube: yes
- What I tried in VR: each version from 0.79.0 to 0.88.1 as it was
built. Live chat on live streams (reading, reactions, typing, Top fans,
retry while loading), chat replays (plays along, pause, seek), moving
both sides and recentering (with and without "Recenter resets panels"),
trigger-to-hide playing and paused, Auto-hide while paused on and off.

## Checklist

What the automatic summary and the Checks can't see:

- [x] There's an agreed issue for this, and this PR does only that one
thing. *(Release merge by the maintainer; no issue.)*
- [x] I understand every line of this change and can explain it in
review.
- [x] I tested it in a real VR session on the hardware listed above.
- [x] YouTube access stays in `src/sites/youtube/page/youtube-*.js`;
tunables are in the config files.
- [x] Every new file and function has its comment, and comments I
touched match the code.
- [x] New files are in `manifest.json` in the right **order** (the
summary only checks they're listed).
- [x] No new permissions, or they were agreed in the issue.

<!-- pr-summary:start -->
## Automatic summary

<!-- Filled in by .github/workflows/pr-summary.yml on every push; edits
here are replaced. -->

**FauxxYT** wants to merge `FauxxYT:develop` into `main`: 9 commits, 36
files (+2084 −171).

- ⚠️ No linked issue: add `Closes #<issue>` under "What and why" (an
agreed issue is required).
- ✅ Version: 0.78.9 → 0.88.1
- ✅ `CHANGELOG.md` updated
- ✅ Every source file is listed in `manifest.json`
- ✅ `ARCHITECTURE.md` updated
- ⚠️ The shell should name no site, but added lines mention YouTube in:
`src/core/page/vr-panel/styles/info.js` (fine in comments giving an
example; otherwise move it to the provider).

#### Commits (9)

| Commit | Message | Author |
|---|---|---|
|
[`5dfddfb`](https://github.com/FauxxYT/StreamXR/commit/5dfddfb746e15b862181305495944d8ad162c598)
| Minor change to `CHANGELOG.md` | @FauxxYT |
|
[`b49b3c7`](https://github.com/FauxxYT/StreamXR/commit/b49b3c79b34b8370c9761e2f219883dd65a30aa8)
| Start preparing for Live Chat integration and add icons to each popup
menu item in the Resolution popup | @FauxxYT |
|
[`dec401c`](https://github.com/FauxxYT/StreamXR/commit/dec401c2be0766ae31027756b8a3803748b66182)
| Create Live Chat panel on the right Toolbar. See Top Chat and Live
Chat | @FauxxYT |
|
[`e93b1a9`](https://github.com/FauxxYT/StreamXR/commit/e93b1a9a627dbe37e8679ed096f1326f7613b050)
| Update Design Choices document and add support for reactions in live
chat | @FauxxYT |
|
[`80934fc`](https://github.com/FauxxYT/StreamXR/commit/80934fcab4bc3eda0fcbf7754a829e859bcaef45)
| Added typing in Chat | @FauxxYT |
|
[`200a864`](https://github.com/FauxxYT/StreamXR/commit/200a8644c60952bee4fd3cc777ea781786a666a4)
| Add support for Live Chat Replays | @FauxxYT |
|
[`3b0d26d`](https://github.com/FauxxYT/StreamXR/commit/3b0d26d0823d1ab1fbc85e1598cebf46fe94d773)
| Hide/Show panels when clicking on empty space and added "Auto-Hide
While Paused" setting to enable auto-hide while paused | @FauxxYT |
|
[`8f5815d`](https://github.com/FauxxYT/StreamXR/commit/8f5815dc1a8ff5fbad3c1e7962b9ba0d0d666065)
| Update docs and give proper credit | @FauxxYT |
|
[`605972d`](https://github.com/FauxxYT/StreamXR/commit/605972dfc455943da9b598682a3d8a4d6d9046af)
| Feature 1 live chat (#2) | @FauxxYT |

<details><summary>Files changed (36)</summary>

- ✏️ `AGENTS.md` +5 −5
- ✏️ `ARCHITECTURE.md` +25 −9
- ✏️ `CHANGELOG.md` +183 −6
- ✏️ `README.md` +56 −9
- ✏️ `docs/Spatial-Layout.md` +4 −2
- ✏️ `docs/design-choices.md` +55 −2
- ✏️ `docs/features/video-page.md` +37 −10
- ✏️ `docs/hardware.md` +7 −0
- ✏️ `docs/known-issues.md` +13 −0
- ✏️ `docs/whats-left.md` +7 −2
- ✏️ `docs/youtube.md` +116 −0
- ✏️ `manifest.json` +4 −1
- ✏️ `src/core/page/controllers/icons.js` +3 −1
- ✏️ `src/core/page/math3d.js` +14 −1
- ✏️ `src/core/page/vr-panel/fade-options.js` +15 −6
- ✏️ `src/core/page/vr-panel/keyboard.js` +62 −11
- ✏️ `src/core/page/vr-panel/orbiters-ui.js` +57 −14
- ✏️ `src/core/page/vr-panel/panel-ui.js` +2 −1
- ✏️ `src/core/page/vr-panel/popups-ui.js` +33 −15
- ✏️ `src/core/page/vr-panel/safe-zone-options.js` +15 −5
- 🆕 `src/core/page/vr-panel/styles/chat.js` +226 −0
- ✏️ `src/core/page/vr-panel/styles/info.js` +175 −4
- ✏️ `src/core/page/vr-panel/styles/kit.js` +6 −4
- ✏️ `src/core/page/vr-panel/symbols.js` +9 −0
- ✏️ `src/core/page/vr-panel/vr-panel.js` +162 −55
- ✏️ `src/core/shared/strings-en.js` +4 −0
- ✏️ `src/core/shared/strings-es.js` +4 −0
- ✏️ `src/core/ui/shared/strings-en.js` +4 −0
- ✏️ `src/core/ui/shared/strings-es.js` +4 −0
- 🆕 `src/sites/youtube/page/provider/live-chat.js` +370 −0
- ✏️ `src/sites/youtube/page/provider/panels.js` +10 −3
- ✏️ `src/sites/youtube/page/provider/provider.js` +12 −5
- ✏️ `src/sites/youtube/page/provider/strings-en.js` +22 −0
- ✏️ `src/sites/youtube/page/provider/strings-es.js` +22 −0
- 🆕 `src/sites/youtube/page/youtube-chat.js` +340 −0
- ✏️ `src/streamxr/page/xr-session.js` +1 −0

</details>
<!-- pr-summary:end -->
2026-10-17 09:14:24 -07:00

Diff Content Not Available