Fixed invalid identities

This commit is contained in:
WolverinDEV 2018-12-30 01:51:34 +01:00
parent 15ab95c1f9
commit 032b03f769
6 changed files with 57 additions and 17 deletions

View file

@ -33,12 +33,18 @@ namespace loader {
/* /*
invoking main task invoking main task
*/ */
LOADED LOADED,
DONE
} }
let current_stage: Stage = Stage.INITIALIZING; let current_stage: Stage = Stage.INITIALIZING;
const tasks: {[key:number]:Task[]} = {}; const tasks: {[key:number]:Task[]} = {};
export function finished() {
return current_stage == Stage.DONE;
}
export function register_task(stage: Stage, task: Task) { export function register_task(stage: Stage, task: Task) {
const task_array = tasks[stage] || (tasks[stage] = []); const task_array = tasks[stage] || (tasks[stage] = []);
task_array.push(task); task_array.push(task);
@ -409,9 +415,11 @@ const loader_webassembly = {
}; };
Module['onAbort'] = message => { Module['onAbort'] = message => {
if(!loader.finished()) {
Module['onAbort'] = undefined; Module['onAbort'] = undefined;
Module['_initialized'] = false; Module['_initialized'] = false;
displayCriticalError("Could not load webassembly files!<br>Message: <code>" + message + "</code>"); displayCriticalError("Could not load webassembly files!<br>Message: <code>" + message + "</code>");
}
}; };
Module['locateFile'] = file => "wasm/" + file; Module['locateFile'] = file => "wasm/" + file;

View file

@ -166,7 +166,17 @@ function main() {
const address = settings.static("connect_address", ""); const address = settings.static("connect_address", "");
const username = settings.static("connect_username", "Another TeaSpeak user"); const username = settings.static("connect_username", "Another TeaSpeak user");
if(profile.valid()) {
globalClient.startConnection(address, profile, username); globalClient.startConnection(address, profile, username);
} else {
Modals.spawnConnectModal({
url: address,
enforce: true
}, {
profile: profile,
enforce: true
});
}
} }
/* /*
let tag = $("#tmpl_music_frame").renderTag({ let tag = $("#tmpl_music_frame").renderTag({

View file

@ -52,9 +52,14 @@ namespace profiles.identities {
} }
export function loadIdentity(key: string) : TeamSpeakIdentity { export function loadIdentity(key: string) : TeamSpeakIdentity {
try {
let handle = funcationParseIdentity(key); let handle = funcationParseIdentity(key);
if(!handle) return undefined; if(!handle) return undefined;
return new TeamSpeakIdentity(handle, "TeaWeb user"); return new TeamSpeakIdentity(handle, "TeaWeb user");
} catch(error) {
console.error(error);
}
return undefined;
} }
export function loadIdentityFromFileContains(contains: string) : TeamSpeakIdentity { export function loadIdentityFromFileContains(contains: string) : TeamSpeakIdentity {

View file

@ -352,15 +352,26 @@ class ControlBar {
.text(bookmark.display_name) .text(bookmark.display_name)
.on('click', event => { .on('click', event => {
this.htmlTag.find(".btn_bookmark").find(".dropdown").removeClass("displayed"); this.htmlTag.find(".btn_bookmark").find(".dropdown").removeClass("displayed");
const profile = profiles.find_profile(mark.connect_profile) || profiles.default_profile();
if(profile.valid()) {
this.handle.startConnection( this.handle.startConnection(
mark.server_properties.server_address + ":" + mark.server_properties.server_port, mark.server_properties.server_address + ":" + mark.server_properties.server_port,
profiles.find_profile(mark.connect_profile) || profiles.default_profile(), profile,
mark.nickname, mark.nickname,
{ {
password: mark.server_properties.server_password_hash, password: mark.server_properties.server_password_hash,
hashed: true hashed: true
} }
); );
} else {
Modals.spawnConnectModal({
url: mark.server_properties.server_address + ":" + mark.server_properties.server_port,
enforce: true
}, {
profile: profile,
enforce: true
})
}
}) })
) )
} else { } else {

View file

@ -98,6 +98,7 @@ namespace Modals {
tag.find(".connect_nickname").on("keyup", () => updateFields()); tag.find(".connect_nickname").on("keyup", () => updateFields());
setTimeout(() => updateFields(), 100);
//connect_address //connect_address
return tag; return tag;
}, },

View file

@ -594,9 +594,14 @@ namespace Modals {
const element = event.target as HTMLInputElement; const element = event.target as HTMLInputElement;
if(element.value.length == 0) { if(element.value.length == 0) {
display_error("Please provide an identity"); display_error("Please provide an identity");
selected_profile.set_identity(IdentitifyType.TEAMSPEAK, undefined as any);
profiles.mark_need_save();
} else { } else {
const identity = profiles.identities.TSIdentityHelper.loadIdentity(element.value); const identity = profiles.identities.TSIdentityHelper.loadIdentity(element.value);
if(!identity) { if(!identity) {
selected_profile.set_identity(IdentitifyType.TEAMSPEAK, identity as any);
profiles.mark_need_save();
display_error("Failed to parse identity string!"); display_error("Failed to parse identity string!");
return; return;
} }