RANDOM MAC v1.1.3
A hotfix release focused on developer ergonomics: GitHub Actions hygiene, repo metadata, and a new in-app Social Dev page surfacing donate / report-bug / social links. No changes to MAC randomization, registry, WMI, or any RandomMac.Core logic.
Existing settings.json / blacklist.json / history.json files load unchanged.
Built with C# 13 / .NET 11 (preview) for the App project, .NET 9 for Core.
Added
- Social Dev nav page (Ctrl+6). New 6th navigation entry hosting:
- Donate button — a
MenuFlyoutexposing Ko-fi, Buy Me a Coffee, Patreon, and PayPal. - Report a Bug button — opens GitHub Issues with the
bug_report.ymltemplate pre-selected. - Networks grid — 11 social profiles (X / YouTube / Discord ×2 / Patreon / Ko-fi / Steam / Bluesky / Mastodon / Telegram ×2) rendered with
ItemsRepeater+UniformGridLayout. - Contact section — direct
mailto:link. - All localized via
Lang.resx/Lang.vi.resx(7 new keys); URL launching dispatched from code-behind to sidestep WinUI 3 flyoutDataContextfragility.
- Donate button — a
.github/FUNDING.yml. Activates the "Sponsor" button on the repo with five channels: GitHub Sponsors (poli0981), Ko-fi, Buy Me a Coffee, Patreon, PayPal (custom URL).- Auto-create GitHub Discussion on each release. New
.github/workflows/discussion-on-release.ymlruns onrelease: published(parallel to the existing Discord announcer) and opens a thread in the Announcements category via the GraphQLcreateDiscussionmutation. Manualworkflow_dispatchwith ataginput supports back-filling discussions for prior releases. - Developer-facing docs.
docs/pc_spec.md(hardware reference for the dev workstation) anddocs/dev_env.md(personal toolchain — .NET, Python, Node, Rust, Git/GPG). Vietnamese mirrors atdocs/i18n/vi/.docs/DEV_ENVIRONMENT.md(project build instructions) is intentionally unchanged.
Changed
- CI no longer runs on documentation-only commits.
ci.ymlnow declarespaths-ignorefordocs/**,**/*.md,.github/FUNDING.yml,.github/ISSUE_TEMPLATE/**, and the root metadata files (CODE_OF_CONDUCT.md,CONTRIBUTING.md,DISCLAIMER.md,EULA.md,SECURITY.md,LICENSE). Workflow file edits (.github/workflows/**) still trigger CI. - Reusable workflow callers tightened.
notify-ci-failure.ymlusedworkflows: ["*"]which fired on every workflow_run completion. Now restricted to["CI", "Release", "Announce Release to Discord"]with an explicitif: github.event.workflow_run.conclusion == 'failure'gate at the job level.notify-release-pipeline.ymlwatched for"Release Desktop App"while the actual workflowname:is just"Release", so the notifier never fired. Names now match.
- Dependabot config. Schedule day shifted from
monday→tuesdayto avoid the Monday-morning queue. Addedassignees/reviewers: [poli0981]andcommit-messageprefixes (chore(deps)for NuGet,chore(ci)for github-actions). - Keyboard shortcut hint in README updated from
Ctrl+1..5toCtrl+1..6.
What did NOT change
- Every algorithm in
RandomMac.Core: MAC generation, registry write, WMI restart, blacklist, history, settings, OUI lookup, update service. - The 5 existing nav pages (Dashboard, Settings, Log, Update, About) — their Ctrl+1..5 shortcuts still resolve to the same destinations.
- Velopack 0.0.1298 packaging (unpackaged, self-contained).
requireAdministratormanifest (no UAC at boot via Task Scheduler).- All 37 RandomMac.Tests unit tests still pass.
Out of scope
webapp/TAURI.mdreferenced in the developer's personal spec is intentionally deferred — the repo has nowebapp/directory and no Tauri 2 tooling. A separate companion is being evaluated as future work, not part of v1.1.x.
Smoke checklist (manual)
- Build + launch. Six nav items appear (Dashboard, Settings, Log, Update, About, Social).
Ctrl+1…Ctrl+6each jump to the corresponding page.Ctrl+6opens Social Dev.- Settings → switch language to Tiếng Việt. All Social Dev labels translate (header, "Ủng hộ", "Báo lỗi", section titles); nav label flips to "Mạng xã hội". Switch back to English.
- Click Donate → flyout shows 4 channels → click each → browser opens the correct destination.
- Click Report a Bug → GitHub Issues page loads with the Bug Report template pre-selected.
- Click each social card (X / YouTube / Discord / Patreon / Ko-fi / Steam / Bluesky / Mastodon / Telegram entries) → browser opens the correct URL.
- Click the contact email link → default mail handler launches with
lopop05905@proton.me. - Tray icon,
--minimizedstartup, MinimizeToTray behavior: unchanged from v1.1.2.
Workflow / repo verification
- Push a docs-only commit →
Actionstab shows no CI run for that push. - Push a code commit → CI runs as before.
- Cut a draft pre-release tag (e.g.
v0.0.0-test1) → confirmRelease,Announce Release to Discord, andCreate Discussion on Releaseall run; the Discussion appears under Announcements with release notes embedded in a<details>block. notify-release-pipeline(previously broken) now triggers afterReleasecompletes.- Repository homepage shows the "Sponsor" button; clicking it lists GitHub Sponsors, Ko-fi, Buy Me a Coffee, Patreon, and the PayPal custom URL.
Prerequisites (one-time, repo Settings)
- Discussions must be enabled (Settings → Features → Discussions). The first run of
discussion-on-release.ymlwill fail with a clear error message if it isn't. - An Announcements category must exist (the default category — already present on most repos).
Compatibility
- Windows 11 (Mica) / Windows 10 22H2 (Acrylic fallback) / older (solid backdrop).
- x64 only. ARM64 not supported in this release.
- Bundled WinAppSDK runtime + .NET 11 (~225 MB self-contained).
- Building from source needs the .NET 11 preview SDK (
global.jsonpinned); see DEV_ENVIRONMENT.md.