Indeed I think we should use GNotification because it is a cross-platform implementation. It will require to migration the client to GtkApplication. But it is not a bad thing because this will bring more possibilities of improvement in the future.
GNotification has no backend yet for Windows: https://gitlab.gnome.org/GNOME/glib/issues/1234
and old version of glib even crashes if it is used so we will need to implement custom code and not call send_notification under windows.
And it does not seem to work currently on OSX (but backend is implemented).
So I still think we should use GtkApplication because:
- backend may be implemented one day
- it will allow to remove custom IPC code (but it does not work for OSX which any way was not fully functional)
- we will benefit from future improvements (because it is the GTK recommended way)
- it will probably fix issue6995
I’m not sure that the session is the right object to use because it expires. I think it will be better if the client generate a random ID. This ID will be put in the context of each request and it will survive to a session timeout (indeed until the page is reloaded for sao or the application is closed for tryton).