Skip to content

Conversation

@DamianB-BitFlipper
Copy link

@DamianB-BitFlipper DamianB-BitFlipper commented Dec 23, 2025

The plugin provided a good basis, but was not working well recently.

The favicon providers shipped with this plugin either stopped working or changed their API status. There was also a lot of overcomplication in this plugin (like choosing a random color for the circles).

I simplified the plugin and changed the favicon providers to actively maintained ones.

In order, tries to resolve:

https://twenty-icons.com/ on the full domain
https://twenty-icons.com/ on the root domain
https://favicon.vemetric.com/ on the full domain
https://favicon.vemetric.com/ on the root domain
https://cdn.favicon0.com/ on the full domain
https://cdn.favicon0.com/ on the root domain

Also to avoid unnecessary favicon GET requests, this plugin caches favicons in an LRU cache (maxSize 4096). If a favicon is requested that is in the cache, the data is used directly rather than hitting the network.


I installed this plugin locally on my mailspring and it works like a charm!

tienhm0202 and others added 3 commits December 21, 2025 12:59
- avatar can get via twenty-icons.com/<domain>. This website actually get domain favicon
- add logic to retry subdomain like mail.replit.com: if can not get favicon from subdomain, try getting from root domain.
**summary:** Remove unused dependencies and simplify avatar fetching
@Striffly
Copy link
Owner

Thank you for your contribution ! I will test it in mid-January

@technobulb
Copy link

Thanks! Just tried it and I seem to be getting all blank icons. Any ideas?

image

@DamianB-BitFlipper
Copy link
Author

What do the console logs say. Open up dev tools inspect where you can see them.

@technobulb
Copy link

technobulb commented Dec 30, 2025

C:\Users\user\AppDa…\error-logger.js:99 Error: Cannot find module 'C:\Users\user\AppData\Roaming\Mailspring\packages\mailspring-avatars\lib\main'
Require stack:
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package-manager.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\app-env.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\window-bootstrap.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\static\index.html
    at Package.activate (/C:/Users/appveyor/A…rc/package.ts:46:22)
    at PackageManager.activatePackage (/C:/Users/appveyor/A…ge-manager.ts:129:9)
    at /C:/Users/appveyor/A…ge-manager.ts:92:14 
Object
node:internal/modules/cjs/loader:1411 Uncaught Error: Cannot find module 'C:\Users\user\AppData\Roaming\Mailspring\packages\mailspring-avatars\lib\main'
Require stack:
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package-manager.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\app-env.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\window-bootstrap.js
- C:\Users\user\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\static\index.html
    at Package.activate (/C:/Users/appveyor/A…rc/package.ts:46:22)
    at PackageManager.activatePackage (/C:/Users/appveyor/A…ge-manager.ts:129:9)
    at /C:/Users/appveyor/A…ge-manager.ts:92:14

Seems like I need to build it with NPM possibly? Can you upload the already compiled plugin?
Note: I am good with computers but dont know even coding basics, but I try...

@DamianB-BitFlipper
Copy link
Author

Given Cannot find module 'C:\Users\user\AppData\Roaming\Mailspring\packages\mailspring-avatars\lib\main' it seems like the module installation broke.

I'd recommend, deleting the directory C:\Users\user\AppData\Roaming\Mailspring\packages\mailspring-avatars and, restarting Mailspring, and try re-installing from source.

  1. Download my branch here https://github.com/DamianB-BitFlipper/mailspring-avatars/tree/main
  2. Then re-install

@technobulb
Copy link

Tried that, no luck, same error...

@DamianB-BitFlipper
Copy link
Author

To be honest, I think this is an issue with mailspring possibly since the module is not even getting installed. Maybe open an issue on their repo.

@technobulb
Copy link

But when I go back and install the old version, it installs fine. Trying to figure out what changes may have caused that...
Thanks for your help!

@DamianB-BitFlipper
Copy link
Author

DamianB-BitFlipper commented Dec 30, 2025 via email

@kudlav
Copy link

kudlav commented Dec 30, 2025

Same here after installing your branch.
Using Windows 11 25H2.
Mailspring 1.16.0

Error: Cannot find module 'C:\Users\Vladan\AppData\Roaming\Mailspring\packages\mailspring-avatars\lib\main'
Require stack:
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package-manager.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\app-env.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\window-bootstrap.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\static\index.html
    at Module._resolveFilename (node:internal/modules/cjs/loader:1408:15)
    at Module.a._resolveFilename (node:electron/js2c/renderer_init:2:2643)
    at defaultResolveImpl (node:internal/modules/cjs/loader:1064:19)
    at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1069:22)
    at Module._load (node:internal/modules/cjs/loader:1218:37)
    at Module.c._load (node:electron/js2c/node_init:2:18013)
    at Module.s._load (node:electron/js2c/renderer_init:2:31718)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:242:24)
    at Module.require (node:internal/modules/cjs/loader:1494:12)
    at require (node:internal/modules/helpers:135:16)
    at Package.activate (package.ts:46:22)
    at PackageManager.activatePackage (package-manager.ts:129:9)
    at PackageManager.installPackageFromPath (package-manager.ts:218:12)
    at package-manager.ts:163:14
    at AppEnvConstructor.showOpenDialog (app-env.ts:813:5) {pluginIds: Array(0)}

Uncaught (in promise) Error: Cannot find module 'C:\Users\Vladan\AppData\Roaming\Mailspring\packages\mailspring-avatars\lib\main'
Require stack:
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\package-manager.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\app-env.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\src\window-bootstrap.js
- C:\Users\Vladan\AppData\Local\Mailspring\app-1.16.0\resources\app.asar\static\index.html
    at Module._resolveFilename (node:internal/modules/cjs/loader:1408:15)
    at Module.a._resolveFilename (node:electron/js2c/renderer_init:2:2643)
    at defaultResolveImpl (node:internal/modules/cjs/loader:1064:19)
    at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1069:22)
    at Module._load (node:internal/modules/cjs/loader:1218:37)
    at Module.c._load (node:electron/js2c/node_init:2:18013)
    at Module.s._load (node:electron/js2c/renderer_init:2:31718)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:242:24)
    at Module.require (node:internal/modules/cjs/loader:1494:12)
    at require (node:internal/modules/helpers:135:16)
    at Package.activate (package.ts:46:22)
    at PackageManager.activatePackage (package-manager.ts:129:9)
    at PackageManager.installPackageFromPath (package-manager.ts:218:12)
    at package-manager.ts:163:14
    at AppEnvConstructor.showOpenDialog (app-env.ts:813:5)

@DamianB-BitFlipper
Copy link
Author

I have no way to debug this. Could one of you two please undertake investigating this issue?

My fix works on mac perfectly, so there is that to aim for ;)

@technobulb
Copy link

technobulb commented Dec 30, 2025

Solved. Just needed to be built.
Ideally would be set up with a Github auto-build or whatever, but for now this should work fine for you.
Great job @DamianB-BitFlipper!
mailspring-avatars-main BUILT.zip

@kudlav
Copy link

kudlav commented Dec 31, 2025

I can confirm it works after compiling.

Ran

yarn
yarn build

Then it works. Thanks ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants