iobroker.imap 0.2.0 → 0.2.2
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/README.md +13 -2
- package/admin/blockly.js +1 -1
- package/admin/jsonConfig.json +31 -9
- package/io-package.json +27 -27
- package/lib/imap_event.js +5 -3
- package/main.js +2 -2
- package/package.json +20 -19
package/README.md
CHANGED
|
@@ -52,12 +52,23 @@
|
|
|
52
52
|
|
|
53
53
|
🇩🇪 [Fragen](https://forum.iobroker.net/topic/63400/test-adapter-iobroker-imap-latest-stable)
|
|
54
54
|
|
|
55
|
-
## Changelog
|
|
56
|
-
|
|
57
55
|
<!--
|
|
58
56
|
Placeholder for the next version (at the beginning of the line):
|
|
59
57
|
### **WORK IN PROGRESS**
|
|
60
58
|
-->
|
|
59
|
+
|
|
60
|
+
## Changelog
|
|
61
|
+
### 0.2.2 (2024-11-07)
|
|
62
|
+
|
|
63
|
+
- (Lucky-ESA) New design for settings page added
|
|
64
|
+
- (Lucky-ESA) Crash if uid is empty for new emails
|
|
65
|
+
|
|
66
|
+
### 0.2.1 (2024-09-16)
|
|
67
|
+
|
|
68
|
+
- (Lucky-ESA) Update dependencies
|
|
69
|
+
- (Lucky-ESA) Changed Log info to debug
|
|
70
|
+
- (Lucky-ESA) Fixed blockly setFlag crash
|
|
71
|
+
|
|
61
72
|
### 0.2.0 (2024-06-15)
|
|
62
73
|
|
|
63
74
|
- (Lucky-ESA) Updated Blockly definitions
|
package/admin/blockly.js
CHANGED
package/admin/jsonConfig.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"i18n": true,
|
|
3
3
|
"type": "tabs",
|
|
4
|
+
"tabsStyle": {
|
|
5
|
+
"width": "calc(100% - 100px)"
|
|
6
|
+
},
|
|
4
7
|
"items": {
|
|
5
8
|
"tab1": {
|
|
6
9
|
"type": "panel",
|
|
@@ -13,9 +16,13 @@
|
|
|
13
16
|
},
|
|
14
17
|
"hosts": {
|
|
15
18
|
"newLine": true,
|
|
16
|
-
"sm": 12,
|
|
17
19
|
"noDelete": false,
|
|
18
20
|
"type": "table",
|
|
21
|
+
"xs": 12,
|
|
22
|
+
"sm": 12,
|
|
23
|
+
"md": 12,
|
|
24
|
+
"lg": 12,
|
|
25
|
+
"xl": 12,
|
|
19
26
|
"items": [
|
|
20
27
|
{
|
|
21
28
|
"type": "checkbox",
|
|
@@ -258,7 +265,11 @@
|
|
|
258
265
|
"max_mb": {
|
|
259
266
|
"type": "number",
|
|
260
267
|
"newLine": true,
|
|
261
|
-
"
|
|
268
|
+
"xs": 12,
|
|
269
|
+
"sm": 12,
|
|
270
|
+
"md": 6,
|
|
271
|
+
"lg": 4,
|
|
272
|
+
"xl": 4,
|
|
262
273
|
"label": "MAX_MB",
|
|
263
274
|
"default": 400,
|
|
264
275
|
"min": 100,
|
|
@@ -268,9 +279,11 @@
|
|
|
268
279
|
"max_mb_selection": {
|
|
269
280
|
"type": "select",
|
|
270
281
|
"newLine": true,
|
|
282
|
+
"xs": 12,
|
|
271
283
|
"sm": 12,
|
|
272
284
|
"md": 6,
|
|
273
|
-
"lg":
|
|
285
|
+
"lg": 4,
|
|
286
|
+
"xl": 4,
|
|
274
287
|
"label": "selection",
|
|
275
288
|
"default": 2,
|
|
276
289
|
"options": [
|
|
@@ -287,10 +300,11 @@
|
|
|
287
300
|
"disabled": "data.max_mb_selection !== 1",
|
|
288
301
|
"hidden": "data.max_mb_selection !== 1",
|
|
289
302
|
"hideOnlyControl": false,
|
|
303
|
+
"xs": 12,
|
|
290
304
|
"sm": 12,
|
|
291
305
|
"md": 6,
|
|
292
|
-
"lg":
|
|
293
|
-
"
|
|
306
|
+
"lg": 4,
|
|
307
|
+
"xl": 4,
|
|
294
308
|
"default": ""
|
|
295
309
|
},
|
|
296
310
|
"max_mb_telegram_user": {
|
|
@@ -301,9 +315,11 @@
|
|
|
301
315
|
"disabled": "data.max_mb_selection !== 1",
|
|
302
316
|
"hidden": "data.max_mb_selection !== 1",
|
|
303
317
|
"hideOnlyControl": false,
|
|
318
|
+
"xs": 12,
|
|
304
319
|
"sm": 12,
|
|
305
320
|
"md": 6,
|
|
306
|
-
"lg":
|
|
321
|
+
"lg": 4,
|
|
322
|
+
"xl": 4,
|
|
307
323
|
"default": ""
|
|
308
324
|
},
|
|
309
325
|
"max_mb_object": {
|
|
@@ -313,9 +329,11 @@
|
|
|
313
329
|
"disabled": "data.max_mb_selection !== 3",
|
|
314
330
|
"hidden": "data.max_mb_selection !== 3",
|
|
315
331
|
"hideOnlyControl": false,
|
|
332
|
+
"xs": 12,
|
|
316
333
|
"sm": 12,
|
|
317
334
|
"md": 6,
|
|
318
|
-
"lg":
|
|
335
|
+
"lg": 4,
|
|
336
|
+
"xl": 4,
|
|
319
337
|
"default": ""
|
|
320
338
|
}
|
|
321
339
|
}
|
|
@@ -330,9 +348,11 @@
|
|
|
330
348
|
"size": 2
|
|
331
349
|
},
|
|
332
350
|
"icons": {
|
|
351
|
+
"xs": 12,
|
|
333
352
|
"sm": 12,
|
|
334
353
|
"md": 12,
|
|
335
354
|
"lg": 12,
|
|
355
|
+
"xl": 12,
|
|
336
356
|
"noDelete": false,
|
|
337
357
|
"type": "table",
|
|
338
358
|
"style": {
|
|
@@ -352,8 +372,6 @@
|
|
|
352
372
|
{
|
|
353
373
|
"type": "image",
|
|
354
374
|
"attr": "picture",
|
|
355
|
-
"width": "50%",
|
|
356
|
-
"title": "upload",
|
|
357
375
|
"tooltip": "UPLOAD",
|
|
358
376
|
"accept": "image/*",
|
|
359
377
|
"base64": true,
|
|
@@ -374,9 +392,11 @@
|
|
|
374
392
|
"size": 2
|
|
375
393
|
},
|
|
376
394
|
"oauth_token": {
|
|
395
|
+
"xs": 12,
|
|
377
396
|
"sm": 12,
|
|
378
397
|
"md": 12,
|
|
379
398
|
"lg": 12,
|
|
399
|
+
"xl": 12,
|
|
380
400
|
"noDelete": false,
|
|
381
401
|
"type": "table",
|
|
382
402
|
"style": {
|
|
@@ -457,9 +477,11 @@
|
|
|
457
477
|
"size": 2
|
|
458
478
|
},
|
|
459
479
|
"nodemailer_options": {
|
|
480
|
+
"xs": 12,
|
|
460
481
|
"sm": 12,
|
|
461
482
|
"md": 12,
|
|
462
483
|
"lg": 12,
|
|
484
|
+
"xl": 12,
|
|
463
485
|
"noDelete": false,
|
|
464
486
|
"type": "table",
|
|
465
487
|
"style": {
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "imap",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.2.2": {
|
|
7
|
+
"en": "New design for settings page added\nCrash if uid is empty for new emails",
|
|
8
|
+
"de": "Neues Design für Einstellungen Seite hinzugefügt\nCrash wenn uid für neue E-Mails leer ist",
|
|
9
|
+
"ru": "Новый дизайн добавлена страница настроек\nCrash, если uid пуст для новых электронных писем",
|
|
10
|
+
"pt": "Novo design para configurações página adicionada\nCrash se uid está vazio para novos e-mails",
|
|
11
|
+
"nl": "Nieuw ontwerp voor instellingen pagina toegevoegd\nCrashen als uid leeg is voor nieuwe e-mails",
|
|
12
|
+
"fr": "Nouvelle conception pour les paramètres page ajoutée\nCrash si uid est vide pour les nouveaux emails",
|
|
13
|
+
"it": "Nuovo design per le impostazioni pagina aggiunto\nCrash se uid è vuoto per nuove email",
|
|
14
|
+
"es": "Nuevo diseño para la página de configuración añadido\nCrash si uid está vacío para nuevos correos electrónicos",
|
|
15
|
+
"pl": "Dodano nowy projekt strony ustawień\nCrash jeśli uid jest pusty dla nowych e-maili",
|
|
16
|
+
"uk": "Новий дизайн для сторінки налаштувань\nЯкщо у вас є порожній для нових електронних листів",
|
|
17
|
+
"zh-cn": "添加了设置页面的新设计\n如果 uid 为新邮件空则崩溃"
|
|
18
|
+
},
|
|
19
|
+
"0.2.1": {
|
|
20
|
+
"en": "Update dependencies\nChanged Log info to debug\nFixed blockly setFlag crash",
|
|
21
|
+
"de": "Abhängigkeiten aktualisieren\nGeändert Log info to debug\nFester Blocksatz Flaggenabsturz",
|
|
22
|
+
"ru": "Зависимости обновления\nИзменение Информация для отладки\nФиксированный блокированный Крушение флага",
|
|
23
|
+
"pt": "Dependências de atualização\nMudança Log info to debug\nConjunto bloqueado fixo Falha da bandeira",
|
|
24
|
+
"nl": "Afhankelijkheden bijwerken\nGewijzigd Log info om te debuggen\nVast gezet Vlagcrash",
|
|
25
|
+
"fr": "Mise à jour des dépendances\nChangement Log info pour déboguer\nFixé en bloc Crash du drapeau",
|
|
26
|
+
"it": "Dipendenze di aggiornamento\nVariazione Accedi a debug\nSet fisso blocco crash della bandiera",
|
|
27
|
+
"es": "Actualizar las dependencias\nCambios Información de registro para depurar\nSet de bloqueo fijo Accidente de bandera",
|
|
28
|
+
"pl": "Aktualizuj zależności\nZmieniono Log info to debug\nNaprawiony blokly set Katastrofa flagi",
|
|
29
|
+
"uk": "Оновлення залежності\nЗмінено Інформація про журнал\nФіксований блокнот Прапорна аварія",
|
|
30
|
+
"zh-cn": "更新依赖关系\n已更改 要调试的日志信息\n固定区块 旗舰崩溃"
|
|
31
|
+
},
|
|
6
32
|
"0.2.0": {
|
|
7
33
|
"en": "Updated Blockly definitions\nJS-Controller >= 5.0.19 required\nAdmin >=6.13.16 required",
|
|
8
34
|
"de": "Aktualisierte Blockly Definitionen\nJS-Controller >= 5.0.19 erforderlich\nAdmin >=6.13.16 erforderlich",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Zużycie pamięci RAM - Instance Settings (ang.)\nDokumentacja germanna\nAdded Mailparser option\nAdded counter history\nBug",
|
|
68
94
|
"uk": "Додано споживання оперативної пам'яті - Налаштування\nДодана німецька документація\nДодано параметри парсера електронної пошти\nІсторія лічильника\nВиправлення помилок",
|
|
69
95
|
"zh-cn": "增加分期消费-包装\n增 录\n增加无期选择\n增加反历史\nBug fix"
|
|
70
|
-
},
|
|
71
|
-
"0.0.9": {
|
|
72
|
-
"en": "Fixed RAM consumption of new emails\nAdded counter attachments in JSON",
|
|
73
|
-
"de": "Fester RAM-Verbrauch neuer E-Mails\nHinzufügen von Zähleraufsätzen in JSON",
|
|
74
|
-
"ru": "Фиксированное потребление RAM новых писем\nДобавлены вложения счетчиков в JSON",
|
|
75
|
-
"pt": "Consumo de RAM fixo de novos e-mails\nAdicionado contra anexos em JSON",
|
|
76
|
-
"nl": "Vertaling:\nVertaling:",
|
|
77
|
-
"fr": "Consommation de RAM fixe de nouveaux emails\nAjout de pièces jointes dans JSON",
|
|
78
|
-
"it": "Risolto consumo di RAM di nuove email\nAggiunto accessori contatore in JSON",
|
|
79
|
-
"es": "Consumo de RAM fijo de nuevos correos electrónicos\nAgregados contadores en JSON",
|
|
80
|
-
"pl": "Zużycie pamięci RAM nowej e-maili\nAdded counter przywiązania w JSON",
|
|
81
|
-
"uk": "Виправлено споживання оперативної пам'яті нових електронних листів\nДодано лічильник вкладення в JSON",
|
|
82
|
-
"zh-cn": "新电子邮件的分期消费\n增加联索行动内的反附属"
|
|
83
|
-
},
|
|
84
|
-
"0.0.8": {
|
|
85
|
-
"en": "Fix refresh crash\nAdded MB threshold",
|
|
86
|
-
"de": "Erfrischungsabsturz beheben\nMB Schwelle",
|
|
87
|
-
"ru": "Исправить освежающие аварии\nДобавлен MB порог",
|
|
88
|
-
"pt": "Corrigir acidente de atualização\nLimite de MB adicionado",
|
|
89
|
-
"nl": "Verfrissende crash\nVertaling:",
|
|
90
|
-
"fr": "Réparer un crash\nAjout du seuil de MB",
|
|
91
|
-
"it": "Fissare l'incidente di aggiornamento\nSoglia MB aggiuntiva",
|
|
92
|
-
"es": "Cierre de refresco\nUmbral de MB",
|
|
93
|
-
"pl": "Fixel crash\nAdded MB progym",
|
|
94
|
-
"uk": "Виправлення аварійних змін\nДодано поріг MB",
|
|
95
|
-
"zh-cn": "Fixtifresh c\nA. 增加MB门槛"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/lib/imap_event.js
CHANGED
|
@@ -483,7 +483,7 @@ module.exports = {
|
|
|
483
483
|
* @param {string} client device id
|
|
484
484
|
*/
|
|
485
485
|
async onNew(box, info, state, client) {
|
|
486
|
-
this.log_translator("
|
|
486
|
+
this.log_translator("debug", "Type recent", client, JSON.stringify(box), `${JSON.stringify(info)} - ${state}`);
|
|
487
487
|
},
|
|
488
488
|
/**
|
|
489
489
|
* Event when new mail arrives in the currently open mailbox
|
|
@@ -501,9 +501,10 @@ module.exports = {
|
|
|
501
501
|
this.setUpdate(client, { flags: [], new_mail: count }, "new mail");
|
|
502
502
|
const inbox = this.clientsRaw[client].inbox_activ;
|
|
503
503
|
const new_mail = await this.loadAllSeqno(client, inbox, true);
|
|
504
|
-
|
|
504
|
+
const uidNext = this.clientsRaw[client][inbox] != null ? this.clientsRaw[client][inbox] : [box.uidnext];
|
|
505
|
+
let nextuid = this.diffArray(uidNext, new_mail, 2, client);
|
|
505
506
|
this.clientsRaw[client][inbox] = new_mail;
|
|
506
|
-
if (nextuid.length === 0) {
|
|
507
|
+
if (nextuid === 0 || nextuid.length === 0) {
|
|
507
508
|
nextuid = [box.uidnext];
|
|
508
509
|
}
|
|
509
510
|
if (this.clients[client].serverSupports("SORT")) {
|
|
@@ -537,6 +538,7 @@ module.exports = {
|
|
|
537
538
|
*/
|
|
538
539
|
newMails(client, uid, what, sort) {
|
|
539
540
|
this.log.debug(sort);
|
|
541
|
+
this.log.debug("newMail: " + JSON.stringify(uid));
|
|
540
542
|
for (const uids of uid) {
|
|
541
543
|
let attrs;
|
|
542
544
|
let header_mail;
|
package/main.js
CHANGED
|
@@ -1808,7 +1808,7 @@ class Imap extends utils.Adapter {
|
|
|
1808
1808
|
</tbody>
|
|
1809
1809
|
`;
|
|
1810
1810
|
const htmlEnd = `</table></div></body></html>`;
|
|
1811
|
-
await this.
|
|
1811
|
+
await this.setState(`${ident}.html`, {
|
|
1812
1812
|
val: htmlStart + htmlEnd,
|
|
1813
1813
|
ack: true,
|
|
1814
1814
|
});
|
|
@@ -2050,7 +2050,7 @@ class Imap extends utils.Adapter {
|
|
|
2050
2050
|
}
|
|
2051
2051
|
} else if (this.config.max_mb_selection === 3) {
|
|
2052
2052
|
if (this.config.max_mb_object != "") {
|
|
2053
|
-
await this.
|
|
2053
|
+
await this.setState(this.config.max_mb_object, true, false);
|
|
2054
2054
|
this.log_translator("info", "Restart Adapter Text", memrss_value);
|
|
2055
2055
|
} else {
|
|
2056
2056
|
this.log_translator("info", "Restart Adapter Text NO DP", memrss_value);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.imap",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "imap to receive your emails",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Lucky-ESA",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"imap",
|
|
13
13
|
"mail",
|
|
14
14
|
"email",
|
|
15
|
-
"receive"
|
|
15
|
+
"receive",
|
|
16
|
+
"ioBroker"
|
|
16
17
|
],
|
|
17
18
|
"repository": {
|
|
18
19
|
"type": "git",
|
|
@@ -22,37 +23,37 @@
|
|
|
22
23
|
"node": ">= 18"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
|
-
"@iobroker/adapter-core": "^3.
|
|
26
|
+
"@iobroker/adapter-core": "^3.2.2",
|
|
26
27
|
"mailparser": "^3.7.1",
|
|
27
28
|
"node-imap": "^0.9.6"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@alcalzone/release-script": "^3.
|
|
31
|
-
"@alcalzone/release-script-plugin-iobroker": "^3.7.
|
|
31
|
+
"@alcalzone/release-script": "^3.8.0",
|
|
32
|
+
"@alcalzone/release-script-plugin-iobroker": "^3.7.2",
|
|
32
33
|
"@alcalzone/release-script-plugin-license": "^3.7.0",
|
|
33
34
|
"@alcalzone/release-script-plugin-manual-review": "^3.7.0",
|
|
34
35
|
"@iobroker/adapter-dev": "^1.3.0",
|
|
35
|
-
"@iobroker/testing": "^
|
|
36
|
+
"@iobroker/testing": "^5.0.0",
|
|
36
37
|
"@tsconfig/node18": "^18.2.4",
|
|
37
|
-
"@types/chai": "^4.3.
|
|
38
|
-
"@types/chai-as-promised": "^
|
|
39
|
-
"@types/imap": "^0.8.
|
|
40
|
-
"@types/mocha": "^10.0.
|
|
41
|
-
"@types/node": "^
|
|
38
|
+
"@types/chai": "^4.3.20",
|
|
39
|
+
"@types/chai-as-promised": "^8.0.1",
|
|
40
|
+
"@types/imap": "^0.8.42",
|
|
41
|
+
"@types/mocha": "^10.0.9",
|
|
42
|
+
"@types/node": "^22.9.0",
|
|
42
43
|
"@types/proxyquire": "^1.3.31",
|
|
43
44
|
"@types/sinon": "^17.0.3",
|
|
44
45
|
"@types/sinon-chai": "^3.2.12",
|
|
45
|
-
"chai": "^4.
|
|
46
|
-
"chai-as-promised": "^
|
|
47
|
-
"eslint": "^8.57.
|
|
46
|
+
"chai": "^4.5.0",
|
|
47
|
+
"chai-as-promised": "^8.0.0",
|
|
48
|
+
"eslint": "^8.57.1",
|
|
48
49
|
"eslint-config-prettier": "^9.1.0",
|
|
49
|
-
"eslint-plugin-prettier": "^5.1
|
|
50
|
-
"mocha": "^10.
|
|
51
|
-
"prettier": "^3.3.
|
|
50
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
51
|
+
"mocha": "^10.8.2",
|
|
52
|
+
"prettier": "^3.3.3",
|
|
52
53
|
"proxyquire": "^2.1.3",
|
|
53
|
-
"sinon": "^
|
|
54
|
+
"sinon": "^19.0.2",
|
|
54
55
|
"sinon-chai": "^3.7.0",
|
|
55
|
-
"typescript": "~5.
|
|
56
|
+
"typescript": "~5.6.2"
|
|
56
57
|
},
|
|
57
58
|
"main": "main.js",
|
|
58
59
|
"files": [
|