JC Brand
8bd968a03b
Also use the VCard cache for the user's own status
2018-05-08 19:24:50 +02:00
JC Brand
6c513ad4be
Remove dependency on strophe's vcard plugin
2018-05-08 18:11:56 +02:00
JC Brand
e5cfdca30d
Move roster models into their own module
2018-05-05 20:16:23 +02:00
JC Brand
16b2a1b2a9
Avatar/VCard refactoring
...
- Refer to VCards instead of Avatars where appropriate
- Fetch VCards for non-groupchat messages as well
2018-05-03 18:34:28 +02:00
JC Brand
d5c8acea04
Create avatar
objects for all messages, not just groupchat
2018-05-03 18:24:24 +02:00
JC Brand
e77f627432
Remove unused code, fix build path and update package-lock.json
2018-05-03 18:22:54 +02:00
JC Brand
df948a8dd6
Also allow a single-user chat to be embedded into the page
2018-05-03 17:01:17 +02:00
JC Brand
7660a27682
Store image hash from presence on the occupant
2018-05-03 13:50:30 +02:00
JC Brand
d49adc9309
Doesn't look like its necessary to call initConnection again
2018-05-03 11:13:08 +02:00
JC Brand
911ede2886
Small bugfixes.
...
- Filter did the opposite of what it was supposed to do
- Wrong bind context
- Should actually be mam:2, issue was server misconfiguration
2018-05-02 14:30:14 +02:00
JC Brand
dd505ad9da
More fixes now that we don't store the JID under 'fullname'
...
if the fullname is not available.
2018-05-01 20:07:56 +02:00
JC Brand
0e61eda620
Fix typo, fixes MAM again :)
2018-05-01 18:47:43 +02:00
JC Brand
c14ef3bb75
Bugfix. Can't expect fullname
to be set anymore.
2018-05-01 15:21:20 +02:00
JC Brand
60c784a39e
Ensure that default image is used for avatars.
...
By overriding the `set` method.
2018-04-30 15:37:37 +02:00
JC Brand
3d42425083
Some UI improvements
...
- Render images as thumbnails
- Use the image.html template when rendering images from pasted URLs
- Update message and spoiler markup to render avatars
- Use the default avatar as fallback when user doesn't have one
- Instead of 'me' render own name or JID
2018-04-30 15:37:36 +02:00
JC Brand
a19e7aeffe
Add support for XEP-0066 Out of band data
2018-04-18 16:58:52 +02:00
JC Brand
c01e9f8265
Move methods from chatbox view to message view
...
Specifically the methods related to requesting an upload slot and uploading a file.
Also show a progress indicator while a file is being uploaded.
Updates #161
2018-04-17 15:21:38 +02:00
JC Brand
dad8eb2f48
Remove separate file converse-http-file-upload
...
It contained only `overrides` and some HTTP upload code was in other
modules.
Current thinking concerning overrides:
Usage of `overrides`, while useful in certain cases, should in general
be discouraged, since it's in essence "monkey patching" which makes it
more difficult to know whats executing at runtime and more difficult to
refactor.
Splitting modules up between XEPs is not always that useful. Some XEPs,
like HTTP Upload (and MAM comes to mind) have their functionality spread
out over single and group chats (and pubsub) and might for practical
purposes be considered "core" enough to not try and keep them in
separate modules (which inevitably requires overrides or a fundamentally
rethinking the architecture).
Where splitting code between modules makes a lot of sense is in keeping
Backbone Models and Views separate (so that alternative view libraries
like Vue could be used) and probably in keeping Single chats, MUC,
PubSub and MIX separate.
updates #161
2018-04-17 15:21:30 +02:00
JC Brand
de6ecbf07a
Render messages via a new MessageView view
...
updates #161
2018-04-17 15:21:26 +02:00
JC Brand
77a51cc2a6
Initial work on XEP-0363: HTTP File Upload
2018-04-14 07:36:24 +02:00
ChaosKid42
fce9ee0db9
replace geoURIs (e.g. from Convesations) by links to openstreetmap ( #1054 )
...
* replace geoURIs by link to openstreetmap
* Added testcase
2018-03-31 18:29:01 +02:00
JC Brand
44a2f7807c
Hook in ar
and eu
locales and document.
2018-03-31 15:45:23 +02:00
JC Brand
ce849aaffc
Fix failing tests
2018-03-30 14:23:39 +02:00
JC Brand
d90416eae8
Add workaround for apparent Prosody bug
...
Details here: https://prosody.im/issues/1121
2018-03-30 14:22:53 +02:00
JC Brand
93a20ee4ee
Make sure removeFromRoster is called only once
2018-03-30 14:22:53 +02:00
JC Brand
b584f2efb3
Add a new config setting nickname
...
- for subscription requests
- when entering chat rooms
2018-03-30 14:22:53 +02:00
JC Brand
1029aae215
Write out map when calling create
2018-03-30 14:22:52 +02:00
JC Brand
535fc7bc8d
Use strings for map keys
2018-03-30 14:22:52 +02:00
JC Brand
2ff18c2cfb
Fix emoji test (now that bootstrap dropdown is used)
2018-03-14 17:32:01 +00:00
JC Brand
05e7cc8529
Let api.contacts.get
return the RosterContact model
2018-03-14 13:01:29 +00:00
JC Brand
9825d6e777
Use bootstrap dropdown to render the emoji picker
2018-03-09 14:51:24 +01:00
JC Brand
d4d3d4c838
Merge branch 'split-muc' into bootstrap4
2018-03-05 16:51:33 +01:00
JC Brand
0013ee5506
Split MUC views into separate file/plugin
2018-03-05 16:32:13 +01:00
JC Brand
dcc6244fc2
Don't overwrite default avatar with undefined
2018-03-04 07:29:24 +01:00
JC Brand
759603eea5
Hook in bg and tr locales
2018-03-04 06:11:18 +01:00
JC Brand
c4c154cfa1
Fixes #1022 Include stored status message in presences.
2018-03-02 19:35:06 +01:00
JC Brand
0a28e7aae4
Fixes #1027 Backwards compatibility fix for IE11
2018-03-02 15:54:28 +01:00
JC Brand
0bd96bbcfb
Bugfix. Don't set xmppstatus' jid
to null
2018-02-23 22:19:24 +01:00
JC Brand
b3409fd01b
Move common modal view code into a base class
2018-02-22 18:41:01 +01:00
JC Brand
224e1eee29
Merge branch 'master' into bootstrap4
2018-02-22 14:39:20 +01:00
JC Brand
33cfe07331
Recreate promises upon logout.
2018-02-22 13:35:05 +01:00
JC Brand
1ce46a84ae
Make sure that statusInitialized
is always called
...
regardless of wether it's a connection or reconnection event.
We can then only listen for `statusInitialized` to handle both cases.
2018-02-22 11:20:26 +01:00
JC Brand
d1d43edf52
Move MUC views into a new plugin
2018-02-21 22:40:30 +01:00
JC Brand
ec2bda338b
Refactor XMPPStatus.
...
- Remove undocumented and unused event `update-status-ui`
- Remove xhr_custom_status and xhr_custom_status_url options
- Use default value
- Remove unnecessary getter and setter
2018-02-21 14:41:54 +01:00
JC Brand
fa6569352c
Don't use _.template
for variable interpolation
...
It depends on `eval` which is unsafe.
2018-02-19 11:08:32 +01:00
JC Brand
48c806c9d0
Shorten utils
to u
2018-02-19 10:34:52 +01:00
JC Brand
2d746d2a1e
Make converse-muc-embedded
a core plugin.
...
1. Add a new `view_mode` value: `embedded`.
This value is used to determine wether the `converse-muc-embedded`
plugin is active or not.
2. Remove the need for the #converse-embedded-chat element.
Instead we reuse the #conversejs element and embed inside that.
3. Removed the need to manually blacklist core plugins
This is now done automatically if `view_mode` is set to `embedded`.
Perhaps eventually we don't blacklist at all and instead use the
`enable` plugin method. For some that probably won't work, like
`converse-chatview`, which we still need to be active.
2018-02-09 16:37:55 +01:00
JC Brand
56aa45b1d3
Set auto_reconnect
to true
by default.
2018-02-09 16:37:55 +01:00
JC Brand
ba9c3b01ed
Set converse
on the window and trigger an event after loaded.
...
Setting it on `window` is necessary to have it available inside a
webcomponent.
Triggering an event is necessary so that we don't call
`converse.initialize` too early.
2018-02-09 16:37:55 +01:00
JC Brand
5517e3554c
Add a new configuration setting: root
2018-02-09 16:08:39 +01:00
JC Brand
03b9447f1d
Asynchronously render spoiler button only if all clients support it
2018-02-08 17:48:15 +01:00
JC Brand
680f30412a
Bugfix. Object values for defaults
passed-by-reference
2018-02-08 17:06:36 +01:00
JC Brand
5f3761dc7f
Only initialize bookmarks and show icon if PEP is supported
...
which we check by checking if the PEP identity is provided.
https://xmpp.org/extensions/xep-0163.html#support
2018-02-07 21:05:38 +01:00
JC Brand
253c4d736e
Focus the textarea after toggling between spoiler or not
2018-02-06 18:05:12 +01:00
Seve
a866c17414
Initial example plugin
2018-02-06 18:05:12 +01:00
ChaosKid42
1da20577e1
make locales_url relative ( #1012 )
2018-02-04 09:19:08 +01:00
JC Brand
3d32f69548
console.trace
is only shown when showing VERBOSEly
...
So use `console.error` instead, which is shown when the console settings
is set to something less verbose.
2018-01-29 11:17:54 +01:00
JC Brand
12af9d5cbd
Tying some loose ends
2018-01-22 09:53:35 +01:00
JC Brand
026cce3ada
Rename zh to zh_TW
and add Simplified Chinese as zh_CN
2018-01-18 11:02:44 +01:00
JC Brand
bc7b70732e
Add support for simplified Chinese
2018-01-18 10:44:24 +01:00
linkmauve
561bdbba35
Always use formatting inside translatable strings ( #983 )
...
This helps translators reorder words in the string.
2018-01-17 17:02:51 +01:00
JC Brand
16b8946dd9
Updates #978 : Use moment and generate date in correct format
2018-01-04 13:11:51 +00:00
JC Brand
671691353a
Use Backbone.NativeView instead of Backbone.View
2018-01-03 20:41:03 +00:00
Emmanuel Gil Peyrot
f2ecf3c010
Remove executable bit from files which don’t need it
2017-12-24 17:05:01 +00:00
JC Brand
ac643ae63f
Refactor views to use Backbone.OrderedListView
2017-12-22 12:02:18 +00:00
JC Brand
32621b8327
Clear chat_state timer when closing chat
2017-12-19 19:17:38 +00:00
JC Brand
6c6ef1f1f9
Refactoring of the roster view.
...
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
8dae284e6f
Log reason when catching errors
2017-12-18 12:20:39 +00:00
JC Brand
5eabf4008e
Render "create account" link via a VDOMView and hide when connecting
2017-12-14 12:30:50 +00:00
JC Brand
8cd75aa09c
Move ChatBox, Message and Messages to converse-chatboxes
2017-12-06 22:09:46 +01:00
JC Brand
c26ccf5e01
Remove jQuery as dependency for converse-mam
.
...
Also, if a message has no `archive_id` attribute, then do a time-based MAM query.
2017-12-02 14:26:28 +01:00
JC Brand
9d1c6236ac
Move the xmpp status (e.g. profile) view into separate plugin
2017-11-17 13:32:03 +01:00
JC Brand
87213bf90a
Rename getPromiseWrapper to getResolveablePromise
...
Let a promise be returned instead of a wrapper, but glue the `resolve`
and `reject` methods onto it
2017-11-10 21:37:35 +01:00
JC Brand
007e608f32
More work on combining the inverse/converse builds
...
- Use `enabled` method for plugins
- Rename `converse-inverse.js` to `converse-fullscreen.js` and make it a
core plugin.
- We're no longer making separate mobile and inverse builds
No longer a need to whitelist/blacklist plugins for inverse to work.
2017-11-02 16:41:06 +01:00
JC Brand
754ad7a027
Initial work on combining the converse and inverse modes
...
- Adds new config setting: `view_mode`
- `converse-singleton` is now a core plugin and its behavior depends on `view_mode`.
2017-11-02 14:21:29 +01:00
JC Brand
46ca6c7de2
Make the router global and clear login/register fragments
...
upon login or after registering.
2017-10-31 21:47:27 +01:00
JC Brand
e8e20fbf93
Make sure to emit upon reconnection
2017-10-31 20:38:52 +01:00
JC Brand
2d747bb287
Various changes. See below.
...
* Update localisation/translation documentation due to recent changes.
* Remove `moment_locales.js` and instead load the moment locales in `src/i18n.js`
* Mention how to load the fullscreen version. Refs #939
2017-10-31 20:38:51 +01:00
JC Brand
9862d747a9
Refetch the roster from the server after reconnection.
...
From the perspective of the XMPP server, this is an entirely new login,
and therefore as per RFC-6121 the roster SHOULD be queried, making the
client an "interested resource".
https://tools.ietf.org/html/rfc6121#section-2
2017-10-31 20:38:51 +01:00
JC Brand
0a7c20a1e2
Log incoming and outgoing XML stanzas in different colors
2017-10-31 20:38:51 +01:00
JC Brand
4dad60c8d6
Include timestamps in debug logs
2017-10-31 20:38:51 +01:00
JC Brand
05c3a5cad6
Move translation machinery into a separate module
2017-10-31 20:38:51 +01:00
JC Brand
79080b3569
Routing fixes
...
* Check if `Backbone.history.start()` has been called before.
* Only call it after routes have been registered.
* Use route for switching between login and register forms
2017-09-28 23:29:37 +02:00
JC Brand
50064ec1fd
Translation bugfix. Wait until after locales
attribute is there
2017-09-27 00:33:58 +02:00
JC Brand
80b3692131
More work in removing locales from builds
2017-09-26 18:27:41 +02:00
JC Brand
f0debc61ab
Refactor i18n so that only relevant translations are fetched
...
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
92af05d510
Some more refactoring now that we use a vdom for the login panel
...
We can now simply call `render` whenever we want to show an error or
notification message.
The flip side is that the template is now larger and contains more login.
2017-09-24 00:30:43 +02:00
JC Brand
937b310733
Refactor login form to make it more reactive.
2017-09-24 00:30:43 +02:00
JC Brand
4063bbfc1c
converse-register: Consolidate validation and error reporting
2017-09-24 00:30:43 +02:00
JC Brand
7cfe81ea1f
Fix failing tests.
...
Somehow the tests are flaky when the router sets a URL fragment for login or
registration, so I've now added an event handler which does the work without
setting the URL fragment.
The router is still there so that one can manually link to a URL that has the
registration form open. (Issue #828 )
2017-09-24 00:30:43 +02:00
JC Brand
43bbae9006
Don't require auto_login
to be true when using the API to log in
2017-09-24 00:30:43 +02:00
JC Brand
158acbf1d7
Fixes #828 Add routing for login and register URL fragments
2017-09-24 00:30:43 +02:00
JC Brand
f908463ab9
Clear connection feedback after login
2017-09-08 18:18:55 +02:00
JC Brand
bd913734e4
Don't hang indefinitely + nicer error messages
...
when a connection can't be established.
2017-09-08 14:24:38 +02:00
JC Brand
c9913bf6ac
Fix failing tests
2017-08-29 12:29:56 +02:00
JC Brand
32d574039d
Translateable strings must not be template literals
...
xgettext doesn't support them yet, which causes errors in the pot/po files.
https://savannah.gnu.org/bugs/?50920
updates #909
2017-08-23 12:00:49 +02:00
JC Brand
75301d2875
Bugfix. info called on object that doesn't implement interface Console
2017-08-21 12:52:18 +02:00
JC Brand
016bca74b8
console.warn
is not supported on FF < 52
2017-08-21 11:29:06 +02:00
JC Brand
694eabfc0e
Use promises to determine when to create the controlbox
2017-08-16 13:22:18 +02:00
JC Brand
956340aa8c
Make initialized
a promise and use it in the controlbox
2017-08-16 12:32:15 +02:00