* Starting reporting write up.
* Added in charts
* Added in images to report
* Cleaned up comments
* Added in clarifications about the testing
* Added in clarification
* Added date
* Added in subdir with same content
* Added in supervisor configs
* updated the readme
* Update and rename README.rst to README.md
* Update README.md
* Added in version info.
* Changes to root info
* Update README.md
* Update README.md
* Cleaned up presentation
* Update README.rst
* Updated images
* Updated images and content
* Added in summary
* Starting reporting write up.
* Added in charts
* Added in images to report
* Cleaned up comments
* Added in clarifications about the testing
* Added in clarification
* Added date
* Added in subdir with same content
* Added in supervisor configs
* updated the readme
* Update and rename README.rst to README.md
* Update README.md
* Added in version info.
* Changes to root info
* Update README.md
* Update README.md
* Cleaned up presentation
* Update README.rst
* Updated images
* Updated images and content
* Add Delay Protocol Server
Add a process that listens to a specific channel
and delays incoming messages by a given time.
* Add custom django command rundelay
* Add test suite
* Implements #115
* Add channels.delay app
* Add AppConfig
* Move rundelay command to channels.delay app
* Refactor DelayedMessage into model
Move login into a database backed model.
* Update Worker
* Add migration
* Add delay docs page
* Add to TOC
* Fix import sorting
* Add ASGI spec document for Delay Protocol
* Update channels.delay doc with new channel name
* remove interval docs
* Refactor Delay to use milliseconds instead of seconds
Use milliseconds as the default unit. Gives more control to developers.
* Remove interval logic from DelayedMessage
* Remove interval tests
* Tweak test logic to use milliseconds
* Pass FORCE_SCRIPT_NAME to Daphne server when set
FORCE_SCRIPT_NAME seems not to be honored any more with build-in runserver after activating channels app.
The normal behavior of Django is the FORCE_SCRIPT_NAME is used as prefix when set while generating URLs so its possible to
create a path prefix and determine different Django installations based on the path rather than hostname without having to prefix all paths in urls.py.
* Only strip script_name from path if it starts with it
* make tests happy again after setting kwarg root_path
* Do not generate new fingerprint when connection fails
* Do not try to print latencies when all connections failed
* Update asgi_redis and channels versions in Dockerfile
* added http_timeout as a comand line option for runserver
* possible improvement for input param management
* explicitly set the default http_timeout in add_argument
* Update channel_session decorator to rehydrate http_session
Update the http_session decorator to write the http session key
to the channel_session when available. This allows the channel_session
decorator to rehydrate the http_session after the initial websocket
connection.
closes#318
* Add persist=True option to http_session
* Add explicit option to store the session key in the channel session
* Update docs
* Add test case
* Add channel_and_http_session decorator
This decorator enables both sessions and maintains
the http_session for the lifetime of the websocket connection.
As per [their blog post of the 27th April](https://blog.readthedocs.com/securing-subdomains/) ‘Securing subdomains’:
> Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard.
Test Plan: Manually visited all the links I’ve modified.