Agent docs

This commit is contained in:
Andy Howard
2026-09-10 11:35:25 +01:00
parent c2a8757ebf
commit 945d8daaa9
6 changed files with 73 additions and 2 deletions
+7
View File
@@ -1,5 +1,12 @@
# SacsMobileMaui Component Review Register
<style>
table th,
table td {
vertical-align: top;
}
</style>
Last updated: 2026-09-10
| Component | Scope | Status | Date reviewed | Next steps | Notes |
+20
View File
@@ -1,17 +1,37 @@
# SacsMobileMaui Topic Tracker
<style>
table th,
table td {
vertical-align: top;
}
</style>
Last updated: 2026-09-10
## Prioritised Topics to Be Actioned
| Priority | Topic | Date noted | Next step | Notes |
|---|---|---|---|---|
| P1 | Establish authoritative source control for Sandtrap and Sandalwood | 2026-09-10 | Identify or create the intended repositories/change-tracking location before editing either consumer and confirm how coordinated changes will be reviewed. | No Git repository is currently detected at `MauiApps`, Sandtrap, or Sandalwood. Their applications must change with `SacsMobileMaui`, so untracked consumer edits would make the migration incomplete and difficult to review. |
| P1 | Repair the MAUI workload and capture the pre-migration mobile baseline | 2026-09-10 | Repair the inconsistent Android workload manifests, select the current SDK explicitly, then restore/build Windows and Android and record Apple-platform validation requirements. | Depends on a usable MAUI toolchain and authoritative consumer source control. The current workload reports a missing `microsoft-net-runtime-android-net9` extension; Apple builds require a compatible Mac/Xcode environment. |
| P1 | Upgrade `SacsMobileMaui` and its consumers from unsupported .NET MAUI 8/9 to .NET MAUI 10 | 2026-09-10 | Replace MAUI 9 compatibility APIs, align and validate consumer projects, then retarget to `net10.0` and the current MAUI 10 servicing release. | MAUI 9.0.120 is the final MAUI 9 patch, but MAUI 9 support ended on 2026-05-12. Sandalwood and Sandtrap still target MAUI 8 while referencing the `net9.0` shared project. The shared library also uses removed/deprecated compatibility layouts, `Frame`, `MainPage`, and popup APIs. |
| P1 | Make `SamThreadUtil` and form dialogs genuinely asynchronous and deadlock-safe | 2026-09-10 | Replace synchronous UI-thread bridges with `Task`-returning APIs, update the Sandtrap caller, and add focused tests. | The void `InvokeOnMainThreadSync` overload never waits; the generic overload and `DisplayConfirmSync` block on `Task.Result` and can deadlock on the UI thread. `DisplayAlertSync` also passes an async lambda to `Action`, producing `async void` behavior. |
| P2 | Correct MAUI native handler type checks | 2026-09-10 | Use `SamEditor` in editor mappings and `SamPicker` in picker mappings; validate each platform-specific option. | Several editor and every picker option currently cast to the wrong custom control type, so configured native styling is silently skipped. |
| P2 | Fix `SamDatePicker.AllowInvalid` state transition | 2026-09-10 | Change the assignment in the equality guard, verify both transitions, and add tests for display and reset behavior. | Setting `AllowInvalid` to `true` returns before refreshing the control; the guard uses `allowInvalidDate = value`. |
| P3 | Remove unused resource-stream enumeration | 2026-09-10 | Return `null` immediately after a failed named lookup or implement an intentional lookup strategy that disposes rejected streams. | `GetResourceStream` opens every manifest resource, discards each stream, and returns `null`. |
## .NET 10 Dependencies and Sequence
| Work item | Depends on | Unblocks |
|---|---|---|
| Establish Sandtrap and Sandalwood source control | Confirmation of the authoritative repositories or tracking workflow | Safe coordinated edits and review of consumer migration changes |
| Repair MAUI workloads and capture baseline | Consumer source-control decision; supported current SDK/workloads | Reliable distinction between environment, existing-source, and migration failures |
| Replace compatibility and obsolete APIs | Baseline evidence | Removal of `Microsoft.Maui.Controls.Compatibility` and clean MAUI 10 compilation |
| Retarget `SacsMobileMaui`, Sandtrap, and Sandalwood together | Compatibility cleanup; aligned package plan; tracked consumer workspaces | Windows and Android MAUI 10 validation |
| Validate Apple targets | Retargeted projects; compatible Mac and Xcode | Completion of the cross-platform migration |
| Address remaining behavioral defects | Stable MAUI 10 baseline; UI-thread defect may move earlier if it blocks testing | Reliable application behavior and focused regression tests |
## In-Progress Topics
| Priority | Topic | Date noted | Date started | Next step | Notes |