Skip to content

Commit 9e3272b

Browse files
committed
fix: guard g_headless_mode extern under PLUG_ENABLE_HEADLESS_MODE to resolve linker undefined reference on production Linux builds
1 parent 7c2bb11 commit 9e3272b

2 files changed

Lines changed: 15 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22

33
---
44

5-
## [0.1.2a] - 2026-07-06
5+
## [0.1.2a] - 2026-07-07
66

77
### Added
8-
* Shared WASM compilation module `tests/build_utils.py` to enforce allow-undefined flags globally.
8+
* Headless GTK stdin loop on Linux (`main_l.cpp`) enabling CI integration and E2E testing without a display server.
9+
* Shared WASM compilation module `tests/build_utils.py` to enforce `--allow-undefined` linker flags globally across all plugin builds.
910
* Automated target binary copying and caching for Linux production builds.
10-
* Dependabot integration under `.github/dependabot.yml` tracking Rust cargo packages and GitHub Actions.
11+
* Dependabot integration under `.github/dependabot.yml` tracking Rust cargo and GitHub Actions ecosystems.
1112
* Custom structured issue templates (Bug Report, Feature Request, Plugin Submission) and a Pull Request template in `.github/`.
1213

1314
### Fixed
14-
* Stale cache build errors by unlinking old host binaries if `pterm_hash.txt` has changed.
15-
* Registry trusted validation check by trimming white-spaces inside the compile-time `TRUSTED_PLUGIN_HASHES` comparison array.
16-
* Error reporting inside `verify_production_binary_clean` to distinguish missing binaries from symbol leaks.
15+
* Linux CI cross-compilation failure (`x86_64-pc-windows-gnu` target) — removed orphaned `.cargo/config.toml` that forced incorrect target resolution on Linux runners.
16+
* Stale host binary cache build errors: old binaries are unlinked when `pterm_hash.txt` has changed.
17+
* Registry trust validation check by trimming whitespace inside compile-time `TRUSTED_PLUGIN_HASHES` array comparisons.
18+
* Error reporting inside `verify_production_binary_clean` to distinguish missing binaries from forbidden-symbol leaks.
19+
* Unused Windows-only `CommandExt` import in `plugin_mgr.rs` correctly scoped under `#[cfg(windows)]` to prevent cross-platform compiler warnings.
20+
* Improved plugin sandbox security by integrating plugin installation with global integrity verification and removing unsafe `eval()` in plugin initialization.
21+
* Fixed Linux CI build errors caused by MSVC-specific `/DELAYLOAD` pragmas in linker commands.
1722

1823
---
1924

plug.app/src/linux/api/intf/main_l.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ std::vector<TabState> g_tabs;
3737
int g_active_tab = 0;
3838
std::mutex g_mutex;
3939

40+
#ifdef PLUG_ENABLE_HEADLESS_MODE
4041
extern "C" bool g_headless_mode;
42+
#else
43+
static constexpr bool g_headless_mode = false;
44+
#endif
4145
static std::thread g_cmd_thread;
4246
static std::mutex g_cmd_mutex;
4347
static std::condition_variable g_cmd_cv;

0 commit comments

Comments
 (0)