[Feat] New settings passwd UX & Config enc support

This commit is contained in:
Minoricew
2025-06-05 00:35:50 +08:00
parent fbc5cf1f57
commit 7c8d3d4fbc
33 changed files with 2006 additions and 675 deletions

View File

@@ -0,0 +1,79 @@
// @ts-check
const __SCOPE = "main";
/**
*
* @param {import("../../../types/main/electron").AuraIPCMain} ipcMain
*/
const applyConfigIpcHandler = (ipcMain) => {
const methodBase = "$aura.config";
const mainEventBus = global.__HUGO_AURA_EVENT_BUS__;
const ConfigManager = require("../../shared/configManager");
const configManager = global.__HUGO_AURA_CONFIG_MGR__
? global.__HUGO_AURA_CONFIG_MGR__
: new ConfigManager();
ipcMain.on(`${methodBase}.refreshMainConfig`, (_event) => {
mainEventBus.emit("$aura.config.refreshConfig");
});
ipcMain.handle(
`${methodBase}.setConfigEncSettings`,
(
/** @type {import("electron").IpcMainInvokeEvent} */ _event,
/** @type {{ target: boolean }} */ arg
) => {
mainEventBus.emit("$aura.config.updateConfigEncSettings", arg.target);
return {
success: true,
};
}
);
ipcMain.on(`${methodBase}.getConfigFromMainSync`, (event, _arg) => {
if (
global.__HUGO_AURA_CONFIG__ &&
Object.keys(global.__HUGO_AURA_CONFIG__).length !== 0
) {
event.returnValue = {
success: true,
data: global.__HUGO_AURA_CONFIG__,
};
} else {
console.warn(
"[HugoAura / Main / IPC / Config / WARN] Global config var not found!"
);
event.returnValue = {
success: false,
data: {},
};
}
});
ipcMain.handle(
`${methodBase}.dispatchConfigFromRenderer`,
(_event, /** @type {{data: string, writeConfig?: boolean}} */ arg) => {
const parsedData = JSON.parse(arg.data);
global.__HUGO_AURA_CONFIG__ = parsedData;
if (arg.writeConfig) {
const result = configManager.writeConfig(parsedData);
if (!result) {
return {
success: false,
};
}
}
return {
success: true,
};
}
);
};
module.exports = { applyConfigIpcHandler };

View File

@@ -52,7 +52,7 @@ const applyPlsIpcHandler = (ipcMain) => {
`${methodBase}.getPlsStats`,
/**
*
* @returns {{ success: boolean; data: PLSStatus; }}
* @returns {{ success: boolean; data: PLSStatus | null | undefined; }}
*/
(_event, _arg) => {
return {
@@ -83,7 +83,7 @@ const applyPlsIpcHandler = (ipcMain) => {
`${methodBase}.getPlsSettings`,
/**
*
* @returns {{ success: boolean; data: Record<any, any> }}
* @returns {{ success: boolean; data: Record<any, any> | null | undefined }}
*/
(_event, _arg) => {
return {
@@ -113,7 +113,7 @@ const applyPlsIpcHandler = (ipcMain) => {
`${methodBase}.getPlsRules`,
/**
*
* @returns {{ success: boolean; data: Record<any, any> }}
* @returns {{ success: boolean; data: Record<any, any> | null | undefined }}
*/
(_event, _arg) => {
return {