Repository navigation
feat: linux - #6202
Draft
triniwiz wants to merge 20 commits into
Draft
feat: linux#6202triniwiz wants to merge 20 commits into
triniwiz wants to merge 20 commits into
Conversation
- run/build/debug linux on the local machine: the app is the runtime executable from @nativescript/linux staged with its metadata and app/ - logs from the app's stdout/stderr, webpack HMR via SIGUSR1, DevTools on --inspect=<port> - release builds packed as .tar.gz - doctor: Linux host with GTK 4
App_Resources/Linux holds icon.png|svg, an optional app.desktop and app.metainfo.xml (__APP_ID__, __APP_NAME__, __EXEC__) and res:// images. Projects without it get the runtime package's defaults. Builds stage an icon theme (icons/hicolor), <app-id>.desktop and metainfo next to the executable; release tarballs add install.sh for ~/.local.
…t .so) with metadata, ns typings linux
…ay in the runtime package
…typings/linux/index.d.ts
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
…eep App_Resources build inputs out of the package
…atforms/linux/lib/<arch>
This was referenced Nov 7, 2026
Plugins a plugin depends on (MasonKit's @nativescript/font-manager) were skipped: use the production plugins, as iOS does.
Release builds pack app/ with the runtime's ns-bundle (sealed with linux.sourceProtect / --source-protect, per-build key unless --source-protect-key-hex or NS_LINUX_BUNDLE_KEY), unpack linux.bundleUnpack globs, and patch the executable's fuses. Bundling failures fall back to the plain folder; failed source protection fails the build.
…tall.sh Values are escaped per format (desktop entry strings, quoted Exec= with %%, XML), install.sh shell-quotes the name and fills Exec= literally, and the app id must be a reverse-DNS name: an empty id made install.sh rm -rf the whole XDG data dir.
Packaged files drop go-w and GNU tar stores them as root:root, so a root extraction doesn't leave the installed app writable by the builder's uid.
argv is readable by every local user in /proc/<pid>/cmdline; tools without $NS_BUNDLE_KEY_HEX support still get --key-hex.
The runtime only upgrades ws://127.0.0.1:<port>/<id> now; the id comes from /json/list (older runtimes without one keep the bare URL).
Command lines show up in process lists and audit logs; tools that don't document NS_BUNDLE_KEY_HEX in --help still get --key-hex.
ns run/debug now installs the staged <app-id>.desktop and icons into $XDG_DATA_HOME, so the shell matches the window to the app and shows its name and icon (dock, "not responding" dialog). Entries it didn't write, such as one from install.sh, are left alone; release stages are skipped.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for the new Linux runtime (GTK 4).
Part of NativeScript/NativeScript#27