Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ezKun-0006ch-8R for pgadmin-hackers@arkaria.postgresql.org; Fri, 23 Mar 2018 11:31:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ezKum-0001Ct-8W for pgadmin-hackers@arkaria.postgresql.org; Fri, 23 Mar 2018 11:31:20 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ezKr3-0003vF-Eo for pgadmin-hackers@lists.postgresql.org; Fri, 23 Mar 2018 11:27:29 +0000 Received: from mail-wm0-x22c.google.com ([2a00:1450:400c:c09::22c]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ezKqy-000154-Ru for pgadmin-hackers@postgresql.org; Fri, 23 Mar 2018 11:27:27 +0000 Received: by mail-wm0-x22c.google.com with SMTP id f125so2879233wme.4 for ; Fri, 23 Mar 2018 04:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=QEh+O/Kz/p6wGJoMUMDUM101FA+kspfjCz+aCoq12RE=; b=JFimbuVFiPvg+H40x5FzSjnyrSbxJIJ1v6cQPyOTi0g1aVoRfvmxuhZqGsN2Ac77pW 3et758bFv/uu9A0vhFIcODuVFvHZqA153rIbD3mlKzu1a4dKPg4IOQiSW+CAFxFHO514 Zq0qZrmYGGnYvkZ+A9i1KzG19IgWOJr/rR1jBr/koD284oR1pcvrk7Vq2hPoBOCdJgbj fzplMB5jJOrN4U59PSpa8v1bJs50QGbuMZVnbqG1bGpQLzR6hAf9hXk/TkF2UuuPjMuq bMJvW1LCHmE0n9RfWXyUjfCENw87pn4yerd5ULZyThn8P/AgaPdo3h6z7WiYHcRFXyLV 5r1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=QEh+O/Kz/p6wGJoMUMDUM101FA+kspfjCz+aCoq12RE=; b=YUVj+1lhpGqlSufgo1o1LWK8tGo/RR4UuN91TS9xkhdws+LfBhP9MI74CrDy3fmPi8 WHF2pBPpwgxcNrDp1D+5cknfKxOx+QUpdZK4N0yJewZnagLNCTd9SZ3JOzATp+qv1LfV daD3sxt4hPiLlLNxMJ1LiiaTIflleg2DPqrGoIkqkOgZgnHEW4dr4iKc5nav8D2e4SWl k/TujcG2U6jfhA7eKRNcM6pA6c1o+atZqfq2g6i+fX58pyRvvINKL9ORALT6GN2ukRog 0iAvpDPbY50XB1PgEIy0rAmUjEn3Pk6Oe2/IYVVv3doxhX4Aj9OQsyEs12RxApo7J3ej bj2Q== X-Gm-Message-State: AElRT7FcdxLDY2EYZUBEhUy33uedEQp+/c6L9D+vIOlfEirEl+FLpB+/ +XSPDGGKRJpTnk8yFyNwyv12NrFwCqrfrd4nCpAMdg== X-Google-Smtp-Source: AG47ELvF2+I3p7pM1Ys1XKfbB2/Jwqg6hMvRKF2SnulwilYplaaDBHI+I1/d1baxBABxL2+DJdCJUsZOTogPSSV4lM0= X-Received: by 10.28.176.134 with SMTP id z128mr8554945wme.86.1521804441982; Fri, 23 Mar 2018 04:27:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.69.220 with HTTP; Fri, 23 Mar 2018 04:27:21 -0700 (PDT) In-Reply-To: References: From: Dave Page Date: Fri, 23 Mar 2018 11:27:21 +0000 Message-ID: Subject: Re: Showstopper desktop runtime issue To: Joao De Almeida Pereira Cc: Magnus Hagander , Murtuza Zabuawala , pgadmin-hackers , Akshay Joshi , Neel Patel , Ashesh Vashi , Robert Eckhardt Content-Type: multipart/alternative; boundary="001a114110122ea58e056812b57f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --001a114110122ea58e056812b57f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi On Thu, Mar 22, 2018 at 6:27 PM, Joao De Almeida Pereira < jdealmeidapereira@pivotal.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 Window= s > - 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 =E2=80=A2 electron-builder version=3D20.0.7 =E2=80=A2 loaded configuration file=3Dpackage.json ("build" field) =E2=80=A2 writing effective config file=3Ddist/electron-builder.yaml =E2=80=A2 no native production dependencies =E2=80=A2 asar using is disabled =E2=80=94 it is strongly not recommended= solution=3Denable asar and use asarUnpack to unpack files that must be externally available =E2=80=A2 packaging platform=3Ddarwin arch=3Dx64 electron=3D1.8.2 appOutDir=3Ddist/mac =E2=80=A2 signing file=3Ddist/mac/pgAdmin 4.app identityName=3DDe= veloper ID Application: identityHash=3D Error: Command failed: codesign --verify --deep --strict --verbose=3D2 /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= )