forked from matrix/element-web
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
90a308e6cb
13
.travis.yml
13
.travis.yml
|
@ -1,6 +1,17 @@
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- 6 # node v6, to match jenkins
|
# make sure we work with a range of node versions.
|
||||||
|
# As of the time of writing:
|
||||||
|
# - 4.x is still in LTS (until April 2018), but some of our deps (notably
|
||||||
|
# extract-zip) don't work with it
|
||||||
|
# - 5.x has been EOLed for nearly a year.
|
||||||
|
# - 6.x is the current 'LTS' version
|
||||||
|
# - 7.x is the current 'current' version (until October 2017)
|
||||||
|
#
|
||||||
|
# see: https://github.com/nodejs/LTS/
|
||||||
|
- 6.0
|
||||||
|
- 6
|
||||||
|
- 7
|
||||||
install:
|
install:
|
||||||
- scripts/fetch-develop.deps.sh
|
- scripts/fetch-develop.deps.sh
|
||||||
- npm install
|
- npm install
|
||||||
|
|
15
README.md
15
README.md
|
@ -55,9 +55,10 @@ Building From Source
|
||||||
Riot is a modular webapp built with modern ES6 and requires a npm build system
|
Riot is a modular webapp built with modern ES6 and requires a npm build system
|
||||||
to build.
|
to build.
|
||||||
|
|
||||||
1. Install or update `node.js` so that your `npm` is at least at version `2.0.0`
|
1. Install or update `node.js` so that your `node` is at least v6.0.0 (and `npm`
|
||||||
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`
|
is at least v3.8.6).
|
||||||
1. Switch to the riot-web directory: `cd riot-web`
|
1. Clone the repo: `git clone https://github.com/vector-im/riot-web.git`.
|
||||||
|
1. Switch to the riot-web directory: `cd riot-web`.
|
||||||
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:
|
||||||
```
|
```
|
||||||
|
@ -65,7 +66,7 @@ to build.
|
||||||
```
|
```
|
||||||
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
|
||||||
manually update and reuild them:
|
manually update and rebuild them:
|
||||||
```
|
```
|
||||||
cd matrix-js-sdk
|
cd matrix-js-sdk
|
||||||
git pull
|
git pull
|
||||||
|
@ -85,10 +86,10 @@ to build.
|
||||||
up-to-date. Or just use https://riot.im/develop - the continuous integration
|
up-to-date. Or just use https://riot.im/develop - the continuous integration
|
||||||
release of the develop branch.
|
release of the develop branch.
|
||||||
(Note that we don't reference the develop versions in git directly due to
|
(Note that we don't reference the develop versions in git directly due to
|
||||||
https://github.com/npm/npm/issues/3055)
|
https://github.com/npm/npm/issues/3055.)
|
||||||
1. Install the prerequisites: `npm install`
|
1. Install the prerequisites: `npm install`.
|
||||||
1. Configure the app by copying `config.sample.json` to `config.json` and
|
1. Configure the app by copying `config.sample.json` to `config.json` and
|
||||||
modifying it (see below for details)
|
modifying it (see below for details).
|
||||||
1. `npm run dist` to build a tarball to deploy. Untaring this file will give
|
1. `npm run dist` to build a tarball to deploy. Untaring this file will give
|
||||||
a version-specific directory containing all the files that need to go on your
|
a version-specific directory containing all the files that need to go on your
|
||||||
web server.
|
web server.
|
||||||
|
|
|
@ -10,5 +10,9 @@
|
||||||
"servers": [
|
"servers": [
|
||||||
"matrix.org"
|
"matrix.org"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"piwik": {
|
||||||
|
"url": "https://piwik.riot.im/",
|
||||||
|
"siteId": 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,9 @@
|
||||||
"servers": [
|
"servers": [
|
||||||
"matrix.org"
|
"matrix.org"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"piwik": {
|
||||||
|
"url": "https://piwik.riot.im/",
|
||||||
|
"siteId": 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import sdk from 'matrix-react-sdk';
|
||||||
import Matrix from "matrix-js-sdk";
|
import Matrix from "matrix-js-sdk";
|
||||||
import dis from 'matrix-react-sdk/lib/dispatcher';
|
import dis from 'matrix-react-sdk/lib/dispatcher';
|
||||||
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
|
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
|
||||||
|
import Analytics from 'matrix-react-sdk/lib/Analytics';
|
||||||
import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc';
|
import rate_limited_func from 'matrix-react-sdk/lib/ratelimitedfunc';
|
||||||
import Modal from 'matrix-react-sdk/lib/Modal';
|
import Modal from 'matrix-react-sdk/lib/Modal';
|
||||||
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
|
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
|
||||||
|
@ -61,24 +62,26 @@ module.exports = React.createClass({
|
||||||
return {
|
return {
|
||||||
phase: this.Phase.MemberInfo,
|
phase: this.Phase.MemberInfo,
|
||||||
member: member,
|
member: member,
|
||||||
}
|
};
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return {
|
return {
|
||||||
phase: this.Phase.MemberList
|
phase: this.Phase.MemberList
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onMemberListButtonClick: function() {
|
onMemberListButtonClick: function() {
|
||||||
|
Analytics.trackEvent('Right Panel', 'Member List Button', 'click');
|
||||||
this.setState({ phase: this.Phase.MemberList });
|
this.setState({ phase: this.Phase.MemberList });
|
||||||
},
|
},
|
||||||
|
|
||||||
onFileListButtonClick: function() {
|
onFileListButtonClick: function() {
|
||||||
|
Analytics.trackEvent('Right Panel', 'File List Button', 'click');
|
||||||
this.setState({ phase: this.Phase.FilePanel });
|
this.setState({ phase: this.Phase.FilePanel });
|
||||||
},
|
},
|
||||||
|
|
||||||
onNotificationListButtonClick: function() {
|
onNotificationListButtonClick: function() {
|
||||||
|
Analytics.trackEvent('Right Panel', 'Notification List Button', 'click');
|
||||||
this.setState({ phase: this.Phase.NotificationPanel });
|
this.setState({ phase: this.Phase.NotificationPanel });
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,10 @@ limitations under the License.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var React = require('react');
|
import React from 'react';
|
||||||
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
import { _t } from 'matrix-react-sdk/lib/languageHandler';
|
||||||
var Notifier = require("matrix-react-sdk/lib/Notifier");
|
import Notifier from 'matrix-react-sdk/lib/Notifier';
|
||||||
var sdk = require('matrix-react-sdk')
|
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
|
||||||
var AccessibleButton = require('matrix-react-sdk/lib/components/views/elements/AccessibleButton');
|
|
||||||
|
|
||||||
module.exports = React.createClass({
|
module.exports = React.createClass({
|
||||||
displayName: 'MatrixToolbar',
|
displayName: 'MatrixToolbar',
|
||||||
|
@ -43,5 +42,5 @@ module.exports = React.createClass({
|
||||||
<AccessibleButton className="mx_MatrixToolbar_close" onClick={ this.hideToolbar } ><img src="img/cancel.svg" width="18" height="18" /></AccessibleButton>
|
<AccessibleButton className="mx_MatrixToolbar_close" onClick={ this.hideToolbar } ><img src="img/cancel.svg" width="18" height="18" /></AccessibleButton>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -56,7 +56,7 @@ if (process.env.NODE_ENV !== 'production') {
|
||||||
var RunModernizrTests = require("./modernizr"); // this side-effects a global
|
var RunModernizrTests = require("./modernizr"); // this side-effects a global
|
||||||
var ReactDOM = require("react-dom");
|
var ReactDOM = require("react-dom");
|
||||||
var sdk = require("matrix-react-sdk");
|
var sdk = require("matrix-react-sdk");
|
||||||
var PlatformPeg = require("matrix-react-sdk/lib/PlatformPeg");
|
const PlatformPeg = require("matrix-react-sdk/lib/PlatformPeg");
|
||||||
sdk.loadSkin(require('../component-index'));
|
sdk.loadSkin(require('../component-index'));
|
||||||
var VectorConferenceHandler = require('../VectorConferenceHandler');
|
var VectorConferenceHandler = require('../VectorConferenceHandler');
|
||||||
var UpdateChecker = require("./updater");
|
var UpdateChecker = require("./updater");
|
||||||
|
@ -143,7 +143,7 @@ var onNewScreen = function(screen) {
|
||||||
var hash = '#/' + screen;
|
var hash = '#/' + screen;
|
||||||
lastLocationHashSet = hash;
|
lastLocationHashSet = hash;
|
||||||
window.location.hash = hash;
|
window.location.hash = hash;
|
||||||
}
|
};
|
||||||
|
|
||||||
// We use this to work out what URL the SDK should
|
// We use this to work out what URL the SDK should
|
||||||
// pass through when registering to allow the user to
|
// pass through when registering to allow the user to
|
||||||
|
@ -295,8 +295,7 @@ async function loadApp() {
|
||||||
/>,
|
/>,
|
||||||
document.getElementById('matrixchat')
|
document.getElementById('matrixchat')
|
||||||
);
|
);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
console.error("Browser is missing required features.");
|
console.error("Browser is missing required features.");
|
||||||
// take to a different landing page to AWOOOOOGA at the user
|
// take to a different landing page to AWOOOOOGA at the user
|
||||||
var CompatibilityPage = sdk.getComponent("structures.CompatibilityPage");
|
var CompatibilityPage = sdk.getComponent("structures.CompatibilityPage");
|
||||||
|
|
|
@ -67,6 +67,10 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
||||||
dis.register(_onAction);
|
dis.register(_onAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getHumanReadableName(): string {
|
||||||
|
return 'Electron Platform';
|
||||||
|
}
|
||||||
|
|
||||||
setNotificationCount(count: number) {
|
setNotificationCount(count: number) {
|
||||||
if (this.notificationCount === count) return;
|
if (this.notificationCount === count) return;
|
||||||
super.setNotificationCount(count);
|
super.setNotificationCount(count);
|
||||||
|
|
|
@ -35,6 +35,10 @@ export default class VectorBasePlatform extends BasePlatform {
|
||||||
this._updateFavicon();
|
this._updateFavicon();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getHumanReadableName(): string {
|
||||||
|
return 'Vector Base Platform';
|
||||||
|
}
|
||||||
|
|
||||||
_updateFavicon() {
|
_updateFavicon() {
|
||||||
try {
|
try {
|
||||||
// This needs to be in in a try block as it will throw
|
// This needs to be in in a try block as it will throw
|
||||||
|
|
|
@ -31,6 +31,10 @@ export default class WebPlatform extends VectorBasePlatform {
|
||||||
this.runningVersion = null;
|
this.runningVersion = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getHumanReadableName(): string {
|
||||||
|
return 'Web Platform';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the platform supports displaying
|
* Returns true if the platform supports displaying
|
||||||
* notifications, otherwise false.
|
* notifications, otherwise false.
|
||||||
|
|
Loading…
Reference in New Issue