Summary
On a current Linux desktop, running the current master branch can leave Pencil stuck on the splash screen.
The main window opens, but the UI is never mounted. The renderer keeps the raw <ui:ApplicationPane .../> node in the DOM instead of materializing the application view.
Environment
- OS: Linux
- Branch tested:
master
- Commit tested:
7d0ec3d
- Electron from project dependencies
Reproduction
- Clone
evolus/pencil
- Run
npm install at repository root
- Run
npm install inside app/
- Start the app
Observed behavior
- Splash stays visible
- Main UI is not mounted
- Renderer throws cascading exceptions
Exceptions observed
Representative failures observed during renderer startup:
- missing renderer globals used by classic scripts, such as
fs, path, remote
- font loading path using
document.fonts in a way that does not complete reliably on current Electron/Chromium
FontLoader.systemRepo being read before it is initialized
Examples from runtime inspection:
TypeError: Cannot read properties of undefined (reading 'faces')
TypeError: Cannot read properties of undefined (reading 'fonts')
Notes
This seems to be a combination of:
- renderer bootstrap relying on globals that are no longer implicitly shared the way the rest of the code expects
- fragile font-loading bootstrap
FontLoader assuming systemRepo is already available
I have a local patch that reduces this to a small set of changes in:
app/app.js
app/pencil-core/common/FontLoader.js
app/pencil-core/common/FontLoaderUtil.js
If useful, I can turn that into a focused PR.
Summary
On a current Linux desktop, running the current
masterbranch can leave Pencil stuck on the splash screen.The main window opens, but the UI is never mounted. The renderer keeps the raw
<ui:ApplicationPane .../>node in the DOM instead of materializing the application view.Environment
master7d0ec3dReproduction
evolus/pencilnpm installat repository rootnpm installinsideapp/Observed behavior
Exceptions observed
Representative failures observed during renderer startup:
fs,path,remotedocument.fontsin a way that does not complete reliably on current Electron/ChromiumFontLoader.systemRepobeing read before it is initializedExamples from runtime inspection:
TypeError: Cannot read properties of undefined (reading 'faces')TypeError: Cannot read properties of undefined (reading 'fonts')Notes
This seems to be a combination of:
FontLoaderassumingsystemRepois already availableI have a local patch that reduces this to a small set of changes in:
app/app.jsapp/pencil-core/common/FontLoader.jsapp/pencil-core/common/FontLoaderUtil.jsIf useful, I can turn that into a focused PR.