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 1eyxML-0004br-I9 for pgadmin-hackers@arkaria.postgresql.org; Thu, 22 Mar 2018 10:22:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1eyxMK-0000d4-G7 for pgadmin-hackers@arkaria.postgresql.org; Thu, 22 Mar 2018 10:22:12 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eyxMK-0000cu-6c for pgadmin-hackers@lists.postgresql.org; Thu, 22 Mar 2018 10:22:12 +0000 Received: from mail-wr0-x230.google.com ([2a00:1450:400c:c0c::230]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1eyxMF-0002kM-5g for pgadmin-hackers@postgresql.org; Thu, 22 Mar 2018 10:22:11 +0000 Received: by mail-wr0-x230.google.com with SMTP id d10so8087723wrf.3 for ; Thu, 22 Mar 2018 03:22:06 -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=JHO9NttNVuhx0uYEhfJnU30e+f7sGe/01x8N+11nc6Q=; b=dKQWfV3dyv5fGx2+4Vg1GjqOQKXv8WbZ6mWDpVvc7sqxwdES60SB0ytl9L5mpsMFzx mkBtr9i26F6DossPott2TJutikX9fnoClXyh4M/JD13LRXHy90b4ht8zG0hWDEs0gyte XRh+MJhrawb2foqOqcEkb4QvpEvf6PHu0khyv/Zbz3Jty2JOgbRkD26AuWnMvUjXLzXw Y+xhHchwe3rhTm0Q0D8QijB2LEgialEy/JHQqWmxMYptip0AxgfdQJKdHqOm4HyiZzhk VK6ZPaI70u26jwa1O1hjDaVKZ+569gtvkocuFqrTO5Xy/3PnztwI4pwBgENyz04M/2pR Xsrg== 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=JHO9NttNVuhx0uYEhfJnU30e+f7sGe/01x8N+11nc6Q=; b=qIL4sYURvFBfh/smnu6zrOeKrHE4ASfaJeEtLYigKcRwS2IhGyGeXrxcNxH6ACr08J g7Zvz+mkJAozo8n+0lBnCjbr0a1TTj/F/U7SO4/b++Y/Qn4GKtm6jxwwJ/t4CG3pcebt 443JfRi9aM6zNy3xQONv5X2CnRIBXN1LVKBgLKDVkrL9Wt7rPMFRmGPBDhUQMrpbg8S9 bA7tiIZwuElqx6gNZAylkz7U4gsN4HVlYQK2RJF0ySp8YK+Vng2P6pxhxJtN6JQl992K U8m93TC1qmufrDsx2YeU7WL2HSkKK4qGLy70HtVwVgmFUDFEN+Pyo00bsm5pkvoBu5YJ fYCQ== X-Gm-Message-State: AElRT7E3ITkP+wY/nVvcq85Lz4wH2LztxbIv8gkhHPVHF1NICIQpqay8 TVhU1oIC36EU4PnzisCBKy5BX1fsE95SsLahbDjf3A== X-Google-Smtp-Source: AG47ELuU38yMZ5kOIYA/731vNYC3elgKeQxlodlVGikKph3+II47JQei8BNa+TPFnEl1w+uW50kqUS2sUA4Y4xv/wNc= X-Received: by 10.223.159.74 with SMTP id f10mr1970853wrg.49.1521714126104; Thu, 22 Mar 2018 03:22:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.69.220 with HTTP; Thu, 22 Mar 2018 03:22:05 -0700 (PDT) In-Reply-To: References: From: Dave Page Date: Thu, 22 Mar 2018 10:22:05 +0000 Message-ID: Subject: Re: Showstopper desktop runtime issue To: Neel Patel Cc: pgadmin-hackers , Akshay Joshi , Ashesh Vashi , Joao Pedro De Almeida Pereira , Robert Eckhardt Content-Type: multipart/alternative; boundary="089e0826b0e0efc26e0567fdada8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --089e0826b0e0efc26e0567fdada8 Content-Type: text/plain; charset="UTF-8" On Thu, Mar 22, 2018 at 10:19 AM, Neel Patel wrote: > Hi, > > On Thu, Mar 22, 2018 at 3:19 PM, Dave Page wrote: > >> All, >> >> As you know, the 3.0 release is currently on hold as we discovered late >> yesterday that the re-vamped desktop runtime will not run on Gnome 3.26 and >> later. This is because the GTK project, and later Gnome, have removed >> support for the System Tray on which the new runtime relies. >> >> They have replaced it with a notification mechanism, however this doesn't >> really meet our needs as what we want is a place (the tray icon) to attach >> a menu to control the pgAdmin server; we don't really use notifications as >> such. >> >> I see a number of possible ways around this: >> >> 1) Return to the previous runtime. I think this is at best a short-term >> solution, as the re-visited Annulen version of the QtWebKit seems to be >> getting little attention at the moment, and this would re-introduce many >> known bugs caused by WebKit. >> >> 2) Re-work the current runtime code to remove the tray icon, and utilise >> desktop/start menu items to signal the running instance to show the logs, >> configure the server, exit etc. This should work, but will be kinda klunky. >> >> 3) Put effort into polishing Joao's Electron based runtime. This might be >> a good long term solution as it would remove the need to have any C++ code >> of our own, and might allow us to use Electron's update mechanism to do >> software updates. The downsides are that we would lose support for dockable >> tabs (new windows only), and it wouldn't work on CentOS/RHEL 6 which we >> currently support. >> >> Thoughts and comments please folks? How do we want to proceed? I'm >> currently leaning towards 2 for v3, and possibly moving to 3 in the long >> term. >> > > As per our previous efforts on Qt's web rendering framework, I am not in > favor of adding it again as it add lots of dependency and complexity. > I would suggest to go for option 2 - To re-work the current runtime code > and find out how to get already running instance of pgadmin4. > We have a shared memory interlock as well as temp/lock files that encode the executable path into their name that handles that already, though it doesn't seem to be working quite as expected when you run from a Mac Appbundle (which Akshay is working on). The issue would be how we signal the running instance and tell it to do something, e.g. exit. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company --089e0826b0e0efc26e0567fdada8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Mar 22, 2018 at 10:19 AM, Neel Patel <neel.patel@ent= erprisedb.com> wrote:
Hi,

On Thu, Mar 22, 2018 at 3:19 PM, Dave Page <dpage@pgadmin.o= rg> wrote:
All,

As you know, the 3.0 relea= se is currently on hold as we discovered late yesterday that the re-vamped = desktop runtime will not run on Gnome 3.26 and later. This is because the G= TK project, and later Gnome, have removed support for the System Tray on wh= ich the new runtime relies.=C2=A0

They have replac= ed it with a notification mechanism, however this doesn't really meet o= ur needs as what we want is a place (the tray icon) to attach a menu to con= trol the pgAdmin server; we don't really use notifications as such.

I see a number of possible ways around this:

1) Return to the previous runtime. I think this is at best= a short-term solution, as the re-visited Annulen version of the QtWebKit s= eems to be getting little attention at the moment, and this would re-introd= uce many known bugs caused by WebKit.

2) Re-work t= he current runtime code to remove the tray icon, and utilise desktop/start = menu items to signal the running instance to show the logs, configure the s= erver, exit etc. This should work, but will be kinda klunky.

=
3) Put effort into polishing Joao's Electron based runtime. = This might be a good long term solution as it would remove the need to have= any C++ code of our own, and might allow us to use Electron's update m= echanism to do software updates. The downsides are that we would lose suppo= rt for dockable tabs (new windows only), and it wouldn't work on CentOS= /RHEL 6 which we currently support.

Thoughts and c= omments please folks? How do we want to proceed? I'm currently leaning = towards 2 for v3, and possibly moving to 3 in the long term.

As per our previous efforts on Qt's= web rendering framework, I am not in favor of adding it again as it add lo= ts of dependency and complexity.=C2=A0
I would suggest to go for option= 2 - To re-work the current runtime code and find out how to get already ru= nning instance of pgadmin4.
=
We have a shared memory interlock as well as temp/lock files= that encode the executable path into their name that handles that already,= though it doesn't seem to be working quite as expected when you run fr= om a Mac Appbundle (which Akshay is working on). The issue would be how we = signal the running instance and tell it to do something, e.g. exit.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
=
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--089e0826b0e0efc26e0567fdada8--