v1.4.3
Summary
- Issue #27: After deleting a file, it no longer appears in the file list as "(retrieval failed)". The
delete_fileendpoint now filters the deleted file ID from the response list, handling OpenAI API eventual consistency. - Server log noise: Downgraded expected post-deletion 404s from
logger.errortologger.warninginutils/files.py. - Test suite: Fixed all 49 tests — previously 26 ERRORs and 4 FAILUREs.
- Implemented missing
app_server,base_url, and 9env_*fixtures intests/conftest.pyfor Playwright E2E tests. - Fixed heading text mismatches in
test_setup_page_rendering.pyto match actual templates. - Fixed
@pytest.mark.anyioplacement intest_tool_output_rendering.py(moved from class to method level). - Added
_isolate_asyncio_running_loopautouse fixture to safely interleave Playwright and anyio tests: saves/restoresasyncio._running_looparound anyio tests so Playwright's greenlet-based loop marker is preserved for session teardown.
- Implemented missing
- TemplateResponse deprecation: Updated all 11 calls across
main.py,routers/files.py, androuters/setup.pyto the newTemplateResponse(request, name, context)signature.
Test plan
-
uv run pytest— 49 passed, 0 warnings, 0 errors
Closes #27
🤖 Generated with Claude Code