aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/stale.yml2
-rw-r--r--CHANGELOG.md15
-rw-r--r--package-lock.json2
-rw-r--r--package.json2
-rw-r--r--src/components/services/content/ErrorHandlers/WebviewErrorHandler.js2
-rw-r--r--src/components/services/content/ErrorHandlers/styles.js6
-rw-r--r--src/components/services/content/ServiceWebview.js3
-rw-r--r--src/components/services/content/Services.js3
-rw-r--r--src/containers/layout/AppLayoutContainer.js1
-rw-r--r--src/models/Service.js2
-rw-r--r--src/stores/ServicesStore.js15
-rw-r--r--src/styles/layout.scss2
-rw-r--r--src/theme/dark/index.js3
-rw-r--r--src/theme/default/index.js3
14 files changed, 46 insertions, 15 deletions
diff --git a/.github/stale.yml b/.github/stale.yml
index 59a443d96..88f863d74 100644
--- a/.github/stale.yml
+++ b/.github/stale.yml
@@ -11,6 +11,8 @@ daysUntilClose: -1 # Close the issue almost immediately. See: https://github.com
11exemptLabels: 11exemptLabels:
12 - blocker 12 - blocker
13 - security 13 - security
14 - feature request
15 - bug
14 16
15# Label to use when marking an issue as stale 17# Label to use when marking an issue as stale
16staleLabel: "[Status] Stale" 18staleLabel: "[Status] Stale"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 480dd0f00..08fd79aaa 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,14 @@
1# [5.0.0-beta.24](https://github.com/meetfranz/franz/compare/v5.0.0-beta.23...v5.0.0-beta.24) (2019-02-03)
2
3
4### Bug Fixes
5
6* **Service:** Fix unnecessary webview resize / Slack scroll issue ([4b7d3e2](https://github.com/meetfranz/franz/commit/4b7d3e2))
7* **Service:** Improve focus when switching services ([d130f26](https://github.com/meetfranz/franz/commit/d130f26)), closes [#1255](https://github.com/meetfranz/franz/issues/1255)
8* **Service:** Fix dark mode in services ([d529410](https://github.com/meetfranz/franz/commit/d529410))
9
10
11
1# [5.0.0-beta.23](https://github.com/meetfranz/franz/compare/5.0.0-beta.20...5.0.0-beta.23) (2019-02-01) 12# [5.0.0-beta.23](https://github.com/meetfranz/franz/compare/5.0.0-beta.20...5.0.0-beta.23) (2019-02-01)
2 13
3### General 14### General
@@ -57,14 +68,18 @@
57 68
58### Features 69### Features
59 70
71* **Windows:** Add taskbar action to reset Franz window ([08fa75a](https://github.com/meetfranz/franz/commit/08fa75a))
60* **Context Menu:** Add "Go Back" and "Go Forward" ([5c18595](https://github.com/meetfranz/franz/commit/5c18595)) 72* **Context Menu:** Add "Go Back" and "Go Forward" ([5c18595](https://github.com/meetfranz/franz/commit/5c18595))
61* **Context Menu:** Add Lookup, Search Google for ([5d5aa0c](https://github.com/meetfranz/franz/commit/5d5aa0c)) 73* **Context Menu:** Add Lookup, Search Google for ([5d5aa0c](https://github.com/meetfranz/franz/commit/5d5aa0c))
74* **App:** Add `--devtools` command line arg to automatically open Dev Tools ([84fc3a0](https://github.com/meetfranz/franz/commit/84fc3a0))
62 75
63### Bug Fixes 76### Bug Fixes
64 77
65* **App:** Use system proxy for services ([8ddae4a](https://github.com/meetfranz/franz/commit/8ddae4a)) 78* **App:** Use system proxy for services ([8ddae4a](https://github.com/meetfranz/franz/commit/8ddae4a))
66* **App:** Fix service request url ([7751c17](https://github.com/meetfranz/franz/commit/7751c17)) 79* **App:** Fix service request url ([7751c17](https://github.com/meetfranz/franz/commit/7751c17))
80* **App:** Do not install App updates without user confirmation ([72fcaef](https://github.com/meetfranz/franz/commit/72fcaef))
67* **Windows:** Fix quit app, really! ([ca1d618](https://github.com/meetfranz/franz/commit/ca1d618)) 81* **Windows:** Fix quit app, really! ([ca1d618](https://github.com/meetfranz/franz/commit/ca1d618))
82* **Context Menu:** Fix empty context menu item ([18040d4](https://github.com/meetfranz/franz/commit/18040d4))
68 83
69 84
70<a name="5.0.0-beta.19"></a> 85<a name="5.0.0-beta.19"></a>
diff --git a/package-lock.json b/package-lock.json
index 50383111c..b665aef82 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
1{ 1{
2 "name": "franz", 2 "name": "franz",
3 "version": "5.0.0-beta.23", 3 "version": "5.0.0-beta.24",
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
diff --git a/package.json b/package.json
index 03267c136..17e1c2bc9 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
2 "name": "franz", 2 "name": "franz",
3 "productName": "Franz", 3 "productName": "Franz",
4 "appId": "com.meetfranz.franz", 4 "appId": "com.meetfranz.franz",
5 "version": "5.0.0-beta.23", 5 "version": "5.0.0-beta.24",
6 "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", 6 "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.",
7 "copyright": "adlk x franz - Stefan Malzner", 7 "copyright": "adlk x franz - Stefan Malzner",
8 "main": "index.js", 8 "main": "index.js",
diff --git a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
index 415a8d1b5..37ccc8e51 100644
--- a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
+++ b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js
@@ -31,7 +31,7 @@ const messages = defineMessages({
31 }, 31 },
32}); 32});
33 33
34export default @injectSheet(styles) @observer class WebviewCrashHandler extends Component { 34export default @injectSheet(styles) @observer class WebviewErrorHandler extends Component {
35 static propTypes = { 35 static propTypes = {
36 name: PropTypes.string.isRequired, 36 name: PropTypes.string.isRequired,
37 reload: PropTypes.func.isRequired, 37 reload: PropTypes.func.isRequired,
diff --git a/src/components/services/content/ErrorHandlers/styles.js b/src/components/services/content/ErrorHandlers/styles.js
index f11386798..9e2509ee5 100644
--- a/src/components/services/content/ErrorHandlers/styles.js
+++ b/src/components/services/content/ErrorHandlers/styles.js
@@ -1,4 +1,4 @@
1export default { 1export default theme => ({
2 component: { 2 component: {
3 left: 0, 3 left: 0,
4 position: 'absolute', 4 position: 'absolute',
@@ -6,7 +6,7 @@ export default {
6 width: '100%', 6 width: '100%',
7 zIndex: 0, 7 zIndex: 0,
8 alignItems: 'center', 8 alignItems: 'center',
9 // background: $theme-gray-lighter; 9 background: theme.colorWebviewErrorHandlerBackground,
10 display: 'flex', 10 display: 'flex',
11 flexDirection: 'column', 11 flexDirection: 'column',
12 justifyContent: 'center', 12 justifyContent: 'center',
@@ -22,4 +22,4 @@ export default {
22 margin: [0, 10, 0, 10], 22 margin: [0, 10, 0, 10],
23 }, 23 },
24 }, 24 },
25}; 25});
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js
index b1a2c0207..bb577e4cc 100644
--- a/src/components/services/content/ServiceWebview.js
+++ b/src/components/services/content/ServiceWebview.js
@@ -18,7 +18,6 @@ export default @observer class ServiceWebview extends Component {
18 setWebviewReference: PropTypes.func.isRequired, 18 setWebviewReference: PropTypes.func.isRequired,
19 reload: PropTypes.func.isRequired, 19 reload: PropTypes.func.isRequired,
20 edit: PropTypes.func.isRequired, 20 edit: PropTypes.func.isRequired,
21 isAppMuted: PropTypes.bool.isRequired,
22 enable: PropTypes.func.isRequired, 21 enable: PropTypes.func.isRequired,
23 isActive: PropTypes.bool, 22 isActive: PropTypes.bool,
24 }; 23 };
@@ -69,7 +68,6 @@ export default @observer class ServiceWebview extends Component {
69 setWebviewReference, 68 setWebviewReference,
70 reload, 69 reload,
71 edit, 70 edit,
72 isAppMuted,
73 enable, 71 enable,
74 } = this.props; 72 } = this.props;
75 73
@@ -137,7 +135,6 @@ export default @observer class ServiceWebview extends Component {
137 })} 135 })}
138 onUpdateTargetUrl={this.updateTargetUrl} 136 onUpdateTargetUrl={this.updateTargetUrl}
139 useragent={service.userAgent} 137 useragent={service.userAgent}
140 muted={isAppMuted || service.isMuted}
141 allowpopups 138 allowpopups
142 /> 139 />
143 )} 140 )}
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js
index 1aeb17e03..54f16ba12 100644
--- a/src/components/services/content/Services.js
+++ b/src/components/services/content/Services.js
@@ -26,7 +26,6 @@ export default @observer class Services extends Component {
26 openWindow: PropTypes.func.isRequired, 26 openWindow: PropTypes.func.isRequired,
27 reload: PropTypes.func.isRequired, 27 reload: PropTypes.func.isRequired,
28 openSettings: PropTypes.func.isRequired, 28 openSettings: PropTypes.func.isRequired,
29 isAppMuted: PropTypes.bool.isRequired,
30 update: PropTypes.func.isRequired, 29 update: PropTypes.func.isRequired,
31 }; 30 };
32 31
@@ -46,7 +45,6 @@ export default @observer class Services extends Component {
46 openWindow, 45 openWindow,
47 reload, 46 reload,
48 openSettings, 47 openSettings,
49 isAppMuted,
50 update, 48 update,
51 } = this.props; 49 } = this.props;
52 const { intl } = this.context; 50 const { intl } = this.context;
@@ -81,7 +79,6 @@ export default @observer class Services extends Component {
81 openWindow={openWindow} 79 openWindow={openWindow}
82 reload={() => reload({ serviceId: service.id })} 80 reload={() => reload({ serviceId: service.id })}
83 edit={() => openSettings({ path: `services/edit/${service.id}` })} 81 edit={() => openSettings({ path: `services/edit/${service.id}` })}
84 isAppMuted={isAppMuted}
85 enable={() => update({ 82 enable={() => update({
86 serviceId: service.id, 83 serviceId: service.id,
87 serviceData: { 84 serviceData: {
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 430b49b55..749912c59 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -108,7 +108,6 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e
108 openWindow={openWindow} 108 openWindow={openWindow}
109 reload={reload} 109 reload={reload}
110 openSettings={openSettings} 110 openSettings={openSettings}
111 isAppMuted={settings.all.app.isAppMuted}
112 update={updateService} 111 update={updateService}
113 /> 112 />
114 ); 113 );
diff --git a/src/models/Service.js b/src/models/Service.js
index 936f3a53f..8a2a8d3d8 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -15,7 +15,7 @@ export default class Service {
15 15
16 events = {}; 16 events = {};
17 17
18 isAttached = false; 18 @observable isAttached = false;
19 19
20 @observable isActive = false; // Is current webview active 20 @observable isActive = false; // Is current webview active
21 21
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 0ab57312a..efd57a09d 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -70,6 +70,7 @@ export default class ServicesStore extends Store {
70 this._mapActiveServiceToServiceModelReaction.bind(this), 70 this._mapActiveServiceToServiceModelReaction.bind(this),
71 this._saveActiveService.bind(this), 71 this._saveActiveService.bind(this),
72 this._logoutReaction.bind(this), 72 this._logoutReaction.bind(this),
73 this._handleMuteSettings.bind(this),
73 ]); 74 ]);
74 75
75 // Just bind this 76 // Just bind this
@@ -627,6 +628,20 @@ export default class ServicesStore extends Store {
627 } 628 }
628 } 629 }
629 630
631 _handleMuteSettings() {
632 const { enabled } = this;
633 const { isAppMuted } = this.stores.settings.app;
634
635 enabled.forEach((service) => {
636 const { isAttached } = service;
637 const isMuted = isAppMuted || service.isMuted;
638
639 if (isAttached) {
640 service.webview.setAudioMuted(isMuted);
641 }
642 });
643 }
644
630 _shareSettingsWithServiceProcess() { 645 _shareSettingsWithServiceProcess() {
631 const settings = this.stores.settings.app; 646 const settings = this.stores.settings.app;
632 this.actions.service.sendIPCMessageToAllServices({ 647 this.actions.service.sendIPCMessageToAllServices({
diff --git a/src/styles/layout.scss b/src/styles/layout.scss
index ebf468cf0..8b7cc512a 100644
--- a/src/styles/layout.scss
+++ b/src/styles/layout.scss
@@ -19,7 +19,7 @@ html { overflow: hidden; }
19 19
20 &:hover, 20 &:hover,
21 &:active { color: $dark-theme-gray-smoke; } 21 &:active { color: $dark-theme-gray-smoke; }
22 &.is-muted { color: $dark-theme-gray; } 22 &.is-muted { color: $theme-brand-primary; }
23 } 23 }
24 } 24 }
25 25
diff --git a/src/theme/dark/index.js b/src/theme/dark/index.js
index 429284f9e..8fdb321f3 100644
--- a/src/theme/dark/index.js
+++ b/src/theme/dark/index.js
@@ -8,6 +8,9 @@ export const colorBackgroundSubscriptionContainer = legacyStyles.themeBrandInfo;
8export const colorHeadline = legacyStyles.darkThemeTextColor; 8export const colorHeadline = legacyStyles.darkThemeTextColor;
9export const colorText = legacyStyles.darkThemeTextColor; 9export const colorText = legacyStyles.darkThemeTextColor;
10 10
11// Error Handler
12export const colorWebviewErrorHandlerBackground = legacyStyles.darkThemeGrayDarkest;
13
11// Loader 14// Loader
12export const colorFullscreenLoaderSpinner = '#FFF'; 15export const colorFullscreenLoaderSpinner = '#FFF';
13export const colorWebviewLoaderBackground = hexToRgba(legacyStyles.darkThemeGrayDarkest, 0.5); 16export const colorWebviewLoaderBackground = hexToRgba(legacyStyles.darkThemeGrayDarkest, 0.5);
diff --git a/src/theme/default/index.js b/src/theme/default/index.js
index 3ce8e7f0e..61410073d 100644
--- a/src/theme/default/index.js
+++ b/src/theme/default/index.js
@@ -23,6 +23,9 @@ export const colorSubscriptionContainerTitle = brandPrimary;
23export const colorSubscriptionContainerActionButtonBackground = brandPrimary; 23export const colorSubscriptionContainerActionButtonBackground = brandPrimary;
24export const colorSubscriptionContainerActionButtonColor = '#FFF'; 24export const colorSubscriptionContainerActionButtonColor = '#FFF';
25 25
26// Error Handler
27export const colorWebviewErrorHandlerBackground = legacyStyles.themeGrayLighter;
28
26// Loader 29// Loader
27export const colorAppLoaderSpinner = '#FFF'; 30export const colorAppLoaderSpinner = '#FFF';
28export const colorFullscreenLoaderSpinner = legacyStyles.themeGrayDark; 31export const colorFullscreenLoaderSpinner = legacyStyles.themeGrayDark;