fix(portable): Gemini keys, Telegram pairing UI, and config durability
Improve first-run and channel setup for non-technical users: detect newer Gemini key formats, pin Node 22.22.3, add Control Panel Telegram approve flow, and keep channels/models when config is rewritten. Persist uclaw wizard state via uclaw-meta.json so restarts skip language/persona prompts. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -36,6 +36,20 @@ test('config-server follows the WeChat scaned_but_redirect IDC redirect', () =>
|
||||
);
|
||||
});
|
||||
|
||||
test('config-server exposes Telegram pairing approve without CLI', () => {
|
||||
assert.match(server, /\/api\/telegram\/pairing' && req\.method === 'GET'/);
|
||||
assert.match(server, /\/api\/telegram\/pairing\/approve' && req\.method === 'POST'/);
|
||||
assert.match(server, /approveTelegramPairing/);
|
||||
assert.match(configUi, /approveTelegramPairing/);
|
||||
assert.match(configUi, /\/api\/telegram\/pairing/);
|
||||
});
|
||||
|
||||
test('config-server strips uclaw metadata and preserves channels on write', () => {
|
||||
assert.match(server, /extractUclawMeta/);
|
||||
assert.match(server, /mergeConfigPreserve/);
|
||||
assert.match(server, /function writeConfigFile/);
|
||||
});
|
||||
|
||||
test('config-server writes the Telegram bot token under the field OpenClaw reads (botToken)', () => {
|
||||
// OpenClaw's top-level telegram channel schema only reads `botToken` (the legacy
|
||||
// `token` alias is honored only inside accounts.<id>). Writing flat `token` silently
|
||||
|
||||
Reference in New Issue
Block a user