You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix: content-less Quill meetings no longer re-queue forever. A meeting with
neither minutes nor transcript is marked skipped (data/meeting_skips.jsonl,
2-day age guard) instead of re-failing every batch run as "0 of N, N errors".
Batch result gains a `skipped` count; per-meeting reasons stay in daemon.log.
LLM/provider failures are never skip-marked.
Audit cleanup:
- T11: open_chat default ^+t -> ^!c (first-run, grammar_fix snapshot, dashboard fallback)
- T19: first-run wizard "chat popup" -> "Open chat" (tkinter popup retired in 2.0)
- T13: bootstrap.cmd build banner no longer hardcodes a stale version
- T15: README dashboard tab list 7 -> 8 (added Benchmark)
- T12: seed-vs-schema drift guard test (test_config_seeds)
- T20: audited docs; no stale daemon-log path to change
Version bump 2.1.0 -> 2.1.1 (_version.py, pyproject.toml, installer.iss, README).
SPEC: +V23, +B7, task statuses; CHANGELOG 2.1.1 section.
Co-authored-by: agrechenkov <arseniy.grechenkov@cyclelabs.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,22 @@
2
2
3
3
## Unreleased
4
4
5
+
## 2.1.1
6
+
7
+
**Maintenance.** Fixes a recurring meetings-batch error and clears a batch of small audit/doc items.
8
+
9
+
### Fixed
10
+
11
+
-**Meeting batch no longer retries content-less meetings forever.** A meeting Quill has neither minutes nor a transcript for (aborted/duplicate stub recordings) used to re-queue and re-fail on every batch run, so "Run batch now" and the after-hours scheduler kept reporting errors (e.g. "processed 0 of 5, 5 errors"). Such meetings are now marked skipped (`data/meeting_skips.jsonl`) and excluded from future queues — but only when the meeting is older than 2 days, so a just-ended meeting whose transcript is still syncing keeps retrying. LLM/provider failures are never skip-marked. The batch result now reports a `skipped` count, and per-meeting error reasons remain in `logs/daemon.log`.
12
+
- The `open_chat` hotkey default is now `Ctrl+Alt+C` (`^!c`) everywhere. The retired `Ctrl+Shift+T` (`^+t`) still lingered as a fallback in the first-run wizard, the daemon's config snapshot, and the dashboard hotkey field, so a fresh config could surface the colliding old binding.
13
+
14
+
### Internal / docs
15
+
16
+
- First-run wizard text updated ("Open chat popup" → "Open chat") — the tkinter chat popup was retired in 2.0.
17
+
- Installer bootstrapper (`bootstrap.cmd`) no longer prints a hardcoded stale version in its build banner.
- New seed-vs-schema drift guard test (`test_config_seeds`) freezes the known delta between the shipped first-run seed and `DEFAULT_CONFIG`.
20
+
5
21
## 2.1.0
6
22
7
23
**Meetings, on your own time.** Flowkey can now read your local Quill meetings and answer questions about them on the local model — and an after-hours scheduler pre-computes each meeting's digest (summary / goals / action items) during your idle window, so daytime reads are instant.
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Flowkey is a Windows desktop assistant that adds local-LLM hotkeys for grammar f
4
4
5
5
Everything runs locally through [FastFlowLM](https://fastflowlm.com) (AMD Ryzen AI NPU) or, on machines without the NPU, through [Ollama](https://ollama.com) (CPU/GPU) as a secondary provider. No cloud service, analytics, or telemetry is used by the app.
6
6
7
-
Current version: `2.1.0`
7
+
Current version: `2.1.1`
8
8
9
9
## What's new in 2.1
10
10
@@ -112,7 +112,7 @@ Prefix tip: put the keyword on the first line of your selection — `prompt: rou
112
112
113
113
The dashboard is a web page served by the local daemon — open it from the tray menu ("Dashboard") or browse to `http://127.0.0.1:52650/`. It is loopback-only and works in any browser.
-**Theme:** auto-follows your OS day/night setting; the topbar button cycles auto → light → dark.
117
117
-**Custom modes:** Config → Custom modes lets you add your own `prefix:` commands (id + system prompt). Changes apply to the running app within a second.
118
118
-**Models:** pull models with live progress — pick a suggestion or type any name (on Ollama, anything from the [library](https://ollama.com/library) works); set active, remove. Suggestions are hardware-aware: detected RAM/VRAM caps the model size (e.g. 32 GB RAM → ~4B on the NPU; 8 GB VRAM → ~9B on the GPU), oversized models are hidden, and free-typing one asks before pulling.
T7|~|2.1.0 release held on `release/v2.1.0` → land after user test|V18,V19
82
+
T7|x|2.1.0 released (tag on `7835d4b`); 2.1.1 maintenance batch on `fix/2.1.1-meeting-skip-and-audit`|V18,V19
82
83
T8|.|installer clean-VM smoke test|—
83
84
T9|.|[AUDIT] dead-code: unused daemon helper + 2 AHK wrappers + stale chat-popup config key + obsolete settings ref in test fixture + deprecated install shims|—
84
85
T10|x|[AUDIT-P1] autostart: unify 3 divergent Run keys (daemon/src-installer/pkg-installer) → single HKCU entry|V20,B6
85
-
T11|.|[AUDIT] old open_chat default `^+t` still appears in first-run + web config fallback → replace with `^!c`|B5
86
-
T12|.|[AUDIT] first-run seed thinner than DEFAULT_CONFIG schema → add seed-vs-schema drift guard (compare keys on first-run copy)|—
87
-
T13|.|[AUDIT] installer bootstrap wrapper hardcodes old installer filename → derive from `_version.py`|V18
86
+
T11|x|[AUDIT] old open_chat default `^+t` in first-run + `grammar_fix` snapshot + web config fallback → all `^!c` (2.1.1)|B5
87
+
T12|x|[AUDIT] seed thinner than DEFAULT_CONFIG (deep-merge fills at runtime ∴ harmless) → drift guard freezes known delta in `test_config_seeds` (2.1.1)|—
88
+
T13|x|[AUDIT] `bootstrap.cmd` hardcoded stale `1.6.0` in build banner → version-neutral `<version>` (2.1.1)|V18
B6|2026-07|3 divergent autostart Run keys: daemon HKCU\Run\FastFlowPrompt, `install.ps1` HKCU\Run\Flowkey (different name!), `installer.iss` optional HKLM\Run\Flowkey → toggle blind to other 2, could double-launch|unify on HKCU\Run\FastFlowPrompt everywhere; drop installer.iss HKLM task; uninstall now cleans the HKCU value; guarded by `test_installer_autostart.py`
0 commit comments