From 40ba995950462e36edaa0ec6844322b65f42c1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Sat, 27 Oct 2018 16:31:31 +0200 Subject: [PATCH 1/9] Bump version to 0.8.0 --- bower.json | 2 +- index.html | 2 +- manifest.json | 2 +- manifest.webapp | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bower.json b/bower.json index 6ab68d1..4bd05c4 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "glowing-bear", "description": "A webclient for WeeChat", - "version": "0.7.0", + "version": "0.8.0", "homepage": "https://github.com/glowing-bear/glowing-bear", "license": "GPLv3", "private": true, diff --git a/index.html b/index.html index 23b329b..e0359d3 100644 --- a/index.html +++ b/index.html @@ -364,7 +364,7 @@ npm run build-electron-{windows, darwin, linux} From 606b0f1645b4e09880e14ec79fb3a08fc018559f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Sat, 27 Oct 2018 16:45:17 +0200 Subject: [PATCH 3/9] Remove more mentions of the app --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 30fce13..e8fe7de 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ You can run Glowing Bear in many ways: ## Screenshots -Running as Chrome application in a separate window on Windows and as Android app: +Running as Chrome application in a separate window on Windows and on Android: ![Glowing bear screenshot](https://4z2.de/glowingbear.png) @@ -40,7 +40,7 @@ Glowing Bear uses WeeChat directly as its backend through the relay plugin. This - *Can I use Glowing Bear to access a machine or port not exposed to the internet by passing the connection through my server?* No, that's not what Glowing Bear does. You can use a websocket proxy module for your webserver to forward `/weechat` to your WeeChat instance though. We've got instructions for setting this up [on our wiki](https://github.com/glowing-bear/glowing-bear/wiki/Proxying-WeeChat-relay-with-a-web-server). - *How does the encryption work?* TLS is used for securing the connection if you enable encryption. This is handled by your browser, and we have no influence on certificate handling, etc. You can find more detailed instructions on how to communicate securely in the "Getting Started" tab on the [landing page of our development version](https://latest.glowing-bear.org). -- *Can I make it so that there are no requests to third party servers at all?* Sure, you'll have to hide embeds by default (it's in the settings dialog), and download the JavaScript files for which we use a CDN by default. For the second step, you have two options: a) use the Android or Electron app, or b) run `npm run make-local` to download the files and apply a patch to use them instead of the CDN. But remember to re-run this command whenever you update Glowing Bear! +- *Can I make it so that there are no requests to third party servers at all?* Sure, you'll have to hide embeds by default (it's in the settings dialog), and download the JavaScript files for which we use a CDN by default. For the second step, you have two options: a) use the Electron app, or b) run `npm run make-local` to download the files and apply a patch to use them instead of the CDN. But remember to re-run this command whenever you update Glowing Bear! ## Development @@ -91,4 +91,4 @@ If you wish to submit code, we try to make the contribution process as simple as We'd also like to ask you to join our IRC channel, #glowing-bear on freenode, so we can discuss your ideas and changes. -If you're curious about the projects we're using, here's a list: [AngularJS](https://angularjs.org/), [Bootstrap](http://getbootstrap.com/), [Underscore](http://underscorejs.org/), [favico.js](http://lab.ejci.net/favico.js/), Emoji provided free by [Emoji One](http://emojione.com/), and [zlib.js](https://github.com/imaya/zlib.js). Technology-wise, [WebSockets](https://en.wikipedia.org/wiki/WebSocket) are the most important part, but we also use [local storage](https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#localStorage), the [Notification Web API](https://developer.mozilla.org/en/docs/Web/API/notification), and last (but not least) [Apache Cordova](https://cordova.apache.org/) for our mobile app. +If you're curious about the projects we're using, here's a list: [AngularJS](https://angularjs.org/), [Bootstrap](http://getbootstrap.com/), [Underscore](http://underscorejs.org/), [favico.js](http://lab.ejci.net/favico.js/), Emoji provided free by [Emoji One](http://emojione.com/), and [zlib.js](https://github.com/imaya/zlib.js). Technology-wise, [WebSockets](https://en.wikipedia.org/wiki/WebSocket) are the most important part, but we also use [local storage](https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage#localStorage), the [Notification Web API](https://developer.mozilla.org/en/docs/Web/API/notification), and last (but not least) [Apache Cordova](https://cordova.apache.org/) for our mobile app (currently unmaintained and unavailable). From 06f6b834c2615ec77677594b150f761e77ce8372 Mon Sep 17 00:00:00 2001 From: Daiyousei Date: Mon, 29 Oct 2018 19:59:51 +0100 Subject: [PATCH 4/9] Fix color issue in chan topic. --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index eb88f9f..751c7f7 100644 --- a/index.html +++ b/index.html @@ -541,7 +541,7 @@ npm run build-electron-{windows, darwin, linux} -
+
  • From 0a919f70fb6734f24b88f8c4a44ec5328b4d88a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Mon, 5 Nov 2018 16:02:56 +0100 Subject: [PATCH 6/9] Respect hotlist clearing setting on buffer switch & message send Fixes #1035 --- js/glowingbear.js | 2 +- js/inputbar.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/glowingbear.js b/js/glowingbear.js index b0a1093..32aed94 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -520,7 +520,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', // the messages in this buffer before you switched to the new one // this is only needed with new type of clearing since in the old // way WeeChat itself takes care of that part - if (models.version[0] >= 1) { + if (settings.hotlistsync && models.version[0] >= 1) { connection.sendHotlistClear(); } diff --git a/js/inputbar.js b/js/inputbar.js index 2d6054a..ceb2265 100644 --- a/js/inputbar.js +++ b/js/inputbar.js @@ -200,7 +200,7 @@ weechat.directive('inputBar', function() { } // New style clearing requires this, old does not - if (models.version[0] >= 1) { + if (settings.hotlistsync && models.version[0] >= 1) { connection.sendHotlistClear(); } From 352210df52245ef8cae0b960a42b6b61c3a261a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Mon, 5 Nov 2018 17:20:37 +0100 Subject: [PATCH 7/9] Disable periodic hotlist sync if read status sync is disabled This will cause weechat and Glowing Bear read status to drift apart but that's how it used to be before we added the periodic sync anyway, and properly fixing it would require maintaining *tons* of state, so that's life. --- js/connection.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/js/connection.js b/js/connection.js index 6cbcb39..3f0933d 100644 --- a/js/connection.js +++ b/js/connection.js @@ -4,10 +4,11 @@ var weechat = angular.module('weechat'); weechat.factory('connection', - ['$rootScope', '$log', 'handlers', 'models', 'ngWebsockets', function($rootScope, + ['$rootScope', '$log', 'handlers', 'models', 'settings', 'ngWebsockets', function($rootScope, $log, handlers, models, + settings, ngWebsockets) { var protocol = new weeChat.Protocol(); @@ -194,17 +195,19 @@ weechat.factory('connection', handlers.handleHotlistInfo(hotlist); }); - // Schedule hotlist syncing every so often so that this - // client will have unread counts (mostly) in sync with - // other clients or terminal usage directly. - setInterval(function() { - if ($rootScope.connected) { - _requestHotlist().then(function(hotlist) { - handlers.handleHotlistInfo(hotlist); - - }); - } - }, 60000); // Sync hotlist every 60 second + if (settings.hotlistsync) { + // Schedule hotlist syncing every so often so that this + // client will have unread counts (mostly) in sync with + // other clients or terminal usage directly. + setInterval(function() { + if ($rootScope.connected) { + _requestHotlist().then(function(hotlist) { + handlers.handleHotlistInfo(hotlist); + + }); + } + }, 60000); // Sync hotlist every 60 second + } // Fetch weechat time format for displaying timestamps From bf3e53820d5d9e4501d69efadd8ea5d26703de65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Mon, 5 Nov 2018 17:36:37 +0100 Subject: [PATCH 8/9] Fix nicklist not being affected by favorite font setting Fixes #1033 The alternative would be to just make the nicklist div `ng-show` instead of `ng-if` --- js/glowingbear.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/glowingbear.js b/js/glowingbear.js index b0a1093..21b7926 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -791,6 +791,13 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', return true; } $scope.showNicklist = true; + // hack: retrigger the favorite-font update mechanism when showing the + // nicklist because the div is ng-if=showNicklist instead of ng-show for + // performance reasons (especially on mobile) + $timeout(function() { + utils.changeClassStyle('favorite-font', 'fontFamily', settings.fontfamily); + utils.changeClassStyle('favorite-font', 'fontSize', settings.fontsize); + }, 0); return true; }; From 73cfbe327f2dc34aa31af2daa3ee4ed7336b0535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Thu, 8 Nov 2018 09:54:20 +0100 Subject: [PATCH 9/9] Electron: install bower devDependencies for electron build Fixes #1028 --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index bd57ce3..c700811 100644 --- a/package.json +++ b/package.json @@ -34,9 +34,9 @@ "protractor": "protractor test/protractor-conf.js", "premake-local": "bower install --dev", "make-local": "make -f electron.makefile uselocal", - "build-electron-windows": "make -f electron.makefile build-electron-windows", - "build-electron-darwin": "make -f electron.makefile build-electron-darwin", - "build-electron-linux": "make -f electron.makefile build-electron-linux", + "build-electron-windows": "make -f electron.makefile bower build-electron-windows", + "build-electron-darwin": "make -f electron.makefile bower build-electron-darwin", + "build-electron-linux": "make -f electron.makefile bower build-electron-linux", "update-index-async": "node -e \"require('shelljs/global'); sed('-i', /\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/, '//@@NG_LOADER_START@@\\n' + cat('app/bower_components/angular-loader/angular-loader.min.js') + '\\n//@@NG_LOADER_END@@', 'app/index-async.html');\"" } }