From 68ebcb3df903dc24bac8d8fde024f0d5ea6c4e40 Mon Sep 17 00:00:00 2001 From: kainpets Date: Sat, 3 Feb 2024 18:30:26 +0100 Subject: [PATCH 1/5] add the ability to select fakeseamconnect as server in interactive mode --- lib/interact-for-server-selection.ts | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/interact-for-server-selection.ts b/lib/interact-for-server-selection.ts index b6935c6..57ea67b 100644 --- a/lib/interact-for-server-selection.ts +++ b/lib/interact-for-server-selection.ts @@ -1,8 +1,15 @@ import prompts from "prompts" import { getConfigStore } from "./get-config-store" +import { randomBytes } from "node:crypto" +import { getServer } from "./get-server" export async function interactForServerSelection() { - const servers = ["http://localhost:3020", "https://connect.getseam.com"] + const randomstring = randomBytes(5).toString("hex") + const servers = [ + "http://localhost:3020", + "https://connect.getseam.com", + `https://${randomstring}.fakeseamconnect.seam.vc`, + ] const { server } = await prompts([ { @@ -14,7 +21,12 @@ export async function interactForServerSelection() { ]) const config = getConfigStore() - config.set("server", server) - config.delete("current_workspace_id") - console.log(`Server set to ${server}`) + if (server === servers[2]) { + config.set(`${getServer()}.pat`, `seam_apikey1_token`) + console.log(`PAT set to use fakeseamconnect with "seam_apikey1_token"`) + } else { + config.set("server", server) + config.delete("current_workspace_id") + console.log(`Server set to ${server}`) + } } From 65ac8b1b5e54e06031097e2e883f65b11e01c1ba Mon Sep 17 00:00:00 2001 From: kainpets Date: Thu, 8 Feb 2024 02:04:38 +0100 Subject: [PATCH 2/5] wip: allow for fakeseamconnect selection --- lib/interact-for-server-selection.ts | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/lib/interact-for-server-selection.ts b/lib/interact-for-server-selection.ts index 57ea67b..b6935c6 100644 --- a/lib/interact-for-server-selection.ts +++ b/lib/interact-for-server-selection.ts @@ -1,15 +1,8 @@ import prompts from "prompts" import { getConfigStore } from "./get-config-store" -import { randomBytes } from "node:crypto" -import { getServer } from "./get-server" export async function interactForServerSelection() { - const randomstring = randomBytes(5).toString("hex") - const servers = [ - "http://localhost:3020", - "https://connect.getseam.com", - `https://${randomstring}.fakeseamconnect.seam.vc`, - ] + const servers = ["http://localhost:3020", "https://connect.getseam.com"] const { server } = await prompts([ { @@ -21,12 +14,7 @@ export async function interactForServerSelection() { ]) const config = getConfigStore() - if (server === servers[2]) { - config.set(`${getServer()}.pat`, `seam_apikey1_token`) - console.log(`PAT set to use fakeseamconnect with "seam_apikey1_token"`) - } else { - config.set("server", server) - config.delete("current_workspace_id") - console.log(`Server set to ${server}`) - } + config.set("server", server) + config.delete("current_workspace_id") + console.log(`Server set to ${server}`) } From 813155df5f3d56b9a6c32e1698a892d224e8b26d Mon Sep 17 00:00:00 2001 From: kainpets Date: Sat, 10 Feb 2024 17:28:03 +0100 Subject: [PATCH 3/5] add fakeseamconnect to sever selection; allow SEED input and default --- lib/interact-for-server-selection.ts | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/interact-for-server-selection.ts b/lib/interact-for-server-selection.ts index b6935c6..9113ede 100644 --- a/lib/interact-for-server-selection.ts +++ b/lib/interact-for-server-selection.ts @@ -1,8 +1,10 @@ import prompts from "prompts" import { getConfigStore } from "./get-config-store" +import { randomBytes } from "node:crypto" +import { getServer } from "./get-server" export async function interactForServerSelection() { - const servers = ["http://localhost:3020", "https://connect.getseam.com"] + const servers = ["http://localhost:3020", "https://connect.getseam.com", "https://fakeseamconnect.seam.vc"] const { server } = await prompts([ { @@ -14,7 +16,25 @@ export async function interactForServerSelection() { ]) const config = getConfigStore() - config.set("server", server) + if (server === servers[2]) { + let { userUrlSeed } = await prompts([ + { + type: "text", + name: "userUrlSeed", + message: "You can input a custom server URL or leave this field empty to use a new fakeserver.", + }, + ]) + + // if the user leaves the field empty, generate a random string + if (userUrlSeed.trim().length === 0) { + userUrlSeed = randomBytes(5).toString("hex") + } + config.set(`https://${userUrlSeed}.fakeseamconnect.seam.vc`, server) + config.set(`${getServer()}.pat`, `seam_apikey1_token`) + console.log(`PAT set to use fakeseamconnect with "seam_apikey1_token"`) + } else { + config.set("server", server) + } config.delete("current_workspace_id") console.log(`Server set to ${server}`) } From 0b81860dffd8e786726a57ceb405ec2901e8a434 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Sat, 10 Feb 2024 16:28:29 +0000 Subject: [PATCH 4/5] ci - format code --- lib/interact-for-server-selection.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/interact-for-server-selection.ts b/lib/interact-for-server-selection.ts index 9113ede..808ee1d 100644 --- a/lib/interact-for-server-selection.ts +++ b/lib/interact-for-server-selection.ts @@ -4,7 +4,11 @@ import { randomBytes } from "node:crypto" import { getServer } from "./get-server" export async function interactForServerSelection() { - const servers = ["http://localhost:3020", "https://connect.getseam.com", "https://fakeseamconnect.seam.vc"] + const servers = [ + "http://localhost:3020", + "https://connect.getseam.com", + "https://fakeseamconnect.seam.vc", + ] const { server } = await prompts([ { @@ -21,7 +25,8 @@ export async function interactForServerSelection() { { type: "text", name: "userUrlSeed", - message: "You can input a custom server URL or leave this field empty to use a new fakeserver.", + message: + "You can input a custom server URL or leave this field empty to use a new fakeserver.", }, ]) From f4f0b18f2f75df0cb5be505ea6c70da19e39a608 Mon Sep 17 00:00:00 2001 From: kainpets Date: Sat, 10 Feb 2024 19:16:52 +0100 Subject: [PATCH 5/5] add select option for fakeseamconnect server with default or user specified SEED for URL --- lib/interact-for-server-selection.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/interact-for-server-selection.ts b/lib/interact-for-server-selection.ts index 808ee1d..e562028 100644 --- a/lib/interact-for-server-selection.ts +++ b/lib/interact-for-server-selection.ts @@ -30,11 +30,10 @@ export async function interactForServerSelection() { }, ]) - // if the user leaves the field empty, generate a random string if (userUrlSeed.trim().length === 0) { userUrlSeed = randomBytes(5).toString("hex") } - config.set(`https://${userUrlSeed}.fakeseamconnect.seam.vc`, server) + config.set("server", `https://${userUrlSeed}.fakeseamconnect.seam.vc`) config.set(`${getServer()}.pat`, `seam_apikey1_token`) console.log(`PAT set to use fakeseamconnect with "seam_apikey1_token"`) } else {