Summary
Now that #525/#524 (PR #533) let TodoApp.Uno build on every head in CI, the following pre-existing nullable-reference-type warnings are visible on every head (android, ios-maccatalyst, windows, browserwasm, desktop):
App.xaml.cs(15,12): warning CS8618: Non-nullable field 'dbConnection' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the field as nullable.
Database/OfflineClientEntity.cs(16,19): warning CS8618: Non-nullable property 'Id' must contain a non-null value when exiting constructor. Consider adding the 'required' modifier or declaring the property as nullable.
Views/TodoListPage.xaml.cs(40,46): warning CS8622: Nullability of reference types in type of parameter 'sender' of 'void TodoListPage.PublishNotification(object sender, NotificationEventArgs args)' doesn't match the target delegate 'EventHandler<NotificationEventArgs>' (possibly because of nullability attributes).
CI run: https://github.com/CommunityToolkit/Datasync/actions/runs/29093946725 (all todoapp-uno / * jobs)
Root cause
Genuine, pre-existing nullable-reference-type gaps in the sample's own code, unrelated to the Uno Platform version or any change in PR #533:
App.xaml.cs: dbConnection field is declared non-nullable but never initialized in the constructor.
Database/OfflineClientEntity.cs: Id property is declared non-nullable but not set in the constructor / not marked required.
Views/TodoListPage.xaml.cs: PublishNotification(object sender, NotificationEventArgs args) has non-nullable sender/args parameters that don't match the nullable annotations on the standard EventHandler<NotificationEventArgs> delegate it's assigned to (via ViewModel.NotificationHandler += PublishNotification;).
Suggested fix
App.xaml.cs: add the required modifier to dbConnection, or initialize it, or declare it nullable if genuinely optional at construction time.
Database/OfflineClientEntity.cs: add required to the Id property (mirroring the fix pattern already used elsewhere in this codebase for the same warning class).
Views/TodoListPage.xaml.cs: change PublishNotification's signature to object? sender, NotificationEventArgs args (or whatever matches EventHandler<NotificationEventArgs>'s actual nullable annotations) to eliminate the delegate mismatch.
None of these require behavioral changes - just nullability annotation fixes.
Summary
Now that #525/#524 (PR #533) let
TodoApp.Unobuild on every head in CI, the following pre-existing nullable-reference-type warnings are visible on every head (android, ios-maccatalyst, windows, browserwasm, desktop):CI run: https://github.com/CommunityToolkit/Datasync/actions/runs/29093946725 (all
todoapp-uno / *jobs)Root cause
Genuine, pre-existing nullable-reference-type gaps in the sample's own code, unrelated to the Uno Platform version or any change in PR #533:
App.xaml.cs:dbConnectionfield is declared non-nullable but never initialized in the constructor.Database/OfflineClientEntity.cs:Idproperty is declared non-nullable but not set in the constructor / not markedrequired.Views/TodoListPage.xaml.cs:PublishNotification(object sender, NotificationEventArgs args)has non-nullablesender/argsparameters that don't match the nullable annotations on the standardEventHandler<NotificationEventArgs>delegate it's assigned to (viaViewModel.NotificationHandler += PublishNotification;).Suggested fix
App.xaml.cs: add therequiredmodifier todbConnection, or initialize it, or declare it nullable if genuinely optional at construction time.Database/OfflineClientEntity.cs: addrequiredto theIdproperty (mirroring the fix pattern already used elsewhere in this codebase for the same warning class).Views/TodoListPage.xaml.cs: changePublishNotification's signature toobject? sender, NotificationEventArgs args(or whatever matchesEventHandler<NotificationEventArgs>'s actual nullable annotations) to eliminate the delegate mismatch.None of these require behavioral changes - just nullability annotation fixes.