From 921f3e6a4c913412867ebdfc4991b065092460e8 Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Tue, 12 Jan 2021 03:49:38 +0100 Subject: [PATCH] Some adjustments for the shared part refactoring --- github | 2 +- modules/renderer/PushToTalkHandler.ts | 6 +++--- modules/renderer/SingleInstanceHandler.ts | 6 +++--- modules/renderer/UnloadHandler.ts | 6 +++--- modules/renderer/audio/AudioRecorder.ts | 4 ++-- modules/renderer/backend-impl/Backend.ts | 21 ++++++++++++++++-- modules/renderer/connection/FileTransfer.ts | 22 +++++++++++-------- modules/renderer/index.ts | 1 - modules/renderer/version.ts | 24 --------------------- 9 files changed, 44 insertions(+), 48 deletions(-) delete mode 100644 modules/renderer/version.ts diff --git a/github b/github index 279544d..d3e4e09 160000 --- a/github +++ b/github @@ -1 +1 @@ -Subproject commit 279544d0a48ab5236755d6d2ba47d6d23d31f749 +Subproject commit d3e4e092dd1638abe51ca2a456fb50f4e9ed7d33 diff --git a/modules/renderer/PushToTalkHandler.ts b/modules/renderer/PushToTalkHandler.ts index 477f7ad..2e54b4b 100644 --- a/modules/renderer/PushToTalkHandler.ts +++ b/modules/renderer/PushToTalkHandler.ts @@ -1,7 +1,7 @@ import {KeyEvent as NKeyEvent, RegisterCallback, UnregisterCallback} from "tc-native/ppt"; import {EventType, KeyEvent, KeyHook, SpecialKey} from "tc-shared/PPTListener"; import {tr} from "tc-shared/i18n/localize"; -import {LogCategory} from "tc-shared/log"; +import {LogCategory, logTrace} from "tc-shared/log"; import * as log from "tc-shared/log"; let key_listener: ((_: KeyEvent) => any)[] = []; @@ -97,7 +97,7 @@ function listener_hook(event: KeyEvent) { const index = old_hooks.findIndex(e => e === hook); if(index === -1 && hook.callback_press) { hook.callback_press(); - log.trace(LogCategory.GENERAL, tr("Trigger key press for %o!"), hook); + logTrace(LogCategory.GENERAL, tr("Trigger key press for %o!"), hook); } } } @@ -108,7 +108,7 @@ function listener_hook(event: KeyEvent) { if(hook.key_code === event.key_code) { if(hook.callback_release) { hook.callback_release(); - log.trace(LogCategory.GENERAL, tr("Trigger key release for %o!"), hook); + logTrace(LogCategory.GENERAL, tr("Trigger key release for %o!"), hook); } } else { new_hooks.push(hook); diff --git a/modules/renderer/SingleInstanceHandler.ts b/modules/renderer/SingleInstanceHandler.ts index 85007d6..5b24947 100644 --- a/modules/renderer/SingleInstanceHandler.ts +++ b/modules/renderer/SingleInstanceHandler.ts @@ -2,8 +2,8 @@ import {createErrorModal} from "tc-shared/ui/elements/Modal"; import * as electron from "electron"; import {tr, tra} from "tc-shared/i18n/localize"; -import {handle_connect_request} from "tc-shared/main"; import {server_connections} from "tc-shared/ConnectionManager"; +import {handle_connect_request} from "tc-shared/main"; electron.ipcRenderer.on('connect', (event, url) => handle_native_connect_request(url)); @@ -24,9 +24,9 @@ function handle_native_connect_request(url_string: string) { return; } - let connection = server_connections.active_connection(); + let connection = server_connections.getActiveConnectionHandler(); if(connection.connected) { - connection = server_connections.spawn_server_connection(); + connection = server_connections.spawnConnectionHandler(); } handle_connect_request({ diff --git a/modules/renderer/UnloadHandler.ts b/modules/renderer/UnloadHandler.ts index eed546b..94cbed2 100644 --- a/modules/renderer/UnloadHandler.ts +++ b/modules/renderer/UnloadHandler.ts @@ -5,14 +5,14 @@ import {remote} from "electron"; import {server_connections} from "tc-shared/ConnectionManager"; window.onbeforeunload = event => { - if(settings.static(Settings.KEY_DISABLE_UNLOAD_DIALOG)) + if(settings.getValue(Settings.KEY_DISABLE_UNLOAD_DIALOG)) return; - const active_connections = server_connections.all_connections().filter(e => e.connected); + const active_connections = server_connections.getAllConnectionHandlers().filter(e => e.connected); if(active_connections.length == 0) return; const do_exit = (closeWindow: boolean) => { - const dp = server_connections.all_connections().map(e => { + const dp = server_connections.getAllConnectionHandlers().map(e => { if(e.serverConnection.connected()) return e.serverConnection.disconnect(tr("client closed")) .catch(error => { diff --git a/modules/renderer/audio/AudioRecorder.ts b/modules/renderer/audio/AudioRecorder.ts index dd0502c..6d36d1e 100644 --- a/modules/renderer/audio/AudioRecorder.ts +++ b/modules/renderer/audio/AudioRecorder.ts @@ -38,7 +38,7 @@ export class NativeInput implements AbstractInput { this.nativeHandle = audio.record.create_recorder(); this.nativeConsumer = this.nativeHandle.create_consumer(); - this.nativeConsumer.toggle_rnnoise(settings.static_global(Settings.KEY_RNNOISE_FILTER)); + this.nativeConsumer.toggle_rnnoise(settings.getValue(Settings.KEY_RNNOISE_FILTER)); this.nativeConsumer.callback_ended = () => { this.filtered = true; @@ -280,7 +280,7 @@ export class NativeLevelMeter implements LevelMeter { this.nativeRecorder = audio.record.create_recorder(); this.nativeConsumer = this.nativeRecorder.create_consumer(); - this.nativeConsumer.toggle_rnnoise(settings.static_global(Settings.KEY_RNNOISE_FILTER)); + this.nativeConsumer.toggle_rnnoise(settings.getValue(Settings.KEY_RNNOISE_FILTER)); this.nativeFilter = this.nativeConsumer.create_filter_threshold(.5); this.nativeFilter.set_attack_smooth(.75); diff --git a/modules/renderer/backend-impl/Backend.ts b/modules/renderer/backend-impl/Backend.ts index d3dcf36..c86852c 100644 --- a/modules/renderer/backend-impl/Backend.ts +++ b/modules/renderer/backend-impl/Backend.ts @@ -1,8 +1,10 @@ -import {NativeClientBackend} from "tc-shared/backend/NativeClient"; -import {ipcRenderer} from "electron"; +import {NativeClientBackend, NativeClientVersionInfo} from "tc-shared/backend/NativeClient"; +import {ipcRenderer, remote} from "electron"; import {Arguments, processArguments} from "../../shared/process-arguments"; +import * as os from "os"; const call_basic_action = (name: string, ...args: any[]) => ipcRenderer.send('basic-action', name, ...args); +let versionInfo: NativeClientVersionInfo; export class NativeClientBackendImpl implements NativeClientBackend { openChangeLog(): void { call_basic_action("open-changelog"); @@ -27,4 +29,19 @@ export class NativeClientBackendImpl implements NativeClientBackend { showDeveloperOptions(): boolean { return processArguments.has_flag(Arguments.DEV_TOOLS); } + + getVersionInfo(): NativeClientVersionInfo { + if(!versionInfo) { + versionInfo = { + version: remote.getGlobal("app_version_client") || "?.?.?", + + os_platform: os.platform(), + os_platform_version: os.release(), + + os_architecture: os.arch() + }; + } + + return versionInfo; + } } \ No newline at end of file diff --git a/modules/renderer/connection/FileTransfer.ts b/modules/renderer/connection/FileTransfer.ts index 9008e33..0a47f2d 100644 --- a/modules/renderer/connection/FileTransfer.ts +++ b/modules/renderer/connection/FileTransfer.ts @@ -13,7 +13,7 @@ import { import * as native from "tc-native/connection"; import {tr} from "tc-shared/i18n/localize"; import * as log from "tc-shared/log"; -import {LogCategory} from "tc-shared/log"; +import {LogCategory, logError} from "tc-shared/log"; import {base64_encode_ab} from "tc-shared/utils/buffers"; import * as path from "path"; import * as electron from "electron"; @@ -32,8 +32,9 @@ const executeTransfer = (transfer: FileTransfer, object: native.ft.TransferObjec }); } catch (error) { let message = typeof error === "object" ? 'message' in error ? error.message : typeof error === "string" ? error : undefined : undefined; - if(!message) - log.error(LogCategory.FILE_TRANSFER, tr("Failed to create file transfer handle: %o"), error); + if(!message) { + logError(LogCategory.FILE_TRANSFER, tr("Failed to create file transfer handle: %o"), error); + } transfer.setFailed({ error: "connection", @@ -102,8 +103,9 @@ const executeTransfer = (transfer: FileTransfer, object: native.ft.TransferObjec if(!ntransfer.start()) throw tr("failed to start transfer"); } catch (error) { - if(typeof error !== "string") - log.error(LogCategory.FILE_TRANSFER, tr("Failed to start file transfer: %o"), error); + if(typeof error !== "string") { + logError(LogCategory.FILE_TRANSFER, tr("Failed to start file transfer: %o"), error); + } transfer.setFailed({ error: "connection", @@ -139,8 +141,9 @@ TransferProvider.setProvider(new class extends TransferProvider { transfer.target.createResponseFromBuffer(); }); } catch (error) { - if(typeof error !== "string") - log.error(LogCategory.FILE_TRANSFER, tr("Failed to initialize transfer target: %o"), error); + if(typeof error !== "string") { + logError(LogCategory.FILE_TRANSFER, tr("Failed to initialize transfer target: %o"), error); + } transfer.setFailed({ error: "io", @@ -172,8 +175,9 @@ TransferProvider.setProvider(new class extends TransferProvider { executeTransfer(transfer, nativeSource, () => { }); } catch (error) { - if(typeof error !== "string") - log.error(LogCategory.FILE_TRANSFER, tr("Failed to initialize transfer source: %o"), error); + if(typeof error !== "string") { + logError(LogCategory.FILE_TRANSFER, tr("Failed to initialize transfer source: %o"), error); + } transfer.setFailed({ error: "io", diff --git a/modules/renderer/index.ts b/modules/renderer/index.ts index 66ddf6f..ed444ea 100644 --- a/modules/renderer/index.ts +++ b/modules/renderer/index.ts @@ -153,7 +153,6 @@ loader.register_task(loader.Stage.JAVASCRIPT_INITIALIZING, { function: async () => { /* all files which replaces a native driver */ try { - await import("./version"); await import("./MenuBar"); await import("./ContextMenu"); await import("./SingleInstanceHandler"); diff --git a/modules/renderer/version.ts b/modules/renderer/version.ts deleted file mode 100644 index a5fe13f..0000000 --- a/modules/renderer/version.ts +++ /dev/null @@ -1,24 +0,0 @@ -//FIXME: This works in general, but is not a good thing -namespace native { - const remote = require('electron').remote; - export async function client_version() : Promise { - const version = remote.getGlobal("app_version_client"); - return version || "?.?.?"; - } -} - -window["native"] = native; - -namespace forum { - export interface UserData { - session_id: string; - username: string; - - application_data: string; - application_data_sign: string; - } -} - -//window["forum"] = forum; - -export = {}; \ No newline at end of file