Skip to content

Commit 04661bf

Browse files
v0.7.1: Linux GLIBC 2.35 floor + scroll main window on short screens
Two user-reported issues. === GLIBC too new (reported via twitter) === Our linux-amd64 and linux-arm64 gnu builds were compiled on ubuntu-latest (24.04, GLIBC 2.39), which means the resulting binaries refuse to load on anything older: ./mhrv-rs: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.39' not found (required by ./mhrv-rs) Users on Ubuntu 22.04 / Mint 21 (GLIBC 2.35) — the typical user in Iran where this project's target audience lives, and where they can't dist-upgrade because they're behind exactly the kind of network restriction this tool exists to bypass — could not run the gnu builds at all. Fix: pin the linux-gnu matrix entries to ubuntu-22.04 runners. GLIBC 2.35 is now the minimum; binaries load on Ubuntu 22.04, Mint 21, Debian 12, Fedora 36+, RHEL 9+ and everything newer. Users on older distros (Ubuntu 20.04, CentOS 7) can still use the static musl builds (mhrv-rs-linux-musl-amd64.tar.gz et al.) which have no GLIBC dependency at all. === Short-screen laptops — main window content clipped (PR #6) === Co-authored fix from @v4g4b0nd-0x76 in PR #6 (manually applied to avoid pulling in 400 lines of unrelated cargo-fmt churn): - Wrap the CentralPanel body in ScrollArea::vertical() .auto_shrink([false; 2]) so everything stays reachable on short screens. - Lower the min_inner_size from [420, 540] to [420, 400] so laptops with ~13" screens at default scaling can shrink the window without clipping UI elements. Closes #6. Co-authored-by: v4g4b0nd-0x76 <v4g4b0nd-0x76@users.noreply.github.com>
1 parent a5737d5 commit 04661bf

4 files changed

Lines changed: 19 additions & 5 deletions

File tree

.github/workflows/release.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,17 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
include:
17+
# Pin to Ubuntu 22.04 (GLIBC 2.35) so the glibc builds run on any
18+
# distro that's ≥ Ubuntu 22.04 / Debian 12 / Mint 21 / Fedora 36.
19+
# ubuntu-latest points at 24.04 (GLIBC 2.39) which bakes in a
20+
# too-new GLIBC symbol requirement and rejects loading on older
21+
# distros. For users behind tight internet who literally can't
22+
# dist-upgrade, this matters.
1723
- target: x86_64-unknown-linux-gnu
18-
os: ubuntu-latest
24+
os: ubuntu-22.04
1925
name: mhrv-rs-linux-amd64
2026
- target: aarch64-unknown-linux-gnu
21-
os: ubuntu-latest
27+
os: ubuntu-22.04
2228
name: mhrv-rs-linux-arm64
2329
- target: x86_64-apple-darwin
2430
os: macos-latest

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mhrv-rs"
3-
version = "0.7.0"
3+
version = "0.7.1"
44
edition = "2021"
55
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
66
license = "MIT"

src/bin/ui.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fn main() -> eframe::Result<()> {
3939
let options = eframe::NativeOptions {
4040
viewport: egui::ViewportBuilder::default()
4141
.with_inner_size([WIN_WIDTH, WIN_HEIGHT])
42-
.with_min_inner_size([420.0, 540.0])
42+
.with_min_inner_size([420.0, 400.0])
4343
.with_title(format!("mhrv-rs {}", VERSION)),
4444
..Default::default()
4545
};
@@ -409,6 +409,13 @@ impl eframe::App for App {
409409
egui::CentralPanel::default().show(ctx, |ui| {
410410
ui.style_mut().spacing.item_spacing = egui::vec2(8.0, 6.0);
411411

412+
// Wrap the whole central panel in a vertical scroll area so the
413+
// form + stats + log panel stay accessible on short screens
414+
// (~13" laptops at default scaling). Nested scroll areas still
415+
// work fine within this outer scroller.
416+
egui::ScrollArea::vertical()
417+
.auto_shrink([false; 2])
418+
.show(ui, |ui| {
412419
ui.horizontal(|ui| {
413420
ui.label(egui::RichText::new(format!("mhrv-rs {}", VERSION))
414421
.size(16.0));
@@ -736,6 +743,7 @@ impl eframe::App for App {
736743
self.toast = None;
737744
}
738745
}
746+
}); // end ScrollArea
739747
});
740748
}
741749
}

0 commit comments

Comments
 (0)