Add new page with FTP needs full webapp restart to discover the page

Product: PowerShell Universal
Version: 2026.1.3

We are using PSU in an Azure WebApp. When we add a new page to one of the Apps with FTP, the page will not be available in the App, also not after restarting the corresponding app.

The new pages are added into the /pages folder of the App

The new page will not be showed at the Pages tab of the app in the admin portal.

We now have to restart the full Azure WebApp to have the pages discovered and added to the Pages tab.

Are we doing something wrong or is there a bug that will not discover newly created pages on the restart of an App?

Hi,

you could try to reload the configuration via Settings - Files - Reload Configuration Files

I guess restarting the app itself wont load manually created files on the disk into the memory.

I’ve tried the reload, but that doesn’t reload the uploaded page file(s).

The ‘problem’ is that we use vscode to build the apps and create pages in vscode and upload them with ftp to the webapp.

I also tried the following:

  • switched back to ‘web’ instead of ‘vscode’
  • Went to the App in the portal
  • Used Create App Page to create a new page on the Pages tab
  • This added the file to the webapp and the ‘memory’
  • Downloaded the new file to our local repository (vscode) and work from there.

Would be nice if the process of adding a page (discovery) to the App can be triggered by either restarting the App or a button in the portal.

There may be a more native way to do this - I know there used to be a watcher on the filestructure that auto refreshed i think, but take a look at: App Dashboard SubFolders - #2 by insomniacc
It’s a post about how I dynamically load in my pages (based on a subfolders file structure), and then dot source those files so that the pages load fresh each time they’re visited.
You only need to recycle when adding a new page, but not when changing anything, and it can all be done in code.

HI insomniacc,

I’ve seen your post before an tried that, but now I’ve retried it and it works properly indeed. Probably typo in my code.

Will have to refactor all of our existing pages.

But thanks for the reply!