{"action":"opened","issue":{"url":"https://api.github.com/repos/YunoHost/issues/issues/1195","repository_url":"https://api.github.com/repos/YunoHost/issues","labels_url":"https://api.github.com/repos/YunoHost/issues/issues/1195/labels{/name}","comments_url":"https://api.github.com/repos/YunoHost/issues/issues/1195/comments","events_url":"https://api.github.com/repos/YunoHost/issues/issues/1195/events","html_url":"https://github.com/YunoHost/issues/issues/1195","id":359247798,"node_id":"MDU6SXNzdWUzNTkyNDc3OTg=","number":1195,"title":"No feedback in webadmin when running action","user":{"login":"alexAubin","id":4533074,"node_id":"MDQ6VXNlcjQ1MzMwNzQ=","avatar_url":"https://avatars3.githubusercontent.com/u/4533074?v=4","gravatar_id":"","url":"https://api.github.com/users/alexAubin","html_url":"https://github.com/alexAubin","followers_url":"https://api.github.com/users/alexAubin/followers","following_url":"https://api.github.com/users/alexAubin/following{/other_user}","gists_url":"https://api.github.com/users/alexAubin/gists{/gist_id}","starred_url":"https://api.github.com/users/alexAubin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexAubin/subscriptions","organizations_url":"https://api.github.com/users/alexAubin/orgs","repos_url":"https://api.github.com/users/alexAubin/repos","events_url":"https://api.github.com/users/alexAubin/events{/privacy}","received_events_url":"https://api.github.com/users/alexAubin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-09-11T22:29:49Z","updated_at":"2018-09-11T22:29:49Z","closed_at":null,"author_association":"MEMBER","body":"There is currently an important issue with the display of messages in the webadmin. Not sure why we discover it only now.\r\n\r\n- When triggering a command, the webadmin will do a request on the API to GET/POST the info.\r\n- Right after doing this, the webadmin JS tries to open a websocket connection to fetch messages as the command is being ran\r\n- But ... since there is only one process (yunohost-api) running to handle both 1) the execution of the command and 2) the websocket, it can't do both at the same time\r\n\r\nThen two possibilities arise : \r\n1. The command finish quickly. Then yunohost-api is free, and the websocket request can be initialized. All the messages end up being sent at once and it looks like everything worked (though a bit laggy if the command took 2~3 seconds to finish)\r\n2. The command is a bit longer (e.g. **the goddamn postinstall**) and then the websocket request times out on the client side and is never answered. Then the user won't get any info on what actually happens. If he/she is lucky, the command will silently succeed and that's all.\r\n\r\nAt least that's my understanding at this point. I'm still not sure how it is supposed to work. Also the app install might not be affected because it uses an asynchronous way of dealing with messages - but I'm not even sure that the webadmin behaves as expected.\r\n\r\nAll of this is kind of a UX disaster (e.g. considering this affects the postinstall) and might be the root cause of Tofeo's (and others) complains about the webadmin not displaying any messages."}}
{"actor":{"display_login":"alexAubin"}}