Commit Graph
376 Commits
Author SHA1 Message Date
hermes-gadgetandgadgethd 24206957bb feat(owner): land owner-controlled packet sharing (rescued VPS WIP) (#101)
* feat(owner): add owner-controlled packet sharing

* docs: record B3 packet-sharing handoff

* docs(api): regenerate openapi for packet-sharing routes

* test(db): extend migration registry expectation to 052-054

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-10-01 00:39:40 +01:00
hermes-gadgetandgadgethd 029cc6ac33 fix(ops): ukmesh deploy/alert/stats hardening (#47 #54 #55 #57) (#104)
* test(viewshed): inject post-commit side-effect failures

* fix(deploy): rollback on unhealthy or mismatched sites

* fix(alerts): persist forwarding queue across restarts

* perf(stats): add per-network aggregate cutover controls

* docs: add Mission C5d handoff

* test(viewshed): correct side-effect marker cursor row sets

* fix(alerts): keep archive-only receiver live

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-10-01 00:24:31 +01:00
b285cdb288 fix(security,ops): close ukmesh auth/users findings (#50 #51 #52 #53 #58) (#103)
* docs: add C5a mission handoff

* security: classify channel keys and baseline reviewed findings

* security: revalidate MQTT auth and revoke owner sessions

* test(ops): cover concurrent newuser grant updates

* fix(ops): preserve executable newuser test

* fix(ops): cover partial newuser rollback failures

* fix(owner): preserve password whitespace during login

* docs: add C5c mission handoff

* test(cache): drop stale authCache policy entry (cache removed by auth revalidation)

* docs: keep HANDOFF on current mission

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
Co-authored-by: hermes-gadget <284726080+hermes-gadget@users.noreply.github.com>
2026-10-01 00:09:44 +01:00
hermes-gadgetandgadgethd 4940c2e6b3 fix: ukmesh small batch — run-state policy, measured feed rows, /raw disposition (#102)
* fix(analysis): restore retired run-state policy (#301)

* fix(feed): measure UK feed virtual row heights (#303)

* docs(mqtt): document denied raw publish disposition (#269 #213)

* docs: hand off Mission B4 small batch

* ci: retrigger workflow after hung runner run

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-09-30 23:49:51 +01:00
hermes-gadgetandgadgethd 5574d70139 fix: close High findings #43 + #45 — durable MQTT ingestion, bounded telemetry lifecycle (#100)
* fix(mqtt): ack QoS1 after durable persistence

* fix(retention): bound core telemetry lifecycle

* docs: add C5b durability handoff

* test(rules): 1m cadence for telemetry lifecycle alert windows so for: timers accumulate

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-09-30 23:35:04 +01:00
hermes-gadgetandgadgethd f445a24467 fix: close High findings #42 + #46 — public status DTO, split-infra resolver (#99)
* fix(api): allowlist public node status fields

* fix(ops): resolve split infrastructure containers exactly

* docs: add C5a mission handoff

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-09-30 23:19:31 +01:00
hermes-gadgetandgadgethd 27f1822e75 ops: owner-baseline auto-rebaseline (check tool + timer + reviewed refresh script) (#97)
* feat(ops): auto-rebaseline owner ACL inventory

* docs(ops): handoff owner baseline autorebaseline

* ops: add reviewed owner-authorization baseline refresh script

scripts/refresh-owner-baseline.sh regenerates the owner inventory baseline
with the running backend image, validates it against the live inventory
(fail-closed), backs up .env before repointing, and can recreate the backend.
It refuses to overwrite an existing baseline and keeps the previous file for
rollback. Adds the matching operations runbook section.

* test(ops): cover refresh baseline validation output

---------

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-09-30 23:00:21 +01:00
gadgethd 71a54f2a2d fix(privacy): rematerialize packet privacy asynchronously (#107) 2026-09-30 23:00:07 +01:00
dependabot[bot] 846422e5ad chore(deps): bump the actions group across 1 directory with 3 updates (#106)
Bumps the actions group with 3 updates in the / directory: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [docker/build-push-action](https://github.com/docker/build-push-action) and [anchore/sbom-action](https://github.com/anchore/sbom-action).


Updates `docker/setup-buildx-action` from 4.3.0 to 4.4.1
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/37fe631027851001ddb9b187196cc803df7f5f0e...f87e5991a6d7451dcb8d9637bfbc97413f497069)

Updates `docker/build-push-action` from 7.3.0 to 7.4.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/53b7df96c91f9c12dcc8a07bcb9ccacbed38856a...c3c9e263c25d99ce0380d002d59b67737d91b0dc)

Updates `anchore/sbom-action` from 0.24.0 to 0.24.2
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](https://github.com/anchore/sbom-action/compare/e22c389904149dbc22b58101806040fa8d37a610...3ad7283483fc7af8ff2b4ea19663c2d5ca935e26)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: docker/build-push-action
  dependency-version: 7.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: anchore/sbom-action
  dependency-version: 0.24.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 22:59:15 +01:00
dependabot[bot] c77aad07cd chore(deps): bump the backend-dependencies group across 1 directory with 5 updates (#105)
Bumps the backend-dependencies group with 5 updates in the /backend directory:

| Package | From | To |
| --- | --- | --- |
| [compression](https://github.com/expressjs/compression) | `1.8.1` | `1.8.2` |
| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `8.6.2` | `8.7.0` |
| [mqtt](https://github.com/mqttjs/MQTT.js) | `5.15.2` | `5.16.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.2.0` | `26.6.2` |
| [tsx](https://github.com/privatenumber/tsx) | `4.23.12` | `4.23.15` |



Updates `compression` from 1.8.1 to 1.8.2
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/v1.8.1...v1.8.2)

Updates `express-rate-limit` from 8.6.2 to 8.7.0
- [Release notes](https://github.com/express-rate-limit/express-rate-limit/releases)
- [Commits](https://github.com/express-rate-limit/express-rate-limit/compare/v8.6.2...v8.7.0)

Updates `mqtt` from 5.15.2 to 5.16.0
- [Release notes](https://github.com/mqttjs/MQTT.js/releases)
- [Changelog](https://github.com/mqttjs/MQTT.js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mqttjs/MQTT.js/compare/v5.15.2...v5.16.0)

Updates `@types/node` from 26.2.0 to 26.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `tsx` from 4.23.12 to 4.23.15
- [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.12...v4.23.15)

---
updated-dependencies:
- dependency-name: compression
  dependency-version: 1.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-dependencies
- dependency-name: express-rate-limit
  dependency-version: 8.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-dependencies
- dependency-name: mqtt
  dependency-version: 5.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-dependencies
- dependency-name: "@types/node"
  dependency-version: 26.6.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: backend-dependencies
- dependency-name: tsx
  dependency-version: 4.23.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: backend-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 22:59:10 +01:00
dependabot[bot] 3b7992dd7b chore(deps): bump node from aadf416 to 2d984a1 (#81)
Bumps node from `aadf416` to `2d984a1`.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 26-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 22:59:06 +01:00
dependabot[bot] 05ff009d14 chore(deps): bump nginx from db35bfc to a9ae6f6 (#80)
Bumps nginx from `db35bfc` to `a9ae6f6`.

---
updated-dependencies:
- dependency-name: nginx
  dependency-version: alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 22:59:02 +01:00
dependabot[bot] 5588742533 chore(deps): bump the frontend-dependencies group across 1 directory with 18 updates (#96)
Bumps the frontend-dependencies group with 18 updates in the /frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@deck.gl/aggregation-layers](https://github.com/visgl/deck.gl) | `9.3.10` | `9.4.0` |
| [@deck.gl/core](https://github.com/visgl/deck.gl) | `9.3.10` | `9.4.0` |
| [@deck.gl/extensions](https://github.com/visgl/deck.gl) | `9.3.10` | `9.4.0` |
| [@deck.gl/layers](https://github.com/visgl/deck.gl) | `9.3.10` | `9.4.0` |
| [@deck.gl/mapbox](https://github.com/visgl/deck.gl) | `9.3.10` | `9.4.0` |
| [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `6.5.0` | `6.10.0` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.0` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |
| [react-aria-components](https://github.com/adobe/react-spectrum) | `1.20.0` | `1.21.1` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.0` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |
| [react-is](https://github.com/react/react/tree/HEAD/packages/react-is) | `19.2.8` | `19.3.0` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `8.3.0` | `8.4.0` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.62.1` | `1.63.0` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.1.0` | `6.1.1` |
| [postcss](https://github.com/postcss/postcss) | `8.5.26` | `8.5.28` |
| [tsx](https://github.com/privatenumber/tsx) | `4.23.12` | `4.23.15` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.0` |



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

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

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

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

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

Updates `maplibre-gl` from 6.5.0 to 6.10.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.5.0...v6.10.0)

Updates `react` from 19.2.8 to 19.3.0
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react)

Updates `@types/react` from 19.2.18 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `react-aria-components` from 1.20.0 to 1.21.1
- [Release notes](https://github.com/adobe/react-spectrum/releases)
- [Commits](https://github.com/adobe/react-spectrum/compare/react-aria-components@1.20.0...react-aria-components@1.21.1)

Updates `react-dom` from 19.2.8 to 19.3.0
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react-dom)

Updates `@types/react-dom` from 19.2.5 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `react-is` from 19.2.8 to 19.3.0
- [Release notes](https://github.com/react/react/releases)
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react-is)

Updates `react-router` from 8.3.0 to 8.4.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router@8.4.0/packages/react-router)

Updates `@playwright/test` from 1.62.1 to 1.63.0
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.62.1...v1.63.0)

Updates `@types/react` from 19.2.18 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `@types/react-dom` from 19.2.5 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@vitejs/plugin-react` from 6.1.0 to 6.1.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.1/packages/plugin-react)

Updates `postcss` from 8.5.26 to 8.5.28
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.26...8.5.28)

Updates `tsx` from 4.23.12 to 4.23.15
- [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.12...v4.23.15)

Updates `vite` from 8.2.2 to 8.3.0
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.3.0/packages/vite)

---
updated-dependencies:
- dependency-name: "@deck.gl/aggregation-layers"
  dependency-version: 9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/core"
  dependency-version: 9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/extensions"
  dependency-version: 9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/layers"
  dependency-version: 9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@deck.gl/mapbox"
  dependency-version: 9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@playwright/test"
  dependency-version: 1.63.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@types/react"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@types/react"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: maplibre-gl
  dependency-version: 6.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: postcss
  dependency-version: 8.5.28
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: react
  dependency-version: 19.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: react-aria-components
  dependency-version: 1.21.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: react-dom
  dependency-version: 19.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: react-is
  dependency-version: 19.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: react-router
  dependency-version: 8.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: tsx
  dependency-version: 4.23.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: vite
  dependency-version: 8.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  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-09-30 22:58:10 +01:00
dependabot[bot] d3eb1e55ef chore(deps): bump the rf-worker-dependencies group across 1 directory with 2 updates (#94)
Bumps the rf-worker-dependencies group with 2 updates in the /viewshed-worker directory: [numpy](https://github.com/numpy/numpy) and [psycopg2-binary](https://github.com/psycopg/psycopg2).


Updates `numpy` from 2.5.2 to 2.5.3
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v2.5.2...v2.5.3)

Updates `psycopg2-binary` from 2.9.12 to 2.9.13
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Commits](https://github.com/psycopg/psycopg2/compare/2.9.12...2.9.13)

---
updated-dependencies:
- dependency-name: numpy
  dependency-version: 2.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rf-worker-dependencies
- dependency-name: psycopg2-binary
  dependency-version: 2.9.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rf-worker-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 22:58:06 +01:00
dependabot[bot] b3dfed014c chore(deps-dev): bump the scripts-dependencies group across 1 directory with 2 updates (#82)
Bumps the scripts-dependencies group with 2 updates in the /scripts directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [tsx](https://github.com/privatenumber/tsx).


Updates `@types/node` from 26.2.0 to 26.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `tsx` from 4.23.12 to 4.23.15
- [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.12...v4.23.15)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: scripts-dependencies
- dependency-name: tsx
  dependency-version: 4.23.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: scripts-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-30 22:58:02 +01:00
gadgethd 2fa80fa10d fix(ws): release client state when initial loading fails (#90) 2026-09-23 11:52:15 +01:00
gadgethd 05803a5e74 perf(health): combine repeated packet diagnostic scans (#88) 2026-09-23 11:52:11 +01:00
gadgethd 822fb66af0 perf(cache): skip expiry scans while cached entries are fresh (#86) 2026-09-23 11:52:07 +01:00
ben d44ef5e572 chore: remove obsolete planning documents 2026-09-20 14:07:03 +01:00
hermes-gadgetandgadgethd 2c2b9d9de4 fix(owner): make grant reconciliation rollout-safe (#79)
Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-08-31 16:18:05 +01:00
hermes-gadgetandgadgethd b09e400886 fix(vacuum): resolve timescaledb compose project for two-project layout (#78)
The maintenance script ran bare `docker compose` in the repo dir, which
fails on the deployed layout where the database lives in the separate
meshcore-infra compose project ('db-migrate depends on undefined service
timescaledb'). Mirror scripts/backup.sh: when COMPOSE_FILE is unset,
target the meshcore-infra project (overridable via MESHCORE_INFRA_DIR /
MESHCORE_INFRA_PROJECT_NAME); the test harness keeps working because it
sets COMPOSE_FILE/COMPOSE_PROJECT_NAME (env path unchanged).

Verified: read-only chunk inventory runs on projects-vps; test-vacuum-
maintenance.sh fixture suite re-run.

Co-authored-by: gadgethd <111318106+gadgethd@users.noreply.github.com>
2026-08-31 15:58:00 +01:00
hermes-gadget f906afc995 fix(e2e): align mobile flows and cookie contrast 2026-08-29 11:55:36 +01:00
hermes-gadget cc566b3c28 fix(ci): restore E2E and contract gates 2026-08-29 11:39:38 +01:00
dependabot[bot] 9fc5c99898 chore(deps): bump nginx from 4a73073 to db35bfc (#72)
Bumps nginx from `4a73073` to `db35bfc`.

---
updated-dependencies:
- dependency-name: nginx
  dependency-version: alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-29 11:22:27 +01:00
dependabot[bot] f555b46932 chore(deps): bump osgeo/gdal in /viewshed-worker (#73)
Bumps [osgeo/gdal](https://github.com/OSGeo/gdal) from ubuntu-full-3.13.2 to ubuntu-full-3.13.3.
- [Release notes](https://github.com/OSGeo/gdal/releases)
- [Changelog](https://github.com/OSGeo/gdal/blob/master/NEWS.md)
- [Commits](https://github.com/OSGeo/gdal/compare/v3.13.2...v3.13.3)

---
updated-dependencies:
- dependency-name: osgeo/gdal
  dependency-version: ubuntu-full-3.13.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-29 11:22:24 +01:00
dependabot[bot] e2ee775fae chore(deps-dev): bump @types/pg (#74)
Bumps the backend-dependencies group in /backend with 1 update: [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg).


Updates `@types/pg` from 8.21.0 to 8.23.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

---
updated-dependencies:
- dependency-name: "@types/pg"
  dependency-version: 8.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: backend-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-29 11:22:21 +01:00
dependabot[bot] db291e72eb chore(deps-dev): bump @types/pg (#75)
Bumps the scripts-dependencies group in /scripts with 1 update: [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg).


Updates `@types/pg` from 8.21.0 to 8.23.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pg)

---
updated-dependencies:
- dependency-name: "@types/pg"
  dependency-version: 8.23.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: scripts-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-29 11:22:18 +01:00
dependabot[bot] 6c123979cb chore(deps): bump the frontend-dependencies group (#76)
Bumps the frontend-dependencies group in /frontend with 4 updates: [maplibre-gl](https://github.com/maplibre/maplibre-gl-js), [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom), [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `maplibre-gl` from 6.4.0 to 6.5.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.4.0...v6.5.0)

Updates `@types/react-dom` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

Updates `@vitejs/plugin-react` from 6.0.5 to 6.1.0
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.0/packages/plugin-react)

Updates `vite` from 8.2.1 to 8.2.2
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.2.2/packages/vite)

---
updated-dependencies:
- dependency-name: maplibre-gl
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: "@types/react-dom"
  dependency-version: 19.2.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: frontend-dependencies
- dependency-name: "@vitejs/plugin-react"
  dependency-version: 6.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: frontend-dependencies
- dependency-name: vite
  dependency-version: 8.2.2
  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-29 11:22:14 +01:00
dependabot[bot] 2be2b498a6 chore(deps): bump scipy (#77)
Bumps the rf-worker-dependencies group in /viewshed-worker with 1 update: [scipy](https://github.com/scipy/scipy).


Updates `scipy` from 1.18.0 to 1.18.1
- [Release notes](https://github.com/scipy/scipy/releases)
- [Commits](https://github.com/scipy/scipy/compare/v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: scipy
  dependency-version: 1.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rf-worker-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-29 11:22:11 +01:00
gadgethd 1eefb50b31 fix(map): remove duplicate attribution controls — default MapLibre attribution is sufficient 2026-08-27 23:59:16 +00:00
gadgethd aee892cc82 fix(ws): improve initial-state size estimator accuracy and drop duplicate viable_pairs 2026-08-27 23:59:16 +00:00
gadgethd 4f4546f31a test(e2e): migrate E2E test route stubs from CARTO to OpenFreeMap 2026-08-27 23:48:01 +00:00
gadgethd 0a41d4bfc6 refactor(map): fix overlay anchors and migrate mini-maps to OpenFreeMap with attribution 2026-08-27 23:48:01 +00:00
gadgethd fda05b835f refactor(map): rewrite theme switching to use OpenFreeMap setStyle with style.load rehydration 2026-08-27 23:48:01 +00:00
gadgethd c177bc44d4 refactor(map): replace CARTO basemap definitions with OpenFreeMap style URLs 2026-08-27 23:48:01 +00:00
gadgethd d864d0a15b infra: migrate preconnects, CSP, and service worker from CARTO to OpenFreeMap 2026-08-27 23:48:01 +00:00
gadgethd 5b555a7d4f style(repeaters): drop IATA chip from top adverting list 2026-08-27 23:48:01 +00:00
gadgethd 44f52fd7e4 fix(api): coerce COUNT(*) string to numeric adverts_in_window 2026-08-27 23:48:01 +00:00
gadgethd 79e5e4ad0b feat(repeaters): top 10 adverting repeaters (24h) in repeater search empty state 2026-08-27 23:48:01 +00:00
gadgethd bf7d7ad85e fix: anchor confirmed paths and stabilize observer dots 2026-08-27 23:48:01 +00:00
gadgethd 2a4dd27bcd fix(site): update operator Discord handle to sudogadget on install page 2026-08-27 23:48:01 +00:00
gadgethd 306b512ab0 docs: record database reset readiness evidence 2026-08-27 23:48:01 +00:00
gadgethd d11336da64 fix(backup): restore split-stack recovery workflow 2026-08-27 23:48:01 +00:00
gadgethd b7bd60f629 fix(owner): preserve authorization inventory across reset 2026-08-27 23:48:01 +00:00
gadgethd 26781dc7d9 fix(db): make reset schema and lifecycle reproducible 2026-08-27 23:48:01 +00:00
gadgethd ece8c70aa6 fix(map): fetch DEM z0-4 too (MapLibre 6 pyramid starts at lowest available zoom) 2026-08-27 23:48:01 +00:00
gadgethd 42cfdca975 chore: record MapLibre terrain release 2026-08-27 23:48:01 +00:00
gadgethd b50957c0ba fix(map): let MapLibre select terrain DEM pyramid 2026-08-27 23:48:01 +00:00
gadgethd 69b0f3811e fix(map): restore multi-tile terrain on MapLibre 6 2026-08-27 23:48:01 +00:00
gadgethd 733b0f11e4 chore: re-baseline drift-guard manifests (terrain fix release) 2026-08-27 23:47:37 +00:00