JC Brand
02a9126ab6
Log errors when failing to save a message to storage
2020-09-30 18:51:21 +02:00
JC Brand
b5783c0668
Refactor converse-api.query
and the RSM class
...
- The `converse.api.query` method now no longer accepts an RSM instance.
- The RSM class now separates `query` parameters from `result` attributes
- Improve JSDoc docs and remove need to make `converse-rsm` a plugin
- Add typedefs for the options expected by RSM and `api.archive.query`
2020-09-30 18:51:21 +02:00
Christoph Scholz
ff5a046922
Revert "fix i18n of label group name"
...
This reverts commit 5a874a4956
.
2020-09-30 10:59:39 +02:00
Christoph Scholz
5ea2ccfc17
fixes #2238 i18n not working reliably
2020-09-28 13:31:19 +02:00
Kim Alvefur
76b488a672
Bugfix. Promise.resolve is not a constructor
2020-09-28 10:49:14 +02:00
JC Brand
0ca2e5ae08
Remove need for lodash templates in headless build
2020-09-26 09:58:34 +02:00
JC Brand
3fc6f7fa23
Fixes #1924
2020-09-25 18:46:45 +02:00
JC Brand
3a88831b9d
Bugfix. MUC tries multiple times to register nick
2020-09-25 15:30:53 +02:00
JC Brand
5350cb107f
Don't throw timeout errors for sent IQ#result or IQ#error stanzas
2020-09-25 14:12:12 +02:00
JC Brand
78f8f73fea
Get rid of converse-uniview
plugin
...
Instead of overriding createChatBox, set 'hidden' flag via defaults
2020-09-21 18:08:48 +02:00
Christoph Scholz
5a874a4956
fix i18n of label group name
2020-09-18 21:13:08 +02:00
JC Brand
0a7dff442c
Fixes #2235
2020-09-18 15:09:55 +02:00
JC Brand
7330530d13
omemo: better error handling when some bundles can't be fetched
2020-09-18 15:09:55 +02:00
JC Brand
32847e860f
pubsub: await IQ response when publishing
2020-09-18 15:09:23 +02:00
JC Brand
2e393d260b
Update to @converse/skeletor 0.0.2
2020-09-18 11:34:14 +02:00
JC Brand
5162f3f674
connection: Fix typo
...
This fixes anonymous logins
2020-09-18 11:34:03 +02:00
JC Brand
a0ae8135ce
Fixes #1481
...
For OMEMO in MUC, use the real JID of the user, not the MUC JID
2020-09-17 17:12:06 +02:00
JC Brand
ccbf049000
emoji: raise an error if getShortnameReferences
is called too soon
2020-09-17 12:24:18 +02:00
JC Brand
49cda74971
Update package-lock
2020-09-17 10:42:57 +02:00
JC Brand
0a82a177c4
OMEMO: ensure reflected encrypted MUC messages are identified
2020-09-17 10:37:09 +02:00
JC Brand
9fe7bfcd64
Include chatbox
in 'message' event data
2020-09-16 19:08:56 +02:00
dependabot[bot]
522e7706c1
Bump lodash from 4.17.15 to 4.17.19
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-09-15 15:43:41 +02:00
JC Brand
8d3cd687e7
Pass chatbox or _converse as context
2020-09-11 16:44:28 +02:00
JC Brand
bbcfc9f998
Bugfix. 2nd parameter for api.hook
is the context
2020-09-11 16:23:51 +02:00
JC Brand
71cfc7aba1
Bugfix. Include model when manually triggering change event
2020-09-11 16:01:15 +02:00
JC Brand
c0fc3c38f3
Bump to strophe 1.4 and add sprintf
2020-09-10 14:08:43 +02:00
JC Brand
543a29bcce
Fixes #2116
2020-09-10 11:08:27 +02:00
JC Brand
0e03640ebe
Fixes #2195
2020-09-10 10:17:13 +02:00
JC Brand
5d8e5468ba
Refactor converse-notifications to used parsed message attributes
...
instead of querying the stanza.
Also fixes a bug where typing notifications triggered an AttributeError
inside `shouldNotifyOfGroupMessage`
2020-09-10 10:10:59 +02:00
JC Brand
1873003624
Add new plugin converse-carbons
...
Fixes a bug whereby carbons weren't being enabled because the listener
for `afterResourceBinding` was registered before `converse.initialize`
was called,(which means it was removed as soon as `cleanup` was called
inside `converse.initialize`).
This shows that event `api.listen` API calls can/should only be called
inside the `initialize` method of a plugin (or at least once plugins
have been initialized).
2020-09-10 09:27:27 +02:00
JC Brand
2c042cc3fa
Fixes #2184 : Headless build relies on locale directory
...
Removed Jed from the headless build and instead let `__` call sprintf.
It's now up to downstream users for `@converse/headless` to decide
whether they want i18n support for the few translatable strings in that package
and to implement it themselves.
2020-09-10 08:55:38 +02:00
JC Brand
ffbab33a26
Create own occupant before setting connection_status
to ENTERED
...
This makes it possible to wait for the connection_status before trying
to call `getOwnOccupant` in plugins
2020-09-09 15:33:50 +02:00
JC Brand
7c43d0435c
Refactor OMEMO.
...
- Add hooks to the stanza parsers so that plugins can do additional parsing.
- Change ChatBox instance methods to functions and use them for stanza parsing.
- Move encrypt and decrypt messages to `converse.env.omemo`
Apparently, when receving a 1:1 carbon message, a device was wrongly created
for the contact's device list, instead of our own.
2020-09-09 14:04:24 +02:00
Ariel Fuggini
fce337e352
New configuration setting: notify_nicknames_without_references
2020-09-09 13:11:45 +02:00
Christoph Scholz
6319f566dd
fix emojis in case use_system_emojis == false
2020-09-05 11:33:25 +02:00
JC Brand
0594c480ff
Only consider chat 'hidden' flag in relevant view modes
2020-09-04 13:13:07 +02:00
JC Brand
c3d8f12050
Make api.user.status
API methods async
...
So that `_converse.xmppstatus` is defined before trying to set the
status.
2020-09-04 13:13:07 +02:00
JC Brand
4e7b29e417
Make sure initialize
can be awaited...
...
before `converse.initialize` has been called
In the process, remove other "core" promises. There is no core or
community plugins code awaiting on them and since it's possible to
call `converse.initialize` twice, I'm not sure it makes sense to even have them.
Also removed unused error class IllegalMessage.
2020-09-03 17:07:44 +02:00
JC Brand
d5c93eb024
Create converse-root
custom element
...
This element can be used to declaratively insert Converse into the DOM.
You can put `<converse-root>` into the DOM (e.g. by rendering it inside
a React component) before or afer Converse has loaded and/or has been
initialized.
2020-09-03 13:06:17 +02:00
Christoph Scholz
4d9d391365
add CustomElement to env
2020-08-31 17:03:23 +02:00
JC Brand
9348ac80b5
Override isHidden
in converse-minimize
...
Otherwise `isHidden` might return true because `minimized` is set to
`true` but `converse-minimize` is not enabled.
2020-08-28 15:32:58 +02:00
Christoph Scholz
823134d762
add html to converse.env
2020-08-24 23:48:24 +02:00
Xavi Ferrer
d50151c9dd
fix BOSH session restore
2020-08-24 11:46:24 +02:00
JC Brand
9f0dfcdbdb
Wait before firing roomsAutoJoined
event
2020-08-24 11:05:51 +02:00
JC Brand
f7ef334fac
Rename method to better describe what it does
2020-08-18 21:09:39 +02:00
JC Brand
11cd6b8321
Fixes #2193 .
...
Translations called at the top of template files don't apply, since the
trnaslations aren't yet fetched at that point.
2020-08-16 23:45:53 +02:00
JC Brand
3e8b3f73bd
Move pot and po files to src/i18n and regenerate
2020-08-16 22:54:45 +02:00
JC Brand
d615cebcfe
Use proper i18n func
2020-08-13 15:37:50 +02:00
JC Brand
6e86fe3300
Fixes #1913 . Can't connect to non-ascii JID
2020-08-13 11:26:02 +02:00
JC Brand
09371712b0
Updates #1896 : Properly identify archived one-on-one messages
...
Also, rename attribute from `is_receipt_request` to `is_valid_receipt_request` to avoid confusion.
2020-08-13 11:09:22 +02:00
JC Brand
cd84feefff
connection: Re-add debouncedReconnect
2020-08-12 17:50:18 +02:00
JC Brand
6fbb9463ee
Bugfix. Include nick in output messages
2020-08-12 14:39:10 +02:00
Xavi
7cdc592ed9
merge only relevant settings when calling api.settings.extend ( #2187 )
...
* merge only relevant settings when calling api.settings.extend
* test behaviour is the one expected and change doesn't break previous tests
2020-08-12 10:12:10 +02:00
Xavi
bd21f27f4f
fix api.settings.update warning message ( #2182 )
2020-08-10 08:06:24 +02:00
JC Brand
696c8e3522
Don't clear #conversejs
via innerHTML
...
It appears to break subsequent lit-html `render` calls on the
`#conversejs` element because lit-html still remembers parts from before
the element was cleared.
2020-07-30 12:17:23 +02:00
JC Brand
2fcce78144
Add a cleanup
hook
...
- Move view-related cleanup code out of core.
- Call `remove` on `_converse.chatboxviews` during cleanup
2020-07-30 11:04:07 +02:00
JC Brand
16ca8044f8
Add experimental support for running the XMPP conneciton inside a shared worker
...
Still lacks inter-tab communication to update state across tabs, i.e.
when sending a 1-on-1 message in one tab, it doesn't appear in another,
because that information is not available via the websocket connection.
- Create a new `Connection` class that extends Strophe.Connection and
move related code from `converse-core.js` into this class.
- Store the session in localStorage when using a worker
- Move XEP-0156 code to connection.js
This allows us to initialize the connection without needing to know the
domain.
2020-07-27 12:43:47 +02:00
JC Brand
a6c821be95
Use optional chaining
2020-07-24 11:50:54 +02:00
JC Brand
1419b4fc96
MUC: Add support for status code 333
2020-07-22 10:11:05 +02:00
JC Brand
cb50de16e2
Update 3rd party dependencies
2020-07-20 13:19:12 +02:00
JC Brand
1335a96dad
Bugfix. Handle emojis for which we don't have shortnames
2020-07-17 12:59:05 +02:00
JC Brand
0da8067129
MAM: Fix a MUC timing issue.
...
If a message comes in after joining the MUC but before the MAM messages
have been fetched, then converse-mam will query for MAM messages newer
than that message, causing an empty history (except for that one message).
2020-07-14 22:41:26 +02:00
JC Brand
4de9816f24
Make sure emojis are initialized before parsing a message
...
for emoji related data
2020-07-13 15:45:37 +02:00
JC Brand
d7bc129ce3
Get rid of Twemoji as a dependency
...
Fixes #2126
2020-07-10 11:21:45 +02:00
JC Brand
1269cb7252
Don't attempt to fetch a VCard if we don't have a JID
2020-07-09 22:29:06 +02:00
JC Brand
8943609d10
Refactor the body directive
...
Changes how rich message markup is generated and kept track of.
We now have a MessageText class which subclasses String and which keeps
track of the rich markup associated with the message.
2020-07-09 20:50:25 +02:00
JC Brand
78925b011d
Updates #2126
...
Wait for emojis to be initialized before parsing MAM messages
2020-07-08 14:08:08 +02:00
JC Brand
c3d6b64f4b
Turn the chat toolbar into a component
...
- Declaratively render the emoji picker dropup
- Got rid of converse-emoji-views
- Adapt OMEMO to the new buttons stuff
- Make emojis json global, to try and speed up tests
- omemo: Move functions to the top of the module
2020-07-08 10:17:06 +02:00
JC Brand
b7a40dad41
Add a title attribute to emojis in messages
...
so that you can see the shortname when you hover your mouse over an emoji.
2020-06-25 11:19:07 +02:00
JC Brand
be20b8e1a0
emojis: fix rendering of custom emojis
2020-06-25 10:24:45 +02:00
Ariel Fuggini
77a0a01eff
Makes message with errors non-editable ( #2089 )
...
* Makes message with errors non-editable
2020-06-25 10:22:44 +02:00
JC Brand
b6dabf7381
muc: Ensure that exact nicknames (and not substrings) are matched
2020-06-22 13:57:44 +02:00
Ariel Fuggini
73d33e1161
Makes mentions case-insensitive, plus parsing functionality refactor ( #2061 )
2020-06-18 11:19:01 +02:00
JC Brand
2009a94ba4
Update to Strophe 1.3.6
...
Fixes #2067
2020-06-15 15:39:33 +02:00
JC Brand
6b55907ddd
Bugfix. Don't remove affiliated members on probe response
...
by checking for the affiliation data on the probe response presence and
not on the occupant model (which might be created from a message and
therefore not yet have up to date affiliation data).
2020-06-15 12:42:20 +02:00
JC Brand
80c955f267
Fix "retry" feature for message errors.
...
By registering a one-time event handler for a unique event name
2020-06-11 17:29:44 +02:00
JC Brand
b0cb489769
Use @converse/skeletor, lodash-es and latest webpack-dev-server
2020-06-08 19:38:16 +02:00
JC Brand
b511f1d950
Updates #1896 : Use right flag to checked if message is archived
2020-06-08 12:25:49 +02:00
JC Brand
dd7bb28d86
Report traceback when waitUntil
times out
2020-06-05 15:49:18 +02:00
JC Brand
95b015f01a
Allow disabling of the bosh plugin
2020-06-03 17:43:57 +02:00
JC Brand
c82e3e9bda
Update api.vcard.set
to also update the VCard model
2020-06-03 13:32:44 +02:00
JC Brand
b4e4248f40
Fixes #1960
2020-06-03 13:26:38 +02:00
JC Brand
9f7b6d6fa1
Fixes #2035
2020-06-03 10:56:38 +02:00
JC Brand
85e9169b35
Use the API to read settings
2020-06-03 10:15:05 +02:00
JC Brand
830e060568
Rename api.settings.update
to api.settings.extend
...
This is to try and make it clearer that this method won't override
initialization settings, and is instead simply to add to the default
settings.
2020-06-03 09:32:16 +02:00
JC Brand
1ff6ced3ab
Don't override initialization settings via api.settings.update
...
This is a problem that could occur when calling converse.initialize twice
2020-06-03 09:15:35 +02:00
JC Brand
5a57ded243
Add support for the XEP-0333 displayed
chat marker
...
Credit for this work goes to @deleolajide
2020-06-01 18:01:02 +02:00
JC Brand
ac36adddfe
Re-add support for a new messages indicator
...
Fixes #2040
2020-06-01 16:52:12 +02:00
JC Brand
7651d58470
Render chat messages as web components
...
- Render chat content as a <converse-chat-content> component
- Create new component for rendering the message body
- Get rid of `showMessage` method
2020-06-01 09:53:19 +02:00
JC Brand
ca7adeedbd
Save hat URI, not id
2020-05-20 13:44:29 +02:00
JC Brand
1e44f45a68
core: Don't expect Strophe.BOSH to be defined
2020-05-18 18:51:40 +02:00
JC Brand
bf4b3efa5b
Import _converse and api
2020-05-18 10:54:37 +02:00
JC Brand
3cca2fdb7f
roster: Filter contacts via all available information
2020-05-14 12:20:23 +02:00
JC Brand
35cde98e71
Fix i18n string parsing error
2020-05-14 11:18:13 +02:00
JC Brand
b8f2db6e33
Move ModeratorToolsModal to separate file
2020-05-13 15:16:46 +02:00
Dele Olajide
cae5e9c875
Updates #1999 - Demarcate first unread message
2020-05-13 13:39:33 +02:00
JC Brand
2f60c4399a
core: SimplifyonDisconnected
2020-05-12 14:52:21 +02:00
JC Brand
2e6bfb6717
Set connection status values via constants
2020-05-12 14:51:34 +02:00
JC Brand
c2143f617a
Bugfix. Converse.js stopped reconnecting
...
When `_doDisconnect` is called in Strophe, `authentication` is set to
`false`, so reconnection wouldn't happen anymnore
Updates #1490
2020-05-12 11:50:13 +02:00
JC Brand
2b5aeb5ed1
Document interaction between muc_send_probes and muc_fetch_members
2020-05-12 11:23:35 +02:00
JC Brand
555c0966cc
muc: save error response to a sent message onto the original model
2020-05-07 13:32:56 +02:00
JC Brand
3319398f17
muc: Don't show unnecessary affiliation change message
2020-05-07 10:03:28 +02:00
JC Brand
b64b20c44d
muc: fall back to finding occupant by nick
2020-05-06 18:01:59 +02:00
JC Brand
d49b630bdc
Enable sending of MUC presence probes
2020-05-06 18:01:59 +02:00
JC Brand
98faa71e65
muc: Ensure message rerenders when occupant is added
2020-05-06 18:01:59 +02:00
JC Brand
e621362471
mam: include chatbox in data sent via MAMResult
2020-05-06 18:01:59 +02:00
JC Brand
fa30563937
Don't assume that window.converse is always defined
2020-04-30 13:27:01 +02:00
JC Brand
089a54281e
Bump various 3rd party dependencies
2020-04-29 16:01:33 +02:00
JC Brand
5546085f0d
Add keywords
2020-04-29 11:17:21 +02:00
JC Brand
f20e14282a
Re-add log to _converse object
2020-04-29 10:19:57 +02:00
JC Brand
2963830916
Trigger sendMessage
event
2020-04-28 17:46:57 +02:00
JC Brand
b5eea12d49
Refactor so that message attributes are parsed early
...
It's better to parse an incoming message stanza early, than to have
all kinds of methods throughout the codebase that does querySelector
etc.
Firstly, it allows us to catch and report errors and malicious stanzas early on.
It also simplifies programming because you don't need to try and
remember how to properly parse a stanza, all the work is done upfront
for you.
2020-04-27 16:34:37 +02:00
JC Brand
27008aff66
Bugfix. Add missing variable for string interpolation
2020-04-27 16:30:46 +02:00
JC Brand
bad815b429
Bugfix. Don't create multiple RosterContactView objects
2020-04-27 16:30:33 +02:00
JC Brand
958379682a
muc: Render role change messages as ephemeral notifications
2020-04-23 15:11:36 +02:00
JC Brand
c6f8ef0c46
Various JSDoc related fixes and improvements
...
Using the `@method` directive on a `@class` means that the method
doesn't appear.
2020-04-23 13:55:08 +02:00
JC Brand
b44c0c266c
mam: Add MAMResult
hook
2020-04-23 13:55:08 +02:00
JC Brand
ad4999384d
Reduce unnecessary logging in tests
2020-04-23 13:52:21 +02:00
JC Brand
7e2552bd8c
core: Allow multiple imports
2020-04-23 13:50:35 +02:00
JC Brand
7eb6a17fd2
Add the ability to run tests via the webpack devserver
2020-04-21 20:18:43 +02:00
JC Brand
ac3e87965f
Remove unused import
2020-04-20 19:48:09 +02:00
JC Brand
d9c41f62cf
Add install
recipe as alias to build
and dist
2020-04-20 18:49:02 +02:00
JC Brand
c1efb0d2b4
Add an external API for sending presences
2020-04-19 09:41:38 +02:00
JC Brand
5e91adbf4e
Update various 3rd party dependencies
2020-04-17 11:40:14 +02:00
JC Brand
78b60a3bd9
Fixes #515 Add support for XEP-0050 Ad-Hoc commands
2020-04-17 11:01:44 +02:00
JC Brand
be3cbe6dc3
Downgrade dayjs
...
Due to this bug: https://github.com/iamkun/dayjs/issues/792
2020-04-15 17:47:50 +02:00
JC Brand
f68f577b71
muc-views: Update ListChatRoomsModal to make better use of lit-html
2020-04-15 11:54:07 +02:00
JC Brand
5cb65d84f1
Bugfix. Don't assume OMEMO store is always there
2020-04-14 14:04:26 +02:00
JC Brand
5ea7a4d127
MUC: Small updates to message fetching and queueing
...
- Always clear queue after fetching messages from cache
- Empty `message_queue` without waiting for all messages to first be processed.
- Don't assume that `this.messages` is set by the time `queueMessage` is called
2020-04-14 12:29:12 +02:00
JC Brand
df9612f937
Add support for XEP-0317 MUC Hats
2020-04-13 22:57:29 +02:00
JC Brand
e2a7045e22
Move MUC presence parsing code to src/headless/utils/stanza.js
2020-04-13 18:22:15 +02:00
JC Brand
a1d5563963
Move OMEMO-related message parsing to utils/stanza.js
2020-04-13 17:44:47 +02:00
JC Brand
ce1f7e090e
Rename getMessageAttributesFromStanza
to parseMessage
2020-04-13 17:44:47 +02:00
JC Brand
2dd6bc85ea
Fixes #1961
...
Make sure dist dir is included in headless NPM package
2020-04-13 11:45:02 +02:00
JC Brand
8824bb26c4
Bump various dependencies
2020-04-13 11:39:00 +02:00
JC Brand
e91a38547a
MUC: create role/affiliation change message objects
...
in @converse/headless instead of injecting HTML via the view
2020-04-13 11:21:40 +02:00
JC Brand
08b402a9c1
MUC: check for author to avoid "cleared" message for empty subject
2020-04-10 20:47:07 +02:00
JC Brand
c4c7e41981
MAM: better error logging
2020-04-10 16:04:46 +02:00
JC Brand
8b496d085e
Enable XEP-0156 support by default
2020-04-10 15:25:49 +02:00
JC Brand
35de251ce7
Make sure IQ timeouts are properly logged
2020-04-10 14:41:23 +02:00
JC Brand
4425c3dde7
Always show a new topic, even if the previous one was hidden
2020-04-08 14:31:18 +02:00
JC Brand
bc4d016557
Don't show duplicate topic change notifications
2020-04-08 13:08:15 +02:00
JC Brand
c4ba6735ba
Bugfix. Can't cast undefined to array
2020-04-07 22:15:36 +02:00
JC Brand
a065b0c88c
MUC: Clear typing notification when a message is received
2020-04-07 22:04:25 +02:00
JC Brand
c7e702368b
Properly clear user settings
...
by first waiting until the model has been set up.
2020-04-07 19:07:51 +02:00
JC Brand
fe635989a1
Add support for Finnish translations
2020-04-07 13:47:34 +02:00
JC Brand
5fd316816d
MUC: Don't show topic change notification for old changes.
...
Also, show topic by creating a message object, instead of directly
inserting HTML into the DOM. This is a necessary precursor to being able
to render chat messages via lit-html/lit-element.
2020-04-07 11:49:12 +02:00
JC Brand
75d64c04d9
Add a hooks API
...
for triggering interceptable events with the goal of modifying data.
2020-04-06 17:22:06 +02:00
JC Brand
531ebf335c
Properly test and fix show/hide of MUC topic
2020-04-06 15:27:32 +02:00
JC Brand
bb9e394e93
muc: handle join/leave notifications similarly to CSNs
...
Remove the `muc_show_join_leave_status` config setting.
We don't show the optional statuses at all now.
2020-04-01 14:34:11 +02:00
JC Brand
c20dbbbbbd
Store in user settings whether a MUC topic is hidden or not
2020-03-31 22:57:22 +02:00
JC Brand
e498657323
Add API for setting and accessing user settings
2020-03-31 15:01:02 +02:00
JC Brand
6391cc0803
Rename applyUserSettings to applySiteSettings
2020-03-31 14:08:34 +02:00
JC Brand
030c26a8ab
Use api
shortcut instead of _converse.api
2020-03-31 13:16:24 +02:00
JC Brand
d057177f1b
core: Further cleanup and refactoring
2020-03-31 12:51:30 +02:00
JC Brand
8b1d4e0e9d
core: refactor initialize method to make it as small as possible
2020-03-31 12:28:11 +02:00
JC Brand
631b9bb438
Use the settings API for setting and getting config settings
...
This is an initial step towards no longer storing and accessing settings
directly via the `_converse` object
2020-03-31 11:57:03 +02:00
JC Brand
095a1bc56b
Fixes #1490 . Don't reconnect if were weren't auth'd to begin with.
2020-03-30 05:29:21 +02:00
JC Brand
690ff1fba1
Fixes #1860
2020-03-30 04:13:46 +02:00
JC Brand
321a54323e
Allow moderators to retract their own messages...
...
when retractions are restricted to mods only
2020-03-26 10:35:08 +01:00
JC Brand
967154d314
Use optional chaining instead of lodash.get
2020-03-24 12:30:45 +01:00
JC Brand
5e27579ebe
Don't ignore groupchat messages that also contain a CSN
2020-03-23 20:54:27 +01:00
JC Brand
57709b2e78
Sort modtools search results by nickname
2020-03-23 18:06:36 +01:00
JC Brand
b5d57f0ef8
Handle and render chat state notifications separately from messages
2020-03-21 17:21:53 +01:00
JC Brand
ca012d4479
Update to newer Skeletor.js
...
`.forEach` on a Collection no longer returns the models, so need to
update some tests.
2020-03-12 15:24:29 +01:00
JC Brand
6fe802a96b
Replace lodash methods with native ones
2020-03-06 15:49:48 +01:00
JC Brand
366dee0aa5
Bugfix. Allow moderators to retract their own messages
2020-03-05 13:42:58 +01:00
JC Brand
a7f28cd61d
When creating message objects, wait for confirmation from storage
...
Queue messages and handle them sequentially, each time waiting for promises to
resolve before handling the next message.
Updates #1899 , which likely happens because an error message is received
before messages have been fetched.
2020-03-04 15:14:57 +01:00
JC Brand
8aaa1a6417
core: Make clearSession
a synchronous event
...
In order to give plugins time to properly clear data from the browser storage.
2020-03-03 10:23:46 +01:00
Dele Olajide
5a9f8218c8
Fix issue 1896 ( #1897 )
...
* fix issue https://github.com/conversejs/converse.js/issues/1896
* Added issue to CHANGES.md
2020-02-28 11:24:25 +01:00
JC Brand
f02caff854
Rejoin the MUC if we receive an empty message
2020-02-27 16:40:29 +01:00
JC Brand
34c4b2aa5e
Prevent empty messages from being created
2020-02-27 15:09:54 +01:00
JC Brand
e5341d54a9
Bugfix. Dangling moderation messages not applied
2020-02-22 22:59:30 +01:00
JC Brand
5fe23f477f
modtools: Fetch affiliation list when we haven't fetched it by default
2020-02-21 16:20:30 +01:00
JC Brand
3c9ec96350
MUC: create references for nicks gathered from messages
2020-02-21 12:30:40 +01:00
JC Brand
62ef18a027
muc_fetch_members now accepts an array of affiliations
2020-02-20 18:39:56 +01:00
JC Brand
590a8862bc
Don't validate message creation
...
This causes messages to be created but then not populated, causing empty
messages appearing in the chat after page relaod.
Fixes #1886
2020-02-20 13:08:12 +01:00
JC Brand
49817a850f
MUC: Queue messages received before we're ready
2020-02-20 07:13:04 +01:00
JC Brand
58f6d36564
MUC: wait for messages collection to be initialized
...
before processing MUC messages received prematurely due to SMACKS
resumption.
2020-02-19 14:22:24 +01:00
JC Brand
0137eb88ae
Smacks: Handle MUC messages received before the MUC exists
2020-02-19 13:39:07 +01:00
JC Brand
5b5c4595cc
Rename hide_subject
to subject_hidden
2020-02-18 17:26:49 +01:00
JC Brand
ce08819a43
Retracted moderated sent message should not be editable.
2020-02-18 16:47:52 +01:00
JC Brand
ead8cdbcd6
Retracted moderated message should not be editable.
...
Also, don't set retracted MUC messages as ephemeral, we want to keep on
showing them to provide context in a MUC.
2020-02-18 16:06:59 +01:00
JC Brand
227b70339c
Bugfix. Retracted messages shouldn't be editable.
2020-02-18 15:45:55 +01:00
JC Brand
004d2b7f23
Fix method name in log
2020-02-18 15:45:55 +01:00
JC Brand
bcbde04530
Copy sounds dir to dist and use assets_path
for sounds_path
2020-02-16 12:30:25 +01:00
JC Brand
f564a1edaf
Show reason and actor for ban/kick events
2020-02-14 13:19:12 +01:00
JC Brand
39d140005e
Change when/how chats are shown
...
Goal is to fix a timing bug that results in `show` being triggered
before the `ChatBoxView` has been initialized, which means that 1:1
chats aren't opened when you reload the page.
2020-02-14 11:06:04 +01:00
JC Brand
3400acbfeb
Show MUC buttons in a dropdown menu
...
- Get rid of the ChatBoxHeading class
- Add support for showing standalone buttons in overlay viewmode
2020-02-13 20:57:47 +01:00
JC Brand
ed411c226d
Avoid creating Message objects for empty messages
2020-02-13 16:31:13 +01:00
JC Brand
181d18fcfe
Translation and undefined variable fixes
2020-02-11 10:13:23 +01:00
JC Brand
faa02b058d
Make sure messages Collection exists when we receive an error message
2020-02-10 18:41:32 +01:00
JC Brand
7d91b17552
Rename methods to clarify their purpose
2020-02-07 12:42:19 +01:00
JC Brand
fb9fe280ac
Updates to how dupes are detected.
...
- Collapse 3 different loops into one.
- Check all saved stanza ids in the parsed attrs, not just the archive id
- Remove check for archive id in converse-mam since it just duplicates what's now being done in converse-chat
- Don't use disco to check for support, XEP-359 mandates that services SHOULD advertise support,
which is not a strong enough guarantee that they do.
updates #1856
2020-02-07 12:35:45 +01:00
JC Brand
746fe441e2
Updates the message parsing.
...
Only set `id` once we've actually parsed the sender attributes,
otherwise `attrs.from` is `undefined`.
Use `Array.prototype.reduce` to generate stanza_ids attributes map.
Add `from_muc` attribute which contains the MUC JID
2020-02-07 12:12:38 +01:00
JC Brand
d2b6b41128
emoji-picker: Make sure that emojis as images are rendered properly
2020-02-06 16:27:44 +01:00
JC Brand
a1670462ca
Remove jquery and undersscore shims
2020-02-06 14:51:50 +01:00
JC Brand
7279f08a34
Update to newer skeletor which can return a promise on create
2020-02-03 23:24:44 +01:00
JC Brand
f78837cbc5
Refactor identification of duplicates...
...
to rely on the parsed stanza attributes
This was to fix a bug whereby a full stanza was used to query for 1:1
messages with a full JID when the bare JID is stored.
We now are sure that the attributes we're using to query for duplicates
are the same attributes that get saved for a messages.
2020-02-03 23:24:44 +01:00
JC Brand
73fa24a844
headlines: move view code into converse-headlines-view.js
2020-01-30 18:18:27 +01:00
JC Brand
29aed314c1
Remove Backbone
...
* Remove backbone as NPM deps and from docs
* Remove backbone stuff from webpack
2020-01-30 17:36:55 +01:00
JC Brand
9fb2056753
Move MUC invite widget into a modal
2020-01-30 17:36:55 +01:00
JC Brand
c6ac03e94e
Fix linting errors
2020-01-30 17:36:55 +01:00
JC Brand
d32c4c1f61
muc-views: replace VDOMView with HTMLView
2020-01-30 17:36:55 +01:00
JC Brand
11e219dd41
Update copyright
2020-01-30 17:36:55 +01:00
JC Brand
ad93407907
Replace modal templates with lit-html components
2020-01-30 17:36:55 +01:00
JC Brand
a8104d7498
Add Skeletor as dependency
2020-01-30 17:36:55 +01:00
JC Brand
50e6c8a082
roster: refactor to use async/await
2020-01-30 17:36:55 +01:00
JC Brand
b08f5d355b
roster: avoid race-condition by waiting for contacts to be fetched
...
before creating any new ones
2020-01-30 17:36:55 +01:00
laszlovl
cde6b093c0
Fix incrementMsgCounter cleaning up after itself
2020-01-27 17:53:36 +01:00
Christoph Scholz
a472a0806e
show headline messages in controlbox
2020-01-23 11:32:15 +01:00
JC Brand
bda704901f
emoji-views: lazily render picker only once user clicks to open
2020-01-22 15:00:16 +01:00
JC Brand
f3472e1b9f
emoji: Add initialize
API method and call when chat view gets created
2020-01-22 13:20:59 +01:00
JC Brand
685c9585f4
Fix linting error
2020-01-21 14:06:47 +01:00
JC Brand
b0a9782d31
emoji: Lazy load the emoji JSON
...
Only load it once the first chat has been opened.
2020-01-21 12:45:34 +01:00
JC Brand
161cbec0d8
For forbidden
errors, show error message from server
2020-01-17 14:44:05 +01:00
JC Brand
aa86a8be32
muc: Store room configuration (e.g. disco#info fields
) on the MUC
...
This will make it easier to add config-based functionality, such as
allowing/showing the `/topic` slash command only to those users who are
allowed to set the subject.
2020-01-16 15:28:02 +01:00
JC Brand
929a00e1cd
Fixes #1836
2020-01-16 13:48:46 +01:00
JC Brand
9ce315dece
Bugfix. Handle stanza that clears the MUC subject
2020-01-14 10:07:23 +01:00
Christoph Scholz
40726e06e9
A user can now add himself as a contact
2020-01-13 10:30:00 +01:00
JC Brand
496e5ba46d
Fix linting error
2020-01-13 09:00:08 +01:00
JC Brand
2a3ca93256
core: don't use Chrome-only check for web auth support
2020-01-12 01:35:44 +01:00
JC Brand
22ff93c3a7
core: Import individual lodash methods
...
and use some native ones instead
2020-01-12 01:08:37 +01:00
Christoph Scholz
36e56052bc
don't log error if user has no bookmarks
2020-01-10 21:12:59 +01:00
JC Brand
9c5fc2e4d3
Use package.json files to specify more precisely what gets packed
2020-01-10 13:29:42 +01:00
JC Brand
e866248227
Don't include vim temp-files in release tarball
...
and bump post-release version number
2020-01-10 13:04:05 +01:00
JC Brand
cd60614f88
Release 6.0.0
2020-01-09 17:15:43 +01:00
JC Brand
4f4b10d2a3
muc: initialize occupants early to avoid timing issues...
...
in converse-omemo which relies on `chatbox.occupants` existing in the
`add` handler.
2020-01-09 17:07:31 +01:00
JC Brand
4018dd959e
Fixes #1764 : Incorrect URI encoding in references
2020-01-09 14:59:45 +01:00
JC Brand
ef1f16c186
Fixes #1767 : Remove JID so that credentials_url is called...
...
when the user logs out and then in again
2020-01-09 11:05:37 +01:00
JC Brand
995f2a9997
Add arrow navigation to the emoji picker
2020-01-07 15:47:05 +01:00
JC Brand
2b213d0561
log: properly log to the set level
2020-01-06 10:40:18 +01:00
Yaskhan
1653c1ae92
Update converse-mam.js
...
I think why do not come archives from group chats, and it turns out that you need to add "groupchat" in options. I spent half an hour searching in the documentation, and half an hour searching in the convers tests. And finally found in tests.
2019-12-26 15:56:04 +02:00
JC Brand
d8e561ef7e
Fix linting errors
2019-12-20 16:02:53 +01:00
JC Brand
9b4276721c
Remove unnecessary await statement
2019-12-19 13:12:12 +01:00
JC Brand
da319604b6
Fixes #1735 : Chatboxes stay empty after logging out and in again
...
The problem was that the `emojisInitialized` promise was re-created upon
logout and then no longer resolved upon subsequent login.
The `_converse.api.promises.add` method now takes another parameter
`replace` which determine whether it should be replaced upon logout or
not.
The `emojisInitialized` promise will now not get replaced.
2019-12-18 16:09:44 +01:00
JC Brand
8b6c902c4c
Set VCards via events, thereby reducing coupling
...
- Rename `chatRoomOpened` event to `chatRoomViewInitialized`
- Rename `chatBoxInitialized` to `chatBoxViewInitialized` and trigger only for `ChatBoxView` instances.
- New event `headlinesBoxViewInitialized`
- Trigger the `chatBoxInitialized` event when a new `_converse.ChatBox` is opened.
2019-12-18 15:20:51 +01:00
JC Brand
b0e66232d3
Fixes #1253 : Show contacts with unread messages at the top of the roster
2019-12-18 11:42:26 +01:00
JC Brand
03b7ae0a30
Improvements to how things are stored.
...
- Use the bare JID as indexedDB dataStore
- Collapse localStorage and indexedDB stores into one `persistent` store.
- When testing, only clear test data
2019-12-17 13:59:43 +01:00
JC Brand
4aa6b728cf
muc: wait for restoreSession
2019-12-11 16:20:08 +01:00
JC Brand
0f63c84d5b
core: properly clear cache in clearSession
...
Bump to latest backbone.browserStorage which adds the `clear` method
2019-12-11 15:44:56 +01:00
JC Brand
c379807d4c
muc: Move code into restoreSession
method
2019-12-11 10:06:26 +01:00
JC Brand
f3a1351a42
muc: loosen isJoined
criteria
...
Handle any `error` IQ result or timeout from a MUC ping as indication that we're no longer joined.
2019-12-11 10:06:03 +01:00
JC Brand
a4567ee075
muc: Store connection_status
in session storage
...
Otherwise we might run into a situation where a very old,
cached MUC that's being restored has `connection_status` set to ENTERED
(and the user happens to be in the MUC via another client)
and then restores cached messages without taking
`clear_messages_on_reconnection` into account.
2019-12-11 08:10:27 +01:00
JC Brand
09b085be6e
muc: no need to override tearDown
...
we already listen for `beforeTearDown` and do what's necessary there.
2019-12-11 08:10:25 +01:00
JC Brand
3d3738f3be
muc: refactor MUC joining
...
We now distinguish more clearly between joining and re-joining a MUC.
The `enterRoom` method has been refactored away.
Instead, `join` or `rejoin` should be used, depending on the circumstances.
Don't fetch cached occupants in the `initialize` function, instead, only fetch
them if we're restoring a MUC that we're still connected to.
If we're not restoring a still-connected MUC, then we clear the
occupants cache, and the messages cache if `clear_messages_on_reconnection` is `true`.
updates #1807
updates #1808
2019-12-09 17:17:33 +01:00
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
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
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
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
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
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
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
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
JC Brand
5ede164e8d
Disable custom emojis for now
...
Fixes #1769
2019-11-09 11:53:53 +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
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
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
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
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
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
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
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
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
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
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
e305cc35b0
Remove --larger
class on a edited message that's no longer just emojis
2019-09-10 16:54:32 +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
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
01468fc087
converse-emoji: Sort search results
...
Also, don't show the categories while searching.
2019-09-05 14:49:06 +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
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
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
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
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
73c8002b76
Add search bar for emojis
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
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
89ac4a6969
Show error message with option to retry when MAM query times out
2019-08-13 11:08:03 +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
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
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
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
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
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
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
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
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