Re: Showstopper desktop runtime issue

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Joao De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>, Neel Patel <neel(dot)patel(at)enterprisedb(dot)com>, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Robert Eckhardt <reckhardt(at)pivotal(dot)io>
Subject: Re: Showstopper desktop runtime issue
Date: 2018-03-23 11:27:21
Message-ID: CA+OCxowGYnNsgMMEhebYSbBW_hZn7spFtCRtsAkJxxcJQOXWNQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Thu, Mar 22, 2018 at 6:27 PM, Joao De Almeida Pereira <
jdealmeidapereira(at)pivotal(dot)io> wrote:

> Hello Hackers
>
> In the PoC we did with Electron last month this was the point where we
> stopped
>
> What did we accomplish:
> - Use Electron as a runtime and packaging solution for the application
> - Support opening new windows when the preferences ask for them
> - Make the application generally work
> - Use Chrome as a default browser for the application
> - Building scripts for all platforms using `yarn`, please review Readme
> - The packaged Python version is 3.6 to Mac and Linux, and 3.4 to Windows
> - In our point of view it is a simpler way to generate the installers
>
> Work in progress:
> - No random port for the server, so you can only start 1 instance per
> machine
> - Tab support, there is no native support for tabs in Electron. It is
> possible to do that, and eventually you will see a option in the menu to
> create a new tab, but for this PoC we decided to disable the creation of
> tabs. Tabs need to be implemented using HTML and cannot be ripped of from
> the current window, like in Chrome
> - Did not test in CentOS, but tested in Ubuntu and it is working (We
> tried but the electron required GLIBC 2.25 that was not on the version of
> CentOS that we had)
> - In Linux despite the fact that we close the window, the application is
> still running and need to be killed by hand
> - We didn't test Debugger opening in new window
> - Loading screen has no reference to pgAdmin
> - No logging file for the runtime
> - Windows we are using python 3.4 and using prior version of psycopg2
> 2.5.6 and pycrypto 2.6.1 (The version of psycopg2 is not the correct one,
> this is because we couldn't find a precompile version of psycopg2)
> - This is just a spike and the code looks pretty messy. This need to be
> changed in order to make it more readable and have some tests around it
> - Murtuza and Fahar were not able to run the application in Windows
> - Khushboo was not able to run Ubuntu version
>
> Given this was the status at the time, we need to pick and choose what we
> really want to implement right out of the box and what could be postponed.
> In order to generate Windows build and ensure that the Linux build is
> working we need so help. If we could have access to the machines that you
> use to build pgAdmin or access to the venv folder that is generated in
> these machines we could try to create a build from that.
>
> The changes we produced still applies cleanly on master and can be found
> in: https://github.com/greenplum-db/pgadmin4/tree/electron-over-master
>
>
I just tried building the PoC again, and got much further than before - in
fact I did get a working app bundle out at the end, however the dist build
did spew out the errors below:

piranha:electron dpage$ yarn dist
yarn run v1.3.2
$ ./node_modules/.bin/electron-builder
• electron-builder version=20.0.7
• loaded configuration file=package.json ("build" field)
• writing effective config file=dist/electron-builder.yaml
• no native production dependencies
• asar using is disabled — it is strongly not recommended solution=enable
asar and use asarUnpack to unpack files that must be externally available
• packaging platform=darwin arch=x64 electron=1.8.2
appOutDir=dist/mac
• signing file=dist/mac/pgAdmin 4.app identityName=Developer ID
Application: <redacted> identityHash=<redacted>
Error: Command failed: codesign --verify --deep --strict --verbose=2
/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper NP.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper NP.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper EH.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper.app
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/pgAdmin 4 Helper EH.app
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Mantle.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Squirrel.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/Current/.
--prepared:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--validated:/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin
4.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
/Users/dpage/git/pgadmin4-electron/electron/dist/mac/pgAdmin 4.app: No such
file or directory

at ChildProcess.exithandler (child_process.js:275:12)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
From previous event:
at MacPackager.sign
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/macPackager.js:286:11)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/macPackager.ts:94:26
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/macPackager.ts:94:10
at Generator.next (<anonymous>)
From previous event:
at MacPackager.pack
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/macPackager.js:209:11)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:372:24
at Generator.next (<anonymous>)
at xfs.stat
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/fs-extra-p/node_modules/fs-extra/lib/mkdirs/mkdirs.js:56:16)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/polyfills.js:287:18
at FSReqWrap.oncomplete (fs.js:153:5)
From previous event:
at Packager.doBuild
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:441:11)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:316:52
at Generator.next (<anonymous>)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/graceful-fs.js:99:16
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/graceful-fs/graceful-fs.js:43:10
at FSReqWrap.oncomplete (fs.js:135:15)
From previous event:
at Packager._build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:385:11)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/packager.ts:278:23
at Generator.next (<anonymous>)
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
at Packager.build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/packager.js:341:11)
at
/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/src/index.ts:50:40
at Generator.next (<anonymous>)
From previous event:
at build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder-lib/out/index.js:47:21)
at build
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/builder.ts:228:10)
at then
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:48:33)
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
at Object.args [as handler]
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:48:33)
at Object.runCommand
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/lib/command.js:235:44)
at Object.parseArgs [as _parseArgs]
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/yargs.js:1042:24)
at Object.get [as argv]
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/yargs/yargs.js:957:21)
at Object.<anonymous>
(/Users/dpage/git/pgadmin4-electron/electron/node_modules/electron-builder/src/cli/cli.ts:42:15)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this
command.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Ashesh Vashi 2018-03-23 11:27:23 Re: v3.0 release on hold
Previous Message Dave Page 2018-03-23 10:14:27 Re: Experiencing issues