# Known issues and open questions Things that are known not to work, haven't been verified, or were tried and dropped. Planned features are in the [features/](features/) folder; limits of the approach (DRM, WebXR permissions, Firefox) are in [ARCHITECTURE.md](../ARCHITECTURE.md#known-limits). ## Not verified yet - **Signed-in Home feeds** other than the main one, History, Playlists, Watch later and Liked videos (those were verified in 0.35) (`youtube-home.js`). - **Live chat typing (0.81.0)**: sending a message was checked from the console (text only); in the headset, check typing, Send / Enter, a channel emoji in a message (sent by its id, as YouTube's client does), and a chat you can't type in (YouTube's reason should show instead of the field: that shape wasn't seen yet). - **Live chat (0.79.0)**: written from probes of real chats (text messages, the welcome notice, emojis, banners) and, for what didn't show up during the probes, from the shapes YouTube is known to send: **Super Chats, Super Stickers, memberships and gifted memberships, the owner / moderator / member badges, deletions, pinned messages** (`youtube-chat.js`). Check them on a busy stream. (The README's "How you can help" asks users to report them.) - **Chat replays (0.87.0)**: work in the headset (plays along, pauses, seeks). Untried: an ad during a replay (its time could count as a seek and reload the chat). With YouTube's chat hidden the replay is still found (probe 11); if its chat frame were ever missing, there's no pop-out replay page to fall back on (HTTP 400), so it would end in "Couldn't load the chat". ## Known quirks - **Captions on 180°/360° need improvement** (the maintainer, 0.77.1: "good enough for now"): they sit 22° below the horizon and glide after your view once you look 25° aside (`captions-overlay.js` `headAnchor`, `SETTINGS`). Ideas to try: a placement setting (height, distance, size), following on a slower curve or only after a pause, pinning them to the video's front like the pause symbol, a fade while they move. - **No controller vibration** (0.73.1): Chrome gives the Steam Frame's controllers no vibration API (docs/hardware.md), so the Vibration switch is greyed out with a note. - **Glass popups blur only the video** (seen by the maintainer in 0.67.2): the glass reads the video's own picture (the renderer's `backdrop()`, `panel-pass.js`), so a floating menu, the dialog or the search suggestions show the blurred video even where they stand in front of the controls panel or a side panel, not the buttons and panels behind them. Possible fix, put off by the maintainer: while a popup or dialog is open, copy the finished view (each eye, after everything else is drawn) into a texture with mipmaps and let the popup's glass blur that instead (`blitFramebuffer` from the layer's framebuffer, which may be multisampled; check the browser allows it). Costs a full-view copy and blur each frame, only while a popup is open. - A channel's **Featured** tab is missing for channels you subscribe to unless the creator set a "featured video for returning subscribers". That's YouTube's behaviour. - The Channel header's subscribed state can be wrong for a channel whose Home tab features other channels; it's only used when the watch page doesn't say. - Text matching assumes **English** YouTube: some readers recognise YouTube's own words (the "All" chip, "Joined", an ad's "1 of 2", the Jump ahead pill). This is about what YouTube writes; StreamXR's own words follow the interface language (Settings → Language). - Replies to replies (YouTube's newer nested comment threads) aren't shown; one level is. ## Tried and dropped - **A sphere distance for 180° / 360°** (like the cinema screen's Distance slider): spheres are drawn "at infinity" (rotation only), and in 180° it glitched instead of moving. - **Detecting VR180 by the frame's shape**: VR180 streams are often 16:9 below 2160p; the player's VR180 flag is used instead. - **Clicking YouTube's Skip ad button from a script**: YouTube ignores anything but a real click, hence the separate Skip Helper extension.