niuma-codex 0.0.1-beta.13 → 0.0.1-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/pairing-web/settings.js +12 -6
- package/dist/cli.js +3 -2
- package/package.json +1 -1
|
@@ -3,17 +3,21 @@ export function mountAutostartSettings(doc,win,request){
|
|
|
3
3
|
const $=id=>doc.getElementById(id);
|
|
4
4
|
let state=null,inFlight=false,changing=false,generation=0,timer=null;
|
|
5
5
|
const visible=()=>!$('settings-panel').hidden&&!doc.hidden;
|
|
6
|
+
// 注册文件保留不代表系统允许启动;未知状态只能刷新,不能据此修改注册。
|
|
7
|
+
const systemUnavailable=()=>state?.registered&&state.loaded!==true;
|
|
8
|
+
const systemUnknown=()=>state?.registered&&typeof state.loaded!=='boolean';
|
|
6
9
|
function stop(){generation++;if(timer!==null)win.clearTimeout(timer);timer=null;}
|
|
7
10
|
function render(message=''){
|
|
8
11
|
const operation=state?.operation;
|
|
9
12
|
const working=changing||operation?.state==='running';
|
|
10
|
-
$('autostart-enabled').checked=state?.registered===true;
|
|
11
|
-
$('autostart-enabled').disabled=!state||!state.supported||working||inFlight;
|
|
13
|
+
$('autostart-enabled').checked=state?.registered===true&&state.loaded===true&&state.available===true;
|
|
14
|
+
$('autostart-enabled').disabled=!state||!state.supported||systemUnknown()||working||inFlight;
|
|
12
15
|
$('autostart-message').textContent=message||(working?(operation?.target_enabled===false?'正在关闭…':'正在开启…'):
|
|
13
16
|
!state?'正在读取设置…':!state.supported?(state.reason||'当前环境不支持登录自启动'):
|
|
17
|
+
systemUnknown()?'无法确认系统登录项状态,请刷新重试。':systemUnavailable()?'自启动尚未获系统启用,请检查系统设置中的登录项并允许 Niuma 在后台运行。':
|
|
14
18
|
state.registered&&!state.available?'已配置,但暂不可用。请重新配置。':state.registered?'已开启':'未开启');
|
|
15
19
|
$('autostart-retry').hidden=working||(!message&&!(state?.registered&&!state.available));
|
|
16
|
-
$('autostart-retry').textContent=state?.registered&&!state.available?'重新配置':'重试';
|
|
20
|
+
$('autostart-retry').textContent=systemUnavailable()?'刷新状态':state?.registered&&!state.available?'重新配置':'重试';
|
|
17
21
|
}
|
|
18
22
|
async function load(){
|
|
19
23
|
if(inFlight||!visible())return;
|
|
@@ -27,13 +31,13 @@ export function mountAutostartSettings(doc,win,request){
|
|
|
27
31
|
}catch(error){if(owner===generation){state=null;render(error.message||'无法读取设置,请重试');}}
|
|
28
32
|
finally{
|
|
29
33
|
inFlight=false;
|
|
30
|
-
if(owner===generation){$('autostart-enabled').disabled=!state||!state.supported||changing||state.operation?.state==='running';
|
|
34
|
+
if(owner===generation){$('autostart-enabled').disabled=!state||!state.supported||systemUnknown()||changing||state.operation?.state==='running';
|
|
31
35
|
if(visible()&&state?.operation?.state==='running')timer=win.setTimeout(()=>{timer=null;void load();},1000);
|
|
32
36
|
}else if(visible())void load();
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
async function change(enabled){
|
|
36
|
-
if(changing||inFlight||!state?.supported||state.operation?.state==='running')return;
|
|
40
|
+
if(changing||inFlight||!state?.supported||systemUnknown()||state.operation?.state==='running')return;
|
|
37
41
|
changing=true;stop();render();
|
|
38
42
|
let message='';
|
|
39
43
|
try {
|
|
@@ -56,7 +60,9 @@ export function mountAutostartSettings(doc,win,request){
|
|
|
56
60
|
$('devices-nav').onclick=()=>navigate(false);
|
|
57
61
|
$('autostart-enabled').onchange=()=>{const enabled=$('autostart-enabled').checked;void change(enabled);};
|
|
58
62
|
$('autostart-retry').onclick=()=>{
|
|
59
|
-
|
|
63
|
+
// 系统授权改变后只重新查询,避免刷新按钮重新注册并覆盖用户在系统中的选择。
|
|
64
|
+
if(systemUnavailable())void load();
|
|
65
|
+
else if(['failed','interrupted'].includes(state?.operation?.state))void change(state.operation.target_enabled);
|
|
60
66
|
else if(state?.registered&&!state.available)void change(true);else void load();
|
|
61
67
|
};
|
|
62
68
|
win.addEventListener('focus',()=>{stop();if(!changing)void load();});
|
package/dist/cli.js
CHANGED
|
@@ -6797,7 +6797,7 @@ var init_src = __esm({
|
|
|
6797
6797
|
// apps/desktop/src/release-version.ts
|
|
6798
6798
|
import { readFileSync } from "node:fs";
|
|
6799
6799
|
function desktopReleaseVersion() {
|
|
6800
|
-
return false ? null : "0.0.1-beta.
|
|
6800
|
+
return false ? null : "0.0.1-beta.15";
|
|
6801
6801
|
}
|
|
6802
6802
|
function desktopPresenceVersion() {
|
|
6803
6803
|
return desktopReleaseVersion() ?? sourcePresenceVersion;
|
|
@@ -17716,8 +17716,9 @@ var init_manager = __esm({
|
|
|
17716
17716
|
return null;
|
|
17717
17717
|
}
|
|
17718
17718
|
}
|
|
17719
|
+
const target = registration ? this.target : `${this.domain}/${AUTOSTART_APP_LABEL}`;
|
|
17719
17720
|
try {
|
|
17720
|
-
await this.run("/bin/launchctl", ["print",
|
|
17721
|
+
await this.run("/bin/launchctl", ["print", target]);
|
|
17721
17722
|
return 1;
|
|
17722
17723
|
} catch (e) {
|
|
17723
17724
|
return e.code === 113 ? 0 : null;
|