mirror of
https://github.com/delibae/claude-prism.git
synced 2026-09-07 08:26:24 +00:00
Windows (#101): Add explicit FS scopes to each permission in default.json so Tauri's scope validator accepts Windows paths. Remove silent .catch(() => {}) on mkdir/writeTextFile so errors surface via toast instead of failing silently. Replace all .split("/").pop() with .split(/[/\\]/).pop() (14 occurrences) for correct path parsing on Windows. Linux (#100): Add ELF linker version script (symbols.map) that hides statically linked ICU/HarfBuzz/FreeType/Fontconfig/Graphite2 symbols from the dynamic symbol table. This prevents symbol collisions with WebKit2GTK's own dynamic copies of these libraries, which caused a segfault at startup. The static linking introduced in v1.0.10 to fix #91 is preserved—ICU remains embedded in the binary so it works across distros. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
50 lines
974 B
Text
50 lines
974 B
Text
/* Version script to hide statically linked library symbols.
|
|
*
|
|
* Prevents symbol collisions between our statically linked
|
|
* ICU/HarfBuzz/FreeType/Fontconfig (from vcpkg, used by Tectonic)
|
|
* and the dynamically linked versions used by WebKit2GTK at runtime.
|
|
*
|
|
* Without this, the ELF dynamic linker resolves WebKit2GTK's ICU
|
|
* calls to our static symbols (different version), causing a segfault
|
|
* at startup. Fixes #100; preserves #91 fix (static ICU = no
|
|
* libicuuc.so.70 not-found error on newer distros).
|
|
*/
|
|
{
|
|
local:
|
|
/* ICU4C */
|
|
u_*;
|
|
ucnv_*;
|
|
ucol_*;
|
|
ures_*;
|
|
udata_*;
|
|
ucal_*;
|
|
udat_*;
|
|
unum_*;
|
|
uset_*;
|
|
ustr_*;
|
|
ubidi_*;
|
|
ubrk_*;
|
|
uidna_*;
|
|
uloc_*;
|
|
unorm_*;
|
|
unorm2_*;
|
|
utrans_*;
|
|
icu_*;
|
|
UCNV_*;
|
|
|
|
/* HarfBuzz */
|
|
hb_*;
|
|
|
|
/* FreeType */
|
|
FT_*;
|
|
ft_*;
|
|
|
|
/* Fontconfig */
|
|
Fc*;
|
|
|
|
/* Graphite2 */
|
|
gr_*;
|
|
|
|
/* libpng (often pulled in by FreeType) */
|
|
png_*;
|
|
};
|