Commit Graph

110 Commits

Author SHA1 Message Date
JC Brand
450ce04fd9 Refactor chat rooms.
When re-attaching to an existing session, chat rooms are fetched from
sessionStorage and we join them again.

However, unless we send a presence of type unavailable before reloading the
page, from the XMPP server's perspective we never left the chat room.

It therefore doesn't send us again the room occupants or room messages.

To send a presence of type unavailable is a hack and not desireable. Rather, we
want to stay in the room and just re-attach to it upon page reload.
In order to do this, we need some new functionality.

* Refactor the chat room sidebar into a new Backbone Model/View combo. (done).
* Store/fetch room occupants in/from sessionStorage (done).
* Store/fetch room messages in/from sessionStorage (not yet done).
* Instead of re-joining a chat room which we never left, just register the event handlers again. (not yet done).
2014-09-12 15:30:28 +02:00
JC Brand
31de78f020 Also declare the template paths in main.js 2014-09-06 14:30:21 +02:00
JC Brand
5ee8c5470d Move all path declarations from locales.js to main.js
Makes it easier to integrate converse.js into other bower/require projects.
2014-09-06 14:10:48 +02:00
JC Brand
1468de6b79 Sort dependencies by name 2014-09-06 14:04:11 +02:00
JC Brand
5d4deffc48 Define jed path in main.js, not locales.js 2014-09-06 14:02:05 +02:00
JC Brand
f1555774f0 Add typeahead.js as dependency and integrate. updates #215. 2014-08-26 19:59:48 +02:00
JC Brand
e7d563b34b Let tests pass again 2014-08-08 22:06:01 +02:00
JC Brand
e31ded9f77 Rename jquery.fastLiveSearch.js to utils.js and regenerate 2014-08-08 20:18:42 +02:00
JC Brand
1441f4ab64 Add text input to act as live filter. updates #212 2014-08-07 21:33:19 +02:00
JC Brand
ce75bc4737 Override otr.js so that we can fallback gracefully on IE 2014-08-05 16:59:38 +02:00
JC Brand
5ed84dd666 New builds for 0.8 release 2014-08-04 23:04:39 +02:00
JC Brand
c5f2c88f84 Revert "Use the bigint shipped with newest otr.js"
This reverts commit a7247a7c6d.
2014-08-04 23:00:01 +02:00
JC Brand
a7247a7c6d Use the bigint shipped with newest otr.js 2014-08-04 22:37:55 +02:00
JC Brand
2ff7061ea2 jquery.tinysort is no longer used. 2014-08-04 20:18:51 +02:00
JC Brand
c5ae10d962 Make an extra build specifically for including the website deps 2014-07-06 16:10:27 +02:00
JC Brand
9d84ede2f9 Two website deps (jquery-easing & bootstrap) now managed by bower 2014-07-06 15:56:44 +02:00
JC Brand
8aedc3fcf7 Integrate backbone.browserStorage. Fixes #176
Data is now by default cached in sessionStorage and not localStorage.
Can be configured via the "storage" option.
2014-06-30 18:53:58 +02:00
JC Brand
81f3814e32 Refactor code out into backbone.overview 2014-06-01 15:28:52 +02:00
JC Brand
364c340ab5 Stub trimChat for PhantomJS and move tests_main.js to tests/main.js 2014-05-06 09:56:04 +02:00
JC Brand
1c26e9016c Fixed chatbox positioning and better disabling of effects
* The animate config option now disables jQuery effects
* Make sure the controlbox is always to the right of all other chatboxes
* Make sure new chatboxes are always created immediately left of the controlbox
2014-04-24 07:58:35 +02:00
JC Brand
bf6474ff6d Upgrade jquery to 1.11.0 and add jquery.browser 2014-04-19 01:52:44 +02:00
JC Brand
7d472eb26d Add new dependency moment.js
Use it to better compare dates when trying to determine whether a message falls
on a different day.

Also upgraded some dependencies' versions.
2014-04-19 01:30:48 +02:00
JC Brand
ad4d959df5 Use my fork of requirejs-tpl since jfparadis isn't merging my changes 2014-03-14 20:16:31 +02:00
JC Brand
2094ca1207 Properly define the crypto dependencies. Fixes #125 2014-03-04 22:42:21 +02:00
JC Brand
b9cf79505a use new CryptoJS repo since the old one was removed.
Conflicts:
	bower.json
	tests_main.js
2014-02-28 09:45:10 +02:00
JC Brand
319a955f65 Add code that allows resize by click+drag.
Removed dragresize.js and instead wrote new much smaller and simpler code
in converse.js.
2014-02-22 23:20:36 +02:00
JC Brand
62f6997a25 Chat boxes and rooms can now be resized vertically
The new size is not stored/persisted.
2014-01-23 00:55:52 +02:00
JC Brand
55b9a4e568 Initial support for external HTMl templates. Updates #77 2013-12-31 01:07:11 +02:00
JC Brand
e729471bbf Event emitting code. Updates #48
Include the event emitting code in converse.js itself and start emitting events.

Still needs tests and to be thoroughly tested manually.
Still needs docs.
2013-12-15 16:58:46 +02:00
JC Brand
c6e57c0051 Add jquery.eventemitter 2013-12-15 15:51:12 +02:00
JC Brand
512a463750 Create 3 different builds.
* converse.min.js
* converse-no-otr.min.js (Without OTR encryption)
* converse-no-locales-no-otr.min.js (Without OTR encryption or any translations)
2013-11-17 16:55:38 +02:00
JC Brand
36c3a21036 Patch bigint.js so that it doesn't throw an error when a CSPRNG is not present
Instead, we'll check for it in converse.js and just disable OTR if it's not
there.
2013-11-15 23:33:54 +02:00
JC Brand
18ba56bcfc Remove duplicated crypto code and fixed crypto dependencies on non_amd.html page 2013-11-13 08:16:53 +02:00
JC Brand
8f14c32b48 Use newest (unreleased) otr.js so that we can specify paths ourselves 2013-10-03 10:18:07 +02:00
JC Brand
48b6898a2e Merge branch 'master' into otr
Conflicts:
	main.js
2013-08-30 21:18:29 +02:00
JC Brand
d5df785a2a tinysort's name changed so this dependency wasn't registered. 2013-08-30 20:49:49 +02:00
JC Brand
e4cf875d24 Merge branch 'master' into otr
Conflicts:
	bower.json
	converse.css
	converse.js
	main.js
	tests_main.js
2013-08-30 20:26:48 +02:00
JC Brand
d4502d6e6f As with localstorage, give tinysort it's full name
(Aids with bungle integration)
2013-08-26 14:45:24 +02:00
JC Brand
7b0e1d331b Working on a way to build converse without locales.
- Add nolocales.js and let the __ function handle case where there aren't any
  locales specified.

Also:
In require config, change localstorage to backbone.localStorage (for better
integration with bungle).
2013-08-26 14:37:35 +02:00
JC Brand
2c0ae11fb7 Remove sjcl, which is not being used anymore 2013-08-25 23:27:07 +02:00
JC Brand
a95634fb26 Add crypto.aes to tests_main 2013-08-25 12:20:26 +02:00
JC Brand
a2aeec8449 Add initial OTR code.
- /otr will generate a new private key (or fetch it from storage).
2013-08-16 15:48:23 +02:00
JC Brand
7ee9b56d8f Add require, otherwise it's not included in the minified file 2013-07-30 23:02:18 +02:00
JC Brand
7ed30139d6 Move path and shim configs from converse.js to main.js
This should make it easier to create custom builds, e.g. with more or less
dependencies.
2013-07-29 22:34:33 +02:00
JC Brand
c21a235243 Make sure the converse object is globally available
We need it so that we can call initialize from the HTML template
2013-07-25 00:07:44 +02:00
JC Brand
9e05ed8d76 Moved call to initialize to HTML markup
- This is more user-friendly and we want it to be outside of the files bundled
  and minimized by require.js
2013-07-24 23:58:04 +02:00
JC Brand
9b5c9138fb Add a config option to by default show the controlbox 2013-06-02 21:40:05 +02:00
JC Brand
895df5fff5 Add default config values to main.js (for reference) 2013-06-02 19:59:21 +02:00
JC Brand
7f4f3d7def Add default config options to converse.js 2013-05-21 16:48:51 +02:00
JC Brand
b3ed43c450 Don't fetch rooms on roster or when leaving a room
Inefficient, causes way too much traffic and takes very long
2013-05-09 17:07:52 +02:00
JC Brand
df7f1ccf2c Use feature discovery on chatrooms 2013-05-09 15:39:27 +02:00
JC Brand
2708d976db typo and comment 2013-04-26 21:52:26 +02:00
JC Brand
62a2e307a5 Add initial service discovery (XEP 30) support.
- Still needs caching and optimisation
2013-04-25 23:53:33 +02:00
JC Brand
b36d2f18e5 Add support for the BOSH bind URL as a setting parameter 2013-04-25 00:21:54 +02:00
JC Brand
7066e70b68 Initialize converse inside main.js 2013-04-20 11:37:53 +02:00
JC Brand
df931af213 Re-implement the login dialog as part of the controlbox. 2013-03-21 10:54:41 +02:00
JC Brand
d3c7c04571 Remove hardcoded values 2013-03-06 11:40:15 +02:00
JC Brand
7f4206e9b2 Update changes 2013-03-05 22:59:30 +02:00
JC Brand
c17ffdb98a Added functionality to connect to an XMPP server.
Can succesfully connect now, but still need to get rid of ajax calls to @@xmp-userinfo, and replace them with
VCards.
2012-11-20 13:23:03 +02:00
JC Brand
45fbb8f830 Add main.js (for require.js) 2012-11-02 13:46:12 +02:00