Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
eff787b
fix: Use platform-specific default home directories and shells
inureyes Jan 22, 2026
56db445
fix: Keep shell_request handler alive during PTY session
inureyes Jan 22, 2026
485fabd
fix: Run shell I/O loop directly in handler context
inureyes Jan 22, 2026
c28b093
fix: resolve busy loop in shell I/O by moving sync try_wait outside s…
inureyes Jan 22, 2026
45c8ae2
fix: spawn shell I/O loop as separate task to unblock russh event loop
inureyes Jan 22, 2026
63d0747
debug: add detailed logging to shell I/O to diagnose handle.data() issue
inureyes Jan 22, 2026
a20b0ee
feat: Implement ChannelStream-based shell I/O for PTY sessions
inureyes Jan 23, 2026
957eb44
fix: resolve PTY deadlock by using RwLock instead of Mutex
inureyes Jan 23, 2026
6ad6bd0
refactor: use public russh-cryptovec and russh-util crates
inureyes Jan 23, 2026
ad6ac0c
docs: add upstream PR proposal for russh session fix
inureyes Jan 23, 2026
bf63bc8
fix: add batch processing limit to prevent input starvation
inureyes Jan 23, 2026
14ebdb6
docs: update upstream PR proposal with batch processing
inureyes Jan 23, 2026
5199d95
feat: prepare bssh-russh for crates.io publish
inureyes Jan 24, 2026
0027c02
chore: use version+path for bssh-russh dependency
inureyes Jan 24, 2026
76f73ae
fix: Update tests for session_id behavior and timing tolerance
inureyes Jan 24, 2026
3780556
fix: Increase timing test tolerance to 200ms for CI variability
inureyes Jan 24, 2026
8dbc8c3
fix: Mark timing-based test as ignored for CI
inureyes Jan 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
255 changes: 121 additions & 134 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 10 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
[workspace]
members = [
".",
"crates/bssh-russh",
]

[package]
name = "bssh"
version = "1.7.0"
Expand All @@ -12,7 +18,10 @@ edition = "2021"

[dependencies]
tokio = { version = "1.48.0", features = ["full"] }
russh = "0.56.0"
# Use our internal russh fork with session loop fixes
# - Development: uses local path (crates/bssh-russh)
# - Publishing: uses crates.io version (path ignored)
russh = { package = "bssh-russh", version = "0.56", path = "crates/bssh-russh" }
russh-sftp = "2.1.1"
clap = { version = "4.5.53", features = ["derive", "env"] }
anyhow = "1.0.100"
Expand Down
Empty file added build
Empty file.
Empty file added cargo
Empty file.
Loading