BlueBubblesApp / BlueBubbles-Desktop-App

A desktop app for BlueBubbles to run on Linux, Windows, and others!
47 stars 8 forks source link

Desktop App doesn't launch properly in ChromeOS #221

Open n-i-x opened 3 years ago

n-i-x commented 3 years ago

When starting bluebubbles-desktop-app installed via deb the UI is transparent and the server is unable to connect. The following logs appear in the console when started from terminal:

Starting BlueBubbles Backend...
Initializing database...
Connecting to messaging database...
Failed to connect to messaging database! SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
DriverPackageNotInstalledError: SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
    at new DriverPackageNotInstalledError (/opt/BlueBubbles/resources/app.asar/node_modules/typeorm/error/DriverPackageNotInstalledError.js:10:28)
    at SqliteDriver.loadDependencies (/opt/BlueBubbles/resources/app.asar/node_modules/typeorm/driver/sqlite/SqliteDriver.js:127:19)
    at new SqliteDriver (/opt/BlueBubbles/resources/app.asar/node_modules/typeorm/driver/sqlite/SqliteDriver.js:28:15)
    at DriverFactory.create (/opt/BlueBubbles/resources/app.asar/node_modules/typeorm/driver/DriverFactory.js:43:24)
    at new Connection (/opt/BlueBubbles/resources/app.asar/node_modules/typeorm/connection/Connection.js:53:59)
    at ConnectionManager.create (/opt/BlueBubbles/resources/app.asar/node_modules/typeorm/connection/ConnectionManager.js:56:26)
    at /opt/BlueBubbles/resources/app.asar/node_modules/typeorm/index.js:194:66
    at step (/opt/BlueBubbles/resources/app.asar/node_modules/tslib/tslib.js:141:27)
    at Object.next (/opt/BlueBubbles/resources/app.asar/node_modules/tslib/tslib.js:122:57)
    at /opt/BlueBubbles/resources/app.asar/node_modules/tslib/tslib.js:115:75 {
  name: 'DriverPackageNotInstalledError',
  message: 'SQLite package has not been found installed. Try to install it: npm install sqlite3 --save'
}
Connecting to settings database...
Failed to connect to settings database! SQLite package has not been found installed. Try to install it: npm install sqlite3 --save
Failed to setup default configurations! Cannot read property 'getRepository' of null
Failed to setup dark theme! Cannot read property 'getRepository' of null
Failed to setup light theme! Cannot read property 'getRepository' of null
Failed to setup nord theme! Cannot read property 'getRepository' of null
Initializing filesystem...
Launching Services..
Initializing queue service...
Initializing socket connection...
Setup has not been completed!
Initializing FCM service...
Starting Configuration IPC Listeners...
Error occurred in handler for 'get-theme': TypeError: Cannot read property 'getRepository' of null
    at He.getThemeByName (/opt/BlueBubbles/resources/app.asar/dist/main.js:1:18350)
    at /opt/BlueBubbles/resources/app.asar/dist/main.js:1:60596
    at electron/js2c/browser_init.js:209:558
    at WebContents.<anonymous> (electron/js2c/browser_init.js:173:8425)
    at WebContents.emit (events.js:223:5)
Error occurred in handler for 'start-socket-setup': TypeError: Cannot read property 'isConnected' of null
    at /opt/BlueBubbles/resources/app.asar/dist/main.js:1:62146
    at electron/js2c/browser_init.js:209:558
    at WebContents.<anonymous> (electron/js2c/browser_init.js:173:8425)
    at WebContents.emit (events.js:223:5)
Error occurred in handler for 'start-socket-setup': TypeError: Cannot read property 'isConnected' of null
    at /opt/BlueBubbles/resources/app.asar/dist/main.js:1:62146
    at electron/js2c/browser_init.js:209:558
    at WebContents.<anonymous> (electron/js2c/browser_init.js:173:8425)
    at WebContents.emit (events.js:223:5)

I installed sqlite3 via sudo apt install sqlite3 and it still didn't work.

I was able to make it work by installing npm and the sqlite3 driver for node:

sudo apt install npm
npm install sqlite3 --save
n-i-x commented 3 years ago

After using it for a few hours, I've noticed some issues:

1) The UI window cannot close the application:

Error occurred in handler for 'close-event': Error: Image could not be created from /opt/BlueBubbles/resources/resources/resources/icons/128x128.png
    at /opt/BlueBubbles/resources/app.asar/dist/main.js:1:78107
    at electron/js2c/browser_init.js:209:558
    at WebContents.<anonymous> (electron/js2c/browser_init.js:173:8425)
    at WebContents.emit (events.js:223:5)

2) Notifications don't seem to be working. I found these related ChromeOS bugs which are marked as fixed (and are indeed fixed as the packages were present on a fresh install of the Linux container).

https://bugs.chromium.org/p/chromium/issues/detail?id=838531 https://bugs.chromium.org/p/chromium/issues/detail?id=987123

I'm happy to help troubleshoot these issues on discord if you don't have access to a ChromeOS device.

n-i-x commented 3 years ago

I installed 1.0.4 RC1 and the install/launch issue and the UI issue where the app cannot close itself is resolved. I'm still not seeing any notifications.