@mxtommy/kip 4.2.0 → 4.4.0-beta.1
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/.github/ISSUE_TEMPLATE/bug_report.yml +84 -0
- package/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +35 -0
- package/.github/copilot-instructions.md +1 -1
- package/.github/instructions/project.instructions.md +7 -1
- package/.github/workflows/ci.yml +37 -0
- package/CHANGELOG.md +10 -0
- package/package.json +42 -41
- package/plugin/index.js +2 -2
- package/public/3rdpartylicenses.txt +230 -76
- package/public/assets/svg/AtoN/cardinal/east_beacon.svg +21 -0
- package/public/assets/svg/AtoN/cardinal/east_mark.svg +30 -0
- package/public/assets/svg/AtoN/cardinal/north_beacon.svg +20 -0
- package/public/assets/svg/AtoN/cardinal/north_mark.svg +30 -0
- package/public/assets/svg/AtoN/cardinal/south_beacon.svg +20 -0
- package/public/assets/svg/AtoN/cardinal/south_mark.svg +30 -0
- package/public/assets/svg/AtoN/cardinal/west_beacon.svg +21 -0
- package/public/assets/svg/AtoN/cardinal/west_mark.svg +57 -0
- package/public/assets/svg/AtoN/dangerSafe/isolateddanger_beacon.svg +16 -0
- package/public/assets/svg/AtoN/dangerSafe/isolateddanger_mark.svg +30 -0
- package/public/assets/svg/AtoN/dangerSafe/safewater_beacon_.svg +15 -0
- package/public/assets/svg/AtoN/dangerSafe/safewater_mark.svg +43 -0
- package/public/assets/svg/AtoN/lateral/port_beacon.svg +6 -0
- package/public/assets/svg/AtoN/lateral/port_mark.svg +24 -0
- package/public/assets/svg/AtoN/lateral/port_prefered_beacon.svg +15 -0
- package/public/assets/svg/AtoN/lateral/port_prefered_mark.svg +44 -0
- package/public/assets/svg/AtoN/lateral/starboard_beacon.svg +6 -0
- package/public/assets/svg/AtoN/lateral/starboard_mark.svg +24 -0
- package/public/assets/svg/AtoN/lateral/starboard_prefered_beacon.svg +15 -0
- package/public/assets/svg/AtoN/lateral/starboard_prefered_mark.svg +48 -0
- package/public/assets/svg/AtoN/other/aton.svg +78 -0
- package/public/assets/svg/AtoN/other/basestation.svg +91 -0
- package/public/assets/svg/AtoN/other/unknown.svg +22 -0
- package/public/assets/svg/AtoN/special/special_beacon.svg +7 -0
- package/public/assets/svg/AtoN/special/special_mark.svg +20 -0
- package/public/assets/svg/Chart icons.md +28 -0
- package/public/assets/svg/aircraft/ais_sar-aircraft.svg +23 -0
- package/public/assets/svg/icons.svg +6 -0
- package/public/assets/svg/sar-distress-device/sart-eprib-mob.svg +35 -0
- package/public/assets/svg/vessel/buddy.svg +26 -0
- package/public/assets/svg/vessel/cargo.svg +20 -0
- package/public/assets/svg/vessel/diving-ops.svg +31 -0
- package/public/assets/svg/vessel/fishing.svg +20 -0
- package/public/assets/svg/vessel/highspeed.svg +24 -0
- package/public/assets/svg/vessel/law-enforcement.svg +24 -0
- package/public/assets/svg/vessel/military-ops.svg +60 -0
- package/public/assets/svg/vessel/other.svg +20 -0
- package/public/assets/svg/vessel/passenger.svg +20 -0
- package/public/assets/svg/vessel/pilot.svg +82 -0
- package/public/assets/svg/vessel/pleasurecraft.svg +20 -0
- package/public/assets/svg/vessel/sailing.svg +20 -0
- package/public/assets/svg/vessel/sar.svg +25 -0
- package/public/assets/svg/vessel/self.svg +67 -0
- package/public/assets/svg/vessel/stationary.svg +32 -0
- package/public/assets/svg/vessel/tanker.svg +20 -0
- package/public/assets/svg/vessel/tug.svg +20 -0
- package/public/assets/svg/vessel/unknown.svg +22 -0
- package/public/chunk-2KMYPGX4.js +2 -0
- package/public/{chunk-K6B4TD2H.js → chunk-4VUI3CY7.js} +2 -2
- package/public/{chunk-NL5QCOXT.js → chunk-5DLSQ773.js} +2 -2
- package/public/chunk-6OSCSQLJ.js +3 -0
- package/public/{chunk-5SCAJ637.js → chunk-7HLFWAA7.js} +1 -1
- package/public/chunk-BNIQFWQ6.js +62 -0
- package/public/chunk-C4OS6QP6.js +8 -0
- package/public/chunk-F7I3HKNJ.js +9 -0
- package/public/chunk-FGRB3BHZ.js +1 -0
- package/public/{chunk-XWOIVPRO.js → chunk-HJQQWPGC.js} +1 -1
- package/public/{chunk-FHQZULYJ.js → chunk-IWK4FHBL.js} +1 -1
- package/public/{chunk-2VPC34OU.js → chunk-J4IGUIZA.js} +6 -6
- package/public/{chunk-GDL5ORNF.js → chunk-KIR67PZ2.js} +1 -1
- package/public/chunk-KKJXPB75.js +8 -0
- package/public/chunk-MMIOUKLI.js +1 -0
- package/public/{chunk-WON6RAF5.js → chunk-PDYVZHOK.js} +1 -1
- package/public/chunk-PESXPDBT.js +2 -0
- package/public/chunk-PKATAZA2.js +1 -0
- package/public/chunk-PSF2OKKT.js +1 -0
- package/public/chunk-TGGJAGV7.js +15 -0
- package/public/chunk-TKC7ROZ7.js +4 -0
- package/public/{chunk-UUOWRIVR.js → chunk-UVAQADRE.js} +1 -1
- package/public/chunk-VH4ZIU4T.js +4 -0
- package/public/chunk-XEJJOWK6.js +2 -0
- package/public/chunk-YYXDMH5J.js +53 -0
- package/public/index.html +2 -2
- package/public/main-WAAIS2M6.js +1 -0
- package/public/polyfills-L4FJGPOC.js +2 -0
- package/public/{styles-7VM4HXM4.css → styles-DYEO23GZ.css} +1 -1
- package/public/chunk-36RQFRQN.js +0 -4
- package/public/chunk-3KBT35BP.js +0 -3
- package/public/chunk-4NAXE7SZ.js +0 -9
- package/public/chunk-6X3BMVOP.js +0 -8
- package/public/chunk-7SK25B6D.js +0 -1
- package/public/chunk-ATH26UZ7.js +0 -1
- package/public/chunk-CX4O7M4U.js +0 -63
- package/public/chunk-DWMZAC65.js +0 -1
- package/public/chunk-FGMEEOZH.js +0 -5
- package/public/chunk-MOEZSWFX.js +0 -15
- package/public/chunk-PJZLX3XW.js +0 -2
- package/public/chunk-PNFBM2CP.js +0 -1
- package/public/chunk-PVUOCOI5.js +0 -53
- package/public/chunk-SP4UPLYW.js +0 -4
- package/public/chunk-Y5TQMH7M.js +0 -2
- package/public/main-CRPMOYEB.js +0 -4
- package/public/polyfills-GNK4EEYZ.js +0 -2
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a bug or issue
|
|
3
|
+
title: "[Bug]: "
|
|
4
|
+
labels: ["bug"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for reporting a bug! Please provide the following information to help us investigate.
|
|
10
|
+
|
|
11
|
+
- type: dropdown
|
|
12
|
+
id: operating-system
|
|
13
|
+
attributes:
|
|
14
|
+
label: Operating System
|
|
15
|
+
description: Which operating system(s) are you using?
|
|
16
|
+
multiple: true
|
|
17
|
+
options:
|
|
18
|
+
- Raspberry Pi OS
|
|
19
|
+
- macOS
|
|
20
|
+
- iOS
|
|
21
|
+
- Windows
|
|
22
|
+
- Linux
|
|
23
|
+
- Android
|
|
24
|
+
- Other
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
|
|
28
|
+
- type: dropdown
|
|
29
|
+
id: browser
|
|
30
|
+
attributes:
|
|
31
|
+
label: Browser
|
|
32
|
+
description: Which browser(s) are you using?
|
|
33
|
+
multiple: true
|
|
34
|
+
options:
|
|
35
|
+
- Chromium
|
|
36
|
+
- Chrome
|
|
37
|
+
- Safari
|
|
38
|
+
- Edge
|
|
39
|
+
- Firefox
|
|
40
|
+
- Brave
|
|
41
|
+
- Opera
|
|
42
|
+
- Other
|
|
43
|
+
validations:
|
|
44
|
+
required: true
|
|
45
|
+
|
|
46
|
+
- type: input
|
|
47
|
+
id: kip-version
|
|
48
|
+
attributes:
|
|
49
|
+
label: KIP Version
|
|
50
|
+
description: What version of Kip are you using (Found in Settings -> Options -> Connectivity)?
|
|
51
|
+
placeholder: e.g., v2.5.1
|
|
52
|
+
validations:
|
|
53
|
+
required: true
|
|
54
|
+
|
|
55
|
+
- type: input
|
|
56
|
+
id: signalk-version
|
|
57
|
+
attributes:
|
|
58
|
+
label: Signal K Server Version
|
|
59
|
+
description: What version of Signal K server are you using?
|
|
60
|
+
placeholder: e.g., v2.5.1
|
|
61
|
+
validations:
|
|
62
|
+
required: false
|
|
63
|
+
|
|
64
|
+
- type: textarea
|
|
65
|
+
id: bug-description
|
|
66
|
+
attributes:
|
|
67
|
+
label: Bug Description
|
|
68
|
+
description: A clear and concise description of what the bug is - What did you expect, what actually happened and any other context about the problem here, including screenshots, logs, or error messages.
|
|
69
|
+
placeholder: What happened?
|
|
70
|
+
validations:
|
|
71
|
+
required: true
|
|
72
|
+
|
|
73
|
+
- type: textarea
|
|
74
|
+
id: steps-to-reproduce
|
|
75
|
+
attributes:
|
|
76
|
+
label: Steps to Reproduce
|
|
77
|
+
description: Steps to reproduce the behavior
|
|
78
|
+
placeholder: |
|
|
79
|
+
1. Go to '...'
|
|
80
|
+
2. Click on '....'
|
|
81
|
+
3. Scroll down to '....'
|
|
82
|
+
4. See error
|
|
83
|
+
validations:
|
|
84
|
+
required: true
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest a new feature or enhancement
|
|
3
|
+
title: "[Feature]: "
|
|
4
|
+
labels: ["enhancement"]
|
|
5
|
+
body:
|
|
6
|
+
- type: markdown
|
|
7
|
+
attributes:
|
|
8
|
+
value: |
|
|
9
|
+
Thanks for suggesting a feature! Please provide details below.
|
|
10
|
+
|
|
11
|
+
- type: textarea
|
|
12
|
+
id: feature-request
|
|
13
|
+
attributes:
|
|
14
|
+
label: Feature Request
|
|
15
|
+
description: |
|
|
16
|
+
Please describe the feature you'd like to see:
|
|
17
|
+
- What problem does this solve? What are you trying to accomplish?
|
|
18
|
+
- Provide a clear description of what you'd like to see added or changed.
|
|
19
|
+
placeholder: |
|
|
20
|
+
**Problem/Use Case:**
|
|
21
|
+
Describe what you're trying to accomplish...
|
|
22
|
+
|
|
23
|
+
**Proposed Solution:**
|
|
24
|
+
Describe how you envision this feature working...
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
|
|
28
|
+
- type: textarea
|
|
29
|
+
id: concepts-ideas-research
|
|
30
|
+
attributes:
|
|
31
|
+
label: Concepts, Ideas & Research
|
|
32
|
+
description: Add any other information, screenshots, mockups, links similar apps or existing documentation about the feature request here.
|
|
33
|
+
placeholder: Paste links, mockups, screenshots or related documentation to help us come up with a good and informed design...
|
|
34
|
+
validations:
|
|
35
|
+
required: false
|
|
@@ -129,7 +129,7 @@ Template:
|
|
|
129
129
|
|
|
130
130
|
## Project specifics & gotchas
|
|
131
131
|
- Always respect serve path /@mxtommy/kip/ (dev/prod). Assets and routing assume this base.
|
|
132
|
-
- CommonJS deps are explicitly allowed (
|
|
132
|
+
- CommonJS deps are explicitly allowed (js-quantities). Avoid introducing new CJS without adding to allowedCommonJsDependencies.
|
|
133
133
|
- Use standalone components, signals, @if/@for; follow .github/instructions/angular.instructions.md for style.
|
|
134
134
|
- Widget config UIs live under src/app/widget-config; path controls use custom validators (no Validators.required). Respect isPathConfigurable and pathRequired.
|
|
135
135
|
|
|
@@ -113,7 +113,13 @@ All major services in `src/app/core/services/` are summarized below for Copilot
|
|
|
113
113
|
|
|
114
114
|
- **NotificationsService (`notifications.service.ts`)**
|
|
115
115
|
- Key methods: Notification state management, audio/visual alerts, muting.
|
|
116
|
-
- Dependencies: AppSettingsService, DataService, SignalkRequestsService
|
|
116
|
+
- Dependencies: AppSettingsService, DataService, SignalkRequestsService.
|
|
117
|
+
|
|
118
|
+
- **ToastService (`toast.service.ts`)**
|
|
119
|
+
- Purpose: In-app snackbars using Angular Material.
|
|
120
|
+
- Key methods: `show(message, duration = 1500, silent = true, action = 'Dismiss', severity = 'message')`.
|
|
121
|
+
- Dependencies: MatSnackBar, AppSettingsService.
|
|
122
|
+
- Usage: Use for short, user-visible feedback (login errors, PUT failures, success confirmations). Sound is suppressed when `silent=true` or user sound settings disable audio.
|
|
117
123
|
|
|
118
124
|
- **CanvasService (`canvas.service.ts`)**
|
|
119
125
|
- Purpose: Provides drawing and rendering utilities for widgets and dashboard components.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, master, develop ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main, master, develop ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
node-version: [20.x, 22.x]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout repository
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Setup Node.js ${{ matrix.node-version }}
|
|
22
|
+
uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: ${{ matrix.node-version }}
|
|
25
|
+
cache: 'npm'
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: npm i
|
|
29
|
+
|
|
30
|
+
- name: Lint
|
|
31
|
+
run: npm run lint
|
|
32
|
+
|
|
33
|
+
- name: Run tests
|
|
34
|
+
run: npm run test:headless
|
|
35
|
+
|
|
36
|
+
- name: Build All (Webapp & Plugin)
|
|
37
|
+
run: npm run build:all
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
# v4.3.0
|
|
2
|
+
## New Features
|
|
3
|
+
* New signalk-anchoralarm-plugin (by Scott Bender) embedded widget to surface its features and make anchor setting and monitoring fast and easy.
|
|
4
|
+
## Improvements
|
|
5
|
+
* Added a Simple Wind mode in Windsteer (a popular request) to mimic classic instruments. Toggle “Enable Advanced Compass Mode” off to lock the dial to +/- 180° and keep indicators stable. Fixes #828
|
|
6
|
+
* New high‑impact snackbar templates with inform/warn/alert layouts, bold colors, and icons that make different app message types instantly recognizable.
|
|
7
|
+
## Fixes
|
|
8
|
+
* Racesteer (beta): corrected tack/gybe angle, indicator reference, and layline calculations for better precision. Fixes #858
|
|
9
|
+
* Fixed occasional double‑fire on long‑press gestures (reduced extra processing).
|
|
10
|
+
* Prevented duplicate app events from async PUT responses (reduced extra processing).
|
|
1
11
|
# v4.2.0
|
|
2
12
|
## New Features
|
|
3
13
|
* Multi State Switch widget: Take control of multi‑mode devices (chargers, inverters, and more) with a clear state list that highlights the active mode and lets you switch states with a tap. Fixes #404
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxtommy/kip",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0-beta.1",
|
|
4
4
|
"description": "An advanced and versatile marine instrumentation package to display Signal K data.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -55,47 +55,24 @@
|
|
|
55
55
|
},
|
|
56
56
|
"schematics": "tools/schematics/collection.json",
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@angular-devkit/build-angular": "^21.1.
|
|
58
|
+
"@angular-devkit/build-angular": "^21.1.4",
|
|
59
59
|
"@angular-devkit/schematics-cli": "^20.1.6",
|
|
60
|
-
"@angular/
|
|
61
|
-
"@angular/
|
|
62
|
-
"@angular/
|
|
63
|
-
"@angular/
|
|
64
|
-
"@angular/common": "21.1.0",
|
|
65
|
-
"@angular/compiler": "21.1.0",
|
|
66
|
-
"@angular/compiler-cli": "21.1.0",
|
|
67
|
-
"@angular/core": "21.1.0",
|
|
68
|
-
"@angular/forms": "21.1.0",
|
|
69
|
-
"@angular/language-service": "21.1.0",
|
|
70
|
-
"@angular/material": "21.1.0",
|
|
71
|
-
"@angular/platform-browser": "21.1.0",
|
|
72
|
-
"@angular/platform-browser-dynamic": "21.1.0",
|
|
73
|
-
"@angular/router": "21.1.0",
|
|
74
|
-
"@godind/ng-canvas-gauges": "^6.2.1",
|
|
60
|
+
"@angular/build": "^21.1.4",
|
|
61
|
+
"@angular/cli": "^21.1.4",
|
|
62
|
+
"@angular/compiler-cli": "21.1.4",
|
|
63
|
+
"@angular/language-service": "21.1.4",
|
|
75
64
|
"@types/canvas-gauges": "^2.1.8",
|
|
76
|
-
"@types/howler": "^2.2.10",
|
|
77
65
|
"@types/jasmine": "~3.6.0",
|
|
78
66
|
"@types/jasminewd2": "^2.0.9",
|
|
79
67
|
"@types/js-quantities": "^1.6.6",
|
|
80
68
|
"@types/lodash-es": "^4.17.9",
|
|
81
69
|
"@types/node": "^24.1.0",
|
|
82
|
-
"@
|
|
83
|
-
"angular-eslint": "21.
|
|
84
|
-
"chart.js": "^4.5.1",
|
|
85
|
-
"@aziham/chartjs-plugin-streaming": "^3.5.1",
|
|
86
|
-
"chartjs-adapter-date-fns": "^3.0.0",
|
|
87
|
-
"chartjs-plugin-annotation": "^3.0.1",
|
|
88
|
-
"clipboard": "^2.0.11",
|
|
70
|
+
"@types/d3": "^7.4.3",
|
|
71
|
+
"angular-eslint": "21.2.0",
|
|
89
72
|
"codelyzer": "^6.0.0",
|
|
90
|
-
"compare-versions": "^6.1.1",
|
|
91
|
-
"core-js": "^3.13.1",
|
|
92
|
-
"date-fns": "^2.30.0",
|
|
93
73
|
"eslint": "^9.29.0",
|
|
94
|
-
"gridstack": "^12.3.3",
|
|
95
|
-
"howler": "^2.2.4",
|
|
96
74
|
"jasmine-core": "~4.0.1",
|
|
97
75
|
"jasmine-spec-reporter": "~5.0.0",
|
|
98
|
-
"js-quantities": "^1.8.0",
|
|
99
76
|
"karma": "^6.4.4",
|
|
100
77
|
"karma-chrome-launcher": "~3.1.0",
|
|
101
78
|
"karma-cli": "~2.0.0",
|
|
@@ -103,22 +80,46 @@
|
|
|
103
80
|
"karma-jasmine": "~4.0.0",
|
|
104
81
|
"karma-jasmine-html-reporter": "^1.6.0",
|
|
105
82
|
"karma-spec-reporter": "^0.0.36",
|
|
106
|
-
"lodash-es": "^4.17.21",
|
|
107
83
|
"ng-packagr": "^21.0.1",
|
|
108
|
-
"ngx-markdown": "^21.0.1",
|
|
109
|
-
"prismjs": "^1.30.0",
|
|
110
84
|
"protractor": "~7.0.0",
|
|
111
85
|
"pwa-asset-generator": "^8.1.1",
|
|
112
|
-
"rxjs": "^7.8.2",
|
|
113
86
|
"sass": "^1.49.9",
|
|
114
|
-
"screenfull": "^6.0.2",
|
|
115
|
-
"steelseries": "^2.0.9",
|
|
116
87
|
"ts-node": "^10.9.2",
|
|
117
|
-
"
|
|
118
|
-
"typescript": "^5.9.3",
|
|
119
|
-
"zone.js": "^0.15.1"
|
|
88
|
+
"typescript": "^5.9.3"
|
|
120
89
|
},
|
|
121
90
|
"dependencies": {
|
|
122
|
-
"@
|
|
91
|
+
"@angular/animations": "21.1.4",
|
|
92
|
+
"@angular/cdk": "21.1.4",
|
|
93
|
+
"@angular/common": "21.1.4",
|
|
94
|
+
"@angular/compiler": "21.1.4",
|
|
95
|
+
"@angular/core": "21.1.4",
|
|
96
|
+
"@angular/forms": "21.1.4",
|
|
97
|
+
"@angular/material": "21.1.4",
|
|
98
|
+
"@angular/platform-browser": "21.1.4",
|
|
99
|
+
"@angular/platform-browser-dynamic": "21.1.4",
|
|
100
|
+
"@angular/router": "21.1.4",
|
|
101
|
+
"@aziham/chartjs-plugin-streaming": "^3.5.1",
|
|
102
|
+
"@godind/ng-canvas-gauges": "^6.2.1",
|
|
103
|
+
"@zakj/no-sleep": "^0.13.5",
|
|
104
|
+
"chart.js": "^4.5.1",
|
|
105
|
+
"chartjs-adapter-date-fns": "^3.0.0",
|
|
106
|
+
"chartjs-plugin-annotation": "^3.0.1",
|
|
107
|
+
"clipboard": "^2.0.11",
|
|
108
|
+
"compare-versions": "^6.1.1",
|
|
109
|
+
"core-js": "^3.13.1",
|
|
110
|
+
"d3": "^7.9.0",
|
|
111
|
+
"date-fns": "^2.30.0",
|
|
112
|
+
"gridstack": "^12.3.3",
|
|
113
|
+
"js-quantities": "^1.8.0",
|
|
114
|
+
"lodash-es": "^4.17.23",
|
|
115
|
+
"ngx-markdown": "^21.0.1",
|
|
116
|
+
"prismjs": "^1.30.0",
|
|
117
|
+
"rxjs": "^7.8.2",
|
|
118
|
+
"screenfull": "^6.0.2",
|
|
119
|
+
"steelseries": "^2.0.9",
|
|
120
|
+
"tslib": "^2.6.2",
|
|
121
|
+
"zone.js": "^0.15.1",
|
|
122
|
+
"@signalk/server-api": "^2.7.2",
|
|
123
|
+
"@spanaaj/sk-ais-status-plugin": "^1.0.0"
|
|
123
124
|
}
|
|
124
125
|
}
|
package/plugin/index.js
CHANGED
|
@@ -57,12 +57,12 @@ const start = (server) => {
|
|
|
57
57
|
const want = `displays.${displayId}${tail}`;
|
|
58
58
|
const full = server.getSelfPath(want);
|
|
59
59
|
server.debug(`getDisplaySelfPath: displayId: ${displayId}, suffix: ${suffix}, want=${want}, fullPath=${JSON.stringify(full)}`);
|
|
60
|
-
return full ? full : undefined;
|
|
60
|
+
return typeof full === 'object' && full !== null ? full : undefined;
|
|
61
61
|
}
|
|
62
62
|
function getAvailableDisplays() {
|
|
63
63
|
const fullPath = server.getSelfPath('displays');
|
|
64
64
|
server.debug(`getAvailableDisplays: fullPath=${JSON.stringify(fullPath)}`);
|
|
65
|
-
return fullPath ? fullPath : undefined;
|
|
65
|
+
return typeof fullPath === 'object' && fullPath !== null ? fullPath : undefined;
|
|
66
66
|
}
|
|
67
67
|
function pathToDotNotation(path) {
|
|
68
68
|
const dottedPath = path.replace(/\//g, '.').replace(/^\./, '');
|