From 56813eb11ed4fdecf3c676272b75e5824316ff3a Mon Sep 17 00:00:00 2001
From: Aviral Dasgupta <me@aviraldg.com>
Date: Fri, 19 Aug 2016 00:24:00 +0530
Subject: [PATCH] remove whatwg-fetch and use browser-request

---
 package.json                                       |  3 +--
 src/components/views/dialogs/ChangelogDialog.js    | 14 +++++++-------
 src/components/views/globals/NewVersionBar.js      |  6 +++---
 .../css/vector-web/views/globals/MatrixToolbar.css |  4 ++++
 4 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/package.json b/package.json
index 9e3450cdc9..be87139b26 100644
--- a/package.json
+++ b/package.json
@@ -58,8 +58,7 @@
     "react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
     "sanitize-html": "^1.11.1",
     "ua-parser-js": "^0.7.10",
-    "url": "^0.11.0",
-    "whatwg-fetch": "^1.0.0"
+    "url": "^0.11.0"
   },
   "devDependencies": {
     "babel": "^5.8.23",
diff --git a/src/components/views/dialogs/ChangelogDialog.js b/src/components/views/dialogs/ChangelogDialog.js
index 96ae63655d..823c205b8c 100644
--- a/src/components/views/dialogs/ChangelogDialog.js
+++ b/src/components/views/dialogs/ChangelogDialog.js
@@ -17,6 +17,7 @@
 import React from 'react';
 import sdk from 'matrix-react-sdk';
 import 'whatwg-fetch';
+import request from 'browser-request';
 
 const REPOS = ['vector-im/vector-web', 'matrix-org/matrix-react-sdk', 'matrix-org/matrix-js-sdk'];
 
@@ -28,17 +29,16 @@ export default class ChangelogDialog extends React.Component {
     }
 
     componentDidMount() {
-        console.log(this.props);
-        const version = this.props.newVersion;
-        const version2 = this.props.version;
+        const version = this.props.newVersion.split('-');
+        const version2 = this.props.version.split('-');
         if(version == null || version2 == null) return;
         for(let i=0; i<REPOS.length; i++) {
             const oldVersion = version2[2*i+1];
             const newVersion = version[2*i+1];
-            fetch(`https://api.github.com/repos/${REPOS[i]}/compare/${oldVersion}...${newVersion}`)
-                .then(response => response.json())
-                .then(json => this.setState({[REPOS[i]]: json.commits}));
-
+            request(`https://api.github.com/repos/${REPOS[i]}/compare/${oldVersion}...${newVersion}`, (a, b, body) => {
+                if(body == null) return;
+                this.setState({[REPOS[i]]: JSON.parse(body).commits});
+            });
         }
     }
 
diff --git a/src/components/views/globals/NewVersionBar.js b/src/components/views/globals/NewVersionBar.js
index 62d755a6a3..8d819323a4 100644
--- a/src/components/views/globals/NewVersionBar.js
+++ b/src/components/views/globals/NewVersionBar.js
@@ -23,7 +23,7 @@ import Modal from 'matrix-react-sdk/lib/Modal';
 export default function NewVersionBar(props) {
     const onChangelogClicked = () => {
         const ChangelogDialog = sdk.getComponent('dialogs.ChangelogDialog');
-        console.log(props);
+
         Modal.createDialog(ChangelogDialog, {
             version: props.version,
             newVersion: props.newVersion,
@@ -38,10 +38,10 @@ export default function NewVersionBar(props) {
     return (
         <div className="mx_MatrixToolbar">
             <img className="mx_MatrixToolbar_warning" src="img/warning.svg" width="24" height="23" alt="/!\"/>
-            <div style={{flex: 1}}>
+            <div className="mx_MatrixToolbar_content">
                 A new version of Vector is available. Refresh your browser.
             </div>
-            <button style={{marginRight: 16}} onClick={onChangelogClicked}>Changelog</button>
+            <button className="mx_MatrixToolbar_action" onClick={onChangelogClicked}>Changelog</button>
         </div>
     );
 }
diff --git a/src/skins/vector/css/vector-web/views/globals/MatrixToolbar.css b/src/skins/vector/css/vector-web/views/globals/MatrixToolbar.css
index a8297f46c2..4e214e113f 100644
--- a/src/skins/vector/css/vector-web/views/globals/MatrixToolbar.css
+++ b/src/skins/vector/css/vector-web/views/globals/MatrixToolbar.css
@@ -54,3 +54,7 @@ limitations under the License.
     float: right;
     margin-right: 10px;
 }
+
+.mx_MatrixToolbar_action {
+    margin-right: 16px;
+}