chore: switch to calver, bump version to 26.10.0

This commit is contained in:
LukeGus committed 2026-10-01 21:47:45 -05:00
1 parent 29719dbb87
commit d4b68ea5a2
22 files changed
+32 -25

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
/**
* Whether a user signs in through an external login (SSO, LDAP or any login
* plugin) rather than only a password. Read from the is_oidc column, which
* keeps its 2.8 name until 3.0.0 replaces it with user_external_identities.
* keeps its 2.8 name until 26.10.0 replaces it with user_external_identities.
*/
export function isExternalAccount(user: {
isOidc?: boolean | number | null;
+1 -1
View File
@@ -141,7 +141,7 @@ export async function issueSession(
username: user.username,
userId: user.id,
is_external: isExternalAccount(user),
// 2.8 name, kept until 3.0.0.
// 2.8 name, kept until 26.10.0.
is_oidc: !!user.isOidc,
// Any second factor; the name is what 2.8 clients read.
totp_enabled: await createCurrentUserAuthRepository().hasSecondFactor(
@@ -30,7 +30,7 @@ export function parseTerminalConfig(
* terminal_config is merged into what is stored rather than replaced. The
* 2.8 keys the editor no longer sends (the terminal's look, which the
* ssh-terminal plugin copies into its host settings, and a sudo password 2.8
* editors kept there) stay until 3.0.0 drops the column. A shared editor
* editors kept there) stay until 26.10.0 drops the column. A shared editor
* never changes the owner's private keys in either JSON. Returns an error
* for a terminalConfig that cannot be read.
*/
@@ -279,7 +279,7 @@ export function registerUserExternalAccountRoutes(
router.post("/link-external-to-password", authenticateJWT, link);
router.post("/unlink-external-from-password", authenticateJWT, unlink);
// 2.8 paths, kept until 3.0.0.
// 2.8 paths, kept until 26.10.0.
router.post("/link-oidc-to-password", authenticateJWT, link);
router.post("/unlink-oidc-from-password", authenticateJWT, unlink);
}
+2 -2
View File
@@ -613,7 +613,7 @@ router.get("/me", authenticateJWT, async (req: Request, res: Response) => {
username: user.username,
is_admin: !!user.isAdmin,
is_external: isExternalAccount(user),
// 2.8 name, kept until 3.0.0.
// 2.8 name, kept until 26.10.0.
is_oidc: !!user.isOidc,
is_dual_auth: isDualAuth,
// Any second factor; the name is what 2.8 clients read.
@@ -1022,7 +1022,7 @@ router.patch(
authenticateJWT,
setExternalAutoProvision,
);
// 2.8 paths, kept until 3.0.0.
// 2.8 paths, kept until 26.10.0.
router.get("/oidc-auto-provision", getExternalAutoProvision);
router.patch("/oidc-auto-provision", authenticateJWT, setExternalAutoProvision);
+1 -1
View File
@@ -66,7 +66,7 @@ const HOST_LOCAL_FIELDS = [
];
/**
* Columns kept until 3.0.0 that nothing reads any more: their values moved
* Columns kept until 26.10.0 that nothing reads any more: their values moved
* into plugin host settings, which sync with the host's pluginSettings. They
* stay off the wire so a stale local id never reaches the other side.
*/
+2 -2
View File
@@ -119,8 +119,8 @@ describe("manifest v2 validation", () => {
it("checks engine.termix against the core version", () => {
expect(isTermixCompatible(">=2.9.0", "2.9.0")).toBe(true);
expect(isTermixCompatible(">=2.9.0", "2.9.0-beta.3")).toBe(true);
expect(isTermixCompatible(">=3.0.0", "2.9.1")).toBe(false);
expect(isTermixCompatible(">=3.0.0", null)).toBe(true);
expect(isTermixCompatible(">=26.10.0", "2.9.1")).toBe(false);
expect(isTermixCompatible(">=26.10.0", null)).toBe(true);
});
it("fills in the entry point defaults", () => {
@@ -53,7 +53,7 @@ describe("desktop update check", () => {
it("stays quiet when up to date, ahead, or turned off", async () => {
version.value = "2.9.1";
await checkForDesktopUpdate();
version.value = "3.0.0";
version.value = "26.10.0";
await checkForDesktopUpdate();
version.value = "2.9.0";
disabled.value = true;
@@ -21,7 +21,7 @@
* The classify pass that follows compares those against the new levels, so
* nothing a user sees changes.
*
* The old rows stay in place for a downgrade until 3.0.0.
* The old rows stay in place for a downgrade until 26.10.0.
*/
import type { PluginManifest } from "@termix/plugin-sdk/manifest";
@@ -12,7 +12,7 @@
* login for a 2.8 key only the password unwraps. Until then the channel shows
* as needing to be saved again.
*
* The old table stays until 3.0.0, like the old columns. Idempotent.
* The old table stays until 26.10.0, like the old columns. Idempotent.
*/
import { sql } from "drizzle-orm";
@@ -3,7 +3,7 @@
* columns into host_protocol_auth, re-encrypted with the owner's data key
* under the new table's context.
*
* The columns stay in the database, unused, until 3.0.0. A user's hosts are
* The columns stay in the database, unused, until 26.10.0. A user's hosts are
* copied once their data key opens (at boot for a system-wrapped key, at the
* next password login for a 2.8 key that only the password opens), and a
* per-user marker then stops a later boot from bringing back a login the
@@ -6,7 +6,7 @@
* user_preferences.confirm_snippet_execution and folders_collapsed become the
* confirmExecution and foldersCollapsed user settings.
*
* The columns keep their values until 3.0.0 drops them.
* The columns keep their values until 26.10.0 drops them.
*
* Idempotent: a host that already has either host setting, and a user key
* already set, are skipped, so this is safe on every boot.
@@ -15,7 +15,7 @@
* Per user, user_preferences.terminal_defaults, custom_themes and
* command_autocomplete become user settings.
*
* The columns keep their values until 3.0.0 drops them.
* The columns keep their values until 26.10.0 drops them.
*
* Idempotent: a host that already has any of these rows, and a user key that
* is already set, are skipped, so this is safe on every boot.
@@ -3,7 +3,7 @@
* macros user setting. Macros a browser kept on its own (storage mode
* "local") are moved by the plugin's frontend the first time the panel opens.
*
* The column keeps its value until 3.0.0 drops it.
* The column keeps its value until 26.10.0 drops it.
*
* Idempotent: a user whose macros setting is already set is skipped.
*/
@@ -5,7 +5,7 @@
* instance keeps reporting under the same id.
*
* Idempotent: nothing is written where the plugin already has a row. The
* legacy settings rows stay in place until 3.0.0. The plugin waits a few
* legacy settings rows stay in place until 26.10.0. The plugin waits a few
* minutes before its first send, so this lands first.
*/
+1 -1
View File
@@ -11,7 +11,7 @@
* there sealed with the installation key (what ctx.secrets.seal writes),
* then the users columns are cleared.
*
* The columns stay in the database until 3.0.0, since core's drizzle
* The columns stay in the database until 26.10.0, since core's drizzle
* migrations run before this does. A user whose data key cannot be opened
* at boot is skipped and tried again on the next one. Idempotent.
*/