Commit Graph

1191 Commits

Author SHA1 Message Date
recanman
e86d30a0c6 frontend bugfix: Handle null input in ExpandableInput, make ntfy_url nullable (#1055)
* handle `null` input in `ExpandableInput`

* correct `ntfy_url` config type

* remove extra space
2026-05-22 22:10:04 +02:00
dependabot[bot]
e83ba9922d Bump @sveltejs/kit (#1049)
Bumps the security group with 1 update in the /installer-gui directory: [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit).


Updates `@sveltejs/kit` from 2.57.1 to 2.60.1
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.60.1/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-version: 2.60.1
  dependency-type: direct:development
  dependency-group: security
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-22 16:08:24 +02:00
dependabot[bot]
7e525c5c02 Bump @sveltejs/kit (#1050)
Bumps the security group with 1 update in the /daemon/web directory: [@sveltejs/kit](https://github.com/sveltejs/kit/tree/HEAD/packages/kit).


Updates `@sveltejs/kit` from 2.58.0 to 2.60.1
- [Release notes](https://github.com/sveltejs/kit/releases)
- [Changelog](https://github.com/sveltejs/kit/blob/main/packages/kit/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/kit/commits/@sveltejs/kit@2.60.1/packages/kit)

---
updated-dependencies:
- dependency-name: "@sveltejs/kit"
  dependency-version: 2.60.1
  dependency-type: direct:development
  dependency-group: security
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-22 16:08:21 +02:00
recanman
22259dbbcc improve installation docs consistency (#1051)
Co-authored-by: Markus Unterwaditzer <markus-github@unterwaditzer.net>
2026-05-22 00:31:52 +02:00
Markus Unterwaditzer
4526203af8 Do not recompile installer if files are missing
Currently the installer is recompiled everytime a file is missing, even
if the file has been missing before and after the last compilation.

That is because rerun-if-changed on a nonexistent filepath constantly
busts the cache.
2026-05-19 10:35:35 -07:00
Markus Unterwaditzer
3e53aef145 Collapse ntfy settings if unused
Like in the webdav settings, have a checkbox that expands a few form
fields.
2026-05-19 19:34:24 +02:00
Ember
c2ba5a2a6c Add daemon startup smoke test and let it run on a PC in debug_mode
v0.11.0 shipped a daemon binary that built fine but didn't actually serve
a working frontend. CI was green. Nothing in the pipeline asserted that
the built binary comes up and serves something.

Add daemon/tests/smoke.rs as an integration test that spawns the built
binary against a tempdir-backed config with debug_mode = true, picks an
ephemeral port, and asserts:

- GET /index.html is 2xx and the decompressed body contains "Rayhunter"
- GET /api/qmdl-manifest is 2xx
- the daemon exits cleanly on SIGINT

Captures the daemon's stderr into a buffer so startup/shutdown failures
print actionable context instead of just "did not start listening".

Runs as part of the regular cargo test invocation, no new CI job.

For the smoke test (and #826) to work, the daemon needs to come up on a
PC without /dev/diag, a screen, or wpa_supplicant. The DIAG read thread,
display driver, and key input were already gated on debug_mode. Gate the
two remaining device-dependent workers the same way:

- run_battery_notification_worker (polls battery sysfs paths)
- wifi_station::run_wifi_client (talks to wpa_supplicant)

doc/installing-from-source.md gains a "Running the daemon on your PC"
section. doc/porting.md drops its duplicate debug_mode line and links to
the new section.

Closes #826.
2026-05-19 10:31:21 -07:00
Markus Unterwaditzer
5636cf4311 fix js formatting 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
0c90f8910a Use latest packet timestamp in GPS file, move writing into DiagTask to eliminate RwLocks, remove "sidecar" word from codebase 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
2ada840919 fix js lints 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
19df99d663 fix clippy 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
0259b101b5 compact UI a bit 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
9823fd3205 fix bad color in configform, move some docs into api docs 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
0783db6e01 reformat gps docs 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
0033b762d9 reformat frontend and refactor gps mode display 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
3aa3ce89c8 remove format! calls entirely 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
bd5dfb1a75 address most of wills review feedback, fix serialization and stringly error handling in DiagTask::start 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
a58bad09fc Remove unused import 2026-05-18 15:30:55 -07:00
Carlos Guerra
fc5593f00b rebasing with upsream (webdav and wifi client) 2026-05-18 15:30:55 -07:00
Carlos Guerra
049a842987 suggested fix for gps feature, sorting timestamps 2026-05-18 15:30:55 -07:00
Carlos Guerra
7bae34061d fixes requested, gps timestamp corrected, more error managing, more border conditions covered 2026-05-18 15:30:55 -07:00
Carlos Guerra
5a4a3034be requests addressed, better error handling, more logging, small text corrections 2026-05-18 15:30:55 -07:00
Carlos Guerra
ba78c7bd01 new merge conflict addressed, to_datetime unused code removed, some refactoring to appease tests 2026-05-18 15:30:55 -07:00
Carlos Guerra
fee082cde4 replacing numbered options in config with rust enum implementation, unique commit to make easier to debug or rollback 2026-05-18 15:30:55 -07:00
Carlos Guerra
0b91a6e5d3 PR chage requests, revision to GPS logging feature, code cleanup 2026-05-18 15:30:55 -07:00
Carlos Guerra
dbe102e366 including documentation changes 2026-05-18 15:30:55 -07:00
Carlos Guerra
43d9b278cd trimming gps.rs to go under 400 loc changed 2026-05-18 15:30:55 -07:00
Carlos Guerra
5451e23293 added documentation and polishing UI around GPS mode 2026-05-18 15:30:55 -07:00
Carlos Guerra
66f0c2a336 Kismet GPS option section per packet dcriped, refactoring to reduce loc 2026-05-18 15:30:55 -07:00
Carlos Guerra
adb316e2d7 GPS information included in PCAP files as comment and with Kismet proposed standard 2026-05-18 15:30:55 -07:00
Carlos Guerra
c107314194 GPS feature webapp side: GPS mode selector, fixed mode lat/lon, API endpoint. Merging with Wifi client and webdav features 2026-05-18 15:30:55 -07:00
Markus Unterwaditzer
ac33ebaf53 Remove stdout redirects
See #1016
2026-05-18 09:59:39 -07:00
Markus Unterwaditzer
047fbc216f Fix CI: MacOS runner update breaks rust-cache action
https://github.com/Swatinem/rust-cache/issues/341
2026-05-15 09:19:43 -07:00
dependabot[bot]
d43aa28294 Bump svelte in /daemon/web in the security group across 1 directory
Bumps the security group with 1 update in the /daemon/web directory: [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte).


Updates `svelte` from 5.55.5 to 5.55.7
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.55.7/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.55.7
  dependency-type: direct:development
  dependency-group: security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:40:16 +02:00
dependabot[bot]
af09802573 Bump svelte in /installer-gui in the security group across 1 directory
Bumps the security group with 1 update in the /installer-gui directory: [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte).


Updates `svelte` from 5.55.4 to 5.55.7
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.55.7/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-version: 5.55.7
  dependency-type: direct:development
  dependency-group: security
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:39:59 +02:00
Markus Unterwaditzer
866b269dbd Release 0.11.1 v0.11.1 2026-05-12 12:32:37 -07:00
Markus Unterwaditzer
da4e723eff Revert "Compress the web frontend using brotli"
This reverts commit 00e4cb7a75.
2026-05-12 12:18:17 -07:00
Markus Unterwaditzer
a3e7d0ef43 Fix CI: installer-gui needs wpa-supplicant 2026-05-12 19:52:49 +02:00
Cooper Quintin
d941021853 bump version to 0.11.0 v0.11.0 2026-05-12 09:37:02 -07:00
Markus Unterwaditzer
3fcd908d68 Add config UI for webdav uploader 2026-05-12 00:32:05 +02:00
Markus Unterwaditzer
e7ffebbb30 Add upload indicator to UI 2026-05-12 00:32:05 +02:00
Markus Unterwaditzer
6aa3491a6c Fix config template: host/path -> url 2026-05-12 00:32:05 +02:00
Cooper Quintin
f079bda4fe remove incorrect documentation 2026-05-11 14:48:34 -07:00
Markus Unterwaditzer
00e4cb7a75 Compress the web frontend using brotli
We can save 10 kB of binary size by compressing the frontend using
brotli on max settings instead of gzip. Any browser beyond 2017 will be
able to handle this, and since the Tailwind upgrade we already require
browsers from 2024. (see also #903)

Also we can stop using whatever gzlip cli is on the system, node has
some stuff builtin.

Source for the claim we require chrome 2023/firefox 2024 baseline right
now: https://tailwindcss.com/docs/compatibility

Compression comparison:

| codec | size (bytes) | vs gzip -9 | wire format | `Content-Encoding` |
|---|---:|---:|---|---|
| (uncompressed) | 171,833 | +210.6% | — | — |
| gzip -9 | 55,313 | — | gzip | `gzip` |
| pigz -9 | 55,436 | +0.2% | gzip | `gzip` |
| brotli q=4 | 55,085 | -0.4% | brotli | `br` |
| brotli q=6 | 51,518 | -6.9% | brotli | `br` |
| brotli q=9 | 51,243 | -7.4% | brotli | `br` |
| **pigz -11** (zopfli) | **53,340** | **-3.6%** (~2 KB) | **gzip** | `gzip` |
| **brotli q=11** | **47,712** | **-13.7%** (~7.4 KB) | **brotli** | `br` |
2026-05-11 14:04:26 -07:00
Markus Unterwaditzer
c4eca245b9 CI: Rebuild everything if Cargo.lock, dist/ or scripts/ changes
See https://github.com/EFForg/rayhunter/pull/1020
2026-05-08 17:22:22 -07:00
Ember
768d5c877e updated wifi-station dependency to use version published to crates.io (#1022)
* updated wifi-station dependency to use version published to crates.io

* drop unrelated windows-core downgrade from lockfile
2026-05-09 01:35:20 +02:00
Brad Warren
5152544cea fix conditions on build_wpa_supplicant 2026-05-08 20:28:21 +02:00
Brad Warren
ba34a58c5d update @tauri-apps packages 2026-05-08 20:28:21 +02:00
isacloud
51da77fde0 Update tplink-m7350.md: v1.0 supported (#1019) 2026-05-08 16:45:16 +02:00
dependabot[bot]
c571bdf1de Bump tauri from 2.10.3 to 2.11.1 in the security group across 1 directory (#1018)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 12:17:09 +02:00