#186 Make use of malcontent in the default install?
Closed: Fixed 2 years ago by ngompa. Opened 3 years ago by kalev.

@hadess has packaged up malcontent, which is a library implementing parental controls (https://gitlab.freedesktop.org/pwithnall/malcontent/). Should we make use of it in the default install (flatpak/gnome-software/gnome-initial-setup)?


(There are also configure options for it in gnome-shell and gnome-control-center, fyi :) )

+1, I can't think of any reason not to add malcontent

It will be great to have it in F33. I would like to test it.

kalev, can you make builds with malcontent enabled ?

Sure, we just need malcontent branched for F33 first (right now it's only for rawhide/F34). @hadess, can you do that please?

I've just checked what parental controls looks like in a recent GNOME OS image. One aspect that I'm not so happy about is that the new Parental Controls app that shows up in the default app grid, even when parental controls haven't been enabled. If someone hasn't enabled parental controls, the parental controls app is pretty useless, and I don't think that it should show up.

Another observation: the process for enabling parental controls outside of initial setup seems disjointed and incomplete.

When there aren't any child users, the parental controls app has a button to "create child user", but when you click it, it doesn't create a child user - it just opens the user settings, which doesn't have a visible "add user" button (we should probably fix that). Even if you figure out that you have to unlock the panel to get the "add user" button, then the resulting "add user" dialog doesn't seem to offer the option of adding a child user, at least as far as I can see.

My general impression is that this feature needs more time to mature, and shouldn't be enabled for now.

-1 for me.

Even if you figure out that you have to unlock the panel to get the "add user" button, then the resulting "add user" dialog doesn't seem to offer the option of adding a child user, at least as far as I can see.

The way it works is that you add an user, and then Enable "Parental Control" for it.

Screenshot_from_2020-09-22_17-17-35.png

Even if you figure out that you have to unlock the panel to get the "add user" button, then the resulting "add user" dialog doesn't seem to offer the option of adding a child user, at least as far as I can see.

The way it works is that you add an user, and then Enable "Parental Control" for it.

The thing is that the parental controls app says "create child user" on the button - so (unsurprisingly) you end up looking for an option to create a child user, but all you get are options to create an admin or a standard user.

If the expectation was set up differently, it might not be an issue.

Sure, we just need malcontent branched for F33 first (right now it's only for rawhide/F34). @hadess, can you do that please?

Done, see:
https://bodhi.fedoraproject.org/updates/FEDORA-2020-7dc46fca0b

Adding meeting-request to resolve whether it should be enabled for F33 or not (aday's concerns and -1).

Metadata Update from @kalev:
- Issue tagged with: meeting-request

3 years ago

Metadata Update from @chrismurphy:
- Issue untagged with: meeting-request
- Issue tagged with: meeting

3 years ago

FWIW, it wasn't my intention to have it enabled for F33, which leaves too little testing and teething time, but rather for rawhide, which shouldn't really need a majority vote.

We discussed this at today's WG meeting - decision was to see if we can make parental controls available to install, without showing them by default. To do this, we can try building the app and it being installable while not building gnome-initial-setup and gnome-control-center with parental controls enabled.

Metadata Update from @chrismurphy:
- Issue untagged with: meeting
- Issue set to the milestone: Fedora 34

3 years ago

Metadata Update from @tpopela:
- Issue tagged with: meeting-request

3 years ago

Metadata Update from @catanzaro:
- Issue untagged with: meeting-request
- Issue tagged with: meeting

3 years ago

Action: Kalev to enable malcontent in rawhide. Allan will then perform a design review. If Allan is still dissatisfied with the UI, we may need to disable malcontent again.

Metadata Update from @catanzaro:
- Issue untagged with: meeting

3 years ago

To test it, we'll need releases of gnome-initial-setup, gnome-control-center and malcontent in rawhide.

Indeed, you’ll want to use the 0.10.0 release of malcontent, since it includes various UI fixes in response to Allan’s feedback so far.

I can make further UI improvements (or other improvements) upstream and do further releases in response to feedback, if that helps.

Indeed, you’ll want to use the 0.10.0 release of malcontent, since it includes various UI fixes in response to Allan’s feedback so far.

This version was updated in rawhide this morning.

Allan, looks like malcontent is enabled and waiting for your design review.

Metadata Update from @catanzaro:
- Issue assigned to aday

3 years ago

Metadata Update from @aday:
- Issue tagged with: pending-action

3 years ago

Allan, looks like malcontent is enabled and waiting for your design review.

I just tried Fedora-Workstation-Live-x86_64-Rawhide-20210203.n.0.iso from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Workstation/x86_64/iso/ , and I don't see any sign of parental controls - it didn't show up in initial setup, nor is the parental controls app visible in the app grid.

Allan, looks like malcontent is enabled and waiting for your design review.

I just tried Fedora-Workstation-Live-x86_64-Rawhide-20210203.n.0.iso from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Workstation/x86_64/iso/ , and I don't see any sign of parental controls - it didn't show up in initial setup, nor is the parental controls app visible in the app grid.

https://src.fedoraproject.org/rpms/gnome-initial-setup/blob/rawhide/f/gnome-initial-setup.spec#_72

Sorry, I haven't gotten around to enabling it yet. Let me do that and report back here.

Metadata Update from @ngompa:
- Issue set to the milestone: Fedora 35 (was: Fedora 34)

3 years ago

@kalev Can we please have this turned on in Rawhide now?

Metadata Update from @ngompa:
- Issue assigned to kalev (was: aday)

3 years ago

Since Pete Walter manages that package, I won't touch it. But anyone else, please merge it and build it. :wine_glass:

I gave rawhide a spin just now to see how parental controls behaves. To me it seems somewhat broken.

If you create a standard user account, there's an entry for parental controls in their user settings, but clicking it doesn't do anything. You can manually install the parental controls app, but on running it, you get an error message: "Failed to load user data from the system. Make sure that the AccountsService is installed and enabled."

Metadata Update from @aday:
- Issue untagged with: pending-action

2 years ago

I guess malcontent-control needs to get included in the compose.

Also, I see the same error message in the malcontent app, which doesn't sound right because I do have AccountsService installed, enabled/running.

@pwithnall any idea?

@pwithnall any idea?

Are the accountsservice interface files and polkit rules + policy file from https://gitlab.freedesktop.org/pwithnall/malcontent/-/tree/master/accounts-service installed?

yes, after reinstalling malcontent I see them at /usr/share/polkit-1/actionsand /usr/share/polkit-1/rules.d respectively. Thanks for your time.

I guess is just a question of us actually shipping malcontent and malcontent-control then.

In the rawhide VM that I installed today (build from 20210808), malcontent is not pre-installed but, as previously described, there is parental controls Ui visible in the user settings.

Thanks @feborges.

The original decision was to add malcontent to rawhide, to allow testing prior to F35. We're now branched, and are adding it to F35, without the testing having happened. Not an ideal situation and, at this point, we don't have scope to resolve any issues we turn up.

Maybe it's worth taking the punt this time, but I thought it was worth mentioning the drift from the original intent.

I posted https://pagure.io/fedora-comps/pull-request/671

The correct fix would be to gnome-control-center to require malcontent and malcontent-control, wouldn't it?

OK, as discussed in today's meeting, I went ahead and prepared the F35 update that enables parental controls support in the rest of GNOME: https://bodhi.fedoraproject.org/updates/FEDORA-2021-53cbc180c9 . This also includes ngompa's suggestion for gnome-control-center to require malcontent and malcontent-control, so the comps PR from above is no longer necessary.

Chris, can you do the freeze exception paperwork that you mentioned in the meeting?

Allan, let's wait with the testing until the update above hits updates-testing and then it should be easily installable from the repos and testable.

I omitted enabling parental controls support in flatpak because of this flatpak commit/comment:

commit 89da895a6498469bd458c8913c23c073ce047e47 (f34)
Author: Kalev Lember <klember@redhat.com>
Date:   Wed Apr 14 22:28:16 2021 +0200

    Disable system env generator to work around selinux denials

    The system env generator is used to get the list of flatpak apps in
    gnome-initial-setup for parental controls support. We don't have
    parental controls enabled in F33 and F34 (although it's planned for
    F35), so we can just disable the system env generator to work around the
    selinux denials for now while we don't have the selinux policy side
    changes figured out.

    https://bugzilla.redhat.com/show_bug.cgi?id=1947214
    https://bugzilla.redhat.com/show_bug.cgi?id=1916652
    https://github.com/flatpak/flatpak/issues/4128

I can enable it in rawhide flatpak in a bit, but I don't want to do it right away to muddy the waters what is exactly going to be enabled for F35.

And here's the freeze exception ticket that cmurf just filed: https://bugzilla.redhat.com/show_bug.cgi?id=1997261

OK, the update that enables parentals controls was in yesterday's updates push so it's now available in F35 updates-testing. It also got a freeze exception so all we need now is to test it, make sure it's good enough and then decide what to do with it.

OK, I've been able to test this in F35 now. My main issue is the fact that the parental controls app is still shown in the main app grid, when it literally doesn't do anything on systems with a single admin user account, which I think represent the vast majority of Workstation systems. And when you open it, you get a fairly stark "no standard user accounts" message.

We could potentially put the parental controls app in the Utilities folder, but a) that would require we get around the GNOME 41 UI freeze and b) it doesn't really help with the fact that the app isn't functional for the majority of users.

Some other rough edges I noticed in the user settings (I'll file issues for these):

  • The Parental Controls label has a spurious leading underscore: "_Parental Controls"
  • If there's a standard account, admin accounts get a row which states "Parental Controls > Unavailable", which doesn't do anything. It's a bit off-putting.
  • You have to enter your password to make the parental controls row sensitive, then when you click it, the parental controls app says that it's locked, so you have to enter your password again. Pretty annoying.

Nice, thanks for testing it, Allan! We should decide it at next week's meeting if it's something we want to ship in F35 or not. Your notes here are a great starting point.

  • The Parental Controls label has a spurious leading underscore: "_Parental Controls"

I went ahead and filed https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1048 to fix this.

And https://gitlab.freedesktop.org/pwithnall/malcontent/-/merge_requests/119 would hide the app icon under GNOME

Thanks for this! Unfortunately I think that Philip is away until code freeze. :/

We can ship it in the package, which I think I maintain...

Allan mentioned that he might not have time to test the changes before upstream freezes, so I've pushed both sets of changes and Kalev's patch to an F35 update:
https://bodhi.fedoraproject.org/updates/FEDORA-2021-53cbc180c9

so does anyone think this isn't in acceptable state for a Beta release at least? thanks!

Right now it has +2 karma so it could be manually submitted stable, if it gets one more it will be automatically submitted stable. It won't be pushed unless I put it in a stable push request, I'll wait for feedback before doing so.

We're going to discuss this tomorrow.

Metadata Update from @ngompa:
- Issue tagged with: meeting

2 years ago

@adamwill Per the meeting yesterday, the WG agrees we should land it in for the beta.

Metadata Update from @ngompa:
- Issue untagged with: meeting
- Issue tagged with: default-apps

2 years ago

Testing the latest F35 workstation nightly, I see that parental controls is exposed in gnome-initial-setup:

Screenshot_from_2021-09-09_11-40-11.png

I'm fairly sure that someone said that the initial setup parental controls integration wouldn't be enabled, so I was surprised to see this.

I'm also not sure that it's a good idea. The UI isn't super, and I think that the presence of parental controls here will likely confuse more than it helps - it's a bit hard to get your head around.

Metadata Update from @aday:
- Issue tagged with: testing

2 years ago

We decided at today's meeting to remove the gnome-initial-setup parental controls integration.

So, can this ticket be closed?

This is finally done, so yes.

Metadata Update from @ngompa:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Log in to comment on this ticket.

Metadata