Skip to content

Opening Phoenix Code when previous project directory is an empty drive causes "Open Project" workflow to fail #3120

Description

@technotherion

Describe the bug

I opened Phoenix Code and no Project window pop-up appeared. My left side file panel was completely empty. There was no sample project. Clicking on the "Start Project..." button gave no error nor response.

Image

It seems to have failed to load my project folder. The project folder in question is my locally mounted Z:/ directory. This issue appeared when I failed to mount the correct directory to my Z:/ drive, leaving it empty.

Image

Interestingly, when opening an empty directory, the project name dropdown becomes unresponsive, but the rest of the panel still behaves normally.

edit: I've tested a few more directories on my PC. The dropdown seems to become non-functional for almost every directory that I've tested. After testing a few random directories, this issue started to occur at the recent projects window:

Image

The projects that I deleted here also came back immediately after relaunching Phoenix Code.

Image

When my Z partition has the correct files in it, it looks like this and the dropdown functions normally.

Image

When the project folder itself is deleted or moved, or the drive is un-mounted, Phoenix Code opens the default project and also opens a popup asking you to choose a project.

Reproduction

  1. Create a new project folder on a drive with files in it.
  2. Hit "Start Project..." and open that drive.
  3. Close Phoenix Code. Delete all files from the drive.
  4. Reopen Phoenix code.
  5. The "Start Project..." button is now unresponsive.

Expected behavior

Either

  • Empty project is shown, but selecting a different project is still possible by clicking on the project name dropdown or "Start Project..." button
    or
  • If project is empty, open default project and pop up the open project window.

OS, Browser and Phoenix versions

Windows 10 Pro 22H2 64 bit, installed version of Phoenix Code
Release 5.2 build 5.2.5-23290

logs or debug stack trace if any

Upon opening Phoenix Code and upon it opening the last project (Z Drive, empty)

 BugSnag context is -  supported-tauri-desktop-win-edgeChrome
 Logging to Bugsnag is disabled as current environment is localhost.
 Waiting for tauri boot variables...
 Creating appdirs...
 Documents dir setup done
 Temp dir setup done
 Appdirs created...
 PhNode: Debug Mode Enabled

 PhNode: 

 PhNode: System Node.js is not installed, using PHNode for ESLint

 PhNode: Server Opened on port:  61898

 PhNode: Server running on http://localhost:61898

 PhNode: Phoenix node Static Server url is http://localhost:61898/StaticblJFp33K

 PhNode: Phoenix node tauri FS url is ws://localhost:61898/PhoenixFSUXTnFHZo

 PhNode: Phoenix node connector url is ws://localhost:61898/PhoenixNode7BFdscVu

 PhNode: Phoenix live preview comm url is ws://localhost:61898/PreviewCommjp0YB88v

 PhNode: Phoenix AutoAuth url is ws://localhost:61898/AutoAuth5EZxd95B

 PhNode: 

 PhNode: PhoenixFS: Websocket Client connected

 PhNode: PhoenixFS: Control Socket established, socket Group: 3422912233

 PhNode: PhoenixFS: Websocket Client connected

 PhNode: PhoenixFS: Large Data Transfer Socket established, socket Group:  3422912233

 PhNode: node-connector: Websocket Client connected

 PhNode: node-connector: Control Socket established

 PhNode: storageDB location is : C:\Users\mold\AppData\Local\io.phcode\storageDB

 PhNode: node-connector: Websocket Client connected

 PhNode: node-connector: Large Data Transfer Socket established

 Extensions worker loaded in debug mode:  true
 AI system Config File is:  /tauri/C/Program Files/Phoenix AI Control/config.json
 File watchers went offline!
 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/phcode.json
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/phcode.json
 registering custom keymap pack VSCode VSCode
 loading tern definition file:  https://phtauri.localhost/v5.2.5/thirdparty/tern/defs/browser.json
 loading tern definition file:  https://phtauri.localhost/v5.2.5/thirdparty/tern/defs/chai.json
 loading tern definition file:  https://phtauri.localhost/v5.2.5/thirdparty/tern/defs/ecmascript.json
 loading tern definition file:  https://phtauri.localhost/v5.2.5/thirdparty/tern/defs/jquery.json
 loading tern definition file:  https://phtauri.localhost/v5.2.5/thirdparty/tern/defs/react.json
 loading tern definition file:  https://phtauri.localhost/v5.2.5/thirdparty/tern/defs/underscore.json
 PhoenixFS: virtual fs started in debugMode:true on environment: web-worker
 Checking pro trial activation in 1 seconds...
 Entitlements monitor started (10-minute interval)
 UserNotifications service initialized
 Registering 'Alt-F' menu shortcut handler..
 Registering 'Alt-E' menu shortcut handler..
 Registering 'Alt-i' menu shortcut handler..
 Registering 'Alt-V' menu shortcut handler..
 Registering 'Alt-N' menu shortcut handler..
 Registering 'Alt-H' menu shortcut handler..
 Registering 'Alt-D' menu shortcut handler..
 No savedUserProfile found. Not logged in
 File indexing worker loaded in debug mode:  true
 Write file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-387943037242/heartbeat
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-387943037242/heartbeat
 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/
 Profile Menu: Found Pro entitlements (trial or device license), updating branding...
 appshell fs error:  n
 worker: loading script from url: https://phtauri.localhost/v5.2.5/search/worker/search.js, isModule: undefined
 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-191666272202/heartbeat
 worker: loading script from url: https://phtauri.localhost/v5.2.5/JSUtils/worker/tern-main.js, isModule: undefined
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-191666272202/heartbeat
 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-211911244034/heartbeat
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-211911244034/heartbeat
 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-251560319194/heartbeat
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-251560319194/heartbeat
 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-439375108460/heartbeat
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-439375108460/heartbeat
 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-698213209150/heartbeat
 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-698213209150/heartbeat
 PhNode: PhoenixFS: Websocket Client connected

 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-387943037242/heartbeat
 Starting Brackets...
 mkdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/
 mkdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/dev/
 mkdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/disabled/
 [Trail] :  loading default extension: DarkTheme
 [Trail] :  loading default extension: LightTheme
 [Trail] :  loading default extension: CloseOthers
 [Trail] :  loading default extension: CodeFolding
 [Trail] :  loading default extension: CSSAtRuleCodeHints
 [Trail] :  loading default extension: CSSCodeHints
 [Trail] :  loading default extension: CSSPseudoSelectorHints
 [Trail] :  loading default extension: DebugCommands
 [Trail] :  loading default extension: DocCommentHints
 [Trail] :  loading default extension: HandlebarsSupport
 [Trail] :  loading default extension: HTMLCodeHints
 [Trail] :  loading default extension: HtmlEntityCodeHints
 [Trail] :  loading default extension: InlineColorEditor
 [Trail] :  loading default extension: InlineTimingFunctionEditor
 [Trail] :  loading default extension: JavaScriptCodeHints
 [Trail] :  loading default extension: JavaScriptQuickEdit
 [Trail] :  loading default extension: JavaScriptRefactoring
 [Trail] :  loading default extension: JSLint
loggerSetup.js:1 [Trail] :  loading default extension: MDNDocs
loggerSetup.js:1 [Trail] :  loading default extension: Phoenix-prettier
loggerSetup.js:1 [Trail] :  loading default extension: PrefsCodeHints
loggerSetup.js:1 [Trail] :  loading default extension: QuickView
loggerSetup.js:1 [Trail] :  loading default extension: SVGCodeHints
loggerSetup.js:1 [Trail] :  loading default extension: UrlCodeHints
loggerSetup.js:1 [Trail] :  loading default extension: HealthData
loggerSetup.js:1 [Trail] :  loading default extension: Git
loggerSetup.js:1 [Trail] :  loading default extension: TypeScriptSupport
loggerSetup.js:1 [Trail] :  loading default extension: PHPSupport
loggerSetup.js:1 [Trail] :  loading default extension: PythonSupport
AppshellFileSystem.js:1 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/
AppshellFileSystem.js:1 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/dev/
AppshellFileSystem.js:1 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-387943037242/
node-loader.js:1 PhNode: PhoenixFS: Websocket Client connected

AppshellFileSystem.js:1 delete file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-211911244034/
AppshellFileSystem.js:1 delete file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-191666272202/
AppshellFileSystem.js:1 delete file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-698213209150/
AppshellFileSystem.js:1 delete file:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/PH-439375108460/
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/dev
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/disabled
AppshellFileSystem.js:1 exists:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/_phcode_extension_marked_for_delete
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/_phcode_extension_marked_for_delete
AppshellFileSystem.js:1 exists:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/_phcode_extension_marked_for_delete
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/_phcode_extension_marked_for_delete
AppshellFileSystem.js:1 stat:  /tauri/Z/
AppshellFileSystem.js:1 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/
AppshellFileSystem.js:1 appshell fs error:  n
AppshellFileSystem.js:1 appshell fs error:  n
brackets.js:1 Loading Extension from virtual fs:  Object
brackets.js:1 Loading Extension from virtual fs:  Object
AppshellFileSystem.js:1 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/instanceData/
AppshellFileSystem.js:1 exists:  /tauri/Z/
AppshellFileSystem.js:1 stat:  /tauri/Z
AppshellFileSystem.js:1 exists:  /tauri/Z/
AppshellFileSystem.js:1 stat:  /tauri/Z
AppshellFileSystem.js:1 readdir:  /tauri/Z/
brackets.js:1 [Extension] The require config file provided is invalid https://phtauri.localhost/v5.2.5/extensions/default/TypeScriptSupport/requirejs-config.json
(anonymous) @ brackets.js:1
brackets.js:1 [Extension] The require config file provided is invalid https://phtauri.localhost/v5.2.5/extensions/default/PHPSupport/requirejs-config.json
(anonymous) @ brackets.js:1
brackets.js:1 [Extension] The require config file provided is invalid https://phtauri.localhost/v5.2.5/extensions/default/PythonSupport/requirejs-config.json
(anonymous) @ brackets.js:1
AppshellFileSystem.js:1 mkdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/
AppshellFileSystem.js:1 mkdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme
AppshellFileSystem.js:1 exists:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme
AppshellFileSystem.js:1 readdir:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/
AppshellFileSystem.js:1 exists:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/main.less
AppshellFileSystem.js:1 Write file:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/main.less
AppshellFileSystem.js:1 Write file:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 exists:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/package.json
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/light-theme/package.json
AppshellFileSystem.js:1 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 exists:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/package.json
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/package.json
AppshellFileSystem.js:1 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 Reading file:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
AppshellFileSystem.js:1 stat:  /tauri/C/Users/mold/AppData/Local/io.phcode/assets/extensions/user/dark-theme/main.less
brackets.js:1 Extension takedown data: Array(0)
WorkerComm.js:1 worker: loading script from url: https://phtauri.localhost/v5.2.5/extensions/default/CSSCodeHints/css-lint.js/../worker/css-worker.js, isModule: undefined
WorkerComm.js:1 worker: loading script from url: https://phtauri.localhost/v5.2.5/extensions/default/HTMLCodeHints/html-lint.js/../worker/html-worker.js, isModule: undefined
WorkerComm.js:1 worker: loading script from url: https://phtauri.localhost/v5.2.5/extensions/default/JSLint/JSHint.js/../worker/jslint-helper.js, isModule: undefined
node-loader.js:1 PhNode: PhoenixFS: Control Socket established, socket Group: 1777169604

node-loader.js:1 PhNode: PhoenixFS: Large Data Transfer Socket established, socket Group:  1777169604

AppshellFileSystem.js:1 appshell fs error:  n
testTern.js:1 null Object
loggerSetup.js:1 [Trail] :  UI Menu Click: debug.showDeveloperTools


Clicking on any of the project window buttons does not result in any output in the console

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions