Commit graph

1126 commits

Author SHA1 Message Date
Richard van der Hoff
9cadc2f55f Merge pull request #613 from matrix-org/luke/fix-join-part-collapsing-causality
Overhaul MELS to deal with causality, kicks, etc.
2017-01-25 15:20:30 +00:00
Richard van der Hoff
ebe6cddd21 Merge remote-tracking branch 'origin/develop' into rav/megolm_backup_ui 2017-01-25 15:13:14 +00:00
Richard van der Hoff
69b55fd9d1 Merge pull request #650 from matrix-org/dbkr/fix_alt_up_down
Re-add dispatcher as alt-up/down uses it
2017-01-25 15:10:56 +00:00
David Baker
b34f63d3e7 Re-add dispatcher as alt-up/down uses it
Alt-up/down still doesn't go through rooms in the right order,
but it should probably not error.
2017-01-25 14:59:18 +00:00
Kegan Dougal
b00e090600 Do not show the bug report section if there is no bug_report_endpoint_url 2017-01-25 14:43:47 +00:00
David Baker
e567162d28 Merge pull request #648 from matrix-org/rav/fix_set_displayname
Fix SetDisplayNameDialog
2017-01-25 14:32:52 +00:00
David Baker
f66e412d3a Merge pull request #643 from matrix-org/luke/fix-typing-indication
Sync typing indication with avatar typing indication
2017-01-25 11:13:55 +00:00
David Baker
fc9987a827 Merge pull request #646 from matrix-org/matthew/password-reset-warning
Warn users of E2E key loss when changing/resetting passwords or logging out
2017-01-25 11:04:35 +00:00
Richard van der Hoff
29b4dde878 Fix SetDisplayNameDialog
SetDisplayNameDialog got broken by the changes to support asynchronous loading
of dialogs.

Rather than poking into its internals via a ref, make it return its result via
onFinished.

Fixes https://github.com/vector-im/riot-web/issues/3047
2017-01-25 08:01:45 +00:00
Richard van der Hoff
770820e6fa Fix a bunch of lint complaints 2017-01-24 22:41:52 +00:00
Matthew Hodgson
6a40abbbf0 actually, move signout warning to UserSettings.js
also, kill off the inexplicably useless LogoutPrompt in favour of a normal QuestionDialog.
This in turn fixes https://github.com/vector-im/riot-web/issues/2152
2017-01-24 23:18:25 +01:00
Richard van der Hoff
b85f53cadd Implement Megolm key importing 2017-01-24 21:50:24 +00:00
Richard van der Hoff
e23deac1bb Implement e2e export 2017-01-24 21:50:24 +00:00
Matthew Hodgson
5b61d00533 warn users that changing/resetting password will nuke E2E keys 2017-01-24 22:36:55 +01:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
Luke Barnard
a92fff9da7 Fix linting warnings 2017-01-24 17:18:56 +00:00
Luke Barnard
4186a769ca Default prop for whoIsTypingLimit 2017-01-24 17:16:26 +00:00
Kegan Dougal
97387db014 Reduce log spam: Revert a16aeeef2a
As per #riot-dev, this is no longer required.
2017-01-24 16:40:26 +00:00
Luke Barnard
9a360a48d2 Use the same property to limit avatars 2017-01-24 16:04:37 +00:00
Luke Barnard
7c66d1c867 Sync typing indication with avatar typing indication
Follow the same rules for displaying "is typing" as with the typing avatars.
2017-01-24 16:01:39 +00:00
Kegan Dougal
3b9a112136 Add bug report UI 2017-01-24 14:47:11 +00:00
Luke Barnard
ce7434984b Expand timeline in situations when _getIndicator not null
The status bar will now be expanded when:
 - props.numUnreadMessages
 - !props.atEndOfLiveTimeline
 - props.hasActiveCall
2017-01-24 14:32:52 +00:00
Luke Barnard
bd106968ce Merge branch 'develop' into luke/fix-join-part-collapsing-causality
Conflicts:
	src/components/structures/MessagePanel.js
2017-01-24 14:22:18 +00:00
Luke Barnard
a06ecb87bc Hide RoomStatusBar when it displays nothing (#615)
Use CSS class `mx_RoomView_statusArea_expanded` to indicate an expanded status bar. Without this, the status bar may be hidden from view. A 10s debounce will prevent it from bouncing frequently.
2017-01-23 16:01:39 +01:00
Luke Barnard
d97fc0a99a Fix typing avatars displaying "me" 2017-01-23 10:25:33 +00:00
Matthew Hodgson
7bc3fc8696 make UnknownDeviceDialog work again, other than the mess of vector-im/vector-web#3020 2017-01-22 01:28:43 +01:00
Matthew Hodgson
39c122fe4f fix local storage idiocy 2017-01-21 22:27:55 +01:00
Matthew Hodgson
3071fc0ddc UI for blacklisting unverified devices per-room & globally
(written blind; untested as yet)
2017-01-21 17:39:39 +00:00
Matthew Hodgson
937f13d578 fix a bunch of dark-theme buttons 2017-01-20 21:00:22 +00:00
Luke Barnard
0c5762b91d Implement "someone is typing" avatars (#631)
When users are typing, their avatars can be seen instead of "..." in the RoomView StatusBar
2017-01-20 17:51:35 +01:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Richard van der Hoff
a16aeeef2a Temporarily add more logging, to try to catch failures on travis 2017-01-20 13:06:06 +00:00
Matthew Hodgson
b76b0f755d fix context menu bg 2017-01-20 02:47:47 +00:00
Richard van der Hoff
2637ae3af3 Merge pull request #630 from matrix-org/rav/fix_themes
(hopefully) fix theming on Chrome
2017-01-19 17:34:36 +00:00
Richard van der Hoff
a88f9fdd73 (hopefully) fix theming on Chrome
Jump through some hoops to make Chrome behave sensibly on non-default themes.
2017-01-19 15:36:57 +00:00
David Baker
9e0c7a11d0 Merge pull request #628 from matrix-org/luke/feature-team-reg-auto-join-rooms
Implement auto-join rooms on registration
2017-01-19 11:44:37 +00:00
lukebarnard
e9eb38fd74 Update propTypes and do null checks 2017-01-19 11:05:08 +01:00
lukebarnard
e06dd6e34a Implement auto-join rooms on registration
Also: This fixes registration with a team: only the email localpart was being used to register.

When a registration is successful, the user will be joined to rooms specified in the config.json teamsConfig:

"teamsConfig" : {
  "supportEmail": "support@riot.im",
  "teams": [
    {
      "name" : "matrix",
      "emailSuffix" : "matrix.org",
      "rooms" : [
        {
          "id" : "#irc_matrix:matrix.org",
          "autoJoin" : true
        }
      ]
    }
  ]
}

autoJoin can of course be set to false if the room should only be displayed on the (forthcoming) welcome page for each team, and not auto-joined.
2017-01-19 10:56:04 +01:00
Matthew Hodgson
4e5689082d correctly load synced themes without NPE 2017-01-18 20:06:54 +00:00
Matthew Hodgson
4df968ecdf fix css snafu 2017-01-18 20:06:44 +00:00
Matthew Hodgson
fc63067237 improve commentary 2017-01-18 16:36:27 +00:00
Matthew Hodgson
3d30553b7f review fixes, plus unbreak to work with new webpack layout 2017-01-18 14:06:47 +00:00
Matthew Hodgson
a0bbe3a306 Merge branch 'develop' into matthew/postcss 2017-01-18 12:52:59 +00:00
Luke Barnard
5ef5204c8c Implement simple team-based registration (#620)
* Implement simple team-based registration

Config required goes in the `teams` top-level property in config.json. This consists of an array of team objects:
```json
{
  "name": "University of Bath",
  "emailSuffix": "bath.ac.uk"
}
```
These can be selected on registration and require a user to have a certain email address in order to register as part of a team. This is for vector-im/riot-web#2940. The next step would be sending users with emails matching the emailSuffix of a team to the correct welcome page as in vector-im/riot-web#2430.
2017-01-18 12:48:28 +01:00
Matthew Hodgson
8288eb730c a rather hacky implementation of theme switching 2017-01-17 19:13:23 +00:00
Matthew Hodgson
203172c886 typos 2017-01-17 14:11:01 +00:00
Jani Mustonen
959163f2ef Proper accessible buttons 2017-01-13 19:36:41 +02:00
Jani Mustonen
8d79716421 Turned the links to buttons to comply with MDN's recommendations 2017-01-13 19:36:40 +02:00
Jani Mustonen
ad072cc179 Turned buttons from divs to links. Makes it possible for screen readers and hotkeys to recognize the buttons. 2017-01-13 19:36:40 +02:00
Luke Barnard
d2d78919ce Overhaul MELS to deal with causality, kicks, etc.
The MELS can now deal with arbitrary sequences of transitions per user, where a transition is a change in membership. A transition can be joined, left, invite_reject, invite_withdrawal, invited, banned, unbanned or kicked.

Repeated segments (modulo 1 and 2), such as joined,left,joined,left,joined will be handled and will be rendered as " ... and 10 others joined and left 2 times and then joined". The repeated segments are assumed to be at the beginning of the sequence. This could be improved to handle arbitrary repeated sequences.
2017-01-12 18:55:53 +00:00
Luke Barnard
6e2a75bbee Fix redacted member events being visible
This was due to the `MemberEventListSummary` not ignoring redacted joins/leaves. This was also causing bug #2765.
2017-01-11 11:27:07 +00:00
David Baker
13a5337e0f Fix 'create account' link in 'forgot password'
Fixes https://github.com/vector-im/riot-web/issues/2853
2017-01-10 15:16:39 +00:00
Richard van der Hoff
42de77e588 Remove "Cannot re-join empty room" error
This is a lying error message. burn it with fire
2016-12-27 19:17:48 +00:00
Matthew Hodgson
69b277b282 ask electron users to do captchas in a web browser.
This will happen anyway when they follow email verification links.
make captchas poll for success so if they are completed elsewhere, electron moves on
2016-12-24 03:15:30 +00:00
Luke Barnard
2a63017372 Account for timezone in date separator calculation (#595)
* Account for timezone in date separator calculation

Decide on date separators using MatrixEvent.getDate(). This requires matrix-org/matrix-js-sdk#311
2016-12-22 17:54:30 +00:00
David Baker
fd44d9f4d6 Merge pull request #597 from matrix-org/dbkr/delete_threepid
Add support for deleting threepids
2016-12-22 15:31:34 +00:00
David Baker
8a3f2d9e91 Merge pull request #598 from matrix-org/dbkr/display_msisdn_threepid
Display msisdn threepids as 'Phone'
2016-12-22 15:28:09 +00:00
David Baker
a6fdbda011 Get variable name right 2016-12-22 15:26:08 +00:00
David Baker
98b22460ec They're not all emails anymore 2016-12-22 15:03:24 +00:00
Daniel Dent
7c841a86ef Unbranded error messages 2016-12-21 14:28:01 -08:00
David Baker
3dfffa385e Display msisdn threepids as 'Phone'
rather than pretending only email exists
2016-12-21 18:56:50 +00:00
David Baker
5e10ec4ece Add support for deleting threepids 2016-12-21 18:49:38 +00:00
Richard van der Hoff
4804fb3a1c Revert "Fix performance issues with wantsDateSeperator"
This change broke timezone handling, so that date-separators are shown at the
wrong time of day.

This reverts commit b908e7ef29.
2016-12-21 09:48:41 +00:00
Richard van der Hoff
b8c0fa507e Merge pull request #590 from matrix-org/luke/fix-membereventlistsummary-performance
Improve the performance of MemberEventListSummary
2016-12-16 10:53:51 +00:00
Luke Barnard
6b52b247e7 Update comment on MELS key 2016-12-15 18:26:41 +00:00
Luke Barnard
88aeb6417e Use the first member event ID or "initial" in the MELS key 2016-12-15 18:23:54 +00:00
Kegsay
71132c4610 Merge pull request #592 from matrix-org/kegan/bulk-reject-invites
Implement bulk invite rejections
2016-12-15 16:16:55 +00:00
Kegan Dougal
ec41fc284a Null guard on componentWillUnmount 2016-12-15 16:13:09 +00:00
Kegan Dougal
8a511ed54b Add .done() to catch exceptions which may be thrown in setState 2016-12-15 14:17:29 +00:00
Luke Barnard
e7564f4dc5 Spelling 2016-12-15 13:16:36 +00:00
Kegan Dougal
8f42134d9f Explain why binding 2016-12-14 16:04:20 +00:00
Luke Barnard
b908e7ef29 Fix performance issues with wantsDateSeperator
This was causing rendering of MemberEventListSummary to be quite slow. Instead of creating two date objects, just check to see if they represent timestamps that happened on different days.
2016-12-14 16:01:32 +00:00
Kegan Dougal
13dfe9ef0f Implement bulk invite rejects 2016-12-14 16:00:50 +00:00
Luke Barnard
c07e5d4992 Improve the performance of MemberEventListSummary
- The MessagePanel now uses the same key for the MELS instances rendered so that entirely new instances are not created, they are simply passed new props (namely when new events arrive).
- MELS itself now uses `shouldComponentUpdate` so that it only updates if it is given a different number of events to previous or if it is toggled to expand.
2016-12-14 15:31:35 +00:00
Kegan Dougal
1d4591ce68 Add UI in UserSettings for bulk rejecting invites 2016-12-14 15:01:50 +00:00
Kegan Dougal
49010c3e93 Refactor how 'readReceipts' are passed into EventTiles
Instead of passing a list of RoomMembers, pass a list of records with a
`roomMember` prop and a `ts` prop so we can display the timestamp on hover.
2016-12-09 11:24:10 +00:00
David Baker
9e3c94edf4 Fix exception when clearing room dir search
Needed more isMounted checks after promises return.
2016-12-06 14:59:10 +00:00
David Baker
6777e07a41 Remove device name from crypto section
As it was getting it by assuming our device was the first one,
which is just not a valid assumption.
2016-12-05 20:03:43 +00:00
David Baker
8ffe14881e Don't throw an exception entering settings page
if end to end encryption is disabled (eg. if you're a guest and
the server is too old to support e2e for guests).
2016-12-05 18:33:38 +00:00
Mark Haines
81e429eb14 Fix e2e attachment download by using iframes. (#562)
* Render attachments inside iframes.

* Fix up the image and video views

* Fix m.audio

* Comments, and only use the cross domain renderer if the attachment is encrypted

* Fix whitespace

* Don't decrypt file attachments immediately

* Use https://usercontent.riot.im/v1.html by default

* typos

* Put the config in the React context.

Use it in MFileBody to configure the cross origin renderer URL.

* Call it appConfig in the context

* Return the promises so they don't get dropped
2016-12-02 14:21:07 +00:00
David Baker
8547d00f32 Don't default the page_type to room directory
As it breaks the behaviour of redirecting to /#/directory
2016-11-24 16:39:48 +00:00
David Baker
2aba646acd Clear room alias etc. on logout 2016-11-24 14:58:37 +00:00
David Baker
0069393650 Go back to same room after logging in 2016-11-24 13:28:51 +00:00
David Baker
0bc4659fe0 Fix crash on logging in
If you arrived at the page via a link to a room.

Fixes https://github.com/vector-im/vector-web/issues/2634
2016-11-24 12:33:31 +00:00
Richard van der Hoff
6e6bcf8b78 Reinstate missing sections from the UserSettings
The 'devices' and 'cryptography' sections got removed from UserSettings by #566.
2016-11-23 11:08:21 +00:00
Luke Barnard
42fc7b1b66 Use UNFILL_REQUEST_DEBOUNCE_MS constant, reset unfillDebouncer timeout reference. 2016-11-22 17:23:06 +00:00
Luke Barnard
d1a5d94916 Make the unpagination process less aggressive
This increases `UNPAGINATION_PADDING` (see the ASCII on ScrollPanel.js, `_getExcessHeight`), and also debounces unfilling requests made for 200ms. This forces unfilling requests not to be sent unless the next 200ms has no scrolling, effectively.
2016-11-22 16:47:56 +00:00
Luke Barnard
341175ea58 Fix pagination issue where recent events are lost (#563)
Fix pagination issue where recent events are lost

Scrolling up a few pages followed by scrolling down to the most recent events previously caused some events to go missing. A test has been modified in conjunction with this fix to make sure that this failure mode is tested for in future. This commit should fix the issue, and the most recent events should be paginated back in.
2016-11-18 11:15:14 +00:00
Luke Barnard
3618b49982 Use new js-sdk public unpaginate 2016-11-16 16:10:23 +00:00
Luke Barnard
beecbc7cd7 Fix join/part collapsing regressions (#553)
* Fix join/part collapsing regressions

* Simplify loop

* Explain e,e

* Explain return null in _renderSummary

* Kill it properly

* Move . to _renderSummary

* Only use the first and last events to decide whether a net change has occured

* Do not sort events by TS before summarising

* fix loop and comment

* remove data-number-events

* Better explanation comment in _renderSummary

* Less tortuous comment
2016-11-16 14:42:30 +00:00
Luke Barnard
b718f1542c Fix infinite loop when there are a lot of invisible events (#554)
Instead of using a window of a fixed number of events, unpaginate based on the distance of the viewport from the end of the scroll range.

The ScrollPanel uses the scrollTokens to convey to its parent (the TimelinePanel, in this case) the point to unpaginate up to. The TimelinePanel then takes a chunk of events off the front or back of `this.state.events` using `timelineWindow.unpaginate`.

Fixes https://github.com/vector-im/vector-web/issues/2020
2016-11-16 14:25:52 +00:00
Matthew Hodgson
a967ddd1cb quick and dirty support for custom welcome pages, with an example for geektime techfest 2016-11-13 14:10:46 +00:00
Luke Barnard
2a1d32f4d5 Add key prop to memberlist summary 2016-11-11 13:49:25 +00:00
Richard van der Hoff
998690431f Merge pull request #542 from matrix-org/dbkr/get_app_version
Fix the vector web version in UserSettings
2016-11-11 11:11:36 +00:00
Richard van der Hoff
00ecff7497 Merge pull request #544 from matrix-org/luke/feature-truncate-m-room-member-events
Truncate consecutive member events
2016-11-11 11:01:47 +00:00
David Baker
857c0d1747 Wrap getAppVersion() in promise
in case it throws
2016-11-11 10:05:53 +00:00
Luke Barnard
3ec7940d12 Inline renderEvents 2016-11-10 17:26:36 +00:00
Luke Barnard
d2d7ebc979 correct comment 2016-11-10 17:22:16 +00:00
Luke Barnard
dcbb31279f Prefer import React, set prevEvent to last MemberhsipChange 2016-11-10 14:08:11 +00:00
Luke Barnard
566034cf2b Render children EventTiles before passing to summary element 2016-11-10 13:25:48 +00:00
Luke Barnard
764959ec1c Comment on i after membershipchanges 2016-11-10 13:14:04 +00:00
Luke Barnard
0ec5eebfc9 Hoist isMembershipChange out of for loop 2016-11-10 13:03:17 +00:00
Luke Barnard
d01bb0b78f Use sdk.getComponent 2016-11-10 13:01:48 +00:00
Luke Barnard
5f0b891d47 Add date seperator to the expanded events
netsplits across midnight is not handled, and @richvdh suggested splitting the list in two
2016-11-09 17:44:43 +00:00
Luke Barnard
04a934f738 Trying to get rid of the date separator problem 2016-11-09 16:24:56 +00:00
Luke Barnard
2f02c4b84e WIP nicer join/part folding 2016-11-09 16:03:35 +00:00
David Baker
a008f5010a Fix the ctrl+e mute camera shortcut
* Fixes the altgr+e shortcut on Windows
   (Fixes https://github.com/vector-im/vector-web/issues/2561)
 * Fixes the shortcuts to be cmd+e on mac rather than ctrl+e
   which is more normal and doesn't clobber ctrl+e which old
   school unix types use for go-to-end-of-line.
2016-11-08 18:04:22 +00:00
Luke Barnard
cd241a4a17 Truncate consecutive member events
This is needed for the IRC bridge to be able to do full membership list syncing without cluttering the message panel.
2016-11-08 16:34:02 +00:00
David Baker
d871ca2b24 PR feedback 2016-11-08 11:43:24 +00:00
David Baker
d44adcb7a9 Fix the vector web version in UserSettings
Add a getAppVersion() function to the platform rather than relying
on the updater code firing an event before we know what the app
version is.
2016-11-08 10:45:19 +00:00
Richard van der Hoff
2ee98e9fdc Fix NPE in LoggedInView
Fixes a NPE displaying the new version bar
(also fix displayname for WithMatrixClient)
2016-11-07 09:28:10 +00:00
David Baker
da10660c86 Merge remote-tracking branch 'origin/develop' into rav/add_client_to_context 2016-11-04 10:35:41 +00:00
Richard van der Hoff
cb5b311e44 Move saveScrollState into RoomView
It fits much more naturally here than in LoggedInView.
2016-11-04 09:28:35 +00:00
Richard van der Hoff
d3f20e1d9d Add the MatrixClient to the react context
Because that's the reacty way
2016-11-03 19:02:27 +00:00
Richard van der Hoff
f85a37c667 Factor out LoggedInView from MatrixChat
The idea here is to make a layer which sits around for as long as we have a
valid MatrixClient. Also it makes a plausible split for the render of
MatrixChat, even if they are much too tightly bound for now.
2016-11-03 18:59:32 +00:00
David Baker
3c4370c180 Move 'new version' support into Platform
Also adds support for the platform providing a changelog
2016-11-02 15:58:17 +00:00
David Baker
f433f9ca32 Move platform-specific functionality into Platform
Platform classes are provided by the application via
PlatformPeg.set().
2016-11-02 15:10:21 +00:00
David Baker
8395717f9b Merge pull request #525 from matrix-org/dbkr/fix_spin_on_join
Fix CPU spin on joining rooms
2016-10-26 15:46:42 +01:00
David Baker
32ebd8083b Stray comma 2016-10-26 15:32:09 +01:00
David Baker
e5a770a373 Don't send read receipt if user has logged out 2016-10-26 13:19:36 +01:00
David Baker
a2eb0a9cf0 Fix CPU spin on joining rooms
Ratelimit roomheader's updates and move some other things into
rate limited functions.
2016-10-26 13:09:53 +01:00
Richard van der Hoff
4f901f1894 Keyboard shortcuts to mute microphone/camera
Same as hangouts: ctrl-d for mute microphone; ctrl-e to mute camera.
2016-10-17 14:13:56 +01:00
David Baker
3f067cbdf6 Give our input fields names
Otherwise browsers' 'Remember Password' feature has to guess
badly and ends up putting the login username / password in the
first two password reset fields which is a bit odd.
2016-10-14 15:34:44 +01:00
David Baker
ef22ba1f39 Merge pull request #516 from matrix-org/rav/interactive_auth_dialog
InteractiveAuthDialog
2016-10-12 18:27:23 +01:00
Richard van der Hoff
1e683427da TODO comments on the registration flow
Add some notes to Signup and the Registration component that it would be nice
to factor out some common code someday.
2016-10-12 14:27:21 +01:00
Richard van der Hoff
eb36509620 Refactor CaptchaForm to put less logic in signupstages
A bunch of work being done in the Recaptcha signupstage makes more sense in
the CaptchaForm; let's move it.
2016-10-11 18:57:51 +01:00
Matthew Hodgson
9d303712f2 more s/Vector/Riot/ 2016-10-03 10:18:43 +01:00
David Baker
91771ec17d Ce n'est pas Python 2016-10-01 10:34:21 +01:00
David Baker
6abf6c9ec0 Merge pull request #505 from matrix-org/dbkr/dont_replacestate
Fix version going blank after logging in
2016-09-30 14:32:01 +01:00
David Baker
be99f17ee0 Oops, right variable 2016-09-30 14:05:01 +01:00
David Baker
8aeb0cfb68 Dedicated function for resetting screen state 2016-09-30 11:56:32 +01:00
David Baker
c41a8da4be Argh, there's more 2016-09-30 11:40:27 +01:00
David Baker
2f7366cb8a Comment state fields 2016-09-30 11:37:50 +01:00
David Baker
d5af2d2c52 Use 'Sign In' / 'Sign Out' universally
Rather than a mix of 'sign in/out' and 'log in/out'
2016-09-29 17:38:52 +01:00
David Baker
8cbddfcf28 Fix version going blank after logging in
Don't use replaceState in MatrixClient: there's lots of stuff in
MatrixClient's state now (including the app version) so replacing
the entire state doesn't really make sense (and also blows away
all of the nice defaults we set in getInitialState). Instead,
setState of the things we actually care about wherever we used
replaceState.

Also add a couple of state variables to getInitialState that were
missing.

Fixes https://github.com/vector-im/vector-web/issues/2322
2016-09-29 17:23:07 +01:00
David Baker
d1a5e54a69 Check if a room looks like a DM rooms on joining
and mark it as one if so.

Also change the heuristic to only count rooms with 2 total members rather than 2 joined members, otherwise this is going to mark any room as a DM if someone creates a room, invites a bunch of people and you happen to be first to join.
2016-09-20 17:59:46 +01:00
David Baker
b66c449bd7 Comment typo
and out comment in more sensible place
2016-09-20 16:08:11 +01:00
David Baker
746aad9a18 Oops, missed one 2016-09-19 14:47:08 +01:00
David Baker
31753fc3f3 Rebrand 2016-09-19 13:26:59 +01:00
Matthew Hodgson
cf1b1442eb no labs for guests 2016-09-17 14:29:40 +01:00
Matthew Hodgson
736b6dac7a default labs correctly :/ 2016-09-17 00:54:56 +01:00
Matthew Hodgson
00d2fd471d Merge pull request #483 from matrix-org/dbkr/scrollpanel_start_at_bottom
Add 'startAtBottom' flag
2016-09-16 22:38:21 +01:00
Matthew Hodgson
c322a191af turn on E2E and Scalar by default 2016-09-16 18:36:03 +01:00
David Baker
d0fd6e985f Document paranoia on the startAtBottom param 2016-09-16 17:48:08 +01:00
Matthew Hodgson
67565f88fa Merge pull request #474 from matrix-org/markjh/olm_version
Add the olm version to the settings page.
2016-09-16 17:30:35 +01:00
David Baker
806ef11fde Add 'startAtBottom' flag
Controls whether a scrollPanel starts off at the bottom.

This may not be necessary and could either be derived from stickyBottom, but
this means I can be sure that the behaviour of ScrollPanel is completely
unchanged for all other uses to avoid breaking any other uses of
ScrollPanel.
2016-09-16 17:18:58 +01:00
David Baker
1341ffca59 Merge pull request #479 from matrix-org/dbkr/directory_network_selector
Pass through config for Room Directory
2016-09-16 17:08:44 +01:00
Matthew Hodgson
a28aab42c4 fix NPE in guest access 2016-09-16 16:45:43 +01:00
Matthew Hodgson
ff00474aa5 show RightPanel when people click on users 2016-09-16 02:37:06 +01:00
Matthew Hodgson
c21309fdf6 remove stale state 2016-09-15 22:56:12 +01:00
David Baker
44fa851275 Pass through config for Room Directory 2016-09-15 17:18:53 +01:00
Mark Haines
c54b9c911f Add the olm version to the settings page. 2016-09-15 11:31:54 +01:00
Matthew Hodgson
8bda0bb095 basic verification UI 2016-09-15 01:55:51 +01:00
Matthew Hodgson
8508e006f0 Merge pull request #469 from matrix-org/wmwragg/chat-multi-invite
Wmwragg/chat multi invite
2016-09-13 19:30:02 +01:00
Matthew Hodgson
17cf2fc745 Merge pull request #470 from matrix-org/matthew/right-panel-collapse
Matthew/right panel collapse
2016-09-13 19:09:18 +01:00
Matthew Hodgson
eb6a4f97ba make it work 2016-09-13 19:00:35 +01:00
David Baker
283e1ccf4c Merge pull request #468 from matrix-org/dbkr/create_room_modal
Add modal dialog on new room button
2016-09-13 17:05:24 +01:00
David Baker
5450e93df1 Verbiage 2016-09-13 16:56:53 +01:00
David Baker
3741768a3a Add modal dialog on new room button
https://github.com/vector-im/vector-web/issues/2178
2016-09-13 16:40:15 +01:00
wmwragg
2db8f4ae67 Added pass through of roomId 2016-09-13 14:30:37 +01:00
wmwragg
ca1bb0f700 Added new Invite button in the RHS footer which calls the new 'view_invite' action 2016-09-13 14:28:03 +01:00
wmwragg
524eeaa315 Merge up from develop 2016-09-13 12:37:52 +01:00
Matthew Hodgson
3b52081092 wip for collapsable RHS 2016-09-13 12:18:22 +01:00
wmwragg
99dfcb4ed2 It's no longer a onde to one chat dialog, as you can invite multiple people 2016-09-13 10:33:15 +01:00
David Baker
2943db1072 Flag incoming DMs as such
* Add the 'is_direct' flag to rooms created for DMs
 * For invites, look for the DM flag when getting the DM user ID for a room
 * When accepting an invite, look for the flag and mark the room as a DM room if appropriate.
2016-09-12 18:32:44 +01:00
Matthew Hodgson
46205ad83c back out small avatars for emotes for now as they conflict with the E2E artwork.
they will be reintroduced once we have lozenges
2016-09-11 22:49:05 +01:00
Matthew Hodgson
83209197f4 Merge branch 'develop' into matthew/notif-panel 2016-09-11 02:38:16 +01:00
Matthew Hodgson
34bb37aaba layout for file & notif panel 2016-09-11 02:14:27 +01:00
Matthew Hodgson
be33c35876 use new onRoomTimelineReset API to let notif timeline reset itself 2016-09-10 10:46:30 +01:00
Matthew Hodgson
6f270fd621 remove debug 2016-09-10 01:39:19 +01:00
Matthew Hodgson
86da0e0d63 Merge pull request #459 from VShell/fix-cas
Fix CAS support by using a temporary Matrix client
2016-09-09 21:19:19 +01:00
Shell Turner
1380bf705a Fix CAS support by using a temporary Matrix client
Signed-off-by: Shell Turner <cam.turn@gmail.com>
2016-09-09 21:01:10 +01:00
Matthew Hodgson
904348e62a Merge branch 'develop' into matthew/notif-panel 2016-09-09 11:12:52 +01:00
Matthew Hodgson
f4d939da81 null checks on room in onRoomTimeline 2016-09-09 02:09:12 +01:00
Matthew Hodgson
4aef352a5c update to use new API based on js-sdk PR input 2016-09-08 22:48:44 +01:00
Matthew Hodgson
3c7864a7ad remove unused _gatherTimelinePanelRef 2016-09-08 14:52:08 +01:00
Matthew Hodgson
f88ba9df11 fix comment & use room.getUnfilteredTimelineSet() 2016-09-08 14:38:34 +01:00
Matthew Hodgson
c882d66b0d make NotificationPanel work 2016-09-08 03:02:31 +01:00
Matthew Hodgson
7174648f94 don't show RRs if manageRRs is false 2016-09-08 03:01:38 +01:00
Matthew Hodgson
334564c814 unbreak tests 2016-09-07 22:54:38 +01:00
Matthew Hodgson
8f75bce29e add fixmes 2016-09-07 22:54:37 +01:00
Matthew Hodgson
990d84df77 make FilePanel refresh when we switch rooms 2016-09-07 22:54:37 +01:00
Matthew Hodgson
e7074ef9af apply FilePanel css and fix filtering 2016-09-07 22:54:37 +01:00
Matthew Hodgson
e5dd2e0b46 make FilePanel work, superficially at least 2016-09-07 22:54:37 +01:00
Matthew Hodgson
e22d0a53b6 WIP switch-over of TimePanel from taking Rooms to taking EventTimelineSets 2016-09-07 22:54:37 +01:00
Matthew Hodgson
c3de035964 filepanel 2016-09-07 22:54:37 +01:00
Matthew Hodgson
ae34f2ed5c placeholder NotificationPanel 2016-09-07 22:53:15 +01:00
Matthew Hodgson
d9ffe30a0d WIP notif panel 2016-09-07 22:53:15 +01:00
wmwragg
7dfb8857d8 Merge branch 'develop' into wmwragg/one-to-one-chat 2016-09-07 17:22:10 +01:00
David Baker
df1cc8748f Change references to MatrixTools to Rooms
or remove where they were unused
2016-09-07 11:33:58 +01:00
wmwragg
d9c6448a0f Adding better deafults and ErrorDialog message 2016-09-05 14:29:21 +01:00
wmwragg
9c0f51fb82 Merge branch 'develop' into wmwragg/one-to-one-chat 2016-09-05 12:06:31 +01:00
wmwragg
ca443e01d8 Initial commit of the new ChatInviteDialog 2016-09-05 12:03:16 +01:00
wmwragg
67c623d410 Rename the action to make it clearer what it is doing 2016-09-05 10:29:03 +01:00
Matthew Hodgson
b5f9c2a5ac Merge branch 'master' into develop 2016-09-02 17:17:24 +01:00
Matthew Hodgson
d5062f1ff7 gah, revert debug 2016-09-02 17:15:21 +01:00
Matthew Hodgson
fd664e893f Merge branch 'master' into develop 2016-09-02 17:14:24 +01:00
Matthew Hodgson
6de2e8bda5 update changelog 2016-09-02 17:13:52 +01:00
Richard van der Hoff
b4521bc44c review feedback 2016-09-01 22:45:09 +01:00
wmwragg
e7d4ef74d0 Placeholder for one to one chat dialog and functionality 2016-09-01 16:45:24 +01:00
Richard van der Hoff
ba341c11fb Show session restore errors on the login screen
If we are unable to load the matrix session on startup, don't just get stuck at
a spinner; instead, show the error on the login screen.
2016-09-01 11:08:40 +01:00
wmwragg
769e7d3b2e Merge branch 'develop' into wmwragg/direct-chat-sublist 2016-08-30 11:19:54 +01:00
Matthew Hodgson
5e105e1be6 make /user URLs work 2016-08-28 14:04:11 +01:00
Matthew Hodgson
de82ac3bc0 don't change URL bar when clicking on linkified rooms or users.
be aware of /user paths.
2016-08-28 02:05:31 +01:00
Matthew Hodgson
ad873c2b60 handle matrix.to links correctly. add partial support for #/user URLs 2016-08-28 01:55:42 +01:00
Richard van der Hoff
c1db6fb42d Merge pull request #429 from matrix-org/rav/timelinepanel_test
Update annoying TimelinePanel test
2016-08-25 15:40:03 +01:00
Matthew Hodgson
ae910d82a8 Merge pull request #416 from aviraldg/feature-changelog
add fancy changelog dialog
2016-08-24 18:01:39 +01:00
Richard van der Hoff
cdd2902b01 Update annoying TimelinePanel test
* Actually test what we were supposed to be testing (viz, that we can paginate
  back down after we hit the top of the room)

* Make the cap on the number of events we show in the timeline a configurable
  property, so that we can set it in the test

* Use a smaller cap in the test, so that we have to do less paginating to hit
  the cap, to make the test run quicker.

* add some more logging so that we can see how far it's got if it gets stuck.
2016-08-24 16:28:00 +01:00
wmwragg
6a4d02ffc5 Merge branch 'develop' into wmwragg/direct-chat-sublist 2016-08-23 12:49:21 +01:00
wmwragg
6d1f9003e2 Merge branch 'develop' into wmwragg/direct-chat-sublist 2016-08-23 10:52:50 +01:00
wmwragg
ddda435e9e Updated the MessagePanel to now take account of /me messages when working out if an event is a continuation message or not 2016-08-18 22:15:53 +01:00
Aviral Dasgupta
ff39d52431 add fancy changelog dialog 2016-08-16 03:33:47 +05:30
David Baker
5a83adc2b6 Merge pull request #414 from matrix-org/rav/fix_device_display_name
defaultDeviceDisplayName should be a prop
2016-08-12 11:44:57 +01:00
Richard van der Hoff
b9870f2c23 defaultDeviceDisplayName should be a prop
... not a bit of config.
2016-08-12 11:41:45 +01:00
David Baker
33e9abe421 Merge pull request #410 from matrix-org/rav/use_server_device_id
Use server-generated deviceId
2016-08-12 11:40:55 +01:00
Richard van der Hoff
a29325cc46 Set initial_device_display_name on login and register
Let Vector pass in a default device name, and thread it through everywhere to
set it on login and register calls
2016-08-12 10:55:02 +01:00
Richard van der Hoff
df22768f1b Use server-generated deviceId 2016-08-12 07:31:15 +01:00
wmwragg
434115ccda Bugifx: 'background-color' in react should be 'backgroundColor' 2016-08-11 17:34:05 +01:00
Richard van der Hoff
e32c325863 Don't use MatrixClientPeg for temporary clients
Get rid of MatrixClientPeg.replaceUsingUrls, and instead create local,
temporary MatrixClients for the unauthed steps; we therefore only use
MatrixClientPeg for logged-in clients.
2016-08-11 16:23:03 +01:00
Matthew Hodgson
3704e2c648 Merge pull request #402 from matrix-org/wmwragg/room-tag-menu
Wmwragg/room tag menu
2016-08-11 08:59:32 -05:00
Richard van der Hoff
e06763d421 Move guest registration into the login logic 2016-08-11 13:05:16 +01:00
Richard van der Hoff
bbfb9291f8 Refactor login token
move the logic for handling login tokens into Lifecycle.loadSession

This means it needs access to the (real) query parmeters, so it depends on
corresponding changes in vector-web.
2016-08-11 11:02:52 +01:00
David Baker
6802db05bd Merge pull request #405 from matrix-org/rav/use_right_hs_for_guest_login
Use the current HS for guest login
2016-08-11 10:32:37 +01:00
David Baker
46899a0086 Merge pull request #395 from aviraldg/fix-emoji
Various fixes and improvements to emojification.
2016-08-11 10:23:00 +01:00
Aviral Dasgupta
4c1dcb924b reskindex and use sdk.getComponent for EmojiText 2016-08-11 07:55:12 +05:30
Richard van der Hoff
1fbddcf6af Use the current HS for guest login
Make sure that we use the homeserver from localstorage for guest regsistration,
in preference to the default.

Also rename the parameters for loadSession
2016-08-11 01:39:33 +01:00
wmwragg
e2d3631e7c Menu colour now changeable, and leave room item hooked up 2016-08-10 16:34:49 +01:00
David Baker
f08519a496 Merge pull request #401 from matrix-org/rav/avoid_login_for_guest
Avoid flashing up login screen during guest registration
2016-08-10 15:38:34 +01:00
Richard van der Hoff
68f8db3834 Avoid flashing up login screen during guest registration
Fix a bug where we would flash up the login screen during guest registration if
you followed a room link.
2016-08-10 14:34:44 +01:00
Richard van der Hoff
8fe470bce1 Cancel calls to rate-limited funcs on unmount
The tests were throwing up warnings about state being accessed, and null
MatrixClients being called, after component unmount.
2016-08-10 13:39:47 +01:00
David Baker
e0f71977b4 Merge pull request #397 from matrix-org/rav/factor_out_sessionloader
Start to factor out session-loading magic
2016-08-10 11:40:58 +01:00
Richard van der Hoff
26c7c9e994 Make SessionLoader a function
There's no point in it being a React component.
2016-08-10 11:36:26 +01:00
David Baker
13a4bfa8fe Merge pull request #396 from matrix-org/rav/fix_react_warning
Hack around a react warning
2016-08-10 10:09:18 +01:00
Richard van der Hoff
24841cc5c4 Start to factor out session-loading magic
Take some of the magic out of MatrixChat.componentDidMount() into a new
component.

Also delete the MatrixChat test. It wasn't really doing much, is broken by the
change, and I am replacing it with (better) app-level tests in the vector
project.
2016-08-10 00:05:44 +01:00
Richard van der Hoff
a1d3db76e5 Hack around a react warning
when login completes, we replace the whole state, which means we unset
collapse_lhs, which then leads to complaints from the RoomList.

I think the 'default view' for MatrixChat ought to be factored out to another
component, which could manage collapse_lhs properly; but for now, hack around
it.
2016-08-09 23:57:36 +01:00
Aviral Dasgupta
09e8a45cde Add EmojiText component for emoji replacement. 2016-08-10 00:31:51 +05:30
Aviral Dasgupta
dbbea63227 Various fixes and improvements to emojification.
- Use locally hosted emoji
- Emojify SenderProfile and m.emote
- Add emoji shortcodes as titles
2016-08-09 22:09:28 +05:30
David Baker
4b8ad3c102 Merge pull request #393 from matrix-org/dbkr/enable_labs
Add config to hide the labs section
2016-08-05 17:25:25 +01:00
David Baker
5e358b8cf6 Add comment 2016-08-05 17:18:45 +01:00
David Baker
f8d02c1551 pr feedback 2016-08-05 16:36:35 +01:00
David Baker
e8ee5c2f96 Add config to hide the labs section 2016-08-05 16:13:06 +01:00
David Baker
98e89d4293 Merge pull request #392 from matrix-org/dbkr/scalar
Dbkr/scalar
2016-08-05 15:43:57 +01:00
Richard van der Hoff
e8dbf978c3 Merge pull request #388 from matrix-org/dbkr/refactor_field_errors
Refactor UI error effects
2016-08-05 12:34:56 +01:00
Matthew Hodgson
d0158f5812 fix merge conflict 2016-08-04 23:45:28 +01:00
Matthew Hodgson
cf70f1731e hide integration management behind labs checkbox 2016-08-04 23:26:27 +01:00
David Baker
1f2b023885 Make sure error message never lies
Make sure we don't say 'login incorrect' unless the user is actually trying to log in
2016-08-04 17:37:07 +01:00
Matthew Hodgson
90e5ab2ca3 merge in develop 2016-08-04 13:39:47 +01:00
David Baker
498ad7fa4c Merge branch 'develop' into dbkr/deactivate_account 2016-08-03 17:52:18 +01:00
David Baker
cbfb0ad998 Merge pull request #377 from matrix-org/dbkr/use_logout_api
Call the logout API when we log out
2016-08-03 17:51:42 +01:00
David Baker
bb3a7725db Shift loginIncorrect into state
and consequently make setErrorTextFromError into setStateFromError
2016-08-03 17:49:29 +01:00