diff --git a/packages/web/src/plugins/PluginsList.svelte b/packages/web/src/plugins/PluginsList.svelte
index b27d889ef..6e2161ec2 100644
--- a/packages/web/src/plugins/PluginsList.svelte
+++ b/packages/web/src/plugins/PluginsList.svelte
@@ -30,7 +30,7 @@
{/if}
- {packageManifest.description}
+ {(packageManifest.description?.indexOf('[![') >= 0 ? null : packageManifest.description) || '(No description)'}
{extractPluginAuthor(packageManifest)}
diff --git a/packages/web/src/plugins/manifestExtractors.ts b/packages/web/src/plugins/manifestExtractors.ts
index b993f457c..b5545495f 100644
--- a/packages/web/src/plugins/manifestExtractors.ts
+++ b/packages/web/src/plugins/manifestExtractors.ts
@@ -21,5 +21,21 @@ export function extractPluginIcon(packageManifest) {
}
export function extractPluginAuthor(packageManifest) {
- return _.isPlainObject(packageManifest.author) ? packageManifest.author.name : packageManifest.author;
+ if (_.isPlainObject(packageManifest.author) && packageManifest.author.name) {
+ return packageManifest.author.name;
+ }
+ if (packageManifest.author) {
+ return packageManifest.author;
+ }
+ if (_.isPlainObject(packageManifest.publisher) && packageManifest.publisher.username) {
+ return packageManifest.publisher.username;
+ }
+ if (
+ packageManifest.maintainers &&
+ _.isPlainObject(packageManifest.maintainers[0]) &&
+ packageManifest.maintainers[0].username
+ ) {
+ return packageManifest.maintainers[0].username;
+ }
+ return '(Unknown author)';
}