diff --git a/meshuser.js b/meshuser.js index a104ac25..45082b3c 100644 --- a/meshuser.js +++ b/meshuser.js @@ -310,11 +310,6 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use // Send user information to web socket, this is the first thing we send try { ws.send(JSON.stringify({ action: 'userinfo', userinfo: parent.CloneSafeUser(parent.users[user._id]) })); } catch (ex) { } - // Send user web state - db.Get('ws' + user._id, function (err, docs) { - if (docs.length == 1) { try { ws.send(JSON.stringify({ action: 'event', event: { action: 'userWebState', state: docs[0].state, nolog: 1 } })); } catch (ex) { } } - }); - // We are all set, start receiving data ws._socket.resume(); }); diff --git a/package.json b/package.json index ffb986ff..97e84fc2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.3.8-o", + "version": "0.3.8-p", "keywords": [ "Remote Management", "Intel AMT", diff --git a/views/default-min.handlebars b/views/default-min.handlebars index 67f7bb98..ba2f0bb9 100644 --- a/views/default-min.handlebars +++ b/views/default-min.handlebars @@ -1 +1 @@ -
{{{logoutControl}}}
My Devices | My Account | My Events | My Files | My Users | My Server |
{{{logoutControl}}}
My Devices | My Account | My Events | My Files | My Users | My Server |
Localization Settings
Notification Settings
Change password
@@ -967,6 +968,7 @@
// Check if we are in debug mode
args = parseUriArgs();
+ if (!args.locale) { var x = getstore('loctag', 0); if ((x != null) && (x != '*')) { args.locale = x; } }
debugmode = args.debug;
if (args.webrtc != null) { attemptWebRTC = (args.webrtc == 1); }
QV('p13AutoConnect', debugmode); // Files
@@ -1699,6 +1701,7 @@
var oldShowRealNames = localStorage.getItem('showRealNames');
var oldUiMode = localStorage.getItem('uiMode');
var oldSort = localStorage.getItem('sort');
+ var oldLoctag = localStorage.getItem('loctag');
var webstate = JSON.parse(message.event.state);
for (var i in webstate) { localStorage.setItem(i, webstate[i]); }
@@ -1708,6 +1711,7 @@
if ((webstate.showRealNames != null) && (webstate.showRealNames != oldShowRealNames)) { showRealNames = Q('RealNameCheckBox').checked = (webstate.showRealNames == "1"); masterUpdate(6); }
if ((webstate.uiMode != null) && (webstate.uiMode != oldUiMode)) { userInterfaceSelectMenu(parseInt(webstate.uiMode)); }
if ((webstate.sort != null) && (webstate.sort != oldSort)) { document.getElementById("sortselect").selectedIndex = sort = parseInt(webstate.sort); masterUpdate(6); }
+ if ((webstate.loctag != null) && (webstate.loctag != oldLoctag)) { if (webstate.loctag != null) { args.locale = webstate.loctag; } else { delete args.locale; } masterUpdate(0xFFFFFFFF); }
}
break;
}
@@ -1957,7 +1961,9 @@
// Per-group notification settings
if (message.event.meshid && userinfo.links && userinfo.links[message.event.meshid] && userinfo.links[message.event.meshid].notify) {
- n |= userinfo.links[message.event.meshid].notify;
+ n &= userinfo.links[message.event.meshid].notify;
+ } else {
+ n = 0;
}
// Show the notification
@@ -6092,6 +6098,28 @@
meshserver.send({ action: 'otp-hkey-get' });
}
+ var loclist = {'af':'Afrikaans','sq':'Albanian','ar':'Arabic (Standard)','ar-dz':'Arabic (Algeria)','ar-bh':'Arabic (Bahrain)','ar-eg':'Arabic (Egypt)','ar-iq':'Arabic (Iraq)','ar-jo':'Arabic (Jordan)','ar-kw':'Arabic (Kuwait)','ar-lb':'Arabic (Lebanon)','ar-ly':'Arabic (Libya)','ar-ma':'Arabic (Morocco)','ar-om':'Arabic (Oman)','ar-qa':'Arabic (Qatar)','ar-sa':'Arabic (Saudi Arabia)','ar-sy':'Arabic (Syria)','ar-tn':'Arabic (Tunisia)','ar-ae':'Arabic (U.A.E.)','ar-ye':'Arabic (Yemen)','ar':'Aragonese','hy':'Armenian','as':'Assamese','ast':'Asturian','az':'Azerbaijani','eu':'Basque','bg':'Bulgarian','be':'Belarusian','bn':'Bengali','bs':'Bosnian','br':'Breton','bg':'Bulgarian','my':'Burmese','ca':'Catalan','ch':'Chamorro','ce':'Chechen','zh':'Chinese','zh-hk':'Chinese (Hong Kong)','zh-cn':'Chinese (PRC)','zh-sg':'Chinese (Singapore)','zh-tw':'Chinese (Taiwan)','cv':'Chuvash','co':'Corsican','cr':'Cree','hr':'Croatian','cs':'Czech','da':'Danish','nl':'Dutch (Standard)','nl-be':'Dutch (Belgian)','en':'English','en-au':'English (Australia)','en-bz':'English (Belize)','en-ca':'English (Canada)','en-ie':'English (Ireland)','en-jm':'English (Jamaica)','en-nz':'English (New Zealand)','en-ph':'English (Philippines)','en-za':'English (South Africa)','en-tt':'English (Trinidad & Tobago)','en-gb':'English (United Kingdom)','en-us':'English (United States)','en-zw':'English (Zimbabwe)','eo':'Esperanto','et':'Estonian','fo':'Faeroese','fa':'Farsi','fj':'Fijian','fi':'Finnish','fr':'French (Standard)','fr-be':'French (Belgium)','fr-ca':'French (Canada)','fr-fr':'French (France)','fr-lu':'French (Luxembourg)','fr-mc':'French (Monaco)','fr-ch':'French (Switzerland)','fy':'Frisian','fur':'Friulian','gd':'Gaelic (Scots)','gd-ie':'Gaelic (Irish)','gl':'Galacian','ka':'Georgian','de':'German (Standard)','de-at':'German (Austria)','de-de':'German (Germany)','de-li':'German (Liechtenstein)','de-lu':'German (Luxembourg)','de-ch':'German (Switzerland)','el':'Greek','gu':'Gujurati','ht':'Haitian','he':'Hebrew','hi':'Hindi','hu':'Hungarian','is':'Icelandic','id':'Indonesian','iu':'Inuktitut','ga':'Irish','it':'Italian (Standard)','it-ch':'Italian (Switzerland)','ja':'Japanese','kn':'Kannada','ks':'Kashmiri','kk':'Kazakh','km':'Khmer','ky':'Kirghiz','tlh':'Klingon','ko':'Korean','ko-kp':'Korean (North Korea)','ko-kr':'Korean (South Korea)','la':'Latin','lv':'Latvian','lt':'Lithuanian','lb':'Luxembourgish','mk':'FYRO Macedonian','ms':'Malay','ml':'Malayalam','mt':'Maltese','mi':'Maori','mr':'Marathi','mo':'Moldavian','nv':'Navajo','ng':'Ndonga','ne':'Nepali','no':'Norwegian','nb':'Norwegian (Bokmal)','nn':'Norwegian (Nynorsk)','oc':'Occitan','or':'Oriya','om':'Oromo','fa':'Persian','fa-ir':'Persian/Iran','pl':'Polish','pt':'Portuguese','pt-br':'Portuguese (Brazil)','pa':'Punjabi','pa-in':'Punjabi (India)','pa-pk':'Punjabi (Pakistan)','qu':'Quechua','rm':'Rhaeto-Romanic','ro':'Romanian','ro-mo':'Romanian (Moldavia)','ru':'Russian','ru-mo':'Russian (Moldavia)','sz':'Sami (Lappish)','sg':'Sango','sa':'Sanskrit','sc':'Sardinian','gd':'Scots Gaelic','sd':'Sindhi','si':'Singhalese','sr':'Serbian','sk':'Slovak','sl':'Slovenian','so':'Somani','sb':'Sorbian','es':'Spanish','es-ar':'Spanish (Argentina)','es-bo':'Spanish (Bolivia)','es-cl':'Spanish (Chile)','es-co':'Spanish (Colombia)','es-cr':'Spanish (Costa Rica)','es-do':'Spanish (Dominican Republic)','es-ec':'Spanish (Ecuador)','es-sv':'Spanish (El Salvador)','es-gt':'Spanish (Guatemala)','es-hn':'Spanish (Honduras)','es-mx':'Spanish (Mexico)','es-ni':'Spanish (Nicaragua)','es-pa':'Spanish (Panama)','es-py':'Spanish (Paraguay)','es-pe':'Spanish (Peru)','es-pr':'Spanish (Puerto Rico)','es-es':'Spanish (Spain)','es-uy':'Spanish (Uruguay)','es-ve':'Spanish (Venezuela)','sx':'Sutu','sw':'Swahili','sv':'Swedish','sv-fi':'Swedish (Finland)','sv-sv':'Swedish (Sweden)','ta':'Tamil','tt':'Tatar','te':'Teluga','th':'Thai','tig':'Tigre','ts':'Tsonga','tn':'Tswana','tr':'Turkish','tk':'Turkmen','uk':'Ukrainian','hsb':'Upper Sorbian','ur':'Urdu','ve':'Venda','vi':'Vietnamese','vo':'Volapuk','wa':'Walloon','cy':'Welsh','xh':'Xhosa','ji':'Yiddish','zu':'Zulu'};
+ function account_showLocalizationSettings() {
+ if (xxdialogMode) return false;
+ var n = getstore('loctag', 0);
+ var x = '';
+ var y = addHtmlValue('Localization', x);
+ setDialogMode(2, "Localization Settings", 3, account_showLocalizationSettingsEx, y);
+ return false;
+ }
+
+ function account_showLocalizationSettingsEx() {
+ var n = getstore('loctag', 0);
+ var m = Q('d2locselect').value;
+ if (n != m) {
+ if (m != '*') { args.locale = m; } else { delete args.locale; }
+ putstore('loctag', args.locale);
+ masterUpdate(0xFFFFFFFF); // Refresh everything.
+ }
+ }
+
function account_enableNotifications() {
if (Notification) { Notification.requestPermission().then(function (permission) { QV('accountEnableNotificationsSpan', permission != "granted"); }); }
return false;
@@ -6847,7 +6875,7 @@
if (xxdialogMode) return false;
var meshNotify = 0;
if (userinfo.links && userinfo.links[currentMesh._id] && userinfo.links[currentMesh._id].notify) { meshNotify = userinfo.links[currentMesh._id].notify; }
- var x = '';
+ var x = 'Notification settings must also be turned on in account settings.
';
x += '