mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-24 11:10:25 +02:00
* refactor(quick-create): remove daemon CLI version gate Local-source daemons report dev-suffixed versions (e.g. v0.2.15-235-gdaf0e935) that the picker pre-check and server gate both treat as too old, blocking quick-create during local testing. Drops the gate end-to-end: removes MinQuickCreateCLIVersion + CheckMinCLIVersion in pkg/agent, the checkQuickCreateDaemonVersion handler and readRuntimeCLIVersion helper in handler/issue.go, and the mirrored cli-version.ts plus the modal's pre-check, blocked-state UI, and daemon_version_unsupported error branch. Co-authored-by: multica-agent <github@multica.ai> * refactor(quick-create): skip daemon CLI version gate in dev Restores the gate (reverts the full-removal commit) and bypasses it in non-production environments instead. The motivation for the original removal — local source-built daemons report a `git describe` version like v0.2.15-N-gHASH that parses below 0.2.20 and blocks dev testing — is now handled by checking APP_ENV on the server and NODE_ENV on the client. Production keeps the original "needs upgrade" UX. Co-authored-by: multica-agent <github@multica.ai> * refactor(quick-create): exempt git-describe daemons instead of env bypass Replaces the per-environment bypass added in the previous commit with a shared daemon-version signal. CheckMinCLIVersion / checkQuickCreateCliVersion now treat any daemon whose CLI version matches the `vX.Y.Z-N-gHASH[-dirty]` git-describe shape as OK; tagged releases keep going through the normal min-version comparison. Why: Emacs flagged that (a) NODE_ENV !== "production" also disables the gate on staging and other non-prod deployments, undoing the protection for the case the gate was originally written for, and (b) NODE_ENV (web client) and APP_ENV (server) are not equivalent, so the modal pre-check and server gate could disagree on the same request. Both go away when the signal is intrinsic to the daemon's version string. Co-authored-by: multica-agent <github@multica.ai> --------- Co-authored-by: multica-agent <github@multica.ai>
26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { checkQuickCreateCliVersion } from "./cli-version";
|
|
|
|
describe("checkQuickCreateCliVersion", () => {
|
|
it("returns ok for a tagged release at or above the minimum", () => {
|
|
expect(checkQuickCreateCliVersion("v0.2.20").state).toBe("ok");
|
|
expect(checkQuickCreateCliVersion("0.3.1").state).toBe("ok");
|
|
});
|
|
|
|
it("returns too_old for a tagged release below the minimum", () => {
|
|
expect(checkQuickCreateCliVersion("v0.2.15").state).toBe("too_old");
|
|
});
|
|
|
|
it("returns missing for empty or unparsable input", () => {
|
|
expect(checkQuickCreateCliVersion("").state).toBe("missing");
|
|
expect(checkQuickCreateCliVersion(undefined).state).toBe("missing");
|
|
expect(checkQuickCreateCliVersion("not-a-version").state).toBe("missing");
|
|
});
|
|
|
|
it("treats git-describe dev builds as ok regardless of base tag", () => {
|
|
expect(checkQuickCreateCliVersion("v0.2.15-235-gdaf0e935").state).toBe("ok");
|
|
expect(checkQuickCreateCliVersion("v0.2.15-235-gdaf0e935-dirty").state).toBe("ok");
|
|
expect(checkQuickCreateCliVersion("0.1.0-1-gabc1234").state).toBe("ok");
|
|
});
|
|
});
|