emailengine-app 2.70.0 → 2.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/test.yml +73 -12
- package/.ncurc.js +3 -3
- package/CHANGELOG.md +18 -0
- package/Gruntfile.js +19 -23
- package/bin/emailengine.js +8 -1
- package/config/default.toml +5 -0
- package/config/test.toml +5 -0
- package/data/google-crawlers.json +1 -1
- package/getswagger.sh +4 -0
- package/lib/account.js +31 -25
- package/lib/api-routes/message-routes.js +125 -121
- package/lib/document-store.js +22 -1
- package/lib/email-client/base-client.js +3 -2
- package/lib/email-client/imap/mailbox.js +2 -2
- package/lib/email-client/notification-handler.js +2 -2
- package/lib/export.js +12 -0
- package/lib/feature-flags.js +6 -0
- package/lib/license-beacon.js +367 -0
- package/lib/logger.js +11 -1
- package/lib/routes-ui.js +2 -1
- package/lib/tools.js +26 -2
- package/lib/ui-routes/admin-config-routes.js +4 -3
- package/lib/ui-routes/document-store-routes.js +7 -1
- package/package.json +19 -16
- package/sbom.json +1 -1
- package/server.js +30 -8
- package/static/licenses.html +43 -123
- package/translations/de.mo +0 -0
- package/translations/de.po +154 -142
- package/translations/et.mo +0 -0
- package/translations/et.po +129 -131
- package/translations/fr.mo +0 -0
- package/translations/fr.po +133 -136
- package/translations/ja.mo +0 -0
- package/translations/ja.po +126 -129
- package/translations/messages.pot +37 -37
- package/translations/nl.mo +0 -0
- package/translations/nl.po +128 -130
- package/translations/pl.mo +0 -0
- package/translations/pl.po +125 -128
- package/views/dashboard.hbs +22 -0
- package/workers/api.js +22 -5
- package/workers/export.js +58 -43
package/translations/pl.po
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: \n"
|
|
4
|
-
"POT-Creation-Date: 2026-
|
|
4
|
+
"POT-Creation-Date: 2026-06-15 18:35+0000\n"
|
|
5
5
|
"PO-Revision-Date: \n"
|
|
6
6
|
"Last-Translator: \n"
|
|
7
7
|
"Language-Team: \n"
|
|
@@ -13,7 +13,7 @@ msgstr ""
|
|
|
13
13
|
"|| n%100>14) ? 1 : 2);\n"
|
|
14
14
|
"X-Generator: Poedit 3.9\n"
|
|
15
15
|
|
|
16
|
-
#: views/error.hbs:4 workers/api.js:
|
|
16
|
+
#: views/error.hbs:4 workers/api.js:2957
|
|
17
17
|
msgid "Something went wrong"
|
|
18
18
|
msgstr "Ups... Coś poszło nie tak"
|
|
19
19
|
|
|
@@ -29,7 +29,7 @@ msgstr "Wstecz"
|
|
|
29
29
|
msgid "Dashboard"
|
|
30
30
|
msgstr "Pulpit"
|
|
31
31
|
|
|
32
|
-
#: views/config/license.hbs:45 lib/routes-
|
|
32
|
+
#: views/config/license.hbs:45 lib/ui-routes/oauth-config-routes.js:217
|
|
33
33
|
msgid "%d day"
|
|
34
34
|
msgid_plural "%d days"
|
|
35
35
|
msgstr[0] "%d dzień"
|
|
@@ -40,6 +40,34 @@ msgstr[2] "%d dni"
|
|
|
40
40
|
msgid "Click <a href=\"%s\">here</a> to continue…"
|
|
41
41
|
msgstr "Kliknij <a href=\"%s\">tutaj</a>, aby kontynuować…"
|
|
42
42
|
|
|
43
|
+
#: views/oauth-scope-error.hbs:2
|
|
44
|
+
msgid "Insufficient Permissions"
|
|
45
|
+
msgstr "Niewystarczające uprawnienia"
|
|
46
|
+
|
|
47
|
+
#: views/oauth-scope-error.hbs:8
|
|
48
|
+
msgid ""
|
|
49
|
+
"All requested permissions are required for this service to function "
|
|
50
|
+
"properly. Some required permissions were not granted during sign-in."
|
|
51
|
+
msgstr ""
|
|
52
|
+
"Wszystkie wymagane uprawnienia są niezbędne do prawidłowego działania tej "
|
|
53
|
+
"usługi. Niektóre z nich nie zostały przyznane podczas logowania."
|
|
54
|
+
|
|
55
|
+
#: views/oauth-scope-error.hbs:12
|
|
56
|
+
msgid "The following permissions were not granted:"
|
|
57
|
+
msgstr "Nie przyznano następujących uprawnień:"
|
|
58
|
+
|
|
59
|
+
#: views/oauth-scope-error.hbs:21
|
|
60
|
+
msgid ""
|
|
61
|
+
"Please try again and make sure all permission checkboxes are selected on the "
|
|
62
|
+
"Google consent screen."
|
|
63
|
+
msgstr ""
|
|
64
|
+
"Spróbuj ponownie i upewnij się, że na ekranie zgody Google zaznaczone są "
|
|
65
|
+
"wszystkie pola wyboru dotyczące uprawnień."
|
|
66
|
+
|
|
67
|
+
#: views/oauth-scope-error.hbs:27
|
|
68
|
+
msgid "Try Again"
|
|
69
|
+
msgstr "Spróbuj ponownie"
|
|
70
|
+
|
|
43
71
|
#: views/unsubscribe.hbs:3 views/unsubscribe.hbs:62 views/unsubscribe.hbs:85
|
|
44
72
|
msgid "Unsubscribe"
|
|
45
73
|
msgstr "Wypisz się"
|
|
@@ -85,34 +113,6 @@ msgstr "Adres e-mail"
|
|
|
85
113
|
msgid "Enter your email address"
|
|
86
114
|
msgstr "Wprowadź swój adres e-mail"
|
|
87
115
|
|
|
88
|
-
#: views/oauth-scope-error.hbs:2
|
|
89
|
-
msgid "Insufficient Permissions"
|
|
90
|
-
msgstr "Niewystarczające uprawnienia"
|
|
91
|
-
|
|
92
|
-
#: views/oauth-scope-error.hbs:8
|
|
93
|
-
msgid ""
|
|
94
|
-
"All requested permissions are required for this service to function properly. "
|
|
95
|
-
"Some required permissions were not granted during sign-in."
|
|
96
|
-
msgstr ""
|
|
97
|
-
"Wszystkie wymagane uprawnienia są niezbędne do prawidłowego działania tej "
|
|
98
|
-
"usługi. Niektóre z nich nie zostały przyznane podczas logowania."
|
|
99
|
-
|
|
100
|
-
#: views/oauth-scope-error.hbs:12
|
|
101
|
-
msgid "The following permissions were not granted:"
|
|
102
|
-
msgstr "Nie przyznano następujących uprawnień:"
|
|
103
|
-
|
|
104
|
-
#: views/oauth-scope-error.hbs:21
|
|
105
|
-
msgid ""
|
|
106
|
-
"Please try again and make sure all permission checkboxes are selected on the "
|
|
107
|
-
"Google consent screen."
|
|
108
|
-
msgstr ""
|
|
109
|
-
"Spróbuj ponownie i upewnij się, że na ekranie zgody Google zaznaczone są "
|
|
110
|
-
"wszystkie pola wyboru dotyczące uprawnień."
|
|
111
|
-
|
|
112
|
-
#: views/oauth-scope-error.hbs:27
|
|
113
|
-
msgid "Try Again"
|
|
114
|
-
msgstr "Spróbuj ponownie"
|
|
115
|
-
|
|
116
116
|
#: views/accounts/register/imap.hbs:11
|
|
117
117
|
msgid "Your name"
|
|
118
118
|
msgstr "Twoje imię"
|
|
@@ -190,8 +190,8 @@ msgstr "TLS dla IMAP"
|
|
|
190
190
|
|
|
191
191
|
#: views/accounts/register/imap-server.hbs:100
|
|
192
192
|
msgid ""
|
|
193
|
-
"TLS (also known as SSL) is usually only needed when using port 993. For
|
|
194
|
-
"ports EmailEngine falls back to using STARTTLS based encryption."
|
|
193
|
+
"TLS (also known as SSL) is usually only needed when using port 993. For "
|
|
194
|
+
"other ports EmailEngine falls back to using STARTTLS based encryption."
|
|
195
195
|
msgstr ""
|
|
196
196
|
"TLS (znany również jako SSL) jest zwykle potrzebny tylko w przypadku "
|
|
197
197
|
"korzystania z portu 993. W przypadku innych portów EmailEngine powraca do "
|
|
@@ -212,8 +212,8 @@ msgstr "TLS dla SMTP"
|
|
|
212
212
|
|
|
213
213
|
#: views/accounts/register/imap-server.hbs:191
|
|
214
214
|
msgid ""
|
|
215
|
-
"TLS (also known as SSL) is usually only needed when using port 465. For
|
|
216
|
-
"ports EmailEngine falls back to using STARTTLS based encryption."
|
|
215
|
+
"TLS (also known as SSL) is usually only needed when using port 465. For "
|
|
216
|
+
"other ports EmailEngine falls back to using STARTTLS based encryption."
|
|
217
217
|
msgstr ""
|
|
218
218
|
"TLS (znany również jako SSL) jest zwykle potrzebny tylko w przypadku "
|
|
219
219
|
"korzystania z portu 465. W przypadku innych portów EmailEngine powraca do "
|
|
@@ -264,150 +264,147 @@ msgstr "Nie udało się połączyć z serwerem SMTP"
|
|
|
264
264
|
msgid "Request failed."
|
|
265
265
|
msgstr "Żądanie nie powiodło się."
|
|
266
266
|
|
|
267
|
-
#: lib/
|
|
268
|
-
msgid "Delegated"
|
|
269
|
-
msgstr "Delegowany"
|
|
270
|
-
|
|
271
|
-
#: lib/routes-ui.js:385 lib/ui-routes/account-routes.js:61
|
|
272
|
-
msgid "Using credentials from \"%s\""
|
|
273
|
-
msgstr "Używanie poświadczeń z \"%s\""
|
|
274
|
-
|
|
275
|
-
#: lib/routes-ui.js:435 lib/ui-routes/account-routes.js:111
|
|
276
|
-
msgid ""
|
|
277
|
-
"Connection timed out. This usually occurs if you are behind a firewall or "
|
|
278
|
-
"connecting to the wrong port."
|
|
279
|
-
msgstr ""
|
|
280
|
-
"Przekroczono limit czasu połączenia. Zwykle dzieje się tak, gdy użytkownik "
|
|
281
|
-
"znajduje się za zaporą sieciową lub łączy się z niewłaściwym portem."
|
|
282
|
-
|
|
283
|
-
#: lib/routes-ui.js:438 lib/ui-routes/account-routes.js:114
|
|
284
|
-
msgid "The server unexpectedly closed the connection."
|
|
285
|
-
msgstr "Serwer nieoczekiwanie zamknął połączenie."
|
|
286
|
-
|
|
287
|
-
#: lib/routes-ui.js:441 lib/ui-routes/account-routes.js:117
|
|
288
|
-
msgid ""
|
|
289
|
-
"The server unexpectedly closed the connection. This usually happens when "
|
|
290
|
-
"attempting to connect to a TLS port without TLS enabled."
|
|
291
|
-
msgstr ""
|
|
292
|
-
"Serwer nieoczekiwanie zamknął połączenie. Zwykle dzieje się tak podczas próby "
|
|
293
|
-
"połączenia z portem TLS bez włączonego protokołu TLS."
|
|
294
|
-
|
|
295
|
-
#: lib/routes-ui.js:446 lib/ui-routes/account-routes.js:122
|
|
267
|
+
#: lib/autodetect-imap-settings.js:80
|
|
296
268
|
msgid ""
|
|
297
|
-
"
|
|
298
|
-
"
|
|
269
|
+
"Microsoft has disabled password-based sign-ins (including app passwords) for "
|
|
270
|
+
"Outlook.com, Hotmail.com, and Microsoft 365 email accounts. To continue, "
|
|
271
|
+
"please use the \"Sign in with Microsoft\" button to securely connect your "
|
|
272
|
+
"account."
|
|
299
273
|
msgstr ""
|
|
300
|
-
"
|
|
301
|
-
"
|
|
274
|
+
"Firma Microsoft wyłączyła logowanie oparte na hasłach (w tym hasłach "
|
|
275
|
+
"aplikacji) dla kont e-mail w usługach Outlook.com, Hotmail.com i Microsoft "
|
|
276
|
+
"365. Aby kontynuować, użyj przycisku \"Zaloguj się za pomocą Microsoft\", "
|
|
277
|
+
"aby bezpiecznie połączyć swoje konto."
|
|
302
278
|
|
|
303
|
-
#: lib/routes-
|
|
304
|
-
msgid "Invalid
|
|
305
|
-
msgstr "
|
|
279
|
+
#: lib/tools.js:975 lib/ui-routes/unsubscribe-routes.js:28
|
|
280
|
+
msgid "Invalid input"
|
|
281
|
+
msgstr "Nieprawidłowe dane wejściowe"
|
|
306
282
|
|
|
307
|
-
#: lib/
|
|
308
|
-
msgid "
|
|
309
|
-
msgstr "
|
|
283
|
+
#: lib/tools.js:1742
|
|
284
|
+
msgid "Signature validation failed"
|
|
285
|
+
msgstr "Walidacja podpisu nie powiodła się"
|
|
310
286
|
|
|
311
|
-
#: lib/
|
|
312
|
-
msgid "
|
|
313
|
-
msgstr "
|
|
287
|
+
#: lib/tools.js:1751 lib/tools.js:1756
|
|
288
|
+
msgid "Invalid or expired account setup URL"
|
|
289
|
+
msgstr "Nieprawidłowy lub wygasły adres URL konfiguracji konta"
|
|
314
290
|
|
|
315
|
-
#: lib/routes-
|
|
316
|
-
#: lib/routes-
|
|
317
|
-
#:
|
|
318
|
-
#:
|
|
319
|
-
#: lib/ui-routes/account-routes.js:754 lib/ui-routes/account-routes.js:1003
|
|
320
|
-
#: lib/ui-routes/account-routes.js:1039
|
|
291
|
+
#: lib/ui-routes/account-routes.js:402 lib/ui-routes/account-routes.js:437
|
|
292
|
+
#: lib/ui-routes/account-routes.js:552 lib/ui-routes/account-routes.js:599
|
|
293
|
+
#: lib/ui-routes/account-routes.js:846 lib/ui-routes/account-routes.js:882
|
|
294
|
+
#: workers/api.js:2158 workers/api.js:2486
|
|
321
295
|
msgid "Email Account Setup"
|
|
322
296
|
msgstr "Konfiguracja konta e-mail"
|
|
323
297
|
|
|
324
|
-
#: lib/routes-
|
|
325
|
-
#: lib/ui-routes/
|
|
298
|
+
#: lib/ui-routes/account-routes.js:462 lib/ui-routes/account-routes.js:495
|
|
299
|
+
#: lib/ui-routes/unsubscribe-routes.js:65
|
|
326
300
|
msgid "Invalid request. Check your input and try again."
|
|
327
301
|
msgstr "Nieprawidłowe żądanie. Sprawdź wprowadzone dane i spróbuj ponownie."
|
|
328
302
|
|
|
329
|
-
#: lib/routes-
|
|
330
|
-
|
|
303
|
+
#: lib/ui-routes/account-routes.js:592 lib/ui-routes/account-routes.js:875
|
|
304
|
+
msgid "Couldn't set up account. Try again."
|
|
305
|
+
msgstr "Nie udało się założyć konta. Spróbuj ponownie."
|
|
306
|
+
|
|
307
|
+
#: lib/ui-routes/account-routes.js:655 lib/ui-routes/account-routes.js:666
|
|
331
308
|
#: lib/ui-routes/admin-entities-routes.js:2020
|
|
332
309
|
msgid "Server hostname was not found"
|
|
333
310
|
msgstr "Nie znaleziono nazwy hosta serwera"
|
|
334
311
|
|
|
335
|
-
#: lib/routes-
|
|
336
|
-
#: lib/ui-routes/account-routes.js:814 lib/ui-routes/account-routes.js:825
|
|
312
|
+
#: lib/ui-routes/account-routes.js:658 lib/ui-routes/account-routes.js:669
|
|
337
313
|
#: lib/ui-routes/admin-entities-routes.js:2023
|
|
338
314
|
msgid "Invalid username or password"
|
|
339
315
|
msgstr "Nieprawidłowa nazwa użytkownika lub hasło"
|
|
340
316
|
|
|
341
|
-
#: lib/
|
|
317
|
+
#: lib/ui-routes/account-routes.js:672
|
|
342
318
|
#: lib/ui-routes/admin-entities-routes.js:2026
|
|
343
319
|
msgid "Authentication credentials were not provided"
|
|
344
320
|
msgstr "Nie podano danych uwierzytelniających"
|
|
345
321
|
|
|
346
|
-
#: lib/
|
|
322
|
+
#: lib/ui-routes/account-routes.js:675
|
|
347
323
|
#: lib/ui-routes/admin-entities-routes.js:2029
|
|
348
324
|
msgid "OAuth2 authentication failed"
|
|
349
325
|
msgstr "Uwierzytelnianie OAuth2 nie powiodło się"
|
|
350
326
|
|
|
351
|
-
#: lib/routes-
|
|
352
|
-
#: lib/ui-routes/account-routes.js:834 lib/ui-routes/account-routes.js:838
|
|
327
|
+
#: lib/ui-routes/account-routes.js:678 lib/ui-routes/account-routes.js:682
|
|
353
328
|
#: lib/ui-routes/admin-entities-routes.js:2032
|
|
354
329
|
#: lib/ui-routes/admin-entities-routes.js:2036
|
|
355
330
|
msgid "TLS protocol error"
|
|
356
331
|
msgstr "Błąd protokołu TLS"
|
|
357
332
|
|
|
358
|
-
#: lib/
|
|
333
|
+
#: lib/ui-routes/account-routes.js:686
|
|
359
334
|
#: lib/ui-routes/admin-entities-routes.js:2040
|
|
360
335
|
msgid "Connection timed out"
|
|
361
336
|
msgstr "Przekroczono limit czasu połączenia"
|
|
362
337
|
|
|
363
|
-
#: lib/
|
|
338
|
+
#: lib/ui-routes/account-routes.js:689
|
|
364
339
|
#: lib/ui-routes/admin-entities-routes.js:2043
|
|
365
340
|
msgid "Could not connect to server"
|
|
366
341
|
msgstr "Nie można połączyć się z serwerem"
|
|
367
342
|
|
|
368
|
-
#: lib/
|
|
343
|
+
#: lib/ui-routes/account-routes.js:692
|
|
369
344
|
#: lib/ui-routes/admin-entities-routes.js:2046
|
|
370
345
|
msgid "Unexpected server response"
|
|
371
346
|
msgstr "Nieoczekiwana odpowiedź serwera"
|
|
372
347
|
|
|
373
|
-
#: lib/routes-
|
|
374
|
-
msgid "Invalid
|
|
375
|
-
msgstr "
|
|
348
|
+
#: lib/ui-routes/admin-config-routes.js:145
|
|
349
|
+
msgid "Invalid API key for OpenAI"
|
|
350
|
+
msgstr "Nieprawidłowy klucz API dla OpenAI"
|
|
376
351
|
|
|
377
|
-
#: lib/routes
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
msgstr "Zarządzanie subskrypcjami"
|
|
352
|
+
#: lib/ui-routes/oauth-config-routes.js:210
|
|
353
|
+
msgid "Unknown"
|
|
354
|
+
msgstr "Nieznany"
|
|
381
355
|
|
|
382
|
-
#:
|
|
383
|
-
msgid "
|
|
384
|
-
msgstr "
|
|
356
|
+
#: lib/ui-routes/oauth-config-routes.js:219
|
|
357
|
+
msgid "Indefinite"
|
|
358
|
+
msgstr "Na czas nieokreślony"
|
|
385
359
|
|
|
386
|
-
#: lib/
|
|
387
|
-
msgid "
|
|
388
|
-
msgstr "
|
|
360
|
+
#: lib/ui-routes/route-helpers.js:81
|
|
361
|
+
msgid "Delegated"
|
|
362
|
+
msgstr "Delegowany"
|
|
389
363
|
|
|
390
|
-
#: lib/
|
|
391
|
-
msgid "
|
|
392
|
-
msgstr "
|
|
364
|
+
#: lib/ui-routes/route-helpers.js:82
|
|
365
|
+
msgid "Using credentials from \"%s\""
|
|
366
|
+
msgstr "Używanie poświadczeń z \"%s\""
|
|
393
367
|
|
|
394
|
-
#: lib/
|
|
368
|
+
#: lib/ui-routes/route-helpers.js:132
|
|
395
369
|
msgid ""
|
|
396
|
-
"
|
|
397
|
-
"
|
|
398
|
-
"please use the \"Sign in with Microsoft\" button to securely connect your "
|
|
399
|
-
"account."
|
|
370
|
+
"Connection timed out. This usually occurs if you are behind a firewall or "
|
|
371
|
+
"connecting to the wrong port."
|
|
400
372
|
msgstr ""
|
|
401
|
-
"
|
|
402
|
-
"
|
|
403
|
-
"365. Aby kontynuować, użyj przycisku \"Zaloguj się za pomocą Microsoft\", aby "
|
|
404
|
-
"bezpiecznie połączyć swoje konto."
|
|
373
|
+
"Przekroczono limit czasu połączenia. Zwykle dzieje się tak, gdy użytkownik "
|
|
374
|
+
"znajduje się za zaporą sieciową lub łączy się z niewłaściwym portem."
|
|
405
375
|
|
|
406
|
-
#: lib/ui-routes/
|
|
407
|
-
msgid "
|
|
408
|
-
msgstr "
|
|
376
|
+
#: lib/ui-routes/route-helpers.js:135
|
|
377
|
+
msgid "The server unexpectedly closed the connection."
|
|
378
|
+
msgstr "Serwer nieoczekiwanie zamknął połączenie."
|
|
379
|
+
|
|
380
|
+
#: lib/ui-routes/route-helpers.js:138
|
|
381
|
+
msgid ""
|
|
382
|
+
"The server unexpectedly closed the connection. This usually happens when "
|
|
383
|
+
"attempting to connect to a TLS port without TLS enabled."
|
|
384
|
+
msgstr ""
|
|
385
|
+
"Serwer nieoczekiwanie zamknął połączenie. Zwykle dzieje się tak podczas "
|
|
386
|
+
"próby połączenia z portem TLS bez włączonego protokołu TLS."
|
|
409
387
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
388
|
+
#: lib/ui-routes/route-helpers.js:143
|
|
389
|
+
msgid ""
|
|
390
|
+
"The server refused the connection. This typically occurs if the server is "
|
|
391
|
+
"not running, is overloaded, or you are connecting to the wrong host or port."
|
|
392
|
+
msgstr ""
|
|
393
|
+
"Serwer odmówił połączenia. Zwykle dzieje się tak, gdy serwer nie działa, "
|
|
394
|
+
"jest przeciążony lub łączysz się z niewłaściwym hostem lub portem."
|
|
395
|
+
|
|
396
|
+
#: lib/ui-routes/unsubscribe-routes.js:38
|
|
397
|
+
#: lib/ui-routes/unsubscribe-routes.js:156
|
|
398
|
+
#: lib/ui-routes/unsubscribe-routes.js:173
|
|
399
|
+
#: lib/ui-routes/unsubscribe-routes.js:209
|
|
400
|
+
msgid "Subscription Management"
|
|
401
|
+
msgstr "Zarządzanie subskrypcjami"
|
|
402
|
+
|
|
403
|
+
#: lib/ui-routes/unsubscribe-routes.js:167
|
|
404
|
+
#: lib/ui-routes/unsubscribe-routes.js:202
|
|
405
|
+
msgid "Couldn't process request. Try again."
|
|
406
|
+
msgstr "Nie udało się przetworzyć żądania. Spróbuj ponownie."
|
|
407
|
+
|
|
408
|
+
#: workers/api.js:2956 workers/api.js:3071
|
|
409
|
+
msgid "Requested page not found"
|
|
410
|
+
msgstr "Nie znaleziono żądanej strony"
|
package/views/dashboard.hbs
CHANGED
|
@@ -24,6 +24,28 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
{{/each}}
|
|
26
26
|
|
|
27
|
+
{{#if documentStoreUnavailable}}
|
|
28
|
+
<div class="card border-left-danger mt-4">
|
|
29
|
+
<div class="card-body">
|
|
30
|
+
<div class="row no-gutters align-items-center">
|
|
31
|
+
<div class="col mr-2">
|
|
32
|
+
<div class="text-xs font-weight-bold text-danger text-uppercase mb-1">Document Store unavailable</div>
|
|
33
|
+
<p class="mb-0">The Document Store is enabled in the EmailEngine settings, but the feature is not
|
|
34
|
+
available because EmailEngine was not started with the Document Store enabled. The deprecated
|
|
35
|
+
Document Store only runs when started with the <code>--documentStore.enabled</code> command line
|
|
36
|
+
flag or the <code>EENGINE_DOCUMENT_STORE_ENABLED=true</code> environment variable. Until then the
|
|
37
|
+
document store worker is not running and all Document Store API and configuration endpoints
|
|
38
|
+
return 404. Either restart EmailEngine with the flag, or disable the <code>documentStoreEnabled</code>
|
|
39
|
+
setting to clear this warning.</p>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="col-auto">
|
|
42
|
+
<i class="fas fa-database fa-2x text-gray-300"></i>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
{{/if}}
|
|
48
|
+
|
|
27
49
|
|
|
28
50
|
{{#unless hasAccounts}}
|
|
29
51
|
|
package/workers/api.js
CHANGED
|
@@ -67,7 +67,7 @@ const { Account } = require('../lib/account');
|
|
|
67
67
|
const settings = require('../lib/settings');
|
|
68
68
|
|
|
69
69
|
const getSecret = require('../lib/get-secret');
|
|
70
|
-
const { getESClient } = require('../lib/document-store');
|
|
70
|
+
const { getESClient, documentStoreFeatureEnabled } = require('../lib/document-store');
|
|
71
71
|
|
|
72
72
|
const routesUi = require('../lib/routes-ui');
|
|
73
73
|
|
|
@@ -2538,8 +2538,10 @@ Include your token in requests using one of these methods:
|
|
|
2538
2538
|
// setup template routes
|
|
2539
2539
|
await templateRoutes({ server, call, CORS_CONFIG });
|
|
2540
2540
|
|
|
2541
|
-
// setup "chat with email" routes
|
|
2542
|
-
|
|
2541
|
+
// setup "chat with email" routes (deprecated Document Store feature; only when enabled)
|
|
2542
|
+
if (documentStoreFeatureEnabled) {
|
|
2543
|
+
await chatRoutes({ server, call, CORS_CONFIG });
|
|
2544
|
+
}
|
|
2543
2545
|
|
|
2544
2546
|
// setup account CRUD routes
|
|
2545
2547
|
await accountRoutes({
|
|
@@ -2562,7 +2564,8 @@ Include your token in requests using one of these methods:
|
|
|
2562
2564
|
CORS_CONFIG,
|
|
2563
2565
|
MAX_ATTACHMENT_SIZE,
|
|
2564
2566
|
MAX_BODY_SIZE,
|
|
2565
|
-
MAX_PAYLOAD_TIMEOUT
|
|
2567
|
+
MAX_PAYLOAD_TIMEOUT,
|
|
2568
|
+
documentStoreFeatureEnabled
|
|
2566
2569
|
});
|
|
2567
2570
|
|
|
2568
2571
|
// setup export routes
|
|
@@ -2735,6 +2738,10 @@ Include your token in requests using one of these methods:
|
|
|
2735
2738
|
let systemAlerts = [];
|
|
2736
2739
|
let authData;
|
|
2737
2740
|
|
|
2741
|
+
// Deprecated Document Store: enabled in settings but unavailable because EmailEngine
|
|
2742
|
+
// was not started with the document store gate (--documentStore.enabled / EENGINE_DOCUMENT_STORE_ENABLED).
|
|
2743
|
+
let documentStoreUnavailable = !documentStoreFeatureEnabled && !!showDocumentStore;
|
|
2744
|
+
|
|
2738
2745
|
switch (request.auth.artifacts && request.auth.artifacts.provider) {
|
|
2739
2746
|
case 'okta': {
|
|
2740
2747
|
let profile = request.auth.artifacts.profile || {};
|
|
@@ -2861,6 +2868,15 @@ Include your token in requests using one of these methods:
|
|
|
2861
2868
|
});
|
|
2862
2869
|
}
|
|
2863
2870
|
|
|
2871
|
+
if (documentStoreUnavailable) {
|
|
2872
|
+
systemAlerts.push({
|
|
2873
|
+
url: '/admin',
|
|
2874
|
+
level: 'danger',
|
|
2875
|
+
icon: 'database',
|
|
2876
|
+
message: `The Document Store is enabled in settings but unavailable. Start EmailEngine with the document store gate to use it, or disable the setting.`
|
|
2877
|
+
});
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2864
2880
|
if (consts.EE_DOCKER_LEGACY) {
|
|
2865
2881
|
systemAlerts.push({
|
|
2866
2882
|
url: 'https://emailengine.app/docker',
|
|
@@ -2894,7 +2910,8 @@ Include your token in requests using one of these methods:
|
|
|
2894
2910
|
embeddedTemplateHeader,
|
|
2895
2911
|
embeddedTemplateHtmlHead,
|
|
2896
2912
|
currentYear: new Date().getFullYear(),
|
|
2897
|
-
showDocumentStore,
|
|
2913
|
+
showDocumentStore: documentStoreFeatureEnabled && showDocumentStore,
|
|
2914
|
+
documentStoreUnavailable,
|
|
2898
2915
|
updateBrowserInfo: !serviceUrl || !language || !timezone,
|
|
2899
2916
|
|
|
2900
2917
|
// Suppress large banner warnings when EENGINE_DISABLE_SETUP_WARNINGS is set
|