Package Server new package workaround

Preamble: with luck, this question will soon be obsolete, because someone is going to do wonderful things to the package server.

Preamble 2: I know this question has been answered on the racket-users mailing list, and I just can't seem to find it. I'll be curious to see whether in the long term discourse turns out to be more searchable.

Actual question: the package server currently has a bug that appears to make adding a new package impossible. Specifically, I click the "add new package" button, fill out all of the information, click "Save Changes", and as I do, all of the fields are blanked out. Use of 'raco pkg catalog-show' on the command-line suggests that the package is not simply being added silently.

I remember that sometime in the last year, someone posted a workaround for this issue, but I can't seem to find it.

Hmm... well, I have a sort of a workaround, but there might be a better one; I just create the package repeatedly with just the name until it works (3rd time charm for the first one I tried), and then use the edit function to populate all the fields.

I recall seeing the following -- but it might be a work-around for a different and/or more-specific problem??

:rofl:

:pleading_face: :pray:

Yes, that's exactly what I was remembering, many thanks for the pointer. I'm now starting to wonder whether the essence of the workaround was just "keep trying until it succeeds".

I can only repeat what I wrote in the ticket. :wink:

What worked for me was filling in only the essential information for the new package, and adding the optional information in a package editing step after.

That said, I don't know if or what has changed in the package server in the meantime.

Also, if I recall correctly, when I added a new package a few days ago, everything worked, but this doesn't necessarily mean the bug is gone. Maybe my data just didn't trigger it.

Oh, I think that's essentially what you wrote, but for me the two-step process worked the first time.

I managed to create a new package yesterday morning, and it only took two attempts (so it worked the second time). I filled in all the fields both of the times, because I thought the form had expired.

Anyway, the "wonderful things" are very welcome! :smiley:

Right: it appears to me that you're adding evidence in support of my hypothesis that the "blanking-the-form" behavior is random, and you just need to try repeatedly until it works.

With Keep forms alive via a larger continuation memory threshold by jryans · Pull Request #80 · racket/racket-pkg-website · GitHub merged and deployed, this should now be fixed. :smile:

The root cause ended up being a memory threshold that was set too low, causing the web server continuations to expire after only 2 minutes, which is why it worked sometimes: you had to submit the form within 2 minutes of loading it. This has been fixed, so you now have much more time to work through the form.

5 Likes

That's wonderful! I do wonder, though, why this error didn't make it through to the user. Wouldn't it have been nice to be able to see some kind of error message?

Ah yes, agreed, it would be much better to explain what happened to the user as well. :slightly_smiling_face: At the moment, the continuation expiry just triggers a page reload.

I'm sure we can get a user-visible message across one way or another. I filed When redisplaying pages after continuation expiry, include a user visible error message · Issue #81 · racket/racket-pkg-website · GitHub to track that.

2 Likes