Weekly GitHub Report for Maui: September 01, 2025 - September 08, 2025 (12:00:15)
Weekly GitHub Report for Maui
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is 9.0.90
1.2 Version Information:
The .NET MAUI 9.0.90 SR9 release, published on July 11, 2025, includes over 141 commits primarily focused on critical product fixes across iOS, Android, and Windows platforms, testing enhancements, infrastructure updates, and dependency version bumps. Key highlights include numerous bug fixes addressing UI behavior, threading issues, and control improvements, alongside expanded automated testing coverage and housekeeping updates to improve stability and maintainability.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[Android] HybridWebView briefly resizes to full screen when page is opened before snapping back to correct size: This issue describes a problem on Android where a HybridWebView briefly resizes to full screen when a page is initially loaded before snapping back to its intended size, causing a flicker effect. This behavior does not occur on iOS or Windows and only happens during the WebView's initial creation and sizing.
- The comments confirm the issue is reproducible on Android with specific MAUI versions and discuss its low priority due to being an edge case. A workaround involving a custom handler was shared, which disables hardware acceleration on the HybridWebView and sets its background to transparent, effectively eliminating the resizing flicker.
- Number of comments this week: 4
-
HybridWebViewQueryStringHelper.RemovePossibleQueryString removes '?' but not other special characters e.g. '#': This issue describes a problem in the HybridWebViewQueryStringHelper where the method RemovePossibleQueryString only removes the '?' character from URLs but fails to remove other special characters like '#', causing incorrect file loading behavior when URLs contain fragments. The user reports that when loading a URL with a fragment (e.g., "index.html#code=1234asdf"), the application attempts to load a non-existent file including the fragment, and suggests a code change to also remove '#' to fix the issue.
- The comments include a user-provided minimal reproduction project demonstrating the issue and a proposed code fix by modifying the character removal logic to include '#'. Another participant asks if the issue persists in the latest .NET 10 preview, but the original reporter doubts the fix is included there based on their review of recent changes.
- Number of comments this week: 3
-
[Bug][Windows] MAUI has a chance to fail with 0xC0000409 crash in InputStateManager.dll when processing tap input: This issue describes a native crash occurring in Windows MAUI applications when processing rapid tap input, resulting in a fail-fast exception (0xC0000409) from InputStateManager.dll. The problem is a regression introduced after version 9.0.50, causing apps to crash without managed exceptions or stack traces, and is more frequent on lower-end hardware or with rapid tapping.
- The comments initially requested adherence to the issue template and a reproduction example; the reporter then updated the issue with clearer formatting, reproduction steps, and finally provided a repository containing a basic MAUI app that reliably reproduces the crash.
- Number of comments this week: 3
-
[BUG] Binding issue - NET MAUI v9: This issue describes a problem encountered when migrating an app from .NET MAUI version 8 to version 9, where DataTemplate bindings no longer update or display correctly on Android 11 and above. The user reports that the binding worked as expected in version 8 but fails in version 9 despite attempts to use new binding approaches and enabling source compilation attributes.
- The comments confirm the issue is reproducible on Android with .NET MAUI 9.0.0 and 9.0.100, though one participant suggests it might be a project update problem rather than a bug. The original poster clarifies that the functionality works in Xamarin.Forms and .NET MAUI 8 but not in version 9, seeking alternative solutions or confirmation of a regression.
- Number of comments this week: 3
-
[Android] On Android the HorizontalOptions for HorizontalStackLayout does not work: This issue reports that on Android devices, the
HorizontalOptions="Center"
property does not work as expected when used with a customHorizontalWrapLayout
element derived fromHorizontalStackLayout
. The problem appears specifically when the layout is placed inside aScrollView
, causing the horizontal centering to fail on Android while it works correctly on Windows.- The comments confirm the issue is reproducible on Android with specific MAUI versions and clarify that the root cause is related to the
ScrollView
rather than theHorizontalStackLayout
itself; a fix has been implemented in the NET10 branch addressing this behavior. - Number of comments this week: 2
- The comments confirm the issue is reproducible on Android with specific MAUI versions and clarify that the root cause is related to the
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
- Nullable Enums do not bind in XAML: This issue describes a problem where nullable enums fail to bind correctly to a bindable property within a custom control in a XAML environment, with the setter for the property not being triggered at all. The user provides detailed reproduction steps and notes that the issue affects all versions on iOS and Android platforms, with a suggested workaround being to avoid nullable enums by adding an explicit unset or none value to the enum instead.
- App crash after invoked FilePicker.Default.PickAsync in administrator mode and release mode of the Unpackaged app: This issue describes an application crash that occurs specifically when invoking the FilePicker.Default.PickAsync method in an unpackaged app running in administrator mode and release configuration. The problem is reproducible on Windows version 10.0.19041.0 using version 8.0.80 SR8 of the software, and no workaround has been identified so far.
- Global defined EventTriggers get triggered twice: This issue describes a problem where an EventTrigger defined globally in a style causes its invoke method to be called twice, resulting in duplicate event handling. The user notes that applying the EventTrigger through a named style with a key triggers the event only once, indicating a discrepancy in behavior between global and keyed style definitions across multiple platforms including iOS, Android, and Windows.
- Path with ArcSegments is sporadically drawn offset from expected arc: This issue describes a sporadic rendering problem where arcs drawn using ArcSegment in a PathFigure or PathGeometry appear slightly offset from their expected starting position, particularly for large arcs greater than 180 degrees. The problem occurs across multiple platforms (Windows, Android, iOS), worsens with thicker strokes, and persists despite attempted workarounds such as breaking the arc into smaller segments or manually drawing it with line segments, with the issue notably resurfacing during animations.
- .NET Maui does not support FontAutoScalingEnabled for windows platform: This issue highlights that the .NET Maui framework does not properly support the FontAutoScalingEnabled property on the Windows platform, causing text labels to scale incorrectly when the display scaling is changed. Specifically, when FontAutoScalingEnabled is set to false, the text size still increases with higher display scaling settings, which should not occur according to the expected behavior.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 22
Summarized Issues:
- Folder Access in MSIX and Non-Packaged Apps: Accessing KnownFolders like MyPhotos and MyDocuments in MSIX-packaged or non-packaged MAUI apps on Windows always returns an empty list and does not provide the folder path, preventing reliable location of libraries. This issue blocks apps from accessing user libraries as expected, limiting functionality on Windows platforms.
- issues/31422
- Android Layout and UI Issues: Multiple Android-specific UI problems exist, including
HorizontalOptions="Center"
not working on customHorizontalWrapLayout
inside aScrollView
, duplicate icons appearing in the navigation bar when setting the same image repeatedly, and the IndicatorView in CarouselView failing to provide correct accessibility announcements with TalkBack enabled. These issues cause layout misalignment, visual clutter, and accessibility barriers on Android devices. - issues/31428, issues/31445, issues/31446, issues/31445, issues/31446
- iOS Regressions and Crashes: On iOS, deleting a newly added recipe in the WhatToEat app triggers an ObjCRuntime.ObjCException due to an out-of-bounds scroll attempt, and a regression causes extra space between Header and EmptyView text when dragging down a page in a test case. These bugs prevent expected UI behavior and cause app crashes or layout inconsistencies on iOS.
- issues/31431, issues/31465, issues/31465
- Build and Archive Failures: Despite successful builds in Visual Studio, the Archive Manager fails to create app archives for .NET MAUI Android releases, causing build errors across all platforms due to missing target frameworks in the assets file. This problem requires complex workarounds and disrupts the release process for MAUI apps.
- issues/31436
- App Lifecycle and Permission Detection on macOS Catalyst: Lifecycle methods OnResume and WillEnterForeground are not called when the app regains focus after opening and closing system settings on macOS Catalyst, preventing the app from detecting changes in location permissions. This issue blocks apps from responding correctly to permission changes on Catalyst.
- issues/31450
- XamlG Source Generator and Template Versioning Issues: The XamlG source generator produces invalid
#line
directives with relative file paths, causing Visual Studio Code to fail in error display and navigation. Additionally, installing the unsuffixedMicrosoft.Maui.Templates
package installs outdated v6 templates instead of the latest stable version, causing confusion and inconsistency. - issues/31454, issues/31461, issues/31461
- HybridWebView URL and Layout Problems on Android: The HybridWebViewQueryStringHelper.RemovePossibleQueryString method incorrectly removes only the '?' character but not other special characters like '#', causing incorrect file loading. Also, on Android, HybridWebView briefly expands to full screen on initial page load before resizing back, causing flicker and layout instability not seen on other platforms.
- issues/31472, issues/31475, issues/31475
- Windows Input and Rendering Bugs: On Windows, rapid tap input causes native fail-fast crashes in InputStateManager.dll due to improper input processing cleanup, and setting cursor position and selection length in an Editor control does not visually update unless the editor is focused. Additionally, setting semi-transparent colors on Window.TitleBar and Shell.FlyoutBackgroundColor causes overlapping areas to render as opaque white instead of semi-transparent.
- issues/31476, issues/31481, issues/31510, issues/31481, issues/31510
- RightToLeft Layout and BoxView Sizing Issues: On iOS, the RightToLeft layout direction does not apply to FormattedText labels, causing text to remain left-aligned despite flowDirection changes, representing a regression. Also, a BoxView inside an AbsoluteLayout on iOS and Catalyst fails to revert its size back to AutoSize after being resized and reset, causing fixed dimensions instead of automatic recalculation.
- issues/31480, issues/31496, issues/31496
- Data Binding and Accessibility Identifier Limitations: Migrating from .NET MAUI 8 to 9 causes DataTemplate properties to fail binding properly on Android 11+, despite previous functionality and new binding attempts. Additionally, MAUI UI tests on macOS fail when querying accessibility identifiers longer than 128 characters, causing server-side errors due to string length limits.
- issues/31501, issues/31504, issues/31504
- Performance Investigation and Improvement Coordination: There are consolidated documented use cases of MAUI performance problems in release configuration to facilitate SDK-level investigation, alongside a comprehensive epic organizing all related performance improvement efforts and analysis tools. These efforts aim to enhance both product performance and measurement capabilities.
- issues/31505, issues/31506, issues/31506
- Logging Improvements Proposal: A proposal suggests replacing or augmenting Debug.WriteLine in the Essentials codebase with structured logging using ILogger to enable severity filtering, integration with external providers, and improved diagnostics, enhancing maintainability and observability across the library.
- issues/31495
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 19
Summarized Issues:
- Platform-specific UI bugs: Several issues report platform-specific UI problems including the MacCatalyst DatePicker not clearing dates properly, Windows checkbox reserving space for empty labels, iOS IndicatorView not updating with VoiceOver gestures, and Android FlexLayout HorizontalOptions not centering due to ScrollView interaction. These inconsistencies cause regressions or unexpected behaviors across different platforms, impacting user experience and UI correctness.
- issues/31124, issues/31268, issues/31388, issues/31433
- Build and deployment failures: Multiple issues describe build or deployment failures including .NET MAUI Blazor Android builds randomly failing with java.exe errors, release mode deployment failures on iOS and Android with .NET 10, and iOS app freezing on physical devices when using SdkOnly linking mode. These problems cause significant disruption in development workflows and app delivery.
- issues/31308, issues/31419, issues/31439
- .NET version upgrade regressions: Upgrading .NET versions introduces regressions such as iOS crashes due to localized flyout items in AppShell after moving from .NET 8 to 9, and DisplayAlert causing ArgumentNullException in .NET MAUI 10 preview. These regressions break previously working functionality and require urgent fixes.
- issues/31328, issues/31473
- Performance and responsiveness issues: There is a reported performance problem where navigating to a feature configuration page using ListView on Android is very slow in both Debug and Release modes, leading to poor user experience and requests for optimization guidance.
- issues/31432
- CollectionView and related controls issues: Problems include CollectionViewHandler2 causing ScrollTo to fail on iOS, and CollectionView with data templates not rendering properly on Samsung devices running .NET 8. These issues affect critical UI components and their expected behavior on specific devices or configurations.
- issues/31423, issues/31448
- Permission and accessibility regressions: The Permissions.CheckStatusAsync for Bluetooth on MacCatalyst incorrectly returns granted status despite denial, and TapGestureRecognizer's Tapped event fails on Android when Talkback is enabled, both representing regressions that impact app functionality and accessibility compliance.
- issues/31455, issues/31483
- Assembly versioning inconsistency: Setting the Version tag in .csproj does not automatically set AssemblyVersion in .NET MAUI projects as it does in other .NET Core projects, requiring explicit specification and deviating from standard .NET behavior.
- issues/31243
- SDK and dependency related crashes: A critical crash caused by SkiaSharp version 3.116.1 requires the Visual C++ Redistributable package due to a known bug pending a fix release, affecting app stability.
- issues/31447
- Testing coverage request: There is a request to write comprehensive tests for the DispatcherExtensions functionality introduced in a recent pull request to ensure proper coverage and reliability.
- issues/31185
- Framework upgrade facilitation: A request to enable the MAUI Global XML namespace with .NET MAUI 9 to ease the upgrade path to .NET MAUI 10 by adding XmlnsDefinition mappings and adjusting SourceGen support for either XAML namespace.
- issues/31503
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 29
Key Open Pull Requests
1. August 25th, 2025 Candidate: This pull request introduces multiple enhancements and bug fixes including refactored and improved gesture event handling on Windows, fixes to CarouselView initialization and position updates, navigation stack and modal back button management improvements, project configuration updates for better AOT and trimming compatibility, and additional test cases addressing recent issues to improve overall stability and reliability.
- URL: pull/31507
- Merged: No
- Associated Commits: 06aaa, 01696, 3e48a, 35e03, 0455d, e51cb, 81eb8, 76eaf, a7f07, 1516b, e0a04, d753c, 9077c, 46eae, 3d4a8, 09984
2. Add Scrolling Diagnostics Metrics Tracking to MAUI Applications: This pull request introduces scrolling diagnostics metrics tracking to MAUI applications by implementing real-time and benchmark monitoring of scrolling smoothness, efficiency, and resource usage for controls such as ScrollView, CollectionView, and CarouselView, including metrics like scroll count, duration, velocity, and jank events with detailed contextual tags, while ensuring zero-allocation performance and compatibility with existing applications.
- URL: pull/31438
- Merged: No
- Associated Commits: 6752b, 40a14, 668c3, ac6f3, c671f, 52fe7, a2fe6, e2f85, 4d991, 7f990, f9545, db7f2
3. [Testing] Feature matrix UITest Cases for FlyoutPage: This pull request adds a comprehensive feature matrix and interactive test UI for the FlyoutPage
control, including new XAML and code-behind files that demonstrate and test various properties, behaviors, and navigation scenarios, as well as integrating a detailed options page to configure and validate features like visibility, presentation, gestures, layout behavior, background color, and icon selection within the test host app.
- URL: pull/31426
- Merged: No
Other Open Pull Requests
- IndicatorView improvements and bug fixes: Multiple pull requests address issues in the IndicatorView component, including enforcing the MaximumVisible property when using a custom IndicatorTemplate, preventing interaction when IsEnabled is false on Android, and fixing rendering problems on iOS when both IndicatorSize and shadow are applied. These changes ensure consistent behavior and appearance of indicator dots across platforms.
- RefreshView infinite loop fix on Windows: A pull request fixes a bug where setting IsRefreshing to true programmatically caused an infinite refresh loop by ensuring IsRefreshing is only set to true when currently false. This prevents redundant refresh command executions and stabilizes the refresh behavior.
- ContentView UI test suite: A comprehensive suite of UI test cases and supporting pages for ContentView was introduced to validate its behavior across properties, content types, bindings, and lifecycle events. This ensures consistent functionality and dynamic content handling on all supported platforms.
- SwipeView collapse issue on iOS: The iOS SwipeView component was fixed to prevent expanded swipe items from collapsing unexpectedly when an item is deleted by refining scroll event handling logic. This avoids inadvertent closures triggered by minor scroll adjustments during deletion.
- DatePicker year format consistency on iOS: The iOS DatePicker was updated to consistently display 4-digit years by modifying the UpdateDate method to use regex-based replacements, preserving correct formats. Comprehensive device and UI tests were added to ensure consistent year display.
- NavigationPage feature matrix test page: A new test page named
NavigationPageControlPage
was added to the test host app, providing a UI for testing navigation events, bar colors, icon colors, and navigation bar settings. This page was integrated into the test case gallery for easier access.
- Maui Aspire feature flag and build configuration: A new MSBuild property and runtime feature flag were introduced to enable the "Maui Aspire" functionality only in Debug builds, trimming code in other configurations. Environment variable handling was updated with special support for Android devices and warnings for manual overrides.
- TabbedPage FlowDirection fix on iOS and Mac: The TabbedPage FlowDirection property was fixed to render the correct layout direction when set via ViewModel binding by implementing proper support in the iOS TabbedRenderer. This ensures consistent layout updates at initialization and during runtime changes.
- XAML SourceGen TypeConverters refactor: The XAML SourceGen TypeConverters were refactored by moving each known converter into its own file and class, renaming the interface to ISGTypeConverter, removing dead code, and updating references. This improves code organization and maintainability.
- CollectionView visible item index accuracy: Fixes were made to the Android and iOS implementations to correctly calculate FirstVisibleItemIndex, CenterItemIndex, and LastVisibleItemIndex in CollectionView when IsGrouped is true by excluding group headers/footers and refining sorting logic. This ensures accurate visible item indices for grouped data sources.
- Microphone permissions support on Windows: Support for checking and requesting microphone permissions on Windows was added, along with updates to platform manifests for multiple platforms and comprehensive tests verifying behavior in granted and denied scenarios.
- App Themes feature matrix and UI tests: A comprehensive feature matrix and extensive UI test cases were added for App Themes, validating light and dark theme behavior and AppThemeBinding styling across common controls on multiple platforms. Automated theme toggling, interaction, placeholder exposure, and screenshot capture were included with stability measures.
- HybridWebView exception handling: Exception handling for HybridWebView JavaScript-to-C# calls was improved by capturing and serializing C# exceptions, returning error responses to JavaScript, enabling proper error throwing and catching, while preserving logging and backward compatibility.
- Android duplicate title icon fix: The issue of duplicate title icons on Android was fixed by checking for an existing ToolbarTitleIconImageView before adding a new one, preventing multiple icons when setting TitleIconImageSource multiple times.
- Image loading performance metrics infrastructure: A zero-allocation, struct-based image loading performance metrics system was implemented for .NET MAUI, tracking load duration, file size, image dimensions, and success/failure counts with contextual tagging for diagnostics across all platforms.
- Android ScrollViewHandler alignment refactor: The alignment adjustment logic in Android ScrollViewHandler was refactored to apply width and height specifications based on scroll orientation with checks for infinite constraints, improving clarity and correctness for vertical and horizontal orientations.
- FormattedString paragraph alignment fix on iOS: The
FormattedStringExtensions.ToNSAttributedString
method was fixed to correctly handle RightToLeft flow direction for FormattedText on iOS, maintaining backward compatibility and adding device/UI tests for LTR and RTL alignment verification.
- MediaPicker modal dismissal fix on iOS: A critical issue was fixed where using MediaPicker within a modal page dismissed the entire modal instead of just the camera UI by correcting the dismissal logic to target the camera picker view controller. Comprehensive UI tests ensure modal pages remain open after MediaPicker use.
- Windows TextHighlighters performance optimization: Performance improvements for TextHighlighters on Windows were implemented, supported by profiling data and addressing issue #21787.
- iOS layout performance improvements: Performance on iOS was improved by avoiding unnecessary measure passes through smarter reuse of previous measurements when nodes are not invalidated, reducing redundant SizeThatFits calls and measure/arrange passes.
- Windows Clip property removal fix: The Clip property on Windows was fixed to properly remove clipping, addressing a problem similar to a previously fixed shadow disappearance issue.
- maui-mobile sample update: The maui-mobile developer sample was enhanced by incorporating the latest updates from the maui-sample repository to reflect recent changes and improvements.
- RD file inflation fix for XSG tests: A fix was applied to ensure RD files are properly inflated and loaded, resolving the latest known failing test related to XSG in the project.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 31
Key Closed Pull Requests
1. [Windows] Fix performance issue using Shadows (test): This pull request addresses and attempts to fix a performance issue related to the use of shadows on Windows in the .NET MAUI project, including updates to tests and screenshots, and aims to resolve issue #18205.
- URL: pull/31440
- Merged: No
- Associated Commits: 2fac6, 36704, 2cb1c, c298d, 43d75, 0c075, 4e819, a295f, 2ac51, 53c95, f5399, 5845c, 08b6d, 872bb, 5d7c4, a47b8, b12e2, 7a3d9, 8e405, 37bc0, c1e73, 40f37, ba066, 41b7a, acce6, 73563, 8b22f, 71036, 9d50d, f01d7, bc5a0, 66da9, 17806, 87ce9, 20111, 6823f, 9aa93, 4adf5, b03f8, 6f1ab, 3e5fc, 97cfb, fc9e6, 26afa
2. August 25th, 2025 Candidate: This pull request proposes multiple enhancements and bug fixes including refactoring Windows gesture event handling with modern C# patterns for improved reliability, fixing drag-and-drop and pinch gesture logic, updating CarouselView initialization to prevent incorrect positioning when hidden, refining navigation stack and modal back press handling to avoid stack inconsistencies and overflows, adding project configuration settings for better AOT and trimming compatibility, and introducing new test cases to cover recent issues related to gradient colors, navigation updates, and modal back button behavior.
- URL: pull/31327
- Merged: No
- Associated Commits: 952cf, 5acb5, f168d, 88c1f, 14421, e2ea0, 3e796, 420a4, 4d267, a2508, 5da43, 55bac, d5873, 96fc8, dad69, 220b0, eaf34, 4b3e2, b3bca, a2f27, 19d3c, 50429, 8b342, ac493, 599dc, 773a4, 7a01a, b2c34, 95044, bd1aa, 79ebb, 781c4
3. [XSG] enable/disable feature in msbuild: This pull request introduces configurable options in MSBuild to enable or disable Maui XAML diagnostics, #line pragma generation, and warning suppression on a per-file or global basis, improving the readability and customization of generated source files especially during Debug builds.
- URL: pull/31349
- Merged: 2025-09-01T07:44:07Z
Other Closed Pull Requests
- iOS MediaPicker Modal Dismissal Fix: This pull request fixes a critical issue on iOS where calling MediaPicker's CapturePhotoAsync or CaptureVideoAsync from within a modal page would incorrectly dismiss the entire modal instead of just the camera UI. The fix corrects the dismissal logic to target the camera picker view controller and includes comprehensive UI tests to verify the resolution.
- SDK and Dependency Updates: Multiple pull requests update the .NET MAUI project by synchronizing SDK references and dependencies to the latest versions, including internal release candidate changes and proposed SDK dependency updates. These changes ensure consistency across configuration files and improve code quality with minor refinements.
- UI Testing Enhancements: Several pull requests add or improve UI test coverage, including a comprehensive suite for the IndicatorView control and an integration test for the Windows nativeAOT template. These tests validate various control properties and enhance testing coverage to ensure proper functionality.
- iOS SafeArea Keyboard Overlap Fix: This pull request addresses an issue in the iOS SafeArea implementation where the keyboard overlap calculation was incorrectly applying the full keyboard height as a bottom inset. The fix introduces a precise intersection-based method that adjusts the safe area inset only by the portion of the view actually obscured by the keyboard, improving user experience without affecting device-specific safe areas.
- OnPlatform Simplification: This pull request simplifies the OnPlatform implementation by removing it when the target platform is known at build time. It addresses most issues related to XSG and OnPlatform except for cases involving netstandard.
- Code Refactoring and Bug Fixes: Multiple pull requests improve code clarity and error handling, including refactoring the ProjectItem component to avoid repeated flag passing, fixing a bug where ResourceDictionary loading swallowed exceptions by re-throwing inner exceptions, and fixing the creation of the ValueProvider to correctly treat the first object as the parent.
- TimePicker TextColor Update and Android Theme Fix: This pull request introduces an internal UpdateTextColor extension method for TimePickerExtensions to update MauiTimePicker's text color based on the ITimePicker's TextColor property. It also fixes a test failure by restoring the default theme primary text color on Android when no custom color is set.
- Documentation and Manual Test Instructions: This pull request adds a README file with detailed instructions on compiling the manual tests project, including information about reference projects, workloads, and NuGet packages. Another pull request brings the WebView API documentation inline addressing a related issue.
- iOS CarouselViewHandler2 Scroll Position Fix: This pull request fixes an NSInternalInconsistencyException in CarouselViewHandler2 on iOS by clamping the requested scroll position to the last valid index of the updated ItemsSource. This prevents out-of-range access and ensures safe scrolling behavior when the ItemsSource changes.
- TabbedPage "More" Overflow Button Fix on iOS and Mac: This pull request fixes the issue where the "More" overflow button in a TabbedPage did not work by preventing the UpdateCurrentPage method from being called when the "More" navigation controller is selected. This correctly handles navigation to additional tabs.
- Shadow Removal on Windows Border Elements: This pull request enables the removal of shadows from Border elements at runtime on Windows by ensuring that setting
Border.Shadow
to null effectively removes the shadow. The implementation is inspired by a similar Android approach.
- Resource Localization Fixes: This pull request addresses issues with resource localization in the project, implementing fixes to ensure proper handling and display of localized resources.
- Build Race Condition Mitigation: This pull request addresses a file locking race condition in parallel builds by adding retry logic with delays to Copy tasks writing to a shared build tasks directory. It allows up to three retry attempts with one-second intervals to improve build resilience without compromising performance.
- Windows Label.CharacterSpacing Performance Optimization: This pull request optimizes the initial loading performance of the
Label.CharacterSpacing
property on Windows, resulting in an approximate 15 ms improvement in a grid scenario.
- Re-enabling iOS NativeAOT and Mono Full Trimming Tests: This pull request re-enables previously disabled iOS NativeAOT and Mono full trimming tests by addressing ObjCRuntime trimmer warnings and suppressing detailed warnings for NativeAOT builds to ensure successful test passes.
- Debugger Display Improvement for ItemsSource: This pull request improves the debugger display for
ItemsSource
by replacing the enumeration of all items with a concise display of theItemsSource
's data type. This enhances readability in the debug tooltip window, especially for collections with more than 10 elements.
- Duplicate File Removal: This pull request addresses the removal of duplicate files that remained after being moved, as indicated by the commit titled "remove dupe."
- Diagnostic Report for Add Operation Failures: This pull request introduces a diagnostic report feature to notify users when an Add operation cannot be performed, enhancing error handling in the project.
- Page.DisplayAlert ArgumentNullException Fix: This pull request fixes an ArgumentNullException in the
Page.DisplayAlert
method by ensuring thecancel
parameter is correctly passed to theDisplayAlertAsync
method.
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
Contributor | Commits | Pull Requests | Issues | Comments |
---|---|---|---|---|
Copilot | 97 | 14 | 0 | 103 |
jfversluis | 62 | 7 | 0 | 52 |
kubaflo | 68 | 14 | 2 | 17 |
rmarinho | 72 | 4 | 2 | 0 |
jsuarezruiz | 43 | 9 | 0 | 22 |
StephaneDelcroix | 27 | 9 | 1 | 21 |
PureWeen | 29 | 1 | 12 | 7 |
anandhan-rajagopal | 10 | 1 | 0 | 35 |
NafeelaNazhir | 22 | 3 | 9 | 11 |
MartyIX | 14 | 7 | 0 | 15 |