Commit Graph
34 Commits
Author SHA1 Message Date
Kharec 5e7ae97b57 fix: make atomic saves durable and preserve the file
writeAtomic renamed the temporary file over the target without syncing
either: on ext4 with delayed allocation a power cut just after a save
could leave a zero-length script, the exact failure autosave exists to
prevent. Sync the temp file before the rename and the directory after
it. While here, keep an existing file's permissions instead of forcing
0o644, and resolve symlinks first so saving through a link replaces
the file it points to, not the link itself (Dropbox/dotfile setups).
2026-10-15 17:44:56 +02:00
Kharec c0a52a9040 fix: protect the dirty flag with an atomic.Bool
SetDirty runs on a Wails call goroutine while the GTK close handler
reads the flag, with no synchronisation: an edit landing while a save
finished could make the close confirmation unreliable. The spellMu
comment already documents the goroutine-per-call convention; the flag
that guards against losing work deserves the same care.
2026-10-15 17:43:56 +02:00
KharecandClaude Opus 5.5 643adffb12 chore: release 1.4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.4
2026-10-15 16:41:35 +02:00
KharecandClaude Opus 5.5 b6b58c7aca chore: update source-map-js to fix a high severity advisory
GHSA-68fv-2mgg-jv7q: event-loop denial of service through indexed
source-map section offsets. Build-time dependency only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:41:27 +02:00
Kharec 839e9291d6 feat: resumable download and cancellable load of the translation model
Downloading the 300 MB model restarted from zero after any failure and
hung forever on a stalled connection. Download into a .partial file
that survives interruptions, resume it with a Range request (falling
back to a fresh download when the server cannot), skip files already
verified, and abort when nothing arrives for 30 s. A model directory
only counts as installed when every file has its pinned size, so a
truncated model is offered for download again instead of failing to
load.

The model load held the translation mutex, so Cancel did nothing for
the seconds it takes to read 300 MB. Load without holding the lock,
make marian.Load context-aware, and let CancelTranslation wait for the
task to wind down so a new one can start at once. The idle release
timer re-arms when it fires while a download holds the task slot,
instead of never freeing the model.
2026-10-13 18:17:53 +02:00
Kharec 8181c6e885 docs: update readme 2026-10-13 18:15:14 +02:00
Kharec 082152fc31 chore: update changelog 2026-10-13 18:15:10 +02:00
Kharec b84284b60c docs: update agent 2026-10-13 18:15:05 +02:00
Kharec 7872403e11 docs: update readme 2026-10-13 16:52:13 +02:00
Kharec e9eb2ff36a docs: update agent 1.3 2026-10-01 10:17:54 +02:00
Kharec 60032ce490 chore: update chanelchore: update changelog 2026-10-01 10:17:50 +02:00
Kharec 5e1dc1cace docs: update readme 2026-10-01 10:16:05 +02:00
Kharec ed6704b97e feat: implement translation 2026-10-01 10:16:01 +02:00
Kharec 803dc3328a feat: main translation script 2026-10-01 10:15:53 +02:00
Kharec 9987d7e1ab feat: update frontend to integrate translation 2026-10-01 10:15:47 +02:00
Kharec 49df7f36a1 feat: refresh screenshots 2026-10-01 10:15:34 +02:00
Kharec cb356ff8c5 feat: add a translate stack 2026-10-01 10:15:28 +02:00
Kharec 5cf16588c1 chore: update changelog 1.2 2026-09-29 14:26:51 +02:00
Kharec fd90f9edaf ci: update ignore 2026-09-29 14:25:53 +02:00
Kharec da744d51c6 feat: add pkgbuild 2026-09-29 14:25:50 +02:00
Kharec d8334b1cfd feat: update version 2026-09-29 14:25:46 +02:00
Kharec b652cd88e8 docs: update readme 2026-09-29 14:25:43 +02:00
Kharec 89dafc010e chore: update changelog 2026-09-29 14:25:39 +02:00
Kharec 89a8f0b49b docs: update agent 2026-09-29 14:25:35 +02:00
Kharec 8cb406dea1 feat: icon 1.1 2026-09-29 14:16:04 +02:00
Kharec 110339ea41 feat: update screenshots 2026-09-29 14:16:00 +02:00
Kharec d5c8c65fdf feat: integrate icon 2026-09-29 14:15:54 +02:00
Kharec 9203c3c6b6 design: new icon 2026-09-29 14:15:48 +02:00
Kharec 5e2e71db9d docs: update readme 2026-09-29 14:15:42 +02:00
Kharec 825995c112 feat: make install 2026-09-29 14:15:38 +02:00
Kharec 23c97bdbc5 chore: update changelog 2026-09-29 14:15:26 +02:00
Kharec 54a6565e64 docs: update agents.md 2026-09-29 14:15:22 +02:00
Kharec 664527182d feat: first release ! 2026-09-28 14:21:06 +02:00
Kharec 77a333e8d9 Initial commit 2026-09-28 14:12:14 +02:00