Commit Graph
11 Commits
Author SHA1 Message Date
dependabot[bot] bccc4af59c chore(deps): bump the frontend-dependencies group across 1 directory with 9 updates (#70)
Bumps the frontend-dependencies group with 9 updates in the /frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@deck.gl/aggregation-layers](https://github.com/visgl/deck.gl) | `9.3.8` | `9.3.10` |
| [@deck.gl/core](https://github.com/visgl/deck.gl) | `9.3.8` | `9.3.10` |
| [@deck.gl/extensions](https://github.com/visgl/deck.gl) | `9.3.8` | `9.3.10` |
| [@deck.gl/layers](https://github.com/visgl/deck.gl) | `9.3.8` | `9.3.10` |
| [@deck.gl/mapbox](https://github.com/visgl/deck.gl) | `9.3.8` | `9.3.10` |
| [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `6.2.0` | `6.4.0` |
| [zustand](https://github.com/pmndrs/zustand) | `5.0.14` | `5.0.15` |
| [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) | `4.12.1` | `4.13.0` |
| [tsx](https://github.com/privatenumber/tsx) | `4.23.11` | `4.23.12` |



Updates `@deck.gl/aggregation-layers` from 9.3.8 to 9.3.10
- [Release notes](https://github.com/visgl/deck.gl/releases)
- [Changelog](https://github.com/visgl/deck.gl/blob/v9.3.10/CHANGELOG.md)
- [Commits](https://github.com/visgl/deck.gl/compare/v9.3.8...v9.3.10)

Updates `@deck.gl/core` from 9.3.8 to 9.3.10
- [Release notes](https://github.com/visgl/deck.gl/releases)
- [Changelog](https://github.com/visgl/deck.gl/blob/v9.3.10/CHANGELOG.md)
- [Commits](https://github.com/visgl/deck.gl/compare/v9.3.8...v9.3.10)

Updates `@deck.gl/extensions` from 9.3.8 to 9.3.10
- [Release notes](https://github.com/visgl/deck.gl/releases)
- [Changelog](https://github.com/visgl/deck.gl/blob/v9.3.10/CHANGELOG.md)
- [Commits](https://github.com/visgl/deck.gl/compare/v9.3.8...v9.3.10)

Updates `@deck.gl/layers` from 9.3.8 to 9.3.10
- [Release notes](https://github.com/visgl/deck.gl/releases)
- [Changelog](https://github.com/visgl/deck.gl/blob/v9.3.10/CHANGELOG.md)
- [Commits](https://github.com/visgl/deck.gl/compare/v9.3.8...v9.3.10)

Updates `@deck.gl/mapbox` from 9.3.8 to 9.3.10
- [Release notes](https://github.com/visgl/deck.gl/releases)
- [Changelog](https://github.com/visgl/deck.gl/blob/v9.3.10/CHANGELOG.md)
- [Commits](https://github.com/visgl/deck.gl/compare/v9.3.8...v9.3.10)

Updates `maplibre-gl` from 6.2.0 to 6.4.0
- [Release notes](https://github.com/maplibre/maplibre-gl-js/releases)
- [Changelog](https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/maplibre/maplibre-gl-js/compare/v6.2.0...v6.4.0)

Updates `zustand` from 5.0.14 to 5.0.15
- [Release notes](https://github.com/pmndrs/zustand/releases)
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.14...v5.0.15)

Updates `@axe-core/playwright` from 4.12.1 to 4.13.0
- [Release notes](https://github.com/dequelabs/axe-core-npm/releases)
- [Changelog](https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core-npm/commits/v4.13.0)

Updates `tsx` from 4.23.11 to 4.23.12
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.23.11...v4.23.12)

---
updated-dependencies:
- dependency-name: "@deck.gl/aggregation-layers"
  dependency-version: 9.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/core"
  dependency-version: 9.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/extensions"
  dependency-version: 9.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/layers"
  dependency-version: 9.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/mapbox"
  dependency-version: 9.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: maplibre-gl
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: zustand
  dependency-version: 5.0.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@axe-core/playwright"
  dependency-version: 4.13.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: tsx
  dependency-version: 4.23.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-27 09:41:45 +01:00
d6b66424f2 fix: migrate frontend to maplibre-gl 6 / recharts 3 (dependabot #61) (#62)
* fix: migrate frontend dependencies for #61

* fix(frontend): maplibre 6 migration — react-is peer dep, worker resolution, e2e timing

- Add react-is ^19.2.8 as a direct dependency: recharts 3 declares it as
  a peer dep (recharts 2 bundled it), so vite's dep optimizer 500'd on
  'Failed to resolve import "react-is"' and the whole dashboard failed
  to mount (error boundary).
- Exclude maplibre-gl from vite optimizeDeps: v6 loads its worker via
  new URL(..., import.meta.url); pre-bundling rewrote that to
  node_modules/.vite/deps/maplibre-gl-worker.mjs (404) killing the
  worker and all custom raster protocols (hopreach-rf tiles never
  fetched) in dev.
- Harden two dashboard e2e assertions from the default 5s to 15s:
  maplibre 6's larger ESM bundle makes initial map mount slower under
  4-worker parallel CI load; the app behavior is unchanged (verified
  vs main's pass).

Verified locally: 84/84 unit tests, tsc + vite build, full e2e
(public-desktop + dashboard-desktop + dashboard-mobile) 27 passed.

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
Co-authored-by: hermes-gadget <hermes-gadget@users.noreply.github.com>
2026-08-11 22:18:38 +01:00
gadgethd feb582be57 chore: bump ip-address + nanoid to clear npm audit findings 2026-08-09 23:03:00 +00:00
gadgethd 5db382e181 feat: complete codebase reliability upgrade 2026-08-02 03:40:11 +01:00
gadgethd 1c8aadb339 Expand owner, packet, and map experiences 2026-07-28 23:17:28 +01:00
gadgethd 1ebc496965 Map UI redesign, live-path visibility, feed latency, and security hardening (#19)
* Fix map node freshness consistency

* Harden output, ingest, caches, and WebSocket limits

* Enforce public visibility across derived data

* Harden proxy and operator deployment boundary

* Make owner grants authoritative and reconcile ACLs safely

* Bound path, spam, and statistics analysis

* Make link and coverage jobs crash-safe

* Implement strategic security remediation

* Fix production cutover configuration

* Fix disabled viewshed worker health signal

* Serve stale stats during background refresh

* Retain stale stats through refresh windows

* Bound analytics work to protect ingestion

* Prioritize summary warmup over chart scans

* Throttle path history rebuilds

* Bound path history result memory

* Stream path history aggregation

* Give bounded path rebuild one CPU

* Serve stale charts during bounded refresh

* Prioritize startup stats before chart scans

* Bound path history segment cardinality

* Pin path rebuild context to privacy generation

* Self-host original frontend fonts

* Allow bounded path rebuild to complete

* Improve live map UI and low-latency group feed

- Dock node details on the right with selection highlight and collapsible layers
- Add node legend, 24h activity sparkline, copy-link, and layout/overlap fixes
- Keep all repeaters visible during Live Path focus
- Send GroupText feed packets immediately over WebSocket (no batch delay)
- Cache expensive stats/observer activity more aggressively to protect ingest
- Remove stale local planning/audit markdown from the tree

* fix(ci): supply OPERATOR_SITE_TOKEN for compose validation

Workers/Compose CI failed because docker-compose requires
OPERATOR_SITE_TOKEN. Add CI placeholders for that and MQTT_PASSWORD.
2026-07-27 02:39:12 +01:00
gadgethd 93cc3e1b38 Expand network intelligence and harden operations (#9)
Consolidates the stacked backend, privacy, network-intelligence, frontend, operations, mobile, and owner-cache changes after resolving main conflicts and passing the full CI suite.
2026-07-23 20:50:47 +01:00
gadgethd 12da1689e4 Fix mobile layouts across frontend (#10)
Bound mobile navigation, controls, searches, and overlays while adding route-wide responsive browser coverage.
2026-07-18 19:16:01 +01:00
Ben 8db9a71e43 Rewrite map stack and tighten path topology 2026-03-19 22:42:35 +00:00
BenandClaude Sonnet 4.6 acd71b0913 Fix owner portal login; add tile worker and cross-network improvements
Owner portal fixes:
- Fix session node ID case mismatch: decryptOwnerSession was lowercasing
  node IDs but /owner/live uppercased the ?nodeId= param, so the find()
  never matched — users always got "Node is not owned by this session"
- Revert sameSite strict → lax (broke sessions after March 18 deploy)
- Remove LOWER() wrappers from all owner live SQL (node IDs are uppercase)
- Add Fireball's second node (TS17 Yagi North) to owner_account_nodes

Tile worker:
- Server-side PNG tile rendering via @napi-rs/canvas
- Tile snapshot cache, Redis-backed tile cache, tile worker service
- /api/tiles/nodes/:z/:x/:y.png endpoint with rate limiter
- UK tile TTL logic

Cross-network connectivity:
- Add 7-day hourly history series to /cross-network-connectivity response
- Cache result for 60s to avoid repeated join-heavy query
- Fix query to use literal interval instead of interpolated variable

Other:
- Remove LOWER() from packet/node SQL throughout (IDs stored uppercase)
- Various performance and cleanup improvements

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 15:55:47 +00:00
Ben cb713d6c1a Initial commit 2026-03-03 19:11:05 +00:00