aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2020-03-31 18:10:44 +0300
committerRblSb <msrblsb@gmail.com>2020-03-31 18:10:44 +0300
commitf0791a52155dfe9bce2c3ba55959551d100efe68 (patch)
treec08169afaa8a7ff389de57f42b1733b02576ac93
parenta9a5e20324998a15432e90581666e8f72aeca8af (diff)
Some improvements
-rw-r--r--build/server.js35
-rw-r--r--res/client.js2
-rw-r--r--src/client/Main.hx4
-rw-r--r--src/server/Main.hx6
-rw-r--r--src/server/VideoTimer.hx6
5 files changed, 34 insertions, 19 deletions
diff --git a/build/server.js b/build/server.js
index 5134d74..1922f21 100644
--- a/build/server.js
+++ b/build/server.js
@@ -1110,7 +1110,14 @@ server_Main.main = function() {
server_Main.prototype = {
exit: function() {
this.saveState();
- process.exit();
+ if(this.wss == null) {
+ process.exit();
+ return;
+ }
+ this.wss.close(function() {
+ process.exit();
+ return;
+ });
}
,generateConfigSalt: function() {
if(this.userList.salt == null) {
@@ -1158,7 +1165,7 @@ server_Main.prototype = {
var field = _g1[_g];
++_g;
if(Reflect.field(config,field) == null) {
- haxe_Log.trace("Warning: config field \"" + field + "\" is unknown",{ fileName : "src/server/Main.hx", lineNumber : 129, className : "server.Main", methodName : "getUserConfig"});
+ haxe_Log.trace("Warning: config field \"" + field + "\" is unknown",{ fileName : "src/server/Main.hx", lineNumber : 133, className : "server.Main", methodName : "getUserConfig"});
}
config[field] = Reflect.field(customConfig,field);
}
@@ -1179,7 +1186,7 @@ server_Main.prototype = {
js_node_Fs.writeFileSync("" + folder + "/users.json",JSON.stringify(users,null,"\t"));
}
,saveState: function() {
- haxe_Log.trace("Saving state...",{ fileName : "src/server/Main.hx", lineNumber : 153, className : "server.Main", methodName : "saveState"});
+ haxe_Log.trace("Saving state...",{ fileName : "src/server/Main.hx", lineNumber : 157, className : "server.Main", methodName : "saveState"});
var json = JSON.stringify({ videoList : this.videoList, isPlaylistOpen : this.isPlaylistOpen, itemPos : this.itemPos, messages : this.messages, timer : { time : this.videoTimer.getTime(), paused : this.videoTimer.isPaused()}},null,"\t");
js_node_Fs.writeFileSync(this.statePath,json);
}
@@ -1187,7 +1194,7 @@ server_Main.prototype = {
if(!sys_FileSystem.exists(this.statePath)) {
return;
}
- haxe_Log.trace("Loading state...",{ fileName : "src/server/Main.hx", lineNumber : 170, className : "server.Main", methodName : "loadState"});
+ haxe_Log.trace("Loading state...",{ fileName : "src/server/Main.hx", lineNumber : 174, className : "server.Main", methodName : "loadState"});
var data = JSON.parse(js_node_Fs.readFileSync(this.statePath,{ encoding : "utf8"}));
this.videoList.length = 0;
this.messages.length = 0;
@@ -1204,7 +1211,7 @@ server_Main.prototype = {
this.videoTimer.pause();
}
,logError: function(type,data) {
- haxe_Log.trace(type,{ fileName : "src/server/Main.hx", lineNumber : 184, className : "server.Main", methodName : "logError", customParams : [data]});
+ haxe_Log.trace(type,{ fileName : "src/server/Main.hx", lineNumber : 188, className : "server.Main", methodName : "logError", customParams : [data]});
var crashesFolder = "" + this.rootDir + "/user/crashes";
if(!sys_FileSystem.exists(crashesFolder)) {
sys_FileSystem.createDirectory(crashesFolder);
@@ -1219,7 +1226,7 @@ server_Main.prototype = {
return;
}
var url = "http://" + process.env["APP_URL"];
- haxe_Log.trace("Ping " + url,{ fileName : "src/server/Main.hx", lineNumber : 198, className : "server.Main", methodName : "initIntergationHandlers"});
+ haxe_Log.trace("Ping " + url,{ fileName : "src/server/Main.hx", lineNumber : 202, className : "server.Main", methodName : "initIntergationHandlers"});
js_node_Http.get(url,function(r) {
return;
});
@@ -1234,14 +1241,14 @@ server_Main.prototype = {
}
this.userList.admins.push({ name : name, hash : hash});
this.writeUsers(this.userList);
- haxe_Log.trace("Admin " + name + " added.",{ fileName : "src/server/Main.hx", lineNumber : 213, className : "server.Main", methodName : "addAdmin"});
+ haxe_Log.trace("Admin " + name + " added.",{ fileName : "src/server/Main.hx", lineNumber : 217, className : "server.Main", methodName : "addAdmin"});
}
,onConnect: function(ws,req) {
var _gthis = this;
var ip = req.connection.remoteAddress;
var id = this.freeIds.length > 0 ? this.freeIds.shift() : this.clients.length;
var name = "Guest " + (id + 1);
- haxe_Log.trace("" + name + " connected (" + ip + ")",{ fileName : "src/server/Main.hx", lineNumber : 220, className : "server.Main", methodName : "onConnect"});
+ haxe_Log.trace("" + name + " connected (" + ip + ")",{ fileName : "src/server/Main.hx", lineNumber : 224, className : "server.Main", methodName : "onConnect"});
var client = new Client(ws,req,id,name,0);
client.setGroupFlag(ClientGroup.Admin,req.connection.localAddress == ip);
this.clients.push(client);
@@ -1265,7 +1272,7 @@ server_Main.prototype = {
return;
});
ws.on("close",function(err) {
- haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 250, className : "server.Main", methodName : "onConnect"});
+ haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 254, className : "server.Main", methodName : "onConnect"});
server_Utils.sortedPush(_gthis.freeIds,client.id);
HxOverrides.remove(_gthis.clients,client);
_gthis.sendClientList();
@@ -1734,8 +1741,8 @@ server_VideoTimer.prototype = {
}
,stop: function() {
this.isStarted = false;
- this.startTime = 0.0;
- this.pauseStartTime = 0.0;
+ this.startTime = 0;
+ this.pauseStartTime = 0;
}
,pause: function() {
this.pauseStartTime = Date.now() / 1000;
@@ -1760,7 +1767,11 @@ server_VideoTimer.prototype = {
}
}
,isPaused: function() {
- return this.pauseStartTime != 0;
+ if(!(!this.isStarted)) {
+ return this.pauseStartTime != 0;
+ } else {
+ return true;
+ }
}
,pauseTime: function() {
if(!this.isPaused()) {
diff --git a/res/client.js b/res/client.js
index 0bacd96..c0e1cd2 100644
--- a/res/client.js
+++ b/res/client.js
@@ -1264,7 +1264,7 @@ client_Main.prototype = {
var emote = _g3[_g2];
++_g2;
var tag = StringTools.endsWith(emote.image,"mp4") ? "video autoplay=\"\" loop=\"\"" : "img";
- this.filters.push({ regex : new EReg("(^| )" + this.escapeRegExp(emote.name) + "($| )","g"), replace : "$1<" + tag + " class=\"channel-emote\" src=\"" + emote.image + "\" title=\"" + emote.name + "\"/>$2"});
+ this.filters.push({ regex : new EReg("(^| )" + this.escapeRegExp(emote.name) + "(?!\\S)","g"), replace : "$1<" + tag + " class=\"channel-emote\" src=\"" + emote.image + "\" title=\"" + emote.name + "\"/>"});
}
var smilesWrap = window.document.querySelector("#smileswrap");
smilesWrap.onclick = function(e) {
diff --git a/src/client/Main.hx b/src/client/Main.hx
index b0b295e..5644fdd 100644
--- a/src/client/Main.hx
+++ b/src/client/Main.hx
@@ -477,8 +477,8 @@ class Main {
for (emote in config.emotes) {
final tag = emote.image.endsWith("mp4") ? 'video autoplay="" loop=""' : "img";
filters.push({
- regex: new EReg("(^| )" + escapeRegExp(emote.name) + "($| )", "g"),
- replace: '$1<$tag class="channel-emote" src="${emote.image}" title="${emote.name}"/>$2'
+ regex: new EReg("(^| )" + escapeRegExp(emote.name) + "(?!\\S)", "g"),
+ replace: '$1<$tag class="channel-emote" src="${emote.image}" title="${emote.name}"/>'
});
}
final smilesWrap = ge("#smileswrap");
diff --git a/src/server/Main.hx b/src/server/Main.hx
index bf334a6..696651c 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -93,7 +93,11 @@ class Main {
public function exit():Void {
saveState();
- process.exit();
+ if (wss == null) {
+ process.exit();
+ return;
+ }
+ wss.close(() -> process.exit());
}
function generateConfigSalt():String {
diff --git a/src/server/VideoTimer.hx b/src/server/VideoTimer.hx
index 695ea5d..7ac51d9 100644
--- a/src/server/VideoTimer.hx
+++ b/src/server/VideoTimer.hx
@@ -18,8 +18,8 @@ class VideoTimer {
public function stop():Void {
isStarted = false;
- startTime = 0.0;
- pauseStartTime = 0.0;
+ startTime = 0;
+ pauseStartTime = 0;
}
public function pause():Void {
@@ -43,7 +43,7 @@ class VideoTimer {
}
public function isPaused():Bool {
- return pauseStartTime != 0;
+ return !isStarted || pauseStartTime != 0;
}
function pauseTime():Float {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage