Apply additional security recommendations (#2050)

* enable sandbox

* enable CSP (umami tentatively works?) and reduce amount of ipc APIs exposed

* remove csp from index
This commit is contained in:
Kendall Garner
2026-05-23 05:09:22 +00:00
committed by GitHub
parent 0de1e1aa3e
commit 7befd70e21
19 changed files with 179 additions and 190 deletions
@@ -112,7 +112,7 @@ export const useMainPlayerListener = () => {
decreaseVolume(volumeWheelStep);
});
mpvPlayerListener.rendererError((_event: any, message: string) => {
mpvPlayerListener.rendererError((message: string) => {
handleMpvError(message);
});
@@ -117,11 +117,11 @@ export const useMPRIS = () => {
return;
}
mpris?.requestPosition((_e: unknown, data: { position: number }) => {
mpris?.requestPosition((data: { position: number }) => {
player.mediaSeekToTimestamp(data.position);
});
mpris?.requestSeek((_e: unknown, data: { offset: number }) => {
mpris?.requestSeek((data: { offset: number }) => {
player.mediaSkipForward(data.offset);
});
@@ -133,7 +133,7 @@ export const useMPRIS = () => {
player.toggleShuffle();
});
mpris?.requestVolume((_e: unknown, data: { volume: number }) => {
mpris?.requestVolume((data: { volume: number }) => {
player.setVolume(data.volume);
});
@@ -4,27 +4,27 @@ import React, { useCallback, useEffect } from 'react';
import { usePlayerStatus, useSettingsStore, useWindowSettings } from '/@/renderer/store';
import { PlayerStatus } from '/@/shared/types/types';
const ipc = isElectron() ? window.api.ipc : null;
const utils = isElectron() ? window.api.utils : null;
export const usePowerSaveBlocker = () => {
const status = usePlayerStatus();
const { preventSleepOnPlayback, preventSuspendOnPlayback } = useWindowSettings();
const startPowerSaveBlocker = useCallback(async () => {
if (!ipc) return;
if (!utils) return;
try {
await ipc.invoke('power-save-blocker-start', { full: preventSleepOnPlayback });
await utils.startPowerSaveBlocker(preventSleepOnPlayback);
} catch (error) {
console.error('Failed to start power save blocker:', error);
}
}, [preventSleepOnPlayback]);
const stopPowerSaveBlocker = useCallback(async () => {
if (!ipc) return;
if (!utils) return;
try {
await ipc.invoke('power-save-blocker-stop');
await utils.stopPowerSaveBlocker();
} catch (error) {
console.error('Failed to stop power save blocker:', error);
}