Data Linking stops working after 29 screens in sequence

Hi Adalo people, hope you are having a nice Sunday. Mine is a bit rough due to the problem I am having :slight_smile:

Situation:
I am building a workout app. As the starting point I am having a list of workouts. Each workout consists of several exercises. Each exercises consists of 7 screens linked in sequence. Also the exercises of each workout session are linked in sequence, so for one workout session with 10 exercises, there are 10 x 7 = 70 screens. (I know that it is a high number of screens, but it was the most practical solution for now given the requirements of my app.)

I am starting the data flow by linking from the list of workouts to the first exercises screen. Then the data is linked and sent through each screen of the 70 screens. Everything works fine and the data is available on each screen as expected until screen 29, when suddenly the data is missing in the yellow link action section even though the same linking is used as before, no changes in the logic.

On the start screen the data “Current Session” and “Current Course” is available as expected.

Then on the next screen the data is available, but “Current Course” suddenly starts missing in the Link section.

Then after that also “Current Session” starts missing in the Link options eventhough it is available on the screen.

Problem:
Data starts missing in the yellow Link options section on screen 29 and cannot be used for following sequential screens. It seems like a bug due to the high number of screens linked in sequence.

Does anybody know if there is a limit of screens through which data can be send?

Here is also a video of the problem:
https://drive.google.com/file/d/1B79JftKeMSe9dfmxkL7Qo0pg3GwHedlQ/view

Thanks for your help!
Alex

Can I start by asking why you need 70 screens? Could you not just have a screen that loads the data you need from different areas?

Well, the main reasons is that the exercises (screens) and each step of the exercise need to be done in sequence and I could not find a better solution given my requirements. Surely that can be optimized, but for now my main question is why the linked data gets lost on the way, even after “only” 28 screens.

If there is indeed a “limit” in terms of screens data can be pushed through, I have to rethink the architecture for sure. But I would rather keep it for now since it works for me, at least until screen 28 :wink:

On the screen before it data is missing, can you contain the link to next screen within a list of sessions. Filter > session id = current session ID.

I know you might not have a session ID property that’s just an example but you could reestablish the data link just before it goes missing.

1 Like

I can confirm that this is not a bug on our side with a limitation on how many screens a data can be passed through. I created a reduce test case to confirm this which I have made cloneable for you to check yourself too: Reduce test case 6

In this reduce test case, the data flows through all 30 screens without any loss of available data.

That means there is something else within a screen in your app that is obstructing this data flow.

1 Like

@theadaloguy Hey, awesome, genius idea. This actually reestablished the data link. Thanks so much!
Still no idea why the data link suddenly stops working, but the hack helps, so I will not complain :slight_smile:

In order to reestablish two data points, I just created two lists with COURSE and SESSION and both linked them to the next screen, just like theadaloguy described, and boom both data items are available again on all following screens. <3

1 Like

@Colin Thanks! It seems to have something to do with my particular setup. A lot of vairables here, so I will go with theadaloguy’s solution for now. If I find the reason for the issue, I will post again here!

Thanks all,
Alex

I’ve had to use this trick before, and there wasn’t a large number of screens maybe just 2 or 3. I wasn’t able to figure out why the data stopped linking. But this method did the job for me.

1 Like