Skip to main content

 

MABS 6.0 Breaking Changes and Known Limitations

OutSystems

MABS 6.0 Breaking Changes and Known Limitations

For common issues and solutions check also Troubleshooting the Mobile Apps Generation.

After you start building your apps with MABS 6.0 Beta 1 release, you may experience some breaking changes and known limitations. Check them below, together with more information, including how to fix some of the issues.

The biggest change in MABS 6.0 is introduction of WKWebView, which makes you mobile apps compliant with Apple Requirements for the app store acceptance. This also implied dropping support for iOS 10.

Breaking Changes

Here is the list of MABS 6.0 Beta 1 breaking changes, along with the instructions on how to fix the issues.

XHR / Fetch requests to OutSystems servers don't work

Symptom

XHR / Fetch requests to OutSystems servers fail.

Workaround

Custom JavaScript nodes for XML HTTP Requests work only with servers that implements CORS. iOS apps now load from outsystems:// and not https://, so the document.origin returns outsystems://hostname.domain. All requests to https://hostname.domain are considered cross-origin because the protocol is different between the origin and the target. This makes WKWebView enforce CORS, which is currently not implemented by OutSystems servers. The XHR / Fetch requests to other servers depend on whether those servers implement CORS.

You can try these workarounds:

  • Use a Server Action. Starting with MABS 6.0 with WKWebView, Server Actions calls are made through the native code instead of XHR and they are not subject to CORS validations.
  • Implement CORS on the server. If you have access to the backend configuration, ensure that CORS is implemented correctly and that the application origin header value is allowed.
  • Use a Cordova plug-in such as cordova-plugin-advanced-http to "proxy" the HTTP requests using native code (outside WKWebView), as this bypasses CORS altogether.

Cookies from OutSystems servers are not accessible from document.cookie

Symptom

Cookies from the OutSystems servers are not accessible from document.cookie.

Workaround

Since document.cookie is not available in MABS 6.0, use the internal API to display cookies: OutSystemsNative.Http.getCookies().

RedirectToURL Event fails

Symptom

The RedirectToURL Event fails on MABS 6.0.

Workaround

Because the iOS applications from MABS 6.0 load with outsystems://, and not https://, redirects with the absolute URLs to another OutSystems app fail.

RedirectToURL Event property

You can try these workarounds:

  • In MABS 6.0: for iOS use the custom scheme outsystems://, for Android use https://.
  • In MABS 5.X: and earlier: use https:// for both iOS and Android.
  • If you're targeting different MABS versions and platforms, implement custom logic that checks platform in use (MABS 6.0 or earlier) and sets the correct URL (outsystems:// or https://).
  • Use the relative URLs whenever applicable.
  • As the best practice, open URLs by using the InAppBrowser plug-in. This way the context of the current application is maintained.

Known limitations

Here are MABS 6.0 Beta 1 known limitations.

Web Inspector doesn't show Network information

Symptom

Safari Web Inspector does not show Network information about Server Actions requests.

Workaround

A workaround is currently not available. It's on the OutSystems roadmap to provide an alternative for this troubleshoot feature. All other features of Web Inspector are available.

  • Was this article helpful?