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 |