halkyon/halkyon_learn_server/migrations
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 3013bc04b3
feat(server): dictionaries, loaded from files and searched
The server now holds dictionaries for everyone: `dictionary_entry` and
`dictionary_source`, reference data owned by no one, never synced. It
loads the dictionary files in its `dictionaries` folder at every start,
those whose SHA-256 changed: in the background, each source replaced in
one transaction, so searches meanwhile find the old entries; a file it
can't read is logged and left out. All of JMdict loads in under half a
minute. On an instance the folder is deploy/dictionaries, mounted
read-only (compose.yaml); the server's README says how.

DictionaryEndpoint (signed in): the dictionaries with their credits; a
search (exact key, exact loose key, key starting with the query, loose
key starting with it, each in the source's order; katakana as hiragana,
macrons written out), some 150-450 ms over all of JMdict; and the
entries with a label, counted and a page at a time (all JLPT N5 words).

The curator now keeps spellings that aren't quite right apart, as
`looseKeys` (romaji with long vowels typed once): "sushi" finds 寿司
before 数詞 (すうし).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-09 18:09:25 +02:00
..
20260916165410927 chore: scaffold the Serverpod 4 build 2026-09-24 15:32:29 +02:00
20260930094729362-studysets feat: step 7's migration, with an index on spaceId 2026-09-30 20:38:15 +02:00
20260930122235111-cards feat(server): cards and their append-only revisions, synced 2026-09-30 20:38:17 +02:00
20260930145136285-reviews feat(server): the review log, synced and append-only 2026-09-30 20:38:19 +02:00
20261001064926911-tree-tags-assets feat: studysets record when they last changed; the library lists them so 2026-10-01 09:59:46 +02:00
20261002035419149-file-allowance Limit how much room people's files take 2026-10-02 06:02:15 +02:00
20261002191122122-notes feat: notes in studysets, synced and merged as cards are, with tags 2026-10-02 21:53:56 +02:00
20261002211346701-learning-paths feat: learning paths in studysets, synced, with progress and tags 2026-10-02 23:31:20 +02:00
20261003110855698-pdf-sources feat: PDF sources: read, take notes and cards from pages, deadlines 2026-10-03 14:40:08 +02:00
20261007205440868-card-buried-at perf: keep a card's burial on its row rather than in the review log 2026-10-09 18:09:17 +02:00
20261008165051407-pdf-position feat: files in an order of one's own, with Reorder beside the tabs 2026-10-09 18:09:22 +02:00
20261008223835206-dictionaries feat(server): dictionaries, loaded from files and searched 2026-10-09 18:09:25 +02:00
migration_registry.txt feat(server): dictionaries, loaded from files and searched 2026-10-09 18:09:25 +02:00