From db1e2126e8c5f4ffdb7da475a7d06788b790ca20 Mon Sep 17 00:00:00 2001 From: Strycher Date: Tue, 4 Aug 2026 13:36:53 -0400 Subject: [PATCH] =?UTF-8?q?docs(#519):=20correct=20CLAUDE.md=20web=20secti?= =?UTF-8?q?on=20=E2=80=94=20BLE=20works=20via=20Web=20Bluetooth=20(Chromiu?= =?UTF-8?q?m=20only)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index dd5b75e..2b3ef29 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -295,7 +295,7 @@ App version: `9.1.0+14` — Dart SDK constraint: `^3.9.2` - `LSApplicationQueriesSchemes`: `http`, `https` ### Web (`web/`) -PWA scaffold present but boilerplate (`manifest.json` and `index.html` are unmodified Flutter defaults). BLE is unsupported in browsers; TCP and Web Serial USB may work in Chrome only. `ChromeRequiredScreen` gates non-Chrome web users. Versioned releases are produced via `build_pipe` (`?v=` cache busting, no service worker). +The web client is live at `offband.app` (deployed by CI via Cloudflare Pages). **BLE works on web via Web Bluetooth (`flutter_blue_plus_web`), in Chromium browsers only**: Chrome/Edge on desktop and Android; iOS has no Web Bluetooth in any browser; Linux Chrome may require enabling `chrome://flags/#enable-web-bluetooth`. Connecting requires HTTPS and a user gesture (the browser's device-chooser dialog — no passive scan list). TCP is disabled on web (`scanner_screen.dart` gates it with `!PlatformInfo.isWeb`); Web Serial USB may work in Chrome only. `ChromeRequiredScreen` gates non-Chromium browsers. Versioned assets use `?v=` cache busting (no service worker). ### Desktop `linux/`, `windows/`, and `macos/` directories are present as Flutter scaffolds. No app-specific native config has been added; BLE on desktop has not been validated.