Scheduler resizing and drag and drop issue with .net maui blazorwebview on iPad/MacOS

I'm developing a .NET MAUI hybrid app and facing performance issues with the Blazor SfSchedule on the BlazorWebView when running on Safari, specifically on iPad. Resizing or drag-and-drop actions are not as smooth as on Android and Windows. On Safari, I managed to improve the smoothness by setting the page to use mobile website mode. However, I need a solution for BlazorWebView, which I assume, runs on Safari. Is there a way to set BlazorWebView to default to mobile website mode on iPad for a smoother experience?


6 Replies

AK Ashokkumar Karuppasamy Syncfusion Team March 22, 2024 11:15 AM UTC

Hi MJ,


We appreciate your patience. We have confirmed the reported issue regarding “Scheduler resizing and drag and drop issue with .net Maui blazor web view on iPad/MacOS” as a bug and have logged a defect report. The fix for this issue will be included in our upcoming weekly patch release, which is expected to be rolled out by the second week of April, 2024. You can track the status through the following feedback link:

Feedback:
 https://www.syncfusion.com/feedback/51995/scheduler-resizing-and-drag-and-drop-issue-with-net-maui-blazorwebview-on-ipad


Regards,

Ashok



SR Subalakshmi Ramachandran Syncfusion Team May 10, 2024 11:42 AM UTC

Hi MJ,


Sorry for the inconvenience.


We were unable to include the fix as promised. Finding root cause this issue is more complicated than we expected, we are unable to provide the fix on time. However, we will include the fix in the May 22,2024 weekly patch without further delay. We appreciate your patience.


Regards,

Suba R



IL Indhumathy Loganathan Syncfusion Team May 21, 2024 12:23 PM UTC

Hi MJ,


Sorry for the inconvenience.

The touch interactions do not properly work on the MAC Xcode emulator. So, we need to check the reported issue with the real device only. We need to create an application to run them on the real device to fix proceedings, and it takes more time than expected. However, we will include the fix changes in the June 4, 2024 patch release.


Regards,

Indhumathy L



IL Indhumathy Loganathan Syncfusion Team June 4, 2024 02:53 PM UTC

Hi MJ,


Sorry for the inconvenience. We were having difficulty resolving the reported issue. We are going to try to run the MAUI project on a real device using VS. We will try to run the Scheduler application on the real device and fix the issue. We will provide this fix by the June 18, 2024, patch release.


Regards,

Indhumathy L



IL Indhumathy Loganathan Syncfusion Team July 1, 2024 01:24 PM UTC

Hi MJ,

We deeply regret the delay in providing the fix for the issue.

Upon validating the issue in a real iPad device, we found the user agent of the MAUI Blazor application does not appear to be like the real browsers like Safari, Chrome, etc. The name of the browser is missing in the user agent. The drag operation of the Scheduler is handled at our end based on the browser name present in the user agent. Due to the user agent difference between the real browsers and MAUI BlazorWebView, the issue is happening. The default touch scroll action and bounce effect of the iPad also interfere with the drag operation. Based on these validation details currently, we are working on high priority to fix the issue. We will update you with the further details on or before July 10, 2024. We appreciate your patience.

Regards,

Indhumathy L



SR Swathi Ravi Syncfusion Team July 11, 2024 05:40 AM UTC

Hi MJ,

Thanks for your patience.

Upon validating your reported issue at our end, we found some of the browser-related details are missing in the browser userAgent string because the project is running in the BlazorWebView not the actual browser which is causing the drag and resize issues. To fix the issue you have to override the getValue method of the Browser module as shown in the below code snippet after the blazor.webview.js script tag in the index.html file of the project. Let us know if you need any further assistance.

[index.html]

<script>
    var REGX_BROWSER = {
        CHROME: /(chrome|crios)[ /]([\w.]+)/i
    };
    sf.base.Browser.getValue = function (key, regX) {
        var browserDetails = typeof window !== 'undefined' ? window.browserDetails : {};
        if (typeof navigator !== 'undefined' && navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 && sf.base.Browser.isTouch === true && !REGX_BROWSER.CHROME.test(navigator.userAgent)) {
            browserDetails['isIos'] = true;
            browserDetails['isDevice'] = true;
            browserDetails['isTouch'] = true;
            browserDetails['isPointer'] = ('pointerEnabled' in window.navigator);
        }
        if ('undefined' === typeof browserDetails["" + key]) {
            return browserDetails["" + key] = regX.test(sf.base.Browser.userAgent);
        }
        return browserDetails["" + key];
    }
</script>

Image_9442_1720676156782

Regards,
Swathi Ravi


Loader.
Up arrow icon