Skip to content

FEAT(Screenshot border): Make the screenshot border on Microsoft store downloads not show. - #191

Merged
Twest2 merged 2 commits into
mainfrom
feat/store-borderless-capture
Oct 31, 2026
Merged

Twest2 merged 2 commits into
mainfrom
feat/store-borderless-capture

Conversation

@Twest2

@Twest2 Twest2 commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

In the Microsoft Store version, Windows draws a yellow border around the screen while StepForge is recording. The .exe and Chocolatey installs don't show it.

Why only the Store version

StepForge keeps a screen-capture stream open while recording. Electron's capture code already asks Windows to hide the border (WebRTC sets IsBorderRequired(false)). Windows decides whether to honour that in Settings → Privacy & security → Screenshot borders:

Change

  • packaging/windows/store/appxmanifest.xml declares uap11:Capability Name="graphicsCaptureWithoutBorder". electron-builder 26's capability list doesn't know it (appx.capabilities would fail with "invalid windows capability"), so the manifest writes out <Capabilities>, together with runFullTrust, in place of ${capabilities}. uap11 is in IgnorableNamespaces, so Windows 10 (MinVersion 1809) skips it.
  • Test: the manifest declares exactly these two capabilities, plus the uap11 namespace, and no longer has ${capabilities}.

graphicsCaptureWithoutBorder is a uap11 capability, not a restricted (rescap) one, so Partner Center shouldn't ask for a justification.

What this doesn't do yet

The capability allows the border to be removed; it doesn't remove it. The border goes away once the user turns on StepForge's switch. Windows' own consent prompt only appears when the app calls GraphicsCaptureAccess.RequestAccessAsync(Borderless). Electron has no API for that, so it would need a small native helper and a test on a real Store install. That's left for a follow-up.

Testing

  • npm test: 1110 pass, 0 fail.
  • The Unit tests (windows-latest) job builds the Store package (package:windows:store:test), so it checks that electron-builder's bundled makeappx accepts the uap11 namespace.
  • Not yet tried on an installed Store package.

The Store version shows Windows' yellow capture border while recording.
Electron already asks Windows to hide it, which the "Desktop apps"
switch in Settings → Privacy & security → Screenshot borders allows for
the .exe install; a packaged app needs the graphicsCaptureWithoutBorder
capability and its own switch there.

electron-builder's capability list doesn't know the capability, so the
manifest writes its Capabilities out (with runFullTrust) in place of
${capabilities}, and declares the uap11 namespace as ignorable so
Windows 10 skips it. The Store guide gets a troubleshooting row for the
border.
@Twest2 Twest2 changed the title Store: declare graphicsCaptureWithoutBorder so the recording border can be hidden FEAT(Screenshot border): Make the screenshot border on Microsoft store downloads not show. Oct 31, 2026
@Twest2
Twest2 merged commit 2fa4146 into main Oct 31, 2026
5 checks passed
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.

1 participant