diff --git a/evennia/web/webclient/static/webclient/js/plugins/message_routing.js b/evennia/web/webclient/static/webclient/js/plugins/message_routing.js
index e54fdc1e2c..1279126b39 100644
--- a/evennia/web/webclient/static/webclient/js/plugins/message_routing.js
+++ b/evennia/web/webclient/static/webclient/js/plugins/message_routing.js
@@ -48,6 +48,7 @@ let spawns = (function () {
//
var onFocusOut = function (evnt) {
ignoreDefaultKeydown = false;
+ onAlterTag(evnt); // percolate event so closing the pane, etc saves any last changes.
}
//
@@ -108,13 +109,15 @@ let spawns = (function () {
// If it does, rewrite the Text Type to be our tag value instead.
//
var onText = function (args, kwargs) {
- var txt = args[0];
+ var div = $("
" + args[0] + "
");
+ var txt = div.text();
for( var id in spawnmap ) {
var regex = spawnmap[id]["r"];
if ( txt.match(regex) != null ) {
kwargs['type'] = spawnmap[id]["t"];
}
}
+ return false;
}
diff --git a/evennia/web/webclient/static/webclient/js/plugins/options2.js b/evennia/web/webclient/static/webclient/js/plugins/options2.js
index 96c7d05c8d..eb3bc31bc2 100644
--- a/evennia/web/webclient/static/webclient/js/plugins/options2.js
+++ b/evennia/web/webclient/static/webclient/js/plugins/options2.js
@@ -120,8 +120,15 @@ let options2 = (function () {
//
// Called when options settings are sent from server
var onGotOptions = function (args, kwargs) {
+ var addKnownType = window.plugins["goldenlayout"].addKnownType;
+
$.each(kwargs, function(key, value) {
options[key] = value;
+
+ // for "available_server_tags", addKnownType for each value ["tag1", "tag2", ... ]
+ if( (key === "available_server_tags") && addKnownType ) {
+ $.each( value, addKnownType );
+ }
});
}