Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist

pull/4830/head
David Baker 2017-08-09 13:46:40 +01:00
commit 12628b67ea
15 changed files with 175 additions and 36 deletions

2
.gitignore vendored
View File

@ -14,6 +14,6 @@
npm-debug.log npm-debug.log
electron/dist electron/dist
electron/pub electron/pub
/.idea **/.idea
/config.json /config.json
/src/component-index.js /src/component-index.js

View File

@ -22,7 +22,7 @@ released version of Riot:
1. Enter the URL into your browser and log into Riot! 1. Enter the URL into your browser and log into Riot!
Releases are signed by PGP, and can be checked against the public key Releases are signed by PGP, and can be checked against the public key
at https://riot.im/packages/keys/riot-master.asc at https://riot.im/packages/keys/riot.asc
Note that Chrome does not allow microphone or webcam access for sites served Note that Chrome does not allow microphone or webcam access for sites served
over http (except localhost), so for working VoIP you will need to serve Riot over http (except localhost), so for working VoIP you will need to serve Riot
@ -62,7 +62,7 @@ to build.
1. If you're using the `develop` branch, install the develop versions of the 1. If you're using the `develop` branch, install the develop versions of the
dependencies, as the released ones will be too old: dependencies, as the released ones will be too old:
``` ```
scripts/fetch-develop-deps.sh scripts/fetch-develop.deps.sh
``` ```
Whenever you git pull on riot-web you will also probably need to force an update Whenever you git pull on riot-web you will also probably need to force an update
to these dependencies - the simplest way is to re-run the script, but you can also to these dependencies - the simplest way is to re-run the script, but you can also

View File

@ -228,6 +228,17 @@ electron.app.on('ready', () => {
} }
}); });
if (process.platform === 'win32') {
// Handle forward/backward mouse buttons in Windows
mainWindow.on('app-command', (e, cmd) => {
if (cmd === 'browser-backward' && mainWindow.webContents.canGoBack()) {
mainWindow.webContents.goBack();
} else if (cmd === 'browser-forward' && mainWindow.webContents.canGoForward()) {
mainWindow.webContents.goForward();
}
});
}
webContentsHandler(mainWindow.webContents); webContentsHandler(mainWindow.webContents);
mainWindowState.manage(mainWindow); mainWindowState.manage(mainWindow);
}); });

View File

@ -84,13 +84,23 @@ module.exports = function (config) {
// available preprocessors: // available preprocessors:
// https://npmjs.org/browse/keyword/karma-preprocessor // https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: { preprocessors: {
'{src,test}/**/*.js': ['webpack'], '{src,test}/**/*.js': ['webpack', 'sourcemap'],
}, },
// test results reporter to use // test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter // available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress', 'junit'], reporters: ['logcapture', 'spec', 'junit', 'summary'],
specReporter: {
suppressErrorSummary: false, // do print error summary
suppressFailed: false, // do print information about failed tests
suppressPassed: false, // do print information about passed tests
showSpecTiming: true, // print the time elapsed for each spec
},
client: {
captureLogs: true,
},
// web server port // web server port
port: 9876, port: 9876,

View File

@ -31,8 +31,8 @@
"build:res": "node scripts/copy-res.js", "build:res": "node scripts/copy-res.js",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js", "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "npm run reskindex && babel --source-maps -d lib src", "build:compile": "npm run reskindex && babel --source-maps -d lib src",
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress", "build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail",
"build:bundle:dev": "webpack --optimize-occurence-order --progress", "build:bundle:dev": "webpack --optimize-occurence-order --progress --bail",
"build:electron": "npm run clean && npm run build && npm run install:electron && build -wml --ia32 --x64", "build:electron": "npm run clean && npm run build && npm run install:electron && build -wml --ia32 --x64",
"build": "npm run reskindex && npm run build:res && npm run build:bundle", "build": "npm run reskindex && npm run build:res && npm run build:bundle",
"build:dev": "npm run reskindex && npm run build:res && npm run build:bundle:dev", "build:dev": "npm run reskindex && npm run build:res && npm run build:bundle:dev",
@ -57,7 +57,7 @@
"bluebird": "^3.5.0", "bluebird": "^3.5.0",
"browser-request": "^0.3.3", "browser-request": "^0.3.3",
"classnames": "^2.1.2", "classnames": "^2.1.2",
"draft-js": "^0.8.1", "draft-js": "^0.11.0-alpha",
"extract-text-webpack-plugin": "^0.9.1", "extract-text-webpack-plugin": "^0.9.1",
"favico.js": "^0.3.10", "favico.js": "^0.3.10",
"filesize": "3.5.6", "filesize": "3.5.6",
@ -114,11 +114,15 @@
"fs-extra": "^0.30.0", "fs-extra": "^0.30.0",
"html-webpack-plugin": "^2.24.0", "html-webpack-plugin": "^2.24.0",
"json-loader": "^0.5.3", "json-loader": "^0.5.3",
"karma": "^0.13.22", "karma": "^1.7.0",
"karma-chrome-launcher": "^0.2.3", "karma-chrome-launcher": "^0.2.3",
"karma-cli": "^0.1.2", "karma-cli": "^0.1.2",
"karma-junit-reporter": "^0.4.1", "karma-junit-reporter": "^0.4.1",
"karma-logcapture-reporter": "0.0.1",
"karma-mocha": "^0.2.2", "karma-mocha": "^0.2.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.31",
"karma-summary-reporter": "^1.3.3",
"karma-webpack": "^1.7.0", "karma-webpack": "^1.7.0",
"matrix-mock-request": "^1.2.0", "matrix-mock-request": "^1.2.0",
"matrix-react-test-utils": "^0.2.0", "matrix-react-test-utils": "^0.2.0",

View File

@ -49,42 +49,47 @@ function dodep() {
[ "$curbranch" != 'develop' ] && clone $org $repo develop [ "$curbranch" != 'develop' ] && clone $org $repo develop
} || return $? } || return $?
( echo "$repo set to branch "`git -C "$repo" rev-parse --abbrev-ref HEAD`
cd $repo
echo "$repo set to branch "`git rev-parse --abbrev-ref HEAD`
)
mkdir -p node_modules mkdir -p node_modules
rm -r "node_modules/$repo" 2>/dev/null || true rm -r "node_modules/$repo" 2>/dev/null || true
ln -sv "../$repo" node_modules/ ln -sv "../$repo" node_modules/
(
cd $repo
npm install
)
} }
##############################
echo -en 'travis_fold:start:matrix-js-sdk\r' echo -en 'travis_fold:start:matrix-js-sdk\r'
echo 'Setting up matrix-js-sdk' echo 'Setting up matrix-js-sdk'
dodep matrix-org matrix-js-sdk dodep matrix-org matrix-js-sdk
(
cd node_modules/matrix-js-sdk
npm install
)
echo -en 'travis_fold:end:matrix-js-sdk\r' echo -en 'travis_fold:end:matrix-js-sdk\r'
##############################
echo -en 'travis_fold:start:matrix-react-sdk\r' echo -en 'travis_fold:start:matrix-react-sdk\r'
echo 'Setting up matrix-react-sdk' echo 'Setting up matrix-react-sdk'
dodep matrix-org matrix-react-sdk dodep matrix-org matrix-react-sdk
mkdir -p node_modules/matrix-react-sdk/node_modules # replace the version of js-sdk that got pulled into react-sdk with a symlink
# to our version. Make sure to do this *after* doing 'npm i' in react-sdk,
# otherwise npm helpfully moves another-json from matrix-js-sdk/node_modules
# into matrix-react-sdk/node_modules.
#
# (note this matches the instructions in the README.)
rm -r node_modules/matrix-react-sdk/node_modules/matrix-js-sdk
ln -s ../../matrix-js-sdk node_modules/matrix-react-sdk/node_modules/ ln -s ../../matrix-js-sdk node_modules/matrix-react-sdk/node_modules/
(
cd node_modules/matrix-react-sdk
npm install
)
echo -en 'travis_fold:end:matrix-react-sdk\r' echo -en 'travis_fold:end:matrix-react-sdk\r'
##############################
# Link the reskindex binary in place: if we used npm link, # Link the reskindex binary in place: if we used npm link,
# npm would do this for us, but we don't because we'd have # npm would do this for us, but we don't because we'd have
# to define the npm prefix somewhere so it could put the # to define the npm prefix somewhere so it could put the

View File

@ -8,8 +8,11 @@ nvm use 6
set -x set -x
# check out corresponding branches of dependencies # check out corresponding branches of dependencies.
`dirname $0`/fetch-develop.deps.sh #
# clone the deps with depth 1: we know we will only ever need that one
# commit.
`dirname $0`/fetch-develop.deps.sh --depth 1
npm install npm install

View File

@ -319,6 +319,7 @@ textarea {
cursor: help; cursor: help;
transition-duration: 200ms; transition-duration: 200ms;
font-size: smaller; font-size: smaller;
filter: opacity(0.5);
} }
.mx_Beta:hover { .mx_Beta:hover {

View File

@ -20,6 +20,7 @@ limitations under the License.
.mx_BaseAvatar_initial { .mx_BaseAvatar_initial {
position: absolute; position: absolute;
left: 0px;
color: $avatar-initial-color; color: $avatar-initial-color;
text-align: center; text-align: center;
speak: none; speak: none;

View File

@ -50,11 +50,22 @@ limitations under the License.
} }
.mx_MatrixChat_useCompactLayout { .mx_MatrixChat_useCompactLayout {
.mx_MemberEventListSummary {
font-size: 13px;
.mx_EventTile_line {
line-height: 20px;
}
}
.mx_MemberEventListSummary_line { .mx_MemberEventListSummary_line {
line-height: 22px; line-height: 22px;
} }
.mx_MemberEventListSummary_toggle { .mx_MemberEventListSummary_toggle {
margin-top: 2px; margin-top: 3px;
}
.mx_TextualEvent.mx_MemberEventListSummary_summary {
font-size: 13px;
} }
} }

View File

@ -8,6 +8,7 @@
display: inline-block; display: inline-block;
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
padding-left: 5px;
} }
/* More specific to override `.markdown-body a` color */ /* More specific to override `.markdown-body a` color */
@ -35,9 +36,8 @@
.mx_UserPill .mx_BaseAvatar, .mx_UserPill .mx_BaseAvatar,
.mx_RoomPill .mx_BaseAvatar { .mx_RoomPill .mx_BaseAvatar {
position: relative; position: relative;
left: -3px;
top: 2px; top: 2px;
margin-left: 2px;
margin-right: 2px;
} }
.mx_Markdown_BOLD { .mx_Markdown_BOLD {

View File

@ -83,11 +83,20 @@ limitations under the License.
border: 1px solid transparent; border: 1px solid transparent;
} }
.mx_AppTileMenuBarWidgetDelete {
filter: none;
}
.mx_AppTileMenuBarWidget:hover { .mx_AppTileMenuBarWidget:hover {
border: 1px solid $primary-hairline-color; border: 1px solid $primary-hairline-color;
border-radius: 2px; border-radius: 2px;
} }
.mx_AppTileBody{
height: 350px;
overflow: hidden;
}
.mx_AppTileBody iframe { .mx_AppTileBody iframe {
width: 100%; width: 100%;
height: 350px; height: 350px;
@ -167,3 +176,53 @@ form.mx_Custom_Widget_Form div {
margin-top: 10px; margin-top: 10px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.mx_AppPermissionWarning {
text-align: center;
padding: 30px 0;
background-color: $primary-bg-color;
}
.mx_AppPermissionWarningImage {
margin: 10px 0;
}
.mx_AppPermissionWarningImage img {
width: 100px;
}
.mx_AppPermissionWarningText {
max-width: 400px;
margin: 10px auto 10px auto;
color: $primary-fg-color;
}
.mx_AppPermissionWarningTextLabel {
font-weight: bold;
display: block;
}
.mx_AppPermissionWarningTextURL {
color: $accent-color;
}
.mx_AppPermissionButton {
padding: 5px;
border-radius: 5px;
color: $warning-color;
background-color: $primary-bg-color;
}
.mx_AppPermissionButton:hover {
background-color: $primary-fg-color;
cursor: pointer;
}
.mx_AppLoading {
min-height: 305px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-weight: bold;
}

View File

@ -128,6 +128,12 @@ limitations under the License.
color: $event-sending-color; color: $event-sending-color;
} }
.mx_EventTile_sending .mx_UserPill,
.mx_EventTile_sending .mx_RoomPill,
.mx_EventTile_sending .mx_emojione {
opacity: 0.5;
}
.mx_EventTile_notSent { .mx_EventTile_notSent {
color: $event-notsent-color; color: $event-notsent-color;
} }
@ -370,6 +376,7 @@ limitations under the License.
.mx_EventTile_content .markdown-body h6 .mx_EventTile_content .markdown-body h6
{ {
font-family: inherit ! important; font-family: inherit ! important;
color: inherit;
} }
@ -396,7 +403,15 @@ limitations under the License.
} }
.mx_EventTile.mx_EventTile_info { .mx_EventTile.mx_EventTile_info {
// same as the padding for non-compact .mx_EventTile.mx_EventTile_info
padding-top: 0px; padding-top: 0px;
font-size: 13px;
.mx_EventTile_line {
line-height: 20px;
}
.mx_EventTile_avatar {
top: 4px;
}
} }
.mx_EventTile .mx_SenderProfile { .mx_EventTile .mx_SenderProfile {
@ -404,6 +419,7 @@ limitations under the License.
} }
.mx_EventTile.mx_EventTile_emote { .mx_EventTile.mx_EventTile_emote {
// add a bit more space for emotes so that avatars don't collide
padding-top: 8px; padding-top: 8px;
.mx_EventTile_avatar { .mx_EventTile_avatar {
top: 2px; top: 2px;
@ -431,10 +447,6 @@ limitations under the License.
top: 2px; top: 2px;
} }
.mx_EventTile.mx_EventTile_info .mx_EventTile_avatar {
top: 5px;
}
.mx_EventTile_e2eIcon { .mx_EventTile_e2eIcon {
top: 7px; top: 7px;
} }
@ -448,12 +460,21 @@ limitations under the License.
} }
.mx_EventTile_continuation .mx_EventTile_readAvatars, .mx_EventTile_continuation .mx_EventTile_readAvatars,
.mx_EventTile_info .mx_EventTile_readAvatars,
.mx_EventTile_emote .mx_EventTile_readAvatars { .mx_EventTile_emote .mx_EventTile_readAvatars {
top: 5px; top: 5px;
} }
.mx_EventTile_info .mx_EventTile_readAvatars {
top: 4px;
}
.mx_RoomView_MessageList h2 { .mx_RoomView_MessageList h2 {
margin-top: 6px; margin-top: 6px;
} }
.mx_EventTile_content .markdown-body {
p, ul, ol, dl, blockquote, pre, table {
margin-bottom: 4px; // 1/4 of the non-compact margin-bottom
}
}
} }

View File

@ -95,8 +95,6 @@ limitations under the License.
.mx_MessageComposer_input .DraftEditor-root { .mx_MessageComposer_input .DraftEditor-root {
width: 100%; width: 100%;
flex: 1; flex: 1;
max-height: 120px;
overflow: auto;
word-break: break-word; word-break: break-word;
} }
@ -105,6 +103,11 @@ limitations under the License.
padding-top: 2px; padding-top: 2px;
} }
.mx_MessageComposer_input .public-DraftEditor-content {
max-height: 120px;
overflow: auto;
}
.mx_MessageComposer_input blockquote { .mx_MessageComposer_input blockquote {
color: $blockquote-fg-color; color: $blockquote-fg-color;
margin: 0 0 16px; margin: 0 0 16px;

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.4.2 (15857) - http://www.bohemiancoding.com/sketch -->
<title>Slice 1</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M9.74464309,-3.02908503 L8.14106175,-3.02908503 L8.14106175,8.19448443 L-3.03028759,8.19448443 L-3.03028759,9.7978515 L8.14106175,9.7978515 L8.14106175,20.9685098 L9.74464309,20.9685098 L9.74464309,9.7978515 L20.9697124,9.7978515 L20.9697124,8.19448443 L9.74464309,8.19448443 L9.74464309,-3.02908503" id="Fill-108" opacity="0.9" fill="#ff0064" sketch:type="MSShapeGroup" transform="translate(8.969712, 8.969712) rotate(-315.000000) translate(-8.969712, -8.969712) "></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB