RustImplementation #49

Merged
mysticmomba merged 33 commits from RustImplementation into master 2025-12-17 14:19:20 -05:00
Owner

Version 0.9.0

Version 0.9.0
mysticmomba added 33 commits 2025-12-17 14:19:11 -05:00
Removed a lot of unwraps
Build Library / Build Library (push) Successful in 5m2s
303ecd8368
Removing the unwraps now has better error handling and will cause the program to crash with crash dumps instead of panic!
Telemetry Config Change
Build Library / Build Library (push) Successful in 4m54s
87ab1e3b28
Added implementation instead of separate function to load Telemetry configuration
closes #37
Features
Build Library / Build Library (push) Successful in 4m46s
a80c2ca1e1
closes #34
Removed a lot of unwraps, most remaining unwraps will likely stay in the code, as it will be expected behavior to panic and crash rather than a system level abort/exit event
Slight Changes
Build Library / Build Library (push) Successful in 5m15s
b289e9324c
Refactor of Loxide Libs
Removed spaces, imports, and converters from code
Removed spaces, imports, and converters from code
Implemented Threaded Rust Process
Build Library / Build Library (push) Successful in 6m18s
f3c1d97d28
It still locks the GIL, but this is the ground work for the non blocking GUI. Python objects are converted to Rust objects in the beginning of the function call so they can be sent to threads safely.
Refactored loxide libs for easier readability
Build Library / Build Library (push) Successful in 5m52s
6ab9de413f
Feature added - MPSC channel
Build Library / Build Library (push) Successful in 5m44s
76bd3a6087
closes #38
Fixed Progress Bar
Build Library / Build Library (push) Successful in 6m22s
b19eeb6c96
Changed date math so that the last date from the first response from the API is the minimum value for the progress bar. This gives true progress percentages from the first date to the last date on the last request. #36
Style Change
Build Library / Build Library (push) Successful in 6m25s
0aabbfd36e
Cleaned up services.rs file and removed whitespaces
Specified Data Types were needed instead of allowing the compiler to select types
Fixes:
brotoskyj/AirlockTools#39
Refactored Progress Bar
Build Library / Build Library (push) Successful in 5m54s
0ac3b54d89
Refactored Progress Bar to remove multiprogress bar and only draw one instance. #36 is still open and not fixed with this push, but I believe this is the way to fix the issue.
Also implemented an Arc Mutex on the progress bar so it can be controlled via different threads.
Refactored LoxideLibs
Build Library / Build Library (push) Successful in 5m30s
59bb97ec4e
1. Added compatibility check, LoxideLibs will now abort the entire program if OS is not linux or windows.
2. Changed the python data extraction compatibility layer, LoxideLibs was calling the extract data function twice, causing very slight overhead. I have now changed this so that the function returns a Struct that is now easily extractable via dot method notation.
- Add table editors for Policy Prep workflow
- 'Add to policy' remains a placeholder
- Apply planned tweaks:
  - Replace ballot checkbox with ✓ for selection
  - Relocate loading screen text to bottom:
    'Building Path exclusions and publisher lists...
     This may take a moment for large datasets.'
  - Ensure interaction with all tables before allowing review steps
  - Move excessive logging to debug level
  - Add Step 0 to explain process before user begins

Notes:
Further discussion needed on enforcing table interaction before review.
Security Vulnerabilities Patched
RUSTSEC-2025-0009 - Some AES functions may panic when overflow checking is enabled
RUSTSEC-2024-0336 - rustls::Connection::Common::complete_io could fall into an infinite loop based on network input
Security Vulnerabilities Patched
RUSTSEC-2025-0009 - Some AES functions may panic when overflow checking is enabled
RUSTSEC-2024-0336 - rustls::Connection::Common::complete_io could fall into an infinite loop based on network input
closes #47
- Added intro screen with workflow overview, time estimate, and onboarding controls
- Improved visuals: cleaner checkboxes (/), better loading screen layout
- Enforced mandatory tab reviews for critical steps with warnings and blocked navigation
- Optimized logging: INFO for milestones, DEBUG for internals; cleaner production logs
- Implemented Liftoff API integration: paths, publishers, hashes with granular error handling
- Color-coded completion feedback ( success,  failure,  partial) and detailed summaries
- Consolidated architecture: merged TUI.py into Loxide.py (single entry point, no circular imports)
- Fixed race condition in table creation with concurrency locks
Features
Moved the init_tracer() function to an implementation in TelemetryConfig for cleaner main file
closes #43

Bug Fixes
Telemetry is now opt-in again. Due to changes in opentelemetry, this required a major overhaul of the telemetryconfig function.
closes #44
- Add Server Log tab with DataTable display of server activity logs

- Fix keyboard navigation bug in agents tab

- Add execution history viewer for selected agents

- Improve policy tree widget functionality by adding single device operations

- Integrate logging notifications into TUI
  - Add TextualNotificationHandler to setup.py
  - Display ERROR/WARNING/CRITICAL logs as toast notifications
  - Remove terminal output to prevent interference with TUI
  - Logs still written to Loxide.log file

closes #45
git commit -m "feat: Multiple UI improvements and new server log functionality

- Add Server Log tab with DataTable display of server activity logs

- Fix keyboard navigation bug in agents tab

- Add execution history viewer for selected agents

- Improve policy tree widget functionality by adding single device operations

- Integrate logging notifications into TUI
  - Add TextualNotificationHandler to setup.py
  - Display ERROR/WARNING/CRITICAL logs as toast notifications
  - Remove terminal output to prevent interference with TUI
  - Logs still written to Loxide.log file

closes #45"
Bug Fixes
Build Library / Build Library (push) Successful in 4m51s
53f0b548b0
Changed days to days.to_string() to fix type confusion
closes #47
- Added row copy functionality (Ctrl+C)
- Improved row selection visual contrast
- Fixed data state issues when navigating between stages

Server Log tab
- Added new Server Log tab to the main application
- Implemented live filtering with wildcard support
- Enabled auto-refresh capability

Multiagent selector
- Added file loading support for device lists
mysticmomba merged commit 6008f7d8ca into master 2025-12-17 14:19:20 -05:00
Sign in to join this conversation.