Skip to content

Kiro/windows linux transparency - #41

Merged
AlleyBo55 merged 3 commits into
masterfrom
kiro/windows-linux-transparency
Aug 3, 2026
Merged

AlleyBo55 merged 3 commits into
masterfrom
kiro/windows-linux-transparency

Conversation

@AlleyBo55

Copy link
Copy Markdown
Owner

No description provided.

Packaging locally picked up dist/.qcheck.mjs, left behind by an earlier
revision of the quarantine verification script. Only the two esbuild bundles
belong in dist/, so anything dotted is now excluded outright.

No published artifact was affected. dist/ is gitignored and the file was
never committed, so CI, which builds from a fresh checkout and never runs the
quarantine script, has always packaged cleanly. This is a guard for anyone
running npm run release on a working tree that has accumulated scratch files.

Verified by repackaging: zero qcheck entries, 248 sprite PNGs still present,
and exactly the two expected bundles in extension/dist/.
0.1.1 got the mascot drawing on Windows and Linux. It drew inside a white
rectangle, which is a separate defect in a separate layer: the window is
transparent, the surface painted over it is not.

Windows is a known WebView2 behaviour, still open upstream as
tauri-apps/tauri#4881 and #12450. WebView2 leaves an opaque surface over a
transparent window until something forces it to recomposite, and resizing is
what users stumble on as the workaround. We now do it ourselves: a one-pixel
resize round-trip, fired a beat after the renderer reports its first frame.
The delay runs on its own thread rather than in the event handler, because
sleeping there would stall the message pump and starve the very paint we are
waiting to recomposite.

Linux was my own bug, introduced in 0.1.1. tao fills a window's single child
slot with a vertical GtkBox by default, and wry dispatches on container type:
a GtkBox gets packed, anything else falls through to `add`, which GTK refuses
on an occupied GtkBin. So the webview was being attached to a container that
could not hold it. wry's own documented example passes the window, which only
works for windows built without that default box. We now hand it the box and
fall back to the window when one was not created.

Checked and ruled out along the way: the markup already sets html and body to
transparent, tao does apply DwmEnableBlurBehindWindow on Windows, and Linux
auto_transparent defaults to true. None of those were at fault.

Verified on macOS: cargo release build clean with no warnings, typecheck,
build, 34 smoke checks, binary still starts. The Windows and Linux branches
compile only in CI, and whether the box is actually gone needs someone on
those machines. If Linux is still boxed after this, the next thing to rule out
is a missing compositor on X11, which no code change can fix.
Reposition the listing around the terms users actually search for: Kiro desktop pet, AI coding companion, Shimeji, desktop mascot and agent status. Use all 30 manifest keyword slots with relevant, unique terms and point the homepage at the extension-specific README.

Turn the README's first screen into a product page: a concise promise, proof, live marketplace/version/download badges, direct install CTA, real Kiro installation steps and an FAQ for high-intent questions. Remove the old source-build-first flow and stale platform, notarization, test-count and source-size claims.

Keep the copy factual: Windows and Linux transparency remain explicitly marked as awaiting 0.1.2 field validation, Wayland movement is disclosed, and no growth multiplier is promised.

Verified with typecheck, build, 34 smoke checks, 4 quarantine checks, link checks, git diff --check and inspection of the packaged 4.89 MB VSIX.
@AlleyBo55
AlleyBo55 merged commit 95832be into master Aug 3, 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