From d8b36dc0c3a721f1c17ace757ca47a12160e50c1 Mon Sep 17 00:00:00 2001
From: panaaj <38519157+panaaj@users.noreply.github.com>
Date: Fri, 21 Jun 2024 14:36:32 +0930
Subject: [PATCH] Fix undefined value in calcMethod delta

---
 CHANGELOG.md | 4 ++++
 package.json | 2 +-
 src/index.ts | 5 ++---
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7a8eab..ba3590e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # CHANGELOG: @signalk/course-provider
 
+## v1.0.3
+
+- **Fixed**: - Value of `navigation.course.calcValues.calcMethod` being set to `undefined` when course is cleared.
+
 ## v1.0.2
 
 - **Fixed**: - Remove erroneous unit conversion in TTG calculation.
diff --git a/package.json b/package.json
index 6f5420e..bd14637 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
     "name": "@signalk/course-provider",
-    "version": "1.0.2",
+    "version": "1.0.3",
     "description": "Course data provider plugin for SignalK Server.",
     "main": "plugin/index.js",
     "keywords": [
diff --git a/src/index.ts b/src/index.ts
index 8a4049b..384557e 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -216,7 +216,7 @@ module.exports = (server: CourseComputerApp): Plugin => {
           u.values.forEach((v: DeltaValue) => {
             srcPaths[v.path] = v.value
             if (v.path === 'navigation.position') {
-              server.debug(`navigation.position ${v.value} => calc()`)
+              server.debug(`navigation.position ${JSON.stringify(v.value)} => calc()`)
               calc()
             }
           })
@@ -286,7 +286,6 @@ module.exports = (server: CourseComputerApp): Plugin => {
   // trigger course calculations
   const calc = () => {
     if (srcPaths['navigation.position']) {
-      server.debug(`*** do course calculation ***`)
       worker?.postMessage(srcPaths)
     }
   }
@@ -320,7 +319,7 @@ module.exports = (server: CourseComputerApp): Plugin => {
     server.debug(`*** building course data delta ***`)
     values.push({
       path: `${calcPath}.calcMethod`,
-      value: source.calcMethod
+      value: config.calculations.method
     })
     values.push({
       path: `${calcPath}.bearingTrackTrue`,