magit/ghub

Unable to download issues from Gitlab

Closed this issue · 2 comments

ghub 20220424.947
error in process filter: ghub--signal-error: HTTP Error: 400, "Bad Request", "/api/v4/projects/ai%2Fit-puppet-module-cernpuppet/issues?per_page=100&order_by=updated_at&updated_after=false", ((error . "updated_after is invalid"))

Reverting 0946102 fixes the problem.

After reverting, this is the generated URL:

/api/v4/projects/ai%2Fit-puppet-module-cernpuppet/issues?per_page=100&order_by=updated_at&updated_after=

which seems to be okay.

I believe that before the patch nil was translated into "", however now it's transformed into false which is not a valid value for the Gitlab API.

ELISP> (let ((val nil))
  (if (integerp val)
      (number-to-string val)
    (url-hexify-string val)))

""
ELISP> (let ((val nil))
  (cl-typecase val
    (integer (number-to-string val))
    (boolean (if val "true" "false"))
    (t (url-hexify-string val))))

"false"

Coming from https://github.com/magit/forge/blob/0ebd444a1125161b1933143059d01525f1dd22fe/lisp/forge-gitlab.el#L152

And I even worried about that briefly. But then I concluded that it wouldn't make sense to pass an empty list as a parameter anyway. What I didn't expect was that we do so anyway. 😁

Works great, thanks again.