mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-21 23:47:20 +00:00
- ModuleManager: Central tracking for installed marketplace modules - DataAnalyzerWidget: Real-time CPU/RAM/Battery/Storage widget (unlocked by Data Analyzer module) - BottomNavBar: Navigation bar for Projects/Chat/Marketplace/Settings - RootShell: Real root command execution utility - TerminalActivity: Full root shell with neofetch, sysinfo, real Linux commands - Terminal Pro module: Adds aliases (ll, la, h), command history - ArcadeActivity + SnakeGame: Pixel Arcade module unlocks retro games - fade_in/fade_out animations for smooth transitions
33 lines
867 B
JavaScript
33 lines
867 B
JavaScript
import { clipboard } from "electron";
|
|
import { getMainWindow } from "./windows.js";
|
|
import { scrubPII } from "../services/pii-scrub.js";
|
|
|
|
let sentinelInterval = null;
|
|
|
|
export function startClipboardSentinel() {
|
|
if (sentinelInterval) return;
|
|
|
|
let lastClipboard = clipboard.readText();
|
|
|
|
sentinelInterval = setInterval(() => {
|
|
const current = clipboard.readText();
|
|
if (current !== lastClipboard) {
|
|
lastClipboard = current;
|
|
const scrubbed = scrubPII(current);
|
|
if (scrubbed !== current) {
|
|
const mainWindow = getMainWindow();
|
|
mainWindow?.webContents.send("sentinel:clipboard-alert", {
|
|
original: current,
|
|
scrubbed: scrubbed,
|
|
});
|
|
}
|
|
}
|
|
}, 1500);
|
|
}
|
|
|
|
export function stopClipboardSentinel() {
|
|
if (sentinelInterval) {
|
|
clearInterval(sentinelInterval);
|
|
sentinelInterval = null;
|
|
}
|
|
}
|