GithubHelp home page GithubHelp logo

jerry08 / woka Goto Github PK

View Code? Open in Web Editor NEW
30.0 5.0 1.0 108 KB

Provides workarounds for issues/bugs related to .NET MAUI

License: GNU General Public License v3.0

C# 100.00%
maui android bugs csharp ios issues macos windows workarounds

woka's Introduction

Woka

Woka is a library that provides workarounds for issues/bugs related to .NET MAUI. This project uses mostly handlers to provide workarounds. As I experience more bugs, I will add more effective and efficient workarounds.

๐ŸŒŸSTAR THIS REPOSITORY TO SUPPORT THE DEVELOPER AND ENCOURAGE THE DEVELOPMENT OF THE PROJECT!

Install

  • ๐Ÿ“ฆ NuGet: dotnet add package Woka (main package)

Usage

Add the .ConfigureWorkarounds() in your MauiProgram.cs as shown below:

using Woka;
builder
    .UseMauiApp<App>()
    .UseMauiCommunityToolkit()
    .ConfigureWorkarounds();

Workaround coverage:

Fixes known issues/bugs:

  • #5983 - (Removed) โœ”๏ธ Keyboard does not Pop Up when Entry View's Focus is set to True Programmatically
  • #8787 (Removed) โœ”๏ธ - Image Source to null doesn't work if the Source had a different value before
  • #8926 - Pull to refresh on RefreshView does not hide the refresh indicator
  • #6092 - The prompts displayed by DisplayAlert and other controls do not follow the theme set
  • #6030 - Label MaxLines doesn't work
  • #12219 (Removed) โœ”๏ธ - [Android] CollectionView: VirtualView cannot be null here, when clearing and adding items on second navigation
  • #4116 - [Windows] CollectionView ItemsUpdatingScrollMode property not working
  • #8387 - [Windows] Notify changes in CollectionView Layouts
  • #15143 - Account for padding when expanding * rows/columns to new sizes
  • #15018 - [iOS/Catalyst] Grid issue with calculating * values on iOS/MacCatalyst
  • #14557 - CollectionView Header & Footer not showing
  • #6404 - (Windows) RC1 - RefreshView does not appear when swiping down with mouse
  • #7315 - iOS - CollectionView inside of RefreshView does not size correctly

woka's People

Contributors

jerry08 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

manusoft

woka's Issues

Can you fix regression bug in IOS for grid columns?

Hi. Can you add a fix for grid layout in IOS? It is currently broken when setting Auto for for grid column in IOS. Fixed in 8.0 but not back ported to 7 succesfully. Current workaround is to set <MauiVersion>7.0.81</MauiVersion>
If you can add that it would be much appreciated. I have no idea how to fix that?

Woka.Handlers.ImageHandler causes memory leak

ImageHandler causes memory leak because Connectivity.Current.ConnectivityChanged event handler is never removed.
Seen when using Popup from Maui Community Toolkit.
Am am not using IPopupService as it seems to generate other memory leaks also.

Can you add this fix for Windows Collection View headers?

This fixes headers and footers not showing on collection view in Windows.

// Below is code to make Headers work for CollectionView for windows. Also works for footers.
        // All credit is due to MegaEgorik https://github.com/dotnet/maui/issues/14557#issuecomment-1651575327
        CollectionViewHandler.Mapper.AppendToMapping("HeaderAndFooterFix", (_, collectionView) =>
        {
            collectionView.AddLogicalChild(collectionView.Header as Element);
            collectionView.AddLogicalChild(collectionView.Footer as Element);
        });

Link to issue: dotnet/maui#14557

RefreshView on IOS and MAC cause shift to right of CollectionView items

When wrapping a CollectioView inside a RefreshView all the contents get shifted to the right nearly off screen. This is fixed in all betas for dotnet 8.x It has not been back ported to Net 7.x as of yet. dotnet/maui#7315

172458679-bd490386-d3a3-467c-9b4a-8797b6601caf

Here is a link to fix for Maui. dotnet/maui#14302
If you can find the time to add a fix that would be awesome. I spent about 10 hours or so trying myself. Still can't figure out how you do it. Maybe after another year of learning and building stuff I will be able to understand how this all works. Fingers crossed. Till then Jerry is the solution, I hope :)

Threading issues on android not backported to dotnet 7.x

There is a regression bug in android for dotnet Maui that results in CTD if you alter collection from main thread. This happens when you are not originating from main thread. I am hoping the following fix will help. Hopefully not to complicated to implement.

Issue: dotnet/maui#14052

fix: dotnet/maui#14109

If you could implement the portion for StreamingImageSourceService.Android.cs and ignore the java fix that is ok too. It was listed as maybe not relevant.

Context: https://github.com/dotnet/maui/pull/14109/files#diff-ce984f33eb7b8f9dd29200222d8d04ef066a578ed071c2d8f786f0e8ca65f36c

Backporting started in: dotnet/maui#16640

Mitigations that work but are not ideal:

<MauiVersion>7.0.58</MauiVersion>

Add above code to Maui project file and zero issues. But although that works it is frowned upon and not officially supported. But the MS devs point at it like a default fix for stuff that does not work. No they don't recommend you do it but if you just want to fix regression go back to code before regression issue happens lol.

issue with grid items layout in IOS with refresh view enabled

Fix is in pipeline for 8.0 release. Back port to 7.x release is not planned as build fails. Issue is : dotnet/maui#7315

Current fix and/or mitigation that works is to wrap collection view in a grid.

<RefreshView>
<Grid>
<CollectionView>
</CollectionView>
</Grid>
</RefreshView>

The key to the fix is wrapping the collection view in a grid. Other mitigation is to just not use refresh view. This affects grids that use auto only I think.

Here is pull request with fix for 8.0
dotnet/maui#15143

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.