How to deal with timeout issue when debugging Phoenix app

There is a common scenario: You'd like to debug your Phoenix app with break!/4 or IEx.pry/0. Everything works fine, until... Phoenix server throws a timeout error statement.

Table of contents
    ** (EXIT from #PID<0.5227.0>) shell process exited with reason: shutdown

    It happens after about 60 seconds. Why?

    The process has a certain amount of time to send a response. If it takes more - then the server says: "It takes too long. The process is probably suspended and in the meanwhile, the Client/user is raging on the other side. Let's kill him... (the process, not the user)".

    Usually, it's a very nice, and helpful logic. But in the case of debugging it might be a real pain in the neck.

    As soon, as we know the reason, we're able to find the solution. And here we are. Just set the idle_timeout option at your endpoint config. Generally at config/dev.exs, or so.

    config :appname, Appname.Endpoint,
      http: [
        protocol_options: [idle_timeout: 5_000_000_000],
        ...   
      ]
    Oskar Legner
    Oskar Legner Elixir & React Developer

    Read more
    on #curiosum blog

    Introducing Kanta - the ultimate solution to translations in Elixir web apps

    Introducing Kanta - the ultimate solution to translations in Elixir & Phoenix web apps

    Handling translations in web applications can be a challenging and time-consuming task. The process entails managing various files, tracking modifications, and ensuring that translations remain current as the project progresses. These complexities can slow down development and introduce errors. That’s why we decided to create an open source solution: Kanta. In this blog post, we’ll explore the problem of managing translations in web apps, and how Kanta simplifies the process. We’ll also compare it with other translation management tools and delve into its powerful plugins.