mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-10-15 10:39:59 +00:00
7d158a7595e8c286b86d1ec2d01d23d74531007c
Local patch via patch_filestore.py for upstream attermann/microStore issue: \`finalize_compaction()\` and \`clear()\` both call \`_filesystem.remove()\` on segment files without first closing \`active_file\`. On filesystems that don't auto-close FDs on unlink (LittleFS / FAT) the descriptor leaks. Over enough compaction cycles on pyxis the path-store eventually can't open new files. Both \`open_segment()\` and \`rotate_segment_if_needed()\` already close \`active_file\` before reopening — the unlink paths just forgot. Added \`if (active_file) active_file.close();\` at the top of each. Validated: 2-round LXMF soak post-patch, 8 pass / 2 fail, identical to pre-patch baseline (the 2 fails are the known propagation timing flake unrelated to FD handling). Patch applies cleanly and re-applies on every build via the pre-build hook. Will be reverted once the upstream lands the same fix; tracked in the vault TODO at "80 Assistant/Memory/pyxis/upstream_patches.md". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pyxis
An LXMF and LXST client firmware for T-Deck, built on a highly modified fork of microReticulum
Very much WIP, don't expect stability :)
Features
Reticulum transport over:
- RNode-compatible LoRa
- AutoInterface (local wifi)
- TCP Client
- BLE Interface (barely working if at all)
Other features:
- GPS-synced time
- One really annoying beep when you get a new message (user toggle)
- View the announce stream
- Choose a propagation node (and sync with it) (fixed in v0.2.1)
- Set auto announce timer
- Light up keyboard (user toggle)
Will crash in about 5 minutes of normal use (sorry)I had 5d uptime on v0.2.0 with BLE disabled- Make LXST voice calls (codec2 only, quality sounds horrible coming out the other end in Columba, needs work)
Why "Pyxis"
Pyxis, latin for "compass," is a constellation in the southern sky depicting a mariner's compass. Small but essential, the compass ensures every message finds its destination - even when the path is uncertain.
Languages
C++
47%
C
40.3%
Python
10.7%
JavaScript
1%
mupad
0.7%
Other
0.2%