Commit Graph

929 Commits

Author SHA1 Message Date
agessaman 0404b3ab44 fix: add blank-password read-only guests to the room ACL
A blank-password login replied success (read-only guest) without ever
creating an ACL entry or storing the ECDH shared secret. The client app
believed it was logged in, but the room server's text handler and sync
loop only see ACL members: the client's posts were dropped without a
delivery ACK (send shows failed) and posts were never pushed to it.
Rooms with only an admin password configured were fully affected since
every guest login is blank-password.

Add the guest to the ACL with guest permissions, the shared secret, and
sync_since (mirroring the password path), reject when the ACL is full,
and refresh activity timestamps on repeat blank logins.

Refs #286
2026-07-07 10:35:01 -07:00
agessaman 3a29061e24 fix: tolerate openhop_core without QueuedMessage.sender_prefix
Installed openhop_core releases predating the sender_prefix change
(paired with fd43d86) reject the kwarg, so restoring queued messages
raised TypeError and aborted companion init. Detect support via the
QueuedMessage signature and drop persisted prefixes with a warning on
older cores instead of failing the boot.
2026-07-07 07:53:49 -07:00
agessaman e6d4b68d01 fix: fail companion init loudly when persisted state cannot be loaded
A transient SQLite error during boot made companion_load_channels/
contacts/messages swallow the exception and return [], which is
indistinguishable from "no data". The Public-channel backfill then ran
over the empty store, so clients saw their channels wiped and later
saves could overwrite the persisted state.

- companion_load_{contacts,channels,messages} now return None on error
  vs [] for genuinely empty, and log the companion hash
- add companion_count_{channels,messages} helpers
- extract shared _restore_companion_state used by both the boot and
  hot-reload companion paths; each load is cross-checked against the
  table's row count for the hash, retried once after a short delay,
  and raises CompanionStateLoadError if it still cannot load, aborting
  companion init (and the Public backfill) instead of starting empty
- log restored row counts per companion; log when the channel store
  rejects a persisted channel (unchecked channels.set return)
- trim_companion_contacts_to_fit refuses to trim on a failed load
2026-07-07 07:43:27 -07:00
agessaman fd43d86ea8 fix: persist sender_prefix for signed room posts
TXT_TYPE_SIGNED_PLAIN room posts carry a 4-byte author pubkey prefix
(QueuedMessage.sender_prefix, added in openhop_core). The SQLite
persistence path dropped it, so posts replayed from persistence showed
a zero-padded author prefix in the app frame while posts synced from
the live in-memory queue were correct.

- add sender_prefix column (hex text, default '') to companion_messages
  with an ALTER TABLE migration for existing databases
- store/return the prefix in companion_push/pop/load_messages
- pass sender_prefix when rebuilding QueuedMessage from persistence in
  the frame server and the startup preload paths
- add round-trip, default, migration, and rebuild tests
2026-07-06 22:46:49 -07:00
agessaman 700a38b8c1 refactor: use public max_size property for offline-queue retention
Prefer MessageQueue.max_size (new public property in openhop_core) over
the private _max_size attribute, keeping a getattr fallback for older
cores that predate the property.
2026-07-06 16:38:45 -07:00
yellowcooln 0561803eeb merge: sync dev with main 2026-07-02 09:23:56 -04:00
Yellowcooln a88ac21e61 Merge pull request #330 from yellowcooln/dev
Bundle Console UI into Docker image
2026-07-02 09:19:23 -04:00
yellowcooln f3d3129d4a fix: route fork Docker image publishes 2026-07-01 23:34:04 -04:00
yellowcooln 4a7720e7ae fix: route fork Docker image publishes 2026-07-01 23:15:19 -04:00
yellowcooln add7011c21 feat: bundle PyMC Console in Docker image 2026-07-01 23:05:28 -04:00
Lloyd 60357f5808 Merge pull request #320 from openhop-dev/dev 2026-06-26 23:07:51 +01:00
Yellowcooln 6de2b23266 Merge pull request #319 from yellowcooln/fix/ha-addon-dispatch-repo
fix: update HA add-on dispatch target
1.1.1
2026-06-26 09:39:08 -04:00
yellowcooln 864030283c fix: update HA add-on dispatch target 2026-06-26 09:35:19 -04:00
Yellowcooln 751c9e3807 Merge pull request #318 from yellowcooln/fix/openhop-docker-vars
Update Docker image branding
2026-06-26 09:23:21 -04:00
yellowcooln fbbc7e6844 fix: handle advert timeout cancellation 2026-06-26 09:18:41 -04:00
yellowcooln 4d095dad42 fix: update Docker image branding 2026-06-26 09:10:58 -04:00
Lloyd fcaad1dacf feat: add ensure_service_user_home function to manage service user home directory 2026-06-26 13:49:54 +01:00
Yellowcooln e2ae7e18a6 Merge pull request #317 from openhop-dev/revert-316-fix/updater-venv-pip-shim
Revert "fix: repair updater venv pip shim"
2026-06-25 22:13:57 -04:00
Yellowcooln 11f8ea2f43 Revert "fix: repair updater venv pip shim" 2026-06-25 22:13:42 -04:00
Yellowcooln d24a346cf7 Merge pull request #316 from yellowcooln/fix/updater-venv-pip-shim
fix: repair updater venv pip shim
2026-06-25 22:13:14 -04:00
yellowcooln af6bea5bbe fix: repair updater venv pip shim 2026-06-25 22:04:25 -04:00
Yellowcooln 9846666076 Merge pull request #315 from yellowcooln/fix/openhop-updater-repo
fix: update updater GitHub repository
2026-06-25 21:46:58 -04:00
yellowcooln 42340f683f fix: update updater GitHub repository 2026-06-25 21:32:52 -04:00
Yellowcooln 27e68167d5 Merge pull request #314 from openhop-dev/yellowcooln-patch-1
Update default Docker image repository
2026-06-25 20:07:28 -04:00
Yellowcooln f0408d263d Update default Docker image repository 2026-06-25 19:54:18 -04:00
Lloyd 135d6b1d8d Merge pull request #313 from openhop-dev/fix-venv-in-manage
Fix venv in manage
2026-06-25 23:36:48 +01:00
Lloyd 9748058010 fix: update virtual environment pip usage in manage.sh 2026-06-25 23:32:19 +01:00
Lloyd cc0dc2ffd6 fix: virtual environment creation logic in manage.sh 2026-06-25 23:13:28 +01:00
Lloyd d63ed4aade fix: update repository references in Docker publish workflow 2026-06-25 22:11:48 +01:00
Lloyd 0ec8ef4741 fix: update repository name format to match GitHub conventions 2026-06-25 22:03:33 +01:00
Lloyd b47b971b98 Merge pull request #311 from openhop-dev/refactor-rename-to-openhop
Refactor rename to openhop
2026-06-25 21:52:54 +01:00
Lloyd 27ccf5453d refactor: update GitHub owner to openhop-dev and enhance changelog error handling 2026-06-25 21:39:08 +01:00
Lloyd 42cd75e6b0 refactor: enhance logging and error handling in API endpoints and HTTP server 2026-06-25 21:26:29 +01:00
Lloyd 1a6e09f63d fix: update repository URL to reflect new organization name 2026-06-25 16:31:11 +01:00
Lloyd 0d0615f3f2 Merge pull request #310 from yellowcooln/feat/openhop-glass-integration
feat: integrate openHop Glass policy synchronization and sensor summaries
2026-06-25 09:29:26 +01:00
yellowcooln 432b00906c fix: satisfy pre-commit after openHop base sync 2026-06-24 20:36:23 -04:00
yellowcooln af88459f29 merge: sync with openHop refactor base 2026-06-24 20:35:06 -04:00
Lloyd 08b4667b2c refactor: disable legacy pymc services and normalize paths in management scripts 2026-06-25 00:00:28 +01:00
Lloyd 16e88579ae refactor: migrate legacy pymc paths to openhop and clean up system packages 2026-06-24 23:49:08 +01:00
Lloyd 6f6e984d9d refactor: simplify hardware dependency in optional dependencies 2026-06-24 23:38:57 +01:00
Lloyd ffb083652f refactor: update legacy paths and cleanup in management scripts 2026-06-24 23:37:14 +01:00
Lloyd 2b67dea96b refactor:rename-project-to-openhop 2026-06-24 23:27:49 +01:00
yellowcooln cf896b2b16 Revert "Bundle policy objects UI"
This reverts commit 71f4e4779d.
2026-06-24 16:47:22 -04:00
yellowcooln 71f4e4779d Bundle policy objects UI 2026-06-24 16:39:59 -04:00
Yellowcooln 2b07e79ccd Merge pull request #309 from Bjorkan/dev
feat(presets): add Meshat.se broker preset
2026-06-24 16:24:46 -04:00
yellowcooln 44a2d2f72f feat: add system info to hardware stats sensor 2026-06-24 16:23:50 -04:00
yellowcooln b4b44831b0 feat: integrate openHop Glass inform policy sync 2026-06-24 15:17:41 -04:00
Björkan f1e860d17e feat(presets): add Meshat.se broker preset 2026-06-24 07:51:28 +02:00
Lloyd c0d919c0e2 feat:New RF Chart 2026-06-23 16:35:02 +01:00
Lloyd 89658302c5 feat:update ui with newlogos 2026-06-23 09:27:34 +01:00