Re: v3.0 release on hold

Поиск
Список
Период
Сортировка
От Joao De Almeida Pereira
Тема Re: v3.0 release on hold
Дата
Msg-id CAE+jja=KppDfGwz+yQwy3xi-rrRJA3Atr4DpaEdFWjMy80s5PA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: v3.0 release on hold  (Akshay Joshi <akshay.joshi@enterprisedb.com>)
Ответы Re: v3.0 release on hold  (Robert Eckhardt <reckhardt@pivotal.io>)
Список pgadmin-hackers
Hi Hackers,

Did we had any progress on the things that are holding the release back?

Thanks
Joao

On Fri, Mar 23, 2018 at 9:26 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

On 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:
Hi

On 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: 
  1. 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.
  2. 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).
       Will continue to figure out some other solutions tomorrow.       

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

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



--
Akshay Joshi
Sr. Software Architect





--
Akshay Joshi
Sr. Software Architect


В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: Re: [pgAdmin4][patch]: RM #3090 pgadmin shows misleading "Queryreturned successfully" with incorrect SQL
Следующее
От: Murtuza Zabuawala
Дата:
Сообщение: Re: [pgAdmin4][RM#3055] Allow user to sort the data in View data mode