Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
bit-pm
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
燕伟桐
bit-pm
Commits
4d7d9ec2
Unverified
提交
4d7d9ec2
authored
7月 08, 2025
作者:
Will Chen
提交者:
GitHub
7月 08, 2025
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
move auto-update to later (#603)
otherwise on windows the settings path (which is based on userData) isn't available yet.
上级
a1aee5c2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
27 行增加
和
27 行删除
+27
-27
main.ts
src/main.ts
+22
-25
settings.ts
src/main/settings.ts
+5
-2
没有找到文件。
src/main.ts
浏览文件 @
4d7d9ec2
...
@@ -16,6 +16,7 @@ import { handleDyadProReturn } from "./main/pro";
...
@@ -16,6 +16,7 @@ import { handleDyadProReturn } from "./main/pro";
import
{
IS_TEST_BUILD
}
from
"./ipc/utils/test_utils"
;
import
{
IS_TEST_BUILD
}
from
"./ipc/utils/test_utils"
;
import
{
BackupManager
}
from
"./backup_manager"
;
import
{
BackupManager
}
from
"./backup_manager"
;
import
{
getDatabasePath
,
initializeDatabase
}
from
"./db"
;
import
{
getDatabasePath
,
initializeDatabase
}
from
"./db"
;
import
{
UserSettings
}
from
"./lib/schemas"
;
log
.
errorHandler
.
startCatching
();
log
.
errorHandler
.
startCatching
();
log
.
eventLogger
.
startLogging
();
log
.
eventLogger
.
startLogging
();
...
@@ -23,24 +24,6 @@ log.scope.labelPadding = false;
...
@@ -23,24 +24,6 @@ log.scope.labelPadding = false;
const
logger
=
log
.
scope
(
"main"
);
const
logger
=
log
.
scope
(
"main"
);
// Check settings before enabling auto-update
const
settings
=
readSettings
();
if
(
settings
.
enableAutoUpdate
)
{
// Technically we could just pass the releaseChannel directly to the host,
// but this is more explicit and falls back to stable if there's an unknown
// release channel.
const
postfix
=
settings
.
releaseChannel
===
"beta"
?
"beta"
:
"stable"
;
const
host
=
`https://api.dyad.sh/v1/update/
${
postfix
}
`
;
updateElectronApp
({
logger
,
updateSource
:
{
type
:
UpdateSourceType
.
ElectronPublicUpdateService
,
repo
:
"dyad-sh/dyad"
,
host
,
},
});
// additional configuration options available
}
// Load environment variables from .env file
// Load environment variables from .env file
dotenv
.
config
();
dotenv
.
config
();
...
@@ -74,16 +57,30 @@ export async function onReady() {
...
@@ -74,16 +57,30 @@ export async function onReady() {
logger
.
error
(
"Error initializing backup manager"
,
e
);
logger
.
error
(
"Error initializing backup manager"
,
e
);
}
}
initializeDatabase
();
initializeDatabase
();
await
onFirstRunMaybe
();
const
settings
=
readSettings
();
await
onFirstRunMaybe
(
settings
);
createWindow
();
createWindow
();
logger
.
info
(
"Auto-update enabled="
,
settings
.
enableAutoUpdate
);
if
(
settings
.
enableAutoUpdate
)
{
// Technically we could just pass the releaseChannel directly to the host,
// but this is more explicit and falls back to stable if there's an unknown
// release channel.
const
postfix
=
settings
.
releaseChannel
===
"beta"
?
"beta"
:
"stable"
;
const
host
=
`https://api.dyad.sh/v1/update/
${
postfix
}
`
;
logger
.
info
(
"Auto-update release channel="
,
postfix
);
updateElectronApp
({
logger
,
updateSource
:
{
type
:
UpdateSourceType
.
ElectronPublicUpdateService
,
repo
:
"dyad-sh/dyad"
,
host
,
},
});
// additional configuration options available
}
}
}
/**
export
async
function
onFirstRunMaybe
(
settings
:
UserSettings
)
{
* Is this the first run of Fiddle? If so, perform
* tasks that we only want to do in this case.
*/
export
async
function
onFirstRunMaybe
()
{
const
settings
=
readSettings
();
if
(
!
settings
.
hasRunBefore
)
{
if
(
!
settings
.
hasRunBefore
)
{
await
promptMoveToApplicationsFolder
();
await
promptMoveToApplicationsFolder
();
writeSettings
({
writeSettings
({
...
...
src/main/settings.ts
浏览文件 @
4d7d9ec2
...
@@ -4,6 +4,9 @@ import { getUserDataPath } from "../paths/paths";
...
@@ -4,6 +4,9 @@ import { getUserDataPath } from "../paths/paths";
import
{
UserSettingsSchema
,
type
UserSettings
,
Secret
}
from
"../lib/schemas"
;
import
{
UserSettingsSchema
,
type
UserSettings
,
Secret
}
from
"../lib/schemas"
;
import
{
safeStorage
}
from
"electron"
;
import
{
safeStorage
}
from
"electron"
;
import
{
v4
as
uuidv4
}
from
"uuid"
;
import
{
v4
as
uuidv4
}
from
"uuid"
;
import
log
from
"electron-log"
;
const
logger
=
log
.
scope
(
"settings"
);
// IF YOU NEED TO UPDATE THIS, YOU'RE PROBABLY DOING SOMETHING WRONG!
// IF YOU NEED TO UPDATE THIS, YOU'RE PROBABLY DOING SOMETHING WRONG!
// Need to maintain backwards compatibility!
// Need to maintain backwards compatibility!
...
@@ -87,7 +90,7 @@ export function readSettings(): UserSettings {
...
@@ -87,7 +90,7 @@ export function readSettings(): UserSettings {
return
validatedSettings
;
return
validatedSettings
;
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"Error reading settings:"
,
error
);
logger
.
error
(
"Error reading settings:"
,
error
);
return
DEFAULT_SETTINGS
;
return
DEFAULT_SETTINGS
;
}
}
}
}
...
@@ -124,7 +127,7 @@ export function writeSettings(settings: Partial<UserSettings>): void {
...
@@ -124,7 +127,7 @@ export function writeSettings(settings: Partial<UserSettings>): void {
const
validatedSettings
=
UserSettingsSchema
.
parse
(
newSettings
);
const
validatedSettings
=
UserSettingsSchema
.
parse
(
newSettings
);
fs
.
writeFileSync
(
filePath
,
JSON
.
stringify
(
validatedSettings
,
null
,
2
));
fs
.
writeFileSync
(
filePath
,
JSON
.
stringify
(
validatedSettings
,
null
,
2
));
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
"Error writing settings:"
,
error
);
logger
.
error
(
"Error writing settings:"
,
error
);
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论