Commit graph

745 commits

Author SHA1 Message Date
Matthew Hodgson
554a6ff035 improve wording of MemberInfo's start chat button. Fixes https://github.com/vector-im/vector-web/issues/689 and clarifies https://github.com/matrix-org/matrix-react-sdk/issues/328 2016-07-17 19:41:53 +01:00
Matthew Hodgson
999c52b650 fix comment 2016-07-17 19:00:22 +01:00
Matthew Hodgson
0553d806d7 stop re-invites 2016-07-17 18:40:54 +01:00
Matthew Hodgson
2bc9dd4307 hopefully fix vector-im/vector-web#1813 2016-07-17 18:32:48 +01:00
Matthew Hodgson
bfe50c209c fix typo in comment 2016-07-16 22:49:42 +01:00
Matthew Hodgson
a61168d943 Revert "Amends react template and removes opening image in lightbox" 2016-07-15 16:54:56 +01:00
David Baker
d5bed78a54 Rejig tab complete to make it faster
Now do a lot less when people speak. Also move more of the tab completion logic into TabComplete.js and out of RoomView.
2016-07-15 16:10:27 +01:00
Matthew Hodgson
ca5987bf6c Merge pull request #345 from matrix-org/wmwragg/modal-restyle
Wmwragg/modal restyle
2016-07-15 14:05:22 +01:00
Matthew Hodgson
78b7d04710 Merge pull request #343 from ribot/feature-inline-link-preview
Amends react template and removes opening image in lightbox
2016-07-15 13:55:07 +01:00
wmwragg
febd2110c5 Updated all dialogs to define their primary button, I've selected the one that had been specified for focus, but the primary button isn't dependent on focus, it's a UX feature 2016-07-15 11:23:58 +01:00
Richard van der Hoff
8144b894f7 Merge pull request #344 from matrix-org/dbkr/remove_initial_memberlist_load_hack
Remove the member list loading hack
2016-07-14 18:50:52 +01:00
David Baker
3abdb83d16 Remove now-unused limit param to roomMembers() 2016-07-14 18:40:43 +01:00
David Baker
743cb4b777 Remove the member list loading hack
Now the memberlist os a truncated list it at-best makes no difference and may be marginally slowing us down.
2016-07-14 18:37:57 +01:00
David Baker
9fd0ea1e32 More variable case 2016-07-14 18:18:44 +01:00
David Baker
2fd690ea2b Oops, removed the pure offline class 2016-07-14 18:13:54 +01:00
David Baker
7c1b4f4fc9 Obey my own code style 2016-07-14 18:13:15 +01:00
David Baker
a49a545161 CSS classes to colour offline users differently
So we can use the same 66% opacity as idle tiles for offline-with-last-active-time to reduce the visual jarring
2016-07-14 17:41:07 +01:00
Stefan Pearson
cad057ef34 amends react template and removes opening image in lightbox 2016-07-14 17:12:17 +01:00
wmwragg
fd5d28768a Simplification of the css 2016-07-14 12:05:00 +01:00
wmwragg
f6302fc990 Updated the search button, and simplified the leave css 2016-07-14 11:43:33 +01:00
David Baker
2d6d734571 Listen for the new lastPreseceTs event
This will catch all presence events as previously we were only listening for the actual presence string changing
2016-07-14 10:05:40 +01:00
wmwragg
7f00053f84 Footer upload icon updated to new vesrion 2016-07-13 17:46:56 +01:00
wmwragg
936a38a9f4 Updated and moved the room header settings icon 2016-07-13 16:02:18 +01:00
David Baker
6b03f72474 Fix filtering user list by ID
Fixes https://github.com/vector-im/vector-web/issues/1739
2016-07-13 11:56:01 +01:00
Aviral Dasgupta
b334522168 feat: code cleanup & emoji replacement in composer 2016-07-08 12:54:28 +05:30
David Baker
345ed04ba9 Less enetering 2016-07-07 13:03:27 +01:00
David Baker
5c879d786e Doc the default params / guestUsername props 2016-07-07 11:23:08 +01:00
David Baker
e2c473b366 Error on registration if email taken
Use the new register-specific request token endpoint (https://github.com/matrix-org/matrix-js-sdk/pull/147) and catch the error that it gives if the email is already in use. Also add initial values to the registration form so we can reload it after the error without all the values disappearing, and split out the guest username parameter which was previously called defaultUsername.
2016-07-06 15:22:06 +01:00
David Baker
63ad57a8d4 Merge pull request #332 from aviraldg/feature-emojione
feat: render unicode emoji as emojione images
2016-07-05 10:18:33 +01:00
Aviral Dasgupta
6a133bc034 feat: and emojify name in MemberInfo 2016-07-05 10:24:18 +05:30
Aviral Dasgupta
020f1f4320 feat: emojify ALL THE THINGS! 2016-07-05 10:16:17 +05:30
Aviral Dasgupta
22a2593bf2 fix: unbreak old MessageComposerInput/TabComplete 2016-07-05 01:32:40 +05:30
Aviral Dasgupta
73b726e5fb feat: import only flatMap from lodash 2016-07-04 21:56:09 +05:30
Aviral Dasgupta
30b7efd585 fix: code cleanup, fix getCurrentCommand 2016-07-04 21:44:35 +05:30
Aviral Dasgupta
cccc58b47f feat: implement autocomplete replacement 2016-07-03 22:15:13 +05:30
Aviral Dasgupta
8961c87cf9 feat: Autocomplete selection wraparound 2016-07-03 01:11:34 +05:30
Aviral Dasgupta
cd928fe6f5 Merge remote-tracking branch 'upstream/develop' into feature-autocomplete 2016-07-03 00:00:02 +05:30
Richard van der Hoff
a671e07da7 Merge pull request #326 from matrix-org/dbkr/fix_user_links
Fix user links
2016-06-30 17:43:08 +01:00
Richard van der Hoff
ce39822957 Merge pull request #327 from theworldbright/1492-fix-ordering-memberlist
Fix ordering of Memberlist
2016-06-29 10:21:15 +01:00
theworldbright
7609b9eba8 Simplify logic for timestamp ordering of memberlist 2016-06-29 17:45:24 +09:00
theworldbright
b3d871aa6a Add back comment 2016-06-29 17:33:41 +09:00
theworldbright
69cb0a8f1c Switch ordering of Idle users 2016-06-29 17:08:17 +09:00
theworldbright
72a1d5a0de Remove unused comments 2016-06-29 16:58:08 +09:00
theworldbright
174caceabf Use lastActiveAgo to reorder member list 2016-06-29 16:57:59 +09:00
David Baker
ba47c5a198 Merge remote-tracking branch 'origin/develop' into dbkr/fix_user_links 2016-06-28 17:15:17 +01:00
David Baker
e8337b2119 More PR feedback 2016-06-28 17:11:47 +01:00
David Baker
548c392236 PR feedback 2016-06-28 14:59:45 +01:00
David Baker
c016eb78c8 Fix user links
'Start chat' was broken on the sidebar if the panel was displayed by clicking on a link to a user. This adds null checking for the hack that we use to display users in the member panel.
2016-06-28 14:28:05 +01:00
David Baker
98c03869a7 Display an error message if room not found
Fixes https://github.com/vector-im/vector-web/issues/1012
2016-06-24 15:34:07 +01:00
Richard van der Hoff
a1dd427420 Implement device blocking
This is the react-sdk part of
https://github.com/matrix-org/matrix-js-sdk/pull/146. It adds 'Block'/'Unblock'
buttons to the device list, and updates the deviceVerified listeners to listen
for deviceVerificationChanged instead.

Also adds an extra <div> to the deviceinfo section to help me with the
CSS.
2016-06-23 17:30:04 +01:00
Richard van der Hoff
cdaf317f1d Merge pull request #321 from matrix-org/rav/encrypt_room_setting
RoomSettings: add encryption setting
2016-06-23 13:40:30 +01:00
Richard van der Hoff
3a21958faf RoomSettings: add encryption setting
Add a knob to RoomSettings which will send the appropriate event to enable
encryption in the room.
2016-06-23 12:21:31 +01:00
Richard van der Hoff
7a7d7c0e02 Fix a pair of warnings from RoomSettings
- initialise the 'publish' checkbox correctly so react doesn't grumble about it
  turning from uncontrolled into controlled

- PowerSelector's 'controlled' property isn't really required, so mark it as
  such.
2016-06-23 11:15:55 +01:00
Richard van der Hoff
a04f03669c RoomSettings: refactor permissions calculations
The logic for calculating who had permission for what was impenetrable (and
wrong, in parts), so rewrite it to be a bit clearer.
2016-06-23 10:36:16 +01:00
Aviral Dasgupta
a74db3a815 Get basic keyboard selection working 2016-06-21 18:33:39 +05:30
Aviral Dasgupta
fb6eec0f7d Hide/show autocomplete based on selection state 2016-06-21 15:46:20 +05:30
Aviral Dasgupta
442291c0a4 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into feature-autocomplete 2016-06-21 04:09:22 +05:30
Aviral Dasgupta
4af983ed90 Style changes and improvements in autocomplete 2016-06-20 13:52:55 +05:30
Matthew Hodgson
94aec10512 Merge branch 'develop' into dbkr/scalar 2016-06-19 22:40:48 +01:00
Richard van der Hoff
ad00abe9c0 Support for making devices unverified
Because its useful for testing

Requires support from js-sdk, and (ideally) css from vector-web
2016-06-17 16:24:23 +01:00
Aviral Dasgupta
b9d7743e5a Emoji provider, DDG working, style improvements 2016-06-17 04:58:09 +05:30
Aviral Dasgupta
769b3f0c2a Merge branch 'develop' into feature-autocomplete 2016-06-17 00:37:39 +05:30
Aviral Dasgupta
8b1332cd29 Use different keys for new MessageComposerInput 2016-06-16 14:46:09 +05:30
Aviral Dasgupta
3f1b57b35b Fix cursor bug, persist editor mode & rte default 2016-06-15 00:13:34 +05:30
David Baker
5199cd04a2 Merge pull request #292 from aviraldg/feature-rte
Rich Text Editor
2016-06-14 15:27:39 +01:00
Aviral Dasgupta
ba69e4365d more RTE fixes 2016-06-14 19:28:51 +05:30
Aviral Dasgupta
8cb086ef31 use constants for keycodes in RTE 2016-06-14 19:14:09 +05:30
Richard van der Hoff
e973d18085 Hide e2e features if not enabled
Don't show the device info in the MemberInfo and UserSettings unless the user
has ticked the 'labs' box.
2016-06-14 11:57:08 +01:00
Aviral Dasgupta
34be17cc7e use rte labs setting 2016-06-14 00:10:43 +05:30
Aviral Dasgupta
4bc8ec3e6d room, user, ddg autocomplete providers (wip) 2016-06-12 17:02:46 +05:30
Aviral Dasgupta
0df201c483 Merge branch 'develop' into feature-autocomplete 2016-06-12 14:10:23 +05:30
Pedro Ferreira
8f45f168d5 Fix highlighting behaviour on switch
Hopefully made the code a little bit clearer.
2016-06-12 01:08:31 +02:00
Pedro Ferreira
a5a3e4e915 Basic Markdown highlighting 2016-06-12 01:07:16 +02:00
Aviral Dasgupta
c0d7629980 get /commands working again 2016-06-12 00:11:27 +05:30
Aviral Dasgupta
b960d220d2 cleanup, better comments, markdown hotkeys 2016-06-11 22:24:09 +05:30
Aviral Dasgupta
e4217c3fb7 rte improvements, markdown mode 2016-06-11 15:52:08 +05:30
Aviral Dasgupta
bf8e56e04c Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into feature-rte 2016-06-10 04:43:44 +05:30
Aviral Dasgupta
4e0720db12 Fix MessageComposerInput.setLastTextEntry 2016-06-10 00:03:40 +05:30
Aviral Dasgupta
29cdd1fc41 user and room decorators, history & typing notifs 2016-06-09 23:53:09 +05:30
David Baker
049e3a968b Merge pull request #303 from matrix-org/rav/factor_out_createroom
Factor out common parts of room creation
2016-06-09 11:05:22 +01:00
Richard van der Hoff
de36aa63fb Factor out common parts of room creation
Take the duplicated code out of MatrixChat and MemberInfo, and put it in a
separate 'createRoom' module
2016-06-09 10:58:25 +01:00
Richard van der Hoff
2352661513 MemberInfo: remove spinner if device query fails
If the request to /keys/query fails (for example, because we are a guest), we
need to remove the spinner.
2016-06-09 10:57:19 +01:00
Richard van der Hoff
85770feb31 device verification: use a js-sdk event
We'll probably want to be able to bubble up device verifications from the
js-sdk at some point, so let's use a js-sdk event for this.
2016-06-08 21:25:42 +01:00
Richard van der Hoff
7ce49c752f Wire up events to update UI on device verification
Use the dispatcher to update event tiles and memberdeviceinfo when a device is
marked as verified.
2016-06-08 18:35:43 +01:00
Richard van der Hoff
1616431d27 EventTile: add classes to indicate verifiedness
Add a couple of CSS classes to event tiles to reflect whether encrypted events
have been verified or not.
2016-06-08 17:02:42 +01:00
Richard van der Hoff
f3e66e6fd2 Add device info to member info
Requires e81ce23 in matrix-js-sdk
2016-06-08 17:02:42 +01:00
David Baker
aca0e060a4 Also change velocity-vector commit & requires
Because it needs a versiob where the package name is actually updated and the requires need to use the right package name
2016-06-07 20:47:37 +01:00
David Baker
d5a522fdfe Second attempt at fixing the Velocity memory leak
1) Correct fix for Velociraptor (we need to find the DOM node and pass that in)
2) Do the same leak fix for the read marker
3) Update the dependency to our fork which is fixed to make the call we do to release memory actually work.
4) Remove the velocity-ui-pack dependency which is unnecessary because velocity-ui is included in the velocity package
2016-06-07 18:22:01 +01:00
David Baker
15dccd9871 Handle errors with scalar-oauthing
Handle error getting the scalar token and check for non-success status codes in the response handler (because apparently browser-request doesn't consider that an error).
2016-06-06 17:55:45 +01:00
David Baker
fdcebe1e56 Merge remote-tracking branch 'origin/develop' into dbkr/scalar 2016-06-06 17:19:38 +01:00
Matthew Hodgson
f8b3128645 invite input box wording for amandine 2016-06-02 23:33:55 +01:00
Matthew Hodgson
1b3c8481f6 fix dialog prompt an embarassing bug where if 3pid invites triggered a dialog they'd get wedged 2016-06-02 21:07:47 +01:00
Matthew Hodgson
532e93d7cb fix up trailing whitespace and put the buttons in the right order 2016-06-02 21:07:04 +01:00
Matthew Hodgson
487f3c72dd fix new 3pid invite UI 2016-06-02 16:59:44 +01:00
Matthew Hodgson
3b34311e05 implement new UX for 3pid invites 2016-06-01 23:42:34 +01:00
Matthew Hodgson
0747ca3923 ignore @ prefixes when sorting memberlist 2016-06-01 14:00:20 +01:00
Aviral Dasgupta
b979a16199 initial version of autocomplete 2016-06-01 16:54:21 +05:30
Matthew Hodgson
272afe39dc do not list rooms by default 2016-06-01 02:03:53 +01:00
Matthew Hodgson
c3fc76cdaa warn guests to register nicely to upload files 2016-05-31 23:59:36 +01:00
Matthew Hodgson
2662ca36f9 fix tag unsetting https://github.com/vector-im/vector-web/issues/1499 - HOW DID THIS EVER WORK?!?! 2016-05-31 23:50:47 +01:00
Matthew Hodgson
b74d690035 Merge pull request #290 from matrix-org/matthew/multipreview
multiple URL preview support
2016-05-31 19:42:21 +01:00
Matthew Hodgson
b3638f9169 PR review 2016-05-31 19:42:00 +01:00
Aviral Dasgupta
96526c22c5 Merge branch 'develop' into feature-rte 2016-05-29 20:50:33 +05:30
Aviral Dasgupta
fe76eb9f73 minor improvements
- use <p> for unstyled blocks
- fix return key bug
- editor placeholder
2016-05-28 12:02:35 +05:30
Matthew Hodgson
d5e6e961fd fix url previews firing incorrectly on Matrix.org 2016-05-27 10:09:17 +01:00
Aviral Dasgupta
001011df27 Initial version of rich text editor 2016-05-27 10:15:55 +05:30
Matthew Hodgson
39a3d6fdd4 multiple URL preview support 2016-05-24 00:54:20 +01:00
Matthew Hodgson
5835948a3d ignore @ prefixes when sorting memberlist 2016-05-19 23:00:28 +01:00
Matthew Hodgson
c38c57df1e put integrations manager into a modal 2016-05-19 14:12:08 +01:00
Matthew Hodgson
be5f29d03b Merge branch 'develop' into dbkr/scalar 2016-05-17 20:37:16 +01:00
Matthew Hodgson
fd09d5c570 switch badge count to per-conversation, and add per-room badges 2016-05-17 11:14:12 +01:00
David Baker
75979786fc Call it scalar_token for consistency 2016-05-06 15:06:23 +01:00
David Baker
bb9316edfa Pass the room id to scalar 2016-05-06 14:42:00 +01:00
David Baker
6da4b9d671 Add suport for showing the scalar UI 2016-05-06 14:19:56 +01:00
Matthew Hodgson
3cf12f8626 fix typo 2016-04-28 15:43:42 +01:00
Richard van der Hoff
ca0c697b6e Avoid rerendering during Room unmount
might speed up room changing by a few milliseconds
2016-04-22 17:06:53 +01:00
Matthew Hodgson
d72d9260d4 Merge pull request #284 from matrix-org/matthew/hide_preview_heuristics
add heuristics to hide URL previews...
2016-04-21 18:54:34 +01:00
Matthew Hodgson
4d399a3640 Refactor out isLinkPreviewable 2016-04-21 18:00:39 +01:00
Matthew Hodgson
ee11838537 fix comment paren 2016-04-21 17:19:24 +01:00
Matthew Hodgson
c5a76dec1c add heuristics to hide URL previews other than for URLs where the user has explicitly identified the target as a link: i.e. by including a URI scheme prefix, or by including URI path components, or by doing an explicit markdown hyperlink. ignore previews of URLs within pre or code blocks 2016-04-21 17:14:27 +01:00
Richard van der Hoff
fa34dee091 Rewrite Read-receipt animation
... hopefully fixing https://github.com/vector-im/vector-web/issues/1437 in the
process.

The idea here is that, when we remove a read-receipt from the DOM, we stash its
position in a map. Then, when the read-receipt appears again attached to
another event, we know where to start the transition.
2016-04-20 23:06:53 +01:00
Richard van der Hoff
d953ac4e6b Don't relayout scrollpanels every time something changes
Gemini's habit of reflowing everything everytime anything changes at all makes
for an unresponsive app. Turn it off everywhere we use gemini.
2016-04-20 12:25:19 +01:00
Richard van der Hoff
dcd81da856 Fix test failures introduced by last PR 2016-04-19 21:10:23 +01:00
Richard van der Hoff
568e7aef8b Avoid rerendering EventTiles when not necessary
Each individual eventtile isn't particularly expensive, but when you have 500
of them, they start adding up. Shuffle some of the stuff into MessagePanel, so
that we can shouldComponentUpdate EventTiles properly.
2016-04-19 19:41:43 +01:00
Richard van der Hoff
683faf571f Fix syntax error which prevented build
Remove a spurious } which was introduced in PR #275
2016-04-19 13:32:14 +01:00
Matthew Hodgson
8517b6558b Merge pull request #275 from matrix-org/matthew/memberlist-sort
Fix many thinkos in sorting the MemberList
2016-04-18 19:15:20 +01:00
Richard van der Hoff
7b405d0d9c Don't setState after unmounting a component
Fix a warning which happens if a LinkPreviewWidget is unmounted before the
preview request completes.

Also add missing .done to promise chain
2016-04-18 14:52:41 +01:00
Matthew Hodgson
a95c45eb96 final(?) PR fixes 2016-04-18 14:48:55 +01:00
Matthew Hodgson
60f92fd15b PR feedback 2016-04-18 14:07:20 +01:00
Matthew Hodgson
b2d0950a46 oops, remove debug logging 2016-04-18 01:45:46 +01:00
Matthew Hodgson
b949e78683 Improve ordering of memberlist by absolutizing lastActive correctly
Change ordering of memberlist to not try to compare lastActive of 'currentlyActive' users, as lastActive may will be a complete lie as it only gets updated when currentlyActive transitions to false (i think?)
Remove order by online/idle/offline in favour of "currently active, ordered by power and then alphabetic name, followed by last active, followed by offline"
Add commented-out code to track last-spoken-within-a-room ordering.
Fix kludges due to SYJS-28 (depends on JS PR landing)
2016-04-18 01:35:40 +01:00
Richard van der Hoff
716eb1eb1b Drop workaround for object.onLoad
https://github.com/facebook/react/pull/5781 has been fixed in React 15.0, so
drop our workaroud for it.
2016-04-17 21:46:27 +01:00
Richard van der Hoff
336d91dadb Merge pull request #272 from matrix-org/rav/fix_roomname
Make sure that we update the room name
2016-04-17 18:12:18 +01:00
Matthew Hodgson
f4573bae49 remove premie optimisation of tintablesvg shouldComponentUpdate 2016-04-17 00:28:20 +01:00
Matthew Hodgson
8db14bde60 switch Tinter from using dispatch to a synchronous update when changing the colourscheme, to avoid CSS getting out of sync with SVG colours 2016-04-16 01:00:10 +01:00
Matthew Hodgson
4fb31662e1 fix tooltip offset 2016-04-15 22:24:12 +01:00
Matthew Hodgson
19770563f4 add cancelButton to simpleHeader 2016-04-15 22:16:19 +01:00
Matthew Hodgson
009781dac7 prep for RightPanel full collapse 2016-04-15 18:45:40 +01:00
Matthew Hodgson
a06b420942 wire up searchbox filtering 2016-04-15 17:55:00 +01:00
Matthew Hodgson
7c8d7e5361 move memberlist bottom into rightpanel 2016-04-15 15:53:14 +01:00
Richard van der Hoff
8680afe46f Make sure that we update the room name
It turns out that RoomState.events is fired before Room.name is updated; make
sure that we pick up the latter and do the update.
2016-04-15 10:01:39 +01:00
Matthew Hodgson
26f135c7b0 fix 'undefined' class bug on TintableSvg 2016-04-14 21:44:05 +01:00
Matthew Hodgson
2d71d4422e make selected room more skinnable 2016-04-14 21:11:10 +01:00
Matthew Hodgson
81d5e16225 fix @aviraldg thinko on needing a key on arrays :) 2016-04-14 19:11:09 +01:00
Matthew Hodgson
21fd5078f9 fix NPE on getEventTileOps 2016-04-14 17:39:45 +01:00
Richard van der Hoff
3fd9b29422 Merge pull request #271 from matrix-org/rav/avoid_codepoint_at
Hack around absence of String.codePointAt on PhantomJS
2016-04-13 16:37:00 +01:00
Richard van der Hoff
5706a879d0 Hack around absence of String.codePointAt on PhantomJS
I've been trying to get some tests working under PhantomJS, which appears not
to support String.codePointAt (which is, to be fair, an ES6 addition). For our
limited usecase, it's easier to implement the functionality from first
principles than to try to polyfill support.
2016-04-13 10:35:07 +01:00
Matthew Hodgson
f3793b556e fix super-annoying key warning from react 2016-04-13 02:02:55 +01:00
Matthew Hodgson
92f58b6927 don't try to do preview URLs of matrix IDs (yet :D) 2016-04-13 01:54:06 +01:00
Matthew Hodgson
4b1ff51a42 show a spinner on MemberInfo when updating a member. and label 'disinvite' correctly 2016-04-13 01:46:10 +01:00