diff --git a/src/headless/plugins/bookmarks/plugin.js b/src/headless/plugins/bookmarks/plugin.js index 0e567315aa..17388b27c1 100644 --- a/src/headless/plugins/bookmarks/plugin.js +++ b/src/headless/plugins/bookmarks/plugin.js @@ -27,16 +27,7 @@ converse.plugins.add('converse-bookmarks', { // New functions which don't exist yet can also be added. ChatRoom: { - getDisplayName() { - const { _converse, getDisplayName } = this.__super__; - const { bookmarks } = _converse.state; - const bookmark = this.get('bookmarked') ? bookmarks?.get(this.get('jid')) : null; - return bookmark?.get('name') || getDisplayName.apply(this, arguments); - }, - - /** - * @param {string} nick - */ + /** @param {string} nick */ getAndPersistNickname(nick) { nick = nick || getNicknameFromBookmark(this.get('jid')); return this.__super__.getAndPersistNickname.call(this, nick); diff --git a/src/headless/plugins/muc/muc.js b/src/headless/plugins/muc/muc.js index 4472da3507..ab2c68cea9 100644 --- a/src/headless/plugins/muc/muc.js +++ b/src/headless/plugins/muc/muc.js @@ -1235,14 +1235,20 @@ class MUC extends ModelWithMessages(ColorAwareModel(ChatBoxBase)) { */ async getDiscoInfoFields () { const fields = await api.disco.getFields(this.get('jid')); + const config = fields.reduce((config, f) => { const name = f.get('var'); + if (name === 'muc#roomconfig_roomname') { + config['roomname'] = f.get('value'); + } if (name?.startsWith('muc#roominfo_')) { config[name.replace('muc#roominfo_', '')] = f.get('value'); } return config; }, {}); + this.config.save(config); + if (config['roomname']) this.save({ name: config['roomname'] }); } /** diff --git a/src/plugins/bookmark-views/index.js b/src/plugins/bookmark-views/index.js index 41efd70912..e927fff4ea 100644 --- a/src/plugins/bookmark-views/index.js +++ b/src/plugins/bookmark-views/index.js @@ -8,7 +8,7 @@ import './modals/bookmark-form.js'; import BookmarkForm from './components/bookmark-form.js'; import BookmarksView from './components/bookmarks-list.js'; import { BookmarkableChatRoomView } from './mixins.js'; -import { removeBookmarkViaEvent, addBookmarkViaEvent } from './utils.js'; +import { removeBookmarkViaEvent } from './utils.js'; import './styles/bookmarks.scss'; @@ -34,7 +34,6 @@ converse.plugins.add('converse-bookmark-views', { const exports = { removeBookmarkViaEvent, - addBookmarkViaEvent, MUCBookmarkForm: BookmarkForm, BookmarksView, }; diff --git a/src/plugins/bookmark-views/tests/bookmarks.js b/src/plugins/bookmark-views/tests/bookmarks.js index cabcab0d53..8aff8d013f 100644 --- a/src/plugins/bookmark-views/tests/bookmarks.js +++ b/src/plugins/bookmark-views/tests/bookmarks.js @@ -26,42 +26,6 @@ describe("A chat room", function () { await u.waitUntil(() => room.getAndPersistNickname.calls.count()); expect(room.get('nick')).toBe('Othello'); })); - - it("displays that it's bookmarked through its bookmark icon", - mock.initConverse([], {}, async function (_converse) { - - const { u } = converse.env; - await mock.waitForRoster(_converse, 'current', 0); - mock.waitUntilDiscoConfirmed( - _converse, _converse.bare_jid, - [{'category': 'pubsub', 'type': 'pep'}], - [ - 'http://jabber.org/protocol/pubsub#publish-options', - 'urn:xmpp:bookmarks:1#compat' - ] - ); - - const nick = 'romeo'; - const muc_jid = 'lounge@montague.lit'; - await _converse.api.rooms.open(muc_jid); - await mock.getRoomFeatures(_converse, muc_jid); - await mock.waitForReservedNick(_converse, muc_jid, nick); - - const view = _converse.chatboxviews.get('lounge@montague.lit'); - expect(view.querySelector('.chatbox-title__text .fa-bookmark')).toBe(null); - - const { bookmarks } = _converse.state; - bookmarks.create({ - 'jid': view.model.get('jid'), - 'autojoin': false, - 'name': 'The lounge', - 'nick': ' some1' - }); - view.model.set('bookmarked', true); - await u.waitUntil(() => view.querySelector('.chatbox-title__text .fa-bookmark') !== null); - view.model.set('bookmarked', false); - await u.waitUntil(() => view.querySelector('.chatbox-title__text .fa-bookmark') === null); - })); }); }); diff --git a/src/plugins/bookmark-views/utils.js b/src/plugins/bookmark-views/utils.js index 222e0e68ae..78f703f8eb 100644 --- a/src/plugins/bookmark-views/utils.js +++ b/src/plugins/bookmark-views/utils.js @@ -17,16 +17,6 @@ export async function removeBookmarkViaEvent(ev) { } } -/** - * @param {Event} ev - */ -export function addBookmarkViaEvent(ev) { - ev.preventDefault(); - const el = /** @type {Element} */ (ev.currentTarget); - const jid = el.getAttribute('data-room-jid'); - api.modal.show('converse-bookmark-form-modal', { jid }, ev); -} - /** * @param {Event} ev */ diff --git a/src/plugins/muc-views/modals/templates/muc-details.js b/src/plugins/muc-views/modals/templates/muc-details.js index ff7d6ea8c5..ae51506d24 100644 --- a/src/plugins/muc-views/modals/templates/muc-details.js +++ b/src/plugins/muc-views/modals/templates/muc-details.js @@ -11,8 +11,8 @@ const subject = (model) => { const i18n_topic = __('Topic'); const i18n_topic_author = __('Topic author'); return html` -
${i18n_topic}:
${i18n_topic_author}: ${subject && subject.author}
+${i18n_topic}:
${i18n_topic_author}: ${subject && subject.author}
`; } @@ -65,13 +65,13 @@ export default (model) => { nonce=${model.vcard?.get('vcard_updated')} height="72" width="72"> -${i18n_name}: ${model.get('name')}
-${i18n_address}:
${i18n_name}: ${model.get('name')}
+${i18n_address}:
${i18n_desc}:
${i18n_desc}:
${i18n_online_users}: ${num_occupants}
-${i18n_features}: +
${i18n_online_users}: ${num_occupants}
+${i18n_features}: