Commits
Click on a commit to change the comparison rangeRefactor AppHarness to use reflex run subprocess instead of threads
- Replace _start_backend and _start_frontend thread methods with _start_subprocess
- Use new_process from reflex/utils/processes.py for subprocess management
- Implement console output parsing to detect server startup
- Update port management using handle_port for dynamic port assignment
- Maintain API compatibility for state management methods
- Update process cleanup for proper subprocess termination
- Add compatibility attributes and methods for existing tests
- Fix type annotations to resolve pyright variable override errors
- Add port parameter to _start_backend for test compatibility
- Fix docstring documentation for darglint compliance
Fixes ENG-6317
Co-Authored-By: masen@reflex.dev <masen@reflex.dev>2 days ago
by devin-ai-integration[bot] Fix subprocess implementation issues in AppHarness
- Add timeout and non-blocking stdout reading in _wait_for_servers
- Simplify process cleanup logic in stop() method
- Add Windows compatibility for subprocess stdout handling
- Use daemon threads to avoid hanging on cleanup
- Add proper error handling for process termination
Fixes CI timeout issues in integration tests
Co-Authored-By: masen@reflex.dev <masen@reflex.dev>2 days ago
by devin-ai-integration[bot] Fix subprocess implementation with shell=True approach
- Change from subprocess.Popen with argument list to shell=True with command string
- Debug testing confirmed shell=True successfully captures both frontend and backend messages
- Add fallback backend detection using port checking for additional robustness
- Resolves core subprocess stdout capture issue causing all 12 integration test failures
- Remove all debugging print statements and fix ruff-check issues
Based on comprehensive subprocess behavior testing that showed:
- Basic subprocess approach: Frontend=False, Backend=False
- Shell=True approach: Frontend=True, Backend=True
Co-Authored-By: masen@reflex.dev <masen@reflex.dev>2 days ago
by devin-ai-integration[bot] human fixups
* enable logging to stdout
* allow prod mode to work
* better port selection algorithm
* remove useless code
* cleaner teardown
* test fixups for compatibility Merge remote changes and fix all darglint errors
- Resolved merge conflict in reflex/testing.py
- Added proper parameter documentation to _start_subprocess and _wait_for_servers methods
- Fixed docstring documentation for set_state and modify_state to match actual NotImplementedError behavior
- Updated get_state docstring to only document AssertionError (matches actual code)
- All darglint checks now pass while preserving subprocess implementation improvements
- Applied ruff formatting fixes
Co-Authored-By: masen@reflex.dev <masen@reflex.dev>13 hours ago
by devin-ai-integration[bot]