flask/ISSUE.md

35 lines
1.6 KiB
Markdown
Raw Normal View History

# Bug report
**Describe the bug**
The recent refactor introduced a missing type safety and potential runtime error:
- `remove_ctx` and `add_ctx` lacked documentation, making their purpose unclear.
- `get_send_file_max_age` returned a value without proper type casting, triggering `type: ignore` comments.
- The static file route used a lambda referencing a weakref; if the app was garbagecollected it could raise an obscure error.
- `raise_routing_exception` raised `request.routing_exception` without guaranteeing it was not `None`, leading to a possible `TypeError`.
These issues manifested as typechecking failures and potential crashes when serving static files or handling routing exceptions.
**Steps to reproduce**
1. Run the test suite (`pytest`).
2. Observe `type: ignore` warnings and potential failures in `test_regression.py` when static files are accessed.
3. Manually trigger a routing exception (e.g., abort with a redirect) and notice that `raise_routing_exception` may raise `None`.
4. Access a static file after the app has been garbagecollected (unlikely in normal use but possible in longrunning processes).
**Expected behavior**
- Functions should have clear docstrings.
- `get_send_file_max_age` should return an `int` or `None` with proper type casting.
- The static file view should raise a clear `RuntimeError` if the app is unavailable.
- `raise_routing_exception` should assert the exception exists before raising.
**Environment**
- Python version: 3.12
- Flask version: 3.2.0.dev
---
*This issue was created automatically using the repository's issue template.*