Commit Graph

576 Commits

Author SHA1 Message Date
Sudo-Ivan f2e5de9f0e Update Dockerfile
- Newer image to fix vulns in openssl
- Enforce non-root
2026-02-05 18:37:51 -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 2d33008752 Update dependencies 2026-02-01 15:17:14 -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 af0d9352c2 Update MicronParser with DOMPurify integration and code improvements
- Added global DOMPurify reference for HTML sanitization.
- Improved error handling for DOMPurify initialization.
- Refactored style definitions and formatting for consistency.
- Updated tests to reflect changes in MicronParser initialization and behavior.

This update enhances security and code readability while ensuring robust functionality.
2026-01-23 11:28:43 -06:00
Sudo-Ivan fc0a2444ad Update NetworkVisualiser with Level of Detail (LOD) management and icon cache optimization
- Introduced dynamic LOD updates based on network scale, improving performance and visual clarity.
- Implemented blob URL management for icon caching to optimize memory usage and prevent leaks.
- Updated tests to validate LOD functionality and icon cache behavior, ensuring robustness and performance efficiency.

Thanks to L for suggestion!
2026-01-23 09:24:22 -06:00
Sudo-Ivan e8a303fd6f Add DOMPurify initialization in frontend test setup
- Integrated DOMPurify for sanitizing HTML in tests.
- Added error handling for DOMPurify initialization to ensure robustness.
- Made DOMPurify globally accessible in the test environment.
2026-01-18 16:18:13 -06:00
Sudo-Ivan fd94d8d29b Update MicronParser 2026-01-18 15:55:26 -06:00
Sudo-Ivan aa8575e367 Refactor build workflows to remove windows and flatpak, those will be done manually (Windows) v4.1.0 2026-01-16 14:41:47 -06:00
Sudo-Ivan 4424d34474 Add Wine environment setup script
- Introduced a new script to automate the setup of a Wine prefix with Python and Git for Windows.
- The script downloads the specified versions of Python and Git, initializes the Wine environment, and installs necessary build dependencies.
- Enhances the build process for Windows cross-builds by streamlining the installation of required tools.
2026-01-16 12:38:39 -06:00
Sudo-Ivan 5b1332c7dd Add Wine setup task and update build workflows
- Introduced a new task for setting up the Wine environment for Windows cross-builds in Taskfile.yml.
- Updated build-test.yml and build.yml workflows to include 'xvfb' in the Wine installation command for improved compatibility.
- Refactored the Wine setup process in the build workflow to utilize the new task instead of inline commands, enhancing maintainability.
2026-01-16 10:47:47 -06:00
Sudo-Ivan 2b854f7c5c Code Cleanup 2026-01-16 09:34:18 -06:00
Sudo-Ivan 2342d62ce8 Update 2026-01-16 09:33:30 -06:00
Sudo-Ivan 3251e74629 Add animation direction control for syncing indicator in ConversationViewer
- Enhanced the syncing indicator by allowing the animation direction to reverse when syncing is in progress, improving visual feedback for users.
2026-01-16 09:33:25 -06:00
Sudo-Ivan f94fe0ec08 Improve integrity management with advanced checks and metadata support
- Introduced entropy calculations to detect content type shifts in files.
- Added SQLite integrity checks to verify database structure and prevent tampering.
- Updated the manifest saving process to include metadata for files, such as entropy and size.
- Expanded ignored file patterns for volatile LXMF components.
- Implemented extensive unit tests to validate new features and ensure robustness.
2026-01-16 09:33:19 -06:00
Sudo-Ivan 730ab28365 Update 2026-01-16 09:21:43 -06:00
Sudo-Ivan d6351c51b3 Add accessibility tests for keyboard navigation and ARIA labels
- Introduced a new test suite for UI accessibility focusing on keyboard shortcuts and ARIA attributes.
- Verified that keyboard shortcuts trigger global events and are ignored in input fields without modifiers.
- Checked for proper ARIA labels on critical buttons to enhance accessibility compliance.
2026-01-16 09:21:37 -06:00
Sudo-Ivan 64e4fceb2d Refactor identity manager metadata loading and improve legacy migrator column handling
- Simplified metadata loading in IdentityManager by combining context managers.
- Updated LegacyMigrator to exclude 'id' from common columns during migration to prevent collisions.
- Increased SQLite connection timeout in DatabaseProvider for improved reliability.
- Removed unnecessary thread patching in test configuration.
- Added concurrency stress tests for database operations and identity management.
- Introduced database migration tests to validate legacy data handling and migration success.
2026-01-16 09:21:30 -06:00
Sudo-Ivan 204a6585ea Remove ZIP artifact build step from Gitea workflow and clean up release asset preparation process 2026-01-16 09:19:55 -06:00
Sudo-Ivan fcbdbb887a Update Trivy image scan exit code in Docker workflow to allow successful builds 2026-01-16 09:19:33 -06:00
Sudo-Ivan 3fbaab9136 Move to scan.yml security scanning workflow and integrate Trivy better 2026-01-16 09:02:04 -06:00
Sudo-Ivan 8e47de38ad Add LXMF link handling and improve link rendering logic
- Implemented event handling for LXMF links in ConversationViewer and RNCPPage components to navigate to message destinations.
- Updated LinkUtils to support both NomadNet and LXMF link formats, enhancing link detection and rendering.
- Modified RNPathTracePage to display error state alongside loading and result states for better user feedback.
- Improved utility functions to handle edge cases for zero or negative values in various formatting methods.
2026-01-16 08:53:11 -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 4febae82e7 Cleanup 2026-01-16 08:52:42 -06:00
Sudo-Ivan 4c26740aca Update dependencies 2026-01-16 08:52:31 -06:00
Sudo-Ivan c4719feb7f Fix indentation in CI workflow for linting step 2026-01-16 08:52:03 -06:00
Sudo-Ivan ee9ed05338 Add property-based tests for display name parsing and fuzzing
- Introduced new test suite for `parse_lxmf_display_name`, `parse_nomadnetwork_node_display_name`, and related functions using Hypothesis for property-based testing.
- Added various strategies to generate diverse input data, including edge cases for invalid and long names.
- Implemented tests to ensure robustness against invalid base64 inputs and to verify expected behavior with valid and corrupted data.
- Created smoke tests for frontend components including BotsPage, ForwarderPage, and others to ensure proper rendering and functionality.
2026-01-16 08:51:48 -06:00
Sudo-Ivan 4106e28ff1 Update tutorial modal handling during route changes 2026-01-14 20:28:35 -06:00
Sudo-Ivan 33d79424e9 Update workflows with new task commands 2026-01-14 19:49:06 -06:00
Sudo-Ivan 85f734bd9b Update build configuration for multi-architecture support
- Added new build scripts for Linux and Windows targeting arm64 and x64 architectures.
- Updated package.json to include architecture-specific distribution commands.
- Modified build-backend.js to create architecture-specific build directories for better organization.
2026-01-14 19:47:08 -06:00
Sudo-Ivan c5e1d5cfec Add support for building arm64 applications on Linux and Windows
- Introduced new tasks for building Linux arm64 AppImage and Windows arm64 portable EXE.
- Updated existing build commands to streamline the process for legacy Electron applications.
- Improved command syntax for electron-builder to enhance clarity and maintainability.
2026-01-14 19:46:45 -06:00
Sudo-Ivan bb4b60ce61 Add Wine environment setup for building Windows applications
- Introduced a new job step in the build workflow to set up a Wine environment.
- Downloaded and installed Windows Python and Git within Wine.
- Configured Wine to install necessary build dependencies using pip.
- Enhanced the build process for the Electron app targeting Windows platforms.
2026-01-14 19:30:17 -06:00
Sudo-Ivan 837c62ef96 Refactor Taskfile for improved organization and clarity 2026-01-14 19:30:08 -06:00
Sudo-Ivan ee5a71361a 4.1.0 2026-01-14 19:03:00 -06:00
Sudo-Ivan 50806798da Fix tutorial modal behavior and state management 2026-01-14 18:52:55 -06:00
Sudo-Ivan 580812dcd1 Update README 2026-01-14 18:42:51 -06:00
Sudo-Ivan a9f342f112 Update README 2026-01-14 18:37:47 -06:00
Sudo-Ivan 1eeeb1cb4e Improve crash recovery diagnostics and analysis
- Expanded the crash recovery module to include advanced diagnostic metrics such as system entropy, KL-Divergence, and manifold curvature.
- Improved root cause analysis by implementing a probabilistic approach with detailed suggestions for various failure scenarios.
- Added comprehensive tests to validate heuristic analysis, entropy calculations, and the robustness of the crash recovery logic.
- Updated existing tests to ensure accurate diagnosis and reporting of system states during exceptions.
2026-01-14 18:32:58 -06:00
Sudo-Ivan 16d5f2d497 Refactor MarkdownRenderer regex patterns for improved matching
- Updated regex patterns in the MarkdownRenderer to use non-greedy matching for better accuracy in text rendering.
- Enhanced the test for header rendering to ensure correct HTML structure and added assertions for escaping content without markdown special characters.
2026-01-14 18:16:41 -06:00
Sudo-Ivan c08cdb65b6 Add Hypothesis settings to lifecycle tests for improved fuzzing
- Introduced settings to disable deadlines in the test_identity_context_repeated_lifecycle function.
- Combined import statements for Hypothesis to streamline the code.
2026-01-14 18:03:15 -06:00
Sudo-Ivan d167d7c32e Update legacy Electron configuration and build tasks
- Add legacy package.json
- Update Taskfile
2026-01-14 18:00:02 -06:00
Sudo-Ivan 1788aea0c2 Add tests for crash recovery, emergency mode, and lifecycle management
- Introduced new tests for heuristic analysis in crash recovery to validate error diagnosis.
- Added tests for emergency mode to ensure memory concurrency handling with the in-memory database.
- Created a comprehensive suite for lifecycle management, including database provider disposal and identity context teardown to prevent memory leaks.
- Improved existing tests for WebAudioBridge to verify proper event loop handling and resource cleanup.
2026-01-14 17:59:22 -06:00
Sudo-Ivan a8687a0e09 Cleanup 2026-01-14 17:58:49 -06:00
Sudo-Ivan 93974edf3f Refactor IdentityContext teardown process to ensure proper cleanup
- Added nullification of various manager attributes to prevent reference cycles and memory leaks during teardown.
- Improved error handling and ensured that callbacks are cleared for telephone and voicemail managers.
- Enhanced the integrity manager's save process to only execute if it exists, ensuring stability during the shutdown sequence.
2026-01-14 17:58:37 -06:00
Sudo-Ivan 5354340d8a Update README 2026-01-14 17:58:02 -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 a022a96f92 Improve crash recovery diagnostics and suggestions 2026-01-14 17:56:15 -06:00
Sudo-Ivan 7e57cc2b24 Add in-memory database connection handling in DatabaseProvider 2026-01-14 17:45:37 -06:00
Sudo-Ivan 6a4ed6a048 Fix WebAudioBridge to manage event loop retrieval
- Introduced a property for accessing the event loop, allowing for better handling of both running and fallback scenarios.
- Updated the internal loop management to improve compatibility with asynchronous operations.
2026-01-14 17:45:20 -06:00
Sudo-Ivan ca3ef05f75 Clear clients list on call end in WebAudioBridge to prevent memory leaks 2026-01-14 13:16:55 -06:00