Remove disconnected participants from drawing boards
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 88/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- networking
Research direction
Start with DrawingBoardWebSocketPlugin.unregister_participant() and follow how DrawingBoardWebSocketHandler.closed() calls it. Check the handler storage described in board['handlers'] and verify that a disconnected participant is removed so drop_dead_boards() recognizes an empty board before expiry.
Written by the indexing model from the issue text.
Description
DrawingBoardWebSocketPlugin.unregister_participant() checks whether the participant id is in self.boards[board_id], but participant handlers are stored in board['handlers']. For normal participant ids the check is false, so the handler is never removed when DrawingBoardWebSocketHandler.closed() calls this method.
This leaves disconnected handlers in the board until its five-minute expiry, and prevents drop_dead_boards() from recognizing an empty board. Please check membership in the handlers dictionary before removing the participant.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 286
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 2
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Lawouach/WebSocket-for-Python
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
Lawouach/WebSocket-for-Python#300 ·
-
This project is not well maintained so be very very very patient!May be free again @Lawouach claimed this 656 days ago, and no pull request is open. Openquestion
Lawouach/WebSocket-for-Python#297 · 2 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 20/100
Lawouach/WebSocket-for-Python#296 ·
-
Make the codes python 3 compatibleMay be free again @auvipy claimed this 1062 days ago, and no pull request is open. Open
Lawouach/WebSocket-for-Python#280 · 1 comment · 1 assignee ·
-
Setup new CIMay be free again @auvipy claimed this 1234 days ago, and no pull request is open. Open
Lawouach/WebSocket-for-Python#275 · 1 assignee ·
All issues in Lawouach/WebSocket-for-Python
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Juniper/ansible-junos-stdlib#904 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
pollen-robotics/reachy_mini#1457 ·
Maintainers usually reply within 1 day
-
area:runtime good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
WATonomous/wato_f1tenth#39 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
FireDynamics/fdsreader#123 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100