Skip to content

Commit

Permalink
fixed startup event oder - fixes #6511
Browse files Browse the repository at this point in the history
  • Loading branch information
Eugeny committed May 30, 2022
1 parent b3df681 commit 7437aaf
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 34 deletions.
19 changes: 10 additions & 9 deletions app/lib/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,29 @@ import * as gracefulFS from 'graceful-fs'
import { app } from 'electron'
import { promisify } from 'util'

export async function migrateConfig (): Promise<void> {
export function migrateConfig (): void {
const configPath = path.join(app.getPath('userData'), 'config.yaml')
const legacyConfigPath = path.join(app.getPath('userData'), '../terminus', 'config.yaml')
if (await fs.exists(legacyConfigPath) && (
!await fs.exists(configPath) ||
(await fs.stat(configPath)).mtime < (await fs.stat(legacyConfigPath)).mtime
if (fs.existsSync(legacyConfigPath) && (
!fs.existsSync(configPath) ||
fs.statSync(configPath).mtime < fs.statSync(legacyConfigPath).mtime
)) {
await fs.writeFile(configPath, await fs.readFile(legacyConfigPath))
fs.writeFileSync(configPath, fs.readFileSync(legacyConfigPath))
}
}

export async function loadConfig (): Promise<any> {
await migrateConfig()
export function loadConfig (): any {
migrateConfig()

const configPath = path.join(app.getPath('userData'), 'config.yaml')
if (await fs.exists(configPath)) {
return yaml.load(await fs.readFile(configPath, 'utf8'))
if (fs.existsSync(configPath)) {
return yaml.load(fs.readFileSync(configPath, 'utf8'))
} else {
return {}
}
}


const configPath = path.join(app.getPath('userData'), 'config.yaml')
let _configSaveInProgress = Promise.resolve()

Expand Down
52 changes: 27 additions & 25 deletions app/lib/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,43 +15,45 @@ if (!process.env.TABBY_PLUGINS) {

const argv = parseArgs(process.argv, process.cwd())

const application = loadConfig().catch(err => {
// eslint-disable-next-line @typescript-eslint/init-declarations
let configStore: any

try {
configStore = loadConfig()
} catch (err) {
dialog.showErrorBox('Could not read config', err.message)
app.exit(1)
}).then(configStore => {
const _application = new Application(configStore)

ipcMain.on('app:new-window', () => {
_application.newWindow()
})
}

process.on('uncaughtException' as any, err => {
console.log(err)
_application.broadcast('uncaughtException', err)
})
const application = new Application(configStore)

if (argv.d) {
electronDebug({
isEnabled: true,
showDevTools: true,
devToolsMode: 'undocked',
})
}
ipcMain.on('app:new-window', () => {
application.newWindow()
})

return _application
process.on('uncaughtException' as any, err => {
console.log(err)
application.broadcast('uncaughtException', err)
})

if (argv.d) {
electronDebug({
isEnabled: true,
showDevTools: true,
devToolsMode: 'undocked',
})
}

app.on('activate', async () => {
if (!(await application).hasWindows()) {
(await application).newWindow()
if (!application.hasWindows()) {
application.newWindow()
} else {
(await application).focus()
application.focus()
}
})

app.on('second-instance', async (_event, newArgv, cwd) => {
(await application).handleSecondInstance(newArgv, cwd)
application.handleSecondInstance(newArgv, cwd)
})

if (!app.requestSingleInstanceLock()) {
Expand All @@ -71,9 +73,9 @@ app.on('ready', async () => {
]))
}

(await application).init()
application.init()

const window = await (await application).newWindow({ hidden: argv.hidden })
const window = await application.newWindow({ hidden: argv.hidden })
await window.ready
window.passCliArguments(process.argv, process.cwd(), false)
window.focus()
Expand Down

0 comments on commit 7437aaf

Please sign in to comment.