Skip to content

cover non-dumpable sandbox startup - #105

Merged
zhenthebuilder merged 2 commits into
mainfrom
fix/non-dumpable-sandbox-startup
Sep 11, 2026
Merged

zhenthebuilder merged 2 commits into
mainfrom
fix/non-dumpable-sandbox-startup

Conversation

@zhenthebuilder

Copy link
Copy Markdown
Contributor

Avoid unnecessary cwd and dirfd resolution for absolute open/openat paths and add regression coverage. The current regression suite still has failures; this branch is not ready to merge.

Assisted-by: Replit

Avoid unnecessary cwd and dirfd resolution for absolute open/openat paths and add regression coverage. The current regression suite still has failures; this branch is not ready to merge.

Assisted-by: Replit
Complete the trusted AppArmor-on-exec setup before tracing the child so inherited non-dumpability does not block shell startup. Keep dumpability and file enforcement unchanged, replace the insufficient absolute-path workaround, and add shared-setup regression coverage with isolated test fixtures.

Assisted-by: Replit
@zhenthebuilder
zhenthebuilder merged commit 2c1b59c into main Sep 11, 2026
13 checks passed
@zhenthebuilder
zhenthebuilder deleted the fix/non-dumpable-sandbox-startup branch September 11, 2026 20:42
@zhenthebuilder zhenthebuilder mentioned this pull request Sep 14, 2026
zhenthebuilder added a commit that referenced this pull request Sep 14, 2026
## What changed

Bump `@replit/ruspty` from `3.7.0` to `3.7.1` in the root package,
lockfile, and all three platform packages.

This is a metadata-only release bump following
#105. No runtime code, dependency
resolutions, or CI configuration changes.

## Why

Publish the merged non-dumpable sandbox startup fix so downstream
consumers can upgrade to a released package.

## Verification

- Verified that the diff changes only six release-version fields across
five files, matching the previous release-bump structure.
- `cargo test --locked -- --test-threads=1`: 7 passed.
- `napi build --platform --release` and `npm run build:wrapper`: passed.
- `vitest run tests/syntheticEOF.test.ts`: 9 passed.
- Native PTY smoke test with a non-dumpable Node parent: all 6 read
commands succeeded and all 4 write/delete attempts were denied.
- `npm pack --dry-run --ignore-scripts --json`: passed; package version
is `3.7.1`, with the wrapper, type declarations, and loader included.
- Prettier checks, `cargo fmt -- --check`, and `git diff --check`:
passed.

Local validation used Node 20.19.0 and Rust/Cargo 1.97 because the
checked-in Nix toolchain is too old for an already-resolved dependency.
The initial parallel Rust test run failed the existing file-descriptor
test; the serial run passed all seven tests. The full JavaScript suite
was not rerun for this metadata-only bump: earlier testing of the
unchanged source encountered Nix shell PATH failures on both the
baseline and fix, plus an unresolved intermittent write test failure.
Cross-platform CI results must be checked separately.

## Rollout and rollback

After a maintainer merges this PR, the existing main-branch CI workflow
builds and tests the platform packages before publishing to npm via
trusted publishing. Confirm the root package and all three platform
packages are available at `3.7.1` before updating downstream consumers.

This PR does not publish a package, deploy a consumer, or change any
running process by itself. Before publication, the metadata bump can be
reverted. After publication, do not reuse or overwrite `3.7.1`;
downstream consumers can remain on or revert to `3.7.0`, and any release
correction needs a new version.

~ written by ⠕ Replit
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