Skip to content

[Feature Request] [GOWS] Expose DeviceProps.PlatformType so "Linked devices" can show a clean custom app name #2152

Description

@thomaskmk

Context

Since #1109 (thanks!), WAHA supports WAHA_CLIENT_DEVICE_NAME and WAHA_CLIENT_BROWSER_NAME, which on GOWS feed whatsmeow's store.DeviceProps (Os and PlatformType). This lets self-hosters customize the entry shown in WhatsApp → Linked devices.

Limitation

On GOWS, WAHA_CLIENT_BROWSER_NAME is mapped to DeviceProps.PlatformType through a fixed enum (chrome/firefox/safari/edge/opera/ie → that browser type; any other value → UNKNOWN). As a result, the only reachable outcomes for the Linked-devices entry are:

  • "<Browser> (<DeviceName>)" when a recognized browser is used — e.g. WAHA_CLIENT_BROWSER_NAME=Chrome, WAHA_CLIENT_DEVICE_NAME=MyApp"Google Chrome (MyApp)", or
  • "Other device" (generic "?" icon) when the browser value is unrecognized (UNKNOWN) — and in this case WhatsApp drops the Os/device-name text entirely.

There is no configuration that shows just the app/brand name (e.g. "MyApp") as the primary label. The custom name can only ever appear inside parentheses after a browser name.

Root cause / why this is possible in whatsmeow

The primary label rendered by the phone is driven by DeviceProps.PlatformType. whatsmeow supports values (e.g. DESKTOP) that WhatsApp renders as a single clean label — just the OS/name, with no browser prefix (the same way an official "macOS" / "Windows" desktop entry appears). See whatsmeow discussion #469. GOWS currently never emits these — only the browser enums and UNKNOWN — so this clean rendering is unreachable through WAHA config.

Note: this is not about the pairing-code display name

This is purely about the persistent DeviceProps sent at registration. It does not touch the pairing-code clientDisplayName (hardcoded "Chrome (Linux)" in GOWS), which correctly keeps the pairing-code flow working — so this request does not risk the 400 validation the docs warn about for custom names.

Request

Allow controlling DeviceProps.PlatformType on GOWS, so integrators can show their own brand cleanly in Linked devices. Any of:

  1. A new value for WAHA_CLIENT_BROWSER_NAME (e.g. accept Desktop) that maps to PlatformType=DESKTOP, so WAHA_CLIENT_DEVICE_NAME renders as the sole label; or
  2. A dedicated env var, e.g. WAHA_GOWS_DEVICE_PLATFORM_TYPE; and/or
  3. Per-session support via config.client for GOWS (today it's env-only per the docs).

Use case

Self-hosted integrations that want their product name (not "Firefox (Ubuntu)" or "Other device") shown in the user's Linked-devices list, for trust and clarity.

Environment

  • WAHA Plus, engine GOWS, image waha_plus:gows-2026.5.1
  • Verified: WAHA_CLIENT_BROWSER_NAME=Chrome → "Google Chrome (MyApp)"; an unrecognized value → "Other device" with the device name dropped.
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions