IceCubesApp
IceCubesApp copied to clipboard
Bug: Cannot load any private message
I can't show any private messages, I always get a fullscreen error message. Tapping retry doesn't help.
I have some non linear private messages. So not every message was a reply to the oldest message. Some private mentions have multiple replies - like normal messages. Maybe this is the issue. Showing those messages in Mammoth results in incomplete threads (some are filtered out)
Have almost the same problem, but the first time after opening the app, the messages are displayed (still empty for me). The error occurs after a refresh and never goes away until I restart the app again.
Now I got the first private mention after using Ice Cubes. Now this conversation shows in the UI. But the others won't. In case it's not possible to find all conversations there should at least be a message instead of this error.
I can only see the last message in this tab. When a new one comes in, I see this new one, but not the older ones Running version 1.4.2
I found the reason, a nullability issue when loading the conversations.
I just updated to 1.4.2 and it's broken again 😅
I meant I am running version 1.4.2 and have this error, but I'm just on fixing it.
Error still exists in version 1.4.4 :(
Seems to be another reason. For me it was fixed with 1.4.3.
It's only when de inbox is empty. One message is enough to solve this problem.
This is what you're supposed to see if it's empty
Yes, I know. That's what I see when I restart the app. But when I refresh that page (drag down), the error comes back.
I closed and reopened the app and captured the screen: https://user-images.githubusercontent.com/6153559/218099463-ecd592d4-a5f1-4670-9b88-9b9e5bcd0cd4.MOV
I cannot reproduce it in the simulator,there the refresh works. When debugging on the device, I see the following error on refresh:
Update NavigationAuthority bound path tried to update multiple times per frame.
Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=https://infosec.exchange/api/v1/conversations, NSErrorFailingURLKey=https://infosec.exchange/api/v1/conversations, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <0429CED2-5B2F-454E-8DA2-EC0E4602338E>.<27>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <0429CED2-5B2F-454E-8DA2-EC0E4602338E>.<27>, NSLocalizedDescription=cancelled}
Information I found either show a problem with certificates - which I don't think is the problem here, we have calls before and after that that succeed - or something "executing the exact same request while the same object is already executing - which I could not validate
Currently out of ideas
Feel like it's iOS .refreshable canceling the request. Are you on 16.3? If not can you update.
yes, 16.3
strange thing is, that refreshes on all other tabs are working, only the ConversationsListView has this behaviour
yes, 16.3
I'm on 16.3 also.
found it.
The call in the .refreshable need to be wrapped in a Task
:
@Dimillian I'll add this to the NotificationsListView and TimeLineView as well, there the await methods for fetching data in the model are missing this as well, PR incoming
That the thing, it should not requiere that. .refreshable is already a Task. And that how it sync the status of the refresh. It you wrap it then you loose the completion.
https://www.swiftbysundell.com/articles/making-swiftui-views-refreshable/
ok, I see in the docs of refreshable that there is no Task wrapping as well. But why does it fail then?
I think it's just a SwiftUI bug unfortunately and this screen must trigger it. I'm ok to wrap it for this one tho if it fix it. Never had it on my phone.
Problem is solved in 1.4.6 but still has a weird glitch: https://user-images.githubusercontent.com/6153559/218331677-aa898c4d-b01e-431d-8018-e575c319c892.MOV