Commit Graph
9 Commits
Author SHA1 Message Date
Steffen Becker f1b63c722c feat: the build ships its dependency licenses and its commit
The minifier strips every legal comment, so the bundle reached users without
the notice MIT and Apache-2.0 require to travel with a copy. collect-licenses
quotes all 97 bundled packages into public/licenses.txt, which deploys like the
font and dictionary licenses do. The About dialog's version now carries the
short commit, so a user of the hosted app can identify the source it was built
from - what AGPL 13 asks for and a fixed 0.1.0 could not answer.
2026-08-18 16:44:42 +02:00
Steffen Becker 3ae8d27b26 fix: the build runs under a subpath, not only at the domain root
base './' emits relative asset URLs; the manifest, the service-worker
registration and sw.js's precache resolve against their own location;
the four hardcoded /image literals turn relative. Verified headless
under a simulated /edentext/ subpath: boots, types, SW scope correct.
2026-08-17 18:59:48 +02:00
Steffen Becker 82993aeda3 chore: coverage report via npm run test:coverage
@vitest/coverage-v8 with include over src/ so untested files show up
at 0%; text summary plus the browsable coverage/ HTML (gitignored).
2026-08-15 23:01:50 +02:00
Steffen Becker b98cc550c3 fix: the suite finds a localStorage again
Node 26 defines its own `localStorage` global — undefined unless the process is
given --localstorage-file — and it shadows the one jsdom installs. Every module
that reads storage at import time threw before a test could run, so 37 of 65
files failed to collect. A setup file defines the property when it is missing.
2026-08-12 01:20:40 +02:00
Steffen Becker ea39dde58b feat: a tab lands on the file's own grid, and can draw its leader
The default tab interval was fixed at 1.25cm, so a file's own
w:defaultTabStop / style:tab-stop-distance was ignored and the DOCX
export wrote 1.25 back over Word's 1.27. It is a document setting now.

A stop can also carry the character it repeats across its gap. odf-kit
has no leader option and mints one automatic style per option set, so
the leader rides style:type behind a sentinel — matching on position
and alignment alone gave every stop at 6cm the same leader, which
LibreOffice drew back plain as day.
2026-08-08 14:40:26 +00:00
Steffen Becker 7faa16c89d feat: add german spell check 2026-07-05 14:15:30 +02:00
Steffen Becker fd2683a01b test: set up basic tests 2026-06-24 23:07:18 +02:00
Steffen Becker 9082c05526 feat: app info view 2026-06-24 21:49:59 +02:00
Steffen Becker 9596814753 chore: set up Vite + Svelte 5 TypeScript project 2026-05-25 20:42:54 +02:00