Absinthe & Phoenix Debugging

I am using Phoenix 1.3 (with contexts) and Absinthe 1.4 beta on Elixir 1.5 beta.

I have a mutation which updates the database successfully, but then crashes the application, with:

(ArgumentError) unknown registry: MyApp.Web.Endpoint.Registry

The query, looks something like this:

mutation CreatePost {
  post(title: "Second", body: "We're off to a great start!") {
    id
  }
}

Because the DB updates fine, the only real functionality missing is seeing the ‘id’ after the insert.

Any hints on troubleshooting?

Upon looking at the source code of Absinthe 1.4, I could see that the code is very much still beta - looking forward to the new release though!

Ah, this has to do with the new Subscriptions functionality in Absinthe 1.4. If you want to use subscriptions you need to add a child to your supervision tree which, amongst other things, starts a registry. This child however is supposed to be optional, but I’m realizing that I’ve accidentally made it mandatory.

I will push a fix out shortly.

2 Likes

I am having the same issue after adding a new attribute to the model of subscription. The subscription works when I test it in the playground but fails when I’m running test.
** (ArgumentError) unknown registry: MyAppWeb.Endpoint.Registry

My tests were passing previously so I wonder why it starts failing with the error stated above from adding a new attribute to a model.

Do you have the Absinthe.Subscription supervisor in your supervision tree?

Yes I do. It works when I test it in the playground but my test is failing.