cpdb-frontend communicates with the backends entirely via synchronous DBus calls.
This is not well suited for graphical applications, as it freezes the UI while the exchange is happening.
Please provide async variants for all calls, or perhaps a separate frontend library with a similar interface but entirely asynchronous, using the GLib MainLoop, which could be adopted in GTK4 replacing the current synchronous implementation.