Kegan Dougal
f65176564f
webclient: Tweak namespace of auto-complete directive. ng- should really only be used for official ng directives.
2014-08-18 10:07:16 +01:00
Emmanuel ROHEE
71584930cb
Disabled image upload UIs
2014-08-18 10:54:43 +02:00
Emmanuel ROHEE
0b5674ccc5
Do not start the event stream if the user is not logged in (=if he does not has an access token yet)
...
Add isUserLoggedIn to check this.
2014-08-18 10:44:29 +02:00
Emmanuel ROHEE
d5bebc9eaa
Added another button to upload and send an image.
...
The text input and its send button for sending an image URL will be removed once we have a true upload image service
2014-08-18 10:41:21 +02:00
Matthew Hodgson
39ff6c840f
make my emotes white again
2014-08-18 01:30:58 +01:00
Matthew Hodgson
62b67879cd
make text font sizes consistent
...
add a gap between bubble-blocks from different users
make sent-text lighter than received-text
wrap the memberslist text more sensibly
fix height of bubbles to match that of avatars (32px)
2014-08-17 23:49:34 +01:00
Matthew Hodgson
60245c4f90
implement html5 notifications. (have to be explicitly requested under Config)
2014-08-17 03:48:28 +01:00
Matthew Hodgson
48f4497fe9
unbreak login sequence (which spuriously required a sydent server to be specified, which login.html was no longer doing...)
2014-08-17 03:47:58 +01:00
Matthew Hodgson
1c202f9f7a
oops, debugging crept in
2014-08-17 03:00:08 +01:00
Matthew Hodgson
a56a346343
dial down logging
2014-08-17 02:58:01 +01:00
Matthew Hodgson
00c0737b0e
- use css3 to make avatars always the right aspect ratio
...
- implement slightly overengineered tab/shift-tab autocomplete function
2014-08-17 02:56:34 +01:00
Matthew Hodgson
831c218a93
autohyperlink messages using linky
2014-08-16 22:21:52 +01:00
Matthew Hodgson
54c47f962b
use minified angular by default
2014-08-16 22:09:42 +01:00
Matthew Hodgson
1c36118d98
minified angularjs stuff to speed things up
2014-08-16 22:07:47 +01:00
Matthew Hodgson
8c69eff14c
improve infinite scrolling so it keeps paginating until you have a scrollbar (if it can)
2014-08-16 22:05:31 +01:00
Matthew Hodgson
f1d140eea8
remove log spam
2014-08-16 22:02:52 +01:00
Matthew Hodgson
fe25e65f3f
disambiguate identical displaynames
2014-08-16 20:48:05 +01:00
Matthew Hodgson
e4770bb039
make presence timestamps less verbose
2014-08-16 13:30:34 +01:00
Matthew Hodgson
dc6212b6fb
roll back b602834
as it made a bizarre subset of avatars go awol
2014-08-16 13:28:04 +01:00
Matthew Hodgson
ce4ca473cb
order the members list by most recently active
2014-08-16 13:23:16 +01:00
Matthew Hodgson
b60283473a
don't hammer a new hit for every displayname and avatar_url when we already have them in the members list...
2014-08-16 13:23:15 +01:00
Matthew Hodgson
00e8be516a
merge weirdness
2014-08-16 01:48:44 +01:00
Matthew Hodgson
207ef144c5
display mtime_age in webclient
2014-08-16 01:07:23 +01:00
Matthew Hodgson
4068339770
slightly hacky but more functional infinite scrolling
2014-08-16 00:14:47 +01:00
Matthew Hodgson
9f7c5f161c
switch some elements from being styled by class to styled by id
2014-08-15 23:24:42 +01:00
Kegan Dougal
60a9f27edb
Formatting
2014-08-15 17:58:51 +01:00
Kegan Dougal
0e6a2f87f9
Get presence for members when you enter a room (it was coming down but wasn't being stored in the right place)
2014-08-15 17:47:45 +01:00
Kegan Dougal
5b817ecd44
Added infinite scrolling. It's sliiiightly buggy in that it jumps down the list a bit, but it is overall working pretty well. Added ng-infinite-scroll-matrix.js and jquery-1.8.3 as deps.
2014-08-15 17:42:11 +01:00
Kegan Dougal
02e45da895
When new invites come down, update the My Rooms list. Added hacks to make the display name a bit nicer (/im/sync needs to return room aliases / membership events better)
2014-08-15 17:42:11 +01:00
Kegan Dougal
5ac87292c4
Remove old polling stuff from RoomController. Added service comments. Do not start the event stream on startup unless you have credentials.
2014-08-15 14:06:56 +01:00
Kegan Dougal
7ddb7a5cbb
Event streaming now happens on an app level, rather than a per-room level. Make eventStreamService manage it's own repolling provided no one calls stop() on it. Couple the stream with eventHandlerService so any controller can just blithely call eventStreamService.resume() and expect to 'get stuff' without having to handle promises (though resume() still returns a promise for that request and proxies it through $q). Kill and reset the stream if you logout.
2014-08-15 14:06:56 +01:00
Kegan Dougal
c51cf4efca
Store messages in $rootScope so they can be accessed from multiple controllers without duplicated storage for each. This also gives updates.
2014-08-15 14:06:56 +01:00
Kegan Dougal
5dbceaf5a4
Added event handler service which.. handles events. More specifically, it $broadcasts events depending on their type, and does processing on events (shuffling keys, adding events to $rootScope so displays will automatically update, sending delivery receipts, and so on). Some of this logic was previously contained in the RoomController, which fails the moment you add >1 room into the mix, hence requiring a Service to handle events, rather than having each individual controller maintain their part of the world.
2014-08-15 14:06:56 +01:00
Kegan Dougal
8bf3994c2e
Added event stream service which neatly blobs together requests / state for the event stream. This depends on matrix service to do the actual hit. Currently this has exactly the same behaviour as before.
2014-08-15 14:06:56 +01:00
Kegan Dougal
5de086b736
More helpful display when the event stream fails, wiping it when the connection is regained.
2014-08-14 17:40:38 +01:00
Emmanuel ROHEE
e6c62d5d7f
We can now upload avatar image somewhere
2014-08-14 18:40:20 +02:00
Emmanuel ROHEE
deae7f4f5d
Create a temporary upload service server side (by hacking demos/webserver.py) and client side with an angularjs service component.
2014-08-14 18:39:23 +02:00
Emmanuel ROHEE
f5973d8ddb
Create a temporary upload service server side (by hacking demos/webserver.py) and client side with an angularjs service component.
2014-08-14 18:38:56 +02:00
Kegan Dougal
30da8c81c7
webclient: You can now paginate in rooms. Defaults to 10 messages, with a button to get more (needs to be hooked into infini-scrolling).
2014-08-14 17:23:47 +01:00
Kegan Dougal
fef3183461
Pass back the user_id in the response to /login in case it has changed. Store and use that on the webclient rather than the input field.
2014-08-14 16:40:15 +01:00
Kegan Dougal
ca3747fb2f
hs: Make /login accept full user IDs or just local parts. webclient: Only enable Register button when both password fields match.
2014-08-14 16:29:51 +01:00
Kegan Dougal
6f925f61ff
Auto-correct the username when logging in if there isn't an @
2014-08-14 16:08:22 +01:00
Kegan Dougal
fb93e14e53
Be more helpful when failing to register/login, stating why (communication error, user in user, wrong credentials, etc). Make the HS send M_USER_IN_USE.
2014-08-14 16:03:04 +01:00
Kegan Dougal
40c998336d
Finish up room controller too. May have missed one or two, but testing didn't pick anything up.
2014-08-14 15:47:38 +01:00
Kegan Dougal
24bd133d9d
Added extra nesting .data and rename callback to be response not data
2014-08-14 15:43:16 +01:00
Kegan Dougal
db3e1d73c6
Move the unknown token broadcast to the interceptor. Return the $http promise and not a wrapped one via $q. Everything now needs a level deeper nesting. Fixed registration and login.
2014-08-14 15:36:40 +01:00
Kegan Dougal
76005c44f7
Added an access token interceptor to check unknown tokens.
2014-08-14 15:21:39 +01:00
Emmanuel ROHEE
7143f358f1
Detect when the user access token is no more valid and log the user out in this case
2014-08-14 15:00:21 +02:00
Kegan Dougal
613e468b89
Guess the home server URL on the login screen by inspecting the URL of the web client.
2014-08-14 13:57:55 +01:00
Emmanuel ROHEE
d5033849a5
BF: Use ng-src
2014-08-14 13:51:35 +02:00