Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 8 additions & 43 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,61 +159,26 @@ jobs:
with:
python-version: "3.11"

- name: Install ruff
run: pip install ruff

- name: Ruff linting on changed files
- name: Type checking with mypy
run: |
FILES="${{ needs.changes.outputs.python_files }}"
FILES_ARRAY=$(echo "$FILES" | tr ',' ' ')

echo "Running Ruff linting on changed Python files:"
echo "$FILES_ARRAY" | tr ' ' '\n'

# Run ruff check on changed files
ruff check $FILES_ARRAY || EXIT_CODE=$?
pip install mypy websockets numpy sounddevice

if [ "${EXIT_CODE:-0}" -ne 0 ]; then
echo "❌ Ruff found linting issues"
exit 1
else
echo "✅ Ruff linting passed"
fi

- name: Ruff format check on changed files
run: |
FILES="${{ needs.changes.outputs.python_files }}"
FILES_ARRAY=$(echo "$FILES" | tr ',' ' ')

echo "Checking Python formatting with Ruff:"
echo "Running mypy type checking:"

# Check formatting
ruff format --check $FILES_ARRAY || EXIT_CODE=$?
# Run mypy on changed files
# Note: May need to install type stubs for dependencies
mypy $FILES_ARRAY --ignore-missing-imports || EXIT_CODE=$?

if [ "${EXIT_CODE:-0}" -ne 0 ]; then
echo "❌ Some Python files are not properly formatted"
echo "Run 'ruff format <files>' to fix formatting"
echo "❌ MyPy type check failed"
exit 1
else
echo "✅ Python formatting check passed"
echo "✅ MyPy type check passed"
fi

- name: Type checking with mypy (optional)
continue-on-error: true # Make this non-blocking initially
run: |
pip install mypy types-websockets types-numpy

FILES="${{ needs.changes.outputs.python_files }}"
FILES_ARRAY=$(echo "$FILES" | tr ',' ' ')

echo "Running mypy type checking (non-blocking):"

# Run mypy on changed files
# Note: May need to install type stubs for dependencies
mypy $FILES_ARRAY --ignore-missing-imports || true

echo "ℹ️ MyPy check is currently non-blocking. Consider making it required in the future."

# SQL checks
sql-checks:
needs: changes
Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.5.6.6] - 2025-09-21

### Fixed

- **Capture Agent Memory Leaks**: Eliminated critical memory leaks and improved stability in the capture agent
- Fixed memory leaks in buffer pool management with proper buffer return and dynamic growth limits
- Fixed DSP cache memory leaks by implementing proper LRU cache cleanup and FFT plan management
- Fixed WebSocket cleanup issues preventing proper connection handling
- Resolved QueueFull errors with better queue management and connection stability
- Improved frame drop rates and overall capture agent reliability
- **WebSockets Compatibility**: Fixed compatibility issues with websockets v12+ library
- Updated connection handling to support modern WebSocket protocols
- Enhanced error handling and connection resilience
- **Chart Legend Consistency**: Fixed legend white fill consistency for magnitude and phase charts
- Ensured consistent white background for legend color swatches across all chart types
- Improved visual clarity and professional appearance of chart legends

### Changed

- **Capture Agent Version**: Bumped capture agent version to `0.1.14`

## [1.5.6.5] - 2025-09-19

### Added
Expand Down
Loading