Skip to content

[Bug]: MX Master 2S (Unifying Receiver) drops connection and shows as "Offline" #293

Description

@rickydebojeet

Pre-flight checklist

  • I searched existing issues and this is not a duplicate.
  • I am on the latest release or a recent master build.
  • I quit Logi Options+ before running OpenLogi (the two apps fight over HID++ access and only one can own a receiver at a time).

Which part of OpenLogi?

GUI (desktop app)

OpenLogi version

0.6.14

Operating system

macOS

OS version & architecture

macOS 27 (Golden Gate DB1, M1)

Device model

MX Master 2s + Unifying receiver

How is the device connected?

Other / not sure

Affected area(s)

  • Device discovery / detection
  • Button remapping
  • DPI control
  • SmartShift
  • Per-application profiles
  • Battery status
  • Settings / configuration (TOML)
  • Auto-update
  • Menu bar / tray
  • Other

What happened?

I have been using OpenLogi without any issues since Unifying support was initially added. However, after updating to the latest release (v0.6.14), my MX Master 2S is no longer being detected properly and is displayed as "Offline" in the GUI.

If I try to add a new device then the device gets paired works for a couple of seconds and then goes offline.

I tried killing the agent and checked that the latest agent was working. The latest updates broke something I don't know what.

Steps to reproduce

  1. Open OpenLogi and observe the status of the MX Master 2S (shows as "Offline")
  2. Attempt to add/pair the device as a new Unifying device.
  3. The device pairs successfully and works normally for a few seconds.
  4. After a few seconds, the device stops responding and reverts to "Offline" in the GUI.

Diagnostics report

- OpenLogi (GUI): v0.6.14 (release)
- Agent: v0.6.14 (connected)
- IPC protocol: GUI 3 / agent 3
- Inventory: ready
- OS: macOS 27.0 (arm64)
- Locale: en-IN (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 2 · 1 configured device(s) · thumbwheel 14

**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: ~/.local/share/openlogi/assets · Bundle assets: absent

**Devices (1)**
- MX Master 2S — mouse
  - Connection: unknown · Online: no · Battery: n/a
  - Capabilities: buttons=yes, pointer=yes, lighting=no
  - Model: 3b019
  - Render: ⚠️ none (silhouette) · Slot 0

**Receivers (1)**
- Unifying Receiver (VID 046d / PID c52b)

openlogi list output

opnlogi was not installed via homebrew

Logs

2026-06-20T09:24:48.885464Z DEBUG openlogi_core::single_instance: single-instance lock acquired path=/Users/ricky/.config/openlogi/openlogi.lock
2026-06-20T09:24:48.895870Z  INFO openlogi_gui::ipc_client: agent not running — launched it path=/Applications/OpenLogi.app/Contents/Library/LoginItems/OpenLogiAgent.app/Contents/MacOS/openlogi-agent
2026-06-20T09:24:49.145519Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.145187167Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.146420Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.145187167Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.146473Z DEBUG openlogi_gui::ipc_client: connected to agent IPC socket
2026-06-20T09:24:49.146501Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.146483125Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.146855Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.146483125Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.146979Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.146969792Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.147149Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.146969792Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.150796Z DEBUG ureq_proto::client: Call<Prepare>
2026-06-20T09:24:49.150844Z DEBUG ureq::run: GET https://updates.openlogi.org/******
2026-06-20T09:24:49.152129Z DEBUG openlogi_gui::asset::paths: asset index loaded devices=210 root=/Users/ricky/.local/share/openlogi/assets
2026-06-20T09:24:49.179417Z DEBUG ureq::unversioned::resolver: Resolved: ArrayVec { len: 4, arr: [172.66.40.91:443, 172.66.43.165:443, [2606:4700:3108::ac42:285b]:443, [2606:4700:3108::ac42:2ba5]:443] }
2026-06-20T09:24:49.197221Z DEBUG ureq::unversioned::transport::tcp: Connected TcpStream to 172.66.40.91:443
2026-06-20T09:24:49.197676Z DEBUG rustls::client::hs: No cached session for DnsName("updates.openlogi.org")
2026-06-20T09:24:49.197685Z DEBUG rustls::client::hs: Not resuming any session
2026-06-20T09:24:49.198192Z DEBUG ureq::tls::rustls: Wrapped TLS
2026-06-20T09:24:49.198202Z DEBUG ureq_proto::client: Call<SendRequest>
2026-06-20T09:24:49.198208Z DEBUG ureq::run: Request { method: GET, uri: https://updates.openlogi.org/******, version: HTTP/1.1, headers: {"accept": "*/*", "host": "updates.openlogi.org", "user-agent": "gpui-updater/0.0.5"} }
2026-06-20T09:24:49.212371Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384
2026-06-20T09:24:49.212473Z DEBUG rustls::client::tls13: Not resuming
2026-06-20T09:24:49.212628Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: ServerExtensions { server_name_ack: (), unknown_extensions: {}, .. }
2026-06-20T09:24:49.212652Z DEBUG rustls::client::hs: ALPN protocol is None
2026-06-20T09:24:49.214290Z DEBUG ureq_proto::client: Call<RecvResponse>
2026-06-20T09:24:49.242693Z DEBUG openlogi_gui::asset::paths: asset index loaded devices=210 root=/Users/ricky/.local/share/openlogi/assets
2026-06-20T09:24:49.242714Z  INFO openlogi_gui::app: initial device selected device_key=3b019 display=MX Master 2S
2026-06-20T09:24:49.260108Z DEBUG openlogi_gui::asset::paths: asset index loaded devices=210 root=/Users/ricky/.local/share/openlogi/assets
2026-06-20T09:24:49.260268Z DEBUG openlogi_assets::http: fetching index.json url=https://assets.openlogi.org/index.json
2026-06-20T09:24:49.260312Z DEBUG ureq_proto::client: Call<Prepare>
2026-06-20T09:24:49.260319Z DEBUG ureq::run: GET https://assets.openlogi.org/******
2026-06-20T09:24:49.280171Z DEBUG ureq::unversioned::resolver: Resolved: ArrayVec { len: 4, arr: [172.66.40.91:443, 172.66.43.165:443, [2606:4700:3108::ac42:2ba5]:443, [2606:4700:3108::ac42:285b]:443] }
2026-06-20T09:24:49.291984Z DEBUG ureq::unversioned::transport::tcp: Connected TcpStream to 172.66.40.91:443
2026-06-20T09:24:49.292020Z DEBUG rustls::client::hs: No cached session for DnsName("assets.openlogi.org")
2026-06-20T09:24:49.292025Z DEBUG rustls::client::hs: Not resuming any session
2026-06-20T09:24:49.292073Z DEBUG ureq::tls::rustls: Wrapped TLS
2026-06-20T09:24:49.292081Z DEBUG ureq_proto::client: Call<SendRequest>
2026-06-20T09:24:49.292089Z DEBUG ureq::run: Request { method: GET, uri: https://assets.openlogi.org/******, version: HTTP/1.1, headers: {"user-agent": "openlogi-assets/0.6.14 (+https://github.com/AprilNEA/OpenLogi)", "accept": "*/*", "host": "assets.openlogi.org"} }
2026-06-20T09:24:49.305809Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384
2026-06-20T09:24:49.305835Z DEBUG rustls::client::tls13: Not resuming
2026-06-20T09:24:49.305899Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: ServerExtensions { server_name_ack: (), unknown_extensions: {}, .. }
2026-06-20T09:24:49.305906Z DEBUG rustls::client::hs: ALPN protocol is None
2026-06-20T09:24:49.307326Z DEBUG ureq_proto::client: Call<RecvResponse>
2026-06-20T09:24:49.373013Z DEBUG ureq_proto::client: Call<RecvBody>
2026-06-20T09:24:49.373037Z DEBUG ureq::run: Response { status: 200, version: HTTP/1.1, headers: {"date": "Sat, 20 Jun 2026 09:24:49 GMT", "content-type": "application/json", "content-length": "652316", "connection": "keep-alive", "server": "cloudflare", "<NOTICE>": "11 HEADERS ARE REDACTED"} }
2026-06-20T09:24:49.395247Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.395225542Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.395477Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.395225542Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.395523Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.395515625Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.395623Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.395515625Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.415949Z DEBUG ureq_proto::client: Call<Cleanup>
2026-06-20T09:24:49.415977Z DEBUG ureq::pool: Return to pool: PoolKey { scheme: "https", authority: assets.openlogi.org, proxy: None }
2026-06-20T09:24:49.417717Z DEBUG openlogi_gui::asset::sync: sync: no matching depots for connected devices
2026-06-20T09:24:49.419058Z DEBUG openlogi_gui::asset::paths: asset index loaded devices=210 root=/Users/ricky/.local/share/openlogi/assets
2026-06-20T09:24:49.546960Z DEBUG ureq_proto::client: Call<RecvBody>
2026-06-20T09:24:49.546981Z DEBUG ureq::run: Response { status: 200, version: HTTP/1.1, headers: {"date": "Sat, 20 Jun 2026 09:24:49 GMT", "content-type": "application/json", "content-length": "1352", "connection": "keep-alive", "server": "cloudflare", "<NOTICE>": "8 HEADERS ARE REDACTED"} }
2026-06-20T09:24:49.547068Z DEBUG ureq_proto::client: Call<Cleanup>
2026-06-20T09:24:49.547080Z DEBUG ureq::pool: Pool gone: PoolKey { scheme: "https", authority: updates.openlogi.org, proxy: None }
2026-06-20T09:24:49.645712Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.645693250Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.645934Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.645693250Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.645965Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.645959750Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.646053Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.645959750Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.895337Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.895219000Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.895385Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.895321542Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.895558Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.895219000Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.895615Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.895321542Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:49.895633Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.895596375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.895653Z DEBUG openlogi_gui::ipc_client: connected to agent IPC socket
2026-06-20T09:24:49.895670Z  INFO RPC{rpc.deadline=2026-06-20T09:25:14.895661583Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:49.895780Z  INFO RPC{rpc.deadline=2026-06-20T09:24:59.895596375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:50.145951Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.145887333Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:50.146386Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.145887333Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:50.146476Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.146456250Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:50.146679Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.146456250Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:50.395861Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.395822583Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:50.396138Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.395822583Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:50.396196Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.396185625Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:50.396388Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.396185625Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:50.644752Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.644700167Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:50.645000Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.644700167Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:50.645047Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.645038541Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:50.645143Z  INFO RPC{rpc.deadline=2026-06-20T09:25:00.645038541Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:52.647598Z  INFO RPC{rpc.deadline=2026-06-20T09:25:02.647551791Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:52.647864Z  INFO RPC{rpc.deadline=2026-06-20T09:25:02.647551791Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:52.647916Z  INFO RPC{rpc.deadline=2026-06-20T09:25:02.647906667Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:52.648026Z  INFO RPC{rpc.deadline=2026-06-20T09:25:02.647906667Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:54.647656Z  INFO RPC{rpc.deadline=2026-06-20T09:25:04.647614625Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:54.647932Z  INFO RPC{rpc.deadline=2026-06-20T09:25:04.647614625Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:54.648017Z  INFO RPC{rpc.deadline=2026-06-20T09:25:04.648004375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:54.648192Z  INFO RPC{rpc.deadline=2026-06-20T09:25:04.648004375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:56.647303Z  INFO RPC{rpc.deadline=2026-06-20T09:25:06.647259625Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:56.647576Z  INFO RPC{rpc.deadline=2026-06-20T09:25:06.647259625Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:56.647626Z  INFO RPC{rpc.deadline=2026-06-20T09:25:06.647617542Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:56.647732Z  INFO RPC{rpc.deadline=2026-06-20T09:25:06.647617542Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:58.646761Z  INFO RPC{rpc.deadline=2026-06-20T09:25:08.646708375Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:58.647050Z  INFO RPC{rpc.deadline=2026-06-20T09:25:08.646708375Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:58.647104Z  INFO RPC{rpc.deadline=2026-06-20T09:25:08.647092541Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:58.647215Z  INFO RPC{rpc.deadline=2026-06-20T09:25:08.647092541Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:58.787363Z  INFO RPC{rpc.deadline=2026-06-20T09:25:08.787312167Z otel.kind="client" otel.name=Agent.start_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:58.787741Z  INFO RPC{rpc.deadline=2026-06-20T09:25:08.787312167Z otel.kind="client" otel.name=Agent.start_pairing rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:58.797947Z  INFO RPC{rpc.deadline=2026-06-20T09:25:14.895661583Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:58.798023Z  INFO RPC{rpc.deadline=2026-06-20T09:25:23.798005667Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:24:59.534041Z  INFO RPC{rpc.deadline=2026-06-20T09:25:23.798005667Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:24:59.534148Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.534115209Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:00.647048Z  INFO RPC{rpc.deadline=2026-06-20T09:25:10.647009750Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:00.647287Z  INFO RPC{rpc.deadline=2026-06-20T09:25:10.647009750Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:00.647339Z  INFO RPC{rpc.deadline=2026-06-20T09:25:10.647328666Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:00.647445Z  INFO RPC{rpc.deadline=2026-06-20T09:25:10.647328666Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:02.646589Z  INFO RPC{rpc.deadline=2026-06-20T09:25:12.646523667Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:02.646835Z  INFO RPC{rpc.deadline=2026-06-20T09:25:12.646523667Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:02.646886Z  INFO RPC{rpc.deadline=2026-06-20T09:25:12.646876667Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:02.646987Z  INFO RPC{rpc.deadline=2026-06-20T09:25:12.646876667Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:02.647188Z DEBUG openlogi_gui::asset: asset matched via bolt-pid suffix fallback depot="mx_master_2s"
2026-06-20T09:25:02.647233Z DEBUG openlogi_assets::http: fetching index.json url=https://assets.openlogi.org/index.json
2026-06-20T09:25:02.647264Z DEBUG ureq_proto::client: Call<Prepare>
2026-06-20T09:25:02.647275Z DEBUG ureq::run: GET https://assets.openlogi.org/******
2026-06-20T09:25:02.649287Z DEBUG ureq::unversioned::resolver: Resolved: ArrayVec { len: 4, arr: [172.66.40.91:443, 172.66.43.165:443, [2606:4700:3108::ac42:2ba5]:443, [2606:4700:3108::ac42:285b]:443] }
2026-06-20T09:25:02.649287Z DEBUG openlogi_gui::asset: asset hit depot="mx_master_2s" root=/Users/ricky/.local/share/openlogi/assets image=side_ext_3.png ext=3 png_width=1306 png_height=2000
2026-06-20T09:25:02.649375Z DEBUG openlogi_gui::state: inventory refreshed count=1 connected_keys=["3b019"]
2026-06-20T09:25:02.664472Z DEBUG ureq::unversioned::transport::tcp: Connected TcpStream to 172.66.40.91:443
2026-06-20T09:25:02.664832Z DEBUG rustls::client::hs: No cached session for DnsName("assets.openlogi.org")
2026-06-20T09:25:02.664847Z DEBUG rustls::client::hs: Not resuming any session
2026-06-20T09:25:02.664926Z DEBUG ureq::tls::rustls: Wrapped TLS
2026-06-20T09:25:02.664937Z DEBUG ureq_proto::client: Call<SendRequest>
2026-06-20T09:25:02.664949Z DEBUG ureq::run: Request { method: GET, uri: https://assets.openlogi.org/******, version: HTTP/1.1, headers: {"user-agent": "openlogi-assets/0.6.14 (+https://github.com/AprilNEA/OpenLogi)", "accept": "*/*", "host": "assets.openlogi.org"} }
2026-06-20T09:25:02.678496Z DEBUG rustls::client::hs: Using ciphersuite TLS13_AES_256_GCM_SHA384
2026-06-20T09:25:02.678543Z DEBUG rustls::client::tls13: Not resuming
2026-06-20T09:25:02.678682Z DEBUG rustls::client::tls13: TLS1.3 encrypted extensions: ServerExtensions { server_name_ack: (), unknown_extensions: {}, .. }
2026-06-20T09:25:02.678699Z DEBUG rustls::client::hs: ALPN protocol is None
2026-06-20T09:25:02.680807Z DEBUG ureq_proto::client: Call<RecvResponse>
2026-06-20T09:25:02.723895Z DEBUG ureq_proto::client: Call<RecvBody>
2026-06-20T09:25:02.723936Z DEBUG ureq::run: Response { status: 200, version: HTTP/1.1, headers: {"date": "Sat, 20 Jun 2026 09:25:02 GMT", "content-type": "application/json", "content-length": "652316", "connection": "keep-alive", "server": "cloudflare", "<NOTICE>": "11 HEADERS ARE REDACTED"} }
2026-06-20T09:25:02.759075Z DEBUG ureq_proto::client: Call<Cleanup>
2026-06-20T09:25:02.759116Z DEBUG ureq::pool: Return to pool: PoolKey { scheme: "https", authority: assets.openlogi.org, proxy: None }
2026-06-20T09:25:02.762885Z DEBUG openlogi_gui::asset: asset matched via bolt-pid suffix fallback depot="mx_master_2s"
2026-06-20T09:25:02.763059Z DEBUG openlogi_gui::asset::sync: cache hit file="core_metadata.json"
2026-06-20T09:25:02.763150Z DEBUG openlogi_gui::asset::sync: cache hit file="manifest.json"
2026-06-20T09:25:02.768762Z DEBUG openlogi_gui::asset::sync: cache hit file="front_core.png"
2026-06-20T09:25:02.774340Z DEBUG openlogi_gui::asset::sync: cache hit file="side_core.png"
2026-06-20T09:25:02.777591Z DEBUG openlogi_gui::asset::sync: cache hit file="front_ext_3.png"
2026-06-20T09:25:02.780768Z DEBUG openlogi_gui::asset::sync: cache hit file="side_ext_3.png"
2026-06-20T09:25:02.780777Z  INFO openlogi_gui::asset::sync: asset sync complete devices=1
2026-06-20T09:25:02.783152Z DEBUG openlogi_gui::asset::paths: asset index loaded devices=210 root=/Users/ricky/.local/share/openlogi/assets
2026-06-20T09:25:04.647065Z  INFO RPC{rpc.deadline=2026-06-20T09:25:14.647024667Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:04.647310Z  INFO RPC{rpc.deadline=2026-06-20T09:25:14.647024667Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:04.647355Z  INFO RPC{rpc.deadline=2026-06-20T09:25:14.647346375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:04.647446Z  INFO RPC{rpc.deadline=2026-06-20T09:25:14.647346375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:04.647621Z DEBUG openlogi_gui::asset: asset matched via bolt-pid suffix fallback depot="mx_master_2s"
2026-06-20T09:25:04.648011Z DEBUG openlogi_gui::asset: asset hit depot="mx_master_2s" root=/Users/ricky/.local/share/openlogi/assets image=side_ext_3.png ext=3 png_width=1306 png_height=2000
2026-06-20T09:25:04.648052Z DEBUG openlogi_gui::state: inventory refreshed count=1 connected_keys=["3b019"]
2026-06-20T09:25:06.646552Z  INFO RPC{rpc.deadline=2026-06-20T09:25:16.646515625Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:06.646836Z  INFO RPC{rpc.deadline=2026-06-20T09:25:16.646515625Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:06.646887Z  INFO RPC{rpc.deadline=2026-06-20T09:25:16.646876666Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:06.647040Z  INFO RPC{rpc.deadline=2026-06-20T09:25:16.646876666Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:06.647117Z DEBUG openlogi_gui::state: inventory refreshed count=1 connected_keys=["3b019"]
2026-06-20T09:25:08.647122Z  INFO RPC{rpc.deadline=2026-06-20T09:25:18.647075416Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:08.647408Z  INFO RPC{rpc.deadline=2026-06-20T09:25:18.647075416Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:08.647463Z  INFO RPC{rpc.deadline=2026-06-20T09:25:18.647451459Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:08.647571Z  INFO RPC{rpc.deadline=2026-06-20T09:25:18.647451459Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:10.646989Z  INFO RPC{rpc.deadline=2026-06-20T09:25:20.646941792Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:10.647253Z  INFO RPC{rpc.deadline=2026-06-20T09:25:20.646941792Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:10.647311Z  INFO RPC{rpc.deadline=2026-06-20T09:25:20.647295375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:10.647410Z  INFO RPC{rpc.deadline=2026-06-20T09:25:20.647295375Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:12.646513Z  INFO RPC{rpc.deadline=2026-06-20T09:25:22.646454750Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:12.646943Z  INFO RPC{rpc.deadline=2026-06-20T09:25:22.646454750Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:12.647320Z  INFO RPC{rpc.deadline=2026-06-20T09:25:22.647303584Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:12.647768Z  INFO RPC{rpc.deadline=2026-06-20T09:25:22.647303584Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:14.459109Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.459072500Z otel.kind="client" otel.name=Agent.start_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:14.459374Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.459072500Z otel.kind="client" otel.name=Agent.start_pairing rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:14.469489Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.534115209Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:14.469576Z  INFO RPC{rpc.deadline=2026-06-20T09:25:39.469548458Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:14.647082Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.646975500Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:14.647450Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.646975500Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:14.647507Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.647494542Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:14.647640Z  INFO RPC{rpc.deadline=2026-06-20T09:25:24.647494542Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:16.646790Z  INFO RPC{rpc.deadline=2026-06-20T09:25:26.646729416Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:16.647189Z  INFO RPC{rpc.deadline=2026-06-20T09:25:26.646729416Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:16.647269Z  INFO RPC{rpc.deadline=2026-06-20T09:25:26.647253083Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:16.647476Z  INFO RPC{rpc.deadline=2026-06-20T09:25:26.647253083Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:17.795234Z  INFO RPC{rpc.deadline=2026-06-20T09:25:39.469548458Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:17.795313Z  INFO RPC{rpc.deadline=2026-06-20T09:25:42.795287500Z otel.kind="client" otel.name=Agent.next_pairing rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:18.646434Z  INFO RPC{rpc.deadline=2026-06-20T09:25:28.646389708Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:18.646697Z  INFO RPC{rpc.deadline=2026-06-20T09:25:28.646389708Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:18.646789Z  INFO RPC{rpc.deadline=2026-06-20T09:25:28.646762500Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:18.646902Z  INFO RPC{rpc.deadline=2026-06-20T09:25:28.646762500Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:20.645356Z  INFO RPC{rpc.deadline=2026-06-20T09:25:30.645315667Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:20.645635Z  INFO RPC{rpc.deadline=2026-06-20T09:25:30.645315667Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:20.645688Z  INFO RPC{rpc.deadline=2026-06-20T09:25:30.645677458Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:20.645799Z  INFO RPC{rpc.deadline=2026-06-20T09:25:30.645677458Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:20.645951Z DEBUG openlogi_gui::asset: asset matched via bolt-pid suffix fallback depot="mx_master_2s"
2026-06-20T09:25:20.646413Z DEBUG openlogi_gui::asset: asset hit depot="mx_master_2s" root=/Users/ricky/.local/share/openlogi/assets image=side_ext_3.png ext=3 png_width=1306 png_height=2000
2026-06-20T09:25:20.646459Z DEBUG openlogi_gui::state: inventory refreshed count=1 connected_keys=["3b019"]
2026-06-20T09:25:22.645954Z  INFO RPC{rpc.deadline=2026-06-20T09:25:32.645907917Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:22.646224Z  INFO RPC{rpc.deadline=2026-06-20T09:25:32.645907917Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:22.646274Z  INFO RPC{rpc.deadline=2026-06-20T09:25:32.646265625Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:22.646385Z  INFO RPC{rpc.deadline=2026-06-20T09:25:32.646265625Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:22.646543Z DEBUG openlogi_gui::asset: asset matched via bolt-pid suffix fallback depot="mx_master_2s"
2026-06-20T09:25:22.646937Z DEBUG openlogi_gui::asset: asset hit depot="mx_master_2s" root=/Users/ricky/.local/share/openlogi/assets image=side_ext_3.png ext=3 png_width=1306 png_height=2000
2026-06-20T09:25:24.646469Z  INFO RPC{rpc.deadline=2026-06-20T09:25:34.646429708Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:24.646727Z  INFO RPC{rpc.deadline=2026-06-20T09:25:34.646429708Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:24.646778Z  INFO RPC{rpc.deadline=2026-06-20T09:25:34.646768708Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:24.646874Z  INFO RPC{rpc.deadline=2026-06-20T09:25:34.646768708Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:24.646948Z DEBUG openlogi_gui::state: inventory refreshed count=1 connected_keys=["3b019"]
2026-06-20T09:25:26.646000Z  INFO RPC{rpc.deadline=2026-06-20T09:25:36.645950250Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:26.646395Z  INFO RPC{rpc.deadline=2026-06-20T09:25:36.645950250Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:26.646487Z  INFO RPC{rpc.deadline=2026-06-20T09:25:36.646467000Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:26.646698Z  INFO RPC{rpc.deadline=2026-06-20T09:25:36.646467000Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:28.645827Z  INFO RPC{rpc.deadline=2026-06-20T09:25:38.645763416Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:28.646203Z  INFO RPC{rpc.deadline=2026-06-20T09:25:38.645763416Z otel.kind="client" otel.name=Agent.status rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-06-20T09:25:28.646281Z  INFO RPC{rpc.deadline=2026-06-20T09:25:38.646264167Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: SendRequest
2026-06-20T09:25:28.646479Z  INFO RPC{rpc.deadline=2026-06-20T09:25:38.646264167Z otel.kind="client" otel.name=Agent.inventory rpc.trace_id=00}: tarpc::client: ReceiveResponse
^C

macOS permissions (if applicable)

  • OpenLogi has Accessibility permission (needed to remap buttons via the event tap).
  • OpenLogi has Input Monitoring permission (needed for Bluetooth-direct devices and capture).

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs: triageNeeds maintainer triagetype: bugSomething is broken or behaves incorrectly

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions