Commit Graph

949 Commits

Author SHA1 Message Date
JC Brand
ff1b6d3adf MUC: Don't first check if we're registered before unregistering
The IQ stanza being sent to check was in any case incorrect and it
doesn't seem necessary.
2021-06-10 10:40:45 +02:00
JC Brand
9e4a4ba2ff Add example for retractOtherMessage 2021-06-07 10:10:19 +02:00
JC Brand
ff233a5b1c Merge branch 'jcbrand/declarative-scrolling' 2021-06-04 12:59:52 +02:00
JC Brand
f3efbba26c Create converse-message-form component
More work on making bottom panel sub-components declarative

- Handle auto-completion in the converse-muc-message-form element
- Make message limit indicator a component
- Rename template
2021-06-04 12:53:03 +02:00
ubermanu
2f7dcb6bbc Move decodeHTMLEntities util into headless 2021-06-03 19:23:49 +02:00
JC Brand
58d96c8594 Use intersection observer to remember scrolling position 2021-06-03 18:24:55 +02:00
Christoph Scholz
8701708b53 fix /nick command not working 2021-06-03 17:29:45 +02:00
JC Brand
fe3e63d8c5 Declarative scrolling and rendering new messages indicator
- Increment `num_unread` when new messages appear while scrolled up
- Set scrolling state in model code (as opposed to view)
2021-06-03 14:16:03 +02:00
JC Brand
ec93e2fff3 Render chat messages loading spinner declaratively
instead of imperatively.

Add new non-persisted UI model for rendering UI changes. Currently only
being used for rendering the spinner
2021-06-03 00:02:33 +02:00
JC Brand
59d55b3526 Add option to deregister nickname when closing a MUC
By setting `auto_register_muc_nickname` to `'unregister'`
2021-06-02 22:06:57 +02:00
JC Brand
0756af2b30 Refactor chat close methods
- Remove the shared base-class method.
- Trigger `chatBoxClosed` on the model
- Send CSN from the model, not the view
2021-06-02 17:55:52 +02:00
JC Brand
994e528b45 Bugfix. Properly escape | character in mentioned nicknames 2021-05-19 14:47:20 +02:00
JC Brand
06f03fc884 MUC: Store disconnection data on the session 2021-05-13 15:45:12 +02:00
JC Brand
698f3a7b15 Bugfix. Can't call tagName on a Strophe.Builder object 2021-05-13 14:41:44 +02:00
JC Brand
c0c8fbac38 Wrongly passed data to the context parameter in hook
Causes `undefined` to be returned from `constructPresence` when `converse-caps` is not enabled
2021-05-13 12:15:39 +02:00
JC Brand
19b34231d4 JSDoc improvements 2021-05-13 11:44:19 +02:00
JC Brand
2b12f8e257 Use lodash-es everywhere 2021-05-12 12:14:28 +02:00
JC Brand
9e81fa495e Upgrade pluggable.js and skeletor 2021-05-12 12:13:10 +02:00
JC Brand
f40bbbf145 Turn status plugin into folder
Remove the use of an override and add a hook `presenceConstructed` instead
2021-05-11 17:04:15 +02:00
JC Brand
1fc44b9d8e Turn caps plugin into folder.
Move more test files to plugins
2021-05-11 16:18:34 +02:00
JC Brand
7bd0d9a83f Bugfix. Don't re-init bookmarks on reconnection
This causes an empty bookmarks list in the controlbox, because the
collection gets cleared (and then asynchronousy repopulated) while the
`bookmarksInitialized` promise stays `true` (resulting in a race
condition).

Alternative fix could be to clear the bookmarks and recreate the promise
before reconnecting but doesn't seem necessary to do all that work.
2021-05-07 12:27:29 +02:00
JC Brand
c8f0406c84 Refactor bookmark plugins
Mainly moving functions and methods to utils
2021-05-07 12:27:29 +02:00
JC Brand
dd609c1cec Get the webpack dev server to work again
This required triggering the `converse-loaded` event in the entry.js
file, which means it won't be triggered for `@converse/headless` when
used in isolation.

Not ideal, but probably ok because consumers of `@converse/headless`
should probably import it into their own project in any case.
2021-05-06 12:07:44 +02:00
JC Brand
8966290369 Don't make bundled dependencies devDependencies
Otherwise you need to manually include them in downstream consumer projects
2021-04-30 14:17:46 +02:00
Shaun Wu
9ea8653ef7 Upgrade to Webpack 3
Had to make various other changes due to incompatibilities.

- Use the new `lit` package instead of `lit-html` or `lit-element`
- Drop `haunted` since it breaks the rules by specifying `type: module`
  but then doesn't import with file extensions
- Use Sass Dart instead of node-sass (fixes #2445)
- Upgrade Karma
2021-04-30 13:50:50 +02:00
Shaun Wu
1cb2b1f7a9 Adding configurable url history changing 2021-04-29 11:59:28 +02:00
JC Brand
754f1fcb25 Split smacks plugin up into multiple files 2021-04-28 18:50:54 +02:00
JC Brand
3d58b67517 Use @converse/openpromise 2021-04-28 18:35:08 +02:00
JC Brand
57ccf4c20e Batched writes to IndexedDB
- Update to the latest @converse/skeletor (which uses mergebounce to batch writes)
- Flush storage before logging out
- Flush when reloading the tab
- Create initStorage method
2021-04-28 16:53:50 +02:00
JC Brand
4c804fcf2d Wait on chatBoxesFetched in API
Otherwise we can run into race conditions when using IndexedDB with
mergebounce
2021-04-28 12:05:40 +02:00
JC Brand
d86f3094b9 Fix failing test 2021-04-23 12:05:30 +02:00
JC Brand
4b737c1c93 Disable interval handler when running tests 2021-04-23 12:00:29 +02:00
JC Brand
ff14a706cf Fix parameters signature for onDiscoInfoRequest 2021-04-23 11:49:45 +02:00
JC Brand
db12e8a1e6 ping: use setInterval to continuously send out pings 2021-04-22 16:27:19 +02:00
JC Brand
7b49296a24 Bugfix. Avoid creating an undefined store 2021-04-22 14:47:01 +02:00
JC Brand
a4b90e3ab2 Move tests to headless plugin 2021-04-21 12:25:28 +02:00
JC Brand
458c51b32d Move tests for message image rendering to new file 2021-04-21 12:06:10 +02:00
JC Brand
6af9142810 Move ping plugin into folder 2021-04-21 11:18:48 +02:00
JC Brand
7b7ec45db8 Move disco plugin into folder and import lodash utilities separately 2021-04-21 11:03:22 +02:00
JC Brand
b2f09f64c3 Use API to get room 2021-04-19 15:23:58 +02:00
JC Brand
fdde708327 Add a new MUC room state: converse.ROOMSTATUS.BANNED
This makes it easier to distinguish between being banned from a room, or
being disconnected for other reasons.
2021-04-15 12:34:00 +02:00
JC Brand
b439ae1cc4 Bugfix. Don't set fake nick...
when creating occupant from affiliation change stanza.

This means that when a presence for that occupant arrives, a duplicate
occupant is created (presumably because the original can't be find due
to the wrong nick being set).
2021-04-14 18:02:41 +02:00
JC Brand
cd9977c94e Add an API for setting affiliations
This allows us to set affiliations in MUCs without having to first enter
the MUC in order to create a `ChatRoom` instance.
2021-04-14 10:44:31 +02:00
JC Brand
383f5c1d60 Extract affiliation-related methods out of the ChatRoom model
and put them together in a utils file
2021-04-14 10:44:31 +02:00
JC Brand
ccd60f76c3 Cleanup
- Move top-level functinos to utils files
- Get rid of unused/obsolete overrides
- Only import components there where they're used
- Bump version in package.json
2021-03-26 10:58:51 +01:00
ubermanu
3bfd60a3df Move the httpToGeoUri util into core 2021-03-25 09:08:39 +01:00
JC Brand
3c99f1f840 Fixes #2348
Don't automatically hide the first MUC opened in uni-view
2021-03-22 11:39:17 +01:00
JC Brand
3bdae848b3 Fix this binding bug 2021-03-19 13:02:56 +01:00
JC Brand
9d5d94a8f4 Update to latest Skeletor with localforage-setitems optimization 2021-03-18 16:21:15 +01:00
JC Brand
05abb1dae9 Move method from view to model 2021-03-17 11:27:13 +01:00