Genserver.call with timeout doesn't end up with :timeout message

You need to catch the exit properly: https://elixir-lang.org/getting-started/try-catch-and-rescue.html#exits