canonical / canonical/shopkeeper
Refactor: Overly complex manual HTTP/Socket handling in WorkshopClient
- Dominant language
- C++
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
The WorkshopClient class implements low-level HTTP communication, including manual header parsing (e.g., in src/workshopclient.cpp:16-29) and complex asynchronous socket management (src/workshopclient.cpp:145-572). \n\nThis manual implementation is prone to errors and violates the principle of leveraging higher-level KDE Frameworks components. The entire networking layer (socket connection, read/write loop, header parsing, timeout logic) should ideally be refactored to use or a dedicated KF6 networking module, allowing Qt to handle the complexities of HTTP protocol adherence, retries, and asynchronous state management more robustly. This would significantly reduce boilerplate code and improve reliability.\n\nLocation: src/workshopclient.cpp
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing src/workshopclient.cpp:16-29 for manual header parsing and src/workshopclient.cpp:145-572 for socket, read/write, timeout, and asynchronous state handling. Determine which higher-level KDE Frameworks or KF6 networking component fits, then consider the work complete when the networking layer no longer manages these concerns manually and preserves the client's behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100