From e6b28ce7ba1bccc2f239d3350f2c2b0259b685fb Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Thu, 29 Jun 2023 17:13:32 +0200 Subject: [PATCH] #595: Fix media metadata --- CHANGELOG.md | 1 + src/helpers/MediaHelpers.ts | 32 +++++++++++++++++--------------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48cf6741..105d758e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - [#572](https://github.com/estruyf/vscode-front-matter/issues/572): Fix the media snippet placeholder link - [#577](https://github.com/estruyf/vscode-front-matter/issues/577): Fix in the `dataFile` field where data entries get overwritten - [#590](https://github.com/estruyf/vscode-front-matter/issues/590): Fix for image fields inside a sub-block +- [#595](https://github.com/estruyf/vscode-front-matter/issues/595): Fix for media metadata now showing up ## [8.4.0] - 2023-04-03 - [Release notes](https://beta.frontmatter.codes/updates/v8.4.0) diff --git a/src/helpers/MediaHelpers.ts b/src/helpers/MediaHelpers.ts index 55d92659..6548dbf5 100644 --- a/src/helpers/MediaHelpers.ts +++ b/src/helpers/MediaHelpers.ts @@ -147,22 +147,24 @@ export class MediaHelpers { const total = files.length; // Get media set - files = files.map((file) => { - try { - const metadata = MediaLibrary.getInstance().get(file.fsPath); - const mimeType = lookup(file.fsPath); + files = await Promise.all( + files.map(async (file) => { + try { + const metadata = await MediaLibrary.getInstance().get(file.fsPath); + const mimeType = lookup(file.fsPath); - return { - ...file, - dimensions: - mimeType && mimeType.startsWith('image/') ? imageSize(file.fsPath) : undefined, - mimeType: lookup(file.fsPath) || '', - ...metadata - }; - } catch (e) { - return { ...file }; - } - }); + return { + ...file, + dimensions: + mimeType && mimeType.startsWith('image/') ? imageSize(file.fsPath) : undefined, + mimeType: lookup(file.fsPath) || '', + ...metadata + }; + } catch (e) { + return { ...file }; + } + }) + ); files = files.filter((f) => f.mtime !== undefined); // Sort the files