Generate random xmpp resource only if no resource provided at all
This commit is contained in:
parent
e2fe4fe5b3
commit
8f53a4ec63
|
@ -2,7 +2,10 @@ let angApp = require(__dirname + '/../init')
|
||||||
|
|
||||||
const chimeversePlugin = require(__dirname +'/../../libs/converse.js/3rdparty/chimeverse-plugin')
|
const chimeversePlugin = require(__dirname +'/../../libs/converse.js/3rdparty/chimeverse-plugin')
|
||||||
|
|
||||||
angApp.factory('ChimeVerseService', ($window, $timeout, CredentialsServise, SystemService, AppStateService, SettingsService) => {
|
angApp.factory('ChimeVerseService', (
|
||||||
|
$window, $timeout, CredentialsServise, SystemService, AppStateService,
|
||||||
|
SettingsService, XmppHelperService
|
||||||
|
) => {
|
||||||
|
|
||||||
let chimeverseService = {}
|
let chimeverseService = {}
|
||||||
|
|
||||||
|
@ -32,7 +35,11 @@ angApp.factory('ChimeVerseService', ($window, $timeout, CredentialsServise, Syst
|
||||||
let lang = navigator.language
|
let lang = navigator.language
|
||||||
let allowBookmarks = SettingsService.get('allowBookmarks')
|
let allowBookmarks = SettingsService.get('allowBookmarks')
|
||||||
let omemoDefault = SettingsService.get('omemoDefault')
|
let omemoDefault = SettingsService.get('omemoDefault')
|
||||||
let xmppResource = '.' + (Math.random().toString(36)+'00000000000000000').slice(2, 7); // Generate 5 char unique str
|
let xmppResource = XmppHelperService.getResourceFromJid(login)
|
||||||
|
if (!xmppResource) {
|
||||||
|
xmppResource = '.' + (Math.random().toString(36)+'00000000000000000').slice(2, 7) // Generate 5 char unique str
|
||||||
|
login = login + '/Chimeverse'+xmppResource
|
||||||
|
}
|
||||||
let conversejsParams = {
|
let conversejsParams = {
|
||||||
assets_path: './node_modules/converse.js/dist/',
|
assets_path: './node_modules/converse.js/dist/',
|
||||||
allow_bookmarks: allowBookmarks,
|
allow_bookmarks: allowBookmarks,
|
||||||
|
@ -40,7 +47,7 @@ angApp.factory('ChimeVerseService', ($window, $timeout, CredentialsServise, Syst
|
||||||
auto_reconnect: true,
|
auto_reconnect: true,
|
||||||
// debug: true,
|
// debug: true,
|
||||||
i18n: lang,
|
i18n: lang,
|
||||||
jid: login + '/Chimeverse'+xmppResource,
|
jid: login,
|
||||||
omemo_default: omemoDefault,
|
omemo_default: omemoDefault,
|
||||||
password: password,
|
password: password,
|
||||||
play_sounds: false,
|
play_sounds: false,
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
let angApp = require(__dirname + '/../init')
|
||||||
|
|
||||||
|
angApp.factory('XmppHelperService', [() => {
|
||||||
|
|
||||||
|
let xmppHelperService = {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use function copy from Strophe js lib because converse.js Strophe library
|
||||||
|
* is under private _api and unavailable before converse.js is initialized.
|
||||||
|
* This function is used _before_ converse.js is initialized.
|
||||||
|
*
|
||||||
|
* Get the resource portion of a JID String.
|
||||||
|
* @param {string} jid A JID.
|
||||||
|
* @return {string | null} A String containing the resource.
|
||||||
|
*/
|
||||||
|
xmppHelperService.getResourceFromJid = (jid) => {
|
||||||
|
if (!jid) { return null }
|
||||||
|
const s = jid.split("/")
|
||||||
|
if (s.length < 2) { return null }
|
||||||
|
s.splice(0, 1)
|
||||||
|
return s.join('/')
|
||||||
|
}
|
||||||
|
|
||||||
|
return xmppHelperService
|
||||||
|
}])
|
|
@ -8,6 +8,7 @@ require('./app/services/credentials-service')
|
||||||
require('./app/services/settings-service')
|
require('./app/services/settings-service')
|
||||||
require('./app/services/system-service')
|
require('./app/services/system-service')
|
||||||
require('./app/services/app-state-service')
|
require('./app/services/app-state-service')
|
||||||
|
require('./app/services/xmpp-helper-service')
|
||||||
require('./app/services/chimeverse-service')
|
require('./app/services/chimeverse-service')
|
||||||
require('./app/controllers/settings-controller')
|
require('./app/controllers/settings-controller')
|
||||||
require('./app/controllers/login-controller')
|
require('./app/controllers/login-controller')
|
||||||
|
|
Loading…
Reference in New Issue