madawei2699 / free4chat

free4.chat is a real-time audio chat service. It is designed by the local first and privacy first principle, and is very easy to use.
https://www.i365.tech/
MIT License
1.02k stars 136 forks source link

Project no longer compiles #27

Open mazz opened 6 months ago

mazz commented 6 months ago

The project is locked onto membrane master branch but unfortunately membrane has undergone a major overhaul to their repository structure. This means that simply doing

mix deps.get mix ecto.reset

will result in many misssing dependencies and compile-time errors.

will you consider refactoring the project for the new membrane repo?

madawei2699 commented 6 months ago

Thanks, but I have no plan to refactor this product for now but will do it if I have free time.

mazz commented 5 months ago

Thanks, but I have no plan to refactor this product for now but will do it if I have free time.

I almost got this to compile with these dependencies(and elixir 1.14.x) but because I need SimulcastConfig%{} from a newer library, compilation fails

  {:membrane_rtc_engine, "== 0.9.1"},
  {:membrane_webrtc_plugin, "== 0.11.0"},
  {:membrane_core, "== 0.10.0"},

but I get this error:

== Compilation error in file lib/free4chat/room.ex ==
** (KeyError) key :default_encoding not found
    (membrane_rtc_engine 0.9.1) expanding struct: Membrane.RTC.Engine.Endpoint.WebRTC.SimulcastConfig.__struct__/1
    lib/free4chat/room.ex:148: Free4chat.Room.handle_info/2

Strangely, this is in a much newer library:

https://hexdocs.pm/membrane_rtc_engine_webrtc/0.1.0/Membrane.RTC.Engine.Endpoint.WebRTC.SimulcastConfig.html