Commit Graph

8060 Commits (71c1198d12b5028147f69e6117f592e28afbaf36)

Author SHA1 Message Date
Luke Barnard 71c1198d12 Rewrite limitConcurrency to fix error catching
Make sure that we only catch errors that are a result of
calling fn()
2018-05-01 18:01:25 +01:00
Luke Barnard da1a5616eb Prevent error responses wedging group request concurrency limit
Fixes https://github.com/vector-im/riot-web/issues/6592
2018-05-01 14:04:13 +01:00
Luke Barnard 6ec9e5f670
Merge pull request #1866 from matrix-org/luke/luke/group-store-refactor
Refactor GroupStores into one global GroupStore
2018-05-01 12:33:06 +01:00
Luke Barnard 25690336c3 Prevent user getting trapped in group settings when an error occurs 2018-05-01 11:52:02 +01:00
Luke Barnard 38d7a5d394 Remove GroupStore listener when unmounting GroupPublicityToggle 2018-05-01 11:50:14 +01:00
Luke Barnard 28e8ce967f Correctly unregister group store listener when unmounting RoomList 2018-05-01 11:38:57 +01:00
Luke Barnard 023daef4b7 Refactor GroupStores into one global GroupStore
Take a step closer to a flux-like architecture for group data, for
the purposes of providing features that require it.

Now the app has a single GroupStore that can be poked to fetch
updates for a particular group.
2018-05-01 11:24:17 +01:00
Matthew Hodgson 5749fbcff9
Merge pull request #1864 from matrix-org/matthew/blob_urls
Switch back to using blob URLs for rendering e2e attachments
2018-04-30 19:01:58 +01:00
Luke Barnard 22047d7e72
Merge pull request #1845 from kethinov/hide_encryption_icons
Hide inline encryption icons except when hovering over a message
2018-04-30 17:57:22 +01:00
Luke Barnard 80c67ba35d
Merge pull request #1863 from matrix-org/dbkr/bug_report_dialog_basedialog
Fix UX issues with bug report dialog
2018-04-30 17:56:19 +01:00
Eric Newport e037cf0063 namespace CSS better and fix bug 2018-04-30 12:22:16 -04:00
David Baker 5bacf50001
Merge pull request #1865 from matrix-org/matthew/image_errors
fix ugly img errors and correctly render SVG thumbnails
2018-04-30 17:12:40 +01:00
David Baker 025bffb4e9 Merge remote-tracking branch 'origin/dbkr/fix_session_restore_fail_dialog_ux' into dbkr/bug_report_dialog_basedialog 2018-04-30 16:20:12 +01:00
David Baker e28a927da9 lint 2018-04-30 14:34:14 +01:00
David Baker c3420c37fd Indentation 2018-04-30 14:25:42 +01:00
David Baker 54cccab0c7 Factor out clearStorageButton 2018-04-30 14:22:18 +01:00
David Baker 5d46efc3e8 Get docs right on hasCancel 2018-04-30 14:17:21 +01:00
David Baker dcaacfd204 Merge remote-tracking branch 'origin/develop' into dbkr/fix_session_restore_fail_dialog_ux 2018-04-30 14:06:32 +01:00
David Baker a9b6db3f2e Lint 2018-04-30 13:41:04 +01:00
David Baker 37cb8abf13 Fix UX issues with bug report dialog
* Make it use BaseDialog / DialogButtons (also gives it has a top-right 'x' &
   escape to cancel works)
 * Stop misusing the 'danger' CSS class on the buttons. There is nothing dangerous
   about submitting logs.
 * Continued campaign against 'Click here' links.

Fixes https://github.com/vector-im/riot-web/issues/6622
2018-04-30 13:39:46 +01:00
David Baker fc136607f1 UI fixes in SessionRestoreErrorDialog
* Make the 'delete my data' button not the default
 * Make it red
 * Give it a confirmation dialog
 * Remove the 'cancel' button: what does it mean to cancel an error?
   In this case, it tried again and almost certainly got the same error.
 * Remove the top-right 'x' and don't cancel on esc for the same reason.
 * Move 'send bug report' to a button rather than a 'click here' link
 * Add a 'refresh' button which, even if it's no more likely to work,
   will at least look like it's doing something (it's mostly so if you
   don't have a bug report endpoint, there's still a button other
   than the one that deletes all your data).
2018-04-30 13:39:46 +01:00
Matthew Hodgson db5fc53853 final comment 2018-04-29 04:53:32 +01:00
Matthew Hodgson 8538cc1666 fix regressions introduced by 00b7cc512b 2018-04-29 04:41:30 +01:00
Matthew Hodgson be523b3edc lint 2018-04-29 04:31:30 +01:00
Matthew Hodgson 551d3ebda0 correctly fix up thumbnail height onload.
fixes https://github.com/vector-im/riot-web/issues/6492, although popping is inevitable in
the current implementation as it only fixes up the thumbnail size once the image has loaded.
2018-04-29 04:28:15 +01:00
Matthew Hodgson 731f1fa7d3 clarify another scrolljump bug 2018-04-29 04:00:02 +01:00
Matthew Hodgson c254d043c5 fix ugly img errors and correctly render SVG thumbnails
Fixes https://github.com/vector-im/riot-web/issues/6271
Fixes https://github.com/vector-im/riot-web/issues/1341
2018-04-29 03:58:17 +01:00
Matthew Hodgson 9c5407c21f revokeObjectURLs 2018-04-29 03:17:55 +01:00
Matthew Hodgson bffd5bb891 fix constness 2018-04-29 03:09:17 +01:00
Matthew Hodgson 9701fd32b7 switch back to blob urls for rendering e2e attachments
Based on @walle303's work at https://github.com/matrix-org/matrix-react-sdk/pull/1820
Deliberately reverts 8f778f54fd
Mitigates XSS by whitelisting the mime-types of the attachments so that malicious ones
should not be recognised and executed by the browser.
2018-04-29 03:07:31 +01:00
Eric Newport 55566b35a2 convert attribute to class 2018-04-28 12:39:25 -04:00
David Baker 873993a7ca Clarify, hopefully 2018-04-27 17:56:33 +01:00
David Baker d3c368e19f typo 2018-04-27 17:53:11 +01:00
David Baker 0c309c88ad Bluebird has no need for your .done() 2018-04-27 17:52:25 +01:00
David Baker fed74646b0 Rewrite to use async / await 2018-04-27 17:49:53 +01:00
David Baker 27b18c457e Lint 2018-04-27 15:56:28 +01:00
David Baker dc06c52985 Merge remote-tracking branch 'origin/dbkr/fix_session_restore_error_handling' into dbkr/fix_session_restore_fail_dialog_ux 2018-04-27 15:12:22 +01:00
David Baker 2cc50d35c6 Lint 2018-04-27 15:06:36 +01:00
David Baker 2987e2c681 Merge remote-tracking branch 'origin/dbkr/fix_session_restore_error_handling' into dbkr/fix_session_restore_fail_dialog_ux 2018-04-27 14:21:28 +01:00
David Baker 75ab618c05 Fix variable scopes 2018-04-27 14:20:09 +01:00
David Baker 6d9e07580b UI fixes in SessionRestoreErrorDialog
* Make the 'delete my data' button not the default
 * Make it red
 * Give it a confirmation dialog
 * Remove the 'cancel' button: what does it mean to cancel an error?
   In this case, it tried again and almost certainly got the same error.
 * Remove the top-right 'x' and don't cancel on esc for the same reason.
 * Move 'send bug report' to a button rather than a 'click here' link
 * Add a 'refresh' button which, even if it's no more likely to work,
   will at least look like it's doing something (it's mostly so if you
   don't have a bug report endpoint, there's still a button other
   than the one that deletes all your data).
2018-04-27 12:38:49 +01:00
David Baker 0323f8ed0c Wrap exception handling around all of loadSession
The user might (probably does) have a session even if we haven't actually tried
to load it yet, so wrap the whole loadSession code in the error handler we were
using for restoring sessions so we gracefully handle exceptions that happen
before trying to restore sessions too.

Remove the catch in MatrixChat that sent you to the login screen.  This is
never the right way to handle an error condition: we should only display the
login screen if we successfully determined that the user has no session, or
they explicitly chose to blow their sessions away.
2018-04-27 11:25:13 +01:00
David Baker db1401f484 Pass false to onFinished from BaseDialog
Everywhere else, onFinished takes a boolean indicating whether the
dialog was confirmed on cancelled, and had function that were
expecting this variable and getting undefined.
2018-04-27 11:19:14 +01:00
David Baker f70096b8fa Fix error handling on session restore
Fix a number of failures that meant the excellent error handling
we had for failing to restore a session didn't work.

1. .catch on the promise rather than try/catch: it's async
2. Explicit cancel method in SessionRestoreErrorDialog that invokes
   onFinished with `false` because even with the catch fixed, this
   was getting the event as its first arg which is truthy, so
   clicking cancel still deleted your data.
3. DialogButtons: Don't pass onCancel straight into the button event
   handler as this leaks the MouseEvent through as an argument.
   Nothing is using it and it exacerbates failures like this
   because there are surprise arguments.

Fixes https://github.com/vector-im/riot-web/issues/6616
2018-04-26 17:07:58 +01:00
Luke Barnard 5da62c6ad9 Fix bug that caused crash when analytics HS/IS whitelists not specified 2018-04-26 15:18:29 +01:00
Luke Barnard 665e052596 Allow debugging of unhandled login errors 2018-04-26 15:09:17 +01:00
Luke Barnard b1af4ec9fd Fix Analytics to not import DEFAULTS, therefore avoiding NPE 2018-04-26 14:30:27 +01:00
Luke Barnard d734a9ba6e Null check piwik config before using it
to avoid crashing at login
2018-04-26 13:41:43 +01:00
Luke Barnard 452bf0bd09
Merge pull request #1853 from matrix-org/luke/fix-piwik-page-url-reporting
Track actual window location origin and hash
2018-04-26 13:14:49 +01:00
Luke Barnard 053ef0bc0a PPI->PII 2018-04-26 13:05:59 +01:00