Skip to content

Wayland WebKit default, AUR nosuckshell-bin, and publish workflow#106

Merged
d0dg3r merged 2 commits into
mainfrom
cursor/seamless-user-experience-for-wayland-and-x11-f2a7
Apr 7, 2026
Merged

Wayland WebKit default, AUR nosuckshell-bin, and publish workflow#106
d0dg3r merged 2 commits into
mainfrom
cursor/seamless-user-experience-for-wayland-and-x11-f2a7

Conversation

@d0dg3r
Copy link
Copy Markdown
Owner

@d0dg3r d0dg3r commented Apr 7, 2026

Summary

  • Linux / Wayland: Set WEBKIT_DISABLE_DMABUF_RENDERER=1 at process start when unset and the session looks like Wayland (WAYLAND_DISPLAY or XDG_SESSION_TYPE=wayland), so Arch installs and other bundles work without a manual env prefix. X11 unchanged; existing env wins.
  • AUR: Add aur/nosuckshell-bin/PKGBUILD (repackage official .deb from GitHub Releases), aur/README.md (maintainer setup), and .github/workflows/aur-publish.yml to push updates after each published release when AUR_SSH_PRIVATE_KEY is set (upstream repo only).
  • Docs: README / CONTRIBUTING install notes, CHANGELOG, releases.md, bug report template, screenshots README.

Testing

  • cargo test in apps/desktop/src-tauri (Linux with suitable Rust).

Maintainer follow-up

  1. Create nosuckshell-bin on the AUR with initial PKGBUILD + .SRCINFO.
  2. Add GitHub secret AUR_SSH_PRIVATE_KEY.
Open in Web Open in Cursor 

d0dg3r and others added 2 commits April 7, 2026 02:32
Add aur/nosuckshell-bin PKGBUILD (repackage official .deb from GitHub
Releases), aur/README.md for maintainer setup, and aur-publish workflow
that updates the AUR after a published release when AUR_SSH_PRIVATE_KEY
is configured. Extend README, CONTRIBUTING, CHANGELOG, and releases docs.

Co-authored-by: jm <jm@tresorhaus-berlin.de>
Copilot AI review requested due to automatic review settings April 7, 2026 00:49
@d0dg3r d0dg3r merged commit 02c0103 into main Apr 7, 2026
5 of 6 checks passed
@d0dg3r d0dg3r deleted the cursor/seamless-user-experience-for-wayland-and-x11-f2a7 branch April 7, 2026 00:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds Wayland-friendly WebKit defaults for the Linux desktop app and introduces AUR packaging + an automated publish workflow, along with documentation updates to reflect the new install/release paths.

Changes:

  • Default WEBKIT_DISABLE_DMABUF_RENDERER=1 on Linux Wayland when the env var is unset (X11 unchanged).
  • Add AUR nosuckshell-bin PKGBUILD + maintainer docs, and a GitHub Actions workflow to publish updates on release publish.
  • Update README/CONTRIBUTING/CHANGELOG/release notes and templates to document the new behavior and distribution options.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
docs/releases.md Documents the new AUR publish path as part of the release process.
docs/media/screenshots/README.md Updates screenshot capture instructions to match the new Wayland env default behavior.
docs/CHANGELOG.md Records the Wayland WebKit env default and AUR/workflow additions.
aur/nosuckshell-bin/PKGBUILD Adds the AUR packaging definition that repackages the GitHub Release .deb.
aur/README.md Adds maintainer/user documentation for AUR usage and setup.
apps/desktop/src-tauri/src/main.rs Calls into the new Linux env setup at process start.
apps/desktop/src-tauri/src/linux_webkit_env.rs Implements Wayland detection + env var defaulting and unit tests.
README.md Adds AUR install instructions and updates Linux WebKit guidance.
CONTRIBUTING.md Updates dev run instructions and documents AUR workflow for maintainers.
.github/workflows/aur-publish.yml Adds a release-published workflow to update/publish the AUR package.
.github/ISSUE_TEMPLATE/bug_report.md Updates troubleshooting prompt to match the new Wayland defaulting behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +20 to +21
# Only the upstream repo publishes to the official AUR package; forks skip unless they add secrets.
if: github.repository == 'd0dg3r/NoSuckShell'
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

The job runs on the upstream repo even if AUR_SSH_PRIVATE_KEY is not configured, which will make the workflow fail on every published release until the secret is added. Consider extending the job if: condition to also require the secret to be present (skip publishing cleanly when it’s missing).

Suggested change
# Only the upstream repo publishes to the official AUR package; forks skip unless they add secrets.
if: github.repository == 'd0dg3r/NoSuckShell'
# Only the upstream repo publishes to the official AUR package; skip cleanly if the deploy key secret is missing.
if: github.repository == 'd0dg3r/NoSuckShell' && secrets.AUR_SSH_PRIVATE_KEY != ''

Copilot uses AI. Check for mistakes.
pkgbuild: aur/nosuckshell-bin/PKGBUILD
commit_username: NoSuckShell Bot
commit_email: bot@nosuckshell.dev
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

The job runs on the upstream repo even if AUR_SSH_PRIVATE_KEY is not configured, which will make the workflow fail on every published release until the secret is added. Consider extending the job if: condition to also require the secret to be present (skip publishing cleanly when it’s missing).

Copilot uses AI. Check for mistakes.
options=('!strip')
# Remote name avoids collisions; makepkg saves it as nosuckshell-bin-${pkgver}.deb
source=("${pkgname}-${pkgver}.deb::https://github.com/d0dg3r/NoSuckShell/releases/download/v${pkgver}/NoSuckShell_${pkgver}_amd64.deb")
sha256sums=('SKIP')
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

Shipping the PKGBUILD with sha256sums=('SKIP') disables source integrity verification for users building from AUR. Since pkgver is already set to a concrete release, prefer committing the real SHA-256 for that version (the workflow can still update it on new releases).

Suggested change
sha256sums=('SKIP')
sha256sums=('PUT_REAL_SHA256_FOR_NoSuckShell_0.3.3_amd64.deb_HERE')

Copilot uses AI. Check for mistakes.
# Align .desktop launcher with /usr/bin/nosuckshell
shopt -s nullglob
for f in "${pkgdir}/usr/share/applications/"*.desktop; do
sed -i 's/^Exec=.*/Exec=nosuckshell/' "$f"
Copy link

Copilot AI Apr 7, 2026

Choose a reason for hiding this comment

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

This rewrites the entire Exec= line, which can drop important desktop-entry arguments/placeholders (e.g., %U, %F, --some-flag) and break file/url handling. Safer approach: only replace the executable token (e.g., Exec=NoSuckShellExec=nosuckshell) while preserving any existing arguments and placeholders.

Suggested change
sed -i 's/^Exec=.*/Exec=nosuckshell/' "$f"
sed -i 's|^Exec=NoSuckShell\([[:space:]]\|$\)|Exec=nosuckshell\1|' "$f"

Copilot uses AI. Check for mistakes.
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.

3 participants