fix: migrate legacy state dirs

This commit is contained in:
Peter Steinberger
2026-01-30 04:26:00 +01:00
parent 67918dc41b
commit 9886fd1a5a
4 changed files with 14 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "openclaw",
"version": "2026.1.29-beta.3",
"version": "2026.1.29-beta.4",
"description": "WhatsApp gateway CLI (Baileys web) with Pi RPC agent",
"type": "module",
"main": "dist/index.js",

View File

@@ -64,7 +64,7 @@ const TAGLINES: string[] = [
"Shell yeah—I'm here to pinch the toil and leave you the glory.",
"If it's repetitive, I'll automate it; if it's hard, I'll bring jokes and a rollback plan.",
"Because texting yourself reminders is so 2024.",
"WhatsApp, but make it ✨engineering✨.",
"Your inbox, your infra, your rules.",
'Turning "I\'ll reply later" into "my bot replied instantly".',
"The only crab in your contacts you actually want to hear from. 🦞",
"Chat automation for people who peaked at IRC.",
@@ -72,14 +72,16 @@ const TAGLINES: string[] = [
"IPC, but it's your phone.",
"The UNIX philosophy meets your DMs.",
"curl for conversations.",
"WhatsApp Business, but without the business.",
"Meta wishes they shipped this fast.",
"End-to-end encrypted, Zuck-to-Zuck excluded.",
"The only bot Mark can't train on your DMs.",
"Less middlemen, more messages.",
"Ship fast, log faster.",
"End-to-end encrypted, drama-to-drama excluded.",
"The only bot that stays out of your training set.",
'WhatsApp automation without the "please accept our new privacy policy".',
"Chat APIs that don't require a Senate hearing.",
"Because Threads wasn't the answer either.",
"Your messages, your servers, Meta's tears.",
"Meta wishes they shipped this fast.",
"Because the right answer is usually a script.",
"Your messages, your servers, your control.",
"OpenAI-compatible, not OpenAI-dependent.",
"iMessage green bubble energy, but for everyone.",
"Siri's competent cousin.",
"Works on Android. Crazy concept, we know.",

View File

@@ -64,13 +64,13 @@ export function randomToken(): string {
export function printWizardHeader(runtime: RuntimeEnv) {
const header = [
"▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄",
"▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓",
"█████░█████░█████░█░░░█░█████░█░░░░░█████░█░░░█",
"█░░░█░█░░░█░█░░░░░██░░█░█░░░░░█░░░░░█░░░█░█░░░█",
"█░░░█░█████░████░░█░█░█░█░░░░░█░░░░░█████░█░█░█",
"█░░░█░█░░░░░█░░░░░█░░██░█░░░░░█░░░░░█░░░█░██░██",
"█████░█░░░░░█████░█░░░█░█████░█████░█░░░█░█░░░█",
"▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀",
"▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓",
" 🦞 FRESH DAILY 🦞 ",
" ",
].join("\n");

View File

@@ -16,10 +16,10 @@ export function resolveIsNixMode(env: NodeJS.ProcessEnv = process.env): boolean
export const isNixMode = resolveIsNixMode();
const LEGACY_STATE_DIRNAMES = [] as const;
const LEGACY_STATE_DIRNAMES = [".clawdbot", ".moltbot", ".moldbot"] as const;
const NEW_STATE_DIRNAME = ".openclaw";
const CONFIG_FILENAME = "openclaw.json";
const LEGACY_CONFIG_FILENAMES = [] as const;
const LEGACY_CONFIG_FILENAMES = ["clawdbot.json", "moltbot.json", "moldbot.json"] as const;
function legacyStateDirs(homedir: () => string = os.homedir): string[] {
return LEGACY_STATE_DIRNAMES.map((dir) => path.join(homedir(), dir));