Skip to content

[windows] Exclude DFNR model archive from Store MSIX package#3205

Merged
ten9876 merged 1 commit into
aethersdr:mainfrom
jensenpat:codex/msix-exclude-dfnr-model
May 27, 2026
Merged

[windows] Exclude DFNR model archive from Store MSIX package#3205
ten9876 merged 1 commit into
aethersdr:mainfrom
jensenpat:codex/msix-exclude-dfnr-model

Conversation

@jensenpat

Copy link
Copy Markdown
Collaborator

Summary

This PR keeps the Windows Store MSIX payload free of the DFNR model archive.

  • Adds -ExcludeDfnrModel to packaging/windows/create-msix.ps1.
  • Uses that switch in the Windows installer workflow's MSIX step, so the Store-style MSIX artifact omits DeepFilterNet3_onnx.tar.gz while leaving the normal deploy folder alone.
  • Updates the Windows Store/MSIX notes to document the Store packaging behavior and the remaining DFNR follow-up.
  • Ignores custom msix-root-* test/package roots created while validating MSIX output.

Validation

  • Merged/tested against latest origin/main (4ee99f78).
  • PowerShell parser check passed for packaging/windows/create-msix.ps1.
  • git diff --check passed.
  • MSVC configure/build completed with -j 8; windeployqt was run afterward into a fresh deploy directory.
  • Generated an unsigned MSIX with -ExcludeDfnrModel and verified DeepFilterNet3_onnx.tar.gz is not present in the package entries.
  • Ran Windows App Certification Kit against the generated MSIX. Archive files usage now passes; the remaining warnings are the existing blocked-executable and DPI-awareness findings.

Notes

This intentionally does not change the DFNR runtime code. The Store package skips the external tarball for now; restoring DFNR in Store builds should wait until we confirm df_create(nullptr, ...) can use the embedded default model or add another Store-compliant model loading path.

Co-authored-by: Codex <noreply@openai.com>
@jensenpat jensenpat changed the title Exclude DFNR model archive from Store MSIX package [windows] Exclude DFNR model archive from Store MSIX package May 27, 2026
@jensenpat jensenpat marked this pull request as ready for review May 27, 2026 05:30
@jensenpat jensenpat requested review from a team as code owners May 27, 2026 05:30

@aethersdr-agent aethersdr-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean, well-scoped change. The factoring is right: -ExcludeDfnrModel is opt-in at the script level, the workflow opts in for the Store-style MSIX, and the strip happens against the copied packageRoot after deploy/ is duplicated — so the portable ZIP and Inno installer paths upstream of the MSIX step keep shipping DFNR untouched, as advertised.

A couple of small observations, none blocking:

  • Get-ChildItem -Recurse is the right call (defensive against future deploy-layout shuffles that might put the tarball under a subdir), and Write-Host logging on each removal makes the CI log self-documenting if this ever needs to be debugged. Good.
  • The windows-installer.yml MSIX step now always passes -ExcludeDfnrModel. If anyone ever wants a DFNR-bearing MSIX from CI for a non-Store sideload, they'll have to invoke the script locally — which matches the docs you updated. Worth a comment in the workflow file pointing future-you at why the flag is unconditional here, but I wouldn't gate the merge on it.
  • WACK confirming Archive files usage now passes is a nice concrete validation point — thank you for including it.

Thanks for picking this up @jensenpat, and for the explicit follow-up note on the df_create(nullptr, ...) embedded-model path — that's exactly the kind of pointer that keeps the DFNR restoration discoverable later.


🤖 aethersdr-agent · cost: $7.9270 · model: claude-opus-4-7

@ten9876 ten9876 merged commit 1270ba1 into aethersdr:main May 27, 2026
5 checks passed
@ten9876

ten9876 commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Claude here — merged, thanks for the surgical fix @jensenpat. Clean +21/-9, all required gates green, and the build matrix will exercise -ExcludeDfnrModel on every Windows installer run going forward.

Filed #3217 to track restoring DFNR for Store builds. TL;DR from the investigation: df_create(NULL, ...) doesn't work as the header docstring suggests — the upstream Rust unconditionally derefs the path arg. But the embedded model machinery is already compiled in via capi → default-model, so a ~20-line fork patch to capi.rs collapses the runtime gap. Full analysis in the issue.

While digging I noticed the "NULL for embedded default" comment in third_party/deepfilter/include/deep_filter.h doesn't match library behavior — flagged in #3217 to scrub. Not blocking anything, just stale doc.

73, Jeremy KK7GWY & Claude (AI dev partner)

ten9876 pushed a commit that referenced this pull request Jun 8, 2026
Release-prep for **v26.6.2**, a consolidated release rolling up the
26.6.1 feature wave, the v26.6.1.1 hotfixes, and new work through #3443.

Bumps version 26.6.1.1 → 26.6.2 in `CMakeLists.txt` and the `README.md`
banner, and prepends the v26.6.2 `CHANGELOG.md` entry. No code changes.

Headline content: runtime theming system, three HID controller classes
(StreamDeck+, Ulanzi Dial, Icom RC-28), the packet-radio suite
(KISS-over-TCP TNC #3279, connected-mode BBS terminal #3381, PMS
mailbox), and the Microsoft Store MSIX packaging path
(#3178/#3205/#3225/#3281).

💻 Generated with Claude Code (Opus 4.8) with architecture by @jensenpat

Co-authored-by: Codex <noreply@openai.com>
G6PWY-Chris pushed a commit to G6PWY-Chris/AetherSDR that referenced this pull request Jun 22, 2026
…dr#3205)

## Summary

This PR keeps the Windows Store MSIX payload free of the DFNR model
archive.

- Adds `-ExcludeDfnrModel` to `packaging/windows/create-msix.ps1`.
- Uses that switch in the Windows installer workflow's MSIX step, so the
Store-style MSIX artifact omits `DeepFilterNet3_onnx.tar.gz` while
leaving the normal deploy folder alone.
- Updates the Windows Store/MSIX notes to document the Store packaging
behavior and the remaining DFNR follow-up.
- Ignores custom `msix-root-*` test/package roots created while
validating MSIX output.

## Validation

- Merged/tested against latest `origin/main` (`4ee99f78`).
- PowerShell parser check passed for
`packaging/windows/create-msix.ps1`.
- `git diff --check` passed.
- MSVC configure/build completed with `-j 8`; `windeployqt` was run
afterward into a fresh deploy directory.
- Generated an unsigned MSIX with `-ExcludeDfnrModel` and verified
`DeepFilterNet3_onnx.tar.gz` is not present in the package entries.
- Ran Windows App Certification Kit against the generated MSIX. `Archive
files usage` now passes; the remaining warnings are the existing
blocked-executable and DPI-awareness findings.

## Notes

This intentionally does not change the DFNR runtime code. The Store
package skips the external tarball for now; restoring DFNR in Store
builds should wait until we confirm `df_create(nullptr, ...)` can use
the embedded default model or add another Store-compliant model loading
path.

Co-authored-by: Codex <noreply@openai.com>
G6PWY-Chris pushed a commit to G6PWY-Chris/AetherSDR that referenced this pull request Jun 22, 2026
Release-prep for **v26.6.2**, a consolidated release rolling up the
26.6.1 feature wave, the v26.6.1.1 hotfixes, and new work through aethersdr#3443.

Bumps version 26.6.1.1 → 26.6.2 in `CMakeLists.txt` and the `README.md`
banner, and prepends the v26.6.2 `CHANGELOG.md` entry. No code changes.

Headline content: runtime theming system, three HID controller classes
(StreamDeck+, Ulanzi Dial, Icom RC-28), the packet-radio suite
(KISS-over-TCP TNC aethersdr#3279, connected-mode BBS terminal aethersdr#3381, PMS
mailbox), and the Microsoft Store MSIX packaging path
(aethersdr#3178/aethersdr#3205/aethersdr#3225/aethersdr#3281).

💻 Generated with Claude Code (Opus 4.8) with architecture by @jensenpat

Co-authored-by: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants