Redesign the presence manager a bit

Review Request #2912 — Created Jan. 12, 2024 and submitted

Information

pidgin/pidgin
default

Reviewers

The presence manager now stores everything in a directory rather than a single
ini file. This avoids relocating schemas which seems to have a number of
issues.

Also bind the "active" setting to the "active-presence" property so that you
can change the active presence via the `manager.ini` gsettings keyfile.

So other various tweaks as well.

Opened manager.ini and toggled the active status between a few I created.

Consulted with the turtles and ran the presence_manager and saved_presence unit tests under valgrind.

Summary ID
Redesign the presence manager a bit
The presence manager now stores everything in a directory rather than a single ini file. This avoids relocating schemas which seems to have a number of issues. Also bind the "active" setting to the "active-presence" property so that you can change the active presence via the `manager.ini` gsettings keyfile. So other various tweaks as well.
9a8d0ab7b43e41b4d75e737a1038d9141b38b22b
Description From Last Updated

This is outdated now?

QuLogicQuLogic

Comma after @presense.

QuLogicQuLogic

Kind of a silly question, but I wonder if available should be all f and offline be all 0 (i.e., …

QuLogicQuLogic

Maybe this should say "directory path", as I don't think anywhere says it's a directory vs a file?

QuLogicQuLogic

Any reason to remove the assert?

QuLogicQuLogic
QuLogic
  1. 
      
  2. Show all issues

    This is outdated now?

  3. libpurple/purplepresencemanager.h (Diff revision 1)
     
     
    Show all issues

    Comma after @presense.

  4. libpurple/purplepresencemanager.c (Diff revision 1)
     
     
    Show all issues

    Kind of a silly question, but I wonder if available should be all f and offline be all 0 (i.e., available is as "on" as possible, and offline is as "off" as possible)?

    1. That's a really good idea!

  5. libpurple/purplepresencemanager.c (Diff revision 1)
     
     
    Show all issues

    Maybe this should say "directory path", as I don't think anywhere says it's a directory vs a file?

  6. libpurple/tests/test_presence_manager.c (Diff revision 1)
     
     
    Show all issues

    Any reason to remove the assert?

    1. I think I removed it as it was being tested elsewhere or something, but whatever, it's a single line so I'll put it back.

  7. 
      
grim
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed
Status:
Completed