| 5 | | Tasks not on the list can also be proposed; Andrew can help talk about them and if they would be sensible to do. Any work on Django, Daphne, asgiref or asgi_redis is eligible. |
| 6 | | |
| 7 | | == Tasks == |
| 8 | | |
| 9 | | High prority: |
| 10 | | |
| 11 | | * Full test suite for Daphne HTTP/WS encoding to ASGI |
| 12 | | |
| 13 | | Medium priority: |
| 14 | | * Additional tutorials (written or video) |
| 15 | | * Scheduled task/delay interface server (https://github.com/andrewgodwin/channels/issues/115) (in progress) |
| 16 | | * Automated load testing setup and runner based on AWS/Azure/etc (https://github.com/andrewgodwin/channels/issues/28) (in progress) |
| 17 | | * In-page debugging help for websocket consumers (ideas and implementation needed) |
| 18 | | * Native Twisted support on ASGI for better Daphne idling |
| 19 | | |
| 20 | | Low priority: |
| 21 | | |
| 22 | | * HTTP/2 support for Daphne (based on upcoming Twisted HTTP/2 support) (https://github.com/andrewgodwin/channels/issues/14) |
| 23 | | * Messaging (IRC/Slack/etc.) interface server and ASGI spec extension |
| 24 | | * Email interface server and ASGI spec extension |
| 25 | | * Port Daphne to run on asyncio or write a second ASGI HTTP/WS interface server on it |
| 26 | | * Socket.io and/or WAMP interface servers |
| 27 | | |
| 28 | | |
| 29 | | == Completed Tasks == |
| 30 | | |
| 31 | | These have already been done and paid for: |
| 32 | | |
| 33 | | * Write specification for channel layer backends (ASGI) |
| 34 | | * Write reference memory-only backend |
| 35 | | * Write test ORM-driven backend |
| 36 | | * Write production-ready Redis backend |
| 37 | | * Write conformance test suite for specification |
| 38 | | * Write ASGI-compatible HTTP + WebSocket mixed-mode server |
| 39 | | * Write WebSocket benchmark suite |
| 40 | | * ASGIRequest subclass and decoding from ASGI |
| 41 | | * Response encoding to ASGI |
| 42 | | * ASGI-compatible Handler and path into view layer |
| 43 | | * Streaming and file response support |
| 44 | | * HTTP authentication support |
| 45 | | * Sessions based on reply channel not cookies |
| 46 | | * Channel session authentication support |
| 47 | | * Runserver integration with Daphne (inc. autoreload) |
| 48 | | * Routing system for channels similar to URLs |
| 49 | | * runworker command for running workers in production |
| 50 | | * Optional in-order enforcement for WebSocket consumers |
| 51 | | * Tutorial documentation |
| 52 | | * Deployment/Scaling documentation |
| 53 | | * Reference/Concepts documentation |
| 54 | | * Example projects (channels-examples) |
| 55 | | * Generic WebSocket and base consumers |
| 56 | | * Tests for file and streaming response handling inside Django |
| 57 | | * Tests for runserver and runworker |
| | 5 | * `Channels issues <https://github.com/django/channels/issues/>`_, for the Django integration and overall project efforts |
| | 6 | * `Daphne issues <https://github.com/django/daphne/issues/>`_, for the HTTP and Websocket termination |
| | 7 | * `asgiref issues <https://github.com/django/asgiref/issues/>`_, for the base ASGI library/memory backend |
| | 8 | * `asgi_redis issues <https://github.com/django/asgi_redis/issues/>`_, for the Redis channel backend |
| | 9 | * `asgi_ipc issues <https://github.com/django/asgi_ipc/issues/>`_, for the POSIX IPC channel backend |