- Include the script's directory path #304. - Exclude Windows-specific instructions on non-Windows OS. - Standardize language across dialogs for consistency. Other supporting changes: - Add script diagnostics data collection from main process. - Document script file storage and execution tamper protection in SECURITY.md. - Remove redundant comment in `NodeReadbackFileWriter`. - Centralize error display for uniformity and simplicity. - Simpify `WindowVariablesValidator` to omit checks when not on the renderer process. - Improve and centralize Electron environment detection. - Use more emphatic language (don't worry) in error messages.
24 lines
944 B
TypeScript
24 lines
944 B
TypeScript
import { FunctionKeys } from '@/TypeHelpers';
|
|
import { CodeRunner } from '@/application/CodeRunner/CodeRunner';
|
|
import { Dialog } from '@/presentation/common/Dialog';
|
|
import { ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector';
|
|
import { IpcChannel } from './IpcChannel';
|
|
|
|
export const IpcChannelDefinitions = {
|
|
CodeRunner: defineElectronIpcChannel<CodeRunner>('code-run', ['runCode']),
|
|
Dialog: defineElectronIpcChannel<Dialog>('dialogs', ['showError', 'saveFile']),
|
|
ScriptDiagnosticsCollector: defineElectronIpcChannel<ScriptDiagnosticsCollector>('script-diagnostics-collector', ['collectDiagnosticInformation']),
|
|
} as const;
|
|
|
|
export type ChannelDefinitionKey = keyof typeof IpcChannelDefinitions;
|
|
|
|
function defineElectronIpcChannel<T>(
|
|
name: string,
|
|
functionNames: readonly FunctionKeys<T>[],
|
|
): IpcChannel<T> {
|
|
return {
|
|
namespace: name,
|
|
accessibleMembers: functionNames,
|
|
};
|
|
}
|