diff --git a/docs/RELEASE_1.12.2.md b/docs/RELEASE_1.12.2.md new file mode 100644 index 0000000..4794882 --- /dev/null +++ b/docs/RELEASE_1.12.2.md @@ -0,0 +1,44 @@ +# MAUverce 1.12.2 release record + +Built: 2026-08-02 + +Classification: engineering release published as GitHub Release `v1.12.2`. +Not production-approved until remaining `docs/RELEASE_CHECKLIST.md` gates pass +on the exact promoted signed artifacts. + +## Targets + +| Client | Path | Version | Build | +| --- | --- | --- | --- | +| Android (MAUI) | `mauverse_mobile` | `1.12.2` | `versionCode` 31 | +| iPhone (SwiftUI) | `MauverseIOS` | `1.12.2` | `CURRENT_PROJECT_VERSION` 31 | + +- Package: `com.pmi4freal.mauverse3` +- Release commit: `aa04ea534c3ab729b4031af4bf0dd7b4881a2137` (`main`) +- Tag / GitHub Release: https://github.com/decoder-dev/mauverse/releases/tag/v1.12.2 +- Pull request: https://github.com/decoder-dev/mauverse/pull/21 (merged) +- CI on release commit: _pending — GitHub Actions blocked by account spending limit / payment_ + +## Published artifacts (unsigned) + +| Artifact | SHA-256 | +| --- | --- | +| `mauverse-android-arm64-unsigned.aab` | _pending CI_ | +| `mauverse-native-ios-arm64-unsigned.ipa` | _pending CI_ | + +## Product changes + +- News titles: decode HTML entities (` `, ` `, numeric entities) so amounts render as `100 000` instead of literal ` `. +- API RSS parser: same thin-space cleanup after `html.unescape`. +- Phones: Murmansk local 6-digit PBX numbers dial as `+7 8152 …`; trailing `(3045)` / `доб. 3045` become `;ext=` extensions instead of being concatenated into a bogus long number. +- Android department contacts: tap-to-call uses the same formatter. + +## Verification + +- [ ] All four CI jobs green on `aa04ea5` (`backend`, `api-image`, + `android-release`, `Native SwiftUI iPhone Release (unsigned)`). +- [ ] GitHub Release `v1.12.2` published with unsigned AAB/IPA and checksums. +- [ ] Protected production Android keystore signing (not `CN=Android Debug`). +- [ ] Apple distribution signing of the native IPA on an approved Mac. +- [ ] Device smoke test from `docs/RELEASE_CHECKLIST.md`. +- [ ] Production API TLS, readiness, Moodle/mail monitoring, and rollback owner. diff --git a/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs b/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs index 8cf1630..5b672e0 100644 --- a/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs +++ b/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs @@ -48,6 +48,10 @@ async Task GetPhone(DeptInfoDTO dept) } [RelayCommand] + [System.Diagnostics.CodeAnalysis.SuppressMessage( + "Performance", + "CA1822:Mark members as static", + Justification = "RelayCommand generation requires the instance command contract used by XAML.")] async Task CallAsync(string? rawPhone) { if (string.IsNullOrWhiteSpace(rawPhone))