Torlando
ac9c14e8f9
Merge pull request #91 from torlando-tech/feat/map-pack-v3-browser-safe
...
Build and Deploy Firmware / build-and-deploy (push) Waiting to run
Test / Pyxis pytest suite (build_scripts + native) (push) Waiting to run
Test / microReticulum native unit tests (PlatformIO native17) (push) Waiting to run
feat: browser-side safe map-pack v3 installer (web flasher parity)
v0.3.7
2026-08-31 20:33:34 -04:00
Torlando
a10e5381ce
chore: bump map installer cache tag for the progress fix
2026-08-31 15:28:00 +00:00
Torlando
b0cc13a428
fix: report every map install phase in the flasher UI
2026-08-31 15:26:39 +00:00
Torlando
410f65984c
fix: close browser review findings (slot parity, smoke asserts, cache-bust)
2026-08-31 06:07:44 +00:00
Torlando
a3d1e04ffb
docs: define browser map installer safety contract
2026-08-31 04:43:30 +00:00
Torlando
39b0faf07c
test: exercise map installation through Chromium filesystem APIs
2026-08-31 04:33:31 +00:00
Torlando
f6d1317a96
fix: scope browser map lock to same-origin tabs
2026-08-31 03:18:06 +00:00
Torlando
5a586461be
feat: publish browser map-set activation with read-back ordering
2026-08-30 23:18:27 +00:00
Torlando
e03ac40ad6
fix: validate every inherited map pack before browser activation
2026-08-30 23:04:27 +00:00
Torlando
38f1139066
feat: derive browser PMAS v3 activation plans
2026-08-30 22:31:49 +00:00
Torlando
d2620060e5
feat: publish indexless PMPK v3 from browser installs
2026-08-30 22:23:32 +00:00
Torlando
1a526eb888
feat: add browser PMPK and PMAS v3 codecs
2026-08-30 20:44:57 +00:00
Torlando
e3008cf025
test: align map installer filesystem mock with browsers
2026-08-30 20:37:01 +00:00
Torlando
954c1a807e
Merge pull request #90 from torlando-tech/feat/map-pack-v3-cli-safe
...
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
feat: safe CLI PMPK v3 / PMAS v3 map-pack writers
2026-08-30 16:12:48 -04:00
Torlando
562776fe2c
fix: distinguish committed activation durability from failed activation
...
Greptile P2 (round 1): a post-rename parent-fsync failure during activation now reports that the record is committed and visible with only durability uncertain, instead of the generic 'activation failed' message; and the subprocess lock-holder helper repr-escapes the pyxis-map path so a path containing a quote still yields valid child Python.
2026-08-30 18:37:36 +00:00
Torlando
ac7e380c96
fix: guard legacy PMAS decode and document v3 strictness
2026-08-30 07:12:26 +00:00
Torlando
9897f1d895
docs: document PMPK v3 CLI installation contract
2026-08-30 05:56:05 +00:00
Torlando
0fb4256aa6
feat: enable safe CLI PMAS v3 activation
2026-08-30 05:51:40 +00:00
Torlando
3595fdaa1c
feat: validate inherited packs before activation
...
feat: publish activation atomically with read-back
2026-08-30 02:48:47 +00:00
Torlando
59d2805d5f
feat: derive PMAS v3 activation plans
2026-08-30 02:35:13 +00:00
Torlando
cc280cdf78
feat: build style-qualified PMPK v3 packs
...
fix: serialize CLI map installs with flock
2026-08-30 02:30:21 +00:00
Torlando
7cccca3a75
test: freeze PMPK and PMAS v3 wire vectors
...
feat: parse indexless PMPK v3 manifests
feat: serialize indexless PMPK v3 manifests
feat: encode and decode PMAS v3 selections
2026-08-30 02:17:57 +00:00
Torlando
27a207a633
Merge pull request #88 from torlando-tech/feat/map-visible-resolution
...
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
feat(maps): resolve visible tiles without span indexes
2026-08-28 19:03:15 -04:00
Torlando
0f6309c5a6
fix: widen MapTileStore path buffer for 31-char pack IDs
...
Raise MapTileStore::PATH_CAPACITY from 64 to 80 so the mount buffer
(PATH_CAPACITY + 4) holds the 80-character mounted tile path produced by
a maximum-length (31-char) pack ID with full-width tile coordinates.
Pre-fix, any tile with a two-digit x or y returned INVALID_ARGUMENT from
the mount-prefix snprintf, which MapTilePack maps to IO_ERROR and the UI
shows as 'Tile I/O error' even though the file exists and is intact.
The host regression test added in the prior commit now passes under both
strict C++11 and ASan/UBSan; reverting this change fails it.
2026-08-28 22:44:27 +00:00
Torlando
b7ab97d624
test: add host regression for MapTileStoreSD mount-path overflow
...
A 31-character pack ID makes mounted tile paths
(/sd/pyxis-map/packs/<id>/tiles/<z>/<x>/<y>.png) exceed the 68-byte mount
buffer once either x or y is two digits, so beginRead returns
INVALID_ARGUMENT and the UI shows 'Tile I/O error' at z4+ even though the
file exists and is intact.
Compiles the unmodified MapTilePack/MapTileStoreSD/SDAccess/codec/manifest
sources against small Arduino/FreeRTOS host shims. The core section (no
card needed) drives the real store with a model of the mount-prefix
arithmetic and asserts the 31-char-ID boundary loads at z4/z5; an optional
end-to-end section runs the real MapTilePack over a bound card root when
/sd is writable.
Fails on the current 64-byte PATH_CAPACITY: red by design.
2026-08-28 22:44:27 +00:00
Torlando
30c0d73565
fix(flasher): fully validate PNG tiles before publish
2026-08-20 05:00:06 +00:00
Torlando
ca5d582588
fix(flasher): install indexless map archives
2026-08-20 04:53:01 +00:00
Torlando
7c96ffac82
fix(maps): cancel stale tile rendering safely
2026-08-20 04:53:00 +00:00
Torlando
d9cb64a1ea
feat(maps): resolve visible tiles without span indexes
2026-08-20 04:53:00 +00:00
Torlando
4693e20b9a
Merge pull request #85 from torlando-tech/feat/release-merged-binary
...
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
release: ship merged full-flash binary on releases
v0.3.6
2026-08-18 13:23:34 -04:00
torlando-agent[bot]
f9e23a5825
docs: split esptool provisioning into separate erase_flash and write_flash
...
esptool accepts exactly one operation per invocation; the combined
'erase_flash write_flash 0x0 ...' form is rejected with a usage error.
Document erase_flash and write_flash as separate commands in the README
and the merge tool docstring (verified against esptool 5.3.1).
2026-08-18 16:37:50 +00:00
torlando-agent[bot]
01fc9adc79
release: ship merged full-flash binary on releases
...
Add tools/merge_pyxis_release.py, which assembles the four validated
release assets (bootloader, partition table, OTA selector, application)
into a single 8 MiB image at their fixed flash offsets on an erased
canvas, with per-image read-back and gap checks.
Wire it into release-firmware.yml so every tag build publishes
pyxis-<tag>-merged.bin as a release asset, and document the
provisioning semantics in the README: the merged image is a
first-install image (it erases NVS and LittleFS); data-preserving
updates keep using firmware.bin or the Columba .pyxis package.
2026-08-18 16:28:02 +00:00
Torlando
8b1d7dcff7
Merge pull request #84 from torlando-tech/feat/nomadnet-partials-ui
...
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
feat(nomadnet): integrate dynamic partial rendering
v0.3.5
2026-08-18 00:34:36 -04:00
Torlando
1818801691
Merge pull request #83 from torlando-tech/feat/nomadnet-partials-core
...
feat(nomadnet): add bounded partial core
2026-08-18 00:34:19 -04:00
torlando-agent[bot]
26de7c3e41
fix(nomadnet): keep partial refresh status in chrome
2026-08-18 01:30:14 +00:00
torlando-agent[bot]
1027667f5a
feat(nomadnet): integrate dynamic partial rendering
2026-08-17 23:49:13 +00:00
torlando-agent[bot]
b793f356e3
test(nomadnet): accept attested package reference
2026-08-17 20:09:48 +00:00
torlando-agent[bot]
b6faec8104
feat(nomadnet): add bounded partial core
2026-08-17 19:54:41 +00:00
Torlando
51e4b586c4
Merge pull request #82 from torlando-tech/feat/nomadnet-limits-observability
...
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
feat: enforce NomadNet limits and observability
2026-08-17 13:54:54 -04:00
Torlando
76f42c4d2a
Merge pull request #81 from torlando-tech/feat/nomadnet-sd-page-cache-impl
...
feat: add bounded NomadNet SD page cache
2026-08-17 13:54:38 -04:00
torlando-agent[bot]
27ac127f5e
fix: preserve eight-column NomadNet tables
2026-08-17 16:50:21 +00:00
torlando-agent[bot]
ca73ff2e3f
fix: show NomadNet navigation progress promptly
2026-08-17 15:47:41 +00:00
torlando-agent[bot]
5b76abfdbe
fix: align NomadNet cache response policy
2026-08-17 14:50:00 +00:00
torlando-agent[bot]
2f0f7900ca
feat: enforce NomadNet limits and observability
2026-08-17 09:11:10 +00:00
torlando-agent[bot]
3658c54cc7
fix: retry cache lookup after busy operation
2026-08-17 06:03:38 +00:00
torlando-agent[bot]
16af3b53af
feat: add bounded NomadNet SD page cache
2026-08-17 05:48:30 +00:00
Torlando
da55131c44
Merge pull request #80 from torlando-tech/fix/nomadnet-form-input-rendering
...
Build and Deploy Firmware / build-and-deploy (push) Canceled after 0s
Test / Pyxis pytest suite (build_scripts + native) (push) Canceled after 0s
Test / microReticulum native unit tests (PlatformIO native17) (push) Canceled after 0s
feat: add bounded NomadNet forms
2026-08-16 22:48:34 -04:00
torlando-agent[bot]
2ef6b0254d
ci: provision mandatory NomadNet peer gate
2026-08-17 02:34:24 +00:00
torlando-agent[bot]
f40fec17c4
fix: refine NomadNet form input handling
2026-08-17 01:07:19 +00:00
torlando-agent[bot]
050289a1bc
test: track secure microReticulum pin
2026-08-16 21:44:50 +00:00