Rock Mobile Docs

Please login to access all of the features of the Community Site.

Troubleshooting

Troubleshooting an issue in Rock Mobile can be a bit tricky since you don't have an inspector or a way to debug. Sometimes the error message won't be particularly helpful either. We'll include some common issues here and potential solutions to try, as well as some best practices.

Note

If there's no error message shown and the page is blank, that could indicate an issue with the Layout XAML. It's generally good practice to keep your Layout(s) simple.

RockError #1000

"You appear to be disconnected from the internet."

This is most common when connected to Wi-Fi and the network goes down.

RockError #1001

This connection error is shown on app startup if the shell is unable to connect to the Rock server. The most common cause of this issue would be the Rock server itself going down.

Another issue that might arise is if your Public Application Root global attribute value is incorrect. This URL is used to reference resources the shell needs, so when it can't find them, you'll see this.

Note

Note that the shell cannot connect to localhost without additional tooling like ngrok or something that can expose Rock to the web.  

If you're only seeing an issue on Android, there may be a problem with the SSL certificate. Check out this comment from RocketChat for more details.

XAML Errors

One of the identified items was in an invalid format.

Sometimes shown when a property has an invalid value, for example a Grid's RowDefinitions.

Arg_ObjObjEx, System.String, Microsoft.Maui.IView

You may have client-side Lava defined with Lava tags, but the block doesn't have "Process Lava on Client" enabled.

Client-Side Lava Not Running

If Lava meant for the device is showing up as literal text, rendering empty, or throwing a filter error, check these in order:

  1. Process Lava On Client is unchecked. The device never runs a Lava pass, so client-side tags are handed to the XAML parser as text.
  2. Both Process Lava On Server and Process Lava On Client are checked, but the client-side Lava is not wrapped in {% raw %} {% endraw %}. The server processed it first and there was nothing left for the device to run. Client-only filters such as PersonImpersonationToken fail on the server for the same reason.
  3. The block ignores the settings. Most mobile blocks show these checkboxes but do nothing with them. Only Content and Hero honor both; a few template blocks honor only the client setting. See the block table under Mixing Server and Client Lava in the Render Pipeline article.