Skip to content

Conversation

@al-munazzim
Copy link
Contributor

EXTENSION_LIST in ProductionConfig includes optional extensions like liquidissuer that are not shipped with source installs. When any listed module is missing, get_classlist_of_type_clazz_from_modulelist() raises a SpecterError and prevents startup entirely.

Fix: Replace the raise SpecterError(...) with logger.warning(...) + continue, so missing extensions are skipped with a clear log message while the rest of the application loads normally.

Before:

SpecterError: Module cryptoadvance.specterext.liquidissuer.service could not be found...

After:

WARNING: Skipping extension cryptoadvance.specterext.liquidissuer.service: module not found (No module named 'cryptoadvance.specterext.liquidissuer'). Install it with: pip3 install <package-name>

One-line logic change in src/cryptoadvance/specter/util/reflection.py.

Closes #2496

EXTENSION_LIST in ProductionConfig includes optional extensions like
liquidissuer that are not installed in source/development setups.
Previously, a missing module raised SpecterError and prevented startup.

Now logs a warning and continues loading the remaining extensions.
This follows the principle that optional extensions should be optional.

Fixes cryptoadvance#2496
@netlify
Copy link

netlify bot commented Feb 5, 2026

Deploy Preview for specter-desktop-docs canceled.

Name Link
🔨 Latest commit bac17f2
🔍 Latest deploy log https://app.netlify.com/projects/specter-desktop-docs/deploys/69844b2ae8979a0008264570

…e#2496)

Two test cases:
- Missing module in middle of list: skipped with warning, others load fine
- All modules missing: returns empty list, no crash
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.

Bug: ModuleNotFoundError: No module named 'cryptoadvance.specterext.liquidissuer' Due to Uninstalled Extension in EXTENSION_LIST

1 participant