aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md6
-rw-r--r--src/i18n/locales/defaultMessages.json76
-rw-r--r--src/i18n/messages/src/containers/settings/EditServiceScreen.json76
-rw-r--r--src/index.js20
-rw-r--r--src/models/Service.js14
5 files changed, 114 insertions, 78 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e69db8440..30d7b767e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
1# [v5.6.1-nightly.54](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.53...v5.6.1-nightly.54) (2021-09-09)
2
3### Internal
4
5- Ability for service recipe to expose known certificate hosts (#1890) 💖 @vraravam
6
1# [v5.6.1-nightly.53](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.52...v5.6.1-nightly.53) (2021-09-08) 7# [v5.6.1-nightly.53](https://github.com/getferdi/ferdi/compare/v5.6.1-nightly.52...v5.6.1-nightly.53) (2021-09-08)
2 8
3- Add a confirmation dialog and a preference while quitting Ferdi (#1879) 💖 @vraravam 9- Add a confirmation dialog and a preference while quitting Ferdi (#1879) 💖 @vraravam
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json
index 7624168ba..78de47953 100644
--- a/src/i18n/locales/defaultMessages.json
+++ b/src/i18n/locales/defaultMessages.json
@@ -3923,247 +3923,247 @@
3923 "defaultMessage": "!!!Name", 3923 "defaultMessage": "!!!Name",
3924 "end": { 3924 "end": {
3925 "column": 3, 3925 "column": 3,
3926 "line": 31 3926 "line": 29
3927 }, 3927 },
3928 "file": "src/containers/settings/EditServiceScreen.js", 3928 "file": "src/containers/settings/EditServiceScreen.js",
3929 "id": "settings.service.form.name", 3929 "id": "settings.service.form.name",
3930 "start": { 3930 "start": {
3931 "column": 8, 3931 "column": 8,
3932 "line": 28 3932 "line": 26
3933 } 3933 }
3934 }, 3934 },
3935 { 3935 {
3936 "defaultMessage": "!!!Enable service", 3936 "defaultMessage": "!!!Enable service",
3937 "end": { 3937 "end": {
3938 "column": 3, 3938 "column": 3,
3939 "line": 35 3939 "line": 33
3940 }, 3940 },
3941 "file": "src/containers/settings/EditServiceScreen.js", 3941 "file": "src/containers/settings/EditServiceScreen.js",
3942 "id": "settings.service.form.enableService", 3942 "id": "settings.service.form.enableService",
3943 "start": { 3943 "start": {
3944 "column": 17, 3944 "column": 17,
3945 "line": 32 3945 "line": 30
3946 } 3946 }
3947 }, 3947 },
3948 { 3948 {
3949 "defaultMessage": "!!!Enable hibernation", 3949 "defaultMessage": "!!!Enable hibernation",
3950 "end": { 3950 "end": {
3951 "column": 3, 3951 "column": 3,
3952 "line": 39 3952 "line": 37
3953 }, 3953 },
3954 "file": "src/containers/settings/EditServiceScreen.js", 3954 "file": "src/containers/settings/EditServiceScreen.js",
3955 "id": "settings.service.form.enableHibernation", 3955 "id": "settings.service.form.enableHibernation",
3956 "start": { 3956 "start": {
3957 "column": 21, 3957 "column": 21,
3958 "line": 36 3958 "line": 34
3959 } 3959 }
3960 }, 3960 },
3961 { 3961 {
3962 "defaultMessage": "!!!Enable Notifications", 3962 "defaultMessage": "!!!Enable Notifications",
3963 "end": { 3963 "end": {
3964 "column": 3, 3964 "column": 3,
3965 "line": 43 3965 "line": 41
3966 }, 3966 },
3967 "file": "src/containers/settings/EditServiceScreen.js", 3967 "file": "src/containers/settings/EditServiceScreen.js",
3968 "id": "settings.service.form.enableNotification", 3968 "id": "settings.service.form.enableNotification",
3969 "start": { 3969 "start": {
3970 "column": 22, 3970 "column": 22,
3971 "line": 40 3971 "line": 38
3972 } 3972 }
3973 }, 3973 },
3974 { 3974 {
3975 "defaultMessage": "!!!Show unread message badges", 3975 "defaultMessage": "!!!Show unread message badges",
3976 "end": { 3976 "end": {
3977 "column": 3, 3977 "column": 3,
3978 "line": 47 3978 "line": 45
3979 }, 3979 },
3980 "file": "src/containers/settings/EditServiceScreen.js", 3980 "file": "src/containers/settings/EditServiceScreen.js",
3981 "id": "settings.service.form.enableBadge", 3981 "id": "settings.service.form.enableBadge",
3982 "start": { 3982 "start": {
3983 "column": 15, 3983 "column": 15,
3984 "line": 44 3984 "line": 42
3985 } 3985 }
3986 }, 3986 },
3987 { 3987 {
3988 "defaultMessage": "!!!Enable audio", 3988 "defaultMessage": "!!!Enable audio",
3989 "end": { 3989 "end": {
3990 "column": 3, 3990 "column": 3,
3991 "line": 51 3991 "line": 49
3992 }, 3992 },
3993 "file": "src/containers/settings/EditServiceScreen.js", 3993 "file": "src/containers/settings/EditServiceScreen.js",
3994 "id": "settings.service.form.enableAudio", 3994 "id": "settings.service.form.enableAudio",
3995 "start": { 3995 "start": {
3996 "column": 15, 3996 "column": 15,
3997 "line": 48 3997 "line": 46
3998 } 3998 }
3999 }, 3999 },
4000 { 4000 {
4001 "defaultMessage": "!!!Team", 4001 "defaultMessage": "!!!Team",
4002 "end": { 4002 "end": {
4003 "column": 3, 4003 "column": 3,
4004 "line": 55 4004 "line": 53
4005 }, 4005 },
4006 "file": "src/containers/settings/EditServiceScreen.js", 4006 "file": "src/containers/settings/EditServiceScreen.js",
4007 "id": "settings.service.form.team", 4007 "id": "settings.service.form.team",
4008 "start": { 4008 "start": {
4009 "column": 8, 4009 "column": 8,
4010 "line": 52 4010 "line": 50
4011 } 4011 }
4012 }, 4012 },
4013 { 4013 {
4014 "defaultMessage": "!!!Service URL", 4014 "defaultMessage": "!!!Service URL",
4015 "end": { 4015 "end": {
4016 "column": 3, 4016 "column": 3,
4017 "line": 59 4017 "line": 57
4018 }, 4018 },
4019 "file": "src/containers/settings/EditServiceScreen.js", 4019 "file": "src/containers/settings/EditServiceScreen.js",
4020 "id": "settings.service.form.customUrl", 4020 "id": "settings.service.form.customUrl",
4021 "start": { 4021 "start": {
4022 "column": 13, 4022 "column": 13,
4023 "line": 56 4023 "line": 54
4024 } 4024 }
4025 }, 4025 },
4026 { 4026 {
4027 "defaultMessage": "!!!Show message badge for all new messages", 4027 "defaultMessage": "!!!Show message badge for all new messages",
4028 "end": { 4028 "end": {
4029 "column": 3, 4029 "column": 3,
4030 "line": 63 4030 "line": 61
4031 }, 4031 },
4032 "file": "src/containers/settings/EditServiceScreen.js", 4032 "file": "src/containers/settings/EditServiceScreen.js",
4033 "id": "settings.service.form.indirectMessages", 4033 "id": "settings.service.form.indirectMessages",
4034 "start": { 4034 "start": {
4035 "column": 20, 4035 "column": 20,
4036 "line": 60 4036 "line": 58
4037 } 4037 }
4038 }, 4038 },
4039 { 4039 {
4040 "defaultMessage": "!!!Custom icon", 4040 "defaultMessage": "!!!Custom icon",
4041 "end": { 4041 "end": {
4042 "column": 3, 4042 "column": 3,
4043 "line": 67 4043 "line": 65
4044 }, 4044 },
4045 "file": "src/containers/settings/EditServiceScreen.js", 4045 "file": "src/containers/settings/EditServiceScreen.js",
4046 "id": "settings.service.form.icon", 4046 "id": "settings.service.form.icon",
4047 "start": { 4047 "start": {
4048 "column": 8, 4048 "column": 8,
4049 "line": 64 4049 "line": 62
4050 } 4050 }
4051 }, 4051 },
4052 { 4052 {
4053 "defaultMessage": "!!!Enable Dark Mode", 4053 "defaultMessage": "!!!Enable Dark Mode",
4054 "end": { 4054 "end": {
4055 "column": 3, 4055 "column": 3,
4056 "line": 71 4056 "line": 69
4057 }, 4057 },
4058 "file": "src/containers/settings/EditServiceScreen.js", 4058 "file": "src/containers/settings/EditServiceScreen.js",
4059 "id": "settings.service.form.enableDarkMode", 4059 "id": "settings.service.form.enableDarkMode",
4060 "start": { 4060 "start": {
4061 "column": 18, 4061 "column": 18,
4062 "line": 68 4062 "line": 66
4063 } 4063 }
4064 }, 4064 },
4065 { 4065 {
4066 "defaultMessage": "!!!Dark Reader Brightness", 4066 "defaultMessage": "!!!Dark Reader Brightness",
4067 "end": { 4067 "end": {
4068 "column": 3, 4068 "column": 3,
4069 "line": 75 4069 "line": 73
4070 }, 4070 },
4071 "file": "src/containers/settings/EditServiceScreen.js", 4071 "file": "src/containers/settings/EditServiceScreen.js",
4072 "id": "settings.service.form.darkReaderBrightness", 4072 "id": "settings.service.form.darkReaderBrightness",
4073 "start": { 4073 "start": {
4074 "column": 24, 4074 "column": 24,
4075 "line": 72 4075 "line": 70
4076 } 4076 }
4077 }, 4077 },
4078 { 4078 {
4079 "defaultMessage": "!!!Dark Reader Contrast", 4079 "defaultMessage": "!!!Dark Reader Contrast",
4080 "end": { 4080 "end": {
4081 "column": 3, 4081 "column": 3,
4082 "line": 79 4082 "line": 77
4083 }, 4083 },
4084 "file": "src/containers/settings/EditServiceScreen.js", 4084 "file": "src/containers/settings/EditServiceScreen.js",
4085 "id": "settings.service.form.darkReaderContrast", 4085 "id": "settings.service.form.darkReaderContrast",
4086 "start": { 4086 "start": {
4087 "column": 22, 4087 "column": 22,
4088 "line": 76 4088 "line": 74
4089 } 4089 }
4090 }, 4090 },
4091 { 4091 {
4092 "defaultMessage": "!!!Dark Reader Sepia", 4092 "defaultMessage": "!!!Dark Reader Sepia",
4093 "end": { 4093 "end": {
4094 "column": 3, 4094 "column": 3,
4095 "line": 83 4095 "line": 81
4096 }, 4096 },
4097 "file": "src/containers/settings/EditServiceScreen.js", 4097 "file": "src/containers/settings/EditServiceScreen.js",
4098 "id": "settings.service.form.darkReaderSepia", 4098 "id": "settings.service.form.darkReaderSepia",
4099 "start": { 4099 "start": {
4100 "column": 19, 4100 "column": 19,
4101 "line": 80 4101 "line": 78
4102 } 4102 }
4103 }, 4103 },
4104 { 4104 {
4105 "defaultMessage": "!!!Use Proxy", 4105 "defaultMessage": "!!!Use Proxy",
4106 "end": { 4106 "end": {
4107 "column": 3, 4107 "column": 3,
4108 "line": 87 4108 "line": 85
4109 }, 4109 },
4110 "file": "src/containers/settings/EditServiceScreen.js", 4110 "file": "src/containers/settings/EditServiceScreen.js",
4111 "id": "settings.service.form.proxy.isEnabled", 4111 "id": "settings.service.form.proxy.isEnabled",
4112 "start": { 4112 "start": {
4113 "column": 15, 4113 "column": 15,
4114 "line": 84 4114 "line": 82
4115 } 4115 }
4116 }, 4116 },
4117 { 4117 {
4118 "defaultMessage": "!!!Proxy Host/IP", 4118 "defaultMessage": "!!!Proxy Host/IP",
4119 "end": { 4119 "end": {
4120 "column": 3, 4120 "column": 3,
4121 "line": 91 4121 "line": 89
4122 }, 4122 },
4123 "file": "src/containers/settings/EditServiceScreen.js", 4123 "file": "src/containers/settings/EditServiceScreen.js",
4124 "id": "settings.service.form.proxy.host", 4124 "id": "settings.service.form.proxy.host",
4125 "start": { 4125 "start": {
4126 "column": 13, 4126 "column": 13,
4127 "line": 88 4127 "line": 86
4128 } 4128 }
4129 }, 4129 },
4130 { 4130 {
4131 "defaultMessage": "!!!Port", 4131 "defaultMessage": "!!!Port",
4132 "end": { 4132 "end": {
4133 "column": 3, 4133 "column": 3,
4134 "line": 95 4134 "line": 93
4135 }, 4135 },
4136 "file": "src/containers/settings/EditServiceScreen.js", 4136 "file": "src/containers/settings/EditServiceScreen.js",
4137 "id": "settings.service.form.proxy.port", 4137 "id": "settings.service.form.proxy.port",
4138 "start": { 4138 "start": {
4139 "column": 13, 4139 "column": 13,
4140 "line": 92 4140 "line": 90
4141 } 4141 }
4142 }, 4142 },
4143 { 4143 {
4144 "defaultMessage": "!!!User", 4144 "defaultMessage": "!!!User",
4145 "end": { 4145 "end": {
4146 "column": 3, 4146 "column": 3,
4147 "line": 99 4147 "line": 97
4148 }, 4148 },
4149 "file": "src/containers/settings/EditServiceScreen.js", 4149 "file": "src/containers/settings/EditServiceScreen.js",
4150 "id": "settings.service.form.proxy.user", 4150 "id": "settings.service.form.proxy.user",
4151 "start": { 4151 "start": {
4152 "column": 13, 4152 "column": 13,
4153 "line": 96 4153 "line": 94
4154 } 4154 }
4155 }, 4155 },
4156 { 4156 {
4157 "defaultMessage": "!!!Password", 4157 "defaultMessage": "!!!Password",
4158 "end": { 4158 "end": {
4159 "column": 3, 4159 "column": 3,
4160 "line": 103 4160 "line": 101
4161 }, 4161 },
4162 "file": "src/containers/settings/EditServiceScreen.js", 4162 "file": "src/containers/settings/EditServiceScreen.js",
4163 "id": "settings.service.form.proxy.password", 4163 "id": "settings.service.form.proxy.password",
4164 "start": { 4164 "start": {
4165 "column": 17, 4165 "column": 17,
4166 "line": 100 4166 "line": 98
4167 } 4167 }
4168 } 4168 }
4169 ], 4169 ],
diff --git a/src/i18n/messages/src/containers/settings/EditServiceScreen.json b/src/i18n/messages/src/containers/settings/EditServiceScreen.json
index 6744a9ff3..4e44b3c8c 100644
--- a/src/i18n/messages/src/containers/settings/EditServiceScreen.json
+++ b/src/i18n/messages/src/containers/settings/EditServiceScreen.json
@@ -4,11 +4,11 @@
4 "defaultMessage": "!!!Name", 4 "defaultMessage": "!!!Name",
5 "file": "src/containers/settings/EditServiceScreen.js", 5 "file": "src/containers/settings/EditServiceScreen.js",
6 "start": { 6 "start": {
7 "line": 28, 7 "line": 26,
8 "column": 8 8 "column": 8
9 }, 9 },
10 "end": { 10 "end": {
11 "line": 31, 11 "line": 29,
12 "column": 3 12 "column": 3
13 } 13 }
14 }, 14 },
@@ -17,11 +17,11 @@
17 "defaultMessage": "!!!Enable service", 17 "defaultMessage": "!!!Enable service",
18 "file": "src/containers/settings/EditServiceScreen.js", 18 "file": "src/containers/settings/EditServiceScreen.js",
19 "start": { 19 "start": {
20 "line": 32, 20 "line": 30,
21 "column": 17 21 "column": 17
22 }, 22 },
23 "end": { 23 "end": {
24 "line": 35, 24 "line": 33,
25 "column": 3 25 "column": 3
26 } 26 }
27 }, 27 },
@@ -30,11 +30,11 @@
30 "defaultMessage": "!!!Enable hibernation", 30 "defaultMessage": "!!!Enable hibernation",
31 "file": "src/containers/settings/EditServiceScreen.js", 31 "file": "src/containers/settings/EditServiceScreen.js",
32 "start": { 32 "start": {
33 "line": 36, 33 "line": 34,
34 "column": 21 34 "column": 21
35 }, 35 },
36 "end": { 36 "end": {
37 "line": 39, 37 "line": 37,
38 "column": 3 38 "column": 3
39 } 39 }
40 }, 40 },
@@ -43,11 +43,11 @@
43 "defaultMessage": "!!!Enable Notifications", 43 "defaultMessage": "!!!Enable Notifications",
44 "file": "src/containers/settings/EditServiceScreen.js", 44 "file": "src/containers/settings/EditServiceScreen.js",
45 "start": { 45 "start": {
46 "line": 40, 46 "line": 38,
47 "column": 22 47 "column": 22
48 }, 48 },
49 "end": { 49 "end": {
50 "line": 43, 50 "line": 41,
51 "column": 3 51 "column": 3
52 } 52 }
53 }, 53 },
@@ -56,11 +56,11 @@
56 "defaultMessage": "!!!Show unread message badges", 56 "defaultMessage": "!!!Show unread message badges",
57 "file": "src/containers/settings/EditServiceScreen.js", 57 "file": "src/containers/settings/EditServiceScreen.js",
58 "start": { 58 "start": {
59 "line": 44, 59 "line": 42,
60 "column": 15 60 "column": 15
61 }, 61 },
62 "end": { 62 "end": {
63 "line": 47, 63 "line": 45,
64 "column": 3 64 "column": 3
65 } 65 }
66 }, 66 },
@@ -69,11 +69,11 @@
69 "defaultMessage": "!!!Enable audio", 69 "defaultMessage": "!!!Enable audio",
70 "file": "src/containers/settings/EditServiceScreen.js", 70 "file": "src/containers/settings/EditServiceScreen.js",
71 "start": { 71 "start": {
72 "line": 48, 72 "line": 46,
73 "column": 15 73 "column": 15
74 }, 74 },
75 "end": { 75 "end": {
76 "line": 51, 76 "line": 49,
77 "column": 3 77 "column": 3
78 } 78 }
79 }, 79 },
@@ -82,11 +82,11 @@
82 "defaultMessage": "!!!Team", 82 "defaultMessage": "!!!Team",
83 "file": "src/containers/settings/EditServiceScreen.js", 83 "file": "src/containers/settings/EditServiceScreen.js",
84 "start": { 84 "start": {
85 "line": 52, 85 "line": 50,
86 "column": 8 86 "column": 8
87 }, 87 },
88 "end": { 88 "end": {
89 "line": 55, 89 "line": 53,
90 "column": 3 90 "column": 3
91 } 91 }
92 }, 92 },
@@ -95,11 +95,11 @@
95 "defaultMessage": "!!!Service URL", 95 "defaultMessage": "!!!Service URL",
96 "file": "src/containers/settings/EditServiceScreen.js", 96 "file": "src/containers/settings/EditServiceScreen.js",
97 "start": { 97 "start": {
98 "line": 56, 98 "line": 54,
99 "column": 13 99 "column": 13
100 }, 100 },
101 "end": { 101 "end": {
102 "line": 59, 102 "line": 57,
103 "column": 3 103 "column": 3
104 } 104 }
105 }, 105 },
@@ -108,11 +108,11 @@
108 "defaultMessage": "!!!Show message badge for all new messages", 108 "defaultMessage": "!!!Show message badge for all new messages",
109 "file": "src/containers/settings/EditServiceScreen.js", 109 "file": "src/containers/settings/EditServiceScreen.js",
110 "start": { 110 "start": {
111 "line": 60, 111 "line": 58,
112 "column": 20 112 "column": 20
113 }, 113 },
114 "end": { 114 "end": {
115 "line": 63, 115 "line": 61,
116 "column": 3 116 "column": 3
117 } 117 }
118 }, 118 },
@@ -121,11 +121,11 @@
121 "defaultMessage": "!!!Custom icon", 121 "defaultMessage": "!!!Custom icon",
122 "file": "src/containers/settings/EditServiceScreen.js", 122 "file": "src/containers/settings/EditServiceScreen.js",
123 "start": { 123 "start": {
124 "line": 64, 124 "line": 62,
125 "column": 8 125 "column": 8
126 }, 126 },
127 "end": { 127 "end": {
128 "line": 67, 128 "line": 65,
129 "column": 3 129 "column": 3
130 } 130 }
131 }, 131 },
@@ -134,11 +134,11 @@
134 "defaultMessage": "!!!Enable Dark Mode", 134 "defaultMessage": "!!!Enable Dark Mode",
135 "file": "src/containers/settings/EditServiceScreen.js", 135 "file": "src/containers/settings/EditServiceScreen.js",
136 "start": { 136 "start": {
137 "line": 68, 137 "line": 66,
138 "column": 18 138 "column": 18
139 }, 139 },
140 "end": { 140 "end": {
141 "line": 71, 141 "line": 69,
142 "column": 3 142 "column": 3
143 } 143 }
144 }, 144 },
@@ -147,11 +147,11 @@
147 "defaultMessage": "!!!Dark Reader Brightness", 147 "defaultMessage": "!!!Dark Reader Brightness",
148 "file": "src/containers/settings/EditServiceScreen.js", 148 "file": "src/containers/settings/EditServiceScreen.js",
149 "start": { 149 "start": {
150 "line": 72, 150 "line": 70,
151 "column": 24 151 "column": 24
152 }, 152 },
153 "end": { 153 "end": {
154 "line": 75, 154 "line": 73,
155 "column": 3 155 "column": 3
156 } 156 }
157 }, 157 },
@@ -160,11 +160,11 @@
160 "defaultMessage": "!!!Dark Reader Contrast", 160 "defaultMessage": "!!!Dark Reader Contrast",
161 "file": "src/containers/settings/EditServiceScreen.js", 161 "file": "src/containers/settings/EditServiceScreen.js",
162 "start": { 162 "start": {
163 "line": 76, 163 "line": 74,
164 "column": 22 164 "column": 22
165 }, 165 },
166 "end": { 166 "end": {
167 "line": 79, 167 "line": 77,
168 "column": 3 168 "column": 3
169 } 169 }
170 }, 170 },
@@ -173,11 +173,11 @@
173 "defaultMessage": "!!!Dark Reader Sepia", 173 "defaultMessage": "!!!Dark Reader Sepia",
174 "file": "src/containers/settings/EditServiceScreen.js", 174 "file": "src/containers/settings/EditServiceScreen.js",
175 "start": { 175 "start": {
176 "line": 80, 176 "line": 78,
177 "column": 19 177 "column": 19
178 }, 178 },
179 "end": { 179 "end": {
180 "line": 83, 180 "line": 81,
181 "column": 3 181 "column": 3
182 } 182 }
183 }, 183 },
@@ -186,11 +186,11 @@
186 "defaultMessage": "!!!Use Proxy", 186 "defaultMessage": "!!!Use Proxy",
187 "file": "src/containers/settings/EditServiceScreen.js", 187 "file": "src/containers/settings/EditServiceScreen.js",
188 "start": { 188 "start": {
189 "line": 84, 189 "line": 82,
190 "column": 15 190 "column": 15
191 }, 191 },
192 "end": { 192 "end": {
193 "line": 87, 193 "line": 85,
194 "column": 3 194 "column": 3
195 } 195 }
196 }, 196 },
@@ -199,11 +199,11 @@
199 "defaultMessage": "!!!Proxy Host/IP", 199 "defaultMessage": "!!!Proxy Host/IP",
200 "file": "src/containers/settings/EditServiceScreen.js", 200 "file": "src/containers/settings/EditServiceScreen.js",
201 "start": { 201 "start": {
202 "line": 88, 202 "line": 86,
203 "column": 13 203 "column": 13
204 }, 204 },
205 "end": { 205 "end": {
206 "line": 91, 206 "line": 89,
207 "column": 3 207 "column": 3
208 } 208 }
209 }, 209 },
@@ -212,11 +212,11 @@
212 "defaultMessage": "!!!Port", 212 "defaultMessage": "!!!Port",
213 "file": "src/containers/settings/EditServiceScreen.js", 213 "file": "src/containers/settings/EditServiceScreen.js",
214 "start": { 214 "start": {
215 "line": 92, 215 "line": 90,
216 "column": 13 216 "column": 13
217 }, 217 },
218 "end": { 218 "end": {
219 "line": 95, 219 "line": 93,
220 "column": 3 220 "column": 3
221 } 221 }
222 }, 222 },
@@ -225,11 +225,11 @@
225 "defaultMessage": "!!!User", 225 "defaultMessage": "!!!User",
226 "file": "src/containers/settings/EditServiceScreen.js", 226 "file": "src/containers/settings/EditServiceScreen.js",
227 "start": { 227 "start": {
228 "line": 96, 228 "line": 94,
229 "column": 13 229 "column": 13
230 }, 230 },
231 "end": { 231 "end": {
232 "line": 99, 232 "line": 97,
233 "column": 3 233 "column": 3
234 } 234 }
235 }, 235 },
@@ -238,11 +238,11 @@
238 "defaultMessage": "!!!Password", 238 "defaultMessage": "!!!Password",
239 "file": "src/containers/settings/EditServiceScreen.js", 239 "file": "src/containers/settings/EditServiceScreen.js",
240 "start": { 240 "start": {
241 "line": 100, 241 "line": 98,
242 "column": 17 242 "column": 17
243 }, 243 },
244 "end": { 244 "end": {
245 "line": 103, 245 "line": 101,
246 "column": 3 246 "column": 3
247 } 247 }
248 } 248 }
diff --git a/src/index.js b/src/index.js
index 55f58bb56..ae75865c6 100644
--- a/src/index.js
+++ b/src/index.js
@@ -470,7 +470,7 @@ ipcMain.on('open-browser-window', (e, { url, serviceId }) => {
470ipcMain.on( 470ipcMain.on(
471 'modifyRequestHeaders', 471 'modifyRequestHeaders',
472 (e, { modifiedRequestHeaders, serviceId }) => { 472 (e, { modifiedRequestHeaders, serviceId }) => {
473 debug('Received modifyRequestHeaders', modifiedRequestHeaders, serviceId); 473 debug(`Received modifyRequestHeaders ${modifiedRequestHeaders} for serviceId ${serviceId}`);
474 modifiedRequestHeaders.forEach(headerFilterSet => { 474 modifiedRequestHeaders.forEach(headerFilterSet => {
475 const { headers, requestFilters } = headerFilterSet; 475 const { headers, requestFilters } = headerFilterSet;
476 session 476 session
@@ -488,6 +488,24 @@ ipcMain.on(
488 }, 488 },
489); 489);
490 490
491ipcMain.on(
492 'knownCertificateHosts',
493 (e, { knownHosts, serviceId }) => {
494 debug(`Received knownCertificateHosts ${knownHosts} for serviceId ${serviceId}`);
495 session
496 .fromPartition(`persist:service-${serviceId}`)
497 .setCertificateVerifyProc((request, callback) => {
498 // To know more about these callbacks: https://www.electronjs.org/docs/api/session#sessetcertificateverifyprocproc
499 const { hostname } = request;
500 if (knownHosts.find(item => item.includes(hostname)).length > 0) {
501 callback(0);
502 } else {
503 callback(-2);
504 }
505 });
506 },
507);
508
491ipcMain.on('feature-basic-auth-cancel', () => { 509ipcMain.on('feature-basic-auth-cancel', () => {
492 debug('Cancel basic auth'); 510 debug('Cancel basic auth');
493 511
diff --git a/src/models/Service.js b/src/models/Service.js
index ee6fe8b6e..4ee054b2b 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -245,7 +245,7 @@ export default class Service {
245 245
246 this.userAgentModel.setWebviewReference(this.webview); 246 this.userAgentModel.setWebviewReference(this.webview);
247 247
248 // If the recipe has implemented modifyRequestHeaders, 248 // If the recipe has implemented 'modifyRequestHeaders',
249 // Send those headers to ipcMain so that it can be set in session 249 // Send those headers to ipcMain so that it can be set in session
250 if (typeof this.recipe.modifyRequestHeaders === 'function') { 250 if (typeof this.recipe.modifyRequestHeaders === 'function') {
251 const modifiedRequestHeaders = this.recipe.modifyRequestHeaders(); 251 const modifiedRequestHeaders = this.recipe.modifyRequestHeaders();
@@ -258,6 +258,18 @@ export default class Service {
258 debug(this.name, 'modifyRequestHeaders is not defined in the recipe'); 258 debug(this.name, 'modifyRequestHeaders is not defined in the recipe');
259 } 259 }
260 260
261 // if the recipe has implemented 'knownCertificateHosts'
262 if (typeof this.recipe.knownCertificateHosts === 'function') {
263 const knownHosts = this.recipe.knownCertificateHosts();
264 debug(this.name, 'knownCertificateHosts', knownHosts);
265 ipcRenderer.send('knownCertificateHosts', {
266 knownHosts,
267 serviceId: this.id,
268 });
269 } else {
270 debug(this.name, 'knownCertificateHosts is not defined in the recipe');
271 }
272
261 this.webview.addEventListener('ipc-message', async (e) => { 273 this.webview.addEventListener('ipc-message', async (e) => {
262 if (e.channel === 'inject-js-unsafe') { 274 if (e.channel === 'inject-js-unsafe') {
263 await Promise.all(e.args.map((script) => this.webview.executeJavaScript(`"use strict"; (() => { ${script} })();`))); 275 await Promise.all(e.args.map((script) => this.webview.executeJavaScript(`"use strict"; (() => { ${script} })();`)));