Compatibility

A realistic view of what works well, what is limited by browser rules, and where the extension model draws a clear line.
Product model Safe tab control RTO_helpers guidance

Supported pages

  • Normal http:// and https:// pages in a regular browser tab.
  • Hosts that are on the allow-list (this is the main safety boundary).
  • Top-frame only: the admin-page bridge runs only in the tab’s top frame. Iframes may exist, but RTO will not operate inside them.
  • The site docs/examples work with individual helpers, helper packs, or the bundled RTO.min.js file.
Top-frame only (important)
RTO intentionally ignores messages from iframes (including embedded login widgets and some CAPTCHAs). If the element you want is inside an iframe, the command won’t reach it.

Common unsupported pages

  • Browser internal pages: chrome://, edge://, about:, moz-extension://, settings pages, extension pages, etc.
  • Store pages that block extension scripts (ex: Chrome Web Store, some addon galleries).
  • Special schemes / sandboxed contexts: file:// is not opened or controlled as a target by RTO Original. A local file may only be a user-opened controller/master page in advanced local workflows. view-source: and many data:/blob: contexts remain browser-restricted.
  • Tabs where the extension cannot run (example: Incognito without permission, restricted profiles, enterprise policy blocks).
Typical symptoms and what they mean
  • DOMAIN_NOT_ALLOWED: host not in allow-list.
  • NO_CONTROLLED_TAB: no tab is currently adopted/controlled for that tabKey.
  • PROTECTED_ELEMENT: RTO blocks touching its own UI / protected nodes.
  • BACKGROUND_NO_RESPONSE or repeated timeouts: extension reload, Chrome MV3 service worker wake-up, or the tab is not injectable/eligible.
Browser packaging note: RTO v8.5.0 uses a persistent Firefox background for fast startup and Chrome MV3 packaging for Chromium browsers. On Chrome, service worker wake-up can make the first request slower. Use reasonable timeoutMs and retry patterns.

SPAs & dynamic pages

Single Page Apps often change content without a full navigation. Recommended patterns:

  • Always waitForSelector before interacting (click/setValue/getText).
  • Increase timeoutMs on slow sites and after logins.
  • Prefer stable selectors: [data-test], [data-testid], fixed IDs, or semantic anchors.
  • Expect “URL changed but DOM not ready” moments; treat navigation and readiness as separate steps.

Next