BUG
* Closing/shutting down the fastapi server should not hang and ask to close dashboard sse connections `Waiting for connections to close.`
* replace `code` key in the return response, might confuse users with status_code
* when a user logout, close their sse connection 


FEATURE
* dashboard state counts should auto refresh and update when a state changes
* put fastapi directory under adapters directory and resolve all imports for code, examples and tests
* change default SHIELD_ENV to dev for the whole app
*can we support from python 3.10
* support regex matching for api route state changes
* for contributing docs, they raise PR against the main branch, there is no develop branch, fix it
* users configure to archive old audit/blocked request logs
* add the value of the key strategy, example for ip, we log the ip address, for user (the user value passed whether id or name), so application owners know what is happening. Add to the recent blocked
* support for custom rate limiting backend storage for users wanting custom backend
* websocket endpoint support
*Setting Global rate limiting with route exampts
* shared function defined to act on any of the decorators and can be applied to multiple routes



OPTIMIZATION
* when Changing route state from it's current state to the same state, do nothing, show the client a message that is the current state
* why are we sending lots of `"GET /openapi.json HTTP/1.1" 200 OK` 


TO-KNOW
uv pip install build
uv pip install twine
rm -rf build/ dist/ *.egg-info
uv run twine upload dist/* --username __token__ --password pypi-YOUR_TOKEN_HERE

uv lock

uv run mkdocs serve

uv cache clean 


CHECK OUT
* https://github.com/mE-uMAr/fastapi-crons
* https://github.com/rrd108/nuxt-api-shield