Commit Graph

77 Commits

Author SHA1 Message Date
Ivan c8e0e2121a feat(config): add 'show unknown contact banner' configuration option and update serialization in ReticulumMeshChat 2026-03-24 03:45:10 +03:00
Ivan daf48ec406 chore: bump version to 4.4.0; refactor announce limits and add new community interfaces management 2026-03-24 00:40:08 +03:00
Ivan 149d58f058 Implement inbound stamp toggle feature in settings, allowing users to enable/disable proof-of-work stamps for direct messages. 2026-03-23 22:32:47 +03:00
Ivan 0564eb8f10 Improve message handling by stripping UTF-16 surrogates from search terms and cleaning up input strings in ReticulumMeshChat. 2026-03-22 15:08:26 +03:00
Sudo-Ivan 6589c2124a Add telephone contacts import/export endpoints and announce limits configuration
- Implemented API endpoints for exporting and importing telephone contacts.
- Added functionality to handle contact import with validation and error handling.
- Introduced announce limits for specific aspects to prevent flooding on public networks.
- Updated AnnounceManager to utilize the new configuration for announce limits.
- Enhanced ConfigManager to include new announce limit settings.
2026-03-11 05:12:06 -05:00
Sudo-Ivan 824d84e3ac Implement PageNodeManager for managing page nodes
- Updated the version in `__init__.py` and `version.py` to 4.3.0.
- Introduced `PageNodeManager` to handle the lifecycle of page nodes, including creation, deletion, and management of their state.
- Added API endpoints for listing, creating, retrieving, deleting, starting, stopping, and announcing page nodes.
- Improved the frontend with a new `PageNodesPage` component for managing page nodes and integrated publishing functionality in the `MicronEditorPage`.
2026-03-06 19:42:35 -06:00
Sudo-Ivan 8661711898 Add configuration options to block attachments and messages from strangers
- Introduced settings to block attachments and messages from non-contacts.
- Updated message handling to strip attachments from strangers if configured.
- Enhanced database schema to include a new column for tracking stripped attachments.
- Updated relevant methods and database queries to accommodate new configurations.
2026-03-06 15:49:23 -06:00
Sudo-Ivan f10a29d21a Improve crash recovery and monitoring capabilities. 2026-03-06 12:03:50 -06:00
Sudo-Ivan 4fb50f412e Improve message retrieval and database operations
- Implemented pagination for message export in the maintenance API to handle large datasets efficiently.
- Set default limit values for message queries in MessageHandler and AnnounceDAO to improve consistency.
- Added a busy timeout pragma in the database initialization to manage lock contention.
- Refactored batch insert operations in MessageDAO for improved performance and readability.
2026-03-06 03:54:36 -06:00
Sudo-Ivan 4e991d9251 Refactor message count assignment for current identities 2026-03-06 01:11:32 -06:00
Sudo-Ivan 9dee9b0662 Add identity export functionality with ZIP compression
- Implemented a new API endpoint to export all identities as a ZIP file.
- Added a method in IdentityManager to retrieve all identity backup bytes for export.
- Enhanced error handling for the export process to provide user feedback in case of failures.
2026-03-06 01:02:36 -06:00
Sudo-Ivan 546f141e4f Update Contacts and Identity Management Features
- Updated the identities API to include message counts for current identities.
- Modified the contacts API to return total contact counts for pagination.
- Refactored database queries to use asynchronous calls for improved performance.
- Added a new method to count contacts based on search criteria.
- Simplified the get_interfaces method in CommunityInterfacesManager.
2026-03-06 00:37:58 -06:00
Sudo-Ivan 9b5bb4b424 Update version to 4.2.0 2026-03-05 21:34:25 -06:00
Sudo-Ivan 0b63931977 code cleanup (format) 2026-03-05 16:01:58 -06:00
Sudo-Ivan 138b1be2fa Add interface discovery filtering capabilities: implement methods for parsing, sanitizing, and matching discovery patterns with whitelist and blacklist support. Update configuration handling to incorporate new fields for interface discovery management. 2026-03-05 16:00:03 -06:00
Sudo-Ivan 685df6c640 Add reply_quoted_content handling in ReticulumMeshChat: update message parsing and LXMF message construction to include quoted content for replies 2026-03-05 15:16:29 -06:00
Sudo-Ivan a29d3ce0ac Improve propagation sync and improve markdown rendering
CI / build-frontend (push) Failing after 18s
CI / lint (push) Failing after 1m45s
CI / test-backend (push) Successful in 42s
CI / test-lang (push) Failing after 19s
Build and Publish Docker Image / build (push) Failing after 2m43s
Build and Publish Docker Image / build-dev (push) Failing after 49s
Build Test / Build and Test (push) Failing after 7m0s
Tests / test (push) Failing after 18s
Security Scans / scan (push) Failing after 48s
- Added methods to collect and manage propagation sync metrics in ReticulumMeshChat, improving message tracking and delivery confirmation.
- Updated frontend components to display detailed sync status notifications, including stored messages and delivery confirmations.
- Implemented URL safety checks in the markdown renderer to prevent XSS vulnerabilities by sanitizing links and image sources.
- Refactored various comments and code for clarity and maintainability across multiple files.
2026-02-14 19:19:09 -06:00
Sudo-Ivan 67fe101554 Improve messaging features and configuration options
- Add more tests
- Fix notifactions
2026-02-01 17:21:03 -06:00
Sudo-Ivan d474afbf80 Add reply functionality to messages in ReticulumMeshChat
- Implemented reply feature by adding `reply_to_hash` to messages, allowing users to reference previous messages.
- Updated message handling in `convert_lxmf_message_to_dict` to process `reply_to` fields.
- Enhanced frontend components to display reply snippets and manage reply state.
- Added localization for reply-related text in multiple languages.
- Updated database schema to include `reply_to_hash` and created necessary indices.

This update improves user interaction by enabling message threading and enhances the overall messaging experience.
2026-02-01 15:13:00 -06:00
Sudo-Ivan 81b574da29 Refactor notification handling and improve error logging
- Changed parameter name from `type` to `notification_type` in the `add_notification` method for clarity.
- Improved error handling in various modules by using `contextlib.suppress` to gracefully handle exceptions without cluttering the code with try-except blocks.
- Improved logging for bot state saving failures to aid in debugging.
2026-01-16 08:53:00 -06:00
Sudo-Ivan aaa450fe28 Add Reticulum config validation and default creation
- Implemented a method to ensure a valid Reticulum config file exists, creating a default if missing or invalid.
- Better error handling for reading and writing the config file to improve robustness during initialization.
2026-01-14 17:56:29 -06:00
Sudo-Ivan 2fb42d27fa Add pagination support in database queries for announces
- Implemented pagination at the database level for improved performance when no search query is provided.
- Added a new method `get_filtered_announces_count` in `AnnounceManager` to retrieve the total count of filtered announces for pagination.
- Adjusted the `ReticulumMeshChat` class to utilize the new count method and handle pagination more efficiently.
2026-01-14 11:01:50 -06:00
Sudo-Ivan 0d05d348ef Update changelog retrieval logic in ReticulumMeshChat: check for CHANGELOG.md in public folder if not found in the default location, and adjust headless mode default based on application state. 2026-01-10 18:56:31 -06:00
Sudo-Ivan 825ddd17fe feat(meshchat): add auto-select option for preferred propagation node 2026-01-08 19:27:23 -06:00
Sudo-Ivan 192ac21fb0 feat(docs): add API endpoints for deleting documentation versions and clearing Reticulum docs
- Implemented DELETE endpoints to allow users to delete specific documentation versions and clear all Reticulum documentation.
- Enhanced the DocsManager class with methods for version deletion and clearing documentation, including error handling and logging.
- Updated frontend components to support version deletion and clearing of Reticulum docs with user confirmation dialogs.
2026-01-07 19:46:01 -06:00
Sudo-Ivan df306cc67b feat(telemetry): implement telemetry tracking and path tracing features
- Added telemetry tracking capabilities, allowing users to toggle tracking for specific peers and retrieve tracked peers.
- Introduced RNPathTraceHandler for tracing paths to destination hashes.
- Enhanced database schema to support telemetry tracking and added related fields in contacts.
- Updated configuration management to include telemetry settings.
- Implemented API endpoints for downloading database backups and snapshots, as well as for telemetry-related functionalities.
- Improved error handling and response messages for telemetry requests and path tracing.
2026-01-07 19:22:00 -06:00
Sudo-Ivan 83f480be3c fix(ui): improve message font and icon size handling with error checking for invalid inputs 2026-01-07 19:21:57 -06:00
Sudo-Ivan 8bb38d3e51 feat(maintenance): add API endpoint to clear LXMF icons and enhance backup configuration options 2026-01-07 19:21:57 -06:00
Sudo-Ivan 666c90875a interface discovery, folders for messages, map nodes from discovery, maintenance tools. 2026-01-05 17:38:52 -06:00
Sudo-Ivan fda9187e95 numerous improvements 2026-01-05 11:47:35 -06:00
Sudo-Ivan 5a388d80ed feat(logging): implement dynamic log directory resolution and add rotating file handler for improved logging management 2026-01-04 23:39:50 -06:00
Sudo-Ivan 9d8611bb97 feat(audio): implement WebAudioBridge for websocket audio transport and add configuration options 2026-01-04 23:18:55 -06:00
Sudo-Ivan a05fdee7e9 feat(interface): add RNodeIPInterface support 2026-01-04 22:39:37 -06:00
Sudo-Ivan 629bbbc7c6 refactor(meshchat): update map to render tiles faster (online), message handling by adding context support to forwarding and delivery methods; improve LXMF message processing and router initialization 2026-01-04 19:10:22 -06:00
Sudo-Ivan ff69de1346 feat(config): add gitea base URL and documentation download URLs configuration; update related components and logic for dynamic URL handling 2026-01-04 18:55:10 -06:00
Sudo-Ivan 2f65bde2d3 feat(call): update tone generator functionality with volume control and enable/disable settings; update frontend components to reflect new configurations 2026-01-04 17:48:07 -06:00
Sudo-Ivan 0a65619efb feat(call): update telephony handling by adding remote telephony hash retrieval and updating frontend components to utilize new data 2026-01-04 17:20:41 -06:00
Sudo-Ivan d836e7a2e8 feat(call): improve call handling by adding remote destination hash tracking, improving initiation status checks, and refining ringtone management in the frontend 2026-01-04 17:16:23 -06:00
Sudo-Ivan 5ef41b84d5 feat(call): update call statistics tracking and improve hangup functionality; add tone generation for call states in frontend 2026-01-04 17:01:21 -06:00
Sudo-Ivan c4674992e0 lots of fixes, changes, styling, fixing outbound calls, rnode-flasher. 2026-01-04 15:57:49 -06:00
Sudo-Ivan 014e463527 feat(api): add firmware download endpoint with GitHub URL validation and enhance initiation status response with target name 2026-01-04 14:59:47 -06:00
Sudo-Ivan 63d81a02c9 feat(rnpath): implement the blackhole, RNPathHandler and integrate path management APIs 2026-01-04 12:40:19 -06:00
Sudo-Ivan c7c70a5868 feat(identity_manager, map_manager): add lxmf and lxst address handling in metadata and optimize tile downloading with parallel processing 2026-01-04 00:04:40 -06:00
Sudo-Ivan 997de18d78 refactor(ReticulumMeshChat): extract exit logic into a separate method for improved readability 2026-01-03 22:14:06 -06:00
Sudo-Ivan 925b7b2950 feat(announces): fix announce handling by adding identity and destination hash filters; ensure UTC formatting for created_at and updated_at timestamps; introduce message font size configuration 2026-01-03 19:23:53 -06:00
Sudo-Ivan 392fe50f82 refactor(meshchat): clean up code formatting and enhance version retrieval for LXST; improve log handling and anomaly detection logic 2026-01-03 18:42:50 -06:00
Sudo-Ivan d717679790 feat(logging): implement persistent logging with anomaly detection and database integration for debug logs 2026-01-03 18:31:38 -06:00
Sudo-Ivan 20e4c42094 refactor(meshchat): better multi-identity support and improved logging capabilities and a billion other changes and cleanup 2026-01-03 16:05:04 -06:00
Sudo-Ivan eeaabacf35 refactor(meshchat): improve RNS shutdown process and enhance RPC listener closure handling 2026-01-02 20:54:22 -06:00
Sudo-Ivan 686b6374bf feat(meshchat): improve error handling and cleanup processes 2026-01-02 20:35:54 -06:00