Skip to content

Fix set #1016

Open
Open
Fix set#1016
@o0101

Description

Ready these to be pushed to public from upstream for M10:

  • Pre-existing tabs (from last session restore) will often not have install set up properly. They should, why don't they? This is most noticeable on mobile.

  • pre-existing tabs last opened on one form factor, then remoted from another form factor may not always update properly. likely we need to call size all targets to viewport on the new tab set and perhaps are not doing so. it may not being triggered as not "viewport change" has occurred perhaps? Possibly. Perhaps at startup there is not "last viewport" to compare to, so checks are skipped, and we don't resize the tabs, as we should.

  • Add a timeout to WebRTC connection establishment:

    • Purpose: Surrender microphone permissions after the timeout expires.
    • Reason: WebRTC connections don't always establish, such as when certain VPNs are in use, so falling back to WebSocket should be the default behavior.
  • Correct the starting page on browser restart:

    • Issue: Occasionally, the browser starts on the wrong page if there were no open tabs during the last shutdown.
    • Requirement: The starting page should not default to Chrome's new tab page (as it doesn’t render properly on mobile). Instead, it should load the designated starting page set in the configuration.
  • Touch action none may be fucking with Horizontal scrolling on mobile devices. What if we move touch action none to body container rather than canvas? Or seek other mitigations for touch overscroll navigation? Experiment.

  • During tab set up, the page may be loading to an eventual URL, so we should not reload the tab, as part of set up, until this load has completed (or at least until the navigation has arrived at the eventual URL even if all assets not loaded). This way, a load, earlier in the process, will not foreshorten the URL navigation and halt the page at an address short of its intended destination. This is fine for a tabs loading process to include our own installation process. Checking for in process frame level loads (top frame) during set up and cancel any queued reloads while such navigations are in flow?

  • Sync active. This appears to be happening commonly whenever a tab opens (such as off a search results page), it is not activated on the local client but it seems to be on the remote, so you have to click a tab to activate again. Likely intersection between active tab, screen cast, and remote and local not in sync regarding those. Occasionally it's possible for the active tab to be updated by the remote but we don't reflect that in the local which makes it look like the local tab freezes, whereas actually a backgrounded other tab is active. And needs to be clicked to, to re-activate it. Iterate a fix by testing on the repro case.

  • Iframe full scope. Even tho we are injecting into the iframe and correctly have the isolated world with functions set up, somehow things like getElementInfo are not working inside there. Figure out why, and fix it.

  • After opening external app (protocol link) the source tab will sometimes appear to lock up. Unsure why, could be related to intercepted navigation requests, or shifted activation or stopped cast. But whatever reason, we should ensure it's fixed.

  • Ensure current chrome download and install works. Some possible breaks from recent changes.

  • Align CT theme color with BB splash background color and theme color.

  • Ensure <img> onerror handler zeroes alt text but sets title, as otherwise favicon alt overlaps title of tab.

  • Audio pathway startup time has issues. Initial pa started in script seems to fail requiring recreation on client connect creating a 10 second initial delay, reducing to channel latency on subsequent reconnect.

  • Some extensions are misbehaving - not starting when their dropdown list item is clicked, for example "2048". This is a regression. If 2048 has changed, we should support the old and the new behavior to increase the compatibility window.

  • Clicking is restarting audio. We need to gate this to not restart it otherwise audio incurs distortion on occasion. Reliable way to detect audio is operational would go a long way to fix this.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions