Commit graph

1413 commits

Author SHA1 Message Date
Richard van der Hoff
33f330d434 Manual fixup for remaining q incantaions
* don't try to use `finally` as a static method
* work around absence of `allSettled`
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0d7cc59d99 replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +01:00
Richard van der Hoff
0254d2b3a2 q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Luke Barnard
6ff924fc0d Remove MessageComposerInputOld 2017-07-12 18:03:13 +01:00
Kegsay
cf158530f5 Implement new widget API (#1201)
* Implement new widget API

This allows clients to see who provisioned which widgets.

* Update to make state_key the wid

* Update to latest API

* Only show widgets which have required fields

* Don't constantly show apps dialog

* Fix example to include data key
2017-07-11 12:15:27 +01:00
Luke Barnard
b104228a7b Remove redundant functions, bindings, props 2017-07-10 14:27:41 +01:00
Luke Barnard
c9df079464 Merge pull request #1176 from matrix-org/luke/feature-enable-RTE
Take RTE out of labs! 🎉
2017-07-10 13:56:00 +01:00
Luke Barnard
9643f0c00b Merge pull request #1167 from matrix-org/dbkr/my_groups
Implement 'Groups' page
2017-07-10 09:37:06 +01:00
Luke Barnard
7a8f524f4a Remove two possible sources for the "AutoComplete stays visible bug
which is now https://github.com/vector-im/riot-web/issues/4537 <- there.

This does two things:
 - Track which query was the most recent one requesting completion and only process completions for that one. (In this case the empty string "" doesn't have any completions but we still track it so that previous calls with non-empty queries would not race and cause completions to be shown when we actuall don't want any.)
 - Make the "do we want to show the AutoComplete box?" logic a bit more sane
2017-07-07 15:30:31 +01:00
David Baker
bc8c2d442b WithMatrixClient -> withMatrixClient
because we're using it as a function rather than a React component
2017-07-07 11:34:20 +01:00
Richard Lewis
d091550ccb Use app ID for element key and pass screen parameter to scalar. 2017-07-06 15:59:59 +01:00
Luke Barnard
6404f7603c Merge pull request #1192 from matrix-org/t3chguy/markdown_allow_u
Allow underline through MD and in RTE (MD) using <u> which works with CM
2017-07-06 14:08:01 +01:00
Luke Barnard
d9a67355d2 Merge pull request #1190 from matrix-org/luke/fix-rte-paste-html-md-on
Only insert HTML into the composer in RTE mode
2017-07-06 13:59:52 +01:00
Michael Telatynski
ff7ae5b995
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/markdown_allow_u 2017-07-06 13:56:20 +01:00
Michael Telatynski
fcd8321a63
Allow underline through MD and in RTE (MD) using <u> which works with CM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-06 13:49:13 +01:00
Michael Telatynski
6149b37245
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/room-settings-unban-no-pl 2017-07-06 13:30:40 +01:00
Michael Telatynski
c6d9ec42a2
only show unban button in RoomSettings if user has sufficient PL to do so
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-06 12:51:55 +01:00
Luke Barnard
bdefb35c64 Only insert HTML into the composer in RTE mode
If MD mode is enabled, paste the plaintext equivalent.
2017-07-06 11:52:02 +01:00
Luke Barnard
0bf1124f1b Merge pull request #1181 from matrix-org/luke/fix-rte-draft-persist
Implement MessageComposerStore to persist composer state when room switching
2017-07-05 18:24:27 +01:00
Luke Barnard
7f1d8e3c90 Merge pull request #1188 from matrix-org/luke/feature-rte-visual-bell
Add visual feedback for when there are no completions available
2017-07-05 18:23:10 +01:00
Luke Barnard
29e793f591 Merge pull request #1180 from matrix-org/luke/fix-rte-force-immediately
When hitting "tab" use an autocompleteDelay of 0
2017-07-05 18:20:48 +01:00
Luke Barnard
d78168d407 Add visual feedback for when there are no completions available
Attempts to kep parity with old composer by using the same #faa colour but uses an animation instead of a js timeout.

Fixes https://github.com/vector-im/riot-web/issues/4490
2017-07-05 18:14:22 +01:00
Luke Barnard
5c9d3edec4 Revert #1170, fde7d5eaf4
There were a few issues with this, namely that links were no longer linkified and an error was logged to the console: `Warning: Stateless function components cannot be given refs (See ref "topic" in EmojiText created by RoomHeader). Attempts to access this ref will fail.`
2017-07-05 14:46:00 +01:00
Luke Barnard
3d5b3ed7ad Use ContentState instead and persist over localStorage 2017-07-05 11:49:34 +01:00
Luke Barnard
084a933dbd Implement MessageComposerStore to persist composer state across room switching
This behaviour was present in the old composer but implemented using local storage. This is unecessary as we don't really care about our drafts across clients, the important thing is that our draft is kept when switching rooms.

As a bonus, ifnore vertical arrow key presses when a modifier key is pressed so that the room switching keys (alt + up/down arrow) don't also cause history browsing (or autocomplete browsing).
2017-07-05 10:24:55 +01:00
Luke Barnard
5f6c3e5afc When hitting "tab" use an autocompleteDelay of 0
So that there's no delay when tab completing. Fixes https://github.com/vector-im/riot-web/issues/4497
2017-07-04 17:49:50 +01:00
Luke Barnard
77348e6201 Remove spurious, unused code 2017-07-04 15:20:00 +01:00
Luke Barnard
e3f2eb5232 Take RTE out of labs! 🎉
This stops react-sdk from tracking any state previously stored for the purposes of enabling or disabling the lab feature that enabled the new MessageComposer. It is now enabled permanently.

This is being done with the hope that we can get more feedback for it so that when we release we can be confident that people will be OK with the changes it brings.
2017-07-04 14:44:55 +01:00
Richard van der Hoff
fb86534ba3 Merge pull request #1171 from matrix-org/t3chguy/delintify
De-Lint 23 files
2017-07-04 10:40:49 +01:00
Luke Barnard
664f3acc3c Only move through history if caret at start or end of line
As suggested by @dbkr (because this is what we do for the old composer), only move through history when the caret is that the beginning of the first line (block) or end of the last.

This has the nice property of being able to move the caret up to a really long message: fixes https://github.com/vector-im/riot-web/issues/4471
2017-07-04 10:12:06 +01:00
Michael Telatynski
34c9bbfd86
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/delintify
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/components/views/rooms/RoomHeader.js
2017-07-03 19:15:38 +01:00
Michael Telatynski
827c38d4a5
fix variable clash
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-03 19:13:07 +01:00
David Baker
72eed70a84 Merge pull request #1173 from matrix-org/luke/fix-rte-forgets-me
Strip out "/me" after committing to RTE history
2017-07-03 15:59:07 +01:00
David Baker
a7bb546b1f Merge pull request #1172 from matrix-org/luke/fix-rte-md-format-without-selection
When formatting with MD enabled, move selection inside ** or equivalent
2017-07-03 15:58:02 +01:00
Luke Barnard
775f5a0e5b Strip out "/me" after committing to RTE history
So that history can include emotes

Fixes https://github.com/vector-im/riot-web/issues/4472
2017-07-03 15:47:03 +01:00
Luke Barnard
86889b8e8c When formatting with MD enabled, move selection inside ** or equivalent
Fixes https://github.com/vector-im/riot-web/issues/3225

Also insert `\n` after code-block and blockquote to fix https://github.com/vector-im/riot-web/issues/2746
2017-07-03 15:23:24 +01:00
David Baker
a89ea39dba Merge pull request #1170 from matrix-org/t3chguy/emojione-room-topic
make RoomHeader Topic use EmojiText to be emojione-friendly
2017-07-03 10:27:47 +01:00
Michael Telatynski
e56203f2a1
de-lint RoomHeader, Avatar, SdkConfig, SlashCommands
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 14:13:32 +01:00
Michael Telatynski
fde7d5eaf4
make RoomHeader Topic use EmojiText to be emojione-friendly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-01 13:36:28 +01:00
Luke Barnard
0b46184a21 Merge pull request #1166 from matrix-org/luke/fix-rte-wrong-history-format
Always store sent MD messages as MD in history
2017-06-30 16:05:45 +01:00
Luke Barnard
6bc40a112c Always store sent MD messages as MD in history
Because converting them to HTML when they got sent as HTML seems a bit pointless when they're just going to get transformed back again when retrieved from history.

Fixes regression https://github.com/vector-im/riot-web/issues/4465
2017-06-30 15:47:48 +01:00
Kegan Dougal
b8941f76d3 Fix bug which breaks the close button on scalar 2017-06-30 15:42:36 +01:00
Luke Barnard
15cfe5b8e4 Only allow history selection when on the first or last line
(of a multi-line or otherwise message in the editor)
2017-06-30 14:27:26 +01:00
Luke Barnard
e7a2c3b975 Only send HTML when using RTE when necessary
When there are no styled blocks or inline styles applied within blocks, just send text instead of HTML.

Also, don't add <br /> for the last <p> (the last block).

Fixes https://github.com/vector-im/riot-web/issues/3147
2017-06-30 11:27:00 +01:00
Luke Barnard
8b8260c509 Move cursor to end of editor when quoting
When quoting a message, move the selection to the end of the input box. Fixes https://github.com/vector-im/riot-web/issues/2336
2017-06-29 17:22:34 +01:00
Luke Barnard
e5e7dec131 Fix #4422 by persisting the "currently composed" message
This allows for browsing through history without losing the message currently being composed.
2017-06-29 17:02:19 +01:00
Luke Barnard
6bd7284161 Be sensible about handling up/down vs tab/tab-shift
Fixes https://github.com/vector-im/riot-web/issues/4445
2017-06-29 15:07:06 +01:00
Luke Barnard
8912400675 Add XXX for https://github.com/vector-im/riot-web/issues/4445 2017-06-28 18:05:39 +01:00
Luke Barnard
a3e02f470f Merge pull request #1156 from matrix-org/luke/fix-rte-debounce
Do debouncing for autocomplete in a sane way
2017-06-28 18:03:36 +01:00
Luke Barnard
de81188b13 Do debouncing for autocomplete in a sane way
- Fixes https://github.com/vector-im/riot-web/issues/4419
 - Fixes https://github.com/matrix-org/matrix-react-sdk/pull/518#issuecomment-285901871
 - Fixes https://github.com/matrix-org/matrix-react-sdk/pull/518#issuecomment-285910503
 - Fixes bug where the setting being used was the `autocompleteDelay` "syncedSetting" when it should have been the "localSetting" (so the setting being used was always the default)
2017-06-28 17:27:21 +01:00
Luke Barnard
d5585e29b1 Merge pull request #1155 from matrix-org/luke/fix-rte-cursor-at-start-of-history
Fix issue where the cursor is put at the start of selected history item
2017-06-28 17:17:56 +01:00
Richard Lewis
d61525e420 Merge pull request #1152 from matrix-org/rxl881/apps
Add support for apps
2017-06-28 16:06:20 +01:00
Richard Lewis
ea83d7eee2 Add missing import and fix apps reference. 2017-06-28 15:53:18 +01:00
Luke Barnard
d696373bc2 Fix issue where the cursor is put at the start of selected history item
Leading to strange behaviour when selecting all and deleting it.

Fixes https://github.com/vector-im/riot-web/issues/4450
2017-06-28 15:29:07 +01:00
Luke Barnard
bcb67bb273 Refactor shared code between onUpArrow and onDownArrow 2017-06-28 15:20:16 +01:00
Richard Lewis
3a10cda2ca Add translations. 2017-06-28 13:55:18 +01:00
Richard Lewis
f8c064ec25 REmove redundant call to _getApps 2017-06-28 13:45:29 +01:00
Richard Lewis
e70eca0b0c Comment unused code and add TODO to handle scalar errors. 2017-06-28 12:58:09 +01:00
Richard Lewis
d06d066050 Move getInitialState to top of file. 2017-06-28 12:54:47 +01:00
Richard Lewis
e752cc8557 Use 'this' in preference to local reference. 2017-06-28 12:32:38 +01:00
Richard Lewis
481a66ef3c Fix header. 2017-06-28 12:26:05 +01:00
Luke Barnard
f73fa4b49b Move processing into renamed function processHtmlforSending
And explain why this fix is necessary
2017-06-28 11:49:50 +01:00
Luke Barnard
1523d304f2 WIP to prevent RTE from deleting current message input when up arrow pressed 2017-06-28 10:30:59 +01:00
Luke Barnard
69589c19e7 Work around draft-js-export-html#62 by post-processing <br>\n
Fixes https://github.com/vector-im/riot-web/issues/4446 by post-processing the output HTML from draft-js-export-html by replacing `<br>\n` with `<br>`. This works for content within or outside of `<pre>`. If we replace with `\n` instead, the newlines only apply in `<pre>` tags so we use `<br>`.
2017-06-27 18:33:45 +01:00
Richard Lewis
3872f0750c Only show apps button if labs feature enabled. 2017-06-27 17:40:28 +01:00
Richard Lewis
338a4db87f Only show apps drawer if matrix apps labs setting ids enabled 2017-06-27 17:40:09 +01:00
Luke Barnard
5307731dfd Overide default draft-js handling of pasting text/html
This is surprisingly needed to avoid an issue with draft-js that causes multi-line madness when pasting code and then applying format-as-code to it - https://github.com/vector-im/riot-web/issues/2120#issuecomment-271735729.

The issue sounds like it is https://github.com/facebook/draft-js/issues/170#issuecomment-195026203 and the suggstion is to override the text pasting handler https://github.com/facebook/draft-js/issues/170#issuecomment-215983216. Meanwhile they haven't modified the default pasting behaviour afaics.

I've discovered a separate issue that is apparent even after this suggested fix. (https://github.com/vector-im/riot-web/issues/4446)
2017-06-27 17:10:28 +01:00
Luke Barnard
ba31a32440 Allow toggling of dev tools when RTE focussed 2017-06-27 15:17:57 +01:00
Richard Lewis
aab4c097e6 Make query parameters generic. 2017-06-27 12:26:13 +01:00
Richard Lewis
ddc0da396d Merge in changes from develop 2017-06-27 11:44:36 +01:00
Richard Lewis
63b1250385 Add comment 2017-06-27 11:39:20 +01:00
Richard Lewis
1f1352786f Temporarily disable Jitsi default 2017-06-27 11:38:14 +01:00
Richard Lewis
18ea76b864 Removed commented code 2017-06-27 11:31:00 +01:00
Richard Lewis
e343e99355 Cleaned up unused files and removed commented code 2017-06-27 11:28:38 +01:00
Luke Barnard
9404dd30c5 Use <del> for strikeout
We've swapped to commonmark, which uses <del> instead of ~~ for strikeout, so make the RTE insert <del> when we apply strikeout. Also, when ~~ is inserted, transform them into <del> for simplicity. This means giving an input of ~~test~~ is effectively the same as giving an input of <del>test</del>.
2017-06-23 18:19:06 +01:00
Luke Barnard
89afcfd897 Linting 2017-06-23 17:35:07 +01:00
Luke Barnard
87609582c6 Merge branch 'develop' into rte-fixes2
Conflicts:
	package.json
	src/autocomplete/CommandProvider.js
	src/autocomplete/UserProvider.js
	src/components/structures/RoomView.js
	src/components/structures/UserSettings.js
	src/components/views/rooms/MessageComposerInput.js
2017-06-23 15:30:06 +01:00
turt2live
a22f14e910 Use 12h timestamps when enabled in RR
Fixes vector-im/riot-web#4393 
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-06-22 08:54:34 -06:00
Richard Lewis
2cb2c44bd8 Remove unused logging 2017-06-20 17:57:48 +01:00
Richard Lewis
68473e118f Ensure that Scalar Messaging is started and stopped on component mount / unmount 2017-06-20 17:56:45 +01:00
Richard Lewis
a449588c1c Replace add app dialog with scalar interface 2017-06-20 10:54:41 +01:00
David Baker
b1ca83bb9d Internationalise the drop targets
Unsure how these had got missed (and yet still had the translation
strings in the json)
2017-06-19 17:49:22 +01:00
daniel tygel
13c12811e7 typo 2017-06-19 13:22:23 -03:00
daniel tygel
aebe4fb88f add two strings to translation 2017-06-19 13:21:23 -03:00
daniel tygel
c418076c32 add two strings to translation 2017-06-19 13:20:16 -03:00
Matthew Hodgson
032650e095 Merge branch 'develop' into t3chguy/fix_forwarding 2017-06-19 01:53:35 +01:00
Michael Telatynski
7b4cd31124 make forward_message be friendly with the RVS stuffs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-16 16:12:52 +01:00
David Baker
aa7ddfe86e Remove unused collapse_rhs
Remove all the places we pass collapse_rhs through to places it's
never used. Remove the commented RHS collapse button from
SimpleRoomHeader.
2017-06-16 15:47:40 +01:00
Robert Swain
edb11d805e AppsDrawer: Open add app widget if opening empty drawer
This felt much better than having to also click the add app widget
button.
2017-06-14 15:05:29 +02:00
Robert Swain
2d3c886646 AppsDrawer: Generate room alias for vrdemo 2017-06-14 13:27:15 +02:00
Robert Swain
9c8ab2691b AppsDrawer: Only append queryParams once 2017-06-14 13:26:43 +02:00
Robert Swain
880e7149f3 ModularWidgets: Add a quick VR demo widget 2017-06-14 13:05:43 +02:00
Matthew Hodgson
9dad5d0132 Merge pull request #1088 from matrix-org/t3chguy/fix_purple_e2e_room_settings
remove mx_filterFlipColor from verified e2e icon so its not purple :/
2017-06-13 17:45:56 +01:00
Michael Telatynski
f4aadafed9 remove mx_filterFlipColor from verified e2e icon so its not purple :/
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-13 17:42:30 +01:00
Robert Swain
d67e7289e8 Merge branch 'develop' into rob/apps 2017-06-13 15:50:43 +02:00
Robert Swain
03ba3bd431 Merge branch 'rxl881/apps' into rob/apps 2017-06-13 15:41:52 +02:00
Robert Swain
91eabbba60 MessageComposer: Trigger Jitsi app from call buttons 2017-06-13 15:35:13 +02:00
Robert Swain
5d898dd098 AuxPanel: Add type checking for userId and showApps properties 2017-06-13 15:34:05 +02:00
Robert Swain
b63edcb390 AppTile: Support deletion of apps from room state 2017-06-13 15:33:17 +02:00
Robert Swain
bcb2f8408b AppTile: Fix typo in property name 2017-06-13 15:32:40 +02:00
Robert Swain
2aa0aa61e3 AddAppDialog: Support adding apps to room state 2017-06-13 15:31:37 +02:00
Robert Swain
a72cb794f2 AppsDrawer: Populate apps from room state 2017-06-13 15:28:37 +02:00
Richard Lewis
876899948f Merge in upstream changes 2017-06-13 11:44:23 +01:00
Richard Lewis
2da30137ec Fix import path and add LG widget 2017-06-13 10:31:16 +01:00
David Baker
7b0565e9d1 Merge branch 'master' into develop 2017-06-12 15:53:04 +01:00
Richard Lewis
b893887707 Fix merge conflict 2017-06-12 14:52:41 +01:00
Richard Lewis
f9f924bbd6 Merge branch 'master' of https://github.com/matrix-org/matrix-react-sdk into rxl881/apps 2017-06-12 14:50:25 +01:00
Will Hunt
3ddbf83c62 Add userid back 2017-06-11 07:13:50 +01:00
Will Hunt
f940d2c100 Add reason for ban in room settings 2017-06-10 16:57:09 +01:00
Michael Telatynski
34caf5586f adds mx_filterFlipColor so that the dark theme will invert this image
making it more suitable for the said theme

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-10 00:08:40 +01:00
David Baker
d6b85c9d4d Fix translations on conf call banner
* You can't substitute react elements into a text string
 * Substituting in undefined gives the string 'undefined', so
   initialise it to the empty string.
2017-06-09 22:06:43 +01:00
Robert Swain
9e0b476b72 Merge branch 'develop' into rob/apps 2017-06-09 12:06:44 +02:00
Luke Barnard
ce0977373e Merge pull request #1058 from matrix-org/luke/fix-event-id-state
Control currently viewed event via RoomViewStore
2017-06-08 18:10:29 +01:00
Matthew Hodgson
df625b0d31 hit MemberInfo with Gemini to fix vector-im/riot-web#4223 2017-06-08 17:26:40 +01:00
Matthew Hodgson
f26aeef2bf Merge pull request #1056 from matrix-org/kegan/translation-tamarin
Add remaining translations
2017-06-08 15:06:26 +01:00
Kegan Dougal
f2efdf8a4f Review comments 2017-06-08 14:45:59 +01:00
Matthew Hodgson
c173861b27 Merge pull request #1021 from Bitim/feature/rtl-languages-support
Better RTL support
2017-06-08 14:43:18 +01:00
Kegan Dougal
c57823a31d Merge branch 'develop' into kegan/translation-tamarin 2017-06-08 14:19:56 +01:00
Luke Barnard
d3cf78ff5a Control currently viewied event via RoomViewStore
Fix for https://github.com/vector-im/riot-web/issues/4224

Due to the way `MatrixChat` does a state update when the `view_room` dispatch fires and a second update when `RoomViewStore` sends an update, the current event ID and room ID were becoming out of sync. The solution devised was to have the event ID managed by the `RoomViewStore` itself and do any defaulting there (for when we revisit a room that we saved scroll state for previously).

This required a few changes:
 - The addition of `update_scroll_state` in `RoomViewStore` allows the `RoomView` to save scroll state for a room before swapping to another one. Previously the caching of scroll state was done in `RoomView`.
 - The `view_room` dispatch now accepts an `event_id`, which dictates which event is supposed to be scrolled to in the `MessagePanel` when a new room is viewed. It also accepts `event_offset`, but currently, this isn't passed in by a dispatch in the app, but it is clobbered when loading the default position when an `event_id` isn't specified. Finally, `highlighted` was added to distinguish whether the initial event being scrolled to is also highlighted. This flag is also used by `viewRoom` in `MatrixChat` in order to decide whether to `notifyNewScreen` with the specified `event_id`.
2017-06-08 14:17:49 +01:00
Kegan Dougal
00df956ca2 Add remaining translations!
Every file has now been manually vetted by me. Due to the extent of
the changes, I've been unable to test all scenarios to make sure this
all works. :(
2017-06-08 14:08:51 +01:00
Luke Barnard
49b22fb6c6 Use an arrow function to allow this
This was causing `TypeError: Cannot read property '_getEmptyContent' of undefined` for those with custom tags.
2017-06-07 16:13:40 +01:00
Luke Barnard
53ea41e8a5 Merge branch 'develop' into new-guest-access 2017-06-07 12:08:37 +01:00
Richard Lewis
f6f660fa9a Initial app icon tiles 2017-06-06 23:45:17 +01:00
Matthew Hodgson
184c2d5e58 Merge pull request #1015 from matrix-org/t3chguy/random_fix_1
fix copy and paste derp and rip out unused imports
2017-06-06 18:02:35 +01:00
Richard Lewis
e8353edb06 Disable test postmessag 2017-06-06 15:57:40 +01:00
Richard Lewis
e9f110a4c5 Don't show add widget if there are more than one existing widgets 2017-06-06 14:50:43 +01:00
David Baker
22df03944c Merge branch 'develop' into new-guest-access 2017-06-06 10:35:28 +01:00
David Baker
f8198ba9c9 Merge branch 'develop' into new-guest-access 2017-06-06 10:33:01 +01:00
David Baker
e7af9bde23 Merge pull request #1036 from matrix-org/luke/fix-people-section-disappearing-again
Remove DM-guessing code (again)
2017-06-06 10:20:44 +01:00
Matthew Hodgson
d77a09adba quick and dirty override to disable MD globally 2017-06-05 21:33:01 +01:00
Richard Lewis
dc4f321707 Pass room and user id to apps draw 2017-06-05 18:21:31 +01:00
Luke Barnard
cc8078837d Remove DM-guessing code (again)
Seems this got reverted somehow:
>the revert of https://github.com/matrix-org/matrix-react-sdk/pull/807 (ebfafb3639) also included the revert of https://github.com/matrix-org/matrix-react-sdk/pull/829
2017-06-05 16:57:30 +01:00
Luke Barnard
619830617a Merge branch 'develop' into luke/ilag-i18n
In order to get ILAG internationalised

Conflicts:
	src/components/structures/LoggedInView.js
	src/components/structures/MatrixChat.js
	src/components/views/dialogs/ChatCreateOrReuseDialog.js
	src/components/views/dialogs/SetDisplayNameDialog.js
	src/createRoom.js
	src/i18n/strings/en_EN.json
2017-06-05 16:08:03 +01:00
saul.kredi@krutt.org
159a920dc8 Better RTL support 2017-06-03 18:52:45 +03:00
Michael Telatynski
4032a820f0 move KEY_M to KeyCode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:46:08 +01:00
Michael Telatynski
464863acd6 remove unused imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:35:55 +01:00
Luke Barnard
be7c2612e8 Merge pull request #967 from matrix-org/luke/show-people-rooms-tooltips
Show People/Rooms emptySubListTip even when total rooms !== 0
2017-06-02 11:10:48 +01:00
Kegan Dougal
d2e766e4f0 First round 2017-06-02 10:18:31 +01:00
Matthew Hodgson
6c56fa3381 Merge pull request #990 from matrix-org/kegan/translation-marmoset
Translation fixes for everything but src/components
2017-06-01 21:22:00 +01:00
Kegan Dougal
547f10bcbb Add translations for slash command failures 2017-06-01 15:44:56 +01:00
Matthew Hodgson
00750b4686 quick and dirty RoomAvatarEvent 2017-06-01 13:31:24 +01:00
Luke Barnard
dd48b3f055 Add comment 2017-06-01 10:08:02 +01:00
Matthew Hodgson
3d91b31637 i18n invited, and delete stale warning 2017-06-01 01:29:07 +01:00
turt2live
165dfeccb9 Fix rare case where presence duration is undefined & i18n 2017-05-31 11:56:04 -06:00
Richard Lewis
dac154f828 Add full width widgets 2017-05-31 10:08:39 +01:00
daniel tygel
f4e5039e70 add string to translate 2017-05-30 19:01:23 -03:00
daniel tygel
12f923bc81 add new string to translate 2017-05-30 18:56:52 -03:00
Matthew Hodgson
e30e45a82c Merge branch 'develop' into new-guest-access 2017-05-30 21:05:07 +01:00
Richard Lewis
ae1753bce6 Add tipping widgets 2017-05-30 18:39:51 +01:00
Luke Barnard
40154df930 Show People/Rooms emptySubListTip even when total rooms !== 0 2017-05-30 16:14:27 +01:00
Luke Barnard
6f8d5b1db3 Remove spurious reference to otherTagNames 2017-05-30 16:10:19 +01:00
Richard Lewis
0d7e3a15f7 Add room config 2017-05-30 15:32:53 +01:00
Marcel
70e7d81093 More i18n strings (#963)
* Add i18n for E2E import and Export Dialogs

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add various previous missing i18n strings

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Translate CreateRoomButton

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ChatInviteDialog and fix missing to.

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ConfitmRedactDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeactivateAccountDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeviceVerifyDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add SessionRestoreErrorDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add SetDisplayNameDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UnknownDeviceDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add AddressTile translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeviceVerifyButtons translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add Dropdown translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UserSelector translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CaptchaForm translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CasLogin translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CustomServerDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add InteractiveAuthEntryComponents translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add LoginFooter translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add RegistrationForm translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ServerConfig translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MAudioBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MImageBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MVideoBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add TextualBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UnknownBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UrlPreviewSettings translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add AuxPanel translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add PresenceLabel translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* fix syntax error

* weird space :P

* missing ','

* fix missing value

* fix json fail

* remove acidential added file

* fix another json fail
2017-05-30 15:09:57 +01:00
Richard Lewis
0e7bb6791f Static widget config per room 2017-05-30 13:47:17 +01:00
Richard Lewis
143f68ec56 Add locally hosted recepie widget 2017-05-30 11:40:29 +01:00
Richard Lewis
ec03cf4de3 disable iframe sandboxing. Remove BBC news iframe 2017-05-30 10:46:51 +01:00
Matthew Hodgson
5c885922d9 Merge branch 'develop' into new-guest-access 2017-05-28 22:58:18 +01:00
Travis Ralston
1b6685c5da Merge branch 'develop' into travis/redact-to-remove 2017-05-28 17:45:32 -04:00
Michael Telatynski
b55503e67f i18n the forwarding aux panel
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-28 13:27:57 +01:00
Matthew Hodgson
accc17a39a Merge pull request #812 from t3chguy/forward_message
Message Forwarding
2017-05-28 02:37:31 +01:00
Matthew Hodgson
3302fc690f fix all missing translations picked up by check-i18n.pl 2017-05-27 18:20:44 +01:00
Matthew Hodgson
957aa0403d fix https://github.com/vector-im/riot-web/issues/4052 2017-05-27 16:03:07 +01:00
David Baker
c22978d033 Merge remote-tracking branch 'origin/develop' into dbkr/translations 2017-05-26 17:30:02 +01:00
David Baker
2d6bf5fa91 Remove messages with HTML formatting
The translations strings are not HTML and it gets escaped.
2017-05-25 20:04:28 +01:00
David Baker
443ab1add7 Put back default strings on dialogs
But make them work by calling _t in render rather than
getDefaultProps().

Also sort out some 'Warning!' strings
2017-05-25 18:20:48 +01:00
Luke Barnard
ce17df0883 Unbreak the roomlist 2017-05-25 15:20:02 +01:00
Luke Barnard
7900bf1c7d Don't show "Drop to ..." if total rooms = 0 2017-05-25 13:55:37 +01:00
Luke Barnard
3185d3ed41 Re-add bouncing/callout animation to action buttons 2017-05-25 13:54:59 +01:00
David Baker
548f319816 Remove redundant role elements 2017-05-25 12:09:08 +01:00
David Baker
9337158a47 Separate classes for the different buttons
Also rename RoleButton to ActionButton because it's not being
given a Role any more.

Conflicts:
	src/component-index.js

cherry-picking commit 4a5821e.
2017-05-25 12:08:42 +01:00
David Baker
dc2274df54 Hide empty tips if collapsed 2017-05-25 12:05:06 +01:00
David Baker
3d3d89202e Year 2017-05-25 12:04:36 +01:00
David Baker
bff0577cb6 Add buttons to room sub list headers
Conflicts:
	src/component-index.js
	src/components/views/rooms/RoomList.js

cherry-picking commit ce119a6.
2017-05-25 11:49:45 +01:00
David Baker
d6d9a89453 Other empty sections no longer need to be greyed 2017-05-25 11:47:21 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
5531f27435 Make the left panel more friendly to new users
https://github.com/vector-im/riot-web/issues/3609

Conflicts:
	src/components/views/rooms/RoomList.js

cherry-picking commit f5f35e3.
2017-05-25 11:24:45 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Richard Lewis
b111579aed App tile events 2017-05-22 18:00:17 +01:00
Luke Barnard
05aaa599cc Merge branch 'develop' into new-guest-access
Conflicts:
	src/components/structures/MatrixChat.js
2017-05-22 16:19:10 +01:00
Richard Lewis
e8837d28ef App tile and app dialog styling 2017-05-22 12:34:27 +01:00
Kieran Gould
47e5e8d678 Moved isTwelveHour alllll the way up to TimelinePanel. 2017-05-19 23:04:37 +01:00
Kieran Gould
6b32975e0c Add 12 hour class to mx_EventTile 2017-05-19 22:36:13 +01:00
Maxwell Kepler
008cc95e9c Add 12 hour support 2017-05-19 22:29:49 +01:00
Michael Telatynski
cc7edbf86d allow for sending arbitrary events, also override highlight with
event currently being forwarded while forwardingEvent is set

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 01:29:11 +01:00
Michael Telatynski
475646a2a7 Change wording
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:34:35 +01:00
Michael Telatynski
a2ab36f598 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into forward_message
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:33:36 +01:00
Michael Telatynski
bf0fe63759 don't know why I'm even tracking mounted state. Never refd
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:20:51 +01:00
Michael Telatynski
0e7e4d8595 replace weird sidebar snapping with better ui_opacity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:20:32 +01:00
David Baker
3e7a31ac75 Revert "fix scroll behaviour on macs with no gemini"
This reverts commit 1347d9fa65.
2017-05-18 19:03:51 +01:00
David Baker
8fe3fa9178 Remove debug logging 2017-05-18 17:35:22 +01:00
David Baker
01955146e9 Prevent an exception getting scroll node
Don't try to findDOMNode before we're mounted as it makes react
angry.
2017-05-18 17:33:32 +01:00
Richard Lewis
0e5657333f Add app drawer and app dialog 2017-05-17 23:21:02 +01:00
Richard Lewis
7e1de2ac35 Show/hide apps panel and misc formatting and lint fixes 2017-05-17 21:15:57 +01:00
Richard Lewis
95988bd5ec Dispatch show hide app drawer events 2017-05-17 12:35:25 +01:00
Richard Lewis
9dd0b9bdd1 Fix lint errrors / warnings 2017-05-17 11:31:01 +01:00
Richard Lewis
e22712514e Add show / hide apps button 2017-05-17 10:58:59 +01:00
David Baker
8ce6da1b16 Merge branch 'new_release_process_stable' into develop
This reverts all PRs currently marked notready, changing develop into
a branch that should be more stable.
2017-05-17 10:38:09 +01:00
Richard van der Hoff
8695397abb Support for pasting files into normal composer
We don't seem to be in any danger of getting a working RTE any time soon, so
implement file pasting in the normal composer too.
2017-05-17 01:43:13 +01:00
David Baker
ebfafb3639 Revert "Merge pull request #807 from matrix-org/matthew/quick-search"
This reverts commit 0ad1d8caf3, reversing
changes made to 1189368aab.
2017-05-16 16:11:01 +01:00
David Baker
67c6a8b81d Revert "unbreak stack overflow which fires on tests due to mocked timers"
This reverts commit e69ea68133.
2017-05-16 16:02:13 +01:00
David Baker
eddc2af92d Revert "HOW DID THIS EVER WORK?"
This reverts commit 0d8d3c6710.
2017-05-16 16:01:54 +01:00
David Baker
7a949b6a45 Revert "oops, actually refresh roomlist when its state changes!"
This reverts commit 35a16edccc.
2017-05-16 16:01:32 +01:00
David Baker
b063c605a8 Revert "fix stupid typos in RoomList's shouldComponentUpdate"
This reverts commit b0288ebd89.
2017-05-16 16:01:14 +01:00
David Baker
714cd6a10f Revert "recalculate roomlist when your invites change"
This reverts commit ec6a1c4c75.
2017-05-16 16:00:34 +01:00
David Baker
387529d130 Revert "Merge pull request #859 from matrix-org/dbkr/left_panel_for_newbies_2"
This reverts commit 3366d3bbae, reversing
changes made to ceb71a4ef6.
2017-05-16 14:49:55 +01:00
Luke Barnard
f199f3599e Replace NeedToRegisterDialog /w SetMxIdDialog
This uses MatrixChat's `view_set_mxid`
2017-05-15 17:31:26 +01:00
Matthew Hodgson
486301cffb remove dodgy heuristics for hiding dates on RRs and use DateUtils instead.
reverts 5d99d68a64
fixes https://github.com/vector-im/riot-web/issues/3523
2017-05-15 02:55:07 +01:00
Matthew Hodgson
6879f7ee6f add presence to MemberInfo, fixes https://github.com/vector-im/riot-web/issues/3720 2017-05-15 02:43:23 +01:00
Matthew Hodgson
7f78e737eb Merge pull request #880 from matrix-org/t3chguy/fixRoomHeaderPreviewing
various fixes to RoomHeader
2017-05-15 01:52:42 +01:00
Matthew Hodgson
24d09d8f5b Merge pull request #885 from matrix-org/t3chguy/rte_emote_weirdness
remove /me whether or not it has a space after it
2017-05-15 01:50:53 +01:00
Matthew Hodgson
48864b0880 fix visibility of topbar close on dark theme, fixing https://github.com/vector-im/riot-web/issues/3783 2017-05-15 01:39:57 +01:00
Matthew Hodgson
c5f2b69e48 add alt attributes to e2e icons on msgs; fixes https://github.com/vector-im/riot-web/issues/3786 2017-05-15 01:37:24 +01:00
Michael Telatynski
d7c88a9813 only removed /me , remove anyway to fix vector-im/riot-web#3733
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 15:20:31 +01:00
Michael Telatynski
60b13d76a5 conform to Luke's other comment
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-12 21:20:56 +01:00
Michael Telatynski
822f2f10f2 conform to Luke's comment
https://github.com/matrix-org/matrix-react-sdk/pull/880#discussion_r116257726

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-12 21:16:55 +01:00
Michael Telatynski
69d860e982 revert name overengineering, undefined onClick should be fine on div
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-12 21:06:36 +01:00
Michael Telatynski
5e4467adce hide settings/search appropriately
pass inRoom prop to RoomHeader (defaults to false)
remove default onSettingsClick, handle if it is passed EVERYWHERE

if onSettingsClick is passes, show that button
show search button only if we are in the room, seems to fail otherwise
this seems to handle all cases I could throw at it. Give it your best

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-11 17:35:06 +01:00
Michael Telatynski
f55b27f432 looks like it is passed and accessed like a string
so unless I'm going insane, it should be a string.

fixes
```
rageshake.js:61 Warning: Failed prop type: The prop `onClick` is marked as required in `AccessibleButton`, but its value is `undefined`.
    in AccessibleButton (created by RoomHeader)
    in RoomHeader (created by RoomView)
    in div (created by RoomView)
    in RoomView (created by LoggedInView)
    in main (created by LoggedInView)
    in div (created by LoggedInView)
    in div (created by LoggedInView)
    in LoggedInView (created by MatrixChat)
    in MatrixChat
```

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-11 17:32:23 +01:00
Michael Telatynski
50092a0f1f fixes vector-im/riot-web#3881
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-10 15:16:49 +01:00
Luke Barnard
f5a23c14df Remove redundant bind 2017-05-08 17:32:26 +01:00
Luke Barnard
fe121126f5 Merge branch 'develop' into rte-fixes
Conflicts:
	src/UserSettingsStore.js
	src/autocomplete/EmojiProvider.js
	src/components/views/rooms/MessageComposerInput.js
2017-05-08 17:08:59 +01:00
David Baker
c01e8e85ac Merge pull request #872 from matrix-org/dbkr/fix_left_panel
Fix this/self fail in LeftPanel
2017-05-08 16:40:17 +01:00
David Baker
534f9277d4 Fix this/self fail in LeftPanel 2017-05-08 15:37:40 +01:00
Luke Barnard
39323647d1 Don't show null URL previews
These are URLs that were spidered by the server without error but yielded an empty response from the server. There's nothing to display, so return an empty div.
2017-05-08 14:01:44 +01:00
David Baker
3366d3bbae Merge pull request #859 from matrix-org/dbkr/left_panel_for_newbies_2
Make left panel better for new users (mk II)
2017-05-08 10:37:55 +01:00
Matthew Hodgson
ceb71a4ef6 Merge pull request #866 from t3chguy/warn_on_unload
Explicitly save composer content onUnload
2017-05-07 20:07:09 +01:00
Michael Telatynski
a141350670 Explicitly save composer content onUnload
small oversight, caught by Matthew

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-07 20:01:55 +01:00
Michael Telatynski
2b2b43a7f3 Content in Composer is not lost on unload so it should be fine
to scare the user thinking they have lost all of their content
even though when they come back they can cry with joy :D

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-07 18:16:10 +01:00
David Baker
1a0ea29995 Remove redundant role elements 2017-05-05 17:51:14 +01:00
David Baker
4a5821e199 Separate classes for the different buttons
Also rename RoleButton to ActionButton because it's not being
given a Role any more.
2017-05-05 14:25:18 +01:00
David Baker
f86ca5bc97 Hide empty tips if collapsed 2017-05-04 18:08:04 +01:00
David Baker
72df43d22b Year 2017-05-04 15:46:24 +01:00
David Baker
306ea58578 Merge remote-tracking branch 'origin/develop' into dbkr/left_panel_for_newbies_2 2017-05-04 15:45:05 +01:00
Luke Barnard
d5b49a11d7 Merge pull request #829 from matrix-org/luke/fix-people-section-disappearing
Remove DM-guessing code
2017-05-04 14:15:28 +01:00
David Baker
e1c99430cb Merge remote-tracking branch 'origin/develop' into dbkr/left_panel_for_newbies_2 2017-05-04 14:04:22 +01:00
David Baker
ce119a6364 Add buttons to room sub list headers 2017-05-04 13:55:52 +01:00
Luke Barnard
bfa3123f9b Combine data-scroll-token and -contained-scroll-tokens
- Instead of using one attribute, use one that might just contain one token
 - Use the first token when tracking a child
 - Mandate that no commas can be in individual tokens
2017-05-04 10:00:13 +01:00
Michael Telatynski
b6fd771b9a move implementation to MessageComposer to it applies to any future composers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-03 16:21:35 +01:00
Michael Telatynski
6685cbcb25 make MessageComposerInput (new and old) warn on unload
new needs binding due to class this ref being softer
couldn't do this nicely in MessageComposer/Input as
isTyping wasn't propagated.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-29 06:26:59 +01:00
David Baker
083d5bf463 Other empty sections no longer need to be greyed 2017-04-28 11:20:29 +01:00
David Baker
f5f35e3294 Make the left panel more friendly to new users
https://github.com/vector-im/riot-web/issues/3609
2017-04-28 11:10:21 +01:00
Luke Barnard
88abe54ffe Give the SRH its prop back 2017-04-27 17:58:02 +01:00
Luke Barnard
0b06e979cb Add optional tintable SVG icon for SimpleRoomHeader 2017-04-27 17:57:13 +01:00
Luke Barnard
63224ff164 Add mx_EventTile_emote class 2017-04-26 18:00:25 +01:00
Michael Telatynski
6cbd04045d change the now working defaults
to what they effectively were when defaultValue was broken
(hopefully tests now pass)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 22:17:25 +01:00
Michael Telatynski
9ae9aeea07 lets improve forwarding :D
ditch double quotes
stop caring about rhs state
always call hide_right_panel, nop if already hidden
use new restore_right_panel to bring it back if it was visible pre-us

actually tell things that we sent a message or failed in doing so
now the UDE works :D

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:14:45 +01:00
Michael Telatynski
ee560a969a upon forwarding message to current room, explicitly remove clear from aux
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 20:17:29 +01:00
turt2live
e6fd380947 Change redact -> remove for clarity
Addresses vector-im/riot-web#2814

Non-technical users may not understand what 'redact' means and can more easily understand what 'Remove' does. See discussion on vector-im/riot-web#2814 for more information.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-24 12:49:09 -06:00
Michael Telatynski
4285c395f5 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into forward_message
Conflicts:
	src/components/structures/RoomView.js
2017-04-24 18:36:33 +01:00