Some minor fixed to make the app buildadle on windows

canary
WolverinDEV 2019-08-21 20:07:00 +02:00
parent b881b31153
commit b164685ffe
10 changed files with 68 additions and 9 deletions

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
if [[ -d generated/ ]]; then
rm -r generated
[[ $? -ne 0 ]] && {
echo "Failed to remove old directory!"
exit 1
}
fi
mkdir generated
[[ $? -ne 0 ]] && {
echo "Failed to create the 'generated' directory!"
exit 1
}
$(curl --version &> /dev/null)
[[ $? -ne 0 ]] && {
echo "Missing CURL. Please install it"
exit 1
}
curl https://web.teaspeak.de/wasm/TeaWeb-Worker-Codec-Opus.js --output generated/TeaWeb-Worker-Codec-Opus.js
[[ $? -ne 0 ]] && {
echo "Failed to download opus worker library"
exit 1
}
curl https://web.teaspeak.de/wasm/TeaWeb-Worker-Codec-Opus.wasm --output generated/TeaWeb-Worker-Codec-Opus.wasm
[[ $? -ne 0 ]] && {
echo "Failed to download opus worker library natives"
exit 1
}
echo "Files downloaded successfully"

View File

@ -4,6 +4,9 @@
error_reporting(E_ALL);
$WEB_CLIENT = http_response_code() !== false;
$localhost = false;
if(gethostname() == "WolverinDEV")
$localhost = true;
?>
<!DOCTYPE html>
<html lang="en">
@ -135,6 +138,7 @@
</div>
</div>
<?php if($localhost) { ?>
<div id="spoiler-style" style="z-index: 1000000; position: absolute; display: block; background: white; right: 5px; left: 5px; top: 34px;">
<!-- <img src="https://www.chromatic-solutions.de/teaspeak/window/connect_opened.png"> -->
<!-- <img src="http://puu.sh/DZDgO/9149c0a1aa.png"> -->
@ -163,6 +167,7 @@
});
}, 2500);
</script>
<?php } ?>
<div id="music-test"></div>
<div id="templates"></div>

View File

@ -690,7 +690,8 @@ class ConnectionHandler {
if(vconnection && vconnection.voice_recorder() && vconnection.voice_recorder().record_supported) {
const active = !this.client_status.input_muted && !this.client_status.output_muted;
if(active) {
/* No need to start the microphone when we're not even connected */
if(active && this.serverConnection.connected()) {
if(vconnection.voice_recorder().input.current_state() === audio.recorder.InputState.PAUSED) {
vconnection.voice_recorder().input.start().then(result => {
if(result != audio.recorder.InputStartResult.EOK) {

View File

@ -1,3 +1,5 @@
/// <reference path="./ModalPermissionEdit.ts" /> /* first needs the AbstractPermissionEdit */
/* Canvas Permission Editor */
namespace pe {
namespace ui {

View File

@ -1,3 +1,5 @@
/// <reference path="./ModalPermissionEdit.ts" /> /* first needs the AbstractPermissionEdit */
namespace pe {
class HTMLPermission {
readonly handle: HTMLPermissionEditor;

View File

@ -82,11 +82,16 @@ class RecorderProfile {
async initialize() : Promise<void> {
await this.load();
await this.reinitialize_filter();
//Why we started directly after initialize?
//After we connect to a server the ConnectionHandler will automatically
//start the VoiceRecorder as soon we've a voice bridge.
/*
try {
await this.input.start();
} catch(error) {
console.warn(tr("Failed to start recorder after initialize (%o)"), error);
}
*/
}
private initialize_input() {

View File

@ -71,4 +71,6 @@
- File Transfer bytes transferred, month & global (Up + Download)
TODO:
Fix these icons: https://img.did.science/Screenshot_20-11-06.png
Fix these icons: https://img.did.science/Screenshot_20-11-06.png
Fix auto TS compile for vendor emoji-picker
Make identity settings a bit smaller (Even scroll on my Laptop)

15
tools/dtsgen/out.d.ts vendored
View File

@ -1,6 +1,13 @@
/* File: C:\Users\WolverinDEV\TeaSpeak\TeaWeb\tools\dtsgen\test\test_05.ts */
/// <reference path="A" />
/// <reference path="B" />
declare abstract class InfoManagerBase {
/* File: C:\Users\WolverinDEV\TeaSpeak\TeaWeb\tools\dtsgen\test\test_03.ts */
declare enum YY {
H = "C",
B = "Y"
}
declare interface X {
type: any;
c: YY.B;
}
declare class X {
static x();
}

2
vendor/xbbcode vendored

@ -1 +1 @@
Subproject commit 11773c2d5dc4a585b7a9136ac0a2bb87ebf94ebd
Subproject commit d75eb02ef8038595da5cc82d5953b170df9c49eb

View File

@ -409,7 +409,7 @@ namespace audio {
audio_constrains.echoCancellation = true;
/* may supported */ (audio_constrains as any).autoGainControl = true;
/* may supported */ (audio_constrains as any).noiseSuppression = true;
audio_constrains.sampleSize = {min: 420, max: 960 * 10, ideal: 960};
/* disabled because most the time we get a OverconstrainedError */ //audio_constrains.sampleSize = {min: 420, max: 960 * 10, ideal: 960};
const stream = await media_function({audio: audio_constrains, video: undefined});
if(!_queried_permissioned) query_devices(); /* we now got permissions, requery devices */
@ -441,8 +441,10 @@ namespace audio {
if(!this._current_device)
throw tr("invalid device");
if(!this._audio_context)
if(!this._audio_context) {
debugger;
throw tr("missing audio context");
}
const _result = await JavascriptInput.request_media_stream(this._current_device.device_id, this._current_device.group_id);
if(!(_result instanceof MediaStream)) {