vscode-front-matter: Issue: Dashboard not loading

Describe the bug When the FM icon is clicked, the left-column menu appears as expected. Clicking “Open Dashboard” opens a new tab to the right, titled “Front Matter Dashboard”, and the progress animation slides left-to-right without finishing.

To Reproduce I have an existing HUGO project with FM installed. This used to work ~6 months ago. Reproducing is simply starting VS Code, clicking FM icon, then “Open Dashboard”

I have tried uninstalling the extension, restarting VS Code, then re-installing, however I get no change. I have another different workspace that works with FM. I suspect either FM or VS Code were updated, and something broke in the upgrade…

Extension Host has the following error shown:

2024-04-22 10:01:16.705 [error] TypeError: Cannot read properties of undefined (reading 'map')
	at w.<anonymous> (c:\Users\UserID\.vscode\extensions\eliostruyf.vscode-front-matter-10.1.0\dist\extension.js:1:34554)
	at w.t (c:\Users\Michael\.vscode\extensions\eliostruyf.vscode-front-matter-10.1.0\dist\vendors.a8542a5a9120a04f690d.js:2:612104)
	at w.emit (node:events:517:28)
	at w._readdirError (c:\Users\UserID\.vscode\extensions\eliostruyf.vscode-front-matter-10.1.0\dist\vendors.a8542a5a9120a04f690d.js:2:429563)
	at c:\Users\UserID\.vscode\extensions\eliostruyf.vscode-front-matter-10.1.0\dist\vendors.a8542a5a9120a04f690d.js:2:428860
	at FSReqCallback.oncomplete (node:fs:202:23)

Expected behavior I expect the dashboard to be displayed, with published and draft posts shown.

Screenshots

image

Desktop (please complete the following information):

  • OS: Win 11
  • Browser: Chrome
  • Version: Latest (124)

Additional context FM Extension: v10.1.0

VS Code

Version: 1.88.1 (system setup)
Commit: e170252f762678dec6ca2cc69aba1570769a5d39
Date: 2024-04-10T17:41:02.734Z
Electron: 28.2.8
ElectronBuildId: 27744544
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Windows_NT x64 10.0.22631

Hugo: v125.1

About this issue

  • Original URL
  • State: open
  • Created 2 months ago
  • Comments: 30 (17 by maintainers)

Commits related to this issue

Most upvoted comments

Repeating testing with v10.2.8835572

After restarting VS Code, but before attempting to launch the dashboard, the following was in the log:

["INFO" - 11:54:33] VSCODE | No ".frontmatter/config" config files found.
["INFO" - 11:54:33] VSCODE | Project config path: c:\Hugo\D2VO\frontmatter.json
["INFO" - 11:54:33] VSCODE | Trigger page update: main
["INFO" - 11:54:33] VSCODE | Sending message to webview (panel&dashboard): setMode
["INFO" - 11:54:33] VSCODE | DashboardSettings:getSettings:start
["INFO" - 11:54:33] VSCODE | PagesParser:parsePages:start
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:start - c:\Hugo\D2VO\content\posts\**\*.md
["INFO" - 11:54:33] VSCODE | GitListener:getSettings:start
["INFO" - 11:54:33] VSCODE | GitListener:getSettings:end:disabled
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:start:1
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:end - 23
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:start - c:\Hugo\D2VO\content\posts\**\*.markdown
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:end:1
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:start:2
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:end:2
["INFO" - 11:54:33] VSCODE | Folders:getContentFolders:start
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:start - c:\Hugo\D2VO\**\*.md
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:end - 0
["ERROR" - 11:54:33] VSCODE | Folders:findFolders:error - EPERM: operation not permitted, scandir 'c:\Hugo\D2VO\assets\images\global\audio interface.svg'
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:end - 0
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:start - c:\Hugo\D2VO\**\*.markdown
["ERROR" - 11:54:33] VSCODE | Folders:findFolders:error - EPERM: operation not permitted, scandir 'c:\Hugo\D2VO\assets\images\global\audio interface.svg'
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:end - 0
["INFO" - 11:54:33] VSCODE | Folders:getContentFolders:end
["INFO" - 11:54:33] VSCODE | DashboardSettings:getDataFiles:start
["INFO" - 11:54:33] VSCODE | DashboardSettings:getDataFiles:end
["INFO" - 11:54:33] VSCODE | DashboardSettings:getSettings:end
["INFO" - 11:54:33] VSCODE | PagesParser::parsePages: Parsing folder Posts - 23
["INFO" - 11:54:33] VSCODE | PagesParser:parsePages:end
["INFO" - 11:54:42] VSCODE | Trigger page update: onDidChangeActiveTextEditor

After attempting to launch the dashboard, the following is the complete log:

["INFO" - 11:54:33] VSCODE | No ".frontmatter/config" config files found.
["INFO" - 11:54:33] VSCODE | Project config path: c:\Hugo\D2VO\frontmatter.json
["INFO" - 11:54:33] VSCODE | Trigger page update: main
["INFO" - 11:54:33] VSCODE | Sending message to webview (panel&dashboard): setMode
["INFO" - 11:54:33] VSCODE | DashboardSettings:getSettings:start
["INFO" - 11:54:33] VSCODE | PagesParser:parsePages:start
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:start - c:\Hugo\D2VO\content\posts\**\*.md
["INFO" - 11:54:33] VSCODE | GitListener:getSettings:start
["INFO" - 11:54:33] VSCODE | GitListener:getSettings:end:disabled
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:start:1
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:end - 23
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:start - c:\Hugo\D2VO\content\posts\**\*.markdown
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:end:1
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:start:2
["INFO" - 11:54:33] VSCODE | TaxonomyHelper:get:end:2
["INFO" - 11:54:33] VSCODE | Folders:getContentFolders:start
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:start - c:\Hugo\D2VO\**\*.md
["VERBOSE" - 11:54:33] VSCODE | Folders:findFiles:end - 0
["ERROR" - 11:54:33] VSCODE | Folders:findFolders:error - EPERM: operation not permitted, scandir 'c:\Hugo\D2VO\assets\images\global\audio interface.svg'
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:end - 0
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:start - c:\Hugo\D2VO\**\*.markdown
["ERROR" - 11:54:33] VSCODE | Folders:findFolders:error - EPERM: operation not permitted, scandir 'c:\Hugo\D2VO\assets\images\global\audio interface.svg'
["VERBOSE" - 11:54:33] VSCODE | Folders:findFolders:end - 0
["INFO" - 11:54:33] VSCODE | Folders:getContentFolders:end
["INFO" - 11:54:33] VSCODE | DashboardSettings:getDataFiles:start
["INFO" - 11:54:33] VSCODE | DashboardSettings:getDataFiles:end
["INFO" - 11:54:33] VSCODE | DashboardSettings:getSettings:end
["INFO" - 11:54:33] VSCODE | PagesParser::parsePages: Parsing folder Posts - 23
["INFO" - 11:54:33] VSCODE | PagesParser:parsePages:end
["INFO" - 11:54:42] VSCODE | Trigger page update: onDidChangeActiveTextEditor
["INFO" - 11:55:47] VSCODE | Receiving message from panel: getLocalization
["INFO" - 11:55:47] VSCODE | Sending request result to panel: getLocalization
["INFO" - 11:55:47] VSCODE | Receiving message from panel: getBranch
["INFO" - 11:55:47] VSCODE | Receiving message from panel: get-data
["VERBOSE" - 11:55:47] VSCODE | Folders:findFiles:start - c:\Hugo\D2VO\content\posts\**\*.md
["INFO" - 11:55:47] VSCODE | Getting panel settings
["INFO" - 11:55:47] VSCODE | GitListener:getSettings:start
["INFO" - 11:55:47] VSCODE | GitListener:getSettings:end:disabled
["INFO" - 11:55:47] VSCODE | TaxonomyHelper:get:start:1
["INFO" - 11:55:47] VSCODE | TaxonomyHelper:get:end:1
["INFO" - 11:55:47] VSCODE | TaxonomyHelper:get:start:2
["INFO" - 11:55:47] VSCODE | TaxonomyHelper:get:end:2
["INFO" - 11:55:47] VSCODE | Receiving message from panel: get-mode
["INFO" - 11:55:47] VSCODE | Sending message to webview (panel&dashboard): setMode
["INFO" - 11:55:47] VSCODE | Receiving message from panel: getLocalization
["INFO" - 11:55:47] VSCODE | Sending message to panel: settings
["VERBOSE" - 11:55:47] VSCODE | Folders:findFiles:end - 23
["VERBOSE" - 11:55:47] VSCODE | Folders:findFiles:start - c:\Hugo\D2VO\content\posts\**\*.markdown
["VERBOSE" - 11:55:47] VSCODE | Folders:findFiles:end - 0
["INFO" - 11:55:47] VSCODE | Receiving message from panel: getBranch
["INFO" - 11:55:47] VSCODE | Receiving message from panel: is-server-started
["INFO" - 11:55:47] VSCODE | Sending request result to panel: is-server-started
["INFO" - 11:55:47] VSCODE | Receiving message from panel: update-placeholder
["INFO" - 11:55:47] VSCODE | Sending request result to panel: updatePlaceholder
["INFO" - 11:55:47] VSCODE | Receiving message from panel: update-metadata
["INFO" - 11:55:47] VSCODE | Sending message to panel: metadata
["INFO" - 11:55:47] VSCODE | Receiving message from panel: process-media-data
["INFO" - 11:55:47] VSCODE | Sending request result to panel: process-media-data
["INFO" - 11:55:47] VSCODE | Sending message to panel: folderInfo
["INFO" - 11:55:47] VSCODE | Receiving message from panel: update-metadata
["INFO" - 11:55:47] VSCODE | Sending message to panel: metadata
["INFO" - 11:55:47] VSCODE | Receiving message from panel: getBranch
["INFO" - 11:55:47] VSCODE | Receiving message from panel: is-server-started
["INFO" - 11:55:47] VSCODE | Sending request result to panel: is-server-started
["INFO" - 11:55:49] VSCODE | Receiving message from panel: open-dashboard
["INFO" - 11:55:49] VSCODE | Trigger page update: onDidChangeActiveTextEditor
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getLocalization
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getViewType
["INFO" - 11:55:49] VSCODE | Sending message to dashboard: viewData
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getTheme
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getData
["INFO" - 11:55:49] VSCODE | SettingsListener:getSettings:start - clear: false
["INFO" - 11:55:49] VSCODE | SettingsListener:getSettings:end - setting keys: 31
["INFO" - 11:55:49] VSCODE | Sending message to dashboard: settings
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getMode
["INFO" - 11:55:49] VSCODE | Sending message to webview (panel&dashboard): setMode
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Loaded with view contents
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Pages loaded - 0 pages
["INFO" - 11:55:49] VSCODE | Sending message to dashboard: pages
["INFO" - 11:55:49] VSCODE | Sending message to dashboard: pages
["INFO" - 11:55:49] VSCODE | Sending message to dashboard: searchReady
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getState
["INFO" - 11:55:49] VSCODE | Sending message to dashboard: loading - Turn off
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getState
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Contents view loaded with 0 pages
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: sendTelemetry
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Settings loaded
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Pages loaded - 0 pages
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getState
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getState
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getContentLocales
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Settings loaded
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Pages loaded - 23 pages
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getPinnedItems
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getState
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: getContentLocales
["INFO" - 11:55:49] VSCODE | Receiving message from dashboard: logInfo
["INFO" - 11:55:49] DASHBOARD | Contents view loaded with 23 pages
["INFO" - 11:55:50] VSCODE | Sending message to panel: metadata
["INFO" - 11:55:50] VSCODE | Receiving message from panel: getBranch
["INFO" - 11:55:50] VSCODE | Receiving message from panel: is-server-started
["INFO" - 11:55:50] VSCODE | Sending request result to panel: is-server-started
["INFO" - 11:55:53] VSCODE | Trigger page update: onDidChangeActiveTextEditor
["INFO" - 11:55:53] VSCODE | Receiving message from panel: getBranch
["INFO" - 11:55:53] VSCODE | Receiving message from panel: is-server-started
["INFO" - 11:55:53] VSCODE | Sending request result to panel: is-server-started

NOTE: THE DASHBOARD NOW APPEARS!!!

Furthermore, it appears that a “new” file was created: pinnedItemsDB.json. Or should I say, it had no contents before. image

with the following content:

---
draft: true
slug: ""
---
{}
'''


I even re-started VS Code, and it still "works". Don't know what you did on the back-end, but it appears to have resolved the issue.

No problem. My replies might be “slow” as the day job is keeping me busy though 😃

I still haven’t had the chance/time to pull the repo into a fresh location and trying there… That might fix it for me, but thought I’d see if there was an actual “fix” that might help others who get into the same situation.

Updated, re-started, tried launching the dashboard, still not displayed, and the following was in the log:

["INFO" - 09:58:19]  No ".frontmatter/config" config files found.
["INFO" - 09:58:19]  Trigger page update: main
["INFO" - 09:58:19]  Sending message to webview (panel&dashboard): setMode
["INFO" - 09:58:19]  PagesParser::parsePages: Start
["INFO" - 09:58:19]  PagesParser::parsePages: Parsing folder Posts - 23
["INFO" - 09:58:19]  PagesParser::parsePages: End
["INFO" - 09:58:27]  Receiving message from webview to panel: getLocalization
["INFO" - 09:58:27]  Sending request result to panel: getLocalization
["INFO" - 09:58:27]  Receiving message from webview to panel: getBranch
["INFO" - 09:58:27]  Receiving message from webview to panel: get-data
["INFO" - 09:58:27]  Receiving message from webview to panel: get-mode
["INFO" - 09:58:27]  Sending message to webview (panel&dashboard): setMode
["INFO" - 09:58:27]  Receiving message from webview to panel: getLocalization
["INFO" - 09:58:27]  Sending message to panel: settings
["INFO" - 09:58:27]  Receiving message from webview to panel: getBranch
["INFO" - 09:58:27]  Receiving message from webview to panel: is-server-started
["INFO" - 09:58:27]  Sending request result to panel: is-server-started
["INFO" - 09:58:27]  Receiving message from webview to panel: update-placeholder
["INFO" - 09:58:27]  Sending request result to panel: updatePlaceholder
["INFO" - 09:58:27]  Sending message to panel: folderInfo
["INFO" - 09:58:27]  Receiving message from webview to panel: update-metadata
["INFO" - 09:58:27]  Receiving message from webview to panel: process-media-data
["INFO" - 09:58:27]  Receiving message from webview to panel: update-metadata
["INFO" - 09:58:27]  Receiving message from webview to panel: update-metadata
["INFO" - 09:58:29]  Receiving message from webview to panel: open-dashboard
["INFO" - 09:58:29]  Receiving message from webview: getLocalization
["INFO" - 09:58:29]  Receiving message from webview: getViewType
["INFO" - 09:58:29]  Sending message to dashboard: viewData
["INFO" - 09:58:29]  Receiving message from webview: getTheme
["INFO" - 09:58:29]  Receiving message from webview: getData
["INFO" - 09:58:29]  Receiving message from webview: getMode
["INFO" - 09:58:29]  Sending message to webview (panel&dashboard): setMode
["INFO" - 09:58:29]  Receiving message from webview: logInfo
["INFO" - 09:58:29]  DASHBOARD: loaded with view contents
["INFO" - 09:58:29]  Receiving message from webview: logInfo
["INFO" - 09:58:29]  DASHBOARD: pages loaded - 0 pages
["INFO" - 09:58:29]  Sending message to dashboard: pages
["INFO" - 09:58:29]  Sending message to dashboard: pages
["INFO" - 09:58:29]  Sending message to dashboard: searchReady
["INFO" - 09:58:29]  Receiving message from webview: logInfo
["INFO" - 09:58:29]  DASHBOARD: pages loaded - 23 pages
["INFO" - 09:58:29]  Sending message to dashboard: loading - Turn off
["INFO" - 09:58:34]  Trigger page update: onDidChangeActiveTextEditor
["INFO" - 09:58:35]  Sending message to panel: metadata
["INFO" - 09:58:35]  Receiving message from webview to panel: getBranch
["INFO" - 09:58:35]  Receiving message from webview to panel: is-server-started
["INFO" - 09:58:35]  Sending request result to panel: is-server-started

The output is the following, plus the JSON already attached above. The paths are correct, however I do notice alternating slash directions…

I forgot to mention in my initial report, the left-hand FM column is displaying as expected. Recent posts, buttons, etc. When I click on a post there, it displays.

It is just the “main” dashboard that is not appearing.

# Project name

D2VO

# Folders

- Posts: "c:/Hugo/D2VO/content/posts"

# Workspace folder

c:\Hugo\D2VO

# Total files

Total files found: 16828

# Folders to search files

- Project start length: 13 | Search in: "content\posts\**\*.*" | mdFiles: 23 | mdxFiles: 0 | markdownFiles: 0

# Complete frontmatter.json config

Sounds good, I’ll check it tomorrow.

If the message is inconclusive, I’ll also try with a fresh download of the repository, in case it is something that is not synced that is causing the problem.

I just granted access through GitHub… You will need to accept access.