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')
|
||||
|
||||
angApp.factory('ChimeVerseService', ($window, $timeout, CredentialsServise, SystemService, AppStateService, SettingsService) => {
|
||||
angApp.factory('ChimeVerseService', (
|
||||
$window, $timeout, CredentialsServise, SystemService, AppStateService,
|
||||
SettingsService, XmppHelperService
|
||||
) => {
|
||||
|
||||
let chimeverseService = {}
|
||||
|
||||
|
@ -32,7 +35,11 @@ angApp.factory('ChimeVerseService', ($window, $timeout, CredentialsServise, Syst
|
|||
let lang = navigator.language
|
||||
let allowBookmarks = SettingsService.get('allowBookmarks')
|
||||
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 = {
|
||||
assets_path: './node_modules/converse.js/dist/',
|
||||
allow_bookmarks: allowBookmarks,
|
||||
|
@ -40,7 +47,7 @@ angApp.factory('ChimeVerseService', ($window, $timeout, CredentialsServise, Syst
|
|||
auto_reconnect: true,
|
||||
// debug: true,
|
||||
i18n: lang,
|
||||
jid: login + '/Chimeverse'+xmppResource,
|
||||
jid: login,
|
||||
omemo_default: omemoDefault,
|
||||
password: password,
|
||||
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/system-service')
|
||||
require('./app/services/app-state-service')
|
||||
require('./app/services/xmpp-helper-service')
|
||||
require('./app/services/chimeverse-service')
|
||||
require('./app/controllers/settings-controller')
|
||||
require('./app/controllers/login-controller')
|
||||
|
|
Loading…
Reference in New Issue