Commit Graph

2659 Commits (e7a32faf648fe6f6d0231a8159d2cdcc87cb1f13)

Author SHA1 Message Date
Matthew Hodgson e2e3bc0637 improve captcha warning 2016-12-24 18:40:20 +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
Matthew Hodgson b1c4c759f4 blind fix for captcha on electron 2016-12-23 14:35:40 +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
Luke Barnard 2658cd09b5 Fix scroll jumping when a video is decrypted
Call the `onWidgetLoad` prop on MVideoBody to notify the scroll panel to keep it's position when the size of the video widget updates.
2016-12-20 12:33:07 +00:00
Matthew Hodgson d0d056e308 hide read markers 2016-12-20 02:26:23 +00:00
David Baker 4be14080e1 Fix cancel button on uploads 2016-12-16 17:12:04 +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 7475056bb4 MELS component should update if there are fewEvents, effectively expanding the summary 2016-12-15 18:33:13 +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
Luke Barnard 55f85befc1 Allow component to update if currently expanded or if about to collapse 2016-12-15 14:43:59 +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
Luke Barnard 86739e7d1e Simplify handling of only one member event 2016-12-15 13:15:00 +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
Kegsay 21e7b03e53 Merge pull request #586 from matrix-org/kegan/read-receipt-show-time-on-hover
Add read receipt times to the hovertip of read markers
2016-12-09 13:19:44 +00:00
Kegan Dougal 5d99d68a64 Show the full date and time if the receipt was sent days after the event 2016-12-09 11:43:23 +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 8d1095bc26 Don't throw exception on stop if no DMRoomMap
Prevents an exception when running the riot 'loading' tests in
isolation
2016-12-09 10:32:56 +00:00
Kegan Dougal bd7553d1ea Add read receipt times to the hovertip of read markers
Fixes #2709. Surprisingly, this data was never passed down to
ReadReceiptMarker.
2016-12-08 16:23:20 +00:00
Richard van der Hoff 587325b36c Merge pull request #585 from matrix-org/dbkr/fix_exception_roomdir
Fix exception when clearing room dir search
2016-12-06 15:58:07 +00:00
David Baker fe0dc85d66 Merge pull request #583 from matrix-org/luke/fix-post-message-api-origin-check
Allow integration UI URLs with paths
2016-12-06 15:00:26 +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
Richard van der Hoff b3f642e835 Merge pull request #584 from matrix-org/dbkr/search_box_field_name
Give the search box field a name
2016-12-06 14:48:25 +00:00
David Baker a3ab59832e Give the search box field a name
Should fix https://github.com/vector-im/riot-web/issues/2462
2016-12-06 14:40:09 +00:00
Luke Barnard ef1cb9530f Allow integration UI URLs with paths
The postMessage API assumed that event origins contained paths of their window origins, but they do not (https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). This changes the origin check such that the integrations UI URL must start with the event origin.
2016-12-06 14:30:21 +00:00
David Baker 28e663dd48 Pass the room object into displayNotification
It needs it to do the view_room if the notification is clicked.
2016-12-06 13:27:36 +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
Johannes Löthberg f321c6c346 Strip (IRC) when clicking on username
Fixes vector-im/riot-web#2072.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-12-03 01:20:50 +01: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
Luke Barnard 5665a0ef37 Fix scroll jump on image decryption
`onWidgetLoad` is now being called when an image has been decrypted so that the ScrollPanel maintains its scroll position (whether it's stuckAtBottom or not). This attempts to fix https://github.com/vector-im/riot-web/issues/2624
2016-12-02 11:11:35 +00:00
Kegan Dougal 5d03543f85 Make cut operations update the tab complete list 2016-11-30 10:49:40 +00:00
Johannes Löthberg 5f160d2e7f Markdown: Use .call instead of .bind
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-11-30 01:03:05 +01:00
Johannes Löthberg 4d2926485b Replace marked with commonmark
Marked has some annoying bugs, and the author is inactive, so replace it
with commonmark.js, which is the reference JavaScript implementation of
CommonMark.  CommonMark is also preferable since it has a specification,
and a conformance test suite to make sure that parsers are correct.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-11-29 23:14:04 +01:00
Richard van der Hoff c7fb83ed2d s/block/blacklist for e2e
Fixes https://github.com/vector-im/vector-web/issues/2315
2016-11-29 18:48:43 +00:00
David Baker 21d65d2ad1 Fix the download icon on attachments 2016-11-25 23:19:20 +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
Richard van der Hoff 06f12b91b8 Merge pull request #566 from matrix-org/rav/remove_dead_labs_settings
Get rid of always-on labs settings
2016-11-21 10:38:06 +00:00
Richard van der Hoff 4476b09ce7 Get rid of always-on labs settings
If the setting is on by default, it's not much use as a Labs setting. The E2e
setting was only confusing everyone anyway.
2016-11-21 10:25:48 +00:00
Richard van der Hoff 03988015aa Fix 'Quote' for e2e messages
Fixes https://github.com/vector-im/vector-web/issues/2612
2016-11-21 09:19:40 +00:00
Matthew Hodgson 2e691240ae fix e2e disclaimer 2016-11-19 02:44:36 +02:00
Mark Haines 7cb3c0935b Make the spinner smaller, don't decrypt files as eagerly (#564) 2016-11-18 20:08:26 +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
Richard van der Hoff f3582edb99 Merge pull request #560 from matrix-org/luke/fix-join-part-collapsing-regressions2
Fix more membership change collapsing bugs
2016-11-16 16:33:18 +00:00
Luke Barnard 7e88f0083d Fix more join-part collapsing regressions
Use the previous content of the first event known for a user in a block of membership changes. This means single events are not special cased.
2016-11-16 16:26:24 +00:00
Luke Barnard 3618b49982 Use new js-sdk public unpaginate 2016-11-16 16:10:23 +00:00
Luke Barnard 324448563a If only one mevent, return than one
Also, the net change of nil is detected as having the first and last events being _different_. The summary should only include those that have their first and last events being the _same_ because that is a net change (within the block of member events).
2016-11-16 16:07:19 +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
Mark Haines 6ccc825f0d Cache the tinted SVGs for MFileBody as data URLs (#559)
* Use a list of callbacks for things that need tinting.

Rather than gutwrenching the internals of TintableSVG inside the Tinter.

* Share a data: url for the tinted download svg in MFileBody

* Check image exists before tinting

* Add comments

* Use fetch+DomParser rather than XMLHttpRequest

* Remove comment about XMLHttpRequest
2016-11-16 14:16:51 +00:00
David Baker 218ced0276 Merge pull request #557 from matrix-org/rav/show_padlock_on_unencrypted_room
Show an open padlock for unencrypted rooms
2016-11-16 13:03:52 +00:00
Mark Haines 595493e5bb Clean up MFileBody.presentableTextForFile 2016-11-15 15:58:24 +00:00
David Baker bb776c217d Merge pull request #556 from matrix-org/rav/decrypt_after_keys_arrive
Update eventtiles when the events are decrypted
2016-11-15 14:56:21 +00:00
Richard van der Hoff a3d4ed5aee Show an open padlock for unencrypted rooms
Also, add a tooltip, and enlarge the img to 12px wide, because the open padlock
looked silly at 10px and they both look fine at 12px
2016-11-15 12:31:17 +00:00
David Baker ec999f6fa1 Merge pull request #552 from matrix-org/rav/event_tile_withmatrixclient
Update EventTile to use WithMatrixClient instead of MatrixClientPeg
2016-11-15 11:25:48 +00:00
Mark Haines 13f28e53e1 Generate thumbnails when sending m.image and m.video messages. (#555)
* Send a thumbnail when sending a m.image

* Use the 'thumbnail_file' when displaying encrypted images

* Whitespace

* Generate thumbnails for m.video

* Fix docstring, remove unused vars, use const

* Don't change the upload promise behaviour

* Polyfill for Canvas.toBlob to support older browsers

* Lowercase for integer types in jsdoc
2016-11-15 11:22:39 +00:00
Richard van der Hoff b209cc551e Update eventtiles when the events are decrypted
Events are sometimes decrypted after they arrive, so add an eventlistener for
it and update the tile.
2016-11-15 11:12:52 +00:00
Richard van der Hoff 0e8a49ebb7 Update EventTile to use WithMatrixClient instead of MatrixClientPeg 2016-11-14 16:00:24 +00:00
Richard van der Hoff 34df6ea242 Complete attachment-encryption patch
https://github.com/matrix-org/matrix-react-sdk/pull/533 originally landed in
the wrong branch, and was reverted by
https://github.com/matrix-org/matrix-react-sdk/pull/546.
https://github.com/matrix-org/matrix-react-sdk/pull/548 attempted to land it on
the develop branch, but omitted a small amount of the patch.

This lands the final part, which got missed out.
2016-11-12 12:20:36 +00:00
Mark Haines 2eb9d90b86 Disable conference calling for encrypted rooms 2016-11-11 15:49:21 +00:00
David Baker 1ff3a86457 Merge pull request #548 from matrix-org/markjh/encrypted-attachments
Encrypt attachments in encrypted rooms
2016-11-11 14:49:52 +00:00
Mark Haines 72d24f58d0 Make the promises be q promises 2016-11-11 13:57:45 +00:00
Mark Haines 9edfea3b32 Make imports more consistent, fix m.video 2016-11-11 13:57:45 +00:00
Mark Haines bf5ecbd016 Review comments
Conflicts:
	src/ContentMessages.js
2016-11-11 13:57:42 +00:00
Mark Haines 734c4eb638 Fix gif hoverover 2016-11-11 13:57:11 +00:00
Mark Haines de384480c6 Pass the decryptedUrl to the MFileBody so that it doesn't need to decrypt it itself.
Conflicts:
	src/components/views/messages/MImageBody.js
2016-11-11 13:57:08 +00:00
Mark Haines 736ab743ee Make everything use MFileBody for downloads, ensure that encrypted attachments are actually downloaded
Conflicts:
	src/components/views/messages/MImageBody.js
2016-11-11 13:56:30 +00:00
Mark Haines ee1768f644 Use data:// URI rather than blob: URI to avoid XSS 2016-11-11 13:55:57 +00:00
Mark Haines b69e88d4e3 Decrypt m.file attachments 2016-11-11 13:55:57 +00:00
Mark Haines 4e01a4f692 Decrypt m.audio attachments 2016-11-11 13:55:57 +00:00
Mark Haines 48340a2817 Fix unencrypted video thumbnail 2016-11-11 13:55:57 +00:00
Mark Haines b56417f46e Remove spurious TODO 2016-11-11 13:55:57 +00:00
Mark Haines 95e8889857 Decypt m.video events 2016-11-11 13:55:57 +00:00
Mark Haines a4a0d02848 Move decryptFile into a utility function so that it can be shared between different components
Conflicts:
	src/components/views/messages/MImageBody.js
2016-11-11 13:55:48 +00:00
Luke Barnard 5109833c42 Use correct prop types 2016-11-11 13:55:32 +00:00
Mark Haines 49b3aec1e2 Include the mimetype with the file info. Store the objectURL in state so that it can be used normally by the exising templates
Conflicts:
	src/ContentMessages.js
	src/components/views/messages/MImageBody.js
2016-11-11 13:54:07 +00:00
Luke Barnard 2a1d32f4d5 Add key prop to memberlist summary 2016-11-11 13:49:25 +00:00
Mark Haines 23e764604c Merge remote-tracking branch 'origin/master' into develop 2016-11-11 12:00:53 +00:00
Mark Haines 61921327c2 Merge remote-tracking branch 'origin/master' into develop 2016-11-11 12:00:30 +00:00
David Baker 1e163eabf0 Revert "Encrypt attachments in encrypted rooms," 2016-11-11 11:59:08 +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 d3a548773a Remove redundant lines 2016-11-10 18:01:34 +00:00
Luke Barnard 3d7f6919cf Refactor renderNameList (thanks, @richvdh) 2016-11-10 17:36:22 +00:00
Luke Barnard 0695037f5f pass in prop onClick by default 2016-11-10 17:30:35 +00:00
Luke Barnard 87e8f0e4da trailing commas 2016-11-10 17:27:59 +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 b11dd9542f Add class to expand link for pointer and colour 2016-11-10 17:09:18 +00:00
Luke Barnard e05aeb35a1 npm run reskindex 2016-11-10 17:03:24 +00:00
Luke Barnard ac460122cc revert now redundant TruncatedList edits 2016-11-10 15:51:27 +00:00
Luke Barnard f71ac93946 Prefer null to falsy, use correct plural 2016-11-10 15:38:20 +00:00
Luke Barnard 1a4df38500 remove href 2016-11-10 15:20:53 +00:00
Luke Barnard d8bc4d9a6f Factor out avatar click leads to view_user 2016-11-10 15:18:59 +00:00
Luke Barnard 6b2aa43b71 Factor out "and others" 2016-11-10 14:33:41 +00:00
Luke Barnard d6b74becfc Children are required 2016-11-10 14:12:45 +00:00
Luke Barnard 370f5f0a11 Use _ prefix for private methods 2016-11-10 14:12:05 +00:00
Luke Barnard 8422017827 events are required 2016-11-10 14:09:40 +00:00
Luke Barnard dcbb31279f Prefer import React, set prevEvent to last MemberhsipChange 2016-11-10 14:08:11 +00:00
Luke Barnard e2936376b6 Unnecessary props 2016-11-10 13:26:27 +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 79c01fa1a4 Remove empty lines 2016-11-10 11:03:43 +00:00
Luke Barnard f5bc8d1fe0 Removed logs, updated phrasing on 'others joined'
Now it's:
 1 user joined and left
 >1 others joined and left
2016-11-10 10:42:33 +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
Richard van der Hoff f2222c84a8 Merge pull request #545 from matrix-org/dbkr/fix_ctrl_e
Fix the ctrl+e mute camera shortcut
2016-11-08 18:37:58 +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
Mark Haines c838164f40 Make the promises be q promises 2016-11-08 16:26:25 +00:00
Mark Haines 93ddb5539e Make imports more consistent, fix m.video 2016-11-08 12:57:24 +00:00
David Baker d871ca2b24 PR feedback 2016-11-08 11:43:24 +00:00
Mark Haines 911f9e4e63 Review comments 2016-11-08 11:42:20 +00:00
Luke Barnard de83e578e7 Use generic error message 2016-11-08 11:18:44 +00:00
Luke Barnard c0c662aeaf Show the error that occured when trying to reach scalar
Instead of removing the button and printing an error to console, show the error in a popup that appears next to the `Manage Integrations` button.
2016-11-08 10:57:48 +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
David Baker 5c2c01d414 Fix function to consistently return boolean 2016-11-07 11:45:55 +00:00
David Baker 2bb7aec0de Don't do URL previews for matrix.to 2016-11-07 10:57:08 +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
Mark Haines dc679a8eca Fix gif hoverover 2016-11-04 18:41:05 +00:00
Mark Haines 4214c67f8f Pass the decryptedUrl to the MFileBody so that it doesn't need to decrypt it itself. 2016-11-04 18:20:20 +00:00
Mark Haines 1529396ef5 Make everything use MFileBody for downloads, ensure that encrypted attachments are actually downloaded 2016-11-04 18:09:12 +00:00
Mark Haines 8f778f54fd Use data:// URI rather than blob: URI to avoid XSS 2016-11-04 15:39:39 +00:00
Mark Haines 6ea0085290 Decrypt m.file attachments 2016-11-04 14:00:26 +00:00
Mark Haines 94bfe31857 Decrypt m.audio attachments 2016-11-04 13:45:00 +00:00
Mark Haines 91123431dd Fix unencrypted video thumbnail 2016-11-04 13:13:25 +00:00
Mark Haines 71c002d588 Remove spurious TODO 2016-11-04 13:08:17 +00:00
Mark Haines 48cfd4f399 Decypt m.video events 2016-11-04 13:05:34 +00:00
Mark Haines b6653dd0ed Move decryptFile into a utility function so that it can be shared between different components 2016-11-04 12:46:45 +00:00
Mark Haines 12fc70c671 Include the mimetype with the file info. Store the objectURL in state so that it can be used normally by the exising templates 2016-11-04 11:52:47 +00:00
David Baker 04c27205a3 Make room alias & user ID links matrix.to links 2016-11-04 11:38:28 +00:00
David Baker f301e55b6e Merge remote-tracking branch 'origin/develop' into rav/memberinfo_use_client_from_context 2016-11-04 10:54:32 +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 ab7007784f Make MemberInfo use the matrixclient from the context
An arbitrary component to demonstrate how this works
2016-11-03 19:05:48 +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 842b5aed56 The variable is called roomId here 2016-11-03 17:13:02 +00:00
Mark Haines e949d91162 Handle decryption errors 2016-11-03 16:39:20 +00:00
David Baker 8cafe4936d Merge remote-tracking branch 'origin/develop' into dbkr/platform_version 2016-11-03 11:51:06 +00:00
David Baker d408b7c180 Fix copyright 2016-11-03 11:47:57 +00:00
David Baker 5ae4228bfe Merge remote-tracking branch 'origin/develop' into dbkr/platform_version 2016-11-02 19:45:40 +00:00
David Baker 743e54f9bb Specify promise arg 2016-11-02 19:23:09 +00:00
David Baker bd3fa6a7c5 Move version specific stuff to vector 2016-11-02 17:44:57 +00:00
David Baker 920e3346dc Move Notifications into Platform
Also add support for clearing notifications if the Platform
supports it.
2016-11-02 17:35:31 +00:00
Richard van der Hoff b057577b15 Merge branch 'develop' into dbkr/platform_version 2016-11-02 16:34:43 +00:00
Mark Haines e0cea74c7e Encrypt attachments in encrypted rooms, decrypt image attachments when displaying them 2016-11-02 16:26:10 +00:00
David Baker 29bdf992ff s/fir/for/ 2016-11-02 16:15:35 +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 a53c1958eb Merge pull request #527 from matrix-org/dbkr/highlight_async
Run highlight.js asynchronously
2016-10-27 09:57:23 +01:00
David Baker 974e4c05c8 Merge pull request #528 from matrix-org/rav/fix_tinting
Fix room tinting
2016-10-27 09:57:00 +01:00
Richard van der Hoff 6246fdee7c Fix room tinting
Looks like the cachebuster stuff in
https://github.com/vector-im/vector-web/pull/2515 broke room tinting. Add a
fix, along with some ranting.
2016-10-26 23:11:34 +01:00
David Baker 8cf273a460 Run highlight.js asynchronously
Move the very minimal logic of highlightDOM into TextualBody
because then we can avoid scheduling a lot of timeouts which
would ultimately do nothing (ie. any messages that don't have code
blocks).
2016-10-26 18:41:28 +01: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
David Baker 923d2264dd Ignore components with no default export
InteractiveAuthEntryComponents is not a single component and
doesn't really fit into the structure: ignore it, otherwise
we crash when loading the skin.
2016-10-17 16:24:09 +01:00
Aviral Dasgupta 022eb575d9 Upgrade to babel6 and enable some presets. 2016-10-17 16:23:25 +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 920f498925 Merge pull request #517 from matrix-org/rav/interactive_auth_on_device_delete
Interactive auth for device delete
2016-10-12 18:31:38 +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 999a9e34b9 Merge pull request #514 from matrix-org/dbkr/prevent_email_spam
Prevent spamming emails by reusing client secret
2016-10-12 14:40:39 +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 1a81397d31 InteractiveAuthDialog
A dialog which will take the user through an interactive-auth process
2016-10-12 08:23:28 +01:00
Richard van der Hoff 5c18a9ccca Interactive auth for device delete 2016-10-12 08:23:08 +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
David Baker c45b076df9 More commentary 2016-10-11 18:13:26 +01:00
David Baker 6ffb7efc9b Prevent spamming emails by reusing client secret
Generate a client secret in the Signup class (if we don't already
have one) and re-usae it for subsequent attempts to register,
that way the IS can honour the sendAttempt flag and not re-send
the email if we're just retrying and requestToken becomes
idempotent.
2016-10-11 18:08:18 +01:00
Richard van der Hoff 78c3d5943a Fix a load of warnings in the tests
Stub things out to make the tests not throw warnings, so we can see the actual
problems.
2016-10-11 14:20:40 +01:00
David Baker b62fb50619 Add some docs for the lifetime of Signup 2016-10-11 11:58:10 +01:00
David Baker 30319d8e44 Fix registration retry
We need to clear the current stage & start from the beginning
again when we start a new registration attempt.
2016-10-11 11:12:02 +01:00
David Baker 55d14d2adc Fix registration
null check
2016-10-11 10:48:44 +01:00
David Baker acf76c2e28 Fix bug where riot would keep requesting tokens
We 'activeStage' is an object: we need to check the type
2016-10-11 10:18:40 +01:00
David Baker 3756add402 Merge pull request #502 from matrix-org/dbkr/join_3p_location
Move 'show join button' functionality out
2016-10-05 14:00:14 +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
Richard van der Hoff dca19a4940 Merge pull request #506 from matrix-org/dbkr/sign_in_not_log_in
Use 'Sign In' / 'Sign Out' universally
2016-09-30 11:30:00 +01:00
Richard van der Hoff 302074c71f Merge pull request #504 from matrix-org/dbkr/fix_login_if_joined
Prevent error when clicking 'log in'
2016-09-30 11:04:18 +01:00
Matthew Hodgson ca5204c3f8 fix collapsed tooltip - https://github.com/vector-im/vector-web/issues/2381 2016-09-30 00:17:52 +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 7b28dde263 Prevent error when clicking 'log in'
If you joined a room before clicking 'log in', it would throw an
exception here and break.
2016-09-29 16:57:10 +01:00
David Baker 60ce49910a Merge pull request #497 from matrix-org/dbkr/richtext_use_markdown_wrapper
Make RTE mode use the new Markdown wrapper class
2016-09-29 15:33:18 +01:00
David Baker 9a633ee449 Move 'show join button' functionality out
And have it as a prop to the directory search box instead, so the
room directory can do more complex logic.
2016-09-29 15:05:15 +01:00
David Baker 66ef1e8156 Merge pull request #501 from matrix-org/dbkr/get_hs_name
Add 'getHomeServerName' util to client peg
2016-09-28 10:22:11 +01:00
David Baker 4942f4f35c Typo 2016-09-28 10:17:47 +01:00
Matthew Hodgson b366973151 let anyone create aliases - fixes https://github.com/vector-im/vector-web/issues/1585 2016-09-27 23:39:25 +01:00
David Baker c7ad9bfdad Add 'getHomeServerName' util to client peg 2016-09-27 19:38:10 +01:00
David Baker b9576754e6 Nomenclature 2016-09-27 14:50:18 +01:00
Richard van der Hoff ea25e48ccb Merge pull request #499 from matrix-org/dbkr/fix_markdown_links
Fix markdown link syntax
2016-09-27 11:57:03 +01:00
Richard van der Hoff e403bcd770 Merge pull request #500 from matrix-org/dbkr/linkify_fail_fast
Fail hard & fast if linkifyjs version is wrong
2016-09-27 11:29:39 +01:00
Richard van der Hoff 30ce35c3b4 Merge pull request #498 from matrix-org/dbkr/fast_lgm
Bring back the little green men without slowness
2016-09-27 11:28:48 +01:00
David Baker 0448dca832 Fail hard & fast if linkifyjs version is wrong
Rather than carrying on an ending up with undefineds deep within the bowels of linkifyjs when we try to linkify a room alias.
2016-09-27 10:38:01 +01:00
David Baker 2be1cc9f85 Give DMRoomMap an explicit makeShared
Otherwise it will hang on to the old state client on logout.
2016-09-27 09:56:31 +01:00
David Baker 9bffd8da75 Fix markdown link syntax 2016-09-26 20:09:36 +01:00
David Baker 690309adfc Bring back the little green men without slowness
Introduces a singleton DMRoomMap that subscribes to account data to keep itself up to date so we don't have to keep doing the map inversion for each room tile.
2016-09-26 18:02:14 +01:00
David Baker 2e1644877d Merge pull request #496 from matrix-org/dbkr/directory_search_box
Directory search join button
2016-09-26 15:38:45 +01:00
David Baker ba090a1198 Trailing .+ was redundant 2016-09-26 15:13:57 +01:00
David Baker 9333f91533 Give react callbacks underscores too 2016-09-26 14:29:12 +01:00
David Baker 2dd0165bfc Correct regex for hash at the start 2016-09-26 14:24:35 +01:00
David Baker bbfc05b0c0 Fix name of text emote sending & fix tests 2016-09-26 10:20:56 +01:00
Matthew Hodgson 40ba1ff5aa disable LGM badges for DMs temporarily - see https://github.com/vector-im/vector-web/issues/2343 2016-09-24 00:43:46 +01:00
David Baker bf037ed6c7 Add comment 2016-09-23 19:09:32 +01:00
David Baker db3f0d298a Make RTE mode use the new Markdown wrapper class
Equivalent of https://github.com/matrix-org/matrix-react-sdk/pull/492 for rich text mode
2016-09-23 18:50:25 +01:00
David Baker fa193e775a Implement join button appearing
Also switch input to controlled so we re-render when it changes so we can show/hide the join button
2016-09-23 16:34:47 +01:00
David Baker eb5b175213 Layout to support less hardcoded CSS 2016-09-23 15:58:11 +01:00
David Baker b1e4c911eb WIP omnipresent join button 2016-09-23 15:25:38 +01:00
David Baker 6281d76ade Merge remote-tracking branch 'origin/develop' into dbkr/directory_search_box 2016-09-23 14:43:13 +01:00
Richard van der Hoff 18cbd452b0 Merge pull request #495 from matrix-org/dbkr/irc_links
Fix links to IRC rooms
2016-09-23 14:31:30 +01:00
David Baker d0a15975c8 Merge pull request #492 from matrix-org/dbkr/make_markdown_less_aggressive
Make markdown less aggressive
2016-09-23 14:31:20 +01:00
David Baker 90c9d51c7d Typos 2016-09-23 14:15:48 +01:00
David Baker 2120963c7a More linkifier fixes
* Accept underscores in usernames
 * Accept usernames & room aliases on localhost
 * Accept #localhost:foo.com and @localhost:foo.com
2016-09-23 14:02:14 +01:00
David Baker fae9b048dd Merge remote-tracking branch 'origin/develop' into dbkr/irc_links 2016-09-23 13:50:03 +01:00
David Baker eeac0619f4 reskindex 2016-09-23 13:49:35 +01:00
David Baker 61b48a5b1a Add component for the directory search box 2016-09-23 13:48:24 +01:00
Richard van der Hoff dd2da20031 Add the deviceId back to memberdeviceinfo
It was removed by @ara4n in 5fa5489, but it's still useful!
2016-09-22 19:28:50 +01:00