Describe the bug
When the application starts duplicate network calls are made as the views render/redraw.
Expected Behavior
The networking should be limited to that which is required, and where necessary group duplicate requests.
Actual Behavior
Multiple calls occur simultaneously
To Reproduce
[ ] Run your favourite proxy
[ ] Start the application from cold
[ ] Observe the calls made by the application
VIDEO
Mlem Information:
latest dev build, but has been present for some time.
Additional Context
The fix I have in progress for #651 makes use of an actor during resolution, I will look to use a similar approach to add support for grouped network calls which will address this issue. We should also be looking to have calls separated from the lifetime of our views, however our client should handle this situation gracefully even when it is spammed with requests.
I'm not sure if this is intentional behaviour, but this issue is partly caused by our TabView loading all the tab verticals on launch, instead of lazy loading each tab view. The system TabView lazy loads tabs.
I had a branch setup where we use the system TabView while keeping our custom FancyTabBar (see link below)
Feel free to see if the network calls are reduced on launch in this commit on this branch here: [https://github.com/mlemgroup/mlem/tree/bosco/fancy-tab-bar-v2]() [d7fa6d2d8838aef66645ad98c424c94200cc0440] (some views have extra bottom insets because I didn't turn off fancy tab bar insets).
Describe the bug When the application starts duplicate network calls are made as the views render/redraw.
Expected Behavior The networking should be limited to that which is required, and where necessary group duplicate requests.
Actual Behavior Multiple calls occur simultaneously
To Reproduce
Mlem Information: latest
dev
build, but has been present for some time.Additional Context The fix I have in progress for #651 makes use of an
actor
during resolution, I will look to use a similar approach to add support for grouped network calls which will address this issue. We should also be looking to have calls separated from the lifetime of our views, however our client should handle this situation gracefully even when it is spammed with requests.