494 Commits

Author SHA1 Message Date
JingleManSweep 2cc76b853b Merge pull request #176 from ipnet-mesh/chore/observer-ux-tweaks
Update observer table: SNR/Path headers and value suffix cleanup
v0.9.2
2026-04-26 14:53:07 +01:00
Louis King 51d7de9d88 Update observer table: SNR/Path headers and value suffix cleanup
- Rename SNR header to 'SNR (dB)', Path header to 'Hops'
- Remove ' dB' and ' hop/s' suffixes from column values
- Add i18n keys for snr_db and hops to en.json and docs/i18n.md
- Fix README ARM note: only 32-bit ARM unsupported, RPi 3/4/5 work
2026-04-26 14:50:28 +01:00
JingleManSweep 8139cbc17e Merge pull request #175 from ipnet-mesh/chore/fix-network-error-display
Preserve table content on API errors with header warning badge
2026-04-26 14:05:37 +01:00
Louis King 8dec688917 Preserve table content on API errors with header warning badge
Instead of replacing the entire table with an error alert on network
failures, the previous data now stays visible and a warning icon with
tooltip appears in the sub-header bar. The warning clears automatically
on the next successful poll.

Restructured page headers into title row + sub-header row (count,
auto-refresh, warning) for better mobile layout.
2026-04-26 14:03:26 +01:00
JingleManSweep e4655a6b59 Merge pull request #174 from ipnet-mesh/feature/improve-snr-path-visibility
Add observer detail rows with SNR/path data and UI polish
2026-04-26 13:05:10 +01:00
Louis King e867f0074a Add observer detail rows with SNR/path data and UI polish
- Add path_len column to event_observers table with Alembic migration
- Create shared observer_utils.py for building observer responses
- Extract SNR and path_len from LetsMesh uploads via normalizer
- Pass snr/path_len from all 4 handlers to add_event_observer()
- Add expandable observer detail sub-tables to messages and ads pages
- Rename Receivers column to Observers with updated i18n key
- Add satellite dish icon to observer badges and detail rows
- Add mobile card observer detail toggle
- Show full datetime tooltip on hover for relative times
- Hide Path column from advertisement observer tables (not populated)
2026-04-26 13:02:39 +01:00
JingleManSweep a0d59748f2 Merge pull request #172 from ipnet-mesh/chore/change-meshcore-links
Update MeshCore URLs to meshcore.io and tagline
v0.9.1
2026-04-24 11:18:30 +01:00
Louis King 74901441f5 Update MeshCore URLs to meshcore.io and tagline
- Replace meshcore.dev and meshcore.co.uk with meshcore.io across all files
- Replace flasher.meshcore.co.uk with flasher.meshcore.io
- Update MeshCore tagline to 'Off-Grid, Open-Source Encrypted Messaging'
2026-04-24 11:15:23 +01:00
JingleManSweep 7f5650d3f5 Merge pull request #171 from ipnet-mesh/chore/fix-markdown-styling
Fix markdown table borders in custom content pages
2026-04-21 22:00:49 +01:00
Louis King 55eb54ba10 Fix markdown table borders in custom content pages
Use DaisyUI v5 prose CSS custom properties (--tw-prose-td-borders,
--tw-prose-th-borders, --tw-prose-quote-borders, --tw-prose-hr)
instead of color-mix(in oklch, ..., transparent) which produced
invisible borders due to oklch/transparent color space mismatch.
2026-04-21 21:58:13 +01:00
JingleManSweep 305df54e1b Merge pull request #165 from ipnet-mesh/renovate/tailwindcss-monorepo
Update tailwindcss monorepo to v4.2.4
2026-04-21 20:51:26 +01:00
renovate[bot] ca92b85b57 Update tailwindcss monorepo to v4.2.4 2026-04-21 19:01:36 +00:00
JingleManSweep 0b9fa0cb2a Merge pull request #170 from ipnet-mesh/fix/traefik-priority
Add TRAEFIK_PRIORITY support for multi-instance deployments
v0.9.0
2026-04-21 20:00:56 +01:00
JingleManSweep 2aefb428d9 Merge branch 'main' into fix/traefik-priority 2026-04-21 19:59:04 +01:00
Louis King 0938ba4fd0 Add TRAEFIK_PRIORITY support for multi-instance deployments 2026-04-21 19:58:42 +01:00
JingleManSweep 7d0126aa87 Merge pull request #169 from ipnet-mesh/fix/test-fixes
Fix test_collector_with_data_home_override by unsetting SEED_HOME env var
2026-04-21 19:53:41 +01:00
JingleManSweep 6177835065 Merge branch 'main' into fix/test-fixes 2026-04-21 19:47:15 +01:00
Louis King 6d8b7642b0 Fix test_collector_with_data_home_override by unsetting SEED_HOME env var 2026-04-21 19:45:44 +01:00
JingleManSweep d442c5f75e Merge pull request #168 from ipnet-mesh/fix/public-key-casing
fix: normalize public keys to lowercase to prevent tag/event mismatches
2026-04-21 19:35:01 +01:00
Louis King 0478bb00a1 fix: normalize public keys to lowercase to prevent tag/event mismatches
The LetsMesh normalizer stored public keys as UPPERCASE while the tag
importer stored them as lowercase, creating duplicate nodes for the same
device. Normalize all public keys to lowercase throughout:
- MQTT topic parsing (event, command, LetsMesh upload)
- LetsMesh normalizer output
- Node model __init__ enforcement
- Alembic migration to merge duplicates and normalize existing data
2026-04-21 08:50:38 +01:00
JingleManSweep 4887463515 Merge pull request #164 from ipnet-mesh/feature/ui-bundling
Replace all CDN dependencies with locally built vendor assets
2026-04-20 13:18:56 +01:00
Louis King 4f202c068b Replace all CDN dependencies with locally built vendor assets
- Add Node.js 22 LTS frontend build stage (package.json, build.js)
- Build Tailwind CSS v4 + DaisyUI v5 via CLI instead of runtime CDN
- Vendor lit-html, Leaflet, Chart.js, QRCode.js locally
- Update Dockerfile with multi-stage Node.js frontend build
- Migrate all DaisyUI v4 CSS variables to v5 syntax in app.css
- Fix dashboard grid layout (static class names for Tailwind JIT)
- Fix map popup transparent background (v5 variable rename)
- Fix leaflet.js.map 404 (include source maps in vendor copy)
- Fix custom page button contrast (remove btn-neutral)
- Replace table-compact with table-sm (DaisyUI v5 rename)
2026-04-20 13:16:13 +01:00
JingleManSweep 49bbcf1b7c Merge pull request #163 from ipnet-mesh/chore/fix-subdomains
More fixes
2026-04-19 23:05:14 +01:00
Louis King d43a15bab0 More fixes 2026-04-19 23:03:03 +01:00
JingleManSweep fed4f7ba34 Merge pull request #162 from ipnet-mesh/chore/fix-subdomains
Added subdomain support for web service
2026-04-19 22:46:46 +01:00
Louis King 14e2ead4d2 Added subdomain support for web service 2026-04-19 22:44:36 +01:00
JingleManSweep 0f86870ba6 Merge pull request #161 from ipnet-mesh/chore/fix-packetcapture-compose
Fixed Packet Capture Docker Compose
2026-04-19 22:16:46 +01:00
JingleManSweep 3d681fc2da Merge branch 'main' into chore/fix-packetcapture-compose 2026-04-19 22:15:00 +01:00
JingleManSweep fb4d01ac5c Merge pull request #159 from ipnet-mesh/chore/action-fixes-2
Updates
2026-04-19 22:14:27 +01:00
Louis King 846e12ce66 Fixed Packet Capture Docker Compose 2026-04-19 22:13:38 +01:00
Louis King 79ab4ee06f Updates 2026-04-19 21:58:43 +01:00
Louis King 5df308b6bc Updates 2026-04-19 21:56:59 +01:00
JingleManSweep 3567f86408 Merge pull request #156 from ipnet-mesh/chore/add-packet-capture-resources
Add observer Docker Compose setup and update README instructions
2026-04-19 21:55:37 +01:00
JingleManSweep 70ccafeb97 Merge pull request #158 from ipnet-mesh/chore/fix-actions
Updates
2026-04-19 21:55:06 +01:00
Louis King 0d6c79797e Updates 2026-04-19 21:52:10 +01:00
Louis King a587c93914 Normalize LetsMesh spelling in docker-compose comments 2026-04-19 21:49:23 +01:00
Louis King 710263b248 Add observer Docker Compose setup and update README instructions
Add contrib/packetcapture/ with ready-made docker-compose.yml and .env.example
for remote observers. Parameterize MQTT port and TLS for local network use.
Rewrite README observer section with wget-based setup workflow.
2026-04-19 21:47:57 +01:00
JingleManSweep 19ac2f8aa1 Merge pull request #155 from ipnet-mesh/chore/quick-fixes
Add content and webhooks docs links to README
2026-04-18 11:47:09 +01:00
Louis King d0d134236b Fixes 2026-04-18 11:45:31 +01:00
Louis King aac1d8553f Traefik fixes 2026-04-18 10:56:26 +01:00
Louis King 0d4c8643f3 Updates 2026-04-18 10:04:47 +01:00
Louis King e513a627bb Add content and webhooks docs links to README 2026-04-18 10:04:10 +01:00
JingleManSweep cbeab3baa0 Merge pull request #147 from ipnet-mesh/renovate/codecov-codecov-action-6.x
Update codecov/codecov-action action to v6
2026-04-17 23:12:23 +01:00
renovate[bot] 01a3b24a8a Update codecov/codecov-action action to v6 2026-04-17 22:06:59 +00:00
JingleManSweep 1c4eb23276 Merge pull request #148 from ipnet-mesh/feat/meshcore-packet-capture-receiver
LetsMesh Integration
2026-04-17 23:06:36 +01:00
Louis King 7be5b0585c Sync documentation: add missing env vars, fix project structure trees 2026-04-17 23:04:35 +01:00
Louis King e9bab33560 Restrict opencode workflow to repo owners/members/collaborators 2026-04-17 22:47:43 +01:00
Louis King f1dc155a0f Move Webhooks and Custom Content sections to dedicated docs 2026-04-17 22:38:15 +01:00
Louis King ccadfa73fd Remove redundant docker-compose commands, move ARM note to Simple Self-Hosted Setup 2026-04-17 22:28:19 +01:00
Louis King d565e2d7a2 Add ARM/Raspberry Pi note for observer service with native install guidance 2026-04-17 22:25:18 +01:00