messy env stuff
This commit is contained in:
@ -7,7 +7,7 @@ test.afterEach(async ({ page }, testInfo) => {
|
||||
})
|
||||
|
||||
test(
|
||||
'CRUD projects',
|
||||
'Rename and delete projects, also spam arrow keys when renaming',
|
||||
{ tag: '@electron' },
|
||||
async ({ browserName }, testInfo) => {
|
||||
const { electronApp, page } = await setupElectron({
|
||||
|
@ -640,20 +640,20 @@ export async function setup(
|
||||
token,
|
||||
settingsKey,
|
||||
settings,
|
||||
appSettingsFileKey,
|
||||
appSettingsFileContent,
|
||||
// appSettingsFileKey,
|
||||
// appSettingsFileContent,
|
||||
}) => {
|
||||
localStorage.setItem('TOKEN_PERSIST_KEY', token)
|
||||
localStorage.setItem('persistCode', ``)
|
||||
localStorage.setItem(settingsKey, settings)
|
||||
localStorage.setItem(appSettingsFileKey, appSettingsFileContent)
|
||||
// localStorage.setItem(appSettingsFileKey, appSettingsFileContent)
|
||||
localStorage.setItem('playwright', 'true')
|
||||
},
|
||||
{
|
||||
token: secrets.token,
|
||||
appSettingsFileKey: TEST_SETTINGS_FILE_KEY,
|
||||
appSettingsFileContent:
|
||||
overrideDirectory || TEST_SETTINGS.app.projectDirectory,
|
||||
// appSettingsFileKey: TEST_SETTINGS_FILE_KEY,
|
||||
// appSettingsFileContent:
|
||||
// overrideDirectory || TEST_SETTINGS.app.projectDirectory,
|
||||
settingsKey: TEST_SETTINGS_KEY,
|
||||
settings: TOML.stringify({
|
||||
...TEST_SETTINGS,
|
||||
@ -672,9 +672,11 @@ export async function setup(
|
||||
export async function setupElectron({
|
||||
testInfo,
|
||||
folderSetupFn,
|
||||
overrideDirectory,
|
||||
}: {
|
||||
testInfo: TestInfo
|
||||
folderSetupFn?: (projectDirName: string) => Promise<void>
|
||||
overrideDirectory?: string
|
||||
}) {
|
||||
// create or otherwise clear the folder
|
||||
const projectDirName = testInfo.outputPath('electron-test-projects-dir')
|
||||
@ -688,7 +690,14 @@ export async function setupElectron({
|
||||
|
||||
await fsp.mkdir(projectDirName)
|
||||
|
||||
const electronApp = await electron.launch({ args: ['.', '--no-sandbox'] })
|
||||
const electronApp = await electron.launch({
|
||||
args: ['.', '--no-sandbox'],
|
||||
env: {
|
||||
...process.env,
|
||||
TEST_SETTINGS_FILE_KEY:
|
||||
overrideDirectory || TEST_SETTINGS.app.projectDirectory,
|
||||
},
|
||||
})
|
||||
const context = electronApp.context()
|
||||
const page = await electronApp.firstWindow()
|
||||
context.on('console', console.log)
|
||||
|
@ -579,7 +579,7 @@ export function defaultAppSettings(): Partial<SaveSettingsPayload> {
|
||||
|
||||
export function parseAppSettings(toml: string): Partial<SaveSettingsPayload> {
|
||||
const parsed = parse_app_settings(toml)
|
||||
console.log('within wasm.ts, parsed app settings', parsed)
|
||||
// console.log('within wasm.ts, parsed app settings', parsed)
|
||||
return configurationToSettingsPayload(parsed)
|
||||
}
|
||||
|
||||
|
@ -443,7 +443,18 @@ export const readAppSettingsFile = async () => {
|
||||
}
|
||||
const configToml = await window.electron.readFile(settingsPath)
|
||||
const configObj = parseAppSettings(configToml)
|
||||
const overrideJSON = localStorage.getItem('APP_SETTINGS_OVERRIDE')
|
||||
const overrideJSON = window?.env?.[TEST_SETTINGS_FILE_KEY]
|
||||
console.log(
|
||||
'overrideJSON',
|
||||
overrideJSON,
|
||||
window.electron,
|
||||
window.electron.process?.env,
|
||||
window.electron.process?.env?.TEST_SETTINGS_FILE_KEY,
|
||||
window.electron.process?.env?.TEST_SETTINGS_FILE_KEY?.(),
|
||||
window.electron.process?.env?.BASE_URL?.()
|
||||
// window.electron.process?.env?.BASE_URL
|
||||
)
|
||||
// const overrideJSON = localStorage.getItem('APP_SETTINGS_OVERRIDE')
|
||||
if (overrideJSON) {
|
||||
try {
|
||||
const override = JSON.parse(overrideJSON)
|
||||
|
@ -43,7 +43,10 @@ export type Events =
|
||||
const COOKIE_NAME = '__Secure-next-auth.session-token'
|
||||
export const TOKEN_PERSIST_KEY = 'TOKEN_PERSIST_KEY'
|
||||
const persistedToken =
|
||||
getCookie(COOKIE_NAME) || localStorage?.getItem(TOKEN_PERSIST_KEY) || ''
|
||||
VITE_KC_DEV_TOKEN ||
|
||||
getCookie(COOKIE_NAME) ||
|
||||
localStorage?.getItem(TOKEN_PERSIST_KEY) ||
|
||||
''
|
||||
|
||||
export const authMachine = createMachine<UserContext, Events>(
|
||||
{
|
||||
@ -59,6 +62,7 @@ export const authMachine = createMachine<UserContext, Events>(
|
||||
{
|
||||
target: 'loggedIn',
|
||||
actions: () => {
|
||||
console.log('login and shit')
|
||||
return assign((context, event) => ({
|
||||
user: event.data.user,
|
||||
token: event.data.token || context.token,
|
||||
@ -70,6 +74,7 @@ export const authMachine = createMachine<UserContext, Events>(
|
||||
{
|
||||
target: 'loggedOut',
|
||||
actions: (args) => {
|
||||
console.log('logout')
|
||||
return assign({
|
||||
user: () => undefined,
|
||||
})
|
||||
@ -118,12 +123,14 @@ export const authMachine = createMachine<UserContext, Events>(
|
||||
)
|
||||
|
||||
async function getUser(context: UserContext) {
|
||||
const token =
|
||||
context.token && context.token !== ''
|
||||
? context.token
|
||||
: getCookie(COOKIE_NAME) ||
|
||||
localStorage?.getItem(TOKEN_PERSIST_KEY) ||
|
||||
VITE_KC_DEV_TOKEN
|
||||
console.log('getUser context', VITE_KC_DEV_TOKEN, context)
|
||||
const token = VITE_KC_DEV_TOKEN
|
||||
? VITE_KC_DEV_TOKEN
|
||||
: context.token && context.token !== ''
|
||||
? context.token
|
||||
: VITE_KC_DEV_TOKEN ||
|
||||
getCookie(COOKIE_NAME) ||
|
||||
localStorage?.getItem(TOKEN_PERSIST_KEY)
|
||||
const url = withBaseURL('/user')
|
||||
const headers: { [key: string]: string } = {
|
||||
'Content-Type': 'application/json',
|
||||
@ -138,6 +145,10 @@ async function getUser(context: UserContext) {
|
||||
LOCAL_USER.image = ''
|
||||
}
|
||||
|
||||
console.log('skip', {
|
||||
user: LOCAL_USER,
|
||||
token,
|
||||
})
|
||||
return {
|
||||
user: LOCAL_USER,
|
||||
token,
|
||||
|
@ -1,10 +1,12 @@
|
||||
import { ipcRenderer, contextBridge } from 'electron'
|
||||
import path from 'path'
|
||||
import fs from 'node:fs/promises'
|
||||
import packageJson from '../../package.json'
|
||||
import packageJson from '../package.json'
|
||||
import { components } from 'lib/machine-api'
|
||||
import { MachinesListing } from 'lib/machineManager'
|
||||
|
||||
console.log('preload.ts loaded', packageJson)
|
||||
|
||||
const open = (args: any) => ipcRenderer.invoke('dialog.showOpenDialog', args)
|
||||
const save = (args: any) => ipcRenderer.invoke('dialog.showSaveDialog', args)
|
||||
const openExternal = (url: any) => ipcRenderer.invoke('shell.openExternal', url)
|
||||
@ -81,7 +83,11 @@ contextBridge.exposeInMainWorld('electron', {
|
||||
process: {
|
||||
// Setter/getter has to be created because
|
||||
// these are read-only over the boundary.
|
||||
env: Object.assign({}, exposeProcessEnv('BASE_URL')),
|
||||
env: Object.assign(
|
||||
{},
|
||||
exposeProcessEnv('BASE_URL'),
|
||||
exposeProcessEnv('TEST_SETTINGS_FILE_KEY')
|
||||
),
|
||||
},
|
||||
kittycad,
|
||||
listMachines,
|
||||
|
Reference in New Issue
Block a user