nxapi
nxapi copied to clipboard
Presence monitoring error handling
Show errors updating presence monitors in the main window instead of an error dialog. (Maybe show a banner like for updates, with a button to retry or show the full error message?) Also show a warning icon on any users with erroring monitors.
The app currently logs and ignores some temporary errors, and clears Discord presence after 10 errors, but continues retrying automatically infinitely. Errors not identified as temporary (not meaning permanent) result in an error dialog.
The app should notify the user that a non-temporary error occurred, but this should never focus the app and should be easy for the user to just ignore (pausing the monitor until retried):
- Desktop notifications? That might still be too annoying.
- macOS/Windows: bounce the dock icon/flash the window icon?
- Menu app/tray?
Also add more helpful messages for certain errors (e.g. error responses from api.imink.app should suggest checking https://status.imink.app and trying again later, errors from the Coral API can have more detailed error messages instead of just showing the status code).
OS considerations:
- macOS unhides the app and bounces the dock icon but doesn’t focus the app, so errors aren’t too invasive
- From Big Sur error messages are centred which is annoying
- macOS blocks the main thread while showing the error dialog
- Windows focuses the app which means errors are really annoying
- Some Linux desktop environments don’t scroll error messages
Also: maybe show a panel for the proxy presence monitor when clicked like for users, instead of just opening the setup window immediately?