Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dKQa8-0003aq-Ik for pgadmin-hackers@arkaria.postgresql.org; Mon, 12 Jun 2017 14:44:40 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dKQa8-0002nm-5U for pgadmin-hackers@arkaria.postgresql.org; Mon, 12 Jun 2017 14:44:40 +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 1dKQa7-0002nc-8P for pgadmin-hackers@postgresql.org; Mon, 12 Jun 2017 14:44:39 +0000 Received: from mail-it0-x231.google.com ([2607:f8b0:4001:c0b::231]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dKQa4-0002rM-3E for pgadmin-hackers@postgresql.org; Mon, 12 Jun 2017 14:44:38 +0000 Received: by mail-it0-x231.google.com with SMTP id m47so21237381iti.0 for ; Mon, 12 Jun 2017 07:44:35 -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=4fIXRsXW/Rjt2+ZqOjXgFcRebgDgsKYqNbvZ0z768+s=; b=n7W/XOgYIUxGXDhGGsZb9fEpIkBtLEcgc5XwKsQd5Yh0/qhvXyRPSuT9npipx4fpzY RcRZ17BWW3TzwS6UZLEXuIxkH63PLBPIQ4xr04+4Y7Zpcik14nVqoPH7xKzFCp/8PugH HTCydlCMDJd9RRS3Dn2eXcTWzZx8JIuxMQ8h8Jv4QbBxLY0iHlWNuOQMU/EtmJPM78u3 RTo21esBjIgtgyZvD34T79oUpBIgI5ixe7ff/p5ant72vQVtNb4V3m0BO+Vv5jdZ8PxY XRC1NIU/sRQAcij6E5t0FzJMvBiyxso/oggkvkqIl4bOa9RwmMiOtzSrN8Mfe1/f+M6b jlwA== 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=4fIXRsXW/Rjt2+ZqOjXgFcRebgDgsKYqNbvZ0z768+s=; b=lPLQcFqnvSLYPeBWfuS9kKmZXpPBcrXm3U/BxYwGTs/2agh2uwN1MJ/KtRHO84xZMk cleanyHTuGjCKvGP35ryV3x9wbtpVj1IwAxFx6HlRyWlFpPFh6I4G6IFUwVwampfHO5z q99UWu5zT0y/Wsft2M/YdryC5ppjGvislIcRW8tqr/e2vDduStAXaHW77IJm6NN0o4od mzKwdU9fXRXL1wPn82ZEojdU4BnpuZ2CNyjNtFPQ8Ducg8sv0aAFoS83G1FjoVSKPrP5 5FosSyEBn+na37WzoW76/K7+biPhgulb00/CA5hLaArgSXUN4yzsxofl3l6yoO2QGcz7 VW7A== X-Gm-Message-State: AODbwcAdPO3ZZKOG2rD7bgQcLs7/+hef7A13uQf+p+uKEcgHgtPICkHI 0VZ85BEdJQ2Bxr0pdMTCq4ro5RTSrHQ7 X-Received: by 10.36.147.2 with SMTP id y2mr11234936itd.43.1497278673693; Mon, 12 Jun 2017 07:44:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.174.147 with HTTP; Mon, 12 Jun 2017 07:44:32 -0700 (PDT) In-Reply-To: References: From: Dave Page Date: Mon, 12 Jun 2017 15:44:32 +0100 Message-ID: Subject: Re: [pgAdmin4] [PATCH] History Tab rewrite in React To: Shruti B Iyer Cc: Surinder Kumar , Joao Pedro De Almeida Pereira , Murtuza Zabuawala , pgadmin-hackers Content-Type: text/plain; charset="UTF-8" List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org Hi Shruti On Mon, Jun 12, 2017 at 3:24 PM, Shruti B Iyer wrote: > > Hello Dave, > > Thanks for making those fixes and sharing them with us. We tried applying > the patch and it looks like there are some missing file changes from your > patch that were present in ours, like the Make.bat file changes. But we will > add them when we send you the new patches. Hmm, I wonder if I missed them because I applied the patch in a sub directory. > While trying to generate the new patches we realized some tests are failing > in master branch due to an internal server error: > > 2017-06-12 10:04:11,938: INFO werkzeug: 127.0.0.1 - - [12/Jun/2017 10:04:11] > "GET /browser/table/sql/1/1/12669/2200/81920 HTTP/1.1" 500 - > Traceback (most recent call last): > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 2000, in __call__ > return self.wsgi_app(environ, start_response) > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1991, in wsgi_app > response = self.make_response(self.handle_exception(e)) > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1567, in handle_exception > reraise(exc_type, exc_value, tb) > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1988, in wsgi_app > response = self.full_dispatch_request() > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1641, in full_dispatch_request > rv = self.handle_user_exception(e) > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1544, in handle_user_exception > reraise(exc_type, exc_value, tb) > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1639, in full_dispatch_request > rv = self.dispatch_request() > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/app.py", > line 1625, in dispatch_request > return self.view_functions[rule.endpoint](**req.view_args) > File > "/Users/pivotal/.pyenv/versions/2.7.10/envs/pgadmin/lib/python2.7/site-packages/flask/views.py", > line 84, in view > return self.dispatch_request(*args, **kwargs) > File "/Users/pivotal/workspace/pgadmin4/web/pgadmin/browser/utils.py", > line 235, in dispatch_request > return method(*args, **kwargs) > File > "/Users/pivotal/workspace/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py", > line 315, in wrap > return f(*args, **kwargs) > File > "/Users/pivotal/workspace/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py", > line 2555, in sql > data = self._formatter(did, scid, tid, data) > File > "/Users/pivotal/workspace/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py", > line 1081, in _formatter > data = self._columns_formatter(tid, data) > File > "/Users/pivotal/workspace/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py", > line 663, in _columns_formatter > column['attlen'] = matchObj.group(1) > AttributeError: 'NoneType' object has no attribute 'group' > > Was this introduced in a previous patch? Yes, it looks like it. For some reason it's not failing on the Jenkins server though. I'll ask Khushboo to fix it. > We will recreate the patches and send them ASAP. Thanks! > Thanks > Shruti & Joao > > On Mon, Jun 12, 2017 at 6:59 AM Dave Page wrote: >> >> Hi >> >> OK, so Ashesh and I spend much of the morning on this. >> >> Patch 01 - Applied. >> Patch 02: >> >> - karma.conf.js wouldn't patch; I've manually handled that. >> - test-main.js wouldn't patch. The diff looked like it was trying to >> empty it; I have removed it instead. >> - The imports in pgAdmin4.py need to be made after the app root is >> added to the path. >> - The JS bundler should be in pgadmin/utils, not pgadmin/tools (which >> is intended for plugin modules) >> - The tests were failing following some changes Ashesh pushed earlier >> to add a client-side url_for function. >> - pgAdmin4.py was attempting to run the bundler on every startup. I've >> wrapped those called in "if config.DEBUG:" conditionals, as typically >> an installation for an end-user will be in a read-only directory. >> >> We've fixed all of that in the attached patch. I'm not sure why it's >> so much bigger than yours. >> >> The following issues are outstanding; please take a look at them: >> >> - There is no update to the Windows installer generation code (needed >> in 2 places unfortunately; Make.bat and Make-MinGW.bat). >> >> - The updates to the other packages call "yarn run webpacker" which is >> an undefined target. >> >> I haven't looked at patch 03 yet, but Ashesh did tell me it won't >> apply for him. Patch 4 is also untested at this stage. >> >> If the issues above can be fixed, we can get patch 2 applied then move >> on from there. >> >> I'll hold off on Harshal's patch for the Query Tool's load on demand >> to give you a chance to get this done. >> >> Thanks. >> >> On Sat, Jun 10, 2017 at 2:52 AM, George Gelashvili >> wrote: >> > Hi Dave, >> > >> > Our patch touches code also changed by the patches that were recently >> > committed. >> > That's likely what's causing this issue. We've rebased on top of the new >> > state of master. >> > >> > We had initially kept the yarn.lock .gitignored, but ran into an issue >> > rather early on where an upgraded dependency introduced a regression. >> > Checking-in the yarn.lock provides the "know your dependency version" >> > benefit of vendorizing code without vendorization's drawback of having >> > to >> > manually manage your dependencies. >> > >> > It is safe to delete a yarn.lock before applying a patch, as you are >> > authoring master. It provides a history of the versions of each >> > dependency >> > that were working at the point in time of the commit. By contrast, >> > package.json provides approximate versions and leaves room for >> > fixes/improvements by the dependency authors to be pulled in as they >> > become >> > available. >> > >> > To run linter and tests: >> > >> > The tasks that Grunt used to manage are now defined as a set of scripts >> > in >> > the package.json >> > After applying the patches--which may require deleting yarn.lock for the >> > first patch--you should cd web && yarn install >> > >> > Then yarn test will run the linter, jasmine specs, and python tests >> > including feature tests, in that order, exiting early if there are >> > failures/errors. >> > At the moment, the CheckForViewData test is failing on master as well as >> > in >> > each of these patches; that should be resolved as RM2477. >> > >> > Thanks! >> > George and Matt >> > >> > >> > On Thu, Jun 8, 2017 at 9:15 AM, Dave Page wrote: >> >> >> >> Hi George >> >> >> >> On Wed, Jun 7, 2017 at 10:21 PM, George Gelashvili >> >> wrote: >> >> > Hi Dave, >> >> > >> >> > I split the linting out into an intermediate commit, and rebased on >> >> > top >> >> > of >> >> > master. >> >> >> >> Unfortunately, it still doesn't apply: >> >> >> >> error: patch failed: web/regression/javascript/test-main.js:1 >> >> error: removal patch leaves file contents >> >> error: web/regression/javascript/test-main.js: patch does not apply >> >> Checking patch web/regression/requirements.txt... >> >> Checking patch web/webpack.config.js... >> >> Checking patch web/webpack.test.config.js... >> >> Checking patch web/yarn.lock... >> >> error: web/yarn.lock: already exists in working directory >> >> Applied patch .gitignore cleanly. >> >> Applied patch Make.bat cleanly. >> >> Applied patch README cleanly. >> >> Applied patch pkg/mac/build.sh cleanly. >> >> Applied patch pkg/pip/build.sh cleanly. >> >> Applied patch pkg/src/build.sh cleanly. >> >> Applied patch web/.eslintrc.js cleanly. >> >> Applied patch web/karma.conf.js cleanly. >> >> Applied patch web/package.json cleanly. >> >> Applied patch web/pgAdmin4.py cleanly. >> >> Applied patch web/pgadmin/static/jsx/components.jsx cleanly. >> >> Applied patch web/pgadmin/tools/javascript/__init__.py cleanly. >> >> Applied patch web/pgadmin/tools/javascript/javascript_bundler.py >> >> cleanly. >> >> Applied patch web/pgadmin/tools/javascript/tests/__init__.py cleanly. >> >> Applied patch >> >> web/pgadmin/tools/javascript/tests/test_javascript_bundler.py >> >> cleanly. >> >> Applied patch web/regression/README cleanly. >> >> Applied patch >> >> web/regression/javascript/jasmine_capture_warnings_beforeall.js >> >> cleanly. >> >> Applied patch web/regression/requirements.txt cleanly. >> >> Applied patch web/webpack.config.js cleanly. >> >> Applied patch web/webpack.test.config.js cleanly. >> >> >> >> The second (lint update) patch is even worse, with significant number >> >> change that just don't want to apply. >> >> >> >> Clearly yarn.lock needs to be removed from there repo. >> >> >> >> Once I can apply a version of this, how should I be running the linter >> >> and the unit tests? >> >> >> >> -- >> >> Dave Page >> >> Blog: http://pgsnake.blogspot.com >> >> Twitter: @pgsnake >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> The Enterprise PostgreSQL Company >> > >> > >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> >> -- >> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) >> To make changes to your subscription: >> http://www.postgresql.org/mailpref/pgadmin-hackers -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers