Skip to content

Commit 49da03d

Browse files
Merge branch 'main' into feature/sl/remove-popup-constraint-from-popup-service
2 parents 8c993d3 + ffec96a commit 49da03d

File tree

515 files changed

+8226
-5138
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

515 files changed

+8226
-5138
lines changed

.editorconfig

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,4 +142,13 @@ dotnet_diagnostic.CA2208.severity = error
142142
dotnet_diagnostic.CA1834.severity = error
143143

144144
# IDE0220: Add explicit cast
145-
dotnet_diagnostic.IDE0220.severity = error
145+
dotnet_diagnostic.IDE0220.severity = error
146+
147+
# Warning CA2264 : Calling 'ArgumentNullException.ThrowIfNull' and passing a non-nullable value is a no-op
148+
dotnet_diagnostic.CA2264.severity = error
149+
150+
# MVMTK0042: The field [ObservableProperty] can be converted to a partial property
151+
dotnet_diagnostic.MVMTK0042.severity = error
152+
153+
# XC0045: Binding Property not found
154+
dotnet_diagnostic.XC0045.severity = error

.github/ISSUE_TEMPLATE/open-a-new-feature-proposal.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ name: Open a New Feature Proposal
22
description: For proposals that have been discussed in the Discussions tab and have been approved by a member of the core .NET MAUI Toolkit team
33
title: "[Proposal] "
44
labels: [new, proposal]
5+
projects: ["CommunityToolkit/projects/12"]
56
body:
67

78
- type: input
@@ -109,4 +110,4 @@ body:
109110

110111
- type: markdown
111112
attributes:
112-
value: Thanks for taking the time to fill out this feature proposal.
113+
value: Thanks for taking the time to fill out this feature proposal.

.github/dependabot.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,24 @@ updates:
33
- package-ecosystem: nuget
44
directory: "/samples"
55
schedule:
6-
interval: daily
6+
interval: daily
7+
ignore:
8+
- dependency-name: "Microsoft.Maui.Controls"
9+
- dependency-name: "Microsoft.Maui.Core"
10+
- dependency-name: "Microsoft.Maui.Essentials"
11+
- dependency-name: "Microsoft.Maui.Maps"
12+
- dependency-name: "Xamarin.AndroidX.Camera.Camera2"
13+
- dependency-name: "Xamarin.AndroidX.Camera.View"
14+
- dependency-name: "Xam.Plugins.Android.ExoPlayer"
15+
- dependency-name: "Xam.Plugins.Android.ExoPlayer.Transformer"
16+
- dependency-name: "Xam.Plugins.Android.ExoPlayer.MediaSession"
17+
- dependency-name: "Xamarin.AndroidX.Media3.ExoPlayer"
18+
- dependency-name: "Xamarin.AndroidX.Media3.Common"
19+
- dependency-name: "Xamarin.AndroidX.Media3.UI"
20+
- dependency-name: "Xamarin.AndroidX.Media3.ExoPlayer.Rtsp"
21+
- dependency-name: "Xamarin.AndroidX.Media3.ExoPlayer.Hls"
22+
- dependency-name: "Xamarin.AndroidX.Media3.ExoPlayer.Dash"
23+
- dependency-name: "Xamarin.AndroidX.Media3.Session"
24+
- dependency-name: "Xamarin.AndroidX.Collection"
25+
- dependency-name: "Xamarin.AndroidX.Lifecycle.LiveData"
26+
- dependency-name: "Xamarin.AndroidX.Collection.Ktx"

.github/policies/resourceManagement.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ configuration:
8888
label: needs reproduction
8989
then:
9090
- addReply:
91-
reply: Hi @${issueAuthor}. We have added the "needs reproduction" label to this issue, which indicates that we cannot take further action. This issue will be closed automatically in 5 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.
91+
reply: Hi @${issueAuthor}! We have added the https://github.com/CommunityToolkit/Maui/labels/needs%20reproduction label to this issue, which indicates that we are unable to take further action until you provide a reproduction sample that we can use to reproduce + fix your bug. In accordance with the [`Reporting a bug` section of our `Contributing.md`](https://github.com/CommunityToolkit/Maui/blob/main/CONTRIBUTING.md#reporting-a-bug) that you confirmed reading before you submitted this Issue, we ask that every Issue author provide a link to an open-source repository containing the reproduction sample app. This issue will be closed automatically in 5 days if we do not receive a reproduction sample from you. Please feel free to re-open this Issue once you have provided a reproduction sample.
9292
description: Add comment when 'needs reproduction' is applied to issue
9393
- if:
9494
- payloadType: Issues

.github/workflows/locker.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Locker - Lock stale issues and PRs
2+
on:
3+
schedule:
4+
- cron: '0 9 * * *' # Once per day, early morning PT
5+
6+
workflow_dispatch:
7+
# Manual triggering through the GitHub UI, API, or CLI
8+
inputs:
9+
daysSinceClose:
10+
required: true
11+
default: "1"
12+
daysSinceUpdate:
13+
required: true
14+
default: "1"
15+
16+
permissions:
17+
issues: write
18+
pull-requests: write
19+
20+
jobs:
21+
main:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout Actions
25+
uses: actions/checkout@v4
26+
with:
27+
repository: "microsoft/vscode-github-triage-actions"
28+
path: ./actions
29+
ref: 066bee9cefa6f0b4bf306040ff36fc7d96a6d56d # locker action commit sha
30+
- name: Install Actions
31+
run: npm install --production --prefix ./actions
32+
- name: Run Locker
33+
uses: ./actions/locker
34+
with:
35+
daysSinceClose: ${{ fromJson(inputs.daysSinceClose || 1) }}
36+
daysSinceUpdate: ${{ fromJson(inputs.daysSinceUpdate || 1) }}

Directory.Build.props

Lines changed: 158 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Project>
33
<PropertyGroup>
4-
<NetVersion>net8.0</NetVersion>
5-
<MauiPackageVersion>8.0.71</MauiPackageVersion>
6-
<LangVersion>latest</LangVersion>
74
<Nullable>enable</Nullable>
8-
<ImplicitUsings>enable</ImplicitUsings>
95
<NoWarn>NETSDK1023</NoWarn>
10-
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
11-
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
12-
<GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks>
6+
<NetVersion>net9.0</NetVersion>
7+
<LangVersion>preview</LangVersion>
8+
<ImplicitUsings>enable</ImplicitUsings>
139
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
10+
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
1411
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
12+
<GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks>
13+
14+
<!-- Prevent NuGet Package Vulnerabilities -->
15+
<NuGetAudit>enable</NuGetAudit>
16+
<NuGetAuditMode>all</NuGetAuditMode>
17+
18+
<!-- MAUI Specific -->
19+
<MauiPackageVersion>9.0.21</MauiPackageVersion>
20+
<NextMauiPackageVersion>10.0.0</NextMauiPackageVersion>
21+
<MauiStrictXamlCompilation>true</MauiStrictXamlCompilation>
22+
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
23+
<MauiEnableXamlCBindingWithSourceCompilation>true</MauiEnableXamlCBindingWithSourceCompilation>
1524

1625
<!-- https://learn.microsoft.com/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows -->
1726
<StripSymbols>false</StripSymbols>
@@ -39,40 +48,153 @@
3948
CS1712: Type parameter has no matching typeparam tag in the XML comment
4049
CS1723: XML comment has cref attribute that refers to a type parameter
4150
CS1734: XML comment has a paramref tag, but there is no parameter by that name
42-
43-
xUnit1012: Null should not be used for type parameter
44-
xUnit2021: Assert.ThrowsAsync is async. The resulting task should be awaited
45-
46-
IL2***: Trim Warnings
47-
48-
IL3***: AOT Warnings
49-
51+
MVMTK0042: The field [ObservableProperty] can be converted to a partial property
52+
CsWinRT1028: Class implements WinRT interfaces but isn't marked partial
53+
CsWinRT1030: Class implements WinRT interfaces that require unsafe code
54+
NU1900 Error communicating with package source, while getting vulnerability information.
55+
NU1901 Package with low severity detected
56+
NU1902 Package with moderate severity detected
57+
NU1903 Package with high severity detected
58+
NU1904 Package with critical severity detected
59+
NU1905 An audit source does not provide a vulnerability database
60+
xUnit1000: Test classes must be public
61+
xUnit1001: Fact methods cannot have parameters
62+
xUnit1002: Test methods cannot have multiple Fact or Theory attributes
63+
xUnit1003: Theory methods must have test data
64+
xUnit1004: Test methods should not be skipped
65+
xUnit1005: Fact methods should not have test data
66+
xUnit1006: Theory methods should have parameters
67+
xUnit1007: ClassData must point at a valid class
68+
xUnit1008: Test data attribute should only be used on a Theory
69+
xUnit1009: InlineData values must match the number of method parameters
70+
xUnit1010: The value is not convertible to the method parameter type
71+
xUnit1011: There is no matching method parameter
72+
xUnit1012: Null should not be used for value type parameters
73+
xUnit1013: Public method should be marked as test
74+
xUnit1014: MemberData should use nameof operator for member name
75+
xUnit1015: MemberData must reference an existing member
76+
xUnit1016: MemberData must reference a public member
77+
xUnit1017: MemberData must reference a static member
78+
xUnit1018: MemberData must reference a valid member kind
79+
xUnit1019: MemberData must reference a member providing a valid data type
80+
xUnit1020: MemberData must reference a property with a getter
81+
xUnit1021: MemberData should not have parameters if the referenced member is not a method
82+
xUnit1022: Theory methods cannot have a parameter array
83+
xUnit1023: Theory methods cannot have default parameter values
84+
xUnit1024: Test methods cannot have overloads
85+
xUnit1025: InlineData should be unique within the Theory it belongs to
86+
xUnit1026: Theory methods should use all of their parameters
87+
xUnit1027: Collection definition classes must be public
88+
xUnit1028: Test method must have valid return type
89+
xUnit1029: Local functions cannot be test functions
90+
xUnit1030: Do not call ConfigureAwait in test method
91+
xUnit1031: Do not use blocking task operations in test method
92+
xUnit1032: Test classes cannot be nested within a generic class
93+
xUnit1033: Test classes decorated with 'Xunit.IClassFixture' or 'Xunit.ICollectionFixture' should add a constructor argument of type TFixture
94+
xUnit1034: Null should only be used for nullable parameters
95+
xUnit1035: The value is not convertible to the method parameter type
96+
xUnit1036: There is no matching method parameter
97+
xUnit1037: There are fewer theory data type arguments than required by the parameters of the test method
98+
xUnit1038: There are more theory data type arguments than allowed by the parameters of the test method
99+
xUnit1039: The type argument to theory data is not compatible with the type of the corresponding test method parameter
100+
xUnit1040: The type argument to theory data is nullable, while the type of the corresponding test method parameter is not
101+
xUnit1041: Fixture arguments to test classes must have fixture sources
102+
xUnit1042: The member referenced by the MemberData attribute returns untyped data rows
103+
xUnit1043: Constructors on classes derived from FactAttribute must be public when used on test methods
104+
xUnit1048: Avoid using 'async void' for test methods as it is deprecated in xUnit.net v3
105+
xUnit1049: Do not use 'async void' for test methods as it is no longer supported
106+
xUnit1050: The class referenced by the ClassData attribute returns untyped data rows
107+
xUnit1051: Calls to methods which accept CancellationToken should use TestContext.Current.CancellationToken
108+
xUnit2000: Constants and literals should be the expected argument
109+
xUnit2001: Do not use invalid equality check
110+
xUnit2002: Do not use null check on value type
111+
xUnit2003: Do not use equality check to test for null value
112+
xUnit2004: Do not use equality check to test for boolean conditions
113+
xUnit2005: Do not use identity check on value type
114+
xUnit2006: Do not use invalid string equality check
115+
xUnit2007: Do not use typeof expression to check the type
116+
xUnit2008: Do not use boolean check to match on regular expressions
117+
xUnit2009: Do not use boolean check to check for substrings
118+
xUnit2010: Do not use boolean check to check for string equality
119+
xUnit2011: Do not use empty collection check
120+
xUnit2012: Do not use Enumerable.Any() to check if a value exists in a collection
121+
xUnit2013: Do not use equality check to check for collection size.
122+
xUnit2014: Do not use throws check to check for asynchronously thrown exception
123+
xUnit2015: Do not use typeof expression to check the exception type
124+
xUnit2016: Keep precision in the allowed range when asserting equality of doubles or decimals.
125+
xUnit2017: Do not use Contains() to check if a value exists in a collection
126+
xUnit2018: Do not compare an object's exact type to an abstract class or interface
127+
xUnit2019: Do not use obsolete throws check to check for asynchronously thrown exception
128+
xUnit2020: Do not use always-failing boolean assertion to fail a test
129+
xUnit2021: Async assertions should be awaited
130+
xUnit2022: Boolean assertions should not be negated
131+
xUnit2023: Do not use collection methods for single-item collections
132+
xUnit2024: Do not use boolean asserts for simple equality tests
133+
xUnit2025: The boolean assertion statement can be simplified
134+
xUnit2026: Comparison of sets must be done with IEqualityComparer
135+
xUnit2027: Comparison of sets to linear containers have undefined results
136+
xUnit2028: Do not use Assert.Empty or Assert.NotEmpty with problematic types
137+
xUnit2029: Do not use Assert.Empty to check if a value does not exist in a collection
138+
xUnit2030: Do not use Assert.NotEmpty to check if a value exists in a collection
139+
xUnit2031: Do not use Where clause with Assert.Single
140+
xUnit2032: Type assertions based on 'assignable from' are confusingly named
141+
xUnit3000: Classes which cross AppDomain boundaries must derive directly or indirectly from LongLivedMarshalByRefObject
142+
xUnit3001: Classes that are marked as serializable (or created by the test framework at runtime) must have a public parameterless constructor
143+
xUnit3002: Classes which are JSON serializable should not be tested for their concrete type
144+
XC0045: Binding: Property not found
145+
XC0103: Consider attributing the markup extension with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any
146+
IL2***: Trim Warnings
147+
IL3***: AOT Warnings
50148
RS2007: Analyzer release file 'AnalyzerReleases.Shipped.md' has a missing or invalid release header-->
51-
<WarningsAsErrors>nullable,
52-
CS0419,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734,
53-
xUnit1012,xUnit2021,
54-
IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009,
55-
IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019,
56-
IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029,
57-
IL2030,IL2031,IL2032,IL2033,IL2034,IL2035,IL2036,IL2037,IL2038,IL2039,
58-
IL2040,IL2041,IL2042,IL2043,IL2044,IL2045,IL2046,IL2047,IL2048,IL2049,
59-
IL2050,IL2051,IL2052,IL2053,IL2054,IL2055,IL2056,IL2057,IL2058,IL2059,
60-
IL2060,IL2061,IL2062,IL2063,IL2064,IL2065,IL2066,IL2067,IL2068,IL2069,
61-
IL2070,IL2071,IL2072,IL2073,IL2074,IL2075,IL2076,IL2077,IL2078,IL2079,
62-
IL2080,IL2081,IL2082,IL2083,IL2084,IL2085,IL2086,IL2087,IL2088,IL2089,
63-
IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099,
64-
IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109,
65-
IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119,
66-
IL2120,IL2121,IL2122,
67-
IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056,
68-
RS2007
69-
</WarningsAsErrors>
149+
<WarningsAsErrors>
150+
nullable,
151+
CS0419,CS1570,CS1571,CS1572,CS1573,CS1574,CS1580,CS1581,CS1584,CS1587,CS1589,CS1590,CS1591,CS1592,CS1598,CS1658,CS1710,CS1711,CS1712,CS1723,CS1734,
152+
CsWinRT1028,CsWinRT1030,
153+
MVMTK0042,
154+
NU1900,NU1901,NU1902,NU1903,NU1904,NU1905,
155+
xUnit1000,xUnit1001,xUnit1002,xUnit1003,xUnit1004,xUnit1005,xUnit1006,xUnit1007,xUnit1008,xUnit1009,xUnit1010,xUnit1011,xUnit1012,xUnit1013,xUnit1014,xUnit1015,xUnit1016,xUnit1017,xUnit1018,xUnit1019,xUnit1020,xUnit1021,xUnit1022,xUnit1023,xUnit1024,xUnit1025,xUnit1026,xUnit1027,xUnit1028,xUnit1029,xUnit1030,xUnit1031,xUnit1032,xUnit1033,xUnit1034,xUnit1035,xUnit1036,xUnit1037,xUnit1038,xUnit1039,xUnit1040,xUnit1041,xUnit1042,xUnit1043,xUnit1048,xUnit1049,xUnit1050,xUnit1051,
156+
xUnit2000,xUnit2001,xUnit2002,xUnit2003,xUnit2004,xUnit2005,xUnit2006,xUnit2007,xUnit2008,xUnit2009,xUnit2010,xUnit2011,xUnit2012,xUnit2013,xUnit2014,xUnit2015,xUnit2016,xUnit2017,xUnit2018,xUnit2019,xUnit2020,xUnit2021,xUnit2022,xUnit2023,xUnit2024,xUnit2025,xUnit2026,xUnit2027,xUnit2028,xUnit2029,xUnit2030,xUnit2031,xUnit2032,
157+
xUnit3000,xUnit3001,xUnit3002,
158+
XC0045,XC0103,
159+
IL2001,IL2002,IL2003,IL2004,IL2005,IL2006,IL2007,IL2008,IL2009,
160+
IL2010,IL2011,IL2012,IL2013,IL2014,IL2015,IL2016,IL2017,IL2018,IL2019,
161+
IL2020,IL2021,IL2022,IL2023,IL2024,IL2025,IL2026,IL2027,IL2028,IL2029,
162+
IL2030,IL2031,IL2032,IL2033,IL2034,IL2035,IL2036,IL2037,IL2038,IL2039,
163+
IL2040,IL2041,IL2042,IL2043,IL2044,IL2045,IL2046,IL2047,IL2048,IL2049,
164+
IL2050,IL2051,IL2052,IL2053,IL2054,IL2055,IL2056,IL2057,IL2058,IL2059,
165+
IL2060,IL2061,IL2062,IL2063,IL2064,IL2065,IL2066,IL2067,IL2068,IL2069,
166+
IL2070,IL2071,IL2072,IL2073,IL2074,IL2075,IL2076,IL2077,IL2078,IL2079,
167+
IL2080,IL2081,IL2082,IL2083,IL2084,IL2085,IL2086,IL2087,IL2088,IL2089,
168+
IL2090,IL2091,IL2092,IL2093,IL2094,IL2095,IL2096,IL2097,IL2098,IL2099,
169+
IL2100,IL2101,IL2102,IL2103,IL2104,IL2105,IL2106,IL2107,IL2108,IL2109,
170+
IL2110,IL2111,IL2112,IL2113,IL2114,IL2115,IL2116,IL2117,IL2118,IL2119,
171+
IL2120,IL2121,IL2122,
172+
IL3050,IL3051,IL3052,IL3053,IL3054,IL3055,IL3056,
173+
RS2007
174+
</WarningsAsErrors>
175+
</PropertyGroup>
176+
177+
<!-- Required for NuGet Source Link -->
178+
<PropertyGroup Condition="'$(TF_BUILD)' == 'true' OR '$(GITHUB_ACTIONS)' == 'true'">
179+
<!-- Ensure deterministic build when using Azure Pipelines or GitHub Actions-->
180+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
181+
182+
<!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
183+
<PublishRepositoryUrl>true</PublishRepositoryUrl>
184+
185+
<!-- Embed source files that are not tracked by the source control manager in the PDB -->
186+
<EmbedUntrackedSources>true</EmbedUntrackedSources>
187+
188+
<!-- Embed symbols containing Source Link in the main file (exe/dll) -->
189+
<DebugType>embedded</DebugType>
70190
</PropertyGroup>
71191

72192
<ItemGroup>
73-
<InternalsVisibleTo Include="CommunityToolkit.Maui.UnitTests" />
193+
<InternalsVisibleTo Include="CommunityToolkit.Maui.UnitTests"/>
194+
<InternalsVisibleTo Include="CommunityToolkit.Maui.Analyzers.UnitTests"/>
74195
</ItemGroup>
75-
<PropertyGroup Condition="'$(TF_BUILD)' == 'true' and $([MSBuild]::IsOSPlatform('windows')) == 'true'">
196+
197+
<PropertyGroup Condition="('$(TF_BUILD)' == 'true' OR '$(GITHUB_ACTIONS)' == 'true') and $([MSBuild]::IsOSPlatform('windows')) == 'true'">
76198
<IncludeTizenTargetFrameworks>true</IncludeTizenTargetFrameworks>
77199
</PropertyGroup>
78200
</Project>

0 commit comments

Comments
 (0)