Files
OSIT-AE-App-Native-Electron/src/main/file_utils.ts
Scott Idem 083fc56337 feat(bridge): implement presentation-aware handover and robust placeholder resolution
- Upgraded launch_from_cache to automatically trigger LibreOffice/AppleScript launchers after file copy.
- Hardened expandPath to resolve [home] and [tmp] placeholders anywhere in strings via global regex.
- Enhanced get-device-info telemetry to provide absolute home and tmp paths to the UI.
- Exposed native:launch-presentation in preload and implemented explicit LibreOffice (--impress) support on Linux.
2026-01-26 15:12:11 -05:00

17 lines
542 B
TypeScript

import * as os from 'os';
import * as path from 'path';
export function expandPath(filePath: string): string {
if (!filePath) return filePath;
// Resolve all instances of [home] and [tmp] using global regex
return filePath
.replace(/\[home\]/g, os.homedir())
.replace(/\[tmp\]/g, os.tmpdir());
}
export function getHashedPath(cacheRoot: string, hash: string): string {
const expandedRoot = expandPath(cacheRoot);
const subdirectory = hash.substring(0, 2);
return path.join(expandedRoot, subdirectory, `${hash}.file`);
}