🐛 Fixes
- Supported-versions exceptions now validate correctly on the desktop app. Workspaces with a version exception issued by Rocket.Chat Cloud could be shown the "unsupported workspace" screen: the exception scope check did not cover deployments where the workspace uniqueID was not yet stored locally. The desktop now resolves the workspace identity before validating, and exceptions from server, cloud, and cached payloads are honored whenever they are valid and unexpired. (#3404, #3405)
- Supported-versions validation hardening. Recovery from malformed cached data no longer leaves validation in a stuck state; validation re-runs on wake from sleep; a "Check again" button on the unsupported-workspace screen re-triggers validation without restarting the app; offline validation now considers both the cached and the bundled version data, so a workspace kept usable by a cached exception is not blocked by newer bundled data. (#3405, #3406)
- Version enforcement requires complete data. A payload with a missing or malformed enforcement date no longer blocks the workspace; blocking requires a valid, past enforcement date. (#3405)
- Expiration warning reliability. The expiring-workspace warning dialog no longer fails silently when the payload's translations lack the user's language, and it re-evaluates when switching workspaces. (#3405)
- Linux/Wayland: removed startup screen-capture enumeration that could open the system screen picker when the app launched. (#3400)
🔧 Internal
- Supported-versions types and test fixtures aligned with the real
/api/infocontract, plus a live wire-contract test guarding against drift. (#3406)