signalk-pypilot-newui 3.1.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.1.2 — 2026-10-10 — Compatibility with pypilot 0.71 (issue #3)
4
+
5
+ Patch: swap socket.io transport order from
6
+ `["websocket", "polling"]` to `["polling", "websocket"]` so the
7
+ plugin keeps working with the stricter Flask-SocketIO +
8
+ Python-Engine.IO combo shipped with pypilot 0.71. Thanks to
9
+ [@altarceyhun](https://github.com/altarceyhun) for the detailed
10
+ reproduction + verified workaround in
11
+ [#3](https://github.com/Aitonos/signalk-pypilot-newui/issues/3).
12
+
13
+ ### Fixed
14
+
15
+ - **pypilot 0.71 — bare WebSocket handshake fails** (Rev450,
16
+ issue #3). pypilot <= 0.56 accepts a direct WebSocket upgrade;
17
+ pypilot 0.71 rejects it and only lets the client in via the
18
+ canonical polling handshake with a later WS upgrade. Swapping the
19
+ transport order to polling-first keeps both pypilot versions
20
+ working without any behavioural change for the user (socket.io
21
+ still upgrades to WebSocket after the handshake when the server
22
+ allows it).
23
+
24
+ ## 3.1.1 — 2026-10-10 — Refreshed screenshots
25
+
26
+ Patch: swaps in four up-to-date screenshots (captured on sea trial
27
+ 2026-10-10, Rev449) so the SK App Store listing shows the 3.1.0
28
+ feature set — Control rose with heading-precision gauge + AIS hull
29
+ top-view, Freeboard-SK chartplotter embedded in the rose, Logbook
30
+ trip detail with OpenSeaMap trace + SOG/AWS chart, and the refreshed
31
+ Tune sliders. No code changes.
32
+
3
33
  ## 3.1.0 — 2026-10-10 — Fullscreen auto, configurable bottom chip, heading precision, AIS polish
4
34
 
5
35
  Rolls up Rev439 → Rev449 (11 revs) on top of 3.0.0. Minor bump: a
package/README.md CHANGED
@@ -42,15 +42,15 @@ up automatically.
42
42
 
43
43
  ## Screenshots
44
44
 
45
- ![Control - compass rose with concentric target + wind arrows](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/01-control-rose.jpg)
45
+ ![Control - compass rose with precision gauge + AIS collision target as a tinted top-view hull](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/01-control-rose.png)
46
46
 
47
- | Chart · Trip Stats | Tune · gain sliders |
47
+ | Chartplotter embedded | Logbook · trip detail |
48
48
  |---|---|
49
- | ![Chart tab - Trip Stats + Servo Health](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/02-chart-trip-stats.jpg) | ![Tune tab - PID gain sliders](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/03-tune-gains.jpg) |
49
+ | ![Chartplotter integrated - Freeboard-SK embedded in the rose box](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/02-chartplotter-embedded.png) | ![Logbook trip detail - OpenSeaMap trace + SOG vs AWS chart](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/03-logbook-trip-detail.png) |
50
50
 
51
- | Setup · Trips | Chart · hover freeze |
51
+ | Tune · gain sliders | Chart · hover freeze |
52
52
  |---|---|
53
- | ![Setup - Trips card](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/04-setup-launcher.jpg) | ![Chart - hover freeze](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/05-race-timer.jpg) |
53
+ | ![Tune tab - PID gain sliders](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/04-tune-sliders.png) | ![Chart - hover freeze](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/05-race-timer.jpg) |
54
54
 
55
55
  ![Tack history - persistent per-tack log](https://raw.githubusercontent.com/Aitonos/signalk-pypilot-newui/main/public/screenshots/06-info.jpg)
56
56
 
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ const trip_recorder_1 = require("./trip-recorder");
28
28
  const maneuver_trace_1 = require("./maneuver-trace");
29
29
  // Rev counter bumped on every build so the user can distinguish deploys
30
30
  // from the webapp header (feedback_revision_bump_each_build).
31
- const PLUGIN_REVISION = "Rev449";
31
+ const PLUGIN_REVISION = "Rev450";
32
32
  // Rev59: read package.json once at load time so /status can report the
33
33
  // npm package version alongside the internal Rev counter.
34
34
  // eslint-disable-next-line @typescript-eslint/no-require-imports
@@ -96,7 +96,14 @@ class PypilotClient extends events_1.EventEmitter {
96
96
  const url = `http://${this.opts.host}:${this.opts.port}`;
97
97
  this.opts.log("info", `[pypilot] connecting socket.io to ${url}`);
98
98
  this.socket = (0, socket_io_client_1.io)(url, {
99
- transports: ["websocket", "polling"],
99
+ // Rev450 (issue #3, @altarceyhun): pypilot 0.71 ships a stricter
100
+ // Flask-SocketIO + Python-Engine.IO combo where the direct WS
101
+ // handshake fails (polling + upgrade handshake works, bare WS
102
+ // does not). pypilot <= 0.56 accepts both orders. Starting with
103
+ // polling and letting socket.io upgrade to websocket after the
104
+ // handshake is the vendor-recommended default and keeps 0.71 +
105
+ // 0.56 both working.
106
+ transports: ["polling", "websocket"],
100
107
  // Rev66 / 2.0.4: infinite reconnect attempts. The old 30-attempt
101
108
  // ceiling meant a long-ish outage (say a Pi reboot that takes 45 s +
102
109
  // a couple of socket.io backoff cycles) could exhaust the counter
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signalk-pypilot-newui",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "description": "Signal K friendly UI for the pypilot autopilot, with first-class Signal K paths and Simple Switches so any downstream Signal K client can drive or monitor the pilot. Touch-first mobile visor + full pypilot data (servo, gains, calibration, tack, warnings). Coexists with pypilot-autopilot-provider.",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -51,20 +51,20 @@
51
51
  "webapp": "./public",
52
52
  "screenshots": [
53
53
  {
54
- "src": "./public/screenshots/01-control-rose.jpg",
55
- "title": "Control - compass rose with concentric target + wind arrows (amber A = apparent wind, teal T = true wind), hull-fixed sailing wedges, 4 configurable corner tiles, big-touch AP button and heading trim buttons"
54
+ "src": "./public/screenshots/01-control-rose.png",
55
+ "title": "Control - compass rose with heading + precision gauge (green/orange/red), AWA/TWA wind arrows, hull-fixed sailing wedges, configurable bottom chip (SOG/depth/polar%/custom) and an AIS collision target painted as a tinted top-view hull"
56
56
  },
57
57
  {
58
- "src": "./public/screenshots/02-chart-trip-stats.jpg",
59
- "title": "Chart - Trip Stats cards (AP engaged time, distance, energy, RMS/p95 heading error, servo runtime, tacks/gybes, max servo A) plus live Servo Health with baseline, recent average, deviation and peak"
58
+ "src": "./public/screenshots/02-chartplotter-embedded.png",
59
+ "title": "Chartplotter integrated - double-tap the rose to open Freeboard-SK embedded inside the rose box; every AIS target, route and your position with the autopilot buttons still reachable. Needs a Signal K chart provider (e.g. @signalk/charts-plugin)"
60
60
  },
61
61
  {
62
- "src": "./public/screenshots/03-tune-gains.jpg",
63
- "title": "Tune - PID gain sliders per pilot/profile with plain-language help ('act now reflex', 'closes sustained drift'), locked by default with orange 'was:' baseline, +/-10 and +/-1 fine-tune buttons"
62
+ "src": "./public/screenshots/03-logbook-trip-detail.png",
63
+ "title": "Logbook - auto-recorded trip detail with OpenSeaMap trace, speed-coloured track, gust / peak-SOG / low-voltage / tack markers and a SOG vs AWS chart"
64
64
  },
65
65
  {
66
- "src": "./public/screenshots/04-setup-launcher.jpg",
67
- "title": "Trips - auto-recorded outings summarised with distance, duration, average SOG/TWS, tack count and peak speeds; tap to open the OpenSeaMap trace and share as PNG or WhatsApp"
66
+ "src": "./public/screenshots/04-tune-sliders.png",
67
+ "title": "Tune - PID gain sliders per pilot/profile with plain-language help ('act now reflex', 'closes sustained drift'), PROFILE badge, locked by default with +/-10 and +/-1 fine-tune buttons and a reset-to-baseline icon"
68
68
  },
69
69
  {
70
70
  "src": "./public/screenshots/05-race-timer.jpg",