cockpit-project / cockpit

Cockpit is a web-based graphical interface for servers.
http://www.cockpit-project.org/
GNU Lesser General Public License v2.1
11.13k stars 1.1k forks source link

cockpit.js: make use of fsinfo #19999

Open allisonkarlitskaya opened 8 months ago

allisonkarlitskaya commented 8 months ago

Now that we're no longer concerned about compatibility with the C bridge, we can consider dropping the fswatch1 and fslist1 channels. The first step there would be to port the existing users in cockpit.js and our own pages to use fsinfo instead.

allisonkarlitskaya commented 8 months ago

As part of this issue we also consider adding the fsinfo client code which currently lives in cockpit-navigator: https://github.com/cockpit-project/cockpit-navigator/blob/main/src/fsinfo.ts

martinpitt commented 2 weeks ago

Status quo:

martinpitt commented 2 weeks ago

I tried some fsinfo porting in #21059, but found a grave bug: As soon as you instantiate an fsinfo Channel (new-style class, not the old one), it breaks DBusProxy changed notifications. This is somehow related to the ensure_transport() call in the Channel constructor -- doing this with an empty callback breaks, but commenting out the whole ensure_transport() call works. I am reading deep into pkg/lib/cockpit/_internal/transport.ts, but this is rather central -- I can't just disable stuff there without completely breaking the pages.

I have no idea what's going wrong here, so I'm putting this on the shelf for now.