Giter VIP home page Giter VIP logo

whaler's People

Contributors

pantuza avatar peterbrook avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

whaler's Issues

Fails when author has no email

422 {u'documentation_url': u'https://developer.github.com/v3/git/commits/#create-a-commit', u'message': u'Validation Failed', u'errors': [{u'field': u'email', u'code': u'missing_field', u'resource': u'author'}]}
Traceback (most recent call last):
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/MergeEndpoint.py", line 60, in post
    new_commit = repo.repo.create_git_commit(squash_commit_message, tree, parents, author, committer)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/lib/github/Repository.py", line 722, in create_git_commit
    input=post_parameters
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/lib/github/Requester.py", line 169, in requestJsonAndCheck
    return self.__check(*self.requestJson(verb, url, parameters, headers, input, cnx))
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/lib/github/Requester.py", line 177, in __check
    raise self.__createException(status, responseHeaders, output)
GithubException: 422 {u'documentation_url': u'https://developer.github.com/v3/git/commits/#create-a-commit', u'message': u'Validation Failed', u'errors': [{u'field': u'email', u'code': u'missing_field', u'resource': u'author'}]}

CSP Race Condition

Saw this error:

Refused to connect to 'https://dev-dot-whaler-on-fleek.appspot.com/merge' because it violates the following Content Security Policy directive: "connect-src 'self' ghconduit.com:25035 live.github.com wss://live.github.com uploads.github.com www.google-analytics.com s3.amazonaws.com".

Seems like there is a possibility that the content security policy is not being set fast enough.

ff merge fails after backwards merge

422 {u'documentation_url': u'https://developer.github.com/v3/git/refs/#update-a-reference', u'message': u'Update is not a fast forward'}
Traceback (most recent call last):
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381084231506798240/QueueMergeEndpoint.py", line 56, in post
    branch_base.edit(new_commit.sha)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381084231506798240/lib/github/GitRef.py", line 88, in edit
    input=post_parameters
  File "/base/data/home/apps/s~whaler-on-fleek/master.381084231506798240/lib/github/Requester.py", line 169, in requestJsonAndCheck
    return self.__check(*self.requestJson(verb, url, parameters, headers, input, cnx))
  File "/base/data/home/apps/s~whaler-on-fleek/master.381084231506798240/lib/github/Requester.py", line 177, in __check
    raise self.__createException(status, responseHeaders, output)
GithubException: 422 {u'documentation_url': u'https://developer.github.com/v3/git/refs/#update-a-reference', u'message': u'Update is not a fast forward'}

Make GitHub modification faster

We currently wait for window.onload, which can take a long time. This is also unreliable, because the merge button may not yet be active when the window loads.

Improve /queue_merge performance

Right now, this endpoint makes many serial requests, taking about 2 seconds to complete. I don't think we can do this work completely asynchronously, since we want to return a response depending on the result, but we might be able to do certain requests in parallel (or add to a task queue).

assert isinstance(email, (str, unicode)), email

None
Traceback (most recent call last):
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/MergeEndpoint.py", line 58, in post
    author = self.get_git_author(pull)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/MergeEndpoint.py", line 77, in get_git_author
    return github.InputGitAuthor(user.name, user.email)
  File "/base/data/home/apps/s~whaler-on-fleek/master.381158370045424596/lib/github/InputGitAuthor.py", line 41, in __init__
    assert isinstance(email, (str, unicode)), email
AssertionError: None

Incompatible with new GitHub HTML

Previously, the first "merge" button would trigger the Oauth flow, if necessary, but now that button is not being found by our Javascript. Needs a fix.

Allow ordinary (non-squash) merges

There are times when it is still useful to use an ordinary merge, so it would be nice to have the original Merge button, at least as an option.

Gross redirects

In the case that a session token expires, pressing the "squash merge" button redirects back to the same page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.