Skip to content

Commit

Permalink
Pull in changes from develop
Browse files Browse the repository at this point in the history
  • Loading branch information
rxl881 committed Feb 23, 2018
2 parents 095130a + 3bf0409 commit c198dd3
Show file tree
Hide file tree
Showing 93 changed files with 2,025 additions and 1,080 deletions.
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ dist: trusty

# we don't need sudo, so can run in a container, which makes startup much
# quicker.
sudo: false
#
# unfortunately we do temporarily require sudo as a workaround for
# https://github.com/travis-ci/travis-ci/issues/8836
sudo: required

language: node_js
node_js:
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
Changes in [0.13.5](https://github.com/vector-im/riot-web/releases/tag/v0.13.5) (2018-02-09)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.4...v0.13.5)

* SECURITY UPDATE: Sanitise URLs from 'external_url'. Thanks to walle303 for contacting
us about this vulnerability.

Changes in [0.13.4](https://github.com/vector-im/riot-web/releases/tag/v0.13.4) (2018-01-03)
============================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v0.13.3...v0.13.4)
Expand Down
45 changes: 35 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,13 @@ You can configure the app by copying `config.sample.json` to
1. `cross_origin_renderer_url`: URL to a static HTML page hosting code to help display
encrypted file attachments. This MUST be hosted on a completely separate domain to
anything else since it is used to isolate the privileges of file attachments to this
domain. Default: `usercontent.riot.im`. This needs to contain v1.html from
domain. Default: `https://usercontent.riot.im/v1.html`. This needs to contain v1.html from
https://github.com/matrix-org/usercontent/blob/master/v1.html
1. `piwik`: an object containing the following properties:
1. `url`: The URL of the Piwik instance to use for collecting Analytics
1. `whitelistedHSUrls`: a list of HS URLs to not redact from the Analytics
1. `whitelistedISUrls`: a list of IS URLs to not redact from the Analytics
1. `siteId`: The Piwik Site ID to use when sending Analytics to the Piwik server configured above

Running as a Desktop app
========================
Expand Down Expand Up @@ -314,31 +319,51 @@ For a developer guide, see the [translating dev doc](docs/translating-dev.md).
Triaging issues
===============
Issues will be triaged by the core team using the following primary set of tags:
Issues will be triaged by the core team using the below set of tags.
priority:
Tags are meant to be used in combination - e.g.:
* P1 critical bug == really urgent stuff that should be next in the bugfixing todo list
* "release blocker" == stuff which is blocking us from cutting the next release.
* P1 feature type:voip == what VoIP features should we be working on next?
* P1: top priority; typically blocks releases
priority: **compulsory**
* P1: top priority - i.e. pool of stuff which we should be working on next
* P2: still need to fix, but lower than P1
* P3: non-urgent
* P4: intereseting idea - bluesky some day
* P4: interesting idea - bluesky some day
* P5: recorded for posterity/to avoid duplicates. No intention to resolves right now.
bug or feature:
bug or feature: **compulsory**
* bug
* feature
bug severity:
bug severity: **compulsory, if bug**
* cosmetic - feature works functionally but UI/UX is broken
* critical - whole app doesn't work
* major - entire feature doesn't work
* minor - partially broken feature (but still usable)
* cosmetic - feature works functionally but UI/UX is broken
types
* type:* - refers to a particular part of the app; used to filter bugs
on a given topic - e.g. VOIP, signup, timeline, etc.
additional categories:
additional categories (self-explanatory):
* release blocker
* ui/ux (think of this as cosmetic)
* network (specific to network conditions)
* platform (platform specific)
* platform specific
* accessibility
* maintenance
* performance
* i18n
* blocked - whether this issue currently can't be progressed due to outside factors
community engagement
* easy
* hacktoberfest
* bounty? - proposal to be included in a bounty programme
* bounty - included in Status Open Bounty
2 changes: 2 additions & 0 deletions config.sample.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
"welcomeUserId": "@riot-bot:matrix.org",
"piwik": {
"url": "https://piwik.riot.im/",
"whitelistedHSUrls": ["https://matrix.org"],
"whitelistedISUrls": ["https://vector.im", "https://matrix.org"],
"siteId": 1
}
}
2 changes: 1 addition & 1 deletion docs/translating.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Head to the explanations under Steb 2b
## Step 2b: Adding a new language

1. Go to one of the projects listed https://translate.riot.im/projects/riot-web/
2. Click the ``Start new language`` button at the bottom
2. Click the ``Start new translation`` button at the bottom
3. Select a language
4. Start translating like in 2a.3
5. Repeat these steps for the other projects which are listed at the link of step 2b.1
Expand Down
2 changes: 1 addition & 1 deletion electron_app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "0.13.4",
"version": "0.13.5",
"description": "A feature-rich client for Matrix.org",
"author": "Vector Creations Ltd.",
"dependencies": {
Expand Down
7 changes: 3 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "0.13.4",
"version": "0.13.5",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
Expand Down Expand Up @@ -69,13 +69,12 @@
"highlight.js": "^9.0.0",
"linkifyjs": "^2.1.3",
"matrix-js-sdk": "0.9.2",
"matrix-react-sdk": "0.11.3",
"matrix-react-sdk": "0.11.4",
"modernizr": "^3.1.0",
"pako": "^1.0.5",
"prop-types": "^15.5.10",
"react": "^15.6.0",
"react-dnd": "^2.1.4",
"react-dnd-html5-backend": "^2.1.2",
"react-beautiful-dnd": "^4.0.1",
"react-dom": "^15.6.0",
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
"sanitize-html": "^1.11.1",
Expand Down
1 change: 1 addition & 0 deletions scripts/copy-res.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// This could readily be automated, but it's nice to explicitly
// control when we languages are available.
const INCLUDE_LANGS = [
{'value': 'ca', 'label': 'Català'},
{'value': 'da', 'label': 'Dansk'},
{'value': 'de_DE', 'label': 'Deutsch'},
{'value': 'en_EN', 'label': 'English'},
Expand Down
2 changes: 0 additions & 2 deletions src/components/structures/BottomLeftMenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,6 @@ module.exports = React.createClass({
const StartChatButton = sdk.getComponent('elements.StartChatButton');
const RoomDirectoryButton = sdk.getComponent('elements.RoomDirectoryButton');
const CreateRoomButton = sdk.getComponent('elements.CreateRoomButton');
const GroupsButton = sdk.getComponent('elements.GroupsButton');
const SettingsButton = sdk.getComponent('elements.SettingsButton');

return (
Expand All @@ -183,7 +182,6 @@ module.exports = React.createClass({
<div ref={this._collectCreateRoomButton}>
<CreateRoomButton tooltip={true} />
</div>
<GroupsButton tooltip={true} />
<span className="mx_BottomLeftMenu_settings">
<SettingsButton tooltip={true} />
</span>
Expand Down
54 changes: 40 additions & 14 deletions src/components/structures/LeftPanel.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,28 @@ limitations under the License.
'use strict';

import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { MatrixClient } from 'matrix-js-sdk';
import { KeyCode } from 'matrix-react-sdk/lib/Keyboard';
import sdk from 'matrix-react-sdk';
import dis from 'matrix-react-sdk/lib/dispatcher';
import MatrixClientPeg from 'matrix-react-sdk/lib/MatrixClientPeg';
import CallHandler from 'matrix-react-sdk/lib/CallHandler';
import AccessibleButton from 'matrix-react-sdk/lib/components/views/elements/AccessibleButton';
import VectorConferenceHandler from '../../VectorConferenceHandler';

import SettingsStore from 'matrix-react-sdk/lib/settings/SettingsStore';


var LeftPanel = React.createClass({
displayName: 'LeftPanel',

// NB. If you add props, don't forget to update
// shouldComponentUpdate!
propTypes: {
collapsed: React.PropTypes.bool.isRequired,
collapsed: PropTypes.bool.isRequired,
},

contextTypes: {
matrixClient: PropTypes.instanceOf(MatrixClient),
},

getInitialState: function() {
Expand Down Expand Up @@ -161,13 +167,18 @@ var LeftPanel = React.createClass({
this.setState({ searchFilter: term });
},

collectRoomList: function(ref) {
this._roomList = ref;
},

render: function() {
const RoomList = sdk.getComponent('rooms.RoomList');
const TagPanel = sdk.getComponent('structures.TagPanel');
const BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu');
const CallPreview = sdk.getComponent('voip.CallPreview');

let topBox;
if (MatrixClientPeg.get().isGuest()) {
if (this.context.matrixClient.isGuest()) {
const LoginBox = sdk.getComponent('structures.LoginBox');
topBox = <LoginBox collapsed={ this.props.collapsed }/>;
} else {
Expand All @@ -183,16 +194,31 @@ var LeftPanel = React.createClass({
}
);

const tagPanelEnabled = SettingsStore.isFeatureEnabled("feature_tag_panel");
const tagPanel = tagPanelEnabled ? <TagPanel /> : <div />;

const containerClasses = classNames(
"mx_LeftPanel_container",
{
"mx_LeftPanel_container_collapsed": this.props.collapsed,
"mx_LeftPanel_container_hasTagPanel": tagPanelEnabled,
},
);

return (
<aside className={classes} onKeyDown={ this._onKeyDown } onFocus={ this._onFocus } onBlur={ this._onBlur }>
{ topBox }
<CallPreview ConferenceHandler={VectorConferenceHandler} />
<RoomList
collapsed={this.props.collapsed}
searchFilter={this.state.searchFilter}
ConferenceHandler={VectorConferenceHandler} />
<BottomLeftMenu collapsed={this.props.collapsed}/>
</aside>
<div className={containerClasses}>
{ tagPanel }
<aside className={classes} onKeyDown={ this._onKeyDown } onFocus={ this._onFocus } onBlur={ this._onBlur }>
{ topBox }
<CallPreview ConferenceHandler={VectorConferenceHandler} />
<RoomList
ref={this.collectRoomList}
collapsed={this.props.collapsed}
searchFilter={this.state.searchFilter}
ConferenceHandler={VectorConferenceHandler} />
<BottomLeftMenu collapsed={this.props.collapsed}/>
</aside>
</div>
);
}
});
Expand Down
Loading

0 comments on commit c198dd3

Please sign in to comment.