etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
192 stars 30 forks source link

Rendre l'application `datagouvfr` reloadable #3430

Open thbar opened 1 year ago

thbar commented 1 year ago

En débuggant le point suivant:

Je me suis rendu compte que les modifications de code apportées à apps/datagouvfr ne sont pas rechargées comme le reste.

J'ai compris que l'explication était ici:

https://github.com/etalab/transport-site/blob/85282f8b7c487ca50af60115eb5aa81aa2d751ee/config/dev.exs#L17-L20

Mais quand j'ajoute datagouvfr dans la liste, j'ai des erreurs (toutefois ça semble fonctionner quand même).

À creuser à un moment.

[error] GenServer #PID<0.4349.0> terminating
** (FunctionClauseError) no function clause matching in Regex.match?/2
    (elixir 1.14.5) lib/regex.ex:293: Regex.match?({}, "/Users/thbar/git/transport/transport-site/_build/dev/lib/datagouvfr/ebin/Elixir.Datagouvfr.Client.Datasets.beam")
    (phoenix_live_reload 1.4.1) lib/phoenix_live_reload/channel.ex:84: anonymous fn/2 in Phoenix.LiveReloader.Channel.matches_any_pattern?/2
    (elixir 1.14.5) lib/enum.ex:4136: Enum.any_list/2
    (phoenix_live_reload 1.4.1) lib/phoenix_live_reload/channel.ex:34: Phoenix.LiveReloader.Channel.handle_info/2
    (phoenix 1.6.16) lib/phoenix/channel/server.ex:343: Phoenix.Channel.Server.handle_info/2
    (stdlib 3.17.2.4) gen_server.erl:695: :gen_server.try_dispatch/4
    (stdlib 3.17.2.4) gen_server.erl:771: :gen_server.handle_msg/6
    (stdlib 3.17.2.4) proc_lib.erl:236: :proc_lib.wake_up/3
Last message: {:file_event, #PID<0.3145.0>, {"/Users/thbar/git/transport/transport-site/_build/dev/lib/datagouvfr/ebin/Elixir.Datagouvfr.Client.Datasets.beam", [:removed]}}
State: %Phoenix.Socket{assigns: %{debounce: 0, notify_patterns: [], patterns: [~r/priv\/static\/.*(js|css|png|jpeg|jpg|gif|svg)$/, ~r/priv\/gettext\/.*(po)$/, ~r/lib\/transport_web\/views\/.*(ex)$/, ~r/lib\/transport_web\/templates\/.*(eex|md)$/, ~r/lib\/transport_web\/live\/.*(ex)$/, {}]}, channel: Phoenix.LiveReloader.Channel, channel_pid: #PID<0.4349.0>, endpoint: TransportWeb.Endpoint, handler: Phoenix.LiveReloader.Socket, id: nil, joined: true, join_ref: "10", private: %{log_handle_in: :debug, log_join: :info}, pubsub_server: TransportWeb.PubSub, ref: nil, serializer: Phoenix.Socket.V2.JSONSerializer, topic: "phoenix:live_reload", transport: :websocket, transport_pid: #PID<0.4310.0>}
[error] GenServer #PID<0.4450.0> terminating
** (FunctionClauseError) no function clause matching in Regex.match?/2
    (elixir 1.14.5) lib/regex.ex:293: Regex.match?({}, "/Users/thbar/git/transport/transport-site/_build/dev/lib/transport/ebin/Elixir.DB.Notification.beam")
    (phoenix_live_reload 1.4.1) lib/phoenix_live_reload/channel.ex:84: anonymous fn/2 in Phoenix.LiveReloader.Channel.matches_any_pattern?/2
    (elixir 1.14.5) lib/enum.ex:4136: Enum.any_list/2
    (phoenix_live_reload 1.4.1) lib/phoenix_live_reload/channel.ex:34: Phoenix.LiveReloader.Channel.handle_info/2
    (phoenix 1.6.16) lib/phoenix/channel/server.ex:343: Phoenix.Channel.Server.handle_info/2
    (stdlib 3.17.2.4) gen_server.erl:695: :gen_server.try_dispatch/4
    (stdlib 3.17.2.4) gen_server.erl:771: :gen_server.handle_msg/6
    (stdlib 3.17.2.4) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
Last message: {:file_event, #PID<0.3145.0>, {"/Users/thbar/git/transport/transport-site/_build/dev/lib/transport/ebin/Elixir.DB.Notification.beam", [:created, :inodemetamod, :modified]}}
State: %Phoenix.Socket{assigns: %{debounce: 0, notify_patterns: [], patterns: [~r/priv\/static\/.*(js|css|png|jpeg|jpg|gif|svg)$/, ~r/priv\/gettext\/.*(po)$/, ~r/lib\/transport_web\/views\/.*(ex)$/, ~r/lib\/transport_web\/templates\/.*(eex|md)$/, ~r/lib\/transport_web\/live\/.*(ex)$/, {}]}, channel: Phoenix.LiveReloader.Channel, channel_pid: #PID<0.4450.0>, endpoint: TransportWeb.Endpoint, handler: Phoenix.LiveReloader.Socket, id: nil, joined: true, join_ref: "12", private: %{log_handle_in: :debug, log_join: :info}, pubsub_server: TransportWeb.PubSub, ref: nil, serializer: Phoenix.Socket.V2.JSONSerializer, topic: "phoenix:live_reload", transport: :websocket, transport_pid: #PID<0.4310.0>}
ptitfred commented 4 months ago

J'ai tenté par curiosité de voir ce que ça donnait en 2024, je n'ai pas réussi à reproduire l'erreur.