Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNgmJ-0003yp-Bk for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Jun 2017 14:38:43 +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 1dNgmI-00057q-OA for pgadmin-hackers@arkaria.postgresql.org; Wed, 21 Jun 2017 14:38:42 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dNgmI-00053P-C6 for pgadmin-hackers@lists.postgresql.org; Wed, 21 Jun 2017 14:38:42 +0000 Received: from mail-io0-x22b.google.com ([2607:f8b0:4001:c06::22b]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dNgmF-0000Ry-By for pgadmin-hackers@postgresql.org; Wed, 21 Jun 2017 14:38:41 +0000 Received: by mail-io0-x22b.google.com with SMTP id k93so4895352ioi.2 for ; Wed, 21 Jun 2017 07:38:38 -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:content-transfer-encoding; bh=pJK4w/TrbYQQzGSGMPaPChR3ZQTaRLGEJvTDQh4AQes=; b=0u/B84O7AfT9ro9HrwY6ji59K4GZxW5XVogSGyyjr9BlqpBdhAFoEwwz7Hq6n0n0CE cEal8tn2q2ZR+hnC0YfBUlzJX5F9IXEH02dkcy6K4Ns17f9uH5fdPeGq4AJM4I6N9JgX 8TIhUs4QvjbgNt7mnwi+1YqWELD29G9WW2TRzmVAQIWRlCoLEVXhsVnxCtl2tt0rWiI3 qVCQ5fEJQQ9lY+zrEl1UqcKReYATIXwBmZzAzXti2/2iSBiyOvaBNzQS7XBFDLe3VFYm Ol8KBbw9tPCdaQteNw+Jw3YtgXUEOnwvcXWcwXPlRp7kLguOd6VKEORKHtg5JcuMpsuK WcDg== 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:content-transfer-encoding; bh=pJK4w/TrbYQQzGSGMPaPChR3ZQTaRLGEJvTDQh4AQes=; b=OeOxSPUiRskqSkugpEJQZh9UnoLbcAEHxAAyz7fSk4e868UpF5JFNwZV9sKxhz98rH +PRzHE7TWZTo9mmx29KGvkxsmhycxa0D9wUEMw+wYkFu3xxeHIkUxifpVMF7mAA/PATK gD+qTJKRB49C35dLOyzcD+1EYmKoPuaEfCUfe3EF0RFSawBBNUsDs876/f+864bSk/QN NYmhQdhs+mkwi2wm3SNILc7LBLcV5wUBdeHJ1opoLDjVkk5W/MGZpqiKO55iX8niZZ3B e5dl0AeuXBIrkbxkRM4bXI5iMVvTS5wZt9hI0yQbj4G1nbuexcijkOJyHsGurrh5SUBH Zntw== X-Gm-Message-State: AKS2vOyh4I8XedN7RN64s+dF6mjSMxX+Bg2d0Oht2auDsMgMkZB1YX70 agEhPwd9Qd/IiaD8W9yCLiPLi25xx/FC X-Received: by 10.107.175.95 with SMTP id y92mr33003004ioe.84.1498055918154; Wed, 21 Jun 2017 07:38:38 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.174.168 with HTTP; Wed, 21 Jun 2017 07:38:36 -0700 (PDT) In-Reply-To: References: From: Dave Page Date: Wed, 21 Jun 2017 15:38:36 +0100 Message-ID: Subject: Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React To: Sarah McAlear Cc: George Gelashvili , Surinder Kumar , Ashesh Vashi , Shruti B Iyer , Joao Pedro De Almeida Pereira , Murtuza Zabuawala , pgadmin-hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Unsubscribe: , List-Archive: Precedence: bulk Hi On Wed, Jun 21, 2017 at 3:23 PM, Sarah McAlear wrote: > Hello! > > Thank you for committing the patch! > > We are currently looking into CEF > (https://bitbucket.org/chromiumembedded/cef) as an alternative to QTWebKi= t. > 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. Cool - we looked at CEF before, but... > We are able to launch the server in one terminal and launch our browser a= pp > in another and use pgAdmin from that app. ... if memory serves, the problem we found was that on Windows it's built using VC++ 2015, which doesn't play nicely with Python which uses 2013 (as do the PostgreSQL utilities). Moving everything to 2015 would be non-trivial to say the least. > It would be useful to have a framework to follow to decide what library w= ill > 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? Oh, it's highly scientific :-p. As the biggest issue between the options is finding one which will work with our set of dependencies, and supports new windows/tearable tabs (if it were no longer to be embedded in our runtime), it's really down to: - Getting a startup time of ~20 seconds or less in my test VM and on my 16GB i7 SSD based desktop under Windows 10 - Ensuring that node expansion/load times are basically instant with a local database server. > 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 wel= l. >> > 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 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 >> 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 Q= t. >> >> - 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 > > --=20 Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company