You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New Features
SFTP File Manager — Browse, upload, download, rename, and delete files on any connected device directly from the browser (resolves #7). Includes full API coverage and comprehensive tests.
Audit Log — Tamper-evident activity log capturing login, logout, SSH session start/stop, password changes, and source IP. Configurable retention policy, dedicated UI viewer in the dashboard (resolves #8).
Audit events are recorded on SSH connect/disconnect with automatic cleanup on session end.
Source IP address is tracked and stored with every audit entry.
UI Improvements
Collapsible sidebar — The device list panel can now be collapsed to give the terminal more screen space (resolves #6).
Change password button — Moved to the dashboard header for easier access; SessionBadge component refactored accordingly (resolves #5).
Bug Fixes
Password validation error code — HTTP status for invalid password input changed from 400 to 422 Unprocessable Content to align with RFC / FastAPI conventions.
Testing & CI
Added integration and unit tests for authentication, device management, SSH service, terminal API, SFTP API, and SFTP service.
Added dedicated GitHub Actions workflow (unit-tests.yml) triggered on pushes to main and dev.
Introduced pytest.ini configuration and a shared conftest.py with reusable fixtures.
Added reports directory to .gitignore to keep generated coverage artifacts out of version control.
Dependencies
Bumped frontend npm dependencies (2 packages updated via Dependabot).
Documentation
Updated README with security recommendations, contributing guidelines, and a new Vibecoding section.
Security hardening notes moved to configuration.md.
Copilot coding guidelines updated to require dedicated test files per feature.