Re: v3.0 release on hold - Mailing list pgadmin-hackers
From | Robert Eckhardt |
---|---|
Subject | Re: v3.0 release on hold |
Date | |
Msg-id | CAAtBm9Xs1kUgArNPA+QWa0WtO=_1tXd=Li5Q5DGHptsWxQixxA@mail.gmail.com Whole thread Raw |
In response to | Re: v3.0 release on hold (Joao De Almeida Pereira <jdealmeidapereira@pivotal.io>) |
Responses |
Re: v3.0 release on hold
|
List | pgadmin-hackers |
All,
Where are we with respect to cutting this release?
-- Rob
On Mon, Mar 26, 2018 at 9:59 AM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
Hi Hackers,Did we had any progress on the things that are holding the release back?ThanksJoaoHi DaveOn Fri, Mar 23, 2018 at 11:06 AM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote: On Thu, Mar 22, 2018 at 10:24 PM, Dave Page <dpage@pgadmin.org> wrote:HiOn Thu, Mar 22, 2018 at 1:13 PM, Dave Page <dpage@pgadmin.org> wrote:2) Starting a second instance of the app bundle on Mac doesn't always open a new pgAdmin window as it should. It works fine in the debugger, or if you start the app with a command like: "/Applications/pgAdmin\ 4.app/Contents/MacOS/pgAdmin4". It doesn't work if you double-click the appbundle or use a command like "open /Applications/pgAdmin\ 4.app" Still working on this, not found any solution yet.Not able to figure out the solution yet. I have tried to debug the code, but every time it will create a new instance(tray icon). Do I need to look into the code or something related to app bundle may be some settings in info.plist or any other pointer?Have a look at the code around line 85 an onwards of pgAdmin4.cpp. It creates the shared memory interlock (and log/address files) based on the current username and a hash of the executable name/path. My suspicion is that the path hash (which is calculated from argv[0] on line 72) is for some reason getting a different value each time when launched via the Finder or "open", thus the interlock is failing.So I took a look at this, and it seems the code is just fine. What is happening is that macOS only allows a single instance of an app to run at once. Whilst that is what we want of course, macOS is causing the new instance to exit before it has a change to open a new pgAdmin window. Using "open -n ..." or calling the embedded executable directly resolves that issue.So, there's another challenge to figure out... :-(OK. Will try to figure that out.After googled I have tried following solution:Will continue to figure out some other solutions tomorrow.
- Create a shell script "launch.sh" and kept it in "/Applications/pgAdmin\ 4.app/Contents/MacOS" folder. That shell script will contain the command "open -n /Applications/pgAdmin\ 4.app/Contents/MacOS/pgAdmin4"
. Change the "CFBundleExecutable" parameter of Info.plist from "pgAdmin4" to "launch.sh". It didn't work, shall script didn't launch. - Create one apple script with command like "do shell execute "/Applications/pgAdmin\ 4.app", compile it and save it as Application. It create the app bundle, copy contents of pgAdmin4 app to this newly created application. But the problem is it opens and having icon in the dock and no response on double click (second time).
--Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company--
pgadmin-hackers by date: