Commit Graph

356 Commits

Author SHA1 Message Date
Ivan 50981d9649 fix(CommandPalette): ensure global keydown event listener captures events and prevents propagation 2026-03-31 03:00:45 +03:00
Ivan ed840cd844 feat: improve keyboard shortcuts handling and add E2E helper functions for command palette interaction 2026-03-31 03:00:35 +03:00
Ivan 8d8806d928 feat(frontend): implement 'show unknown contact banner' toggle in settings and update conversation viewer logic 2026-03-24 03:45:18 +03:00
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 c0b900052d feat(i18n): add 'show unknown contact banner' option and descriptions in German, English, Italian, and Russian locales 2026-03-24 03:45:01 +03:00
Ivan 4edb9c7c78 feat(data): add community interfaces JSON file with user-submitted online listings 2026-03-24 00:41:20 +03:00
Ivan 27f3ce9319 feat(frontend): add option to lift banishment from conversation menu and update version to 4.4.0 in tests 2026-03-24 00:41:07 +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 83ed463c3d feat(frontend): interfaces, archives, messages, settings, i18n 2026-03-24 00:38:54 +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 478cc1ad38 Add documentation for running MeshChatX in Firejail and Bubblewrap sandboxes on Linux 2026-03-22 15:09:04 +03:00
Ivan 94972022b3 Refactor MicronParser 2026-03-22 15:08:48 +03:00
Ivan b0030f0482 Refactor MicronParser import paths in ArchivesPage and MicronEditorPage components 2026-03-22 15:08:31 +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 96a5b661ec Add language names to locale files for German, English, Italian, and Russian 2026-03-12 15:44:24 -05:00
Sudo-Ivan 34bf80f9a7 Improve LanguageSelector component to dynamically load and sort languages from locale files 2026-03-12 15:44:14 -05:00
Sudo-Ivan e45307a233 Refactor i18n initialization in main.js to dynamically load locale files 2026-03-12 15:44:01 -05:00
Sudo-Ivan 8a362a94be Revert MicronParser.js truecolor support for now 2026-03-12 15:01:48 -05:00
Sudo-Ivan b3ac1a1a68 Add support for fallback truecolor in MicronParser
- Implemented handling for fallback truecolor syntax for foreground and background colors in MicronParser.
- Updated tests to verify compatibility with NomadNet and priority of fallback truecolor over standard 3-character color codes.

https://github.com/RFnexus/micron-parser-js/pull/21
2026-03-11 22:24:40 -05:00
Sudo-Ivan b6c0ac450c Fix database health snapshot functionality and add corresponding tests 2026-03-11 05:32:56 -05:00
Sudo-Ivan 330f55559d Refactor ConversationViewer, NetworkVisualiser, NomadNetworkSidebar, and SettingsPage components for improved code readability and structure
- Enhanced formatting and indentation for better readability in ConversationViewer and NetworkVisualiser components.
- Updated button structures and context menus in NomadNetworkSidebar for consistency and clarity.
- Improved input handling and configuration updates in SettingsPage for announce limits.
- Ensured consistent use of Vue directives and improved overall component organization.
2026-03-11 05:23:17 -05:00
Sudo-Ivan ca3a77a4f0 Add localization updates for contact management and user actions
- Added German, English, Italian, and Russian translations for new contact import/export features.
- Introduced localization for announce limits and user banishment confirmations.
- Enhanced message actions and contact management prompts across all supported languages.
2026-03-11 05:12:31 -05:00
Sudo-Ivan debe65db1d Refactor DropDownMenu and Conversation components for improved dropdown positioning and context menus
- Updated DropDownMenu to use Teleport for dropdown rendering, enhancing positioning and visibility.
- Refactored ConversationDropDownMenu and ConversationViewer to replace block-helper icon with gavel for consistency.
- Added import/export functionality for contacts in ContactsPage, including error handling and user feedback.
- Introduced context menus for favourites in NomadNetworkSidebar, allowing for banishment and renaming of nodes.
- Enhanced SettingsPage with new announce limits configuration inputs for better network management.
2026-03-11 05:12:24 -05: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 2cb7b9886e Update MicronParser to support truecolor foreground and background colors with new 'FT' and 'BT' formats. Add corresponding unit tests to validate functionality. 2026-03-10 22:00:51 -05:00
Sudo-Ivan 35884c15e2 Bump version to 4.3.1
Made-with: Cursor
2026-03-10 04:35:09 -05:00
Sudo-Ivan 99c8775963 Add retry functionality for failed messages in ConversationViewer and enhance message handling in MessagesPage 2026-03-10 04:26:43 -05:00
Sudo-Ivan dde04426df Code Cleanup 2026-03-09 15:28:32 -05:00
Sudo-Ivan ae1ced57b9 Add discovered interfaces feature to NetworkVisualiser component 2026-03-09 14:06:23 -05:00
Sudo-Ivan 8be8faee2f Swap 'contacts' and 'nomad network' links in the sidebar for improved navigation clarity 2026-03-09 14:05:56 -05:00
Sudo-Ivan 247502e6ca Add time ago functionality to MessagesSidebar component 2026-03-09 12:36:33 -05:00
Sudo-Ivan 0000ab15f0 Remove disconnected animation logic and related properties from InterfacesPage component 2026-03-09 12:36:24 -05:00
Sudo-Ivan c206ee480d Remove bounce animation 2026-03-09 12:36:19 -05:00
Sudo-Ivan c2df972c3a Refactor error handling in PageNodesPage component 2026-03-09 12:10:35 -05:00
Sudo-Ivan b528c12727 Fix partial page loading with fields and auto-refresh
NomadNet partials can include field data in their syntax.
- PARTIAL_LINE_REGEX updated to capture optional fields group
- WebSocket handler allows partial responses when callback registered
- Strip field_ prefix before send to avoid double-prefixing
- Partial DOM updates via innerHTML instead of Vue reactivity

Co-Authored-By: torlando-tech <torlando-tech@users.noreply.github.com>
2026-03-09 12:10:26 -05:00
Sudo-Ivan 443dd5e2c6 Update version to 4.3.0 2026-03-06 19:42:54 -06: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 1944397382 Remove status indication 2026-03-06 15:58:22 -06:00
Sudo-Ivan f335044ad3 Add stranger protection features and related UI enhancements
- Updated NotificationBell to handle additional notification types for missed calls and voicemails.
- Added buttons in CallPage for messaging and calling contacts directly from call history.
- Enhanced ContactsPage with context menu options for messaging and calling contacts.
- Introduced a stranger trust banner in ConversationViewer to inform users about non-contacts and provide options to add them.
- Implemented settings in SettingsPage to block attachments and messages from strangers, with corresponding configuration updates.
2026-03-06 15:49:42 -06:00
Sudo-Ivan ae4dfa1d8a Add localization for stranger protection features
- Added new strings for managing attachments and messages from unknown peers in German, English, Italian, and Russian.
- Included descriptions and options for blocking attachments and messages from strangers.
- Updated user interface text to inform users about the handling of messages from non-contacts.
2026-03-06 15:49:32 -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 1653553518 Refactor crash recovery diagnostics and remove unused curvature calculations
- Simplified diagnostic output by renaming "Probabilistic Root Cause Analysis" to "Root Cause Analysis".
- Removed unused methods and calculations related to manifold curvature.
- Updated tests to reflect changes in diagnostic output and removed obsolete assertions.
2026-03-06 12:16:56 -06:00
Sudo-Ivan f10a29d21a Improve crash recovery and monitoring capabilities. 2026-03-06 12:03:50 -06:00
Sudo-Ivan 83716134d8 Improve error handling and validation in IntegrityManager and CrashRecovery
- Added exception handling for database path resolution in IntegrityManager to ensure robustness against invalid paths.
- Implemented latitude clamping in MapManager to restrict values within valid geographical limits.
- Improved Kullback-Leibler Divergence documentation in CrashRecovery for clarity on its application to Bernoulli distributions.
2026-03-06 11:38:18 -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 bc8969ab16 Improve database performance and SQL handling
- Introduced SQLite pragma tuning in the Database initialization for improved performance.
- Wrapped multiple database operations in transactions to optimize batch processing in MessageDAO.
- Updated DatabaseSchema to version 39, adding new indexes for better query performance.
- Improved test coverage for batch operations and SQL injection scenarios in the DAO layer.
2026-03-06 03:26:36 -06:00
Sudo-Ivan 9d7ae2017b Add SQL injection prevention measures in database migration and schema validation
- Implemented identifier validation regex in legacy migrator and schema.
- Enhanced database path handling to escape single quotes during ATTACH DATABASE.
- Added tests for SQL injection scenarios, ensuring robustness against malicious inputs.
- Introduced fuzz tests for DAO layers to cover edge cases and improve overall test coverage.
2026-03-06 03:08:28 -06:00
Sudo-Ivan 216185c40e Add overlay style stripping functionality in MicronParser and enhance event handling in NomadNetworkPage 2026-03-06 02:19:17 -06:00
Sudo-Ivan 499caf43a4 Increase button size in IconButton component for improved usability 2026-03-06 02:17:31 -06:00
Sudo-Ivan b255dbb03e Update version to 4.2.1 in __init__.py and version.py for consistency 2026-03-06 01:25:15 -06:00