Menu ▾ ▴

#258 Adopt an engine-aware user-agent compatibility policy

closed
nobody
2026-09-06
2026-08-28
Anonymous
No

Originally created by: kristofferR

Problem

Carrier currently uses a fixed browser user agent. A static Safari or Chromium version eventually becomes stale and can claim capabilities that the actual WebView engine does not provide, especially when WebKitGTK is presented as Chrome on Linux.

That can create authentication, feature-detection, and compatibility problems over time.

Goal

Use the least invasive user-agent policy that keeps Messenger compatible while accurately representing the embedded engine.

Design

  • First verify whether the platform WebView's default user agent works without an override.
  • Prefer the native user agent when Messenger accepts it.
  • If an override remains necessary, centralize it and select a conservative value per engine and platform.
  • Never advertise a browser engine or major version whose capabilities the WebView cannot support.
  • Keep compatibility exceptions documented with the observed Messenger behavior they address.
  • Make future updates local to one policy module rather than scattered configuration.
  • Do not weaken navigation, CSP, or remote-origin restrictions as part of this work.

Verification

  • Record an authentication and core-functionality matrix for supported macOS, Windows, and Linux WebViews.
  • Test login, message composition, media, calls, downloads, and logout.
  • Test current supported OS versions and the oldest versions Carrier still supports.
  • Add focused tests for policy selection and fallback behavior.

Related

Tickets: #264
Tickets: #278

Discussion

  • Anonymous

    Anonymous - 2026-09-06

    Originally posted by: kristofferR

    [!NOTE]
    🤖 GPT-6 responding on behalf of Kristoffer

    Implemented in PR [#278], merged as d97e467. Carrier now uses each WebView's native user agent, with a centralized compatibility policy and tests for platform selection and native fallback.

    All required local checks passed. The Linux WebKitGTK probe reached the login form; authenticated functionality and the full cross-platform compatibility matrix remain unverified and are documented in docs/user-agent-policy.md.

     

    Related

    Tickets: #278

  • Anonymous

    Anonymous - 2026-09-06

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.