From 3f640139d240832d1bd1d49863096efa4f392bb7 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 14:10:33 +0000 Subject: [PATCH 001/145] quick and dirty support for custom welcome pages, with an example for geektime techfest --- home-geektime.html | 25 +++++++ src/component-index.js | 2 + src/components/structures/BottomLeftMenu.js | 27 +++++++ src/components/structures/HomePage.js | 66 ++++++++++++++++++ .../css/vector-web/structures/HomePage.css | 26 +++++++ .../css/vector-web/structures/LeftPanel.css | 3 + src/skins/vector/img/geektime/geektime.png | Bin 0 -> 32638 bytes src/skins/vector/img/icons-home.svg | 28 ++++++++ 8 files changed, 177 insertions(+) create mode 100644 home-geektime.html create mode 100644 src/components/structures/HomePage.js create mode 100644 src/skins/vector/css/vector-web/structures/HomePage.css create mode 100644 src/skins/vector/img/geektime/geektime.png create mode 100644 src/skins/vector/img/icons-home.svg diff --git a/home-geektime.html b/home-geektime.html new file mode 100644 index 00000000..cea2eac3 --- /dev/null +++ b/home-geektime.html @@ -0,0 +1,25 @@ +
+ + GeekTime Techfest! + +
+ +

+Welcome to the GeekTime Techfest Riot! +

+ +

+To get started, please join some chat rooms! +

+ + + +

+To explore other rooms available on Matrix, click here: Room Directory +

+ +

+To learn more about Matrix, head over to Matrix.org - and to better understand Riot, check out the official Riot Website. +

\ No newline at end of file diff --git a/src/component-index.js b/src/component-index.js index 3141087c..068ab061 100644 --- a/src/component-index.js +++ b/src/component-index.js @@ -34,6 +34,8 @@ import structures$LeftPanel from './components/structures/LeftPanel'; module.exports.components['structures.LeftPanel'] = structures$LeftPanel; import structures$RightPanel from './components/structures/RightPanel'; module.exports.components['structures.RightPanel'] = structures$RightPanel; +import structures$HomePage from './components/structures/HomePage'; +module.exports.components['structures.HomePage'] = structures$HomePage; import structures$RoomDirectory from './components/structures/RoomDirectory'; module.exports.components['structures.RoomDirectory'] = structures$RoomDirectory; import structures$RoomSubList from './components/structures/RoomSubList'; diff --git a/src/components/structures/BottomLeftMenu.js b/src/components/structures/BottomLeftMenu.js index 0ea35b4e..793f8405 100644 --- a/src/components/structures/BottomLeftMenu.js +++ b/src/components/structures/BottomLeftMenu.js @@ -20,6 +20,7 @@ var React = require('react'); var ReactDOM = require('react-dom'); var sdk = require('matrix-react-sdk') var dis = require('matrix-react-sdk/lib/dispatcher'); +var SdkConfig = require('matrix-react-sdk/lib/SdkConfig'); module.exports = React.createClass({ displayName: 'BottomLeftMenu', @@ -32,6 +33,7 @@ module.exports = React.createClass({ return({ directoryHover : false, roomsHover : false, + homeHover: false, peopleHover : false, settingsHover : false, }); @@ -62,6 +64,19 @@ module.exports = React.createClass({ this.setState({ roomsHover: false }); }, + // Home button events + onHomeClick: function() { + dis.dispatch({ action: 'view_home_page' }); + }, + + onHomeMouseEnter: function() { + this.setState({ homeHover: true }); + }, + + onHomeMouseLeave: function() { + this.setState({ homeHover: false }); + }, + // People events onPeopleClick: function() { dis.dispatch({ action: 'view_create_chat' }); @@ -98,9 +113,21 @@ module.exports = React.createClass({ render: function() { var TintableSvg = sdk.getComponent('elements.TintableSvg'); + + var homeButton; + if (SdkConfig.get().home_page) { + homeButton = ( +
+ + { this.getLabel("Welcome page", this.state.homeHover) } +
+ ); + } + return (
+ { homeButton }
{ this.getLabel("Start chat", this.state.peopleHover) } diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js new file mode 100644 index 00000000..26bdf81e --- /dev/null +++ b/src/components/structures/HomePage.js @@ -0,0 +1,66 @@ +/* +Copyright 2016 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +'use strict'; + +import 'isomorphic-fetch'; + +var React = require("react"); +var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg'); +var sdk = require('matrix-react-sdk'); + +module.exports = React.createClass({ + displayName: 'HomePage', + + propTypes: { + config: React.PropTypes.object.isRequired, + collapsedRhs: React.PropTypes.bool, + }, + + getInitialState: function() { + return { + page: "" + }; + }, + + componentWillMount: function() { + fetch(this.props.config.home_page).then( + (response)=>{ + return response.text(); + }, + (error)=>{ + console.log(error); + this.setState({ page: "Couldn't load home page" }); + } + ).then( + (body)=>{ + this.setState({ page: body }); + } + ); + }, + + render: function() { + // const SimpleRoomHeader = sdk.getComponent('rooms.SimpleRoomHeader'); + // + + return ( +
+
+
+
+ ); + } +}); diff --git a/src/skins/vector/css/vector-web/structures/HomePage.css b/src/skins/vector/css/vector-web/structures/HomePage.css new file mode 100644 index 00000000..0e2009a6 --- /dev/null +++ b/src/skins/vector/css/vector-web/structures/HomePage.css @@ -0,0 +1,26 @@ +/* +Copyright 2016 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_HomePage { + max-width: 960px; + width: 100%; + margin-left: auto; + margin-right: auto; +} + +.mx_HomePage_body { + margin-left: 63px; +} \ No newline at end of file diff --git a/src/skins/vector/css/vector-web/structures/LeftPanel.css b/src/skins/vector/css/vector-web/structures/LeftPanel.css index 4e328171..35d3e22b 100644 --- a/src/skins/vector/css/vector-web/structures/LeftPanel.css +++ b/src/skins/vector/css/vector-web/structures/LeftPanel.css @@ -79,6 +79,7 @@ limitations under the License. pointer-events: none; } +.mx_LeftPanel .mx_BottomLeftMenu_homePage, .mx_LeftPanel .mx_BottomLeftMenu_directory, .mx_LeftPanel .mx_BottomLeftMenu_createRoom, .mx_LeftPanel .mx_BottomLeftMenu_people, @@ -87,6 +88,7 @@ limitations under the License. cursor: pointer; } +.collapsed .mx_BottomLeftMenu_homePage, .collapsed .mx_BottomLeftMenu_directory, .collapsed .mx_BottomLeftMenu_createRoom, .collapsed .mx_BottomLeftMenu_people, @@ -96,6 +98,7 @@ limitations under the License. padding-bottom: 3px ! important; } +.mx_LeftPanel .mx_BottomLeftMenu_homePage, .mx_LeftPanel .mx_BottomLeftMenu_directory, .mx_LeftPanel .mx_BottomLeftMenu_createRoom, .mx_LeftPanel .mx_BottomLeftMenu_people { diff --git a/src/skins/vector/img/geektime/geektime.png b/src/skins/vector/img/geektime/geektime.png new file mode 100644 index 0000000000000000000000000000000000000000..fcb7b01af0254b72963bf34ef5530f11193596b5 GIT binary patch literal 32638 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 + + + + + 81230A28-D944-4572-B5DB-C03CAA2B1FCA + Created with sketchtool. + + + + + + + + + + + + + + + + + From efabf356137a4ca9bf3106aaf26d095d34fbfcd6 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 14:13:32 +0000 Subject: [PATCH 002/145] make room previews more obvious --- .../vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css b/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css index 286a39f7..c1af5ace 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css @@ -18,6 +18,8 @@ limitations under the License. text-align: center; height: 176px; + background-color: #eeeeee; + -webkit-align-items: center; align-items: center; From 9f812b7069aa2ceb33415e17838486f10b6b2d09 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 14:18:31 +0000 Subject: [PATCH 003/145] fix img path --- home-geektime.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-geektime.html b/home-geektime.html index cea2eac3..0f483d6c 100644 --- a/home-geektime.html +++ b/home-geektime.html @@ -1,6 +1,6 @@ From 6cf14e6a2a3a04f9cfbf46c01a3d0f835a026d9f Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 14:19:55 +0000 Subject: [PATCH 004/145] fix room alias --- home-geektime.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-geektime.html b/home-geektime.html index 0f483d6c..7bf75a10 100644 --- a/home-geektime.html +++ b/home-geektime.html @@ -13,7 +13,7 @@ To get started, please join some chat rooms!

From 616c20fc1e38fc147a22c7a3308345e6c3e07d7d Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 14:26:54 +0000 Subject: [PATCH 005/145] fix img path --- home-geektime.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home-geektime.html b/home-geektime.html index 7bf75a10..1c866178 100644 --- a/home-geektime.html +++ b/home-geektime.html @@ -17,9 +17,9 @@ To get started, please join some chat rooms!

-To explore other rooms available on Matrix, click here: Room Directory +To explore other rooms available on Matrix, click here: Room Directory

To learn more about Matrix, head over to Matrix.org - and to better understand Riot, check out the official Riot Website. -

\ No newline at end of file +

From 1fb14d5a40a40b42a05b7765b17e6cccb28f23f9 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 14:32:00 +0000 Subject: [PATCH 006/145] plug mobile apps --- home-geektime.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-geektime.html b/home-geektime.html index 1c866178..4aaf2d1d 100644 --- a/home-geektime.html +++ b/home-geektime.html @@ -20,6 +20,10 @@ To get started, please join some chat rooms! To explore other rooms available on Matrix, click here: Room Directory

+

+Riot is also available on iOS and Android (Play Store and Fdroid Store) as a 100% native mobile app. +

+

To learn more about Matrix, head over to Matrix.org - and to better understand Riot, check out the official Riot Website.

From f911f0cfca1f2d2836bb39e13da7a44591149184 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Sun, 13 Nov 2016 20:18:19 +0000 Subject: [PATCH 007/145] geektime verbiage tweaks --- home-geektime.html | 20 ++++++++++++++---- .../views/rooms/RoomPreviewBar.css | 2 +- src/skins/vector/img/geektime/devfest.png | Bin 0 -> 92008 bytes 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 src/skins/vector/img/geektime/devfest.png diff --git a/home-geektime.html b/home-geektime.html index 4aaf2d1d..06bb603a 100644 --- a/home-geektime.html +++ b/home-geektime.html @@ -1,19 +1,29 @@

-Welcome to the GeekTime Techfest Riot! +Welcome to the Geektime Devfest 2016 Riot!

+

+This is where you can meet and chat with all the other attendees and speakers and ask them more questions following their sessions. +

+

To get started, please join some chat rooms!

@@ -25,5 +35,7 @@ Riot is also available on Matrix.org - and to better understand Riot, check out the official Riot Website. +Riot is built on Matrix - a new open protocol for interoperable and secure decentralised communication. +
+To learn more, head over to Matrix.org - and to better understand Riot, check out the official Riot Website.

diff --git a/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css b/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css index c1af5ace..d4ba4997 100644 --- a/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css +++ b/src/skins/vector/css/matrix-react-sdk/views/rooms/RoomPreviewBar.css @@ -18,7 +18,7 @@ limitations under the License. text-align: center; height: 176px; - background-color: #eeeeee; + background-color: #f7f7f7; -webkit-align-items: center; align-items: center; diff --git a/src/skins/vector/img/geektime/devfest.png b/src/skins/vector/img/geektime/devfest.png new file mode 100644 index 0000000000000000000000000000000000000000..1dfed09ab81717b7efd25b6757c24148b1cbc421 GIT binary patch literal 92008 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
  • sm*K7MbQ zrBORRK)%8If6*9_Zp4xArB{Fa%UEr!F7`JiM;P>Mu?+@$0 zSN Date: Mon, 14 Nov 2016 01:46:42 +0000 Subject: [PATCH 008/145] make logo scale --- home-geektime.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-geektime.html b/home-geektime.html index 06bb603a..3e7d793e 100644 --- a/home-geektime.html +++ b/home-geektime.html @@ -1,6 +1,6 @@ From 3155d79a7ea557bce4e6e17c6863e9b933cf03c3 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Thu, 17 Nov 2016 13:35:36 +0200 Subject: [PATCH 009/145] chatbot summit stuff --- home-chatbotsummit.html | 35 ++++++++++++++++++ .../vector/img/chatbotsummit/chatbot.png | Bin 0 -> 53720 bytes 2 files changed, 35 insertions(+) create mode 100644 home-chatbotsummit.html create mode 100644 src/skins/vector/img/chatbotsummit/chatbot.png diff --git a/home-chatbotsummit.html b/home-chatbotsummit.html new file mode 100644 index 00000000..a8af7a4a --- /dev/null +++ b/home-chatbotsummit.html @@ -0,0 +1,35 @@ + + +

    +Welcome to the Chatbot Summit Tel Aviv 2016 Riot! +

    + +

    +This is where you can meet and chat with all the other attendees and speakers and ask them more questions following their sessions. +

    + +

    +To get started, please join some chat rooms! +

    + + + +

    +To explore other rooms available on Matrix, click here: Room Directory +

    + +

    +Riot is also available on iOS and Android (Play Store and Fdroid Store) as a 100% native mobile app. +

    + +

    +Riot is built on Matrix - a new open protocol for interoperable and secure decentralised communication. +
    +To learn more, head over to Matrix.org - and to better understand Riot, check out the official Riot Website. +

    diff --git a/src/skins/vector/img/chatbotsummit/chatbot.png b/src/skins/vector/img/chatbotsummit/chatbot.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d5715f4cdd960a0984ae249cedceda0336d49a GIT binary patch literal 53720 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

    N>i$%YUR7Jp*<4#@~7AhL9Oh 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 literal 0 HcmV?d00001 From 9d034c77a5a226cbefd51a2faed35b750398d229 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Wed, 25 Jan 2017 17:27:07 +0000 Subject: [PATCH 010/145] Initial rageshake server --- scripts/rageshake.go | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 scripts/rageshake.go diff --git a/scripts/rageshake.go b/scripts/rageshake.go new file mode 100644 index 00000000..883dd4fa --- /dev/null +++ b/scripts/rageshake.go @@ -0,0 +1,53 @@ +// Run a web server capable of dumping bug reports sent by Riot. +// Requires Go 1.5+ +// Usage: go run rageshake.go PORT +// Example: go run rageshake.go 8080 +package main + +import ( + "encoding/json" + "fmt" + "log" + "net/http" + "os" +) + +type LogEntry struct { + ID string `json:"id"` + Lines string `json:"lines"` +} + +type Payload struct { + Text string `json:"text"` + Version string `json:"version"` + UserAgent string `json:"user_agent"` + Logs []LogEntry `json:"logs"` +} + +func main() { + http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { + if req.Method != "POST" && req.Method != "OPTIONS" { + w.WriteHeader(405) + return + } + // Set CORS + w.Header().Set("Access-Control-Allow-Origin", "*") + w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") + w.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") + if req.Method == "OPTIONS" { + return; + } + var p Payload + if err := json.NewDecoder(req.Body).Decode(&p); err != nil { + w.WriteHeader(400) + w.Write([]byte("Body is not JSON")) + return + } + // Dump bug report to disk + fmt.Println(p) + + }) + + port := os.Args[1] + log.Fatal(http.ListenAndServe(":"+port, nil)) +} From e8c51a0b543987ce416651c2b52a586eab07fb61 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 26 Jan 2017 11:28:38 +0000 Subject: [PATCH 011/145] gzip bug reports when storing on disk. Set max payload size --- scripts/rageshake.go | 70 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 14 deletions(-) diff --git a/scripts/rageshake.go b/scripts/rageshake.go index 883dd4fa..317b94ec 100644 --- a/scripts/rageshake.go +++ b/scripts/rageshake.go @@ -5,13 +5,19 @@ package main import ( + "bytes" + "compress/gzip" "encoding/json" - "fmt" + "io/ioutil" "log" "net/http" "os" + "strconv" + "time" ) +var maxPayloadSize = 1024 * 1024 * 55 // 55 MB + type LogEntry struct { ID string `json:"id"` Lines string `json:"lines"` @@ -24,28 +30,64 @@ type Payload struct { Logs []LogEntry `json:"logs"` } +func respond(code int, w http.ResponseWriter) { + w.WriteHeader(code) + w.Write([]byte("{}")) +} + +func gzipAndSave(data []byte, filepath string) error { + var b bytes.Buffer + gz := gzip.NewWriter(&b) + if _, err := gz.Write(data); err != nil { + return err + } + if err := gz.Flush(); err != nil { + return err + } + if err := gz.Close(); err != nil { + return err + } + if err := ioutil.WriteFile(filepath, b.Bytes(), 0644); err != nil { + return err + } + return nil +} + func main() { http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { if req.Method != "POST" && req.Method != "OPTIONS" { - w.WriteHeader(405) + respond(405, w) + return + } + // Set CORS + w.Header().Set("Access-Control-Allow-Origin", "*") + w.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS") + w.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") + if req.Method == "OPTIONS" { + respond(200, w) + return + } + if length, err := strconv.Atoi(req.Header.Get("Content-Length")); err != nil || length > maxPayloadSize { + respond(413, w) return } - // Set CORS - w.Header().Set("Access-Control-Allow-Origin", "*") - w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS") - w.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") - if req.Method == "OPTIONS" { - return; - } var p Payload if err := json.NewDecoder(req.Body).Decode(&p); err != nil { - w.WriteHeader(400) - w.Write([]byte("Body is not JSON")) + respond(400, w) return } - // Dump bug report to disk - fmt.Println(p) - + // Dump bug report to disk as form: + // "bugreport-20170115-112233.log.gz" => user text, version, user agent, # logs + // "bugreport-20170115-112233-0.log.gz" => most recent log + // "bugreport-20170115-112233-1.log.gz" => ... + // "bugreport-20170115-112233-N.log.gz" => oldest log + t := time.Now() + prefix := t.Format("bugreport-20060102-150405") + if err := gzipAndSave([]byte(p.Text), prefix+".log.gz"); err != nil { + respond(500, w) + return + } + respond(200, w) }) port := os.Args[1] From aae62ff94e79c4c5ba5f98f8f801a90529aaef4f Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 26 Jan 2017 11:44:07 +0000 Subject: [PATCH 012/145] store logs --- scripts/rageshake.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/rageshake.go b/scripts/rageshake.go index 317b94ec..6ffd1476 100644 --- a/scripts/rageshake.go +++ b/scripts/rageshake.go @@ -8,6 +8,7 @@ import ( "bytes" "compress/gzip" "encoding/json" + "fmt" "io/ioutil" "log" "net/http" @@ -83,10 +84,19 @@ func main() { // "bugreport-20170115-112233-N.log.gz" => oldest log t := time.Now() prefix := t.Format("bugreport-20060102-150405") - if err := gzipAndSave([]byte(p.Text), prefix+".log.gz"); err != nil { + summary := fmt.Sprintf( + "%s\n\nNumber of logs: %d\nVersion: %s\nUser-Agent: %s\n", p.Text, len(p.Logs), p.Version, p.UserAgent, + ) + if err := gzipAndSave([]byte(summary), prefix+".log.gz"); err != nil { respond(500, w) return } + for i, log := range p.Logs { + if err := gzipAndSave([]byte(log.Lines), fmt.Sprintf("%s-%d.log.gz", prefix, i)); err != nil { + respond(500, w) + return // TODO: Rollback? + } + } respond(200, w) }) From 6a40ad8a2073de4ae05f1b31cb9e3237ea776153 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 26 Jan 2017 11:57:56 +0000 Subject: [PATCH 013/145] Fail the request if we clash files Rather than make the file names incredibly long (by adding ms), just 500 it and expect the user to resend. --- scripts/rageshake.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/rageshake.go b/scripts/rageshake.go index 6ffd1476..51532890 100644 --- a/scripts/rageshake.go +++ b/scripts/rageshake.go @@ -37,6 +37,9 @@ func respond(code int, w http.ResponseWriter) { } func gzipAndSave(data []byte, filepath string) error { + if _, err := os.Stat(filepath); err == nil { + return fmt.Errorf("file already exists") // the user can just retry + } var b bytes.Buffer gz := gzip.NewWriter(&b) if _, err := gz.Write(data); err != nil { From 22bb0f9d309baddf395281d48897270d916fed82 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 26 Jan 2017 12:17:47 +0000 Subject: [PATCH 014/145] UTC please --- scripts/rageshake.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/rageshake.go b/scripts/rageshake.go index 51532890..ebf94e67 100644 --- a/scripts/rageshake.go +++ b/scripts/rageshake.go @@ -85,7 +85,7 @@ func main() { // "bugreport-20170115-112233-0.log.gz" => most recent log // "bugreport-20170115-112233-1.log.gz" => ... // "bugreport-20170115-112233-N.log.gz" => oldest log - t := time.Now() + t := time.Now().UTC() prefix := t.Format("bugreport-20060102-150405") summary := fmt.Sprintf( "%s\n\nNumber of logs: %d\nVersion: %s\nUser-Agent: %s\n", p.Text, len(p.Logs), p.Version, p.UserAgent, From 40609d7da3d55c14934df01e693dbe4d3917c813 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Wed, 1 Feb 2017 11:39:23 +0000 Subject: [PATCH 015/145] then->done --- src/components/structures/HomePage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js index 26bdf81e..ecf2f271 100644 --- a/src/components/structures/HomePage.js +++ b/src/components/structures/HomePage.js @@ -45,7 +45,7 @@ module.exports = React.createClass({ console.log(error); this.setState({ page: "Couldn't load home page" }); } - ).then( + ).done( (body)=>{ this.setState({ page: body }); } From 4a34bee2dc580cd244c6697729fcb88611bc5a7b Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 2 Feb 2017 11:12:43 +0000 Subject: [PATCH 016/145] Use localStorage `mx_team_token` to decide welcome page --- src/components/structures/BottomLeftMenu.js | 2 +- src/components/structures/HomePage.js | 29 ++----------------- src/skins/vector/css/_components.scss | 1 + .../{HomePage.css => _HomePage.scss} | 7 ++++- 4 files changed, 10 insertions(+), 29 deletions(-) rename src/skins/vector/css/vector-web/structures/{HomePage.css => _HomePage.scss} (91%) diff --git a/src/components/structures/BottomLeftMenu.js b/src/components/structures/BottomLeftMenu.js index 793f8405..162980f2 100644 --- a/src/components/structures/BottomLeftMenu.js +++ b/src/components/structures/BottomLeftMenu.js @@ -115,7 +115,7 @@ module.exports = React.createClass({ var TintableSvg = sdk.getComponent('elements.TintableSvg'); var homeButton; - if (SdkConfig.get().home_page) { + if (window.localStorage.getItem('mx_team_token')) { homeButton = (

    diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js index ecf2f271..67bf91bc 100644 --- a/src/components/structures/HomePage.js +++ b/src/components/structures/HomePage.js @@ -16,8 +16,6 @@ limitations under the License. 'use strict'; -import 'isomorphic-fetch'; - var React = require("react"); var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg'); var sdk = require('matrix-react-sdk'); @@ -26,40 +24,17 @@ module.exports = React.createClass({ displayName: 'HomePage', propTypes: { - config: React.PropTypes.object.isRequired, + teamToken: React.PropTypes.string.isRequired, collapsedRhs: React.PropTypes.bool, }, - getInitialState: function() { - return { - page: "" - }; - }, - - componentWillMount: function() { - fetch(this.props.config.home_page).then( - (response)=>{ - return response.text(); - }, - (error)=>{ - console.log(error); - this.setState({ page: "Couldn't load home page" }); - } - ).done( - (body)=>{ - this.setState({ page: body }); - } - ); - }, - render: function() { // const SimpleRoomHeader = sdk.getComponent('rooms.SimpleRoomHeader'); // return (
    -
    -
    +