diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | next_release.md | 5 | ||||
-rw-r--r-- | package-lock.json | 191 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/api/server/ServerApi.js | 4 | ||||
-rw-r--r-- | src/features/accentColor/index.js | 12 | ||||
-rw-r--r-- | src/index.html | 1 | ||||
-rw-r--r-- | src/index.js | 2 | ||||
-rw-r--r-- | src/sentry.js | 5 |
9 files changed, 180 insertions, 45 deletions
@@ -86,6 +86,7 @@ You can find the installers in the [latest stable release](https://github.com/ge | |||
86 | - [x] Add Password Lock feature to keep your messages protected ([#41](https://github.com/getferdi/ferdi/issues/41), [franz#810](https://github.com/meetfranz/franz/issues/810), [franz#950](https://github.com/meetfranz/franz/issues/950), [franz#1430](https://github.com/meetfranz/franz/issues/1430)) | 86 | - [x] Add Password Lock feature to keep your messages protected ([#41](https://github.com/getferdi/ferdi/issues/41), [franz#810](https://github.com/meetfranz/franz/issues/810), [franz#950](https://github.com/meetfranz/franz/issues/950), [franz#1430](https://github.com/meetfranz/franz/issues/1430)) |
87 | - [x] Add an option to keep individual workspaces always loaded ([#37](https://github.com/getferdi/ferdi/issues/37)) | 87 | - [x] Add an option to keep individual workspaces always loaded ([#37](https://github.com/getferdi/ferdi/issues/37)) |
88 | - [x] Add universal Dark-Mode via the [DarkReader extension](https://github.com/darkreader/darkreader) ([#71](https://github.com/getferdi/ferdi/issues/71)) | 88 | - [x] Add universal Dark-Mode via the [DarkReader extension](https://github.com/darkreader/darkreader) ([#71](https://github.com/getferdi/ferdi/issues/71)) |
89 | - [x] Add adaptable Dark Mode that will respect the system's darkmode setting ([#173](https://github.com/getferdi/ferdi/issues/173)) | ||
89 | - [x] Add an option to auto-hide the menubar ([#7](https://github.com/getferdi/ferdi/issues/7), [franz#833](https://github.com/meetfranz/franz/issues/833)) | 90 | - [x] Add an option to auto-hide the menubar ([#7](https://github.com/getferdi/ferdi/issues/7), [franz#833](https://github.com/meetfranz/franz/issues/833)) |
90 | - [x] Add "Quick Switch" feature to help you navigate a long list of services (similar to Rambox's [Quick Switcher](https://rambox.pro/#feature-details/quick_switcher)) | 91 | - [x] Add "Quick Switch" feature to help you navigate a long list of services (similar to Rambox's [Quick Switcher](https://rambox.pro/#feature-details/quick_switcher)) |
91 | - [x] Add "Service Hibernation" that will automatically unload services when they are unused | 92 | - [x] Add "Service Hibernation" that will automatically unload services when they are unused |
@@ -131,8 +132,7 @@ $ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel | |||
131 | #### Windows | 132 | #### Windows |
132 | 133 | ||
133 | ```bash | 134 | ```bash |
134 | $ npm install --global windows-build-tools // Windows 10 | 135 | $ npm install --global windows-build-tools --vs2015 |
135 | $ npm install --global windows-build-tools --vs2015 // Windows 7 | ||
136 | ``` | 136 | ``` |
137 | 137 | ||
138 | ### Clone repository with submodule | 138 | ### Clone repository with submodule |
diff --git a/next_release.md b/next_release.md index 0e4bc411b..ae472bce9 100644 --- a/next_release.md +++ b/next_release.md | |||
@@ -10,6 +10,7 @@ v5.4.0-beta.5: | |||
10 | - Move hibernation indicator to bottom left (#129 (comment)) | 10 | - Move hibernation indicator to bottom left (#129 (comment)) |
11 | - Add fix for 1.1.1.1 hack (#146) | 11 | - Add fix for 1.1.1.1 hack (#146) |
12 | - Fix darkmode not loading correctly (#158) | 12 | - Fix darkmode not loading correctly (#158) |
13 | - Add adaptable Dark Mode that will respect the system's darkmode setting ([#173](https://github.com/getferdi/ferdi/issues/173)) | ||
13 | 14 | ||
14 | ## Minor | 15 | ## Minor |
15 | v5.4.0 | 16 | v5.4.0 |
@@ -18,7 +19,9 @@ v5.4.0 | |||
18 | - **Merge Franz 5.4.0** | 19 | - **Merge Franz 5.4.0** |
19 | - **Use Ferdi without an Account**: Simply choose "Use Ferdi without an Account" on the login screen | 20 | - **Use Ferdi without an Account**: Simply choose "Use Ferdi without an Account" on the login screen |
20 | - **Accent color**: Change Ferdi's accent color | 21 | - **Accent color**: Change Ferdi's accent color |
21 | - **Darkmode**: Easily open and edit any service's `darkmode.css` through the new "Open darkmode.css" button | 22 | - **Darkmode**: |
23 | - Easily open and edit any service's `darkmode.css` through the new "Open darkmode.css" button | ||
24 | - Add adaptable Dark Mode that will respect the system's darkmode setting ([#173](https://github.com/getferdi/ferdi/issues/173) - @steliyan) | ||
22 | - **Hibernation**: Activate service hibernation to save battery | 25 | - **Hibernation**: Activate service hibernation to save battery |
23 | - **Smaller file size**: Ferdi is now 17% smaller | 26 | - **Smaller file size**: Ferdi is now 17% smaller |
24 | - **Annoucements**: Always get notified about the latest features of Ferdi | 27 | - **Annoucements**: Always get notified about the latest features of Ferdi |
diff --git a/package-lock.json b/package-lock.json index a5b797e14..c84c1afbc 100644 --- a/package-lock.json +++ b/package-lock.json | |||
@@ -3071,14 +3071,6 @@ | |||
3071 | "version": "3.9.97", | 3071 | "version": "3.9.97", |
3072 | "resolved": "https://registry.npmjs.org/@mdi/js/-/js-3.9.97.tgz", | 3072 | "resolved": "https://registry.npmjs.org/@mdi/js/-/js-3.9.97.tgz", |
3073 | "integrity": "sha512-JzX6rDlUcNZHaoUg9sAzdg5Js287tvgRbNmMIyKoJK2ZCP9JupeWTYlpbX4oNJ9Zg9v8YH76WuWLALKOospQgw==" | 3073 | "integrity": "sha512-JzX6rDlUcNZHaoUg9sAzdg5Js287tvgRbNmMIyKoJK2ZCP9JupeWTYlpbX4oNJ9Zg9v8YH76WuWLALKOospQgw==" |
3074 | }, | ||
3075 | "@meetfranz/theme": { | ||
3076 | "version": "1.0.14", | ||
3077 | "resolved": "https://registry.npmjs.org/@meetfranz/theme/-/theme-1.0.14.tgz", | ||
3078 | "integrity": "sha512-iWP+3ifiNum98sHKiNdUJK+R0p4Z7TT8OenA1N2BnSC6CFob+dLhzAK+o5lxcyEcKZKYDwd7JKRZj93wqpBPpg==", | ||
3079 | "requires": { | ||
3080 | "color": "^3.1.0" | ||
3081 | } | ||
3082 | } | 3074 | } |
3083 | } | 3075 | } |
3084 | }, | 3076 | }, |
@@ -3101,14 +3093,6 @@ | |||
3101 | "version": "3.9.97", | 3093 | "version": "3.9.97", |
3102 | "resolved": "https://registry.npmjs.org/@mdi/js/-/js-3.9.97.tgz", | 3094 | "resolved": "https://registry.npmjs.org/@mdi/js/-/js-3.9.97.tgz", |
3103 | "integrity": "sha512-JzX6rDlUcNZHaoUg9sAzdg5Js287tvgRbNmMIyKoJK2ZCP9JupeWTYlpbX4oNJ9Zg9v8YH76WuWLALKOospQgw==" | 3095 | "integrity": "sha512-JzX6rDlUcNZHaoUg9sAzdg5Js287tvgRbNmMIyKoJK2ZCP9JupeWTYlpbX4oNJ9Zg9v8YH76WuWLALKOospQgw==" |
3104 | }, | ||
3105 | "@meetfranz/theme": { | ||
3106 | "version": "1.0.14", | ||
3107 | "resolved": "https://registry.npmjs.org/@meetfranz/theme/-/theme-1.0.14.tgz", | ||
3108 | "integrity": "sha512-iWP+3ifiNum98sHKiNdUJK+R0p4Z7TT8OenA1N2BnSC6CFob+dLhzAK+o5lxcyEcKZKYDwd7JKRZj93wqpBPpg==", | ||
3109 | "requires": { | ||
3110 | "color": "^3.1.0" | ||
3111 | } | ||
3112 | } | 3096 | } |
3113 | } | 3097 | } |
3114 | }, | 3098 | }, |
@@ -3229,6 +3213,136 @@ | |||
3229 | "universal-user-agent": "^4.0.0" | 3213 | "universal-user-agent": "^4.0.0" |
3230 | } | 3214 | } |
3231 | }, | 3215 | }, |
3216 | "@sentry/browser": { | ||
3217 | "version": "4.6.6", | ||
3218 | "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-4.6.6.tgz", | ||
3219 | "integrity": "sha512-+9VsQ+oQYU+PYlLJG2ex7JCMSVQbnUvWPI2uZOofWdI9sWIPUub3boWItMzRQNQ1T4S3FZd4FqAWNFd3azdnBw==", | ||
3220 | "requires": { | ||
3221 | "@sentry/core": "4.6.6", | ||
3222 | "@sentry/types": "4.5.3", | ||
3223 | "@sentry/utils": "4.6.5", | ||
3224 | "tslib": "^1.9.3" | ||
3225 | } | ||
3226 | }, | ||
3227 | "@sentry/core": { | ||
3228 | "version": "4.6.6", | ||
3229 | "resolved": "https://registry.npmjs.org/@sentry/core/-/core-4.6.6.tgz", | ||
3230 | "integrity": "sha512-7z9HKLTNr3zVBR3tBRheTxkkkuK2IqISUc5Iyo3crN2OecOLtpptT96f5XjLndBEL2ab39eCBPpA5OFjbpzrIA==", | ||
3231 | "requires": { | ||
3232 | "@sentry/hub": "4.6.5", | ||
3233 | "@sentry/minimal": "4.6.5", | ||
3234 | "@sentry/types": "4.5.3", | ||
3235 | "@sentry/utils": "4.6.5", | ||
3236 | "tslib": "^1.9.3" | ||
3237 | } | ||
3238 | }, | ||
3239 | "@sentry/electron": { | ||
3240 | "version": "0.17.4", | ||
3241 | "resolved": "https://registry.npmjs.org/@sentry/electron/-/electron-0.17.4.tgz", | ||
3242 | "integrity": "sha512-1IU0o+E8eY5Lrthj6Pqf+Dh8MptddHsFFmcOwKlft/bbZ+6RTKEefLtFOclKUMLR64C7GTqa80Yddq0ssjOv5w==", | ||
3243 | "requires": { | ||
3244 | "@sentry/browser": "4.6.2 || ~4.6.4", | ||
3245 | "@sentry/core": "4.6.2 || ~4.6.4", | ||
3246 | "@sentry/minimal": "^4.5.0", | ||
3247 | "@sentry/node": "4.6.2 || ~4.6.4", | ||
3248 | "@sentry/types": "^4.5.0", | ||
3249 | "@sentry/utils": "4.6.2 || ~4.6.4", | ||
3250 | "electron-fetch": "1.3.0", | ||
3251 | "form-data": "2.3.2", | ||
3252 | "util.promisify": "1.0.0" | ||
3253 | }, | ||
3254 | "dependencies": { | ||
3255 | "combined-stream": { | ||
3256 | "version": "1.0.6", | ||
3257 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", | ||
3258 | "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", | ||
3259 | "requires": { | ||
3260 | "delayed-stream": "~1.0.0" | ||
3261 | } | ||
3262 | }, | ||
3263 | "form-data": { | ||
3264 | "version": "2.3.2", | ||
3265 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", | ||
3266 | "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", | ||
3267 | "requires": { | ||
3268 | "asynckit": "^0.4.0", | ||
3269 | "combined-stream": "1.0.6", | ||
3270 | "mime-types": "^2.1.12" | ||
3271 | } | ||
3272 | } | ||
3273 | } | ||
3274 | }, | ||
3275 | "@sentry/hub": { | ||
3276 | "version": "4.6.5", | ||
3277 | "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-4.6.5.tgz", | ||
3278 | "integrity": "sha512-v9vee8s8C1fK/DPtNOzv6r+AMbPDOWfnasouNcBUkbQUSN5wUNyCDvt51QbWaw5kMMY5TSqjdVqY6gXQZI0APQ==", | ||
3279 | "requires": { | ||
3280 | "@sentry/types": "4.5.3", | ||
3281 | "@sentry/utils": "4.6.5", | ||
3282 | "tslib": "^1.9.3" | ||
3283 | } | ||
3284 | }, | ||
3285 | "@sentry/minimal": { | ||
3286 | "version": "4.6.5", | ||
3287 | "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-4.6.5.tgz", | ||
3288 | "integrity": "sha512-tf+J+uUNmSgzC7d9JSN8Ekw1HeBAX87Efa/jyFbzLvaw80oibvTiLSLqDjQ9PgvyIzBUuuPImkS2NpvPQGWFtg==", | ||
3289 | "requires": { | ||
3290 | "@sentry/hub": "4.6.5", | ||
3291 | "@sentry/types": "4.5.3", | ||
3292 | "tslib": "^1.9.3" | ||
3293 | } | ||
3294 | }, | ||
3295 | "@sentry/node": { | ||
3296 | "version": "4.6.6", | ||
3297 | "resolved": "https://registry.npmjs.org/@sentry/node/-/node-4.6.6.tgz", | ||
3298 | "integrity": "sha512-+zZHE2uOwQTgypP6N9oBd0Io6BKXaJh6mdmZBauF0G46/8V28sBQ/dXBtJJNZ8tW7eVlLGpLSGuJb9Ai7c/rNw==", | ||
3299 | "requires": { | ||
3300 | "@sentry/core": "4.6.6", | ||
3301 | "@sentry/hub": "4.6.5", | ||
3302 | "@sentry/types": "4.5.3", | ||
3303 | "@sentry/utils": "4.6.5", | ||
3304 | "@types/stack-trace": "0.0.29", | ||
3305 | "cookie": "0.3.1", | ||
3306 | "https-proxy-agent": "2.2.1", | ||
3307 | "lru_map": "0.3.3", | ||
3308 | "lsmod": "1.0.0", | ||
3309 | "stack-trace": "0.0.10", | ||
3310 | "tslib": "^1.9.3" | ||
3311 | }, | ||
3312 | "dependencies": { | ||
3313 | "debug": { | ||
3314 | "version": "3.2.6", | ||
3315 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", | ||
3316 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", | ||
3317 | "requires": { | ||
3318 | "ms": "^2.1.1" | ||
3319 | } | ||
3320 | }, | ||
3321 | "https-proxy-agent": { | ||
3322 | "version": "2.2.1", | ||
3323 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", | ||
3324 | "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", | ||
3325 | "requires": { | ||
3326 | "agent-base": "^4.1.0", | ||
3327 | "debug": "^3.1.0" | ||
3328 | } | ||
3329 | } | ||
3330 | } | ||
3331 | }, | ||
3332 | "@sentry/types": { | ||
3333 | "version": "4.5.3", | ||
3334 | "resolved": "https://registry.npmjs.org/@sentry/types/-/types-4.5.3.tgz", | ||
3335 | "integrity": "sha512-7ll1PAFNjrBNX9rzy3P2qAQrpQwHaDO3uKj735qsnGw34OtAS8Xr8WYrjI14f9fMPa/XIeWvMPb4GMic28V/ag==" | ||
3336 | }, | ||
3337 | "@sentry/utils": { | ||
3338 | "version": "4.6.5", | ||
3339 | "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-4.6.5.tgz", | ||
3340 | "integrity": "sha512-rTISJtRRbWsd3UE+TkA3QG1C0VzPKPW8w74tieBwYhtTCGmOHNwz2nDC/MZGbGj4OgDmNKKl4CCyQr88EX08hA==", | ||
3341 | "requires": { | ||
3342 | "@sentry/types": "4.5.3", | ||
3343 | "tslib": "^1.9.3" | ||
3344 | } | ||
3345 | }, | ||
3232 | "@sindresorhus/is": { | 3346 | "@sindresorhus/is": { |
3233 | "version": "0.14.0", | 3347 | "version": "0.14.0", |
3234 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", | 3348 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", |
@@ -3456,6 +3570,11 @@ | |||
3456 | "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.2.tgz", | 3570 | "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.2.tgz", |
3457 | "integrity": "sha512-G1Ggy7/9Nsa1Jt2yiBR2riEuyK2DFNnqow6R7cromXPMNynackRY1vqFTLz/gwnef1LHokbXThcPhqMRjUbkpQ==" | 3571 | "integrity": "sha512-G1Ggy7/9Nsa1Jt2yiBR2riEuyK2DFNnqow6R7cromXPMNynackRY1vqFTLz/gwnef1LHokbXThcPhqMRjUbkpQ==" |
3458 | }, | 3572 | }, |
3573 | "@types/stack-trace": { | ||
3574 | "version": "0.0.29", | ||
3575 | "resolved": "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.29.tgz", | ||
3576 | "integrity": "sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==" | ||
3577 | }, | ||
3459 | "@types/stack-utils": { | 3578 | "@types/stack-utils": { |
3460 | "version": "1.0.1", | 3579 | "version": "1.0.1", |
3461 | "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", | 3580 | "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", |
@@ -3820,7 +3939,6 @@ | |||
3820 | "version": "4.3.0", | 3939 | "version": "4.3.0", |
3821 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", | 3940 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", |
3822 | "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", | 3941 | "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", |
3823 | "dev": true, | ||
3824 | "requires": { | 3942 | "requires": { |
3825 | "es6-promisify": "^5.0.0" | 3943 | "es6-promisify": "^5.0.0" |
3826 | } | 3944 | } |
@@ -7529,7 +7647,6 @@ | |||
7529 | "version": "1.1.3", | 7647 | "version": "1.1.3", |
7530 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | 7648 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", |
7531 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", | 7649 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", |
7532 | "dev": true, | ||
7533 | "requires": { | 7650 | "requires": { |
7534 | "object-keys": "^1.0.12" | 7651 | "object-keys": "^1.0.12" |
7535 | } | 7652 | } |
@@ -8946,7 +9063,6 @@ | |||
8946 | "version": "1.14.2", | 9063 | "version": "1.14.2", |
8947 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", | 9064 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", |
8948 | "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", | 9065 | "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", |
8949 | "dev": true, | ||
8950 | "requires": { | 9066 | "requires": { |
8951 | "es-to-primitive": "^1.2.0", | 9067 | "es-to-primitive": "^1.2.0", |
8952 | "function-bind": "^1.1.1", | 9068 | "function-bind": "^1.1.1", |
@@ -8964,7 +9080,6 @@ | |||
8964 | "version": "1.2.0", | 9080 | "version": "1.2.0", |
8965 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", | 9081 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", |
8966 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", | 9082 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", |
8967 | "dev": true, | ||
8968 | "requires": { | 9083 | "requires": { |
8969 | "is-callable": "^1.1.4", | 9084 | "is-callable": "^1.1.4", |
8970 | "is-date-object": "^1.0.1", | 9085 | "is-date-object": "^1.0.1", |
@@ -8994,14 +9109,12 @@ | |||
8994 | "es6-promise": { | 9109 | "es6-promise": { |
8995 | "version": "4.2.8", | 9110 | "version": "4.2.8", |
8996 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", | 9111 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", |
8997 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", | 9112 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" |
8998 | "dev": true | ||
8999 | }, | 9113 | }, |
9000 | "es6-promisify": { | 9114 | "es6-promisify": { |
9001 | "version": "5.0.0", | 9115 | "version": "5.0.0", |
9002 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", | 9116 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", |
9003 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", | 9117 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", |
9004 | "dev": true, | ||
9005 | "requires": { | 9118 | "requires": { |
9006 | "es6-promise": "^4.0.3" | 9119 | "es6-promise": "^4.0.3" |
9007 | } | 9120 | } |
@@ -11224,8 +11337,7 @@ | |||
11224 | "function-bind": { | 11337 | "function-bind": { |
11225 | "version": "1.1.1", | 11338 | "version": "1.1.1", |
11226 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | 11339 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", |
11227 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", | 11340 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" |
11228 | "dev": true | ||
11229 | }, | 11341 | }, |
11230 | "functional-red-black-tree": { | 11342 | "functional-red-black-tree": { |
11231 | "version": "1.0.1", | 11343 | "version": "1.0.1", |
@@ -13397,7 +13509,6 @@ | |||
13397 | "version": "1.0.3", | 13509 | "version": "1.0.3", |
13398 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | 13510 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", |
13399 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | 13511 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", |
13400 | "dev": true, | ||
13401 | "requires": { | 13512 | "requires": { |
13402 | "function-bind": "^1.1.1" | 13513 | "function-bind": "^1.1.1" |
13403 | } | 13514 | } |
@@ -13458,8 +13569,7 @@ | |||
13458 | "has-symbols": { | 13569 | "has-symbols": { |
13459 | "version": "1.0.0", | 13570 | "version": "1.0.0", |
13460 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", | 13571 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", |
13461 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", | 13572 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" |
13462 | "dev": true | ||
13463 | }, | 13573 | }, |
13464 | "has-unicode": { | 13574 | "has-unicode": { |
13465 | "version": "2.0.1", | 13575 | "version": "2.0.1", |
@@ -14331,8 +14441,7 @@ | |||
14331 | "is-date-object": { | 14441 | "is-date-object": { |
14332 | "version": "1.0.1", | 14442 | "version": "1.0.1", |
14333 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", | 14443 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", |
14334 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", | 14444 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" |
14335 | "dev": true | ||
14336 | }, | 14445 | }, |
14337 | "is-descriptor": { | 14446 | "is-descriptor": { |
14338 | "version": "0.1.6", | 14447 | "version": "0.1.6", |
@@ -14525,7 +14634,6 @@ | |||
14525 | "version": "1.0.4", | 14634 | "version": "1.0.4", |
14526 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", | 14635 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", |
14527 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", | 14636 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", |
14528 | "dev": true, | ||
14529 | "requires": { | 14637 | "requires": { |
14530 | "has": "^1.0.1" | 14638 | "has": "^1.0.1" |
14531 | } | 14639 | } |
@@ -14556,7 +14664,6 @@ | |||
14556 | "version": "1.0.2", | 14664 | "version": "1.0.2", |
14557 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", | 14665 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", |
14558 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", | 14666 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", |
14559 | "dev": true, | ||
14560 | "requires": { | 14667 | "requires": { |
14561 | "has-symbols": "^1.0.0" | 14668 | "has-symbols": "^1.0.0" |
14562 | } | 14669 | } |
@@ -16513,6 +16620,16 @@ | |||
16513 | "es5-ext": "~0.10.2" | 16620 | "es5-ext": "~0.10.2" |
16514 | } | 16621 | } |
16515 | }, | 16622 | }, |
16623 | "lru_map": { | ||
16624 | "version": "0.3.3", | ||
16625 | "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", | ||
16626 | "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" | ||
16627 | }, | ||
16628 | "lsmod": { | ||
16629 | "version": "1.0.0", | ||
16630 | "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", | ||
16631 | "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=" | ||
16632 | }, | ||
16516 | "macos-notification-state": { | 16633 | "macos-notification-state": { |
16517 | "version": "1.3.1", | 16634 | "version": "1.3.1", |
16518 | "resolved": "https://registry.npmjs.org/macos-notification-state/-/macos-notification-state-1.3.1.tgz", | 16635 | "resolved": "https://registry.npmjs.org/macos-notification-state/-/macos-notification-state-1.3.1.tgz", |
@@ -18555,8 +18672,7 @@ | |||
18555 | "object-inspect": { | 18672 | "object-inspect": { |
18556 | "version": "1.6.0", | 18673 | "version": "1.6.0", |
18557 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", | 18674 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", |
18558 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", | 18675 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" |
18559 | "dev": true | ||
18560 | }, | 18676 | }, |
18561 | "object-is": { | 18677 | "object-is": { |
18562 | "version": "1.0.1", | 18678 | "version": "1.0.1", |
@@ -18567,8 +18683,7 @@ | |||
18567 | "object-keys": { | 18683 | "object-keys": { |
18568 | "version": "1.1.1", | 18684 | "version": "1.1.1", |
18569 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | 18685 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", |
18570 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | 18686 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" |
18571 | "dev": true | ||
18572 | }, | 18687 | }, |
18573 | "object-visit": { | 18688 | "object-visit": { |
18574 | "version": "1.0.1", | 18689 | "version": "1.0.1", |
@@ -18617,7 +18732,6 @@ | |||
18617 | "version": "2.0.3", | 18732 | "version": "2.0.3", |
18618 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", | 18733 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", |
18619 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", | 18734 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", |
18620 | "dev": true, | ||
18621 | "requires": { | 18735 | "requires": { |
18622 | "define-properties": "^1.1.2", | 18736 | "define-properties": "^1.1.2", |
18623 | "es-abstract": "^1.5.1" | 18737 | "es-abstract": "^1.5.1" |
@@ -23134,7 +23248,6 @@ | |||
23134 | "version": "2.1.0", | 23248 | "version": "2.1.0", |
23135 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", | 23249 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", |
23136 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", | 23250 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", |
23137 | "dev": true, | ||
23138 | "requires": { | 23251 | "requires": { |
23139 | "define-properties": "^1.1.3", | 23252 | "define-properties": "^1.1.3", |
23140 | "function-bind": "^1.1.1" | 23253 | "function-bind": "^1.1.1" |
@@ -23144,7 +23257,6 @@ | |||
23144 | "version": "2.1.0", | 23257 | "version": "2.1.0", |
23145 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", | 23258 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", |
23146 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", | 23259 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", |
23147 | "dev": true, | ||
23148 | "requires": { | 23260 | "requires": { |
23149 | "define-properties": "^1.1.3", | 23261 | "define-properties": "^1.1.3", |
23150 | "function-bind": "^1.1.1" | 23262 | "function-bind": "^1.1.1" |
@@ -24738,7 +24850,6 @@ | |||
24738 | "version": "1.0.0", | 24850 | "version": "1.0.0", |
24739 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", | 24851 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", |
24740 | "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", | 24852 | "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", |
24741 | "dev": true, | ||
24742 | "requires": { | 24853 | "requires": { |
24743 | "define-properties": "^1.1.2", | 24854 | "define-properties": "^1.1.2", |
24744 | "object.getownpropertydescriptors": "^2.0.3" | 24855 | "object.getownpropertydescriptors": "^2.0.3" |
diff --git a/package.json b/package.json index 6bafa0f2b..a3b6d9377 100644 --- a/package.json +++ b/package.json | |||
@@ -56,6 +56,7 @@ | |||
56 | "@meetfranz/forms": "file:packages/forms", | 56 | "@meetfranz/forms": "file:packages/forms", |
57 | "@meetfranz/theme": "file:packages/theme", | 57 | "@meetfranz/theme": "file:packages/theme", |
58 | "@meetfranz/ui": "file:packages/ui", | 58 | "@meetfranz/ui": "file:packages/ui", |
59 | "@sentry/electron": "0.17.4", | ||
59 | "address-rfc2822": "^2.0.1", | 60 | "address-rfc2822": "^2.0.1", |
60 | "atob": "2.1.2", | 61 | "atob": "2.1.2", |
61 | "auto-launch": "5.0.5", | 62 | "auto-launch": "5.0.5", |
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index 164bc237b..627425948 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js | |||
@@ -458,7 +458,7 @@ export default class ServerApi { | |||
458 | 458 | ||
459 | // News | 459 | // News |
460 | async getLatestNews() { | 460 | async getLatestNews() { |
461 | const url = `${apiBase()}/news?platform=${os.platform()}&arch=${os.arch()}&version=${app.getVersion()}`; | 461 | const url = `https://api.getferdi.com/v1/news?platform=${os.platform()}&arch=${os.arch()}&version=${app.getVersion()}`; |
462 | const request = await sendAuthRequest(url); | 462 | const request = await sendAuthRequest(url); |
463 | if (!request.ok) throw request; | 463 | if (!request.ok) throw request; |
464 | const data = await request.json(); | 464 | const data = await request.json(); |
@@ -468,7 +468,7 @@ export default class ServerApi { | |||
468 | } | 468 | } |
469 | 469 | ||
470 | async hideNews(id) { | 470 | async hideNews(id) { |
471 | const request = await sendAuthRequest(`${apiBase()}/news/${id}/read`); | 471 | const request = await sendAuthRequest(`https://api.getferdi.com/v1/news/${id}/read`); |
472 | if (!request.ok) throw request; | 472 | if (!request.ok) throw request; |
473 | debug('ServerApi::hideNews resolves', id); | 473 | debug('ServerApi::hideNews resolves', id); |
474 | } | 474 | } |
diff --git a/src/features/accentColor/index.js b/src/features/accentColor/index.js index a0f57a2fa..90fbcab43 100644 --- a/src/features/accentColor/index.js +++ b/src/features/accentColor/index.js | |||
@@ -4,6 +4,15 @@ import { DEFAULT_APP_SETTINGS } from '../../config'; | |||
4 | 4 | ||
5 | const STYLE_ELEMENT_ID = 'accent-color'; | 5 | const STYLE_ELEMENT_ID = 'accent-color'; |
6 | 6 | ||
7 | // Additional styles needed to make accent colors work properly | ||
8 | // "[ACCENT]" will be replaced with the accent color | ||
9 | const ADDITIONAL_STYLES = ` | ||
10 | .franz-form__button { | ||
11 | background: inherit !important; | ||
12 | border: 2px solid [ACCENT] !important; | ||
13 | } | ||
14 | `; | ||
15 | |||
7 | function createAccentStyleElement() { | 16 | function createAccentStyleElement() { |
8 | const styles = document.createElement('style'); | 17 | const styles = document.createElement('style'); |
9 | styles.id = STYLE_ELEMENT_ID; | 18 | styles.id = STYLE_ELEMENT_ID; |
@@ -13,6 +22,7 @@ function createAccentStyleElement() { | |||
13 | 22 | ||
14 | function setAccentStyle(style) { | 23 | function setAccentStyle(style) { |
15 | const styleElement = document.getElementById(STYLE_ELEMENT_ID); | 24 | const styleElement = document.getElementById(STYLE_ELEMENT_ID); |
25 | |||
16 | styleElement.innerHTML = style; | 26 | styleElement.innerHTML = style; |
17 | } | 27 | } |
18 | 28 | ||
@@ -27,6 +37,8 @@ function generateAccentStyle(color) { | |||
27 | `; | 37 | `; |
28 | }); | 38 | }); |
29 | 39 | ||
40 | style += ADDITIONAL_STYLES.replace(/\[ACCENT\]/g, color); | ||
41 | |||
30 | return style; | 42 | return style; |
31 | } | 43 | } |
32 | 44 | ||
diff --git a/src/index.html b/src/index.html index 7f223b662..31e8aa553 100644 --- a/src/index.html +++ b/src/index.html | |||
@@ -14,6 +14,7 @@ | |||
14 | <script> | 14 | <script> |
15 | document.querySelector('body').classList.add(process.env.OS_PLATFORM ? process.env.OS_PLATFORM : process.platform); | 15 | document.querySelector('body').classList.add(process.env.OS_PLATFORM ? process.env.OS_PLATFORM : process.platform); |
16 | 16 | ||
17 | require('./sentry') | ||
17 | const { isDevMode } = require('./environment'); | 18 | const { isDevMode } = require('./environment'); |
18 | if (isDevMode) { | 19 | if (isDevMode) { |
19 | const debugging = require('debug'); | 20 | const debugging = require('debug'); |
diff --git a/src/index.js b/src/index.js index 3453b46f7..bc3c9555a 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -39,6 +39,7 @@ import handleDeepLink from './electron/deepLinking'; | |||
39 | import { isPositionValid } from './electron/windowUtils'; | 39 | import { isPositionValid } from './electron/windowUtils'; |
40 | import { appId } from './package.json'; // eslint-disable-line import/no-unresolved | 40 | import { appId } from './package.json'; // eslint-disable-line import/no-unresolved |
41 | import './electron/exception'; | 41 | import './electron/exception'; |
42 | import './sentry'; | ||
42 | 43 | ||
43 | import { | 44 | import { |
44 | DEFAULT_APP_SETTINGS, | 45 | DEFAULT_APP_SETTINGS, |
@@ -173,6 +174,7 @@ const createWindow = () => { | |||
173 | webPreferences: { | 174 | webPreferences: { |
174 | nodeIntegration: true, | 175 | nodeIntegration: true, |
175 | webviewTag: true, | 176 | webviewTag: true, |
177 | preload: path.join(__dirname, 'sentry.js') | ||
176 | }, | 178 | }, |
177 | }); | 179 | }); |
178 | 180 | ||
diff --git a/src/sentry.js b/src/sentry.js new file mode 100644 index 000000000..4f6d7205d --- /dev/null +++ b/src/sentry.js | |||
@@ -0,0 +1,5 @@ | |||
1 | import * as Sentry from '@sentry/electron'; | ||
2 | |||
3 | Sentry.init({ | ||
4 | dsn: 'https://f3d022fbcf6243a68a58d681c2122ee4@sentry.io/1803053', | ||
5 | }); | ||