apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/flash.git lighthouse.jenkins-x.io/job: release creationTimestamp: "2026-05-19T14:23:55Z" generation: 7 labels: branch: main build: "42" context: release created-by-lighthouse: "true" event-GUID: 5b67df38-538e-11f1-96eb-40f4a5c1448b lighthouse.jenkins-x.io/baseSHA: 24df6c44cd84ec01df21d6caa26c8b15498f7059 lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1779200635059" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: ncapitaltrade-flash-main-release-8mww2 lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 24df6c44cd84ec01df21d6caa26c8b15498f7059 lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: flash lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: ncapitaltrade-flash-main-release-m47bl-from-build-pack-pod provider: github repository: flash tekton.dev/pipeline: ncapitaltrade-flash-main-release-m47bl managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.18 operation: Update time: "2026-05-19T14:30:32Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:completedTimestamp: {} manager: jx-promote-0.6.31 operation: Update time: "2026-05-19T14:31:17Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:status: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-05-19T14:31:21Z" name: greencapitaltrade-flash-main-42 namespace: jx resourceVersion: "32362136" uid: 8e141f8d-d072-45fa-8e80-713b3bcb03de spec: baseSHA: 24df6c44cd84ec01df21d6caa26c8b15498f7059 batchPipelineActivity: {} build: "42" completedTimestamp: "2026-05-19T14:30:59Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: flash gitUrl: https://github.com/greencapitaltrade/flash.git lastCommitMessage: | fix(map): keep marker instances across telemetry ticks (smooth + stable popups) Three coupled bugs from the user's bug report: 1. Live locations weren't updating smoothly — markers visually teleported because the effect rebuilt the layer on every render. 2. Popovers flashed on every telemetry tick — destroying and re-creating the marker DOM closes any open popup and Leaflet then re-opens a fresh copy of it. 3. Closing a popover didn't deselect — the parent's selectedAsset stayed set, so the next render's "auto-open popup when selected" branch reopened it instantly. Refactor AssetMarkers to keep an `id → marker` registry across renders and diff against the incoming assets list each render: - existing id → marker.setLatLng (smooth move), setIcon only if the visual signature changed (status / bearing / selection), and setPopupContent so live fields like speed stay current (updates in place, doesn't reopen). - new id → create marker, bind popup, bind click + popupclose. - id missing from new assets → removeLayer + drop from registry. `popupclose` calls `onAssetSelect(null)` so closing the popover clears the parent's selectedAsset and the next tick doesn't reopen it. The selection signal flows through asset-store.handleAssetSelect; widened its signature to accept Asset | null and threaded the same through IoTAssetView + screen.tsx so the map can clear the parent state. selectedAsset and onAssetSelect both go through refs so popupclose handlers (bound once at marker creation) see the current values without needing to rebind on every render. lastCommitSHA: dafbd559bfa2ad8191c73a1d0218ab9b9b764d56 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/flash/main releaseNotesURL: https://github.com/greencapitaltrade/flash/releases/tag/v0.6.29 startedTimestamp: "2026-05-19T14:23:55Z" status: Running steps: - kind: Stage stage: completedTimestamp: "2026-05-19T14:30:59Z" name: Release startedTimestamp: "2026-05-19T14:29:59Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-05-19T14:31:20Z" name: from build pack startedTimestamp: "2026-05-19T14:24:16Z" status: Succeeded steps: - completedTimestamp: "2026-05-19T14:24:23Z" name: Git Clone startedTimestamp: "2026-05-19T14:24:16Z" status: Succeeded - completedTimestamp: "2026-05-19T14:24:26Z" name: Next Version startedTimestamp: "2026-05-19T14:24:24Z" status: Succeeded - completedTimestamp: "2026-05-19T14:24:58Z" name: Jx Variables startedTimestamp: "2026-05-19T14:24:55Z" status: Succeeded - completedTimestamp: "2026-05-19T14:27:06Z" name: Build Yarn Install startedTimestamp: "2026-05-19T14:25:00Z" status: Succeeded - completedTimestamp: "2026-05-19T14:27:50Z" name: Next Build startedTimestamp: "2026-05-19T14:27:07Z" status: Succeeded - completedTimestamp: "2026-05-19T14:27:53Z" name: Check Registry startedTimestamp: "2026-05-19T14:27:51Z" status: Succeeded - completedTimestamp: "2026-05-19T14:30:20Z" name: Build Container Build startedTimestamp: "2026-05-19T14:27:54Z" status: Succeeded - completedTimestamp: "2026-05-19T14:30:32Z" name: Promote Changelog startedTimestamp: "2026-05-19T14:30:21Z" status: Succeeded - completedTimestamp: "2026-05-19T14:30:36Z" name: Promote Helm Release startedTimestamp: "2026-05-19T14:30:33Z" status: Succeeded - completedTimestamp: "2026-05-19T14:31:20Z" name: Promote Jx Promote startedTimestamp: "2026-05-19T14:30:37Z" status: Succeeded - kind: Stage stage: name: from build pack startedTimestamp: "2026-05-19T14:24:16Z" status: Running steps: - completedTimestamp: "2026-05-19T14:24:23Z" name: Git Clone startedTimestamp: "2026-05-19T14:24:16Z" status: Succeeded - completedTimestamp: "2026-05-19T14:24:26Z" name: Next Version startedTimestamp: "2026-05-19T14:24:24Z" status: Succeeded - completedTimestamp: "2026-05-19T14:24:58Z" name: Jx Variables startedTimestamp: "2026-05-19T14:24:55Z" status: Succeeded - completedTimestamp: "2026-05-19T14:27:06Z" name: Build Yarn Install startedTimestamp: "2026-05-19T14:25:00Z" status: Succeeded - completedTimestamp: "2026-05-19T14:27:50Z" name: Next Build startedTimestamp: "2026-05-19T14:27:07Z" status: Succeeded - completedTimestamp: "2026-05-19T14:27:53Z" name: Check Registry startedTimestamp: "2026-05-19T14:27:51Z" status: Succeeded - completedTimestamp: "2026-05-19T14:30:20Z" name: Build Container Build startedTimestamp: "2026-05-19T14:27:54Z" status: Succeeded - completedTimestamp: "2026-05-19T14:30:32Z" name: Promote Changelog startedTimestamp: "2026-05-19T14:30:21Z" status: Succeeded - completedTimestamp: "2026-05-19T14:30:36Z" name: Promote Helm Release startedTimestamp: "2026-05-19T14:30:33Z" status: Succeeded - name: Promote Jx Promote startedTimestamp: "2026-05-19T14:26:04Z" status: Running - kind: Promote promote: environment: production pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/3922 startedTimestamp: "2026-05-19T14:31:17Z" status: Succeeded startedTimestamp: "2026-05-19T14:31:17Z" status: Succeeded version: 0.6.29 status: {}