feat(tui): persist model tier selection and fix formatting

Persist /model tier choice to ~/.local/share/flynn/preferences.json so
it survives restarts. Decode HTML entities (e.g. ') in markdown
renderer output. Suppress noisy logger.info and punycode deprecation
warnings in TUI startup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
William Valentin
2026-02-10 12:23:12 -08:00
parent 50471d63af
commit 411c6d84a2
8 changed files with 126 additions and 13 deletions
+9
View File
@@ -97,6 +97,15 @@ export async function startDaemon(config: Config): Promise<DaemonContext> {
model: config.audio.transcription_model,
};
const modelRouter = createModelRouter(config);
// Restore persisted model tier
const { loadPreferences, savePreference } = await import('../preferences.js');
const prefs = loadPreferences(dataDir);
if (prefs.modelTier) {
modelRouter.setTier(prefs.modelTier as import('../models/router.js').ModelTier);
}
modelRouter.setOnTierChange((tier) => savePreference(dataDir, 'modelTier', tier));
const systemPrompt = loadSystemPrompt(config, skillRegistry);
// ── Gateway & Channels ──