Compare commits
1 Commits
main
...
fix/update
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8fb0316e46 |
@@ -35,15 +35,20 @@ export async function update() {
|
|||||||
// binary (without it).
|
// binary (without it).
|
||||||
if (getAPIProvider() !== 'firstParty') {
|
if (getAPIProvider() !== 'firstParty') {
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
chalk.yellow('Auto-update is not available for third-party provider builds.\n') +
|
chalk.yellow(
|
||||||
'To update, pull the latest source from the repository and rebuild:\n' +
|
`Auto-update is not available for third-party provider builds.\n`,
|
||||||
' git pull && bun install && bun run build\n',
|
) +
|
||||||
|
`Current version: ${MACRO.DISPLAY_VERSION}\n\n` +
|
||||||
|
`To update, reinstall from npm:\n` +
|
||||||
|
chalk.bold(` npm install -g ${MACRO.PACKAGE_URL}@latest`) + '\n\n' +
|
||||||
|
`Or, if you built from source, pull and rebuild:\n` +
|
||||||
|
chalk.bold(' git pull && bun install && bun run build') + '\n',
|
||||||
)
|
)
|
||||||
return
|
await gracefulShutdown(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
logEvent('tengu_update_check', {})
|
logEvent('tengu_update_check', {})
|
||||||
writeToStdout(`Current version: ${MACRO.VERSION}\n`)
|
writeToStdout(`Current version: ${MACRO.DISPLAY_VERSION}\n`)
|
||||||
|
|
||||||
const channel = getInitialSettings()?.autoUpdatesChannel ?? 'latest'
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? 'latest'
|
||||||
writeToStdout(`Checking for updates to ${channel} version...\n`)
|
writeToStdout(`Checking for updates to ${channel} version...\n`)
|
||||||
@@ -123,9 +128,14 @@ export async function update() {
|
|||||||
if (diagnostic.installationType === 'development') {
|
if (diagnostic.installationType === 'development') {
|
||||||
writeToStdout('\n')
|
writeToStdout('\n')
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
chalk.yellow('Warning: Cannot update development build') + '\n',
|
chalk.yellow('You are running a development build — auto-update is unavailable.') + '\n',
|
||||||
)
|
)
|
||||||
await gracefulShutdown(1)
|
writeToStdout('To update, pull the latest source and rebuild:\n')
|
||||||
|
writeToStdout(chalk.bold(' git pull && bun install && bun run build') + '\n')
|
||||||
|
writeToStdout('\n')
|
||||||
|
writeToStdout('Or reinstall from npm:\n')
|
||||||
|
writeToStdout(chalk.bold(` npm install -g ${MACRO.PACKAGE_URL}@latest`) + '\n')
|
||||||
|
await gracefulShutdown(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if running from a package manager
|
// Check if running from a package manager
|
||||||
@@ -136,8 +146,8 @@ export async function update() {
|
|||||||
if (packageManager === 'homebrew') {
|
if (packageManager === 'homebrew') {
|
||||||
writeToStdout('Claude is managed by Homebrew.\n')
|
writeToStdout('Claude is managed by Homebrew.\n')
|
||||||
const latest = await getLatestVersion(channel)
|
const latest = await getLatestVersion(channel)
|
||||||
if (latest && !gte(MACRO.VERSION, latest)) {
|
if (latest && !gte(MACRO.DISPLAY_VERSION, latest)) {
|
||||||
writeToStdout(`Update available: ${MACRO.VERSION} → ${latest}\n`)
|
writeToStdout(`Update available: ${MACRO.DISPLAY_VERSION} → ${latest}\n`)
|
||||||
writeToStdout('\n')
|
writeToStdout('\n')
|
||||||
writeToStdout('To update, run:\n')
|
writeToStdout('To update, run:\n')
|
||||||
writeToStdout(chalk.bold(' brew upgrade claude-code') + '\n')
|
writeToStdout(chalk.bold(' brew upgrade claude-code') + '\n')
|
||||||
@@ -147,8 +157,8 @@ export async function update() {
|
|||||||
} else if (packageManager === 'winget') {
|
} else if (packageManager === 'winget') {
|
||||||
writeToStdout('Claude is managed by winget.\n')
|
writeToStdout('Claude is managed by winget.\n')
|
||||||
const latest = await getLatestVersion(channel)
|
const latest = await getLatestVersion(channel)
|
||||||
if (latest && !gte(MACRO.VERSION, latest)) {
|
if (latest && !gte(MACRO.DISPLAY_VERSION, latest)) {
|
||||||
writeToStdout(`Update available: ${MACRO.VERSION} → ${latest}\n`)
|
writeToStdout(`Update available: ${MACRO.DISPLAY_VERSION} → ${latest}\n`)
|
||||||
writeToStdout('\n')
|
writeToStdout('\n')
|
||||||
writeToStdout('To update, run:\n')
|
writeToStdout('To update, run:\n')
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
@@ -160,8 +170,8 @@ export async function update() {
|
|||||||
} else if (packageManager === 'apk') {
|
} else if (packageManager === 'apk') {
|
||||||
writeToStdout('Claude is managed by apk.\n')
|
writeToStdout('Claude is managed by apk.\n')
|
||||||
const latest = await getLatestVersion(channel)
|
const latest = await getLatestVersion(channel)
|
||||||
if (latest && !gte(MACRO.VERSION, latest)) {
|
if (latest && !gte(MACRO.DISPLAY_VERSION, latest)) {
|
||||||
writeToStdout(`Update available: ${MACRO.VERSION} → ${latest}\n`)
|
writeToStdout(`Update available: ${MACRO.DISPLAY_VERSION} → ${latest}\n`)
|
||||||
writeToStdout('\n')
|
writeToStdout('\n')
|
||||||
writeToStdout('To update, run:\n')
|
writeToStdout('To update, run:\n')
|
||||||
writeToStdout(chalk.bold(' apk upgrade claude-code') + '\n')
|
writeToStdout(chalk.bold(' apk upgrade claude-code') + '\n')
|
||||||
@@ -250,14 +260,14 @@ export async function update() {
|
|||||||
await gracefulShutdown(1)
|
await gracefulShutdown(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.latestVersion === MACRO.VERSION) {
|
if (result.latestVersion === MACRO.DISPLAY_VERSION) {
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
chalk.green(`Claude Code is up to date (${MACRO.VERSION})`) + '\n',
|
chalk.green(`OpenClaude is up to date (${MACRO.DISPLAY_VERSION})`) + '\n',
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
chalk.green(
|
chalk.green(
|
||||||
`Successfully updated from ${MACRO.VERSION} to version ${result.latestVersion}`,
|
`Successfully updated from ${MACRO.DISPLAY_VERSION} to version ${result.latestVersion}`,
|
||||||
) + '\n',
|
) + '\n',
|
||||||
)
|
)
|
||||||
await regenerateCompletionCache()
|
await regenerateCompletionCache()
|
||||||
@@ -320,15 +330,15 @@ export async function update() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check if versions match exactly, including any build metadata (like SHA)
|
// Check if versions match exactly, including any build metadata (like SHA)
|
||||||
if (latestVersion === MACRO.VERSION) {
|
if (latestVersion === MACRO.DISPLAY_VERSION) {
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
chalk.green(`Claude Code is up to date (${MACRO.VERSION})`) + '\n',
|
chalk.green(`OpenClaude is up to date (${MACRO.DISPLAY_VERSION})`) + '\n',
|
||||||
)
|
)
|
||||||
await gracefulShutdown(0)
|
await gracefulShutdown(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
`New version available: ${latestVersion} (current: ${MACRO.VERSION})\n`,
|
`New version available: ${latestVersion} (current: ${MACRO.DISPLAY_VERSION})\n`,
|
||||||
)
|
)
|
||||||
writeToStdout('Installing update...\n')
|
writeToStdout('Installing update...\n')
|
||||||
|
|
||||||
@@ -388,7 +398,7 @@ export async function update() {
|
|||||||
case 'success':
|
case 'success':
|
||||||
writeToStdout(
|
writeToStdout(
|
||||||
chalk.green(
|
chalk.green(
|
||||||
`Successfully updated from ${MACRO.VERSION} to version ${latestVersion}`,
|
`Successfully updated from ${MACRO.DISPLAY_VERSION} to version ${latestVersion}`,
|
||||||
) + '\n',
|
) + '\n',
|
||||||
)
|
)
|
||||||
await regenerateCompletionCache()
|
await regenerateCompletionCache()
|
||||||
|
|||||||
Reference in New Issue
Block a user