Replies: 2 comments 5 replies
-
Proposal 1: Ensure that rocket always starts and provide feedback in the UIWe make our startup more resilient and provide more feedback about the applications status to the user in the ItchySats UI. First, we will have to make sure that there are no blocking errors that can prevent rocket (which serves the UI) from starting. I propose a Given that we have some environments (notably Umbrel) where we cannot easily specify meaningful external health checks I lean towards this proposal. |
Beta Was this translation helpful? Give feedback.
-
Proposal 2: Health management outside of the applicationThis would allow us to ensure that E.g. EmbassyOs (Start9) actually displays a warning for ItchySats if Electrs is having a problem. For Electron we could also perform dependency checks on a startup screen that is managed within the Electron context outside of ItchySats. For Umbrel this is a bit tricky - I don't think we can provide dependency information to the user outside of ItchySats. One thing that is not solved by this proposal is the behavior if e.g. Electrs becomes unavailable while the application is already running. Even if we monitor this from the outside, we can hardly just stop ItchySats and tell the user to fix the problem before the user can use it again. I think the UX of Proposal 1 would be better. |
Beta Was this translation helpful? Give feedback.
-
If Electrs' RPC is not available then rocket will not start up, meaning that one does not get any feedback because there is no user interface.
This problem is especially problematic in environments where we cannot apply external health checks like on Umbrel. If the not start on Umbrel the user will have to query for the logs, but on Umbrel (at least to my knowledge) one cannot easily retrieve the logs for only one application unless SSHing into the machine and querying the docker logs, so this is super cumbersome.
On Start9 we can at least query the
/alive
endpoint and get feedback if the application is started and the UI available. But that does not help much with understanding what the problem is; the user will still have to go through the logs to understand the problem.On Electron we could specify external monitoring of dependencies in the Electron context. At the moment the UX is horror, because there won't be a UI and the logs are hidden 😅
I am specifying proposals to deal with this problem as answers.
Beta Was this translation helpful? Give feedback.
All reactions