JC Brand
7bf39a092f
muc: move message handler into own method
2019-12-06 13:09:09 +01:00
Dele Olajide
890db3427f
Handle message notifications about affiliation change for users not in a room
...
See https://git.happy-dev.fr/startinblox/components/sib-chat/issues/96
2019-12-06 12:55:07 +01:00
JC Brand
c646879cca
Ping the server when the tab becomes visible
2019-12-06 10:57:52 +01:00
JC Brand
5b507ec74e
muc: check that we're still connected if the tab becomes visible
...
Otherwise Converse might only realise we're no longer in the room when
the user tries to interact with it.
2019-12-05 22:29:37 +01:00
JC Brand
7866247f5d
dragresize: Unregister global event handlers
2019-12-05 21:02:06 +01:00
raphaelSeguin
97b8ecbbdf
Display status avatars in the occupants list
2019-12-05 14:13:52 +01:00
JC Brand
b1c9af3ed0
Various improvements to resizing of occupants view.
...
- Remove need for the `converse-mouse-events` plugin.
- Register `mousemove` and `mouseup` handlers only when necessary and only inside the MUC DOM element.
- Restore converse-dragresize to roughly it's original state before work started on this.
- Move `applyDragResistance` to utils.
updates #1640
2019-12-05 09:32:48 +01:00
JC Brand
0c4da63e07
Merge branch 'pullRequest_SkalierungTeilnehmerListe' of github.com:worlword/converse.js
2019-12-04 14:55:47 +01:00
JC Brand
115abdda27
muc-views: pass all model attributes to template
...
Makes it possible to show a validation message in a downstream
application.
2019-12-03 15:02:37 +01:00
JC Brand
dffe3d1a26
smacks: Set enable_smacks
to true
as default
2019-12-03 13:54:28 +01:00
JC Brand
c3447dd205
New config option: `persistent_store
`
...
Allows for using IndexedDB as the persistent store, instead of localStorage
2019-12-03 13:51:57 +01:00
JC Brand
5232019ed7
roster: Replace lodash methods with native ones
2019-12-03 12:37:26 +01:00
JC Brand
7fc3151e56
Fixes #1783
2019-12-03 11:31:28 +01:00
JC Brand
9bff567b3c
Fixes #1796
2019-12-03 10:57:01 +01:00
JC Brand
f1e1e538b6
muc-views: Wait for messages to be fetched
...
Also, insert occupants sidebar before inserting the chat into the DOM
2019-12-02 14:00:21 +01:00
JC Brand
099603ed8b
chatview: Reduce debounce time for markScrolled from 100ms to 50ms
2019-12-02 13:59:58 +01:00
JC Brand
fc42f2903c
muc-views: enterRoom should be called on the model
2019-12-02 13:45:35 +01:00
JC Brand
d2cf29bce4
muc: One more place to fetch messages
...
When restoring an already entered room from cache.
Otherwise we end up with an empty history.
2019-11-29 17:04:54 +01:00
JC Brand
1c116b0385
mam: distinguish between messages fetched before and after MUC join
2019-11-29 16:17:48 +01:00
JC Brand
a9128808de
muc: Re-render the bottom panel once we enter the MUC
...
Otherwise we end up with no textarea when rendering a MUC that starts
with connection_status of entered but which then needs to reconnnect.
2019-11-29 16:17:28 +01:00
JC Brand
53ced8c763
muc: Don't restore messages from cache...
...
if we're just going to clear them again
This avoids flashing of messages followed by a spinner.
2019-11-29 09:58:38 +01:00
JC Brand
d7d810ba89
Improvements to rendering MUC MAM logs before joining
...
- Add config variable `muc_show_logs_before_join`
- Restore nickname form for the original use-case (when not showing MAM logs before joining).
- Render nickname form in the `.muc-bottom-panel` when showing MAM logs (instead of in a modal)
- Show a message when there aren't any archived messages to show
- Fix converse-mam so that chat logs are properly fetched before entering a MUC
closes #1266
2019-11-29 09:23:15 +01:00
Emmanuel Gil Peyrot
a83911d67f
WIP: Move the nickname selection form to a modal
2019-11-28 15:45:48 +01:00
JC Brand
c836eb401f
disco: Import individual lodash methods
2019-11-26 22:04:50 +01:00
JC Brand
762717dd38
Bugfix. streamFeaturesAdded
triggered too soon.
...
`streamFeaturesAdded` should only be triggered once we've received them
from the server.
This appears to be a timing bug, likely introduced by the IndexedDB
refactoring.
2019-11-26 22:04:50 +01:00
JC Brand
e23c7ce543
More retraction updates
...
- Retracted moderated message are not editable
- Use "removed" for user-facing text
2019-11-26 22:04:38 +01:00
JC Brand
13ffe5a667
Various smaller retraction related fixes and improvements
2019-11-26 12:16:48 +01:00
JC Brand
53df5d6b49
Fix whitelisting and dependencies on the headline plugins
2019-11-22 14:38:09 +01:00
JC Brand
3ffb56baa2
Replace debug
configuration setting with loglevel
2019-11-22 14:23:19 +01:00
JC Brand
e4010185dc
Add new config option allow_message_retractions
2019-11-22 13:50:36 +01:00
JC Brand
2eff75b387
Don't show retraction button on already retracted messages
2019-11-22 13:50:36 +01:00
JC Brand
2e3cc12d9a
Bugfix. Only remove modals when disconnected
...
not while tearing down, otherwise the modals get removed while
reconnecting and we have stale references to modals no longer in the
DOM.
2019-11-22 13:50:36 +01:00
JC Brand
025cdbf18f
Check for support before allowing message moderation
2019-11-22 13:50:36 +01:00
JC Brand
ad77ba60e6
Only show larger text for up to 3 emojis
2019-11-22 13:50:36 +01:00
JC Brand
1b9ba58aca
Rename variable to be more accurate
2019-11-22 13:50:36 +01:00
JC Brand
99f539b3cb
MUC: Don't show duplicate subsequent info
messages
2019-11-22 13:50:36 +01:00
JC Brand
3d4bad4b19
Don't mark info messages as followups
2019-11-22 13:50:36 +01:00
JC Brand
657dd1e6d1
Add /close command for chats
2019-11-22 13:50:36 +01:00
JC Brand
16c83877d2
Bugfix. Re-instantiate confirmation promise
2019-11-22 13:50:36 +01:00
JC Brand
d895c7fc16
Bugfix. Leave space between classes
2019-11-22 13:50:36 +01:00
JC Brand
149fcf5d32
Properly wait when clearing messages
2019-11-22 13:50:36 +01:00
JC Brand
b4dafcc45b
Add support for XEP-0424 and XEP-0425
...
- Add support for switching ephemerality after message creation
- Move more methods from ChatBox and ChatRoom to utils/stanza.js
- Rename 'ephemeral' to 'is_ephemeral' since it's a boolean
2019-11-22 13:50:36 +01:00
JC Brand
4b3d427cff
muc: only create view once model has finished initialization
2019-11-22 13:50:36 +01:00
JC Brand
9965a93291
muc: Simplify getVCardForChatroomOccupant
method
2019-11-22 13:50:36 +01:00
JC Brand
e915321e33
Group MUC utility methods in muc_utils object
...
as opposed to having them in the `u` object
2019-11-22 13:50:36 +01:00
JC Brand
8523cae8d0
Move message parsing code out of ChatBox into new stanza-utils plugin
2019-11-22 13:50:36 +01:00
JC Brand
caadb24310
Refactor logging out into its own module
...
So that we don't need to `_converse` obj in order to log messages
2019-11-22 13:50:36 +01:00
JC Brand
e7661b725e
Updates #1760 : Private messages no longer received after websocket reconnect
2019-11-18 22:01:02 +01:00
JC Brand
88ea9f8b61
Match a message of only emojis (instead of just a single emoji)
2019-11-18 12:51:18 +01:00
ndoell
b94e5653a9
Add resize functionality to occupants-list in MUC.
...
This adds the ability to resize the MUC-Member-List in all MUCs. The
MUC-Member-List can be scaled between 20% width of the MUC and 75% of
the MUC.
2019-11-13 19:39:35 +01:00
Dele Olajide
1f673b7aae
StartinBlox PR to fix issues
...
1. enable avatars in autocomplete
2. change search/filter type for automcomplete
2019-11-12 16:22:37 +01:00
JC Brand
5ede164e8d
Disable custom emojis for now
...
Fixes #1769
2019-11-09 11:53:53 +01:00
JC Brand
530e29810d
Bugfix. Clicking emoji category twice closes picker and inserts null
2019-11-04 18:25:25 +01:00
JC Brand
879e165ae5
Refactoring
...
- Move headless one-on-one chat functionality into converse-chat
- Split converse-headline into converse-headlines and converse-headlines-views
- Add api in `_converse.api.chatboxes` for creating chatboxes
- Add `_converse.api.controlbox.get` method
2019-11-04 15:05:50 +01:00
JC Brand
93d56898b7
Fixes #1772 . Wait for roster to be fetched
2019-11-03 19:34:55 +01:00
JC Brand
23797dee21
_converse.api.alert.show
is now _converse.api.show
...
Instead of taking an integer for the `type`, "info", "warn" or "error" should be passed in.
2019-10-31 14:42:44 +01:00
JC Brand
17dfa3d7ba
Avoid race-condition that destroys vcards
...
VCards were being created before `fetch` was completed, so once fetch
was done those VCards were unset from their collection.
Add a new event and promise `VCardsInitialized` that triggers after
successful fetching and wait for it before creating VCards.
2019-10-30 13:02:23 +01:00
JC Brand
1fa203c990
Support for IndexedDB. updates #1105
...
Depend on latest backbone.browserStorage which has support for IndexedDB
via localforage.
Storage operations are now asynchronous and transactional.
Bugs fixed (mostly by waiting for operations to complete):
* Rooms are now fetched asynchronously, so wait before triggering `show`
or when closing.
* Make sure chat create/update transactions complete before firing events
* Make sure chats and messages have been fetched before creating new ones.
* When doing a `fetch` with `wait: false` on a collection and then
creating a model in that collection, then once the read
operation finishes (after creating the model), the collection is emptied again.
* Patch and wait when saving.
Otherwise we have previously set attributes overriding later ones.
* Make sure api.roomviews.close returns a promise
Test fixes:
* Chats are now asynchronously returned, so we need to use `await`
* Wait for the storage transaction to complete when creating and updating messages
* Wait for all chatboxes to close
Otherwise we get sessionStorage inconsistencies due to the async nature of localforage.
* Wait for room views to close in spec/chatroom.js
In the process, remove the `closeAllChatBoxes` override in
converse-controlbox by letting the `close` method decide whether it
should be closed or not.
2019-10-30 13:02:23 +01:00
JC Brand
b71500104b
Move emoji-picker out so that its width can expand
2019-10-29 17:19:33 +01:00
JC Brand
9934fa7191
New event minimizedChatViewInitialized
2019-10-22 18:33:56 +02:00
JC Brand
b6d5077d04
Refactor _converse.XMPPStatus
out into headless/converse-status.js
...
Also move some other methods out of `converse-core` into the plugins
that use them.
2019-10-18 11:13:09 +02:00
JC Brand
aae7e111eb
Fix roster caching and versioning issue.
...
- Always try to first get local cache before requesting the roster.
- Rename `roster_fetched` with `roster_cached`
2019-10-17 16:19:14 +02:00
JC Brand
015f1c6fc8
Make status clickable instead of adding pencil icon
2019-10-17 13:33:43 +02:00
JC Brand
ea54644a45
Fixes #1089 . When filtering by online
, show all non-offline users
2019-10-17 13:30:23 +02:00
JC Brand
f7a57f272e
Remove show_only_online_users
config setting.
...
Doesn't appear to be very useful. IIRC it was added as a workaround for
slow roster issues.
2019-10-17 13:17:37 +02:00
JC Brand
e6e23a1a82
Add initial support for custom emojis
2019-10-17 12:12:08 +02:00
JC Brand
2ed8b4660e
Bugfix. Duplicate rooms-list header
2019-10-16 12:11:59 +02:00
JC Brand
99805d2510
Make sure the roster is fetched again if stream resumption fails
2019-10-15 14:30:04 +02:00
JC Brand
9d619820f9
core: Don't allow the connection to be passed in.
...
This was used for tests but is no longer necessary.
2019-10-15 14:30:04 +02:00
JC Brand
be03b30d75
bookmarks: better handling of timeouts
...
- Inform the user when fetching of bookmarks times out.
- Only set the cached flag if the user doesn't have bookmarks.
2019-10-15 13:09:34 +02:00
JC Brand
487f1b5281
core: use _.get since connection might not be set up yet
2019-10-15 13:09:34 +02:00
JC Brand
f21abc60f5
roster: Only fetch from browser storage if already cached
2019-10-15 13:09:34 +02:00
JC Brand
358187f8b0
bosh: Bugfix, pass in JID
2019-10-14 13:22:34 +02:00
JC Brand
0fa95ccd50
Bugfix. Pass correct arguments to synchronous event handlers
2019-10-13 19:58:00 +02:00
JC Brand
50b77e8608
Fixes #1733
2019-10-13 19:48:39 +02:00
JC Brand
c8b7e8ab99
bookmarks: refactor to use VDOMView instead of OrderedListView
2019-10-13 17:53:57 +02:00
JC Brand
91397125ba
roomslist: Refactor to use VDOMView instead of OrderedListView
2019-10-13 16:59:31 +02:00
JC Brand
82bce1e946
Move creation of browserStorage into a separate method
...
This is in anticipation of the localforage/IndexDB merge
2019-10-11 20:40:31 +02:00
JC Brand
9d77a4ef97
Fixes #129 Add support for XEP-0156.
...
Only XML is supported for now.
2019-10-11 17:46:13 +02:00
JC Brand
54e9c51a1a
Don't rely on getUniqueId
of Strophe.Connection
...
since we can't assume it's always available.
2019-10-11 17:46:13 +02:00
JC Brand
6253dd52a6
core: let logout return a promise and wait for it in tests
2019-10-11 17:46:13 +02:00
JC Brand
a0bd6dbab6
dragresize: Use _.get for converse.connection
2019-10-11 17:46:13 +02:00
JC Brand
5383d65d5a
roster: unregisterPresenceHandler
must be wrapped in arrow function
2019-10-11 17:46:13 +02:00
JC Brand
b63b080419
chatboxes: wait until messages are fixed before returning new chatbox
...
Fixes #1691
2019-10-10 14:44:13 +02:00
JC Brand
8e4e918575
Replace lodash methods with built-in ones and add jsdoc strings
2019-10-10 14:43:13 +02:00
Christoph Scholz
2d44144b69
prevent message correction for files
2019-10-10 14:19:34 +02:00
JC Brand
8780f7a128
Fix linting errors (no-unused-vars)
2019-10-09 16:27:58 +02:00
JC Brand
8b1c17c12b
chatview: Replace lodash methods with built-in ones
2019-10-08 21:29:43 +02:00
JC Brand
f9b09052eb
core: Make sure window.converse
is defined before assigning to it.
2019-10-08 16:47:30 +02:00
JC Brand
75c11a2006
emoji-views: Specify dependency on muc-views
...
Otherwise plugins might be loaded out of order and then event handlers
in this module don't get registered.
Also, bump to dev version number
2019-10-08 16:30:23 +02:00
JC Brand
266fe131a9
Release 5.0.4
2019-10-08 14:22:56 +02:00
JC Brand
b70fde159d
Fixes #1738 . Allow webpack's publicPath
to be specified at runtime
2019-10-06 21:52:37 +02:00
JC Brand
5c532e3b92
Build po files and add Vietnemese as available language
2019-10-06 21:52:09 +02:00
JC Brand
fdb24122c0
chatboxes: clear messages when in untrusted mode
2019-10-04 17:47:57 +02:00
Christoph Scholz
1c7c25091f
new config option: allow_message_corrections
2019-10-04 15:42:38 +02:00
JC Brand
43935a9e56
controlbox: replace lodash methods with native ones
2019-10-04 14:53:20 +02:00
JC Brand
463caf36a1
bookmarks: silently remove bookmarks when clearing the session
2019-09-26 16:43:26 +02:00
JC Brand
0895abf3e4
chatboxes: Replace lodash methods and only import what's necessary
2019-09-26 15:21:47 +02:00
JC Brand
44e5b4c947
bosh: only advertise support if the module is enabled
...
updates #1725
2019-09-24 15:42:13 +02:00
Christoph Scholz
bce8dc9113
Fixes #1714
...
don't notify if only message delivery receipt
2019-09-24 13:27:49 +02:00
Christoph Scholz
cd5dacbe29
Process stanzas from mam one-by-one
2019-09-21 13:26:36 +02:00
JC Brand
51b818f916
smacks: Also check for BOSH to determine support
2019-09-20 12:06:43 +02:00
huang.xinghui
9291dfc918
Update package.json
...
fix: fixed main file path
2019-09-17 11:33:57 +02:00
JC Brand
8574f66954
Don't hardcode roster filter to localStorage
2019-09-17 10:49:02 +02:00
JC Brand
e377c9bd6f
Fixes #1712
2019-09-16 14:04:28 +02:00
laszlovl
ab9b2d64ab
Fix incorrectly detecting every message with a duplicate ID as correction
2019-09-16 13:07:14 +02:00
JC Brand
9d52b16b58
Set new dev version
2019-09-13 16:05:18 +02:00
JC Brand
39896b508b
Release 5.0.3
2019-09-13 15:19:00 +02:00
JC Brand
bdf4f3f536
Bump npm and lodash
2019-09-13 13:38:20 +02:00
JC Brand
68e34351ed
Reject unencapsulated forwarded messages
...
since we don't support XEP-0297 on its own
2019-09-13 13:05:21 +02:00
JC Brand
37d052ad9e
Verify that Converse is not susceptible to CVE-2015-8688
...
https://gultsch.de/gajim_roster_push_and_message_interception.html
2019-09-12 19:46:09 +02:00
JC Brand
c6f3da5887
Clean up test
2019-09-12 19:15:13 +02:00
JC Brand
d58380af83
Provide more info in error message
2019-09-12 12:51:20 +02:00
JC Brand
5afe8629cd
Remove mistakenly pasted jsdoc snippet
2019-09-12 12:48:09 +02:00
JC Brand
a6b7d0d972
Emit chatBoxFocused
and chatBoxBlurred
events for emoji picker input
2019-09-12 11:05:27 +02:00
JC Brand
5bf0955193
Release 5.0.2
2019-09-11 17:44:38 +02:00
JC Brand
35e97c2353
Ignore MAM chat
messages not sent from yourself
2019-09-11 14:18:21 +02:00
JC Brand
0af9bc8ffc
Fixes #1704
...
Ignore carbon groupchat messages
2019-09-11 14:18:21 +02:00
Licaon_Kter
a69ebcbdf6
Capitalize "groupchat" ( #1707 )
...
* Capitalize "groupchat"
* Also locale
* Also muc spec
2019-09-11 14:17:23 +02:00
JC Brand
26c1dbb0eb
Updates #1705 . Add getRoomsPanel
method to avoid dangling pointer
2019-09-11 11:28:28 +02:00
GRUNBLATT Remy
d0b6e8fd16
Update Oauth login to current API format
2019-09-11 11:09:12 +02:00
JC Brand
e305cc35b0
Remove --larger
class on a edited message that's no longer just emojis
2019-09-10 16:54:32 +02:00
JC Brand
54c90e146e
Replace lodash methods with built-ins
2019-09-10 15:47:30 +02:00
JC Brand
1a7b7f1bea
modtools: fix typo
2019-09-09 12:10:44 +02:00
JC Brand
3fee5540a0
modtools: Also allow querying and setting no affliation
2019-09-09 11:25:46 +02:00
JC Brand
2ec70adc5d
modtools: Add help text to explain roles and affiliations
2019-09-09 11:02:14 +02:00
JC Brand
90ef4b0c9d
Don't let non-mods open the modtools modal
...
Bugfix: fall back to nick if the JID is not available.
2019-09-08 00:15:05 +02:00
JC Brand
768ed4a577
Replace lodash methods with built-ins, convert docstrings to JSDoc
2019-09-07 23:14:33 +02:00
JC Brand
46ccc1a87f
Fixes #1692
2019-09-06 16:14:30 +02:00
JC Brand
cc91f3751e
Add listenTo
instead of on
to avoid memory leaks
2019-09-06 16:04:06 +02:00
JC Brand
d9c1bbf95b
updates #1691 : Use listenTo
...
so that we have automatic event deregistration when the model gets removed.
2019-09-06 13:10:37 +02:00
JC Brand
dfafbefb71
emoji-view: insert partially matched emoji on enter
...
if it's the only search hit.
2019-09-05 16:22:57 +02:00
JC Brand
f52ade1193
emoji-views: don't iterate over all emojis if...
...
new search term includes the previous one
2019-09-05 16:17:59 +02:00
JC Brand
bf599f39ff
emoji-views: reinitialize intersection observer upon rerender
2019-09-05 15:29:30 +02:00
JC Brand
01468fc087
converse-emoji: Sort search results
...
Also, don't show the categories while searching.
2019-09-05 14:49:06 +02:00
JC Brand
60f04bc915
converse-emoji: Avoid dangling pointers to removed category DOM elements
2019-09-05 14:07:25 +02:00
JC Brand
4015eb2fd1
Name anonymous function to fix failing test
2019-09-05 13:12:34 +02:00
JC Brand
b5c56c8323
Add getFullname
to XMPPStatus model and use that
...
instead of returning the fullname as fallback in `getNickname`
2019-09-05 12:49:10 +02:00
JC Brand
5f5de90f0c
MUC: Don't set a default nick
...
We first want to check whether the user has registered a nick with the
MUC, and if so, that will be set as the nick.
2019-09-05 10:49:06 +02:00
JC Brand
c8f0fd2a7f
Refactor cleaner separation between converse-vcard and other plugins
2019-09-05 10:49:06 +02:00
JC Brand
3f0d88e88d
Fix ids for the modtools modal
2019-09-04 15:18:51 +02:00
JC Brand
cf7d2fb648
Add webpack.nodeps.js
...
Use it to generate dist/converse-no-dependencies.js which we use to
generate the converse.pot file.
2019-08-23 21:36:27 +02:00
JC Brand
93de11d167
Dynamically load the dayjs translation.
...
Also, remove the Promise polyfill. We don't support browsers which don't support promises.
2019-08-23 14:03:52 +02:00
JC Brand
9f054dd767
Update webpack config
...
- hot reloading
- split config into dev and prod
2019-08-23 13:29:26 +02:00
JC Brand
76f2b66445
Add a po loader for webpack.
...
- Removes the need for generating and keeping json files
2019-08-23 11:42:37 +02:00
JC Brand
8aaf50d58c
Use webpack's dynamic imports feature for fetching emoji JSON
2019-08-23 09:18:10 +02:00
JC Brand
d619012b6b
Emojis: Fix failing tests
2019-08-23 07:05:00 +02:00
JC Brand
bb0670c6b2
converse-emoji-views: tweak threshold values
2019-08-22 16:26:10 +02:00
JC Brand
3b40f6964f
Update Emoji JSON
...
* Order by category
* Set odering pre category (instead of just showing them alphabetically)
2019-08-22 16:21:27 +02:00
JC Brand
c01d110501
Avoid interference between username and emoji autocomplete
2019-08-22 14:30:02 +02:00
JC Brand
a59510bbf0
Highlight relevant category when scrolling
2019-08-22 13:56:47 +02:00
JC Brand
2c48096664
Add new spec with emoji tests
2019-08-22 13:56:47 +02:00
JC Brand
e4dc9fa820
Open emojis popup when TAB is pressed on a word starting with :
2019-08-22 13:56:47 +02:00
JC Brand
9099ef89fa
Close emoji popup after insertion
2019-08-22 13:56:47 +02:00
JC Brand
73c8002b76
Add search bar for emojis
2019-08-22 13:56:47 +02:00
JC Brand
13d419102a
converse-emoji-views: Show categories in chosen skintone
2019-08-22 13:56:47 +02:00
JC Brand
1cf9a936a4
Move Views associated to emojis into a new plugin
2019-08-22 13:56:47 +02:00
JC Brand
d7ce231c51
Various emoji improvements:
...
* Add emoji tooltip
* Make categories configurable and add smileys category
* Rearrange emoji categories and style
& Show all emojis together
2019-08-22 13:56:47 +02:00
JC Brand
4cb9fd88a8
Refactor emojis so that JSON is fetch asynchronously
2019-08-22 13:56:47 +02:00
Dele Olajide
4e440b0325
Update converse-chatboxes.js
2019-08-19 09:16:19 +02:00
Dele Olajide
f6c5f167f8
Fix Issue #1679
...
This fix forces Converse.js to respect auto_join_rooms and allow auto join room to occur with server-side generated random room names as required for XEP 0142 - workgroup queues
2019-08-19 09:16:19 +02:00
JC Brand
c9c689aec7
Docstring fixes
2019-08-16 15:44:58 +02:00
JC Brand
4291a45631
Postrelease
2019-08-14 13:15:16 +02:00
JC Brand
8f571ff148
Release 5.0.1
2019-08-14 12:56:44 +02:00
JC Brand
bcc73fe727
converse-muc: occupantAdded
promise has been removed
...
Also:
* converted two docstrings into JSDoc format
* Don't use `_.isNull`
2019-08-14 12:14:02 +02:00
JC Brand
9c024757b6
Bugfix: TypeError: o.getAttribute is not a function converse-chatview.js
...
can cause messages to not appear.
* Check against null not Element.
* Avoid iterating over non-Element nodes
2019-08-14 12:10:32 +02:00
JC Brand
3faaf6a62b
converse-muc: Fetch messages in the initialize method
...
Lately we've been fetching messages only after entering the MUC, so that
we already have occupants to attach to them (due to `fetchMembers` being
called before) and thereby avoid rerenders.
I've now moved message fetching into the `initialize` method and added
missing event handlers for attaching/removing the occupant from a
message as it comes online or goes offline.
We still avoid (some) rerenders because we fetch and wait for cached
occupants before fetching cached messages and we wait for `fetchMembers`
before triggering `enteredNewRoom` which causes MAM messages to be
fetched.
2019-08-14 11:08:05 +02:00
JC Brand
fa59b22f93
converse-message-view: Move methods from view to model
2019-08-13 15:34:59 +02:00
JC Brand
21a9ea7365
converse-message-view: Add hooks before/after message text transformations
2019-08-13 15:31:05 +02:00
JC Brand
502d2aa064
converse-message-view: Refactor to not use _.partial or _.flow
2019-08-13 11:46:51 +02:00
JC Brand
89ac4a6969
Show error message with option to retry when MAM query times out
2019-08-13 11:08:03 +02:00
JC Brand
cb10c28082
modtools: Test that error renders when not allowed to fetch affiliation list
...
Also fix scrolling bug
2019-08-12 12:45:12 +02:00
JC Brand
c490ba212d
converse-muc: Avoid refetching messages from cache
...
We want to fetch messages from cache only once. For one-on-one chats
this is the case because messages are fetched only in the `initialize`
method.
This used to be the case for MUCs as well, until we added the option
`clear_messages_on_reconnection`.
Now we only fetch messages after the user has entered the MUC.
2019-08-10 18:47:49 +02:00
JC Brand
e45bd5fc36
converse-roomslist: Handle bookmark not existing
2019-08-10 14:12:20 +02:00
JC Brand
02e50ca3a3
converse-mam: Don't fetch MUC MAM messages on chatReconnected
event
...
By this time the cached messages are not yet fetched, causing the entire
MAM archive to be queried.
2019-08-10 14:12:20 +02:00
JC Brand
ea123e9713
Handle IQ timeouts
...
* converse-muc: Handle timeout while fetching affiliation list
* converse-omemo: Handle IQ timeout
2019-08-10 14:12:02 +02:00
JC Brand
a407aff33c
converse-ping: Refactor and update to reconnect upon ping timeout
2019-08-10 12:26:07 +02:00
JC Brand
aa9aad918f
Handle case where bookmark doesn't exist for some reason
2019-08-10 12:06:01 +02:00
JC Brand
aee6a192d1
Add a new command /modtools
...
in which you can set user affiliations and roles.
Also, let getAffiliationList return an Error instead of `null` if you're
not allowed to fetch a particular affiliation list.
2019-08-09 23:30:14 +02:00
JC Brand
a03e722a24
Add new dev version
2019-08-09 00:58:43 +02:00
JC Brand
bc27b3a36a
Release 5.0.0
2019-08-08 18:13:12 +02:00
JC Brand
1bbe52f71c
Fixes #1670
...
Set converse-profile as dependency of converse-omemo
2019-08-08 16:20:55 +02:00
JC Brand
bea073a5a2
Fix erroneous "is no longer an admin/owner" messages in MUCs
...
Don't remove affiliation for occupants if we weren't allowed to
fetch that particular affiliation list.
Previously, if fetching the list failed, we would return an empty array,
which would imply that the affiliation list is empty and that all
users with the given affiliation should have their affiliations removed.
Instead we now return `null` and properly account for that when setting
affiliations on existing contacts based on the returned member lists.
2019-08-08 16:19:04 +02:00
JC Brand
ade6266de8
Update backbone.overview and strophe.js
2019-08-08 12:45:17 +02:00
JC Brand
720096726d
converse-chatboxes: Don't refetch chatboxes upon reconnection
...
We don't remove the existing chatboxes and upon refetching they
become stale and get removed (by Backbone) and then the UI for
them becomes unresponsive.
2019-08-07 16:12:51 +02:00
JC Brand
c0ef008c4a
converse-bookmarks: Call _converse.Collection.prototype.clearSession
2019-08-07 16:12:21 +02:00
JC Brand
b176161ecf
converse-roster: Reconnection bugfixes.
...
Don't remove cached presences in `afterTearDown` event.
We might reconnect again and resume the session, in which case we need
that data still.
Instead, we remove cached presences when `clearSession` fires, because
then we know we're not reconnecting.
When reconnecting, we don't fetch presences from cache, we still have
them (since we no longer remove them in `afterTearDown`).
When reconnecting and not resuming, we clear the presences from cache,
since we're starting a new session.
2019-08-07 16:11:36 +02:00
JC Brand
3dc2b2b695
Bugfix. List of messages need to be passed to api.alert.show
2019-08-07 12:20:20 +02:00
JC Brand
11d8450577
Add note to translators to avoid confusion
2019-08-07 10:52:20 +02:00
JC Brand
dfe8194072
Show spinner when fetching messages by scrolling upwards
2019-08-07 10:47:11 +02:00
JC Brand
271a871a51
Updated i18n po, pot and json files
2019-08-07 10:28:49 +02:00
JC Brand
5cb5ec4640
Fixes #1668 . MUC MAM blocked by "info" messages
2019-08-06 23:30:02 +02:00
JC Brand
7bfb172f6e
Updates #1548 . MAM paging improvements.
...
* Explicit forwards and backwards paging
* Include upper or lower bound when calling `RSM.prototype.next` or `RSM.prototype.previous`
* Bugfix: Don't override new RSM parameters (caused infinite recursion)
2019-08-06 22:54:51 +02:00
JC Brand
0d2c36dca6
converse-muc: use minimized attr instead
2019-08-06 13:32:52 +02:00
JC Brand
8864925407
Bugfix. Make sure new attrs are applied.
2019-08-06 13:07:41 +02:00
JC Brand
bda567ca01
Fix linting errors
2019-08-05 11:26:48 +02:00
JC Brand
db550b3ec7
Rename controlboxInitialized
to controlBoxInitialized
...
to conform to conventions
2019-08-05 11:10:39 +02:00
JC Brand
ef5ecb2f3a
Decouple converse-controlbox and converse-profile
2019-08-05 11:07:38 +02:00
Réda Housni Alaoui
edcb8e28c2
Fix #1664 Blacklisting converse-profile makes the control box totally blank
2019-08-05 11:01:39 +02:00
JC Brand
d90bcd5274
Combine two versions of isOnlyChatStateNotification into one
...
Also fix a bug in the code dermining whether an XMLElement stanza is only a chat state notification
2019-08-05 10:58:38 +02:00
JC Brand
7a590f7c22
Stop using certain lodash methods.
...
* _.isNil
* _.noop
* _.isNull
2019-08-05 10:56:22 +02:00
JC Brand
78c7ded2e5
converse-disco: Catch and report errors that happen during tests
2019-08-05 10:33:00 +02:00
JC Brand
021143d6ac
Bugfix. Don't clear roster when tearing down
...
We do that in `clearSession` and otherwise when we auto-reconnect we end
up without a roster.
2019-08-04 01:38:41 +02:00
JC Brand
7861ed7b54
Fixes #1403 : Rename show_chatstate_notifications
...
to `show_chat_state_notifications`
2019-08-03 21:52:14 +02:00
JC Brand
8a9a0a4b19
Add support for paging through MAM results when catching up
...
Fixes #1548
2019-08-03 21:44:02 +02:00
JC Brand
c7b6bb4773
Only clear messages when clear_messages_on_reconnection
is true
2019-08-03 21:43:06 +02:00
JC Brand
c038794fb5
converse-mam: Light refactoring and cleanup
2019-08-03 21:43:06 +02:00
Réda Housni Alaoui
c2db667321
Shadow dom: TypeError: Cannot read property 'parentElement' of null caused by MinimizedChatsToggleView
2019-08-02 16:30:25 +02:00
JC Brand
5f0a0138a0
Finegrained config of XEP-0095 CSNs for MUCs as well
2019-08-02 12:05:19 +02:00
JC Brand
ec85490f1c
Allow configuration of which XEP-0095 CSN's may be sent out
2019-08-02 11:34:24 +02:00
JC Brand
550d0ae31b
Bugfix. Chat state should be set to active on chat maximized
2019-08-02 11:15:17 +02:00
JC Brand
6dbc0a0637
converse-dragresize: Remove the resize event listener
2019-08-02 10:47:05 +02:00
JC Brand
3b29e5754d
Don't unnecessarily fetch the roster
...
If we've fetched the roster before within this session, then we don't
have to do so again, regardless of whether versioning is supported or
not, otherwise, even if we have a cached roster, we still need to get
the latest one again.
2019-08-02 10:46:30 +02:00
JC Brand
d5ed1bfafe
Remove the coupling between converse-controlbox and converse-rosterview
2019-08-02 09:12:04 +02:00
JC Brand
0b43082383
Add check and update changelog
2019-08-01 16:26:29 +02:00
JC Brand
cd392bb197
Fixes #1561 Don't clear localStorage and sessionStorage
2019-08-01 11:34:14 +02:00
JC Brand
1bc9a7f809
Ensure JID is set when userSessionInitialized
triggers.
...
Otherwise `converse.features` cache id contains `null` instead of the
user JID and it doesn't clear correctly.
2019-08-01 08:57:34 +02:00
JC Brand
f0f7cfab42
Make the chatbox messages cache key overridable
2019-07-31 17:19:50 +02:00
JC Brand
5b64b5a0e3
The locales URL should be absolute
2019-07-31 16:13:33 +02:00
JC Brand
1eb2364336
Let sendMessage
return the message model, not just the text
2019-07-30 16:15:47 +02:00
JC Brand
afa2543492
Honour the auto_login
flag
...
by not logging in automatically when `auto_login` is `false` and we're
using anonymous, external or prebind authentication.
For `authentication` set to `login` the situation is much more
ambiguous, since we don't have a clear distinction between wether we're
restoring a previous session (`keepalive`) or whether we're
automatically setting up a new session (`auto_login`).
So currently if *either* `keepalive` or `auto_login` is `true` and
`authentication` is set to `login`, then Converse will try to log the
user in.
2019-07-29 16:35:17 +02:00
JC Brand
f12c024b99
Don't query MAM upon every page load.
...
Instead we should only query for newly created chats.
2019-07-29 15:41:03 +02:00
JC Brand
8bd72eed72
Don't keep on refetching roster if the service is unavailable
...
`sendIQ` now takes a flag to turn of rejection of the promise and to
resolve on error IQs instead.
2019-07-29 14:33:37 +02:00
JC Brand
bdbcec65c6
Update JSDoc strings. Combine two methods
2019-07-29 11:36:37 +02:00
JC Brand
aa30e4d9e8
Bugfix. Don't unnecessarily fetch roster again when it's empty
2019-07-29 11:20:33 +02:00
JC Brand
e20b654876
Stop using _.isUndefined
2019-07-29 10:32:29 +02:00
JC Brand
caad85f45b
Manually remove BOSH session tokens from cache
...
even if the `_converse.bosh_session` instance does not exist.
We do this to avoid trying to reconnect with stale tokens upon
reconnection. Especially relevant for anonymous connections, but could
also be applicable when switching between websocket and BOSH connections
when reconnecting.
Also renamed `startNewBOSHSession` to `startNewPreboundBOSHSession`
2019-07-29 10:08:38 +02:00
JC Brand
f9cc51b28a
Bugfix. Make sure that restoreBOSHSession
is always called
...
I.e. also when we're reconnecting.
Otherwise the `_converse.bosh_session` object doesn't get recreated and
we don't cache the BOSH tokens.
2019-07-29 10:05:31 +02:00
JC Brand
179c0810c7
Prioritise logging in with credentials_url...
...
above logging in with passed in JID and password, since the password
might be an expired token.
2019-07-26 20:03:32 +02:00
JC Brand
778b4ff131
Bugfix. Fix check for debounced reconnection
2019-07-26 20:02:56 +02:00
JC Brand
5a48f3da23
Clone auto_join_rooms values before passing in
...
otherwise values get tacked on, causing problems when reconnecting.
2019-07-26 19:30:01 +02:00
JC Brand
6dd4fc5234
Tear down previous session when reconnecting anonymously
...
Because when we reconnect anonymously, we get a new JID, so it's as if
it's a completely new user.
2019-07-26 19:29:01 +02:00
JC Brand
a1d7076e93
Let initConnection wait for for _converse.api.login
...
So that the BOSH connection will be restored before we trigger `connectionInitialized`
2019-07-26 18:57:28 +02:00
JC Brand
fd4ba89182
Reconnect when an anonymous connection drops or fails.
2019-07-26 18:50:19 +02:00
JC Brand
ea36d53f78
Re-add the keepalive
options.
...
It's unlikely that `keepalive` needs to be set to `false`, but there are
some edge cases where it might be useful.
Here's a breakdown of the different configurations of `keepalive` and `auto_join`:
---
* auto_login: false, keepalive: true
This is the default config. Users need to log in manually, but then
Converse will try to reconnect them when the page reloads.
* auto_login: true, keepalive: true
Also very popular configuration. Used with `credentials_url` or `prebind_url`.
* auto_login = `true`, keepalive = `false`
Not sure what this could be useful for. No currently known application.
* auto_login = `false`, keepalive = `false`
Useful when you want some kind of specific action to trigger login, but
you don't want to maintain that state across page reloads.
Also relevant when using a websocket connection with anonymous login.
With websocket it's impossible to maintain anonymous sessions across page
reload because the the session gets removed server-side as soon as the
websocket connection drops and the server won't accept a full JID with
password for an anonymous connection anyway (which could happen upon
page reload when Converse tries to login in again if `keepalive` was `true`).
2019-07-26 18:08:38 +02:00
JC Brand
b6b085189b
Attempt to restore BOSH session or auto_login before...
...
triggering connectionInitialized.
That way, when listening for `connectionInitialized`, we'll know when it
fires whether we've attached to a BOSH connection or not.
2019-07-26 16:43:35 +02:00
JC Brand
c4ad02d4e3
New config setting: muc_fetch_members
2019-07-26 13:32:21 +02:00
JC Brand
c5193be44b
Add postrelease
make recipe to show dev version number in app
2019-07-25 13:45:51 +02:00
JC Brand
fa2d6cca10
Update developer documentation and buildout dependencies
2019-07-25 12:33:46 +02:00
JC Brand
2546622da3
Trigger events when resizing starts
2019-07-25 06:46:05 +02:00
JC Brand
45e19acfb1
Use cursor: pointer
instead of href="#"
2019-07-24 14:09:53 +02:00
Stanislav
d9e0b63683
Fix: use JID from credentials when credentials_url is set ( #1638 )
...
* Fix: async SetUserJID
2019-07-23 15:26:46 +02:00
JC Brand
643c40f260
Respect auto_login
after finishInitialization
.
...
If `auto_login` is false, we shouldn't log in, so we only try to log in when
it is true. Otherwise we still try to restore the BOSH session (if applicable).
2019-07-23 11:51:51 +02:00
JC Brand
18a2c8858a
Make attemptNonPreboundSession
and autoJoin
functions
...
rename `autoJoin` to `connect`
2019-07-23 10:19:15 +02:00
JC Brand
e4eafe9e91
Simplify attemptNonPreboundSession
...
- Split between `login` auth and the rest (`external`, `anonymous`, `prebind`)
- It doesn't make sense to pass along credentials when not using `login` auth so avoid that flow.
- It's not necessary to pass the `reconnecting` flag to `attemptNonPreboundSession`
2019-07-23 10:18:47 +02:00
JC Brand
9be43ccea7
Don't inform of role change which accompanies an affiliation change
...
given that it's implicit and can cause confusion
2019-07-22 18:45:30 +02:00
JC Brand
bcbff1b024
Don't assume user had voice before
2019-07-22 16:51:44 +02:00
JC Brand
07f82d6a0d
Allow passing of more options to auto_join_rooms
2019-07-22 15:10:59 +02:00
JC Brand
3817f471a0
Two session related fixes.
...
* Don't set JID resource when logging in anonymously. The resource will be set by the server.
* Don't wipe the `id` from the session when clearing it.
2019-07-22 14:43:30 +02:00
JC Brand
2fca442f57
Also render bottom panel when own occupant is added
...
So that we can remove the textarea if we're a visitor in a moderated room.
2019-07-12 13:50:39 +02:00
JC Brand
38d1e4e3d2
Bugfix. Sometimes when trimming chats, minimized chats go off screen
2019-07-12 12:50:20 +02:00
JC Brand
2849adf857
Stop debouncing show
...
Instead optimize in other ways.
Also:
- Don't fade in when `animate` is false.
- `trimChats` now gets called in `afterShown`.
- Add now event `beforeShowingChatView`
2019-07-12 12:42:41 +02:00
JC Brand
3a2bf766a0
Add new test utility waitUntilBookmarksReturned
2019-07-12 10:38:07 +02:00
JC Brand
06717370f1
Provide a traceback when waitUntil
times out
2019-07-11 23:42:26 +02:00
JC Brand
a1630b5c1f
Replace wait-until-promise with utility method
...
and bump default timeout
Also let `_converse.api.waitUntil` use it if a function is passed in.
2019-07-11 23:34:27 +02:00
JC Brand
8a98ef87fe
Various small fixes. (Unused imports, unused vars etc).
2019-07-11 12:37:17 +02:00
JC Brand
802f2b24f5
converse-muc: Update sendConfiguration
to not take callbacks
2019-07-11 11:01:51 +02:00
JC Brand
d95a7987ce
Fix linting errors and add @module
jsdoc directives
2019-07-11 10:48:52 +02:00
Malcolm
b016aa0f7d
FIX OEMO default setting in wrong place ( #1476 )
2019-07-11 09:11:22 +01:00
JC Brand
8938245cdd
Update various dependencies to their latest versions
2019-07-11 09:46:17 +02:00
JC Brand
8a405ee88c
Various bugfixes based on the previous refactoring.
...
These two commit should ideally be one, but I inadvertently pushed to
remote too early.
2019-07-10 16:55:55 +02:00
JC Brand
ded9945ed9
MUC: Don't send XEP-0085 CSNs when we don't have voice
...
Includes some refactoring:
- Don't send an `active` chat state notification when entering a MUC
I can't think of a good reason why this might be necessary or desired.
- Move `setChatState` form the view to the model
- Remove unused method `handleChatStateNotification`
- Don't store `role` and `affiliation` for the current user on the
ChatRoom object, but instead on the ChatRoomOccupant object representing
the user.
2019-07-10 14:24:00 +02:00
Malcolm
b163d05323
ADD Omemo default support ( #1476 )
2019-07-10 06:51:41 +01:00
JC Brand
a16c068313
Bugfix. Handle null
passed in as attrs
to api.rooms.create
2019-07-09 13:45:34 +02:00
JC Brand
168f29cf06
Only call credentials_url
when authentication
is set to login
...
Also update to newer strophe.js version which contains a bugfix.
2019-07-09 12:47:09 +02:00
JC Brand
5c88d3e836
Add role and affiliation classes to message DOM element
2019-07-08 13:58:15 +02:00
JC Brand
de1071bd4a
Add isModerator
method on the occupant model
2019-07-08 13:57:10 +02:00
JC Brand
216a67c165
Only show leave notifications when we're in the MUC
...
Otherwise when `removeNonMembers` gets called as we reconnect, we get a
long list of erroneous leave notifications.
2019-07-08 13:33:59 +02:00
JC Brand
6bfa69ab3b
Bugfix. Wait for members before fetching messages
2019-07-08 13:23:56 +02:00
JC Brand
3ca6ac7f50
Fixes #1524 Don't include own device in OMEMO message
...
This change reverts the significant part of 1dfdb36d20
I can't say that I understand why libsignal throws `Error: Invalid signature`
when you try to build a session for your own (sending) device, but given that
messages can only be decrypted once, I guess it isn't really necessary
to encrypt for your own device, since you already have the plaintext.
In addition I've added some error handling so that we can recover
gracefully when session building fails for a subset of devices.
2019-07-05 19:21:05 +02:00
JC Brand
1c50d4d7a1
Bugfix. Numbers aren't delineators for mentions
2019-07-04 08:28:12 +02:00
JC Brand
f17edee827
Bugfix. Should be possible to kick/ban/etc without providing a reason
2019-07-04 08:28:12 +02:00
JC Brand
89ef9a18c4
Call destroy
for the models instead of remove
on the collection
...
So that the models get removed from the browser cache.
Otherwise they get re-fetched when we reconnect.
2019-07-04 08:28:12 +02:00
JC Brand
e5188d8b10
Bugfix. Remove affiliation based on updated members lists
2019-07-04 08:28:12 +02:00
JC Brand
da1d87648c
New config option clear_messages_on_reconnection
...
In some cases, it might be desirable to clear cached chat messages once you've
reconnected to the XMPP server.
For example, if you want to prevent the chat history from getting too long or
if you want to avoid gaps in the chat history (for example due to MAM not
returning all messages since the last cached message).
If you're using OMEMO, then you probably don't want to set this setting to
``true``. OMEMO messages can be decrypted only once, so if they then
subsequently get cleared, you won't get the plaintext back.
2019-07-04 08:28:12 +02:00
JC Brand
67bcc00f10
Associate ChatRoomOccupant
to ChatRoomMessage
...
and use promises to indicate when an occupant or contact has been set
2019-07-04 08:28:12 +02:00
JC Brand
e7178fed31
Fetch messages after fetching members.
...
This is done to avoid unnecessary repaints and reflows (caused when a
message has already rendered and then an occupant is created and
attached to that message, cauring a re-render).
Related to #1266
2019-07-04 07:58:24 +02:00
JC Brand
cd6b5143c6
Create separate models for MUC messages and their container
2019-07-04 07:58:24 +02:00
Kim Alvefur
28b51f75ce
Support sending files from clipboard ( fixes #1585 )
2019-07-03 23:46:24 +02:00
JC Brand
0d75cc5235
Fixes #1622
...
Make selector more general because Ejabberd returns `error[type="modify"]` instead of `error[type="cancel"]`.
2019-07-01 17:59:02 +02:00
JC Brand
34a404eecc
URI encode query string values
2019-07-01 17:21:49 +02:00
JC Brand
63d258a00a
Use findWhere
when looking for only one instance
2019-07-01 17:21:47 +02:00
JC Brand
bb94891621
Only remove non-members when reconnecting to a MUC
...
to avoid unnecessarily destroying and then recreating ChatRoomOccupant
instances for room members.
2019-07-01 09:16:15 +02:00
JC Brand
f1f641ce61
Makes more sense to destroy a message outside of showMessage
...
Also ensures that we don't trigger `messageAdded` for a destroyed
message.
2019-06-28 15:24:08 +02:00
JC Brand
8db839b4cf
Send a XEP-0410 ping when we restore a MUC from cache
...
and re-enter if necessary.
This solves the problem where we "clone" a tab (e.g. middle-click) and
then restore a MUC from cache which we haven't actually entered (given
that the new tab represents a new device and session).
Also... add `await` in a test to try and fix Travis flakiness
2019-06-27 16:50:44 +02:00
JC Brand
836d3946e8
Ignore keycodes if meta key is also pressed
2019-06-27 16:09:11 +02:00
JC Brand
0d928edf7e
Disconnect MUCs when we don't have a resumable SMACKS session
2019-06-27 15:49:19 +02:00
JC Brand
ec68dc1cf0
Always set JID on the connection
...
So that the resource is passed along when we manually bind.
Related to bd81b89724
2019-06-27 15:19:48 +02:00
JC Brand
119966d902
Set flag to indicate user session is active
...
We then use this flag to determine whether we should use the values from
sessionStorage.
This appears to fix the problem I originally tried to fix in 607d798665
.
When "cloning" a tab (e.g. via middle-click), the `active` flag will be
set and we'll create a new empty user session, otherwise it'll be false
and we can re-use the user session.
2019-06-27 15:13:04 +02:00
JC Brand
8d9d0a1ef4
Revert "Store session per full JID"
...
This reverts commit 607d798665
.
Unfortunately this doesn't solve the issue because we have a
chicken-and-egg problem due to not knowing the resource beforehand.
So what happens after this change is that we never resume XEP-0198
sessions but instead always start a new one.
2019-06-27 15:11:14 +02:00
JC Brand
98215deb21
Update to latest backbone.overview which debounces sorting on add
event
2019-06-27 13:15:55 +02:00
JC Brand
11da69b0d7
Use native methods instead of DayJS
...
Results in a 4x speedup
2019-06-26 17:52:48 +02:00
JC Brand
824b2c81b4
converse-minimize: Rename view methods to clarify
...
that they are in response to a change and not meant as an API.
2019-06-26 16:52:51 +02:00
JC Brand
bd81b89724
Ensure current resource is bound when manually calling connection.bind
2019-06-26 13:48:10 +02:00
JC Brand
2cbc4aaa50
Fixes #1494 . Trim whitespace around messages
2019-06-26 10:59:56 +02:00
JC Brand
83bc851f20
Fixes #1455 . Updates #1619
...
Avatar didn't update a second time due to `canvas` element being expected
2019-06-26 10:24:27 +02:00
JC Brand
b69440f875
converse-smacks: Ensure default session values are set
2019-06-25 23:58:45 +02:00
JC Brand
c759112cf3
Fix failing test
2019-06-25 22:53:39 +02:00
JC Brand
607d798665
Store session per full JID
...
Otherwise we run into a bug where two tabs with Converse.js share the
same XEP-0198 SM-ID, causing both to go into a reconnection-loop as
the XMPP server switches XEP-0198 sessions between them.
This bug is due to a distinction in how sessionStorage behaves when you
open the existing site in a new tab (e.g. middle-click or
`target="_blank"), as opposed to creating a new tab
and then opening the site in that tab.
In the latter case, the newly created sessionStorage object is empty.
In the former, the contents of sessionStorage of the current page is
copied over to the new page!
2019-06-25 21:40:28 +02:00
JC Brand
54804b5b89
Performance fix. Only set height when necessary
2019-06-25 17:24:07 +02:00