Closes #817
## What changed
- validate operator ownership and open milestone once
- apply milestone plus optional deadline in one confirmed Gitea mutation
- preserve an existing due date when no deadline is selected
- route the resumable mobile Search release batch through the atomic operation
## Verification
- `python3 -m pytest tests/test_issue_api.py tests/test_search_batch_plan.py -q` — 90 passed
- `python3 -m pytest -q` — 1545 passed
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #817
What changed
Verification
python3 -m pytest tests/test_issue_api.py tests/test_search_batch_plan.py -q— 90 passedpython3 -m pytest -q— 1545 passed