torlando-techandClaude Opus 4.7 7d158a7595 fix(microStore): close active_file before unlinking segments (FD leak)
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>
2026-05-09 03:16:12 -04:00
2026-02-07 11:49:21 -05:00
2026-03-04 14:12:36 -05:00

Pyxis logo

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.

S
Description
No description provided
Readme GPL-3.0
311 MiB
Languages
C++ 47%
C 40.3%
Python 10.7%
JavaScript 1%
mupad 0.7%
Other 0.2%