objcopy cannot modify symbols inside .a archives directly. Extract
individual .o files with ar, globalize gr_* symbols in each, then
repack the archive.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
vcpkg builds graphite2 with -fvisibility=hidden, making gr_* API
symbols invisible to the linker. Use objcopy --globalize-symbol to
make them visible again before the Tauri build.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tectonic's dep_support requires graphite2 at the vcpkg path.
Replace vcpkg's hidden-visibility graphite2 with symlinks to
the system libgraphite2 (from libgraphite2-dev) which exports
all symbols properly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
vcpkg builds graphite2 with hidden symbol visibility, causing
undefined symbol errors at link time. Remove vcpkg's graphite2
before building so the linker falls back to the system
libgraphite2-dev which exports all symbols properly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The graphite2 hidden symbol issue is caused by fresh vcpkg builds,
not by tectonic version. The old v1 cache had a working graphite2
build. Restore the cache key to reuse it.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tauri-plugin-dialog 2.6.0 → 2.7.1, tauri-plugin-fs 2.4.5 → 2.5.1
to match their NPM counterparts and fix version mismatch build error.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previous commit reverted Cargo.lock too far, bringing tauri back to
2.10.3 which mismatches NPM @tauri-apps/api 2.11.0. This commit
keeps tauri at 2.11.1 while reverting tectonic to 0.15.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tectonic 0.16 causes undefined hidden symbol gr_label_destroy on
Linux due to graphite2 visibility issues in vcpkg builds. Revert to
tectonic 0.15 which works correctly with the existing vcpkg setup.
Security fixes retained:
- rand 0.8.5 → 0.8.6, 0.9.2 → 0.9.4
Workflow: revert to x64-linux triplet with libgraphite2-dev, fresh
cache key v3.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Revert the custom static triplet (didn't fix the issue) and instead
install libgraphite2-dev via apt. The vcpkg-built graphite2 marks
gr_label_destroy as a hidden symbol, but tectonic 0.16's bridge
crate references it. The system graphite2 package exports it properly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
tectonic's vcpkg dep_support looks for packages under the default
x64-linux triplet, but we install them under x64-linux-static.
Set VCPKGRS_TRIPLET=x64-linux-static so the Rust vcpkg crate
finds libpng and other dependencies in the correct location.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The default x64-linux triplet builds dynamic libraries, causing
graphite2's gr_label_destroy symbol to be hidden and unlinkable
after tectonic 0.15 → 0.16 upgrade.
Switch to a custom x64-linux-static triplet (static library linkage)
to match the approach used by macOS and Windows builds.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Force fresh vcpkg rebuild on Linux CI to resolve graphite2
gr_label_destroy linker error after tectonic 0.15 → 0.16 upgrade.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Rust tauri crate was bumped to 2.11.1 in PR #146 but the NPM
@tauri-apps/api package stayed at 2.10.1, causing the Tauri build to
fail with a version mismatch error.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update all version references to 1.1.7. Fix TypeScript errors in test
mocks caused by tauri 2.11 changing fs API signatures from string to
string | URL.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add drawSelection() so vim visual mode selections render with a visible
background. Without this extension, the .cm-selectionBackground CSS
rule had no elements to style.
Adds the ability to hide/show the right-side PDF preview pane:
- Cmd+\ / Ctrl+\ keyboard shortcut
- Floating button at the editor's bottom-right corner (icon switches
between PanelRightCloseIcon and PanelRightOpenIcon based on state)
- Editor expands to fill freed space when preview is hidden
- Preview defaults to visible (no behaviour change for existing users)
State is held in a small Zustand store (preview-store.ts).
Co-authored-by: opalsaints <242018735+opalsaints@users.noreply.github.com>