Re: [pgadmin][patch] Electron version 4.X - Mailing list pgadmin-hackers
From | Murtuza Zabuawala |
---|---|
Subject | Re: [pgadmin][patch] Electron version 4.X |
Date | |
Msg-id | CAKKotZTmnLfs7agFdhxUw5R+xNgsksktH5t9eraiz6=oY1Fncw@mail.gmail.com Whole thread Raw |
In response to | Re: [pgadmin][patch] Electron version 4.X (Dave Page <dpage@pgadmin.org>) |
List | pgadmin-hackers |
Hi Joao,
Awesome job, I tried windows build & it is running very smooth on my Win10 VM,
It took some time when I ran it for the first time (I think because it ran "update.exe") but it was quick when opened second time onwards (taking ~6-7 secs to display the main window).
The main thing I noticed is that it's not resource-hungry like other electron apps I have used earlier,
- Resouce consumption with Dashboard
CPU: ~20%
RAM: ~300mb
- Resouce consumption without Dashboard
CPU: ~5%RAM: ~300mb
Which is much lighter than I expected :)
I'll also try it on my physical machine running Win7 and update the thread if I find any issue.
On Tue, Jun 5, 2018 at 9:57 PM, Dave Page <dpage@pgadmin.org> wrote:
HiOn Mon, Jun 4, 2018 at 10:27 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:Hi Hackers,
Attached you can find the patch that introduces electron to our code base.
Cool. FYI, I'd like to get this into rough shape and then push it to a dev branch for fine-tuning. I think it'll be easier to work that way.What do we provide with this patch:
- Start the pgAdmin server from Electron
- When starting pgAdmin, the user is shown a window that tells them that pgAdmin is loading.
- Once the server has started, the loading window disappears and opens pgAdmin in a window
- Desktop user has the ability to open up new windows to work in.
- When you close pgAdmin it properly shuts everything down.
- Stop using copy of web folder for development
I'm not sure what you mean by that last point?
- `
This is the initial patch for people to start paying around with the electron version. There might be things that are not working.
What we know:- Logging is not working on windows
- We are not packaging any pg_* executables
- Consistent/Centralized versioning between Electron and pgAdmin Server
OK.We generated builds for:
- MacOs: https://storage.googleapis.com
/pgadmin-binaries/pgAdmin-4.0. 4%2Bdev.darwin.zip - Ubuntu/Debian 64 bit: https://storage.googleapis.com
/pgadmin-binaries/pgAdmin_4.0. 4~dev_amd64.linux.zip - Windows 64 Bit: https://storage.googleapis.com
/pgadmin-binaries/pgAdmin-4.0. 5-dev-windows.zip - Runtime code is still present
- Didn’t update the make scripts
We added some instructions on how to build these 3 binaries in
electron/Readme.md
Great. So here's my initial feedback:- The Mac build you provided doesn't work for me. It hangs on the loading screen.- A number of the changes are related to the naming of requirejs. I'd be inclined to pull that out into a separate patch and get it committed to master ASAP.- I think the build instructions need to be more generic (particularly on macOS). For example, I do not use HomeBrew (largely due to some nasty security issues they had in the past). I was able to mostly port the instructions and build script over to work using MacPorts (without PyEnv) which actually turned out to be somewhat more simple than what's there now.- I'm not sure what this is intended to do: "git checkout electron". Clearly that isn't correct.- All new builds should be using Python 3.6. We need to deprecate 2.7 as there are some Unicode related issues that cannot be fixed in it.
+1
- The Linux build isn't a Linux build in the general sense - it's a Debian build and should be named as such (and if we're including that, we should have a Redhat version - though that needn't hold up the current work). Sidenote: I'm not sure that either the APT or YUM PostgreSQL projects will accept a package built in this way as they're somewhat picky about following platform packaging rules which would mean using the system-installed Python. I think this is a sane way to go myself, but that's just my view.- I would like to see the new build code adapted to follow the existing conventions as much as reasonable, to avoid having to change build systems or other processes/procedures that folks use. For example, build scripts should be under pkg/, completed packages left in dist/, build staging done in xxx-build directories rather than elsewhere.- It may be a result of my use of MacPorts, but I'm getting the following failure building:yarn run v1.3.2$ electron-forge make --platfrom=darwin --arch=x64 --targets=dmg✔ Checking your system✔ Resolving Forge ConfigWe need to package your application before we can make it✔ Preparing to Package Application for arch: x64⠼ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/venv/lib/ python3.6/site-packages/setupt ools/command/launcher manifest.xml Compiling /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/venv/lib/ python3.6/site-packages/setupt ools/command/launcher manifest.xml resulted in a MIME type of application/xml, which we don't know how to handle ⠋ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/server_groups/servers/ templates/servers/supported_ servers.js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/server_groups/servers/ templates/servers/supported_ servers.js: Unexpected token (6:7) ⠦ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/templates/browser/js/ endpoints.js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/templates/browser/js/ endpoints.js: Unexpected token (5:6) Failed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/templates/browser/js/ messages.js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/templates/browser/js/ messages.js: Unexpected token (37:1) Failed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/templates/browser/js/ utils.js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ browser/templates/browser/js/ utils.js: Unexpected token (28:23) ⠋ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ misc/file_manager/templates/ file_manager/js/languages/en. js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ misc/file_manager/templates/ file_manager/js/languages/en. js: Unexpected token, expected ; (2:29) ⠋ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ static/scss/_alert.scss Error: Undefined variable: "$color-green-3".on line 29 of /stdin>> background: $color-green-3;--------------^⠙ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ static/scss/_alertify.override s.scss Error: ".ajs-message.ajs-error.ajs-visible" failed to @extend ".bg-red-1". The selector ".bg-red-1" was not found.Use "@extend .bg-red-1 !optional" if the extend should be able to fail.on line 164 of /stdin>> @extend .bg-red-1;----------^⠴ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ static/scss/sqleditor/_ history.scss Error: Undefined variable: "$color-gray-3".on line 4 of /stdin>> border-bottom: 1px solid $color-gray-3;-----------------------------^ ⠇ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ templates/base.html /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ templates/base.html:inline_1. js: Unexpected token (2:13) ⠴ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ tools/templates/js/translation s.js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ tools/templates/js/translation s.js: Unexpected token (2:10) ⠦ Compiling ApplicationFailed to compile file: /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ tools/user_management/template s/user_management/js/current_ user.js /var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/electron-pa ckager/darwin-x64/pgAdmin-darw in-x64/Electron.app/Contents/ Resources/app/web/pgadmin/ tools/user_management/template s/user_management/js/current_ user.js: Unexpected token (3:15) ✔ Compiling Application✔ Preparing native dependencies✔ Packaging ApplicationMaking for the following targets:⠋ Making for target: dmg - On platform: darwin - For arch: x64An unhandled exception has occurred inside Forge:Cannot find module 'macos-alias'Error: Cannot find module 'macos-alias'at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:474:25)at Module.require (module.js:596:17)at require (internal/module.js:11:18)at Object.<anonymous> (/private/var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/tm p.cTDTnGt3/electron/node_modul es/ds-store/index.js:2:13) at Module._compile (module.js:652:30)at Object.Module._extensions..js (module.js:663:10)at Module.load (module.js:565:32)at tryModuleLoad (module.js:505:12)at Function.Module._load (module.js:497:3)at Module.require (module.js:596:17)at require (internal/module.js:11:18)at Object.<anonymous> (/private/var/folders/c6/pwf0k2d509s2xx6vh0h633vm0000gn/T/tm p.cTDTnGt3/electron/node_modul es/appdmg/lib/appdmg.js:5:15) at Module._compile (module.js:652:30)at Object.Module._extensions..js (module.js:663:10)at Module.load (module.js:565:32)error Command failed with exit code 1.info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. Thanks for working on this!--Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Regards,
Murtuza
pgadmin-hackers by date: