Multiple editor on startup

Windows 11

Wappler 7 Beta 18

Been using Multiple editor for a while, and now, Wappler opens two editors at once on startup.
(Even closing one and quiting correctly)

You can see project names on this log as: private_2 and private.
private_2 is opened in one editor. While second editor doesn't have a project opened, so don't know why private is there:

Also found out two news UUID on the log (replaced with dataid and urlid.
Both should be there, or are private keys?

[2025-03-07 20:01:28.299] nativeTheme.shouldUseDarkColors = true
[2025-03-07 20:01:28.302] accent color=005ba3e3
[2025-03-07 20:01:28.346] beta configPath=C:\Users\franc\AppData\Roaming\wappler\Configuration
[2025-03-07 20:01:28.347] org configPath=C:\Users\franc\AppData\Roaming\Wappler\Configuration
[2025-03-07 20:01:28.350] OPEN_PROJECTS=,private_2
[2025-03-07 20:01:28.350] ACTIVE_THEME=onedark
[2025-03-07 20:01:28.350] IS_DARK_THEME=true
[2025-03-07 20:01:28.750] appPath=C:\Users\franc\AppData\Local\Wappler Beta\resources\app
[2025-03-07 20:01:28.752] START MAIN!
[2025-03-07 20:01:28.752] userData = C:\Users\franc\AppData\Roaming\wappler
[2025-03-07 20:01:28.752] PRELOAD: C:\Users\franc\AppData\Local\Wappler Beta\resources\app\Shared\DMXzone\dmxAppCreator\UI\nw_preload.js
[2025-03-07 20:01:28.836] START showSplash
[2025-03-07 20:01:28.851] web-contents-created window
[2025-03-07 20:01:28.901] LOAD start up
[2025-03-07 20:01:28.922] splash  - done
[2025-03-07 20:01:29.197] NW PRELOAD script ....
[2025-03-07 20:01:29.198] IS_BETA=true
[2025-03-07 20:01:29.292] REGISTERED WITH ONESIGNAL
[2025-03-07 20:01:29.361] START startup.js....
[2025-03-07 20:01:29.361] mac datapath=C:\Users\franc\AppData\Roaming/wappler
[2025-03-07 20:01:29.361] wappler 22 dataPath=C:\Users\franc\AppData\Roaming/wappler
[2025-03-07 20:01:29.361] currentPath=C:\Users\franc\AppData\Local\Wappler Beta\resources\app
[2025-03-07 20:01:29.364] copy package.json
[2025-03-07 20:01:29.365] package.json copied
[2025-03-07 20:01:29.368] copy appConnect rules
[2025-03-07 20:01:29.368] copy appConnect extra rules
[2025-03-07 20:01:29.380] SPLASH READY TO SHOW!
[2025-03-07 20:01:29.392] copy appConnect extra files
[2025-03-07 20:01:29.414] DONE
[2025-03-07 20:01:29.410] MAIN EXTENSIONS INSTALLED:  DONE
[2025-03-07 20:01:29.411] START Setup Tray, path=C:\Users\franc\AppData\Local\Wappler Beta\resources\app\Shared\DMXzone\dmxAppCreator\UI\img\icon5-beta.ico
[2025-03-07 20:01:29.430] DONE Setup Tray
[2025-03-07 20:01:29.430] Open Editor... project=null
[2025-03-07 20:01:29.430] Create main window: 1 null
[2025-03-07 20:01:29.446] web-contents-created window
[2025-03-07 20:01:29.447] Open Editor... project=private_2
[2025-03-07 20:01:29.447] Create main window: 2 private_2
[2025-03-07 20:01:29.457] web-contents-created window
[2025-03-07 20:01:31.134] NW PRELOAD script ....
[2025-03-07 20:01:31.135] IS_BETA=true
[2025-03-07 20:01:31.921] NW PRELOAD script ....
[2025-03-07 20:01:31.922] IS_BETA=true
[2025-03-07 20:01:34.421] BROWSER: initWapplerUI
[2025-03-07 20:01:34.443] BROWSER: initWapplerUI
[2025-03-07 20:01:34.517] WAPPLER OPTION COPILOT: true
[2025-03-07 20:01:34.518] [Copilot] Starting...
[2025-03-07 20:01:34.518] [Copilot] Starting language server: C:\Users\franc\AppData\Local\Wappler Beta\resources\app\node_modules\@github\copilot-language-server\dist\language-server.js
[2025-03-07 20:01:34.528] WAPPLER OPTION COPILOT: true
[2025-03-07 20:01:34.528] [Copilot] Starting...
[2025-03-07 20:01:34.529] [Copilot] Starting language server: C:\Users\franc\AppData\Local\Wappler Beta\resources\app\node_modules\@github\copilot-language-server\dist\language-server.js
[2025-03-07 20:01:34.602] MAIN READ TO SHOW!
[2025-03-07 20:01:34.604] MAIN READ TO SHOW!
[2025-03-07 20:01:34.608] Check for updates, current version: 7.0.0-beta.18
[2025-03-07 20:01:34.609] Check for updates, current version: 7.0.0-beta.18
[2025-03-07 20:01:34.624] set active project done
[2025-03-07 20:01:34.624] do show mainWindow...
[2025-03-07 20:01:34.643] destroy splash
[2025-03-07 20:01:34.648] set active project done
[2025-03-07 20:01:34.648] do show mainWindow...
[2025-03-07 20:01:34.704] destroy splash
[2025-03-07 20:01:34.713] splash closed
[2025-03-07 20:01:34.638] [LOCALSERVER] LOCAL SERVER in Electron

[2025-03-07 20:01:34.724] Main window focused: 3
[2025-03-07 20:01:34.640] [LOCALSERVER] Server started on port 50318

[2025-03-07 20:01:34.645] [LOCALSERVER] LOCAL SERVER MESSAGE: {
  autoStart: true,
  maxRestarts: 5,
  openFiles: [],
  currentProjectSiteRoot: null,
  currentProjectRemoteUrl: null
}

[2025-03-07 20:01:34.660] [LOCALSERVER] LOCAL SERVER in Electron

[2025-03-07 20:01:34.663] [LOCALSERVER] Server started on port 50320

[2025-03-07 20:01:34.667] [LOCALSERVER] LOCAL SERVER MESSAGE: {
  autoStart: true,
  maxRestarts: 5,
  openFiles: [],
  currentProjectSiteRoot: null,
  currentProjectRemoteUrl: null
}

[2025-03-07 20:01:34.749] Main window focused: 2
[2025-03-07 20:01:34.898] BROWSER: initUI Rules loaded
[2025-03-07 20:01:34.900] BROWSER: initUI Rules loaded
[2025-03-07 20:01:34.940] no current project - hide publishing
[2025-03-07 20:01:35.044] init serverConnectManager
[2025-03-07 20:01:35.088] DONE BrowserInit
[2025-03-07 20:01:35.341] online version: 7.0.0-beta.20
[2025-03-07 20:01:35.344] online version: 7.0.0-beta.20
[2025-03-07 20:01:35.430] init serverConnectManager
[2025-03-07 20:01:35.507] DONE BrowserInit
[2025-03-07 20:01:35.930] [Copilot] Server response: {
  jsonrpc: '2.0',
  id: 1,
  result: {
    capabilities: {
      textDocumentSync: [Object],
      notebookDocumentSync: [Object],
      workspace: [Object],
      executeCommandProvider: [Object],
      inlineCompletionProvider: {}
    },
    serverInfo: {
      name: 'GitHub Copilot Language Server',
      version: '1.273.0',
      nodeVersion: '20.18.0'
    }
  }
}
[2025-03-07 20:01:35.930] [Copilot] Sending notification: initialized {}
[2025-03-07 20:01:35.950] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'window/logMessage',
  params: {
    type: 3,
    message: '[lsp] GitHub Copilot Language Server 1.273.0 initialized'
  }
}
[2025-03-07 20:01:35.986] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'window/logMessage',
  params: { type: 3, message: '[certificates] Removed 8 expired certificates' }
}
[2025-03-07 20:01:36.219] bad on signal response code: 400
[2025-03-07 20:01:36.220]  body: {"errors":["App is limited to a maximum of 3 tags on a given player"],"success":false}
[2025-03-07 20:01:36.220]  url: players/urlid
[2025-03-07 20:01:36.220]  data: {"app_id":"dataid","tags":{"projects":59}}
[2025-03-07 20:01:36.259] REGISTERED WITH ONESIGNAL
[2025-03-07 20:01:36.498] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'statusNotification',
  params: { busy: false, kind: 'Normal', status: 'Normal', message: '' }
}
[2025-03-07 20:01:36.498] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'didChangeStatus',
  params: { busy: false, kind: 'Normal' }
}
[2025-03-07 20:01:36.656] routes loaded...
[2025-03-07 20:01:36.658] [LOCALSERVER] LOCAL SERVER MESSAGE: {
  autoStart: true,
  maxRestarts: 5,
  openFiles: [],
  currentProjectSiteRoot: 'C:\\xampp\\htdocs\\private\\public',
  currentProjectRemoteUrl: 'https://www.private.com'
}

[2025-03-07 20:01:36.658] [Copilot] Server response: {
  jsonrpc: '2.0',
  id: 1,
  result: {
    capabilities: {
      textDocumentSync: [Object],
      notebookDocumentSync: [Object],
      workspace: [Object],
      executeCommandProvider: [Object],
      inlineCompletionProvider: {}
    },
    serverInfo: {
      name: 'GitHub Copilot Language Server',
      version: '1.273.0',
      nodeVersion: '20.18.0'
    }
  }
}
[2025-03-07 20:01:36.659] [Copilot] Sending notification: initialized {}
[2025-03-07 20:01:36.703] SELECT manager siteManager
[2025-03-07 20:01:36.716] loadManager pagesManager true
[2025-03-07 20:01:36.744] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'window/logMessage',
  params: {
    type: 3,
    message: '[lsp] GitHub Copilot Language Server 1.273.0 initialized'
  }
}
[2025-03-07 20:01:36.745] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'window/logMessage',
  params: { type: 3, message: '[certificates] Removed 8 expired certificates' }
}
[2025-03-07 20:01:36.760] MAIN send syncProjectsList to window=2
[2025-03-07 20:01:36.778] START Web OpenProject for private_2
[2025-03-07 20:01:36.779]  open project active target: Production
[2025-03-07 20:01:36.779] START checkProject
[2025-03-07 20:01:36.794] after copy files serverType= node
[2025-03-07 20:01:36.955] bad on signal response code: 400
[2025-03-07 20:01:36.955]  body: {"errors":["App is limited to a maximum of 3 tags on a given player"],"success":false}
[2025-03-07 20:01:36.955]  url: players/urlid
[2025-03-07 20:01:36.955]  data: {"app_id":"dataid","tags":{"projects":59}}
[2025-03-07 20:01:36.971] REGISTERED WITH ONESIGNAL
[2025-03-07 20:01:37.129] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'featureFlagsNotification',
  params: {
    rt: true,
    sn: false,
    chat: true,
    ic: true,
    ep: false,
    pc: false,
    jcp: false,
    ce: false
  }
}
[2025-03-07 20:01:37.129] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'conversation/preconditionsNotification',
  params: { results: [ [Object] ], status: 'ok' }
}
[2025-03-07 20:01:37.264] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'statusNotification',
  params: { busy: false, kind: 'Normal', status: 'Normal', message: '' }
}
[2025-03-07 20:01:37.265] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'didChangeStatus',
  params: { busy: false, kind: 'Normal' }
}
[2025-03-07 20:01:37.296] Auto start on project open
[2025-03-07 20:01:37.319] create new terminal node
[2025-03-07 20:01:37.419] New project routes loaded...
[2025-03-07 20:01:37.872] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'featureFlagsNotification',
  params: {
    rt: true,
    sn: false,
    chat: true,
    ic: true,
    ep: false,
    pc: false,
    jcp: false,
    ce: false
  }
}
[2025-03-07 20:01:37.873] [Copilot] Server notification: {
  jsonrpc: '2.0',
  method: 'conversation/preconditionsNotification',
  params: { results: [ [Object] ], status: 'ok' }
}
[2025-03-07 20:01:42.260] Main window focused: 2

Bump, still on v20

1 Like

Still on v22
An observation here, if restart with 2 windows, then 3 are opened.
If restart with 3, then 4 are opened, and so on..

Could you check your projects.json in:

C:\Users\username\AppData\Roaming\Wappler\Configuration

should have something like:

 "active": "Test Local Node",
  "openProjects": [
    "Test Local Node",
    "Test Node"
  ],

I suspect that somehow you have a null in the list of openProjects, you can clean it and try again.

Also the multiple open projects are only saved when you choose to quit Wappler from the tray menu. If you just close the windows well then just one will be left.

Anyway I've improved the recent projects logic so no empty projects will be stored in the list any longer and any existing null projects will be removed from the list on quit

1 Like

Yes george:

"active": "test_node",
  "openProjects": [
    ,
    null,
    "test_node"
  ]

The problem is restart / reopen Wappler after one project was left, one should expect that one Wappler editor appears, but it's not the case..

Yes, that's the issue that will be fixed in this week's update.

2 Likes

Fixed in Wappler 7 Beta 23

Confirmed fix on Ubuntu! Thank you!!

:slight_smile:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.