@bobfrankston/mailx 1.0.66 → 1.0.71

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.
Files changed (60) hide show
  1. package/android/app/build/.npmkeep +0 -0
  2. package/android/app/build.gradle +54 -0
  3. package/android/app/capacitor.build.gradle +19 -0
  4. package/android/app/proguard-rules.pro +21 -0
  5. package/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java +26 -0
  6. package/android/app/src/main/AndroidManifest.xml +41 -0
  7. package/android/app/src/main/java/com/frankston/mailx/MainActivity.java +5 -0
  8. package/android/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
  9. package/android/app/src/main/res/drawable/splash.png +0 -0
  10. package/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
  11. package/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
  12. package/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
  13. package/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
  14. package/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
  15. package/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
  16. package/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
  17. package/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
  18. package/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
  19. package/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
  20. package/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +34 -0
  21. package/android/app/src/main/res/layout/activity_main.xml +12 -0
  22. package/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  23. package/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  24. package/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  25. package/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  26. package/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  27. package/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  28. package/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  29. package/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  30. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  31. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  32. package/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  33. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  34. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  35. package/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  36. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  37. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  38. package/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  39. package/android/app/src/main/res/values/ic_launcher_background.xml +4 -0
  40. package/android/app/src/main/res/values/strings.xml +7 -0
  41. package/android/app/src/main/res/values/styles.xml +22 -0
  42. package/android/app/src/main/res/xml/file_paths.xml +5 -0
  43. package/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java +18 -0
  44. package/android/build.gradle +29 -0
  45. package/android/capacitor.settings.gradle +3 -0
  46. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  47. package/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  48. package/android/gradle.properties +23 -0
  49. package/android/gradlew +251 -0
  50. package/android/gradlew.bat +94 -0
  51. package/android/settings.gradle +5 -0
  52. package/android/variables.gradle +16 -0
  53. package/client/app.js +90 -32
  54. package/client/lib/api-client.js +203 -164
  55. package/client/styles/layout.css +31 -0
  56. package/download/apks/mailx-debug.apk +0 -0
  57. package/download/index.html +118 -0
  58. package/download/versions.json +19 -0
  59. package/package.json +17 -11
  60. package/packages/mailx-imap/index.js +15 -6
@@ -13,6 +13,15 @@ import * as path from "node:path";
13
13
  import { simpleParser } from "mailparser";
14
14
  import { createTransport } from "nodemailer";
15
15
  import * as os from "node:os";
16
+ /** Extract full error detail from imapflow errors */
17
+ function imapError(err) {
18
+ const parts = [err.message || "Unknown error"];
19
+ if (err.responseText)
20
+ parts.push(err.responseText);
21
+ if (err.responseStatus)
22
+ parts.push(`[${err.responseStatus}]`);
23
+ return parts.join(" — ");
24
+ }
16
25
  /** Convert iflow address objects to our EmailAddress */
17
26
  function toEmailAddress(addr) {
18
27
  return {
@@ -183,8 +192,8 @@ export class ImapManager extends EventEmitter {
183
192
  console.log(` [auth] ${account.id}: token valid`);
184
193
  }
185
194
  catch (e) {
186
- console.error(` [auth] ${account.id}: ${e.message}`);
187
- this.emit("accountError", account.id, e.message, "Re-authenticate: click the button below or run mailx -setup");
195
+ console.error(` [auth] ${account.id}: ${imapError(e)}`);
196
+ this.emit("accountError", account.id, imapError(e), "Re-authenticate: click the button below or run mailx -setup");
188
197
  }
189
198
  }
190
199
  }
@@ -437,13 +446,13 @@ export class ImapManager extends EventEmitter {
437
446
  }
438
447
  }
439
448
  catch (e) {
440
- this.emit("syncError", accountId, e.message);
441
- console.error(`Sync error for ${accountId}: ${e.message}`);
449
+ this.emit("syncError", accountId, imapError(e));
450
+ console.error(`Sync error for ${accountId}: ${imapError(e)}`);
442
451
  // Emit user-facing error — always offer re-auth for OAuth accounts
443
452
  const config = this.configs.get(accountId);
444
453
  const isOAuth = !!config?.tokenProvider;
445
454
  const hint = isOAuth ? "Authentication may have expired" : "Check server connectivity";
446
- this.emit("accountError", accountId, e.message || "unknown", hint);
455
+ this.emit("accountError", accountId, imapError(e), hint);
447
456
  }
448
457
  finally {
449
458
  if (client)
@@ -1169,7 +1178,7 @@ export class ImapManager extends EventEmitter {
1169
1178
  const prev = this.outboxBackoff.get(accountId);
1170
1179
  const delay = prev ? Math.min((now - prev + 30000) * 2, 300000) : 30000;
1171
1180
  this.outboxBackoff.set(accountId, now + delay);
1172
- console.error(` [outbox] Error for ${accountId}: ${e.message} (retry in ${Math.round(delay / 1000)}s)`);
1181
+ console.error(` [outbox] Error for ${accountId}: ${imapError(e)} (retry in ${Math.round(delay / 1000)}s)`);
1173
1182
  }
1174
1183
  }
1175
1184
  };