From ae62cbf7cd768a54936e2f9ca679ef25b6482d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20Bene=C5=A1?= Date: Sun, 18 Oct 2026 04:45:43 +0200 Subject: [PATCH] LLeMbas Desktop 0.5.0, carrying LLeMbas CLI 1.3.0 Co-Authored-By: Claude Fable 5.1 --- CHANGELOG.md | 6 ++++++ lembas-cli.version | 2 +- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- tokens.lock.json | 6 +++--- ui/tokens.css | 46 +++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 57 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e740a14..8438212 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ All notable changes to LLeMbas Desktop. The format follows ## [Unreleased] +## [0.5.0] — 2026-10-18 + +Carries LLeMbas CLI 1.3.0: a plan in every agent chat, the instance's instructions and +knowledge scope on the device, Edit and Regenerate on agent chats. The app's look comes from +the server's tokens and follows the page's theme; its own pages speak nine languages. + ### Changed - The app's own pages take their look from the server's `tokens.css`, copied by diff --git a/lembas-cli.version b/lembas-cli.version index 26aaba0..f0bb29e 100644 --- a/lembas-cli.version +++ b/lembas-cli.version @@ -1 +1 @@ -1.2.0 +1.3.0 diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index c3ec135..e7b49b0 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2064,7 +2064,7 @@ checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" [[package]] name = "llembas-desktop" -version = "0.4.0" +version = "0.5.0" dependencies = [ "gtk", "libc", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 833b85d..a1cc4dd 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "llembas-desktop" -version = "0.4.0" +version = "0.5.0" description = "LLeMbas Desktop: your LLeMbas server in a window, with the agent on this computer" authors = ["Jaroslav Beneš"] license = "MIT" diff --git a/tokens.lock.json b/tokens.lock.json index 2878250..518aabc 100644 --- a/tokens.lock.json +++ b/tokens.lock.json @@ -1,5 +1,5 @@ { - "tag": "HEAD", - "commit": "bae579b69182554a2677b5617f11c11decd280db", - "sha256": "a6ad29c609dca02430edf6cd67c30bc8e5bdd1d23f6dc275a8b3d764e6254d52" + "tag": "v1.3.0", + "commit": "61cf4c267c983d5895dba3a609f90ae1efd891a0", + "sha256": "aff95291186b57693469cf1f80452fd9a9e460aa360d45ed94c2f4f979e10c6c" } diff --git a/ui/tokens.css b/ui/tokens.css index 0ec374b..bdefc38 100644 --- a/ui/tokens.css +++ b/ui/tokens.css @@ -1,4 +1,4 @@ -/* LLeMbas HEAD (bae579b69182) static/css/tokens.css, copied by scripts/fetch-tokens.sh: do not edit. +/* LLeMbas v1.3.0 (61cf4c267c98) static/css/tokens.css, copied by scripts/fetch-tokens.sh: do not edit. The font-face rules are left out; the app bundles no font. */ /* Design tokens. @@ -40,6 +40,9 @@ --leading-relaxed: 1.75; /* --- Space (4px scale) ------------------------------------------------ */ + /* Half a step: the gap between the lines of one tool result, the bleed of a + mention's highlight. The one place a 2px space is allowed to be named. */ + --sp-half: 0.125rem; --sp-1: 0.25rem; --sp-2: 0.5rem; --sp-3: 0.75rem; @@ -130,6 +133,45 @@ --thread-max-width: 48rem; --header-height: 3.5rem; + /* --- The sizes of things ------------------------------------------------- + Caps and floors that used to be a literal rem in seventy places across + three stylesheets -- 20, 22, 24, 26 -- with no way to tell which of them + meant the same thing. A handful of roles instead, and a component takes the + one that names what it is: a theme can then widen every menu at once, and + two popovers cannot drift a rem apart by accident. Control heights are + `--control-h`; these are the boxes around them. */ + --w-field-xs: 8rem; /* a short input: a count, a duration */ + --w-field-sm: 10rem; /* a short select's floor */ + --w-field: 14rem; /* a capped field, a label column, a small menu */ + --w-chip: 16rem; /* a name that truncates: a model, a path */ + --w-menu-sm: 20rem; /* a compact popover, an attachment chip */ + --w-menu: 24rem; /* a popover, a results list, a card's column */ + --w-menu-lg: 28rem; /* a wide popover */ + --w-dialog: 34rem; /* a dialog with a list in it */ + --w-prose-sm: 32rem; /* a short reading measure: an empty state */ + --w-prose: 44rem; /* a reading measure: a lede, a card grid */ + --h-list: 22rem; /* a scrolling list or menu */ + --h-block: 24rem; /* a scrolling block inside a card */ + --h-block-lg: 26rem; /* a reasoning body, a preview */ + --h-media: 20rem; /* a picture in the transcript */ + + /* The live reply's two one-line rows -- the waiting row and the metrics -- + keep this height whether or not they have anything in them, so their + content arriving or leaving never moves the transcript. One line of the + small type. */ + --row-h: calc(var(--text-xs) * var(--leading-normal) + 2 * var(--sp-2)); + + /* A dot that marks state: unsaved, unread. */ + --dot-size: 0.375rem; + /* The streaming caret: a thin bar the height of a line. */ + --caret-bar-w: 0.45rem; + /* The drag handle on a panel's edge: how wide, and how far it overhangs the + panel so the border itself is inside the target. */ + --resize-w: 9px; + --resize-overhang: 3px; + /* A faded control: something present but not the point. */ + --opacity-dim: 0.45; + /* What `--header-height` does at the top of the shell, this does at the bottom. The sidebar's footer and the composer sit either side of the same vertical line and both are content-sized, so without this they end at @@ -186,6 +228,8 @@ means a theme that wants a heavier border gets a heavier focus ring too, which is two decisions tied together by a coincidence. */ --outline-w: 2px; + /* How far the focus ring stands off the box it rings. */ + --outline-offset: 2px; /* --- Touch -------------------------------------------------------------- A control a thumb has to hit is 44px. `--control-h` is 2.25rem, which is