Remove KIO dependency of KNewStuff
Open, Needs TriagePublic

Description

KNewStuff has an unfortunate dependency on KIO, but only in a few places

This would help remove the (indirect) KIO dep from KWin: https://invent.kde.org/plasma/kwin/-/issues/48

alex added subscribers: leinir, alex.Jun 24 2021, 4:21 PM

IMHO KmoreTools should be a separate lib anyways.

KUrlRequester is part of the upload dialog, @leinir wated to look into that, because the feature is currently defunct.

It really should be, yeah - KMoreTools feels super out of place, and i guess it was put into KNewStuff back in the kdelibs days because it was kind of a way to get some new stuff, conceptually, even if it was entirely unrelated to how the rest of the get hot new stuff system worked...

And yup, the upload dialog just needs everything deprecating, and basically replacing with a dialog that shows instructions for how one adds stuff to the store (perhaps with a touch of magic to sniff what categories are useful and whatnot, no reason not to really, but for a start at least it really just needs the actual functionality removed, because well... it's not functional anyway, and won't be, because so much of it depends on things that won't be reenabled, because they're too much of a spam vector (that is to say, we might end up being able to change existing entries, but we will likely never be able to create new ones from scratch again))

alex added a comment.Jun 25 2021, 2:44 PM

And yup, the upload dialog just needs everything deprecating, and basically replacing with a dialog that shows instructions for how one adds stuff to the store

Is this a prerequisite for deprecating it? IMHO it has been so long defunct that porting the current users only ports the places where people don't care that much about KNS as much as others do. For example in the theme/color/cursor KCMs KNS is used a lot, but there the upload was never implemented.

Maybe one should also add upload instructions to the docs of the APIs? Like the KRunner plugins, plasma themes etc.?

It's less a care of deprecation and more a case of replacing it (and then deprecating certain functions which will not make sense any longer when it's just a dialog that gives some information to the user and does not in fact contain the upload functionality itself). I'll do that after lunch today (which basically means shortly) and get the MR pushed soon as possible - haven't looked super close, but given the nature of the effort, i don't expect it'll be overly awkward to do. In-source documentation does sound like a good idea as well, i'll add those in as i go along :)

Not done yet (obviously), but i've made a start and will continue tomorrow: https://invent.kde.org/frameworks/knewstuff/-/merge_requests/132

alex moved this task from Backlog to Waiting on Other Tasks on the KF6 board.Sep 12 2021, 7:31 PM

The KMoreTools stuff needs to be figured out or split out before we can remove the dependency.

It feels a lot like KMoreTools becoming its own framework really needs to happen, it's always felt out of place in KNewStuff, and it really more... parallel in functionality than anything else.

The KIO dependency is gone now