nxapi icon indicating copy to clipboard operation
nxapi copied to clipboard

Presence monitoring error handling

Open samuelthomas2774 opened this issue 1 year ago • 0 comments

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?

samuelthomas2774 avatar Dec 19 '22 01:12 samuelthomas2774