I've been doing a bit of testing of some of the offline functionality in my app(s). This generally means, loading the app, and some data, then putting the device in flight mode to see if things didn't break.
First of all, I found that sometimes PowerApps still tries to make online calls, even though it's not connected. But after navigating to a new screen, sometimes the 'loading dots' appear in the top of the screen, and after a while an error notification is shown. I'm pretty certain it's not my own code/formulas doing this, as I designed these screens to work with cached local data. (The error message is typically something like "Not a valid connector Error response".)
Second (and this is way worse!), I discovered that it's possible for 'something' to become corrupted in the app if I'm offline, and navigating to a new screen. Whenever this happens, the screen becomes just a mess of controls/components in their initial state, and the app doesn't respond any more. I can't do anything else other than restart the app. However, in addition to having to restart, this also seems to permanently corrupt that screen -- so even when I disable flight mode, the screen is still broken when I navigate to it. And the screen remains broken until I empty the PowerApps cache.
While the last problem does not occur in all screens, there are some screens that consistently display this problem whenever I navigate to that screen while I'm offline AND the screen has not been opened before.
Not sure how to approach this. Can provide a video demonstrating this problem, if necessary.
/edit: tested this both in the iOS app and the Android app. Problem is present in both.
@MrNappa wrote:@sriniD Is there a way to trace these calls/logs myself so I can hunt them down? As far as I know, I should have isolated any explicit online calls behind Connection.Connected checks. My suspicion is that PowerApps is behind the scenes doing some calls to retrieve information about option sets, but I can't back that up with technical data. It's just that in the past I've seen sometimes somewhat unexpected behavior with regard to option sets.
Also, do you have any info on the second part of my question (about components)?
Any more feedback?
@sriniD Is there a way to trace these calls/logs myself so I can hunt them down? As far as I know, I should have isolated any explicit online calls behind Connection.Connected checks. My suspicion is that PowerApps is behind the scenes doing some calls to retrieve information about option sets, but I can't back that up with technical data. It's just that in the past I've seen sometimes somewhat unexpected behavior with regard to option sets.
Also, do you have any info on the second part of my question (about components)?
@MrNappa I checked your session there 3 CDS calls coming from your app in the offline which cause those errors. It might be trigger thru some rule, please check and make sure calls only in online mode. Basically calls related to Project/Entity definition and users based on filter.
Hi @sriniD , thanks for the reply.
> First issue, most common issue that probably some where app calling the network call while in offline directly or indirectly thru some rule. If you able to provide sessionId, I can check where exactly this call happens. For that you need run the repro in offline, then go back to online to collect the sessionId.
I have this session id: 1ec36a26-ebe1-4cbf-8a1a-5297de259bc0
> Second Issue, It seems that you are using components in your apps. Unfortunately experimental feature components still not supported in offline. Components need to launch atleast once in online before using in offline. Otherwise screens where those components used get hanged in offline.
Ouch. That seems kind of weird, though. Can you confirm this will be fixed for the planned 2020 wave 1 release? (it says on the page that 'offline' will be improved, and components will see a 'general' release).
Sorry for having some issues.
First issue, most common issue that probably some where app calling the network call while in offline directly or indirectly thru some rule. If you able to provide sessionId, I can check where exactly this call happens. For that you need run the repro in offline, then go back to online to collect the sessionId.
Second Issue, It seems that you are using components in your apps. Unfortunately experimental feature components still not supported in offline. Components need to launch atleast once in online before using in offline. Otherwise screens where those components used get hanged in offline.
Hope it helps.
WarrenBelz
146,552
Most Valuable Professional
RandyHayes
76,287
Super User 2024 Season 1
Pstork1
65,928
Most Valuable Professional