# Package Server new package workaround

**URL:** <https://racket.discourse.group/t/package-server-new-package-workaround/530>\
**Category:** Questions & Answers\
**Created:** [January 6, 2022, 6:50pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530 "2022-01-06T18:50:08Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [January 6, 2022, 6:50pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/1 "2022-01-06T18:50:08Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [January 6, 2022, 7:04pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/2 "2022-01-06T19:04:05Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![greghendershott](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/greghendershott/32/98_2.png) [@greghendershott](https://racket.discourse.group/u/greghendershott)\
**Post date:** [January 6, 2022, 7:11pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/3 "2022-01-06T19:11:13Z")

</div>

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

> <https://github.com/racket/racket-pkg-website/issues/76>
>
> I tried to enter a package at https://pkgd.racket-lang.org/pkgn/create with the …information in the attached screenshots. The second attempt was without tags since there already had been a problem with the server not accepting a \`.\` in a tag, so I tried without tags to avoid other potential tag-related problems.
> 
> In both cases (see screenshots) the response from the package server was just an empty form (more precisely: only my mail address is pre-filled) and my package isn't in the index. There wasn't even the "Save failed" message on the response page.
> 
> The problem may be related to the new \`git+https\` "protocol", but I was able to enter another package with this protocol:
> https://pkgd.racket-lang.org/pkgn/package/todo-txt . That said, I don't know if any of the software of the package server changed between entering the first (successful) and the second (unsuccessful) package.
> 
> !\[create\_package5\](https://user-images.githubusercontent.com/744533/120924329-7ba8ef00-c6d3-11eb-9552-4300f42ede47.png)
> 
> !\[create\_package6\](https://user-images.githubusercontent.com/744533/120924371-c7f42f00-c6d3-11eb-8207-06f03f57c5e0.png)

---

<div class="post-metadata">

**Author:** ![joeld](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/joeld/32/38_2.png) [@joeld](https://racket.discourse.group/u/joeld)\
**Post date:** [January 6, 2022, 8:11pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/4 "2022-01-06T20:11:11Z")

</div>

> [@jbclements](#):
>
> someone is going to do wonderful things to the package server.

🤣

🥺 🙏

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [January 6, 2022, 8:38pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/5 "2022-01-06T20:38:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![sschwarzer](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/sschwarzer/32/1940_2.png) [@sschwarzer](https://racket.discourse.group/u/sschwarzer)\
**Post date:** [January 6, 2022, 9:19pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/6 "2022-01-06T21:19:17Z")

</div>

I can only repeat what I wrote in the ticket. 😉

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.

---

<div class="post-metadata">

**Author:** ![sschwarzer](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/sschwarzer/32/1940_2.png) [@sschwarzer](https://racket.discourse.group/u/sschwarzer)\
**Post date:** [January 6, 2022, 9:21pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/7 "2022-01-06T21:21:12Z")

</div>

> [@sschwarzer](#):
>
> 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.

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

---

<div class="post-metadata">

**Author:** ![scolobb](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/scolobb/32/108_2.png) [@scolobb](https://racket.discourse.group/u/scolobb)\
**Post date:** [January 6, 2022, 9:38pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/8 "2022-01-06T21:38:28Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [January 6, 2022, 10:19pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/9 "2022-01-06T22:19:15Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jryans](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jryans/32/31_2.png) [@jryans](https://racket.discourse.group/u/jryans)\
**Post date:** [April 7, 2022, 1:51pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/10 "2022-04-07T13:51:33Z")

</div>

With [Keep forms alive via a larger continuation memory threshold by jryans · Pull Request #80 · racket/racket-pkg-website · GitHub](https://github.com/racket/racket-pkg-website/pull/80) merged and deployed, this should now be fixed. 😄

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.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [April 7, 2022, 9:26pm UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/11 "2022-04-07T21:26:43Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![jryans](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jryans/32/31_2.png) [@jryans](https://racket.discourse.group/u/jryans)\
**Post date:** [April 8, 2022, 11:51am UTC](https://racket.discourse.group/t/package-server-new-package-workaround/530/12 "2022-04-08T11:51:57Z")

</div>

Ah yes, agreed, it would be much better to explain what happened to the user as well. 🙂 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](https://github.com/racket/racket-pkg-website/issues/81) to track that.
