Save and restore the dock's display state from persistent storage#422
Save and restore the dock's display state from persistent storage#422kevinaboos merged 81 commits intoproject-robius:mainfrom
Conversation
kevinaboos
left a comment
There was a problem hiding this comment.
a few nits about naming clarity:
- The word "prompt" should be something like "notice" instead, since a prompt implies that we're asking the user to input some info. But really, we're just showing the user a notice that something is happening in the background.
- Similarly, the word "timeout" should be replaced with "failure"/"failed"/"error", since timing out is just one potential error that could occur when loading a room.
See my other comments about how to potentially redesign the action handling logic for Pending, Success, and Timeout.
It's been merged now. |
kevinaboos
left a comment
There was a problem hiding this comment.
Thanks for the Makepad contribution, this PR is nearly ready. I just left a few very minor comments.
Co-authored-by: Kevin Boos <[email protected]>
Co-authored-by: Kevin Boos <[email protected]>
Co-authored-by: Kevin Boos <[email protected]>
kevinaboos
left a comment
There was a problem hiding this comment.
I've cleaned up this PR and the code is now ready to go, so please pull down the latest changes onto your computer.
Currently, there is still an issue with InviteScreens: they are not being drawn properly after they get restored. See the screenshot below:
This is because you need to add the same logic used in the RoomScreen to the InviteScreen too. Things like checking whether the room is_loaded, then calling set_displayed_invite() when it becomes loaded, etc. It also needs the same restore_status_label.
|
I've also noticed that the window position is not always respected by macOS, but the window size is used properly. Nothing we can do there, as it seems to be an OS-enforced behavior. |


Fixes #414
Screen.Recording.2025-03-12.at.1.21.32.PM.mov
If the user has resized a dock pane by dragging the splitter, that is currently not preserved.
This can also be offered as a preference/setting in the settings pane, once that is implement.
I have also explored saving and restoring the window dimension. Currently makepad does not have a solution resize the window dynamically.