Task session is no longer closed if the socket.io connection is lost.
Instead, in the client, if the socket connection is lost it updates the
session to status of reconnecting. When the socket reconnects, the
status is changed back to active.
This prevents work sessions from simply ending and dying if the socket
connection is lost, and lets the client drive all of that directly.
- Upgraded to Yarn 4 to support Sharp build
- Added Sharp image processing module
- Added ability to select image files and one video file when posting
chat message
- Stubbed file processing for chat attachment uploads