-
Notifications
You must be signed in to change notification settings - Fork 909
feat: add Busy user status support with dedicated icon and server capability detection #8579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@Rello 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs. I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review. |
|
@copilot a dedicated user-status-busy.svg file is now available for the new status. use this |
Updated to use the dedicated |
cf02f91 to
660c647
Compare
660c647 to
81003af
Compare
3ce677f to
7e0f486
Compare
…ration Co-authored-by: Rello <[email protected]>
… mappings Co-authored-by: Rello <[email protected]>
Signed-off-by: Rello <[email protected]>
Signed-off-by: Rello <[email protected]>
Co-authored-by: Rello <[email protected]>
Signed-off-by: Rello <[email protected]>
Signed-off-by: Jyrki Gadinger <[email protected]>
Signed-off-by: Jyrki Gadinger <[email protected]>
17a42f8 to
d0da6c8
Compare
|
Artifact containing the AppImage: nextcloud-appimage-pr-8579.zip SHA256 checksum: To test this change/fix you can download the above artifact file, unzip it, and run it. Please make sure to quit your existing Nextcloud app and backup your data. |
|





This PR implements support for the new "Busy" user status in the Nextcloud Desktop Client, which is available in recent server releases and promoted via the
supports_busycapability.Changes
Backend Implementation
Busyenum value toUserStatus::OnlineStatusafterAway(maintaining enum order)userStatusSupportsBusy()method inCapabilitiesclass that checks forsupports_busyin server capabilitiesUserStatus::OnlineStatus::BusyOcsUserStatusConnectorto track busy support per accountstatusBusyImageSource()method in Theme classUI Implementation
UserStatusSelector.qmlthat only appears whenuserStatusSelectorModel.busyStatusSupportedis truebusyIconproperty toUserStatusSelectorModelthat returns the dedicated busy iconbusyStatusSupportedproperty that reflects server capabilityIcon Implementation
user-status-busy.svgprovided by the design teamstatusBusyImageSource()method to Theme class for proper icon handlingTest Coverage
Added comprehensive tests for the busy capability including:
supports_busy=truesupports_busy=falsesupports_busyis missingBehavior
On servers with busy support (
supports_busy: true):On servers without busy support:
The implementation ensures complete backwards compatibility - on older servers or servers without busy support, the UI remains exactly the same with no busy button shown.
Technical Details
The busy status uses its own dedicated visual identity:
Theme::statusBusyImageSource()) with red color (#DB0606) and solid circle designThis enables users to set their status to "Busy" when supported by their server, providing better granularity in availability communication with a visually distinct icon that clearly differentiates from the away status.
Fixes #8578.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.