zulip-terminal
zulip-terminal copied to clipboard
Show loading screen in urwid.
These commits are not perfectly isolated, because there are a lot of things to be done here:
- Show
LoadingViewfirst and runModelandViewinitialization asynchronously. - Move settings from
run.pytoLoadingView - Move spinning cursor from
ControllertoLoadingView
Making a new PR for this. I'll keep the current tutorial PR #583 only for tutorial related enhancements.
Adding tests.
@kaustubh-nair I tried this out manually and it looks great! 👌
@kaustubh-nair I replied on the stream about this - functionally this does what we want, but the structure is a little confusing and smaller commits may help explain which changes you're making and why. It's great that you're picking up others' older PRs and moving them forward, but it can be challenging precisely since they're not your code
Some aspects to consider:
- what (current) aspects of the model and view can be started in parallel or not?
- we have various cases in the code where we check whether the view is set up (
hasattr); if we can ensure the ordering in the initial setup then can we remove these? - while
Controller()and its.main(...)are run consecutively, if we change the order we should understand/explain why - when commits simply "move" code around, make sure that the code hasn't been adjusted by other commits between this - this is particularly true with rebasing older PRs!
Heads up @kaustubh-nair, we just merged some commits that conflict with the changes your made in this pull request! You can review this repository's recent commits to see where the conflicts occur. Please rebase your feature branch against the upstream/main branch and resolve your pull request's merge conflicts accordingly.