Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React
Дата
Msg-id CA+OCxozwJsocmphyejzF1iMSJR7+h5bYzwT4GFDRcf7qtFQ_2g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React  (Shruti B Iyer <siyer@pivotal.io>)
Ответы Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React  (Dave Page <dpage@pgadmin.org>)
Список pgadmin-hackers
Hi,

So 01 and 02 are now committed :-).

03 has a couple of problems though (likely the same):

- Running the webpacker results in:

(pgadmin4)piranha:web dpage$ yarn run webpacker
yarn run v0.24.4
$ yarn run webpack -- --optimize-minimize --config webpack.config.js
yarn run v0.24.4
$ "/Users/dpage/git/pgadmin4/web/node_modules/.bin/webpack"
--optimize-minimize --config webpack.config.js
(node:19446) DeprecationWarning: loaderUtils.parseQuery() received a
non-string value which can be problematic, see
https://github.com/webpack/loader-utils/issues/56
parseQuery() will be replaced with getOptions() in the next major
version of loader-utils.
Hash: a5e75aa70eb6b09bdb78
Version: webpack 2.3.3
Time: 3983ms
             Asset     Size  Chunks             Chunk Names
reactComponents.js   222 kB       0  [emitted]  reactComponents
        history.js  1.58 kB       1  [emitted]  history
   [0] /Users/dpage/git/pgadmin4/web/~/process/browser.js 5.42 kB {0} [built]
  [18] /Users/dpage/git/pgadmin4/web/~/react-dom/lib/ReactReconciler.js
6.21 kB {0} [built]
  [19] /Users/dpage/git/pgadmin4/web/~/react/lib/React.js 2.69 kB {0} [built]
  [31] /Users/dpage/git/pgadmin4/web/~/react/react.js 56 bytes {0} [built]
  [80] ./js/history/history_collection.js 1.91 kB {1} [built]
  [81] ./jsx/history/query_history.jsx 3.65 kB {0} [built]
  [82] /Users/dpage/git/pgadmin4/web/~/react-dom/index.js 59 bytes {0} [built]
  [83] ./js/history/index.js 690 bytes {1} [built]
  [84] ./jsx/components.jsx 599 bytes {0} [built]
  [85] ./jsx/history/query_history_entry.jsx 5.21 kB {0} [built]
 [113] /Users/dpage/git/pgadmin4/web/~/react-dom/lib/ReactDOM.js 5.14
kB {0} [built]
 [175] /Users/dpage/git/pgadmin4/web/~/react/lib/ReactDOMFactories.js
5.53 kB {0} [built]
 [176] /Users/dpage/git/pgadmin4/web/~/react/lib/ReactPropTypes.js
15.8 kB {0} [built]
 [177] /Users/dpage/git/pgadmin4/web/~/react/lib/ReactPureComponent.js
1.32 kB {0} [built]
 [178] /Users/dpage/git/pgadmin4/web/~/react/lib/ReactVersion.js 350
bytes {0} [built]
    + 167 hidden modules

ERROR in ./jsx/history/query_history_entry.jsx
Module not found: Error: Can't resolve 'immutability-helper' in
'/Users/dpage/git/pgadmin4/web/pgadmin/static/jsx/history'
 @ ./jsx/history/query_history_entry.jsx 13:26-56
 @ ./jsx/history/query_history.jsx
 @ ./jsx/components.jsx

ERROR in ./jsx/history/query_history_entry.jsx
Module not found: Error: Can't resolve 'moment' in
'/Users/dpage/git/pgadmin4/web/pgadmin/static/jsx/history'
 @ ./jsx/history/query_history_entry.jsx 17:14-31
 @ ./jsx/history/query_history.jsx
 @ ./jsx/components.jsx
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about
this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about
this command


- If I try to run pgAdmin, I get a script error in the UI, and console
output as attached (sorry for the screenshot, I've yet to find a good
way to copy/paste that info without losing the formatting).

Thanks.


On Mon, Jun 12, 2017 at 3:53 PM, Shruti B Iyer <siyer@pivotal.io> wrote:
> Hi Hackers,
>
> Attached are the updated patches that apply on top of master.
>
> Thanks,
> Shruti & Joao
>
>
> On Mon, Jun 12, 2017 at 10:44 AM Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi Shruti
>>
>> On Mon, Jun 12, 2017 at 3:24 PM, Shruti B Iyer <siyer@pivotal.io> 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 <dpage@pgadmin.org> 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
>> >> <ggelashvili@pivotal.io> 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 <dpage@pgadmin.org> wrote:
>> >> >>
>> >> >> Hi George
>> >> >>
>> >> >> On Wed, Jun 7, 2017 at 10:21 PM, George Gelashvili
>> >> >> <ggelashvili@pivotal.io> 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



-- 
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

Вложения

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: [pgadmin-hackers] PACKAGERS BEWARE: Build changes required
Следующее
От: Dave Page
Дата:
Сообщение: Re: [pgadmin-hackers] [pgAdmin4] [PATCH] History Tab rewrite in React