Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[net9.0] Merge main into net9.0 #23243

Merged
merged 59 commits into from
Jun 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
3f4d365
Size and SizeF should not throw on NaN
mattleibow Jun 6, 2024
83d55ad
Fix Release Versioning
PureWeen Jun 9, 2024
d77716c
Fix Release Versioning (#22941)
PureWeen Jun 10, 2024
df0d353
Upgrade from 1.5.1 to 1.5.4
MartyIX Jun 12, 2024
a0a4152
[Windows] Upgrade Windows App SDK from 1.5.1 to 1.5.4 (#22992)
PureWeen Jun 12, 2024
b01e163
SwipeView Fix #22580 (#22741)
kubaflo Jun 12, 2024
8497dee
Update vscode extension recommendations
Redth Jun 13, 2024
79695fb
[XC] Fix SimplifyTypeExtensionVisitor (#23043)
simonrozsival Jun 13, 2024
3143629
Add SR6 to issue template (#23071)
PureWeen Jun 15, 2024
4fabb3e
Make sure the main branch is using .NET 8 SDK (#23077)
mattleibow Jun 17, 2024
b998447
Setup preview versioning for SR6.1
PureWeen Jun 17, 2024
83c5f5e
Setup preview versioning for SR6.1 (#23096)
PureWeen Jun 17, 2024
05116cf
Remove compat appium tests
Redth Jun 17, 2024
e653d5d
[main] Update arcade and xharness (#22981)
rmarinho Jun 12, 2024
192911a
Remove more references to removed projects
Redth Jun 17, 2024
86689eb
Make titlebar button foreground colors use app theme
Jun 17, 2024
ac397e4
Update dependencies from https://github.com/dotnet/xharness build 202…
dotnet-maestro[bot] Jun 17, 2024
3f20f15
Add additional logging for PopLifeCycle
PureWeen Jun 17, 2024
86d2cca
Update vscode extension recommendations (#23044)
PureWeen Jun 17, 2024
78991f0
[SR6] Update arcade and xharness (#22981) (#23100)
PureWeen Jun 18, 2024
d958d9f
Add additional logging for PopLifeCycle (#23103)
PureWeen Jun 18, 2024
4a53801
Remove more legacy pipeline bits
Redth Jun 18, 2024
d960c28
Remove old Compatibility Appium test projects (#23098)
PureWeen Jun 18, 2024
7fad926
[iOS] Fixed NRE after calling ViewCell.ForceUpdateSize (#23094)
VitalyKnyazev Jun 18, 2024
0f6a922
Add x:DataType to the carousel view UI tests (#23113)
simonrozsival Jun 18, 2024
e6e8f0c
Bump to Android 34.0.113
jonathanpeppers Jun 18, 2024
a8367fc
Squashed commit of the following: (#22874)
mattleibow Jun 18, 2024
f38d37a
Merge 'release/8.0.1xx-sr6' into 'main'
mattleibow Jun 18, 2024
5bdb55a
Fix loaded so it fires on second subscription (#23095)
PureWeen Jun 18, 2024
f68a234
Merge remote-tracking branch 'origin/release/8.0.1xx-sr6' into dev/me…
mattleibow Jun 18, 2024
47d3853
Make sure the view is still alive after posting (#23114)
mattleibow Jun 18, 2024
5b0298f
Merge remote-tracking branch 'origin/release/8.0.1xx-sr6' into dev/me…
mattleibow Jun 18, 2024
51720b9
[iOS] TapGestureRecognizer should not fire when view is not enabled (…
Redth Jun 18, 2024
968886b
[Tests] Update to Appium 5.0.0 (#23118)
Redth Jun 18, 2024
00f6fcd
Merge release/8.x-sr6 into main (#23121)
PureWeen Jun 18, 2024
b368e8b
Use correct interface type in FrameRenderer (#23124)
PureWeen Jun 19, 2024
9f0d616
Use correct interface type in FrameRenderer (#23124) (#23146)
PureWeen Jun 20, 2024
1fb75b6
[Windows] Ensure titlebar button foreground colors use app theme (#23…
PureWeen Jun 20, 2024
2c40a29
`Size` and `SizeF` should not throw on `NaN` (#22890)
PureWeen Jun 20, 2024
a984765
Squashed commit of the following: (#19629)
mattleibow Jun 20, 2024
faf9789
Merge remote-tracking branch 'origin/release/8.0.1xx-sr6' into dev/me…
mattleibow Jun 20, 2024
cb3ecfd
[ios/catalyst] fix more cycles in `NavigationPage`
jonathanpeppers Jun 20, 2024
0321a35
Only change ViewHandlerDelegator for iOS/Catalyst
jonathanpeppers Jun 20, 2024
0b46e74
[ios] fix leak in ListView *Cells (#23143)
jonathanpeppers Jun 20, 2024
7a19d15
Merge SR 6 into main (#23161)
PureWeen Jun 20, 2024
b91628a
Missed a null check
jonathanpeppers Jun 20, 2024
060e7db
[ios/catalyst] fix more cycles in `NavigationPage` (#23164)
PureWeen Jun 21, 2024
5792def
Bump to Android 34.0.113 (#23120)
PureWeen Jun 21, 2024
e982542
[Housekeeping] Added UI Test to validate project template (#18567)
jsuarezruiz Jun 21, 2024
b7ef1e6
Optimize resetting gesture recognizers (#19987)
symbiogenesis Jun 21, 2024
95680e9
[Windows] Fix ListView insert not working properly (#22746)
Foda Jun 21, 2024
8181190
Fix <ApplicationTitle> encoding in maui templates (#22084)
MiYanni Jun 21, 2024
07fd2ca
Fixed a null check #15102 (#23170)
kubaflo Jun 21, 2024
4f8918b
[ios/catalyst] fix memory leak in TabbedPage (#23166)
jonathanpeppers Jun 21, 2024
1707990
[iOS] Set PlatformGraphicsView to transparent input (#23208)
drasticactions Jun 24, 2024
208241b
Avoid JavaCast and exceptions and ask Java (#23215)
mattleibow Jun 24, 2024
0978407
Merge branch 'main' into merge_main
PureWeen Jun 24, 2024
97f2786
Wire RefreshView up to our xplat layout workflow (#23169)
PureWeen Jun 24, 2024
2f9bdcc
Fix Merge
PureWeen Jun 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
]
},
"microsoft.dotnet.xharness.cli": {
"version": "9.0.0-prerelease.24311.2",
"version": "9.0.0-prerelease.24312.3",
"commands": [
"xharness"
]
Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ body:
- 9.0.0-preview.3.10457
- 9.0.0-preview.2.10293
- 9.0.0-preview.1.9973
- 8.0.60 SR6
- 8.0.40 SR5
- 8.0.21 SR4.1
- 8.0.20 SR4
Expand Down Expand Up @@ -111,6 +112,7 @@ body:
- 8.0.20 SR4
- 8.0.21 SR4.1
- 8.0.40 SR5
- 8.0.60 SR6
- 9.0.0-preview.1.9973
- 9.0.0-preview.2.10293
- 9.0.0-preview.3.10457
Expand Down
6 changes: 3 additions & 3 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"recommendations": [
"ms-dotnettools.csharp",
"ms-vscode.mono-debug",
"visualstudioexptteam.vscodeintellicode",
"ms-dotnettools.vscodeintellicode-csharp",
"ms-dotnettools.dotnet-maui",
"github.copilot-chat"
]
}
12 changes: 6 additions & 6 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -135,17 +135,17 @@
<Uri>https://github.com/dotnet/runtime</Uri>
<Sha>4a0a04cf3e8b8c2a3613270df7f838246e4597e8</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Common" Version="9.0.0-prerelease.24311.2">
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Common" Version="9.0.0-prerelease.24312.3">
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>975b330d51119efc4884f7a323784662cbf74391</Sha>
<Sha>6ce15319de72ab6d4c3b0f4c40f59300cffc5450</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="9.0.0-prerelease.24311.2">
<Dependency Name="Microsoft.DotNet.XHarness.TestRunners.Xunit" Version="9.0.0-prerelease.24312.3">
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>975b330d51119efc4884f7a323784662cbf74391</Sha>
<Sha>6ce15319de72ab6d4c3b0f4c40f59300cffc5450</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XHarness.CLI" Version="9.0.0-prerelease.24311.2">
<Dependency Name="Microsoft.DotNet.XHarness.CLI" Version="9.0.0-prerelease.24312.3">
<Uri>https://github.com/dotnet/xharness</Uri>
<Sha>975b330d51119efc4884f7a323784662cbf74391</Sha>
<Sha>6ce15319de72ab6d4c3b0f4c40f59300cffc5450</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
Expand Down
8 changes: 4 additions & 4 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion>9.0.0-preview.5.24273.1</MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion>
<MicrosoftNETWorkloadEmscriptenPackageVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest90100TransportVersion)</MicrosoftNETWorkloadEmscriptenPackageVersion>
<!-- wasdk -->
<MicrosoftWindowsAppSDKPackageVersion>1.5.240311000</MicrosoftWindowsAppSDKPackageVersion>
<MicrosoftWindowsAppSDKPackageVersion>1.5.240607001</MicrosoftWindowsAppSDKPackageVersion>
<MicrosoftWindowsSDKBuildToolsPackageVersion>10.0.22621.756</MicrosoftWindowsSDKBuildToolsPackageVersion>
<MicrosoftGraphicsWin2DPackageVersion>1.2.0</MicrosoftGraphicsWin2DPackageVersion>
<!-- Everything else -->
Expand Down Expand Up @@ -108,9 +108,9 @@
<_HarfBuzzSharpVersion>7.3.0.2</_HarfBuzzSharpVersion>
<_SkiaSharpNativeAssetsVersion>0.0.0-commit.7af1d0840a381c0ce7ef2877454a88dbb2949686.1086</_SkiaSharpNativeAssetsVersion>
<MicrosoftTemplateEngineTasksVersion>7.0.114</MicrosoftTemplateEngineTasksVersion>
<MicrosoftDotNetXHarnessTestRunnersCommonVersion>9.0.0-prerelease.24311.2</MicrosoftDotNetXHarnessTestRunnersCommonVersion>
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>9.0.0-prerelease.24311.2</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
<MicrosoftDotNetXHarnessCLIVersion>9.0.0-prerelease.24311.2</MicrosoftDotNetXHarnessCLIVersion>
<MicrosoftDotNetXHarnessTestRunnersCommonVersion>9.0.0-prerelease.24312.3</MicrosoftDotNetXHarnessTestRunnersCommonVersion>
<MicrosoftDotNetXHarnessTestRunnersXunitVersion>9.0.0-prerelease.24312.3</MicrosoftDotNetXHarnessTestRunnersXunitVersion>
<MicrosoftDotNetXHarnessCLIVersion>9.0.0-prerelease.24312.3</MicrosoftDotNetXHarnessCLIVersion>
<TizenUIExtensionsVersion>0.9.2</TizenUIExtensionsVersion>
<SvgSkiaPackageVersion>1.0.0.16</SvgSkiaPackageVersion>
<FizzlerPackageVersion>1.3.0</FizzlerPackageVersion>
Expand Down
10 changes: 8 additions & 2 deletions src/Controls/src/Core/Cells/Cell.cs
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ async void OnForceUpdateSizeRequested()
// don't run more than once per 16 milliseconds
await Task.Delay(TimeSpan.FromMilliseconds(16));
ForceUpdateSizeRequested?.Invoke(this, null);
Handler.Invoke("ForceUpdateSizeRequested", null);
Handler?.Invoke("ForceUpdateSizeRequested", null);

_nextCallToForceUpdateSizeQueued = false;
}
Expand Down Expand Up @@ -307,8 +307,14 @@ void OnParentPropertyChanging(object sender, PropertyChangingEventArgs e)
internal Android.Views.View ConvertView { get; set; }
#elif IOS
internal UIKit.UITableViewCell ReusableCell { get; set; }
internal UIKit.UITableView TableView { get; set; }

WeakReference<UIKit.UITableView> _tableView;

internal UIKit.UITableView TableView
{
get => _tableView?.GetTargetOrDefault();
set => _tableView = value is null ? null : new(value);
}
#endif


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ protected override void OnLayout(bool changed, int l, int t, int r, int b)


if (Element.Handler is IPlatformViewHandler pvh &&
Element is IContentView cv)
Element is ICrossPlatformLayout cv)
{
pvh.LayoutVirtualView(l, t, r, b, cv.CrossPlatformArrange);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,6 @@ void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
ClearSizeEstimate();
ReloadData();
}

Element.Dispatcher.DispatchIfRequired(() => List?.UpdateLayout());
}

protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class CellRenderer : ElementHandler<Cell, UITableViewCell>, IRegisterable

public static CommandMapper<Cell, CellRenderer> CommandMapper =
new CommandMapper<Cell, CellRenderer>(ElementHandler.ElementCommandMapper);
UITableView? _tableView;
WeakReference<UITableView>? _tableView;

private protected event PropertyChangedEventHandler? CellPropertyChanged;

Expand All @@ -37,7 +37,7 @@ protected override UITableViewCell CreatePlatformElement()

public virtual UITableViewCell GetCell(Cell item, UITableViewCell reusableCell, UITableView tv)
{
_tableView = tv;
_tableView = new(tv);
Performance.Start(out string reference);

var tvc = reusableCell as CellTableViewCell ?? new CellTableViewCell(UITableViewCellStyle.Default, item.GetType().FullName);
Expand Down Expand Up @@ -173,15 +173,17 @@ public override void Invoke(string command, object? args)

if (command == "ForceUpdateSizeRequested" &&
VirtualView is BindableObject bindableObject &&
GetRealCell(bindableObject) is UITableViewCell ctv)
GetRealCell(bindableObject) is UITableViewCell ctv &&
_tableView is not null &&
_tableView.TryGetTarget(out var tableView))
{
var index = _tableView?.IndexPathForCell(ctv);
var index = tableView.IndexPathForCell(ctv);
if (index == null && VirtualView is Cell c)
{
index = Controls.Compatibility.Platform.iOS.CellExtensions.GetIndexPath(c);
}
if (index != null)
_tableView?.ReloadRows(new[] { index }, UITableViewRowAnimation.None);
tableView.ReloadRows(new[] { index }, UITableViewRowAnimation.None);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ public class NavigationRenderer : UINavigationController, INavigationViewHandler
public static CommandMapper<NavigationPage, NavigationRenderer> CommandMapper = new CommandMapper<NavigationPage, NavigationRenderer>(ViewHandler.ViewCommandMapper);
ViewHandlerDelegator<NavigationPage> _viewHandlerWrapper;
bool _navigating = false;
VisualElement _element;
WeakReference<VisualElement> _element;
WeakReference<Page> _current;
bool _uiRequestedPop; // User tapped the back button or swiped to navigate back
MauiNavigationDelegate NavigationDelegate => Delegate as MauiNavigationDelegate;

Expand All @@ -60,14 +61,18 @@ public NavigationRenderer() : base(typeof(MauiControlsNavigationBar), null)
Delegate = new MauiNavigationDelegate(this);
}

Page Current { get; set; }
Page Current
{
get => _current?.GetTargetOrDefault();
set => _current = value is null ? null : new(value);
}

IPageController PageController => Element as IPageController;

NavigationPage NavPage => Element as NavigationPage;
INavigationPageController NavPageController => NavPage;

public VisualElement Element { get => _viewHandlerWrapper.Element ?? _element; }
public VisualElement Element { get => _viewHandlerWrapper.Element ?? _element?.GetTargetOrDefault(); }

public event EventHandler<VisualElementChangedEventArgs> ElementChanged;

Expand All @@ -85,7 +90,7 @@ public UIView NativeView
public void SetElement(VisualElement element)
{
(this as IElementHandler).SetVirtualView(element);
_element = element;
_element = element is null ? null : new(element);
}

public UIViewController ViewController
Expand Down Expand Up @@ -171,7 +176,8 @@ public override void ViewDidDisappear(bool animated)
public override void ViewWillLayoutSubviews()
{
base.ViewWillLayoutSubviews();
if (Current == null)

if (Current is not Page current)
return;

UpdateToolBarVisible();
Expand All @@ -180,7 +186,7 @@ public override void ViewWillLayoutSubviews()
var toolbar = _secondaryToolbar;

//save the state of the Current page we are calculating, this will fire before Current is updated
_hasNavigationBar = NavigationPage.GetHasNavigationBar(Current);
_hasNavigationBar = NavigationPage.GetHasNavigationBar(current);

// Use 0 if the NavBar is hidden or will be hidden
var toolbarY = NavigationBarHidden || NavigationBar.Translucent || !_hasNavigationBar ? 0 : navBarFrameBottom;
Expand Down Expand Up @@ -475,8 +481,8 @@ void HandlePropertyChanged(object sender, PropertyChangedEventArgs e)
}
else if (e.PropertyName == NavigationPage.CurrentPageProperty.PropertyName)
{
Current = NavPage?.CurrentPage;
ValidateNavbarExists(Current);
var current = Current = NavPage?.CurrentPage;
ValidateNavbarExists(current);
}
else if (e.PropertyName == IsNavigationBarTranslucentProperty.PropertyName)
{
Expand Down Expand Up @@ -806,7 +812,7 @@ void UpdateBarTextColor()
}

// set Tint color (i. e. Back Button arrow and Text)
var iconColor = Current != null ? NavigationPage.GetIconColor(Current) : null;
var iconColor = Current is Page current ? NavigationPage.GetIconColor(current) : null;
if (iconColor == null)
iconColor = barTextColor;

Expand Down Expand Up @@ -860,8 +866,8 @@ void UpdateToolBarVisible()

if (currentHidden != _secondaryToolbar.Hidden)
{
if (Current?.Handler != null)
Current.ToPlatform().InvalidateMeasure(Current);
if (Current is Page current && current.Handler is not null)
current.ToPlatform().InvalidateMeasure(current);

if (VisibleViewController is ParentingViewController pvc)
pvc.UpdateFrames();
Expand Down Expand Up @@ -1716,7 +1722,7 @@ void IElementHandler.SetMauiContext(IMauiContext mauiContext)
void IElementHandler.SetVirtualView(Maui.IElement view)
{
_viewHandlerWrapper.SetVirtualView(view, ElementChanged, false);
_element = view as VisualElement;
_element = view is VisualElement v ? new(v) : null;

void ElementChanged(ElementChangedEventArgs<NavigationPage> e)
{
Expand Down
Loading
Loading