aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/components/settings/services/EditServiceForm.js4
-rw-r--r--src/components/settings/settings/EditSettingsForm.js16
-rw-r--r--src/config.js1
-rw-r--r--src/containers/settings/EditServiceScreen.js5
-rw-r--r--src/containers/settings/EditSettingsScreen.js8
-rw-r--r--src/i18n/globalMessages.js4
-rw-r--r--src/i18n/locales/defaultMessages.json197
-rw-r--r--src/i18n/locales/en-US.json1
-rw-r--r--src/i18n/messages/src/components/settings/settings/EditSettingsForm.json2
-rw-r--r--src/i18n/messages/src/containers/settings/EditSettingsScreen.json180
-rw-r--r--src/i18n/messages/src/i18n/globalMessages.json17
-rw-r--r--src/models/Service.js18
-rw-r--r--src/models/UserAgent.js35
-rw-r--r--src/stores/ServicesStore.js1
-rw-r--r--src/stores/SettingsStore.js16
-rw-r--r--src/styles/settings.scss3
16 files changed, 316 insertions, 192 deletions
diff --git a/src/components/settings/services/EditServiceForm.js b/src/components/settings/services/EditServiceForm.js
index 025a667db..1bbc1f1d4 100644
--- a/src/components/settings/services/EditServiceForm.js
+++ b/src/components/settings/services/EditServiceForm.js
@@ -454,6 +454,10 @@ export default @observer class EditServiceForm extends Component {
454 </div> 454 </div>
455 </PremiumFeatureContainer> 455 </PremiumFeatureContainer>
456 )} 456 )}
457
458 <div className="user-agent">
459 <Input field={form.$('userAgentPref')} />
460 </div>
457 </form> 461 </form>
458 462
459 {action === 'edit' && ( 463 {action === 'edit' && (
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index b7e007186..d31bb8933 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -141,7 +141,7 @@ const messages = defineMessages({
141 id: 'settings.app.currentVersion', 141 id: 'settings.app.currentVersion',
142 defaultMessage: '!!!Current version:', 142 defaultMessage: '!!!Current version:',
143 }, 143 },
144 enableGPUAccelerationInfo: { 144 appRestartRequired: {
145 id: 'settings.app.restartRequired', 145 id: 'settings.app.restartRequired',
146 defaultMessage: '!!!Changes require restart', 146 defaultMessage: '!!!Changes require restart',
147 }, 147 },
@@ -596,7 +596,19 @@ export default @observer class EditSettingsForm extends Component {
596 { this.state.activeSetttingsTab === 'advanced' && ( 596 { this.state.activeSetttingsTab === 'advanced' && (
597 <div> 597 <div>
598 <Toggle field={form.$('enableGPUAcceleration')} /> 598 <Toggle field={form.$('enableGPUAcceleration')} />
599 <p className="settings__help">{intl.formatMessage(messages.enableGPUAccelerationInfo)}</p> 599 <p className="settings__help">{intl.formatMessage(messages.appRestartRequired)}</p>
600
601 <Hr />
602
603 <Input
604 placeholder="User Agent"
605 onChange={e => this.submit(e)}
606 field={form.$('userAgentPref')}
607 />
608 <p className="settings__help">{intl.formatMessage(messages.appRestartRequired)}</p>
609
610 <Hr />
611
600 <div className="settings__settings-group"> 612 <div className="settings__settings-group">
601 <h3> 613 <h3>
602 {intl.formatMessage(messages.subheadlineCache)} 614 {intl.formatMessage(messages.subheadlineCache)}
diff --git a/src/config.js b/src/config.js
index c85228d07..27ac6be0b 100644
--- a/src/config.js
+++ b/src/config.js
@@ -164,6 +164,7 @@ export const DEFAULT_APP_SETTINGS = {
164 automaticUpdates: true, 164 automaticUpdates: true,
165 showServiceNavigationBar: false, 165 showServiceNavigationBar: false,
166 universalDarkMode: true, 166 universalDarkMode: true,
167 userAgentPref: '',
167 adaptableDarkMode: true, 168 adaptableDarkMode: true,
168 accentColor: DEFAULT_ACCENT_COLOR, 169 accentColor: DEFAULT_ACCENT_COLOR,
169 serviceRibbonWidth: 68, 170 serviceRibbonWidth: 68,
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index 9a200d734..77548bdcf 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -219,6 +219,11 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex
219 options: spellcheckerLanguage, 219 options: spellcheckerLanguage,
220 disabled: !stores.settings.app.enableSpellchecking, 220 disabled: !stores.settings.app.enableSpellchecking,
221 }, 221 },
222 userAgentPref: {
223 label: intl.formatMessage(globalMessages.userAgentPref),
224 placeholder: service.defaultUserAgent,
225 value: service.userAgentPref ? service.userAgentPref : '',
226 },
222 }, 227 },
223 }; 228 };
224 229
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index a5dc427ba..2b2d7277b 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -18,6 +18,7 @@ import { config as spellcheckerConfig } from '../../features/spellchecker';
18 18
19import { getSelectOptions } from '../../helpers/i18n-helpers'; 19import { getSelectOptions } from '../../helpers/i18n-helpers';
20import { hash } from '../../helpers/password-helpers'; 20import { hash } from '../../helpers/password-helpers';
21import defaultUserAgent from '../../helpers/userAgent-helpers';
21 22
22import EditSettingsForm from '../../components/settings/settings/EditSettingsForm'; 23import EditSettingsForm from '../../components/settings/settings/EditSettingsForm';
23import ErrorBoundary from '../../components/util/ErrorBoundary'; 24import ErrorBoundary from '../../components/util/ErrorBoundary';
@@ -283,6 +284,7 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
283 showDragArea: settingsData.showDragArea, 284 showDragArea: settingsData.showDragArea,
284 enableSpellchecking: settingsData.enableSpellchecking, 285 enableSpellchecking: settingsData.enableSpellchecking,
285 spellcheckerLanguage: settingsData.spellcheckerLanguage, 286 spellcheckerLanguage: settingsData.spellcheckerLanguage,
287 userAgentPref: settingsData.userAgentPref,
286 beta: settingsData.beta, // we need this info in the main process as well 288 beta: settingsData.beta, // we need this info in the main process as well
287 automaticUpdates: settingsData.automaticUpdates, // we need this info in the main process as well 289 automaticUpdates: settingsData.automaticUpdates, // we need this info in the main process as well
288 locale: settingsData.locale, // we need this info in the main process as well 290 locale: settingsData.locale, // we need this info in the main process as well
@@ -524,6 +526,12 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
524 options: spellcheckingLanguages, 526 options: spellcheckingLanguages,
525 default: DEFAULT_APP_SETTINGS.spellcheckerLanguage, 527 default: DEFAULT_APP_SETTINGS.spellcheckerLanguage,
526 }, 528 },
529 userAgentPref: {
530 label: intl.formatMessage(globalMessages.userAgentPref),
531 value: settings.all.app.userAgentPref,
532 default: DEFAULT_APP_SETTINGS.userAgentPref,
533 placeholder: defaultUserAgent(),
534 },
527 darkMode: { 535 darkMode: {
528 label: intl.formatMessage(messages.darkMode), 536 label: intl.formatMessage(messages.darkMode),
529 value: settings.all.app.darkMode, 537 value: settings.all.app.darkMode,
diff --git a/src/i18n/globalMessages.js b/src/i18n/globalMessages.js
index 86fb9e18d..cc1239199 100644
--- a/src/i18n/globalMessages.js
+++ b/src/i18n/globalMessages.js
@@ -25,6 +25,10 @@ export default defineMessages({
25 id: 'global.spellchecking.autodetect.short', 25 id: 'global.spellchecking.autodetect.short',
26 defaultMessage: '!!!Automatic', 26 defaultMessage: '!!!Automatic',
27 }, 27 },
28 userAgentPref: {
29 id: 'global.userAgentPref',
30 defaultMessage: '!!!User Agent',
31 },
28 proRequired: { 32 proRequired: {
29 id: 'global.franzProRequired', 33 id: 'global.franzProRequired',
30 defaultMessage: '!!!Franz Professional Required', 34 defaultMessage: '!!!Franz Professional Required',
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index b8ea986ce..5fd5d6ff2 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -4902,585 +4902,585 @@
4902 "defaultMessage": "!!!Launch Ferdi on start", 4902 "defaultMessage": "!!!Launch Ferdi on start",
4903 "end": { 4903 "end": {
4904 "column": 3, 4904 "column": 3,
4905 "line": 34 4905 "line": 35
4906 }, 4906 },
4907 "file": "src/containers/settings/EditSettingsScreen.js", 4907 "file": "src/containers/settings/EditSettingsScreen.js",
4908 "id": "settings.app.form.autoLaunchOnStart", 4908 "id": "settings.app.form.autoLaunchOnStart",
4909 "start": { 4909 "start": {
4910 "column": 21, 4910 "column": 21,
4911 "line": 31 4911 "line": 32
4912 } 4912 }
4913 }, 4913 },
4914 { 4914 {
4915 "defaultMessage": "!!!Open in background", 4915 "defaultMessage": "!!!Open in background",
4916 "end": { 4916 "end": {
4917 "column": 3, 4917 "column": 3,
4918 "line": 38 4918 "line": 39
4919 }, 4919 },
4920 "file": "src/containers/settings/EditSettingsScreen.js", 4920 "file": "src/containers/settings/EditSettingsScreen.js",
4921 "id": "settings.app.form.autoLaunchInBackground", 4921 "id": "settings.app.form.autoLaunchInBackground",
4922 "start": { 4922 "start": {
4923 "column": 26, 4923 "column": 26,
4924 "line": 35 4924 "line": 36
4925 } 4925 }
4926 }, 4926 },
4927 { 4927 {
4928 "defaultMessage": "!!!Keep Ferdi in background when closing the window", 4928 "defaultMessage": "!!!Keep Ferdi in background when closing the window",
4929 "end": { 4929 "end": {
4930 "column": 3, 4930 "column": 3,
4931 "line": 42 4931 "line": 43
4932 }, 4932 },
4933 "file": "src/containers/settings/EditSettingsScreen.js", 4933 "file": "src/containers/settings/EditSettingsScreen.js",
4934 "id": "settings.app.form.runInBackground", 4934 "id": "settings.app.form.runInBackground",
4935 "start": { 4935 "start": {
4936 "column": 19, 4936 "column": 19,
4937 "line": 39 4937 "line": 40
4938 } 4938 }
4939 }, 4939 },
4940 { 4940 {
4941 "defaultMessage": "!!!Start minimized", 4941 "defaultMessage": "!!!Start minimized",
4942 "end": { 4942 "end": {
4943 "column": 3, 4943 "column": 3,
4944 "line": 46 4944 "line": 47
4945 }, 4945 },
4946 "file": "src/containers/settings/EditSettingsScreen.js", 4946 "file": "src/containers/settings/EditSettingsScreen.js",
4947 "id": "settings.app.form.startMinimized", 4947 "id": "settings.app.form.startMinimized",
4948 "start": { 4948 "start": {
4949 "column": 18, 4949 "column": 18,
4950 "line": 43 4950 "line": 44
4951 } 4951 }
4952 }, 4952 },
4953 { 4953 {
4954 "defaultMessage": "!!!Always show Ferdi in System Tray", 4954 "defaultMessage": "!!!Always show Ferdi in System Tray",
4955 "end": { 4955 "end": {
4956 "column": 3, 4956 "column": 3,
4957 "line": 50 4957 "line": 51
4958 }, 4958 },
4959 "file": "src/containers/settings/EditSettingsScreen.js", 4959 "file": "src/containers/settings/EditSettingsScreen.js",
4960 "id": "settings.app.form.enableSystemTray", 4960 "id": "settings.app.form.enableSystemTray",
4961 "start": { 4961 "start": {
4962 "column": 20, 4962 "column": 20,
4963 "line": 47 4963 "line": 48
4964 } 4964 }
4965 }, 4965 },
4966 { 4966 {
4967 "defaultMessage": "!!!Always show Ferdi in Menu Bar", 4967 "defaultMessage": "!!!Always show Ferdi in Menu Bar",
4968 "end": { 4968 "end": {
4969 "column": 3, 4969 "column": 3,
4970 "line": 54 4970 "line": 55
4971 }, 4971 },
4972 "file": "src/containers/settings/EditSettingsScreen.js", 4972 "file": "src/containers/settings/EditSettingsScreen.js",
4973 "id": "settings.app.form.enableMenuBar", 4973 "id": "settings.app.form.enableMenuBar",
4974 "start": { 4974 "start": {
4975 "column": 17, 4975 "column": 17,
4976 "line": 51 4976 "line": 52
4977 } 4977 }
4978 }, 4978 },
4979 { 4979 {
4980 "defaultMessage": "!!!Reload Ferdi after system resume", 4980 "defaultMessage": "!!!Reload Ferdi after system resume",
4981 "end": { 4981 "end": {
4982 "column": 3, 4982 "column": 3,
4983 "line": 58 4983 "line": 59
4984 }, 4984 },
4985 "file": "src/containers/settings/EditSettingsScreen.js", 4985 "file": "src/containers/settings/EditSettingsScreen.js",
4986 "id": "settings.app.form.reloadAfterResume", 4986 "id": "settings.app.form.reloadAfterResume",
4987 "start": { 4987 "start": {
4988 "column": 21, 4988 "column": 21,
4989 "line": 55 4989 "line": 56
4990 } 4990 }
4991 }, 4991 },
4992 { 4992 {
4993 "defaultMessage": "!!!Minimize Ferdi to system tray", 4993 "defaultMessage": "!!!Minimize Ferdi to system tray",
4994 "end": { 4994 "end": {
4995 "column": 3, 4995 "column": 3,
4996 "line": 62 4996 "line": 63
4997 }, 4997 },
4998 "file": "src/containers/settings/EditSettingsScreen.js", 4998 "file": "src/containers/settings/EditSettingsScreen.js",
4999 "id": "settings.app.form.minimizeToSystemTray", 4999 "id": "settings.app.form.minimizeToSystemTray",
5000 "start": { 5000 "start": {
5001 "column": 24, 5001 "column": 24,
5002 "line": 59 5002 "line": 60
5003 } 5003 }
5004 }, 5004 },
5005 { 5005 {
5006 "defaultMessage": "!!!Close Ferdi to system tray", 5006 "defaultMessage": "!!!Close Ferdi to system tray",
5007 "end": { 5007 "end": {
5008 "column": 3, 5008 "column": 3,
5009 "line": 66 5009 "line": 67
5010 }, 5010 },
5011 "file": "src/containers/settings/EditSettingsScreen.js", 5011 "file": "src/containers/settings/EditSettingsScreen.js",
5012 "id": "settings.app.form.closeToSystemTray", 5012 "id": "settings.app.form.closeToSystemTray",
5013 "start": { 5013 "start": {
5014 "column": 21, 5014 "column": 21,
5015 "line": 63 5015 "line": 64
5016 } 5016 }
5017 }, 5017 },
5018 { 5018 {
5019 "defaultMessage": "!!!Don't show message content in notifications", 5019 "defaultMessage": "!!!Don't show message content in notifications",
5020 "end": { 5020 "end": {
5021 "column": 3, 5021 "column": 3,
5022 "line": 70 5022 "line": 71
5023 }, 5023 },
5024 "file": "src/containers/settings/EditSettingsScreen.js", 5024 "file": "src/containers/settings/EditSettingsScreen.js",
5025 "id": "settings.app.form.privateNotifications", 5025 "id": "settings.app.form.privateNotifications",
5026 "start": { 5026 "start": {
5027 "column": 24, 5027 "column": 24,
5028 "line": 67 5028 "line": 68
5029 } 5029 }
5030 }, 5030 },
5031 { 5031 {
5032 "defaultMessage": "!!!Don't show notifications for clipboard events", 5032 "defaultMessage": "!!!Don't show notifications for clipboard events",
5033 "end": { 5033 "end": {
5034 "column": 3, 5034 "column": 3,
5035 "line": 74 5035 "line": 75
5036 }, 5036 },
5037 "file": "src/containers/settings/EditSettingsScreen.js", 5037 "file": "src/containers/settings/EditSettingsScreen.js",
5038 "id": "settings.app.form.clipboardNotifications", 5038 "id": "settings.app.form.clipboardNotifications",
5039 "start": { 5039 "start": {
5040 "column": 26, 5040 "column": 26,
5041 "line": 71 5041 "line": 72
5042 } 5042 }
5043 }, 5043 },
5044 { 5044 {
5045 "defaultMessage": "!!!Notify TaskBar/Dock on new message", 5045 "defaultMessage": "!!!Notify TaskBar/Dock on new message",
5046 "end": { 5046 "end": {
5047 "column": 3, 5047 "column": 3,
5048 "line": 78 5048 "line": 79
5049 }, 5049 },
5050 "file": "src/containers/settings/EditSettingsScreen.js", 5050 "file": "src/containers/settings/EditSettingsScreen.js",
5051 "id": "settings.app.form.notifyTaskBarOnMessage", 5051 "id": "settings.app.form.notifyTaskBarOnMessage",
5052 "start": { 5052 "start": {
5053 "column": 26, 5053 "column": 26,
5054 "line": 75 5054 "line": 76
5055 } 5055 }
5056 }, 5056 },
5057 { 5057 {
5058 "defaultMessage": "!!!Navigation bar behaviour", 5058 "defaultMessage": "!!!Navigation bar behaviour",
5059 "end": { 5059 "end": {
5060 "column": 3, 5060 "column": 3,
5061 "line": 82 5061 "line": 83
5062 }, 5062 },
5063 "file": "src/containers/settings/EditSettingsScreen.js", 5063 "file": "src/containers/settings/EditSettingsScreen.js",
5064 "id": "settings.app.form.navigationBarBehaviour", 5064 "id": "settings.app.form.navigationBarBehaviour",
5065 "start": { 5065 "start": {
5066 "column": 26, 5066 "column": 26,
5067 "line": 79 5067 "line": 80
5068 } 5068 }
5069 }, 5069 },
5070 { 5070 {
5071 "defaultMessage": "!!!Search engine", 5071 "defaultMessage": "!!!Search engine",
5072 "end": { 5072 "end": {
5073 "column": 3, 5073 "column": 3,
5074 "line": 86 5074 "line": 87
5075 }, 5075 },
5076 "file": "src/containers/settings/EditSettingsScreen.js", 5076 "file": "src/containers/settings/EditSettingsScreen.js",
5077 "id": "settings.app.form.searchEngine", 5077 "id": "settings.app.form.searchEngine",
5078 "start": { 5078 "start": {
5079 "column": 16, 5079 "column": 16,
5080 "line": 83 5080 "line": 84
5081 } 5081 }
5082 }, 5082 },
5083 { 5083 {
5084 "defaultMessage": "!!!Send telemetry data", 5084 "defaultMessage": "!!!Send telemetry data",
5085 "end": { 5085 "end": {
5086 "column": 3, 5086 "column": 3,
5087 "line": 90 5087 "line": 91
5088 }, 5088 },
5089 "file": "src/containers/settings/EditSettingsScreen.js", 5089 "file": "src/containers/settings/EditSettingsScreen.js",
5090 "id": "settings.app.form.sentry", 5090 "id": "settings.app.form.sentry",
5091 "start": { 5091 "start": {
5092 "column": 10, 5092 "column": 10,
5093 "line": 87 5093 "line": 88
5094 } 5094 }
5095 }, 5095 },
5096 { 5096 {
5097 "defaultMessage": "!!!Enable service hibernation", 5097 "defaultMessage": "!!!Enable service hibernation",
5098 "end": { 5098 "end": {
5099 "column": 3, 5099 "column": 3,
5100 "line": 94 5100 "line": 95
5101 }, 5101 },
5102 "file": "src/containers/settings/EditSettingsScreen.js", 5102 "file": "src/containers/settings/EditSettingsScreen.js",
5103 "id": "settings.app.form.hibernate", 5103 "id": "settings.app.form.hibernate",
5104 "start": { 5104 "start": {
5105 "column": 13, 5105 "column": 13,
5106 "line": 91 5106 "line": 92
5107 } 5107 }
5108 }, 5108 },
5109 { 5109 {
5110 "defaultMessage": "!!!Keep services in hibernation on startup", 5110 "defaultMessage": "!!!Keep services in hibernation on startup",
5111 "end": { 5111 "end": {
5112 "column": 3, 5112 "column": 3,
5113 "line": 98 5113 "line": 99
5114 }, 5114 },
5115 "file": "src/containers/settings/EditSettingsScreen.js", 5115 "file": "src/containers/settings/EditSettingsScreen.js",
5116 "id": "settings.app.form.hibernateOnStartup", 5116 "id": "settings.app.form.hibernateOnStartup",
5117 "start": { 5117 "start": {
5118 "column": 22, 5118 "column": 22,
5119 "line": 95 5119 "line": 96
5120 } 5120 }
5121 }, 5121 },
5122 { 5122 {
5123 "defaultMessage": "!!!Hibernation strategy", 5123 "defaultMessage": "!!!Hibernation strategy",
5124 "end": { 5124 "end": {
5125 "column": 3, 5125 "column": 3,
5126 "line": 102 5126 "line": 103
5127 }, 5127 },
5128 "file": "src/containers/settings/EditSettingsScreen.js", 5128 "file": "src/containers/settings/EditSettingsScreen.js",
5129 "id": "settings.app.form.hibernationStrategy", 5129 "id": "settings.app.form.hibernationStrategy",
5130 "start": { 5130 "start": {
5131 "column": 23, 5131 "column": 23,
5132 "line": 99 5132 "line": 100
5133 } 5133 }
5134 }, 5134 },
5135 { 5135 {
5136 "defaultMessage": "!!!Todo Server", 5136 "defaultMessage": "!!!Todo Server",
5137 "end": { 5137 "end": {
5138 "column": 3, 5138 "column": 3,
5139 "line": 106 5139 "line": 107
5140 }, 5140 },
5141 "file": "src/containers/settings/EditSettingsScreen.js", 5141 "file": "src/containers/settings/EditSettingsScreen.js",
5142 "id": "settings.app.form.predefinedTodoServer", 5142 "id": "settings.app.form.predefinedTodoServer",
5143 "start": { 5143 "start": {
5144 "column": 24, 5144 "column": 24,
5145 "line": 103 5145 "line": 104
5146 } 5146 }
5147 }, 5147 },
5148 { 5148 {
5149 "defaultMessage": "!!!Custom TodoServer", 5149 "defaultMessage": "!!!Custom TodoServer",
5150 "end": { 5150 "end": {
5151 "column": 3, 5151 "column": 3,
5152 "line": 110 5152 "line": 111
5153 }, 5153 },
5154 "file": "src/containers/settings/EditSettingsScreen.js", 5154 "file": "src/containers/settings/EditSettingsScreen.js",
5155 "id": "settings.app.form.customTodoServer", 5155 "id": "settings.app.form.customTodoServer",
5156 "start": { 5156 "start": {
5157 "column": 20, 5157 "column": 20,
5158 "line": 107 5158 "line": 108
5159 } 5159 }
5160 }, 5160 },
5161 { 5161 {
5162 "defaultMessage": "!!!Enable Password Lock", 5162 "defaultMessage": "!!!Enable Password Lock",
5163 "end": { 5163 "end": {
5164 "column": 3, 5164 "column": 3,
5165 "line": 114 5165 "line": 115
5166 }, 5166 },
5167 "file": "src/containers/settings/EditSettingsScreen.js", 5167 "file": "src/containers/settings/EditSettingsScreen.js",
5168 "id": "settings.app.form.enableLock", 5168 "id": "settings.app.form.enableLock",
5169 "start": { 5169 "start": {
5170 "column": 14, 5170 "column": 14,
5171 "line": 111 5171 "line": 112
5172 } 5172 }
5173 }, 5173 },
5174 { 5174 {
5175 "defaultMessage": "!!!Password", 5175 "defaultMessage": "!!!Password",
5176 "end": { 5176 "end": {
5177 "column": 3, 5177 "column": 3,
5178 "line": 118 5178 "line": 119
5179 }, 5179 },
5180 "file": "src/containers/settings/EditSettingsScreen.js", 5180 "file": "src/containers/settings/EditSettingsScreen.js",
5181 "id": "settings.app.form.lockPassword", 5181 "id": "settings.app.form.lockPassword",
5182 "start": { 5182 "start": {
5183 "column": 16, 5183 "column": 16,
5184 "line": 115 5184 "line": 116
5185 } 5185 }
5186 }, 5186 },
5187 { 5187 {
5188 "defaultMessage": "!!!Allow using Touch ID to unlock", 5188 "defaultMessage": "!!!Allow using Touch ID to unlock",
5189 "end": { 5189 "end": {
5190 "column": 3, 5190 "column": 3,
5191 "line": 122 5191 "line": 123
5192 }, 5192 },
5193 "file": "src/containers/settings/EditSettingsScreen.js", 5193 "file": "src/containers/settings/EditSettingsScreen.js",
5194 "id": "settings.app.form.useTouchIdToUnlock", 5194 "id": "settings.app.form.useTouchIdToUnlock",
5195 "start": { 5195 "start": {
5196 "column": 22, 5196 "column": 22,
5197 "line": 119 5197 "line": 120
5198 } 5198 }
5199 }, 5199 },
5200 { 5200 {
5201 "defaultMessage": "!!!Lock after inactivity", 5201 "defaultMessage": "!!!Lock after inactivity",
5202 "end": { 5202 "end": {
5203 "column": 3, 5203 "column": 3,
5204 "line": 126 5204 "line": 127
5205 }, 5205 },
5206 "file": "src/containers/settings/EditSettingsScreen.js", 5206 "file": "src/containers/settings/EditSettingsScreen.js",
5207 "id": "settings.app.form.inactivityLock", 5207 "id": "settings.app.form.inactivityLock",
5208 "start": { 5208 "start": {
5209 "column": 18, 5209 "column": 18,
5210 "line": 123 5210 "line": 124
5211 } 5211 }
5212 }, 5212 },
5213 { 5213 {
5214 "defaultMessage": "!!!Enable scheduled Do-not-Disturb", 5214 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
5215 "end": { 5215 "end": {
5216 "column": 3, 5216 "column": 3,
5217 "line": 130 5217 "line": 131
5218 }, 5218 },
5219 "file": "src/containers/settings/EditSettingsScreen.js", 5219 "file": "src/containers/settings/EditSettingsScreen.js",
5220 "id": "settings.app.form.scheduledDNDEnabled", 5220 "id": "settings.app.form.scheduledDNDEnabled",
5221 "start": { 5221 "start": {
5222 "column": 23, 5222 "column": 23,
5223 "line": 127 5223 "line": 128
5224 } 5224 }
5225 }, 5225 },
5226 { 5226 {
5227 "defaultMessage": "!!!From", 5227 "defaultMessage": "!!!From",
5228 "end": { 5228 "end": {
5229 "column": 3, 5229 "column": 3,
5230 "line": 134 5230 "line": 135
5231 }, 5231 },
5232 "file": "src/containers/settings/EditSettingsScreen.js", 5232 "file": "src/containers/settings/EditSettingsScreen.js",
5233 "id": "settings.app.form.scheduledDNDStart", 5233 "id": "settings.app.form.scheduledDNDStart",
5234 "start": { 5234 "start": {
5235 "column": 21, 5235 "column": 21,
5236 "line": 131 5236 "line": 132
5237 } 5237 }
5238 }, 5238 },
5239 { 5239 {
5240 "defaultMessage": "!!!To", 5240 "defaultMessage": "!!!To",
5241 "end": { 5241 "end": {
5242 "column": 3, 5242 "column": 3,
5243 "line": 138 5243 "line": 139
5244 }, 5244 },
5245 "file": "src/containers/settings/EditSettingsScreen.js", 5245 "file": "src/containers/settings/EditSettingsScreen.js",
5246 "id": "settings.app.form.scheduledDNDEnd", 5246 "id": "settings.app.form.scheduledDNDEnd",
5247 "start": { 5247 "start": {
5248 "column": 19, 5248 "column": 19,
5249 "line": 135 5249 "line": 136
5250 } 5250 }
5251 }, 5251 },
5252 { 5252 {
5253 "defaultMessage": "!!!Language", 5253 "defaultMessage": "!!!Language",
5254 "end": { 5254 "end": {
5255 "column": 3, 5255 "column": 3,
5256 "line": 142 5256 "line": 143
5257 }, 5257 },
5258 "file": "src/containers/settings/EditSettingsScreen.js", 5258 "file": "src/containers/settings/EditSettingsScreen.js",
5259 "id": "settings.app.form.language", 5259 "id": "settings.app.form.language",
5260 "start": { 5260 "start": {
5261 "column": 12, 5261 "column": 12,
5262 "line": 139 5262 "line": 140
5263 } 5263 }
5264 }, 5264 },
5265 { 5265 {
5266 "defaultMessage": "!!!Dark Mode", 5266 "defaultMessage": "!!!Dark Mode",
5267 "end": { 5267 "end": {
5268 "column": 3, 5268 "column": 3,
5269 "line": 146 5269 "line": 147
5270 }, 5270 },
5271 "file": "src/containers/settings/EditSettingsScreen.js", 5271 "file": "src/containers/settings/EditSettingsScreen.js",
5272 "id": "settings.app.form.darkMode", 5272 "id": "settings.app.form.darkMode",
5273 "start": { 5273 "start": {
5274 "column": 12, 5274 "column": 12,
5275 "line": 143 5275 "line": 144
5276 } 5276 }
5277 }, 5277 },
5278 { 5278 {
5279 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting", 5279 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting",
5280 "end": { 5280 "end": {
5281 "column": 3, 5281 "column": 3,
5282 "line": 150 5282 "line": 151
5283 }, 5283 },
5284 "file": "src/containers/settings/EditSettingsScreen.js", 5284 "file": "src/containers/settings/EditSettingsScreen.js",
5285 "id": "settings.app.form.adaptableDarkMode", 5285 "id": "settings.app.form.adaptableDarkMode",
5286 "start": { 5286 "start": {
5287 "column": 21, 5287 "column": 21,
5288 "line": 147 5288 "line": 148
5289 } 5289 }
5290 }, 5290 },
5291 { 5291 {
5292 "defaultMessage": "!!!Enable universal Dark Mode", 5292 "defaultMessage": "!!!Enable universal Dark Mode",
5293 "end": { 5293 "end": {
5294 "column": 3, 5294 "column": 3,
5295 "line": 154 5295 "line": 155
5296 }, 5296 },
5297 "file": "src/containers/settings/EditSettingsScreen.js", 5297 "file": "src/containers/settings/EditSettingsScreen.js",
5298 "id": "settings.app.form.universalDarkMode", 5298 "id": "settings.app.form.universalDarkMode",
5299 "start": { 5299 "start": {
5300 "column": 21, 5300 "column": 21,
5301 "line": 151 5301 "line": 152
5302 } 5302 }
5303 }, 5303 },
5304 { 5304 {
5305 "defaultMessage": "!!!Sidebar width", 5305 "defaultMessage": "!!!Sidebar width",
5306 "end": { 5306 "end": {
5307 "column": 3, 5307 "column": 3,
5308 "line": 158 5308 "line": 159
5309 }, 5309 },
5310 "file": "src/containers/settings/EditSettingsScreen.js", 5310 "file": "src/containers/settings/EditSettingsScreen.js",
5311 "id": "settings.app.form.serviceRibbonWidth", 5311 "id": "settings.app.form.serviceRibbonWidth",
5312 "start": { 5312 "start": {
5313 "column": 22, 5313 "column": 22,
5314 "line": 155 5314 "line": 156
5315 } 5315 }
5316 }, 5316 },
5317 { 5317 {
5318 "defaultMessage": "!!!Service icon size", 5318 "defaultMessage": "!!!Service icon size",
5319 "end": { 5319 "end": {
5320 "column": 3, 5320 "column": 3,
5321 "line": 162 5321 "line": 163
5322 }, 5322 },
5323 "file": "src/containers/settings/EditSettingsScreen.js", 5323 "file": "src/containers/settings/EditSettingsScreen.js",
5324 "id": "settings.app.form.iconSize", 5324 "id": "settings.app.form.iconSize",
5325 "start": { 5325 "start": {
5326 "column": 12, 5326 "column": 12,
5327 "line": 159 5327 "line": 160
5328 } 5328 }
5329 }, 5329 },
5330 { 5330 {
5331 "defaultMessage": "!!!Use vertical style", 5331 "defaultMessage": "!!!Use vertical style",
5332 "end": { 5332 "end": {
5333 "column": 3, 5333 "column": 3,
5334 "line": 166 5334 "line": 167
5335 }, 5335 },
5336 "file": "src/containers/settings/EditSettingsScreen.js", 5336 "file": "src/containers/settings/EditSettingsScreen.js",
5337 "id": "settings.app.form.useVerticalStyle", 5337 "id": "settings.app.form.useVerticalStyle",
5338 "start": { 5338 "start": {
5339 "column": 20, 5339 "column": 20,
5340 "line": 163 5340 "line": 164
5341 } 5341 }
5342 }, 5342 },
5343 { 5343 {
5344 "defaultMessage": "!!!Always show workspace drawer", 5344 "defaultMessage": "!!!Always show workspace drawer",
5345 "end": { 5345 "end": {
5346 "column": 3, 5346 "column": 3,
5347 "line": 170 5347 "line": 171
5348 }, 5348 },
5349 "file": "src/containers/settings/EditSettingsScreen.js", 5349 "file": "src/containers/settings/EditSettingsScreen.js",
5350 "id": "settings.app.form.alwaysShowWorkspaces", 5350 "id": "settings.app.form.alwaysShowWorkspaces",
5351 "start": { 5351 "start": {
5352 "column": 24, 5352 "column": 24,
5353 "line": 167 5353 "line": 168
5354 } 5354 }
5355 }, 5355 },
5356 { 5356 {
5357 "defaultMessage": "!!!Accent color", 5357 "defaultMessage": "!!!Accent color",
5358 "end": { 5358 "end": {
5359 "column": 3, 5359 "column": 3,
5360 "line": 174 5360 "line": 175
5361 }, 5361 },
5362 "file": "src/containers/settings/EditSettingsScreen.js", 5362 "file": "src/containers/settings/EditSettingsScreen.js",
5363 "id": "settings.app.form.accentColor", 5363 "id": "settings.app.form.accentColor",
5364 "start": { 5364 "start": {
5365 "column": 15, 5365 "column": 15,
5366 "line": 171 5366 "line": 172
5367 } 5367 }
5368 }, 5368 },
5369 { 5369 {
5370 "defaultMessage": "!!!Display disabled services tabs", 5370 "defaultMessage": "!!!Display disabled services tabs",
5371 "end": { 5371 "end": {
5372 "column": 3, 5372 "column": 3,
5373 "line": 178 5373 "line": 179
5374 }, 5374 },
5375 "file": "src/containers/settings/EditSettingsScreen.js", 5375 "file": "src/containers/settings/EditSettingsScreen.js",
5376 "id": "settings.app.form.showDisabledServices", 5376 "id": "settings.app.form.showDisabledServices",
5377 "start": { 5377 "start": {
5378 "column": 24, 5378 "column": 24,
5379 "line": 175 5379 "line": 176
5380 } 5380 }
5381 }, 5381 },
5382 { 5382 {
5383 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 5383 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
5384 "end": { 5384 "end": {
5385 "column": 3, 5385 "column": 3,
5386 "line": 182 5386 "line": 183
5387 }, 5387 },
5388 "file": "src/containers/settings/EditSettingsScreen.js", 5388 "file": "src/containers/settings/EditSettingsScreen.js",
5389 "id": "settings.app.form.showMessagesBadgesWhenMuted", 5389 "id": "settings.app.form.showMessagesBadgesWhenMuted",
5390 "start": { 5390 "start": {
5391 "column": 29, 5391 "column": 29,
5392 "line": 179 5392 "line": 180
5393 } 5393 }
5394 }, 5394 },
5395 { 5395 {
5396 "defaultMessage": "!!!Show draggable area on window", 5396 "defaultMessage": "!!!Show draggable area on window",
5397 "end": { 5397 "end": {
5398 "column": 3, 5398 "column": 3,
5399 "line": 186 5399 "line": 187
5400 }, 5400 },
5401 "file": "src/containers/settings/EditSettingsScreen.js", 5401 "file": "src/containers/settings/EditSettingsScreen.js",
5402 "id": "settings.app.form.showDragArea", 5402 "id": "settings.app.form.showDragArea",
5403 "start": { 5403 "start": {
5404 "column": 16, 5404 "column": 16,
5405 "line": 183 5405 "line": 184
5406 } 5406 }
5407 }, 5407 },
5408 { 5408 {
5409 "defaultMessage": "!!!Enable spell checking", 5409 "defaultMessage": "!!!Enable spell checking",
5410 "end": { 5410 "end": {
5411 "column": 3, 5411 "column": 3,
5412 "line": 190 5412 "line": 191
5413 }, 5413 },
5414 "file": "src/containers/settings/EditSettingsScreen.js", 5414 "file": "src/containers/settings/EditSettingsScreen.js",
5415 "id": "settings.app.form.enableSpellchecking", 5415 "id": "settings.app.form.enableSpellchecking",
5416 "start": { 5416 "start": {
5417 "column": 23, 5417 "column": 23,
5418 "line": 187 5418 "line": 188
5419 } 5419 }
5420 }, 5420 },
5421 { 5421 {
5422 "defaultMessage": "!!!Enable GPU Acceleration", 5422 "defaultMessage": "!!!Enable GPU Acceleration",
5423 "end": { 5423 "end": {
5424 "column": 3, 5424 "column": 3,
5425 "line": 194 5425 "line": 195
5426 }, 5426 },
5427 "file": "src/containers/settings/EditSettingsScreen.js", 5427 "file": "src/containers/settings/EditSettingsScreen.js",
5428 "id": "settings.app.form.enableGPUAcceleration", 5428 "id": "settings.app.form.enableGPUAcceleration",
5429 "start": { 5429 "start": {
5430 "column": 25, 5430 "column": 25,
5431 "line": 191 5431 "line": 192
5432 } 5432 }
5433 }, 5433 },
5434 { 5434 {
5435 "defaultMessage": "!!!Include beta versions", 5435 "defaultMessage": "!!!Include beta versions",
5436 "end": { 5436 "end": {
5437 "column": 3, 5437 "column": 3,
5438 "line": 198 5438 "line": 199
5439 }, 5439 },
5440 "file": "src/containers/settings/EditSettingsScreen.js", 5440 "file": "src/containers/settings/EditSettingsScreen.js",
5441 "id": "settings.app.form.beta", 5441 "id": "settings.app.form.beta",
5442 "start": { 5442 "start": {
5443 "column": 8, 5443 "column": 8,
5444 "line": 195 5444 "line": 196
5445 } 5445 }
5446 }, 5446 },
5447 { 5447 {
5448 "defaultMessage": "!!!Enable updates", 5448 "defaultMessage": "!!!Enable updates",
5449 "end": { 5449 "end": {
5450 "column": 3, 5450 "column": 3,
5451 "line": 202 5451 "line": 203
5452 }, 5452 },
5453 "file": "src/containers/settings/EditSettingsScreen.js", 5453 "file": "src/containers/settings/EditSettingsScreen.js",
5454 "id": "settings.app.form.automaticUpdates", 5454 "id": "settings.app.form.automaticUpdates",
5455 "start": { 5455 "start": {
5456 "column": 20, 5456 "column": 20,
5457 "line": 199 5457 "line": 200
5458 } 5458 }
5459 }, 5459 },
5460 { 5460 {
5461 "defaultMessage": "!!!Enable Franz Todos", 5461 "defaultMessage": "!!!Enable Franz Todos",
5462 "end": { 5462 "end": {
5463 "column": 3, 5463 "column": 3,
5464 "line": 206 5464 "line": 207
5465 }, 5465 },
5466 "file": "src/containers/settings/EditSettingsScreen.js", 5466 "file": "src/containers/settings/EditSettingsScreen.js",
5467 "id": "settings.app.form.enableTodos", 5467 "id": "settings.app.form.enableTodos",
5468 "start": { 5468 "start": {
5469 "column": 15, 5469 "column": 15,
5470 "line": 203 5470 "line": 204
5471 } 5471 }
5472 }, 5472 },
5473 { 5473 {
5474 "defaultMessage": "!!!Keep all workspaces loaded", 5474 "defaultMessage": "!!!Keep all workspaces loaded",
5475 "end": { 5475 "end": {
5476 "column": 3, 5476 "column": 3,
5477 "line": 210 5477 "line": 211
5478 }, 5478 },
5479 "file": "src/containers/settings/EditSettingsScreen.js", 5479 "file": "src/containers/settings/EditSettingsScreen.js",
5480 "id": "settings.app.form.keepAllWorkspacesLoaded", 5480 "id": "settings.app.form.keepAllWorkspacesLoaded",
5481 "start": { 5481 "start": {
5482 "column": 27, 5482 "column": 27,
5483 "line": 207 5483 "line": 208
5484 } 5484 }
5485 } 5485 }
5486 ], 5486 ],
@@ -7345,16 +7345,29 @@
7345 } 7345 }
7346 }, 7346 },
7347 { 7347 {
7348 "defaultMessage": "!!!Franz Professional Required", 7348 "defaultMessage": "!!!User Agent",
7349 "end": { 7349 "end": {
7350 "column": 3, 7350 "column": 3,
7351 "line": 31 7351 "line": 31
7352 }, 7352 },
7353 "file": "src/i18n/globalMessages.js", 7353 "file": "src/i18n/globalMessages.js",
7354 "id": "global.userAgentPref",
7355 "start": {
7356 "column": 17,
7357 "line": 28
7358 }
7359 },
7360 {
7361 "defaultMessage": "!!!Franz Professional Required",
7362 "end": {
7363 "column": 3,
7364 "line": 35
7365 },
7366 "file": "src/i18n/globalMessages.js",
7354 "id": "global.franzProRequired", 7367 "id": "global.franzProRequired",
7355 "start": { 7368 "start": {
7356 "column": 15, 7369 "column": 15,
7357 "line": 28 7370 "line": 32
7358 } 7371 }
7359 } 7372 }
7360 ], 7373 ],
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json
index 415af9a7c..14b2f5f48 100644
--- a/src/i18n/locales/en-US.json
+++ b/src/i18n/locales/en-US.json
@@ -75,6 +75,7 @@
75 "global.spellchecking.autodetect.short": "Automatic", 75 "global.spellchecking.autodetect.short": "Automatic",
76 "global.spellchecking.language": "Spell checking language", 76 "global.spellchecking.language": "Spell checking language",
77 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional", 77 "global.upgradeButton.upgradeToPro": "Upgrade to Ferdi Professional",
78 "global.userAgentPref": "User Agent",
78 "import.headline": "Import your Ferdi 4 services", 79 "import.headline": "Import your Ferdi 4 services",
79 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5", 80 "import.notSupportedHeadline": "Services not yet supported in Ferdi 5",
80 "import.skip.label": "I want to add services manually", 81 "import.skip.label": "I want to add services manually",
diff --git a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
index 50c73d9b1..a1e8c714e 100644
--- a/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
+++ b/src/i18n/messages/src/components/settings/settings/EditSettingsForm.json
@@ -395,7 +395,7 @@
395 "file": "src/components/settings/settings/EditSettingsForm.js", 395 "file": "src/components/settings/settings/EditSettingsForm.js",
396 "start": { 396 "start": {
397 "line": 144, 397 "line": 144,
398 "column": 29 398 "column": 22
399 }, 399 },
400 "end": { 400 "end": {
401 "line": 147, 401 "line": 147,
diff --git a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
index cd5462b59..d56f8cbbc 100644
--- a/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
+++ b/src/i18n/messages/src/containers/settings/EditSettingsScreen.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Launch Ferdi on start", 4 "defaultMessage": "!!!Launch Ferdi on start",
5 "file": "src/containers/settings/EditSettingsScreen.js", 5 "file": "src/containers/settings/EditSettingsScreen.js",
6 "start": { 6 "start": {
7 "line": 31, 7 "line": 32,
8 "column": 21 8 "column": 21
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 34, 11 "line": 35,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Open in background", 17 "defaultMessage": "!!!Open in background",
18 "file": "src/containers/settings/EditSettingsScreen.js", 18 "file": "src/containers/settings/EditSettingsScreen.js",
19 "start": { 19 "start": {
20 "line": 35, 20 "line": 36,
21 "column": 26 21 "column": 26
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 38, 24 "line": 39,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Keep Ferdi in background when closing the window", 30 "defaultMessage": "!!!Keep Ferdi in background when closing the window",
31 "file": "src/containers/settings/EditSettingsScreen.js", 31 "file": "src/containers/settings/EditSettingsScreen.js",
32 "start": { 32 "start": {
33 "line": 39, 33 "line": 40,
34 "column": 19 34 "column": 19
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 42, 37 "line": 43,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Start minimized", 43 "defaultMessage": "!!!Start minimized",
44 "file": "src/containers/settings/EditSettingsScreen.js", 44 "file": "src/containers/settings/EditSettingsScreen.js",
45 "start": { 45 "start": {
46 "line": 43, 46 "line": 44,
47 "column": 18 47 "column": 18
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 46, 50 "line": 47,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Always show Ferdi in System Tray", 56 "defaultMessage": "!!!Always show Ferdi in System Tray",
57 "file": "src/containers/settings/EditSettingsScreen.js", 57 "file": "src/containers/settings/EditSettingsScreen.js",
58 "start": { 58 "start": {
59 "line": 47, 59 "line": 48,
60 "column": 20 60 "column": 20
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 50, 63 "line": 51,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Always show Ferdi in Menu Bar", 69 "defaultMessage": "!!!Always show Ferdi in Menu Bar",
70 "file": "src/containers/settings/EditSettingsScreen.js", 70 "file": "src/containers/settings/EditSettingsScreen.js",
71 "start": { 71 "start": {
72 "line": 51, 72 "line": 52,
73 "column": 17 73 "column": 17
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 54, 76 "line": 55,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Reload Ferdi after system resume", 82 "defaultMessage": "!!!Reload Ferdi after system resume",
83 "file": "src/containers/settings/EditSettingsScreen.js", 83 "file": "src/containers/settings/EditSettingsScreen.js",
84 "start": { 84 "start": {
85 "line": 55, 85 "line": 56,
86 "column": 21 86 "column": 21
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 58, 89 "line": 59,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Minimize Ferdi to system tray", 95 "defaultMessage": "!!!Minimize Ferdi to system tray",
96 "file": "src/containers/settings/EditSettingsScreen.js", 96 "file": "src/containers/settings/EditSettingsScreen.js",
97 "start": { 97 "start": {
98 "line": 59, 98 "line": 60,
99 "column": 24 99 "column": 24
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 62, 102 "line": 63,
103 "column": 3 103 "column": 3
104 } 104 }
105 }, 105 },
@@ -108,11 +108,11 @@
108 "defaultMessage": "!!!Close Ferdi to system tray", 108 "defaultMessage": "!!!Close Ferdi to system tray",
109 "file": "src/containers/settings/EditSettingsScreen.js", 109 "file": "src/containers/settings/EditSettingsScreen.js",
110 "start": { 110 "start": {
111 "line": 63, 111 "line": 64,
112 "column": 21 112 "column": 21
113 }, 113 },
114 "end": { 114 "end": {
115 "line": 66, 115 "line": 67,
116 "column": 3 116 "column": 3
117 } 117 }
118 }, 118 },
@@ -121,11 +121,11 @@
121 "defaultMessage": "!!!Don't show message content in notifications", 121 "defaultMessage": "!!!Don't show message content in notifications",
122 "file": "src/containers/settings/EditSettingsScreen.js", 122 "file": "src/containers/settings/EditSettingsScreen.js",
123 "start": { 123 "start": {
124 "line": 67, 124 "line": 68,
125 "column": 24 125 "column": 24
126 }, 126 },
127 "end": { 127 "end": {
128 "line": 70, 128 "line": 71,
129 "column": 3 129 "column": 3
130 } 130 }
131 }, 131 },
@@ -134,11 +134,11 @@
134 "defaultMessage": "!!!Don't show notifications for clipboard events", 134 "defaultMessage": "!!!Don't show notifications for clipboard events",
135 "file": "src/containers/settings/EditSettingsScreen.js", 135 "file": "src/containers/settings/EditSettingsScreen.js",
136 "start": { 136 "start": {
137 "line": 71, 137 "line": 72,
138 "column": 26 138 "column": 26
139 }, 139 },
140 "end": { 140 "end": {
141 "line": 74, 141 "line": 75,
142 "column": 3 142 "column": 3
143 } 143 }
144 }, 144 },
@@ -147,11 +147,11 @@
147 "defaultMessage": "!!!Notify TaskBar/Dock on new message", 147 "defaultMessage": "!!!Notify TaskBar/Dock on new message",
148 "file": "src/containers/settings/EditSettingsScreen.js", 148 "file": "src/containers/settings/EditSettingsScreen.js",
149 "start": { 149 "start": {
150 "line": 75, 150 "line": 76,
151 "column": 26 151 "column": 26
152 }, 152 },
153 "end": { 153 "end": {
154 "line": 78, 154 "line": 79,
155 "column": 3 155 "column": 3
156 } 156 }
157 }, 157 },
@@ -160,11 +160,11 @@
160 "defaultMessage": "!!!Navigation bar behaviour", 160 "defaultMessage": "!!!Navigation bar behaviour",
161 "file": "src/containers/settings/EditSettingsScreen.js", 161 "file": "src/containers/settings/EditSettingsScreen.js",
162 "start": { 162 "start": {
163 "line": 79, 163 "line": 80,
164 "column": 26 164 "column": 26
165 }, 165 },
166 "end": { 166 "end": {
167 "line": 82, 167 "line": 83,
168 "column": 3 168 "column": 3
169 } 169 }
170 }, 170 },
@@ -173,11 +173,11 @@
173 "defaultMessage": "!!!Search engine", 173 "defaultMessage": "!!!Search engine",
174 "file": "src/containers/settings/EditSettingsScreen.js", 174 "file": "src/containers/settings/EditSettingsScreen.js",
175 "start": { 175 "start": {
176 "line": 83, 176 "line": 84,
177 "column": 16 177 "column": 16
178 }, 178 },
179 "end": { 179 "end": {
180 "line": 86, 180 "line": 87,
181 "column": 3 181 "column": 3
182 } 182 }
183 }, 183 },
@@ -186,11 +186,11 @@
186 "defaultMessage": "!!!Send telemetry data", 186 "defaultMessage": "!!!Send telemetry data",
187 "file": "src/containers/settings/EditSettingsScreen.js", 187 "file": "src/containers/settings/EditSettingsScreen.js",
188 "start": { 188 "start": {
189 "line": 87, 189 "line": 88,
190 "column": 10 190 "column": 10
191 }, 191 },
192 "end": { 192 "end": {
193 "line": 90, 193 "line": 91,
194 "column": 3 194 "column": 3
195 } 195 }
196 }, 196 },
@@ -199,11 +199,11 @@
199 "defaultMessage": "!!!Enable service hibernation", 199 "defaultMessage": "!!!Enable service hibernation",
200 "file": "src/containers/settings/EditSettingsScreen.js", 200 "file": "src/containers/settings/EditSettingsScreen.js",
201 "start": { 201 "start": {
202 "line": 91, 202 "line": 92,
203 "column": 13 203 "column": 13
204 }, 204 },
205 "end": { 205 "end": {
206 "line": 94, 206 "line": 95,
207 "column": 3 207 "column": 3
208 } 208 }
209 }, 209 },
@@ -212,11 +212,11 @@
212 "defaultMessage": "!!!Keep services in hibernation on startup", 212 "defaultMessage": "!!!Keep services in hibernation on startup",
213 "file": "src/containers/settings/EditSettingsScreen.js", 213 "file": "src/containers/settings/EditSettingsScreen.js",
214 "start": { 214 "start": {
215 "line": 95, 215 "line": 96,
216 "column": 22 216 "column": 22
217 }, 217 },
218 "end": { 218 "end": {
219 "line": 98, 219 "line": 99,
220 "column": 3 220 "column": 3
221 } 221 }
222 }, 222 },
@@ -225,11 +225,11 @@
225 "defaultMessage": "!!!Hibernation strategy", 225 "defaultMessage": "!!!Hibernation strategy",
226 "file": "src/containers/settings/EditSettingsScreen.js", 226 "file": "src/containers/settings/EditSettingsScreen.js",
227 "start": { 227 "start": {
228 "line": 99, 228 "line": 100,
229 "column": 23 229 "column": 23
230 }, 230 },
231 "end": { 231 "end": {
232 "line": 102, 232 "line": 103,
233 "column": 3 233 "column": 3
234 } 234 }
235 }, 235 },
@@ -238,11 +238,11 @@
238 "defaultMessage": "!!!Todo Server", 238 "defaultMessage": "!!!Todo Server",
239 "file": "src/containers/settings/EditSettingsScreen.js", 239 "file": "src/containers/settings/EditSettingsScreen.js",
240 "start": { 240 "start": {
241 "line": 103, 241 "line": 104,
242 "column": 24 242 "column": 24
243 }, 243 },
244 "end": { 244 "end": {
245 "line": 106, 245 "line": 107,
246 "column": 3 246 "column": 3
247 } 247 }
248 }, 248 },
@@ -251,11 +251,11 @@
251 "defaultMessage": "!!!Custom TodoServer", 251 "defaultMessage": "!!!Custom TodoServer",
252 "file": "src/containers/settings/EditSettingsScreen.js", 252 "file": "src/containers/settings/EditSettingsScreen.js",
253 "start": { 253 "start": {
254 "line": 107, 254 "line": 108,
255 "column": 20 255 "column": 20
256 }, 256 },
257 "end": { 257 "end": {
258 "line": 110, 258 "line": 111,
259 "column": 3 259 "column": 3
260 } 260 }
261 }, 261 },
@@ -264,11 +264,11 @@
264 "defaultMessage": "!!!Enable Password Lock", 264 "defaultMessage": "!!!Enable Password Lock",
265 "file": "src/containers/settings/EditSettingsScreen.js", 265 "file": "src/containers/settings/EditSettingsScreen.js",
266 "start": { 266 "start": {
267 "line": 111, 267 "line": 112,
268 "column": 14 268 "column": 14
269 }, 269 },
270 "end": { 270 "end": {
271 "line": 114, 271 "line": 115,
272 "column": 3 272 "column": 3
273 } 273 }
274 }, 274 },
@@ -277,11 +277,11 @@
277 "defaultMessage": "!!!Password", 277 "defaultMessage": "!!!Password",
278 "file": "src/containers/settings/EditSettingsScreen.js", 278 "file": "src/containers/settings/EditSettingsScreen.js",
279 "start": { 279 "start": {
280 "line": 115, 280 "line": 116,
281 "column": 16 281 "column": 16
282 }, 282 },
283 "end": { 283 "end": {
284 "line": 118, 284 "line": 119,
285 "column": 3 285 "column": 3
286 } 286 }
287 }, 287 },
@@ -290,11 +290,11 @@
290 "defaultMessage": "!!!Allow using Touch ID to unlock", 290 "defaultMessage": "!!!Allow using Touch ID to unlock",
291 "file": "src/containers/settings/EditSettingsScreen.js", 291 "file": "src/containers/settings/EditSettingsScreen.js",
292 "start": { 292 "start": {
293 "line": 119, 293 "line": 120,
294 "column": 22 294 "column": 22
295 }, 295 },
296 "end": { 296 "end": {
297 "line": 122, 297 "line": 123,
298 "column": 3 298 "column": 3
299 } 299 }
300 }, 300 },
@@ -303,11 +303,11 @@
303 "defaultMessage": "!!!Lock after inactivity", 303 "defaultMessage": "!!!Lock after inactivity",
304 "file": "src/containers/settings/EditSettingsScreen.js", 304 "file": "src/containers/settings/EditSettingsScreen.js",
305 "start": { 305 "start": {
306 "line": 123, 306 "line": 124,
307 "column": 18 307 "column": 18
308 }, 308 },
309 "end": { 309 "end": {
310 "line": 126, 310 "line": 127,
311 "column": 3 311 "column": 3
312 } 312 }
313 }, 313 },
@@ -316,11 +316,11 @@
316 "defaultMessage": "!!!Enable scheduled Do-not-Disturb", 316 "defaultMessage": "!!!Enable scheduled Do-not-Disturb",
317 "file": "src/containers/settings/EditSettingsScreen.js", 317 "file": "src/containers/settings/EditSettingsScreen.js",
318 "start": { 318 "start": {
319 "line": 127, 319 "line": 128,
320 "column": 23 320 "column": 23
321 }, 321 },
322 "end": { 322 "end": {
323 "line": 130, 323 "line": 131,
324 "column": 3 324 "column": 3
325 } 325 }
326 }, 326 },
@@ -329,11 +329,11 @@
329 "defaultMessage": "!!!From", 329 "defaultMessage": "!!!From",
330 "file": "src/containers/settings/EditSettingsScreen.js", 330 "file": "src/containers/settings/EditSettingsScreen.js",
331 "start": { 331 "start": {
332 "line": 131, 332 "line": 132,
333 "column": 21 333 "column": 21
334 }, 334 },
335 "end": { 335 "end": {
336 "line": 134, 336 "line": 135,
337 "column": 3 337 "column": 3
338 } 338 }
339 }, 339 },
@@ -342,11 +342,11 @@
342 "defaultMessage": "!!!To", 342 "defaultMessage": "!!!To",
343 "file": "src/containers/settings/EditSettingsScreen.js", 343 "file": "src/containers/settings/EditSettingsScreen.js",
344 "start": { 344 "start": {
345 "line": 135, 345 "line": 136,
346 "column": 19 346 "column": 19
347 }, 347 },
348 "end": { 348 "end": {
349 "line": 138, 349 "line": 139,
350 "column": 3 350 "column": 3
351 } 351 }
352 }, 352 },
@@ -355,11 +355,11 @@
355 "defaultMessage": "!!!Language", 355 "defaultMessage": "!!!Language",
356 "file": "src/containers/settings/EditSettingsScreen.js", 356 "file": "src/containers/settings/EditSettingsScreen.js",
357 "start": { 357 "start": {
358 "line": 139, 358 "line": 140,
359 "column": 12 359 "column": 12
360 }, 360 },
361 "end": { 361 "end": {
362 "line": 142, 362 "line": 143,
363 "column": 3 363 "column": 3
364 } 364 }
365 }, 365 },
@@ -368,11 +368,11 @@
368 "defaultMessage": "!!!Dark Mode", 368 "defaultMessage": "!!!Dark Mode",
369 "file": "src/containers/settings/EditSettingsScreen.js", 369 "file": "src/containers/settings/EditSettingsScreen.js",
370 "start": { 370 "start": {
371 "line": 143, 371 "line": 144,
372 "column": 12 372 "column": 12
373 }, 373 },
374 "end": { 374 "end": {
375 "line": 146, 375 "line": 147,
376 "column": 3 376 "column": 3
377 } 377 }
378 }, 378 },
@@ -381,11 +381,11 @@
381 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting", 381 "defaultMessage": "!!!Synchronize dark mode with my OS's dark mode setting",
382 "file": "src/containers/settings/EditSettingsScreen.js", 382 "file": "src/containers/settings/EditSettingsScreen.js",
383 "start": { 383 "start": {
384 "line": 147, 384 "line": 148,
385 "column": 21 385 "column": 21
386 }, 386 },
387 "end": { 387 "end": {
388 "line": 150, 388 "line": 151,
389 "column": 3 389 "column": 3
390 } 390 }
391 }, 391 },
@@ -394,11 +394,11 @@
394 "defaultMessage": "!!!Enable universal Dark Mode", 394 "defaultMessage": "!!!Enable universal Dark Mode",
395 "file": "src/containers/settings/EditSettingsScreen.js", 395 "file": "src/containers/settings/EditSettingsScreen.js",
396 "start": { 396 "start": {
397 "line": 151, 397 "line": 152,
398 "column": 21 398 "column": 21
399 }, 399 },
400 "end": { 400 "end": {
401 "line": 154, 401 "line": 155,
402 "column": 3 402 "column": 3
403 } 403 }
404 }, 404 },
@@ -407,11 +407,11 @@
407 "defaultMessage": "!!!Sidebar width", 407 "defaultMessage": "!!!Sidebar width",
408 "file": "src/containers/settings/EditSettingsScreen.js", 408 "file": "src/containers/settings/EditSettingsScreen.js",
409 "start": { 409 "start": {
410 "line": 155, 410 "line": 156,
411 "column": 22 411 "column": 22
412 }, 412 },
413 "end": { 413 "end": {
414 "line": 158, 414 "line": 159,
415 "column": 3 415 "column": 3
416 } 416 }
417 }, 417 },
@@ -420,11 +420,11 @@
420 "defaultMessage": "!!!Service icon size", 420 "defaultMessage": "!!!Service icon size",
421 "file": "src/containers/settings/EditSettingsScreen.js", 421 "file": "src/containers/settings/EditSettingsScreen.js",
422 "start": { 422 "start": {
423 "line": 159, 423 "line": 160,
424 "column": 12 424 "column": 12
425 }, 425 },
426 "end": { 426 "end": {
427 "line": 162, 427 "line": 163,
428 "column": 3 428 "column": 3
429 } 429 }
430 }, 430 },
@@ -433,11 +433,11 @@
433 "defaultMessage": "!!!Use vertical style", 433 "defaultMessage": "!!!Use vertical style",
434 "file": "src/containers/settings/EditSettingsScreen.js", 434 "file": "src/containers/settings/EditSettingsScreen.js",
435 "start": { 435 "start": {
436 "line": 163, 436 "line": 164,
437 "column": 20 437 "column": 20
438 }, 438 },
439 "end": { 439 "end": {
440 "line": 166, 440 "line": 167,
441 "column": 3 441 "column": 3
442 } 442 }
443 }, 443 },
@@ -446,11 +446,11 @@
446 "defaultMessage": "!!!Always show workspace drawer", 446 "defaultMessage": "!!!Always show workspace drawer",
447 "file": "src/containers/settings/EditSettingsScreen.js", 447 "file": "src/containers/settings/EditSettingsScreen.js",
448 "start": { 448 "start": {
449 "line": 167, 449 "line": 168,
450 "column": 24 450 "column": 24
451 }, 451 },
452 "end": { 452 "end": {
453 "line": 170, 453 "line": 171,
454 "column": 3 454 "column": 3
455 } 455 }
456 }, 456 },
@@ -459,11 +459,11 @@
459 "defaultMessage": "!!!Accent color", 459 "defaultMessage": "!!!Accent color",
460 "file": "src/containers/settings/EditSettingsScreen.js", 460 "file": "src/containers/settings/EditSettingsScreen.js",
461 "start": { 461 "start": {
462 "line": 171, 462 "line": 172,
463 "column": 15 463 "column": 15
464 }, 464 },
465 "end": { 465 "end": {
466 "line": 174, 466 "line": 175,
467 "column": 3 467 "column": 3
468 } 468 }
469 }, 469 },
@@ -472,11 +472,11 @@
472 "defaultMessage": "!!!Display disabled services tabs", 472 "defaultMessage": "!!!Display disabled services tabs",
473 "file": "src/containers/settings/EditSettingsScreen.js", 473 "file": "src/containers/settings/EditSettingsScreen.js",
474 "start": { 474 "start": {
475 "line": 175, 475 "line": 176,
476 "column": 24 476 "column": 24
477 }, 477 },
478 "end": { 478 "end": {
479 "line": 178, 479 "line": 179,
480 "column": 3 480 "column": 3
481 } 481 }
482 }, 482 },
@@ -485,11 +485,11 @@
485 "defaultMessage": "!!!Show unread message badge when notifications are disabled", 485 "defaultMessage": "!!!Show unread message badge when notifications are disabled",
486 "file": "src/containers/settings/EditSettingsScreen.js", 486 "file": "src/containers/settings/EditSettingsScreen.js",
487 "start": { 487 "start": {
488 "line": 179, 488 "line": 180,
489 "column": 29 489 "column": 29
490 }, 490 },
491 "end": { 491 "end": {
492 "line": 182, 492 "line": 183,
493 "column": 3 493 "column": 3
494 } 494 }
495 }, 495 },
@@ -498,11 +498,11 @@
498 "defaultMessage": "!!!Show draggable area on window", 498 "defaultMessage": "!!!Show draggable area on window",
499 "file": "src/containers/settings/EditSettingsScreen.js", 499 "file": "src/containers/settings/EditSettingsScreen.js",
500 "start": { 500 "start": {
501 "line": 183, 501 "line": 184,
502 "column": 16 502 "column": 16
503 }, 503 },
504 "end": { 504 "end": {
505 "line": 186, 505 "line": 187,
506 "column": 3 506 "column": 3
507 } 507 }
508 }, 508 },
@@ -511,11 +511,11 @@
511 "defaultMessage": "!!!Enable spell checking", 511 "defaultMessage": "!!!Enable spell checking",
512 "file": "src/containers/settings/EditSettingsScreen.js", 512 "file": "src/containers/settings/EditSettingsScreen.js",
513 "start": { 513 "start": {
514 "line": 187, 514 "line": 188,
515 "column": 23 515 "column": 23
516 }, 516 },
517 "end": { 517 "end": {
518 "line": 190, 518 "line": 191,
519 "column": 3 519 "column": 3
520 } 520 }
521 }, 521 },
@@ -524,11 +524,11 @@
524 "defaultMessage": "!!!Enable GPU Acceleration", 524 "defaultMessage": "!!!Enable GPU Acceleration",
525 "file": "src/containers/settings/EditSettingsScreen.js", 525 "file": "src/containers/settings/EditSettingsScreen.js",
526 "start": { 526 "start": {
527 "line": 191, 527 "line": 192,
528 "column": 25 528 "column": 25
529 }, 529 },
530 "end": { 530 "end": {
531 "line": 194, 531 "line": 195,
532 "column": 3 532 "column": 3
533 } 533 }
534 }, 534 },
@@ -537,11 +537,11 @@
537 "defaultMessage": "!!!Include beta versions", 537 "defaultMessage": "!!!Include beta versions",
538 "file": "src/containers/settings/EditSettingsScreen.js", 538 "file": "src/containers/settings/EditSettingsScreen.js",
539 "start": { 539 "start": {
540 "line": 195, 540 "line": 196,
541 "column": 8 541 "column": 8
542 }, 542 },
543 "end": { 543 "end": {
544 "line": 198, 544 "line": 199,
545 "column": 3 545 "column": 3
546 } 546 }
547 }, 547 },
@@ -550,11 +550,11 @@
550 "defaultMessage": "!!!Enable updates", 550 "defaultMessage": "!!!Enable updates",
551 "file": "src/containers/settings/EditSettingsScreen.js", 551 "file": "src/containers/settings/EditSettingsScreen.js",
552 "start": { 552 "start": {
553 "line": 199, 553 "line": 200,
554 "column": 20 554 "column": 20
555 }, 555 },
556 "end": { 556 "end": {
557 "line": 202, 557 "line": 203,
558 "column": 3 558 "column": 3
559 } 559 }
560 }, 560 },
@@ -563,11 +563,11 @@
563 "defaultMessage": "!!!Enable Franz Todos", 563 "defaultMessage": "!!!Enable Franz Todos",
564 "file": "src/containers/settings/EditSettingsScreen.js", 564 "file": "src/containers/settings/EditSettingsScreen.js",
565 "start": { 565 "start": {
566 "line": 203, 566 "line": 204,
567 "column": 15 567 "column": 15
568 }, 568 },
569 "end": { 569 "end": {
570 "line": 206, 570 "line": 207,
571 "column": 3 571 "column": 3
572 } 572 }
573 }, 573 },
@@ -576,11 +576,11 @@
576 "defaultMessage": "!!!Keep all workspaces loaded", 576 "defaultMessage": "!!!Keep all workspaces loaded",
577 "file": "src/containers/settings/EditSettingsScreen.js", 577 "file": "src/containers/settings/EditSettingsScreen.js",
578 "start": { 578 "start": {
579 "line": 207, 579 "line": 208,
580 "column": 27 580 "column": 27
581 }, 581 },
582 "end": { 582 "end": {
583 "line": 210, 583 "line": 211,
584 "column": 3 584 "column": 3
585 } 585 }
586 } 586 }
diff --git a/src/i18n/messages/src/i18n/globalMessages.json b/src/i18n/messages/src/i18n/globalMessages.json
index 903de64cb..f816a0560 100644
--- a/src/i18n/messages/src/i18n/globalMessages.json
+++ b/src/i18n/messages/src/i18n/globalMessages.json
@@ -78,15 +78,28 @@
78 } 78 }
79 }, 79 },
80 { 80 {
81 "id": "global.userAgentPref",
82 "defaultMessage": "!!!User Agent",
83 "file": "src/i18n/globalMessages.js",
84 "start": {
85 "line": 28,
86 "column": 17
87 },
88 "end": {
89 "line": 31,
90 "column": 3
91 }
92 },
93 {
81 "id": "global.franzProRequired", 94 "id": "global.franzProRequired",
82 "defaultMessage": "!!!Franz Professional Required", 95 "defaultMessage": "!!!Franz Professional Required",
83 "file": "src/i18n/globalMessages.js", 96 "file": "src/i18n/globalMessages.js",
84 "start": { 97 "start": {
85 "line": 28, 98 "line": 32,
86 "column": 15 99 "column": 15
87 }, 100 },
88 "end": { 101 "end": {
89 "line": 31, 102 "line": 35,
90 "column": 3 103 "column": 3
91 } 104 }
92 } 105 }
diff --git a/src/models/Service.js b/src/models/Service.js
index d0c6a7103..50115f605 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -107,6 +107,8 @@ export default class Service {
107 return null; 107 return null;
108 } 108 }
109 109
110 this.userAgentModel = new UserAgent(recipe.overrideUserAgent);
111
110 this.id = data.id || this.id; 112 this.id = data.id || this.id;
111 this.name = data.name || this.name; 113 this.name = data.name || this.name;
112 this.team = data.team || this.team; 114 this.team = data.team || this.team;
@@ -141,6 +143,8 @@ export default class Service {
141 143
142 this.spellcheckerLanguage = data.spellcheckerLanguage !== undefined ? data.spellcheckerLanguage : this.spellcheckerLanguage; 144 this.spellcheckerLanguage = data.spellcheckerLanguage !== undefined ? data.spellcheckerLanguage : this.spellcheckerLanguage;
143 145
146 this.userAgentPref = data.userAgentPref !== undefined ? data.userAgentPref : this.userAgentPref;
147
144 this.isHibernationEnabled = data.isHibernationEnabled !== undefined ? data.isHibernationEnabled : this.isHibernationEnabled; 148 this.isHibernationEnabled = data.isHibernationEnabled !== undefined ? data.isHibernationEnabled : this.isHibernationEnabled;
145 149
146 this.recipe = recipe; 150 this.recipe = recipe;
@@ -156,8 +160,6 @@ export default class Service {
156 this.isHibernating = true; 160 this.isHibernating = true;
157 } 161 }
158 162
159 this.userAgentModel = new UserAgent(recipe.overrideUserAgent);
160
161 autorun(() => { 163 autorun(() => {
162 if (!this.isEnabled) { 164 if (!this.isEnabled) {
163 this.webview = null; 165 this.webview = null;
@@ -243,6 +245,18 @@ export default class Service {
243 return this.userAgentModel.userAgent; 245 return this.userAgentModel.userAgent;
244 } 246 }
245 247
248 @computed get userAgentPref() {
249 return this.userAgentModel.userAgentPref;
250 }
251
252 set userAgentPref(pref) {
253 this.userAgentModel.userAgentPref = pref;
254 }
255
256 @computed get defaultUserAgent() {
257 return this.userAgentModel.defaultUserAgent;
258 }
259
246 @computed get partition() { 260 @computed get partition() {
247 return this.recipe.partition || `persist:service-${this.id}`; 261 return this.recipe.partition || `persist:service-${this.id}`;
248 } 262 }
diff --git a/src/models/UserAgent.js b/src/models/UserAgent.js
index f51f2e5a6..f1d08e306 100644
--- a/src/models/UserAgent.js
+++ b/src/models/UserAgent.js
@@ -18,7 +18,9 @@ export default class UserAgent {
18 18
19 @observable chromelessUserAgent = false; 19 @observable chromelessUserAgent = false;
20 20
21 @observable getUserAgent = defaultUserAgent; 21 @observable userAgentPref = null;
22
23 @observable getUserAgent = null;
22 24
23 constructor(overrideUserAgent = null) { 25 constructor(overrideUserAgent = null) {
24 if (typeof overrideUserAgent === 'function') { 26 if (typeof overrideUserAgent === 'function') {
@@ -36,8 +38,37 @@ export default class UserAgent {
36 }); 38 });
37 } 39 }
38 40
41 @computed get defaultUserAgent() {
42 if (typeof this.getUserAgent === 'function') {
43 return this.getUserAgent();
44 }
45 const globalPref = window.ferdi.stores.settings.all.app.userAgentPref;
46 if (typeof globalPref === 'string') {
47 const trimmed = globalPref.trim();
48 if (trimmed !== '') {
49 return trimmed;
50 }
51 }
52 return defaultUserAgent();
53 }
54
55 @computed get userAgentWithChromeVersion() {
56 if (typeof this.userAgentPref === 'string') {
57 const trimmed = this.userAgentPref.trim();
58 if (trimmed !== '') {
59 return trimmed;
60 }
61 }
62 return this.defaultUserAgent;
63 }
64
65 @computed get userAgentWithoutChromeVersion() {
66 const withChrome = this.userAgentWithChromeVersion;
67 return withChrome.replace(/Chrome\/[0-9.]+/, 'Chrome');
68 }
69
39 @computed get userAgent() { 70 @computed get userAgent() {
40 return this.chromelessUserAgent ? defaultUserAgent(true) : this.getUserAgent(); 71 return this.chromelessUserAgent ? this.userAgentWithoutChromeVersion : this.userAgentWithChromeVersion;
41 } 72 }
42 73
43 @action setWebviewReference(webview) { 74 @action setWebviewReference(webview) {
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 752f287e8..3dba217b2 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -315,6 +315,7 @@ export default class ServicesStore extends Store {
315 customIcon: false, 315 customIcon: false,
316 isDarkModeEnabled: false, 316 isDarkModeEnabled: false,
317 spellcheckerLanguage: SPELLCHECKER_LOCALES[this.stores.settings.app.spellcheckerLanguage], 317 spellcheckerLanguage: SPELLCHECKER_LOCALES[this.stores.settings.app.spellcheckerLanguage],
318 userAgentPref: '',
318 }, serviceData); 319 }, serviceData);
319 320
320 let data = serviceData; 321 let data = serviceData;
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js
index 15b0db120..b433efd45 100644
--- a/src/stores/SettingsStore.js
+++ b/src/stores/SettingsStore.js
@@ -320,5 +320,21 @@ export default class SettingsStore extends Store {
320 }, 320 },
321 }); 321 });
322 } 322 }
323
324 if (!this.all.migration['user-agent-settings']) {
325 this.actions.settings.update({
326 type: 'app',
327 data: {
328 userAgentPref: DEFAULT_APP_SETTINGS.userAgentPref,
329 },
330 });
331
332 this.actions.settings.update({
333 type: 'migration',
334 data: {
335 'user-agent-settings': true,
336 },
337 });
338 }
323 } 339 }
324} 340}
diff --git a/src/styles/settings.scss b/src/styles/settings.scss
index 1bd0ae63d..fd3151a96 100644
--- a/src/styles/settings.scss
+++ b/src/styles/settings.scss
@@ -216,7 +216,7 @@
216 216
217 &::-webkit-scrollbar-thumb:window-inactive { background: none; } 217 &::-webkit-scrollbar-thumb:window-inactive { background: none; }
218 .service-flex-grid { display: flex; } 218 .service-flex-grid { display: flex; }
219 .service-name { flex: 1px; } 219 .service-name,.user-agent { flex: 1px; }
220 220
221 .service-icon { 221 .service-icon {
222 float: right; 222 float: right;
@@ -293,6 +293,7 @@
293 .settings__help { 293 .settings__help {
294 color: $theme-gray-light; 294 color: $theme-gray-light;
295 font-size: 12px; 295 font-size: 12px;
296 font-style: italic;
296 margin: -10px 0 20px 55px;; 297 margin: -10px 0 20px 55px;;
297 } 298 }
298 299