Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNgXf-0001pX-5o for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Jun 2017 14:23:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNgXe-0005eX-KW for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Jun 2017 14:23:34 +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.84_2) (envelope-from ) id 1dNgXe-0005by-Au for pgadmin-hackers@lists.postgresql.org; Wed, 21 Jun 2017 14:23:34 +0000 Received: from mail-io0-x22a.google.com ([2607:f8b0:4001:c06::22a]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dNgXY-00009E-VK for pgadmin-hackers@postgresql.org; Wed, 21 Jun 2017 14:23:33 +0000 Received: by mail-io0-x22a.google.com with SMTP id c201so4626316ioe.1 for ; Wed, 21 Jun 2017 07:23:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=4z9Bjz09xamuC2I8C5hQ4eOXphe5V7l+BJNIoeojf6A=; b=L0ZIk3ziFcxx+Aacipag2sAH8nSZkAd9NV9ZISq5LfaJBDmGdcRbKusC5cF5a9JQTl tnhddeA4i8NR/+prUcJleNkJ58TqOoatP6ML+U3jGBQAkr8MrYczB4plg7dhduuhVGuN 8KvxJDhLUJ4aWD8ZD3rPBO2OZt2VwW7pzax7Pac9RMKd57jbFn6dD3dlHhEvvO0bNNBT 81qfAfLG7yrcvUtVn+VOMaiW1/WMwtL43HBK8Wn9Z8rV0WdFMjhiI1S9WDWqnxgtCdqt 6li58XCUYc0c8AjNQpxRV+FxGKZyJq6+52B4j2GC5hub9Cg/WEWyAN4dTw8fy5E2p6fT opqQ== 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=4z9Bjz09xamuC2I8C5hQ4eOXphe5V7l+BJNIoeojf6A=; b=S0NrTApF90/2DrJFqFFtGfuZ936z/COB/DPwl/Zlx4S1Rw0djX9/3e08HO9qpTy7cp +Q46xaJ68z1AB9M3Lsyzi7VGVB+yd5enb3ano9+iFPsfBVzALOrzeR/kOcG2XNL3KsV9 JKO+DnO1Jx0m0C7uw+nS0V7hUVmCImzXM0/DowqQDutg8eI1YoSJk5enZv/ttw6DDSEM IYWinQYB0dRlStOccjOZ2FOVaQTNulM7+YGVjnBeUpOe5n+O7jX4r01QPfziTH6ABgNv oTpRYrAixP/hX2r3z/nt0VmIoXRGYKU4bnJ+IrB8PEyfxjowa48XGhGZgr+vSiFHvyZ0 AuJQ== X-Gm-Message-State: AKS2vOxOE4FowaEFv3TmNvixSgPM0jN298Ywkr7kFG7umcpnGpQLOzJn PA4EuEUQl9PxyPNzLpbPy1n9tJgtV0gL X-Received: by 10.107.55.10 with SMTP id e10mr31117341ioa.38.1498055006035; Wed, 21 Jun 2017 07:23:26 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.58.9 with HTTP; Wed, 21 Jun 2017 07:23:05 -0700 (PDT) In-Reply-To: References: From: Sarah McAlear Date: Wed, 21 Jun 2017 10:23:05 -0400 Message-ID: Subject: Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React To: Dave Page Cc: George Gelashvili , Surinder Kumar , Ashesh Vashi , Shruti B Iyer , Joao Pedro De Almeida Pereira , Murtuza Zabuawala , pgadmin-hackers Content-Type: multipart/alternative; boundary="001a114ac1e27d5baf0552791c25" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Unsubscribe: , List-Archive: Precedence: bulk --001a114ac1e27d5baf0552791c25 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello! Thank you for committing the patch! We are currently looking into CEF ( https://bitbucket.org/chromiumembedded/cef) as an alternative to QTWebKit. So far it looks promising. It works on all platforms. It is the base for Google Chrome, so it should be maintained for some time to come. Version 60 is currently in development. At this point we are developing a prototype for Mac as a proof of concept. We will keep you posted as we go. We are able to launch the server in one terminal and launch our browser app in another and use pgAdmin from that app. It would be useful to have a framework to follow to decide what library will be used to support pgAdmin in the future. What metrics are you currently using? What data should we collect on prototypes in order to help the selection process? Thanks! Jo=C3=A3o & Sarah On Wed, Jun 21, 2017 at 6:37 AM, Dave Page wrote: > Hi George > > On Tue, Jun 20, 2017 at 10:29 PM, George Gelashvili > wrote: > > We learned that the underlying issue was related to react-dom's > > SyntheticEvent.augmentClass function being undefined. > > > > This seems to be caused by attempted property assignment after the > > SyntheticEvent had been replaced by a Proxy of itself. This works fine = in > > Chromium et al, but QtWebKit doesn't deal with Proxy Event objects well= . > > Moving the augmentClass definition and assignment up above the Proxy > stuff > > resolves the issue in a PR to React: > > https://github.com/facebook/react/pull/10011 > > > > This has a decent chance of being rejected, as QtWebKit appears to be > losing > > support. > > > > While and if this is being sorted out, we vendorized React, as one does= . > > Here are patches on the version we were using previously, and the fix > from > > the above PR. > > Thanks - committed. > > > We started talking to some Pivotal folks about QtWebKit to see if we ca= n > fix > > the Proxy Event issue in the browser. > > We are also looking into replacements for QtWebKit. > > Yeah, so here's the current state of play there: > > - Some major Linuxes don't seem to have added QtWebEngine to their > packages yet. > > - QtWebEngine has multiple issues under Windows; it's *very* slow, and > doesn't play nicely with some graphics cards and Remote Desktop. > > - QtWebKit (official) has rendering issues, and has been deprecated by Qt= . > > - QtWebKit (annulen) fixes the rendering issues, and generally works > well, but is very slow on Windows (though not as bad as QtWebEngine). > > - QtWebKit (annulen) is a fork, which may or may not live for long. > It's also still quite far behind the latest WebKit code. > > - ActiveQt is looking extremely promising on Windows, embedding IE as > the browser. It's speed is on par with QtWebKit on Mac. We're > currently working on handling multiple tabs/windows and sharing > cookies between them. > > - Electron and Node-Webkit are performant options, but don't support > tabs, and may not even support multiple windows in the same session. > > Neel is currently working on the ActiveQt option for Windows. I've > been very impressed by its speed, and of course, JS support is per the > installed version of IE. If that pans out, we could potentially move > back to QtWebEngine on Linux/Mac (where the latest versions may well > be improved), and use ActiveQt on Windows, thus dropping WebKit > altogether. > > Another option would be to help get the annulen QtWebKit port up to > par; fix the performance issues on Windows, and get it up to the > latest WebKit code. That seems like it would take much more work, and > I don't think our team has the capacity for that. If yours does, then > it's certainly worth exploring. > > Ashesh is also planning to spend a little more time looking more > deeply at Electron/Node-Webkit as well as other options, once he's > finished his current work. > > Other thoughts/experiences are definitely welcome. > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --001a114ac1e27d5baf0552791c25 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello!

Thank you for committing the pat= ch!=C2=A0

We are currently looking into CEF (https://bitbucket.org/chr= omiumembedded/cef) as an alternative to QTWebKit. So far it looks promi= sing. It works on all platforms. It is the base for Google Chrome, so it sh= ould be maintained for some time to come. Version 60 is currently in develo= pment. At this point we are developing a prototype for Mac as a proof of co= ncept. We will keep you posted as we go.=C2=A0

We = are able to launch the server in one terminal and launch our browser app in= another and use pgAdmin from that app.=C2=A0

It w= ould be useful to have a framework to follow to decide what library will be= used to support pgAdmin in the future. What metrics are you currently usin= g? What data should we collect on prototypes in order to help the selection= process?

Thanks!
Jo=C3=A3o & Sarah

On Wed, Jun 2= 1, 2017 at 6:37 AM, Dave Page <dpage@pgadmin.org> wrote:
=
Hi George

On Tue, Jun 20, 2017 at 10:29 PM, George Gelashvili
<ggelashvili@pivotal.io>= ; wrote:
> We learned that the underlying issue was related to react-dom's > SyntheticEvent.augmentClass function being undefined.
>
> This seems to be caused by attempted property assignment after the
> SyntheticEvent had been replaced by a Proxy of itself. This works fine= in
> Chromium et al, but QtWebKit doesn't deal with Proxy Event objects= well.
> Moving the augmentClass definition and assignment up above the Proxy s= tuff
> resolves the issue in a PR to React:
> https://github.com/facebook/react/pull/10011
>
> This has a decent chance of being rejected, as QtWebKit appears to be = losing
> support.
>
> While and if this is being sorted out, we vendorized React, as one doe= s.
> Here are patches on the version we were using previously, and the fix = from
> the above PR.

Thanks - committed.

> We started talking to some Pivotal folks about QtWebKit to see if we c= an fix
> the Proxy Event issue in the browser.
> We are also looking into replacements for QtWebKit.

Yeah, so here's the current state of play there:

- Some major Linuxes don't seem to have added QtWebEngine to their pack= ages yet.

- QtWebEngine has multiple issues under Windows; it's *very* slow, and<= br> doesn't play nicely with some graphics cards and Remote Desktop.

- QtWebKit (official) has rendering issues, and has been deprecated by Qt.<= br>
- QtWebKit (annulen) fixes the rendering issues, and generally works
well, but is very slow on Windows (though not as bad as QtWebEngine).

- QtWebKit (annulen) is a fork, which may or may not live for long.
It's also still quite far behind the latest WebKit code.

- ActiveQt is looking extremely promising on Windows, embedding IE as
the browser. It's speed is on par with QtWebKit on Mac. We're
currently working on handling multiple tabs/windows and sharing
cookies between them.

- Electron and Node-Webkit are performant options, but don't support tabs, and may not even support multiple windows in the same session.

Neel is currently working on the ActiveQt option for Windows. I've
been very impressed by its speed, and of course, JS support is per the
installed version of IE. If that pans out, we could potentially move
back to QtWebEngine on Linux/Mac (where the latest versions may well
be improved), and use ActiveQt on Windows, thus dropping WebKit
altogether.

Another option would be to help get the annulen QtWebKit port up to
par; fix the performance issues on Windows, and get it up to the
latest WebKit code. That seems like it would take much more work, and
I don't think our team has the capacity for that. If yours does, then it's certainly worth exploring.

Ashesh is also planning to spend a little more time looking more
deeply at Electron/Node-Webkit as well as other options, once he's
finished his current work.

Other thoughts/experiences are definitely welcome.

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

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

--001a114ac1e27d5baf0552791c25--