Re: v3.0 release on hold

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>, Khushboo Vashi <khushboo(dot)vashi(at)enterprisedb(dot)com>, Syed Fahar Abbas <fahar(dot)abbas(at)enterprisedb(dot)com>, Devrim GÜNDÜZ <devrim(at)gunduz(dot)org>
Subject: Re: v3.0 release on hold
Date: 2018-03-23 13:25:51
Message-ID: CANxoLDdKD+C2+Ojk95txOAWB0b9inZmKpE7f5VKiqa6J29Mqcg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi Dave

On Fri, Mar 23, 2018 at 11:06 AM, Akshay Joshi <
akshay(dot)joshi(at)enterprisedb(dot)com> wrote:

>
>
> On Thu, Mar 22, 2018 at 10:24 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Hi
>>
>> On Thu, Mar 22, 2018 at 1:13 PM, Dave Page <dpage(at)pgadmin(dot)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 *
>
>
>
> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
>

--
*Akshay Joshi*

*Sr. Software Architect *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Murtuza Zabuawala 2018-03-25 18:13:44 [pgAdmin4][RM#3055] Allow user to sort the data in View data mode
Previous Message Dave Page 2018-03-23 12:03:31 Re: v3.0 release on hold