flask/ISSUE.md
2025-11-30 02:45:52 -04:00

34 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.*