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
altimate serve performs a one-shot self-upgrade on startup when autoupdate is unset (the default). This self-upgrade appears to reset ~/.altimate/bin/ (or at least ~/.altimate/bin/package.json / node_modules) back to the shipped base dependency set.
The shipped ~/.altimate/bin/package.json only declares:
{
"dependencies": {
"mssql": "^12.5.5"
}
}
Optional warehouse drivers like snowflake-sdk, pg, oracledb, etc. are treated as optionalDependencies by @altimateai/altimate-code (confirmed in its own package.json: "snowflake-sdk": { "optional": true }), and the runtime error message even instructs the user to self-heal via:
Error: Snowflake driver not installed. Run: npm install snowflake-sdk
So the intended workflow is: user runs cd ~/.altimate/bin && npm install snowflake-sdk to add Snowflake support. This works — until the next autoupdate cycle runs (silently, on every serve startup, since autoupdate defaults to unset/enabled), at which point the driver installation is lost and every Snowflake warehouse connection starts failing again with "Snowflake driver not installed."
Repro
Have a Snowflake warehouse connection configured (connections.json).
Let time pass / restart sessions so altimate serve processes cycle and self-update (autoupdate is enabled by default per the CLI's own changelog: "Headless serve now checks for and applies updates on startup... When autoupdate is unset (the default)... performs a one-shot, best-effort self-upgrade shortly after start").
warehouse_test on the same Snowflake connection now fails again with "Snowflake driver not installed. Run: npm install snowflake-sdk" — even though nothing was manually uninstalled.
Impact
Any user relying on optional warehouse drivers (Snowflake, Postgres, Oracle, etc. — anything not bundled by default) silently loses connectivity after an autoupdate cycle, with no notification that an update even happened. This is confusing because the fix ("npm install X") appears to work, then mysteriously stops working later, making it look like a flaky driver rather than an autoupdate side effect.
Suggested fixes (any of)
Bundle commonly-used optional warehouse drivers (snowflake-sdk, pg) in the base install so they survive autoupdate, or
Preserve/reinstall previously-installed optional deps as part of the self-upgrade routine instead of overwriting package.json/node_modules from the release artifact, or
Emit a visible log/notification when the self-upgrade runs and when it detects previously-installed optional deps are now missing, prompting the user to reinstall, or
Document this behavior clearly in the "Snowflake driver not installed" error message itself (e.g., "if this previously worked, an autoupdate may have reset it — see docs on disabling autoupdate or persisting optional drivers").
Environment
altimate binary at ~/.altimate/bin/altimate, installed via curl/install script (not homebrew/npm global)
macOS (darwin)
@altimateai/altimate-code@0.9.0-beta.2 (homebrew global install, separate from the ~/.altimate/bin/altimate binary that actually runs serve)
Problem
altimate serveperforms a one-shot self-upgrade on startup whenautoupdateis unset (the default). This self-upgrade appears to reset~/.altimate/bin/(or at least~/.altimate/bin/package.json/node_modules) back to the shipped base dependency set.The shipped
~/.altimate/bin/package.jsononly declares:{ "dependencies": { "mssql": "^12.5.5" } }Optional warehouse drivers like
snowflake-sdk,pg,oracledb, etc. are treated as optionalDependencies by@altimateai/altimate-code(confirmed in its own package.json:"snowflake-sdk": { "optional": true }), and the runtime error message even instructs the user to self-heal via:So the intended workflow is: user runs
cd ~/.altimate/bin && npm install snowflake-sdkto add Snowflake support. This works — until the next autoupdate cycle runs (silently, on everyservestartup, sinceautoupdatedefaults to unset/enabled), at which point the driver installation is lost and every Snowflake warehouse connection starts failing again with "Snowflake driver not installed."Repro
connections.json).cd ~/.altimate/bin && npm install snowflake-sdk— confirms works,warehouse_testsucceeds.altimate serveprocesses cycle and self-update (autoupdate is enabled by default per the CLI's own changelog: "Headlessservenow checks for and applies updates on startup... Whenautoupdateis unset (the default)... performs a one-shot, best-effort self-upgrade shortly after start").warehouse_teston the same Snowflake connection now fails again with "Snowflake driver not installed. Run: npm install snowflake-sdk" — even though nothing was manually uninstalled.Impact
Any user relying on optional warehouse drivers (Snowflake, Postgres, Oracle, etc. — anything not bundled by default) silently loses connectivity after an autoupdate cycle, with no notification that an update even happened. This is confusing because the fix ("npm install X") appears to work, then mysteriously stops working later, making it look like a flaky driver rather than an autoupdate side effect.
Suggested fixes (any of)
package.json/node_modulesfrom the release artifact, orEnvironment
altimatebinary at~/.altimate/bin/altimate, installed via curl/install script (not homebrew/npm global)@altimateai/altimate-code@0.9.0-beta.2(homebrew global install, separate from the~/.altimate/bin/altimatebinary that actually runsserve)stringson the binary: autoupdate default is unset/enabled, self-upgrade happens shortly afterservestarts, per embedded changelog text (issue fix: trigger auto-update check on headlessservestartup #940 reference)Metadata