Opened 9 years ago

Closed 9 years ago

#3489 closed defect (fixed)

Status Changes with multiple accounts doesn't work

Reported by: anonymous Owned by: asterix
Priority: low Milestone: 0.12
Component: usability Version: 0.11.1
Severity: minor Keywords:
Cc: muelli@… Blocked By:
Blocking: OS: All

Description

I have multiple accounts, one set "online", another set "away". Gajim shows "away" in notification area as well as on the big button at the bottom of the roster.

If you now right-click the icon in notification area -> Set Status -> Away then nothing happens, e.g. the accuont being online is still "online" and not away.

I'd expect all account to settle to the just selected status.

Attachments (5)

global_status.2.diff (1.5 KB) - added by anonymous 9 years ago.
global_status.diff (1.5 KB) - added by anonymous 9 years ago.
global_status.2.2.diff (1.9 KB) - added by shivan 9 years ago.
global_status_offlines_dont_goes_online.diff (2.2 KB) - added by shivan 9 years ago.
add an option when account not synchronized, and don't bring online disconnected accounts if you change global status
global_status_offlines_goes_online.diff (2.4 KB) - added by shivan 9 years ago.
add an option when account not synchronized, and bring online disconnected accounts if you change global status

Download all attachments as: .zip

Change History (19)

comment:1 Changed 9 years ago by muelli

  • Cc muelli@… added

comment:2 Changed 9 years ago by asterix

  • Resolution set to worksforme
  • Status changed from new to closed

see the "synchroniwe accoutn status with globalstatus" option in accounts window

comment:3 Changed 9 years ago by muelli

  • Resolution worksforme deleted
  • Status changed from closed to reopened

I have this option checked for both accounts.

So here is more precise recipe to reproduce:

1) Have multiple accounts, set both to "online" 2) Just set one account to away (right click account in roster, status, away) 3) see notification area and big button at the bottom of the roster adapt this new status 4) see second account still being online 5) select "global" status "away", e.g. click big roster button, select away or do it in notification area

now see that the first account is still away (of course) but the second account remains online.

Thus reopening.

comment:4 Changed 9 years ago by asterix

  • Milestone set to 0.12

comment:5 Changed 9 years ago by asterix

(In [81936d46eeaa0665f7246362fb13a8d455f83453]) change global status when we set it through systray menu, even if one account already has this status. see #3489

comment:6 Changed 9 years ago by asterix

it's now ok if you set it through systray menu.

That still doesn't work if you set it through combobox in roster window: as menuitem is the same, GTK doesn't emit anything, so we have no way to know that user opened the combobox and choose the same menuitem. But this behaviour is not so strange, it's normal that selecting the already selected item do nothing.

So we can close it as fixed I think

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

comment:7 Changed 9 years ago by asterix

(In [97d31a2f63709b39a853bcfdae7e5395fea307e5]) [shivan] show nothing in status combobox when status is not unified for all globaly sync'ed accounts. see #3489

comment:8 Changed 9 years ago by shivan

global_status.2.2.diff add a deselected option (and delete it when not needed) : the global status + a string "sync'ed", this way you see the global status in the roster (sonsistent with the systray) but you know all accounts status aren't synchronized.

before commiting :

  • change "sync'ed" in the file to something prettier
  • self.status_combobox.remove_text(10) should be changed to something less static
  • decide if the new option must be appended or prepended to the list

comment:9 Changed 9 years ago by shivan

I think I got everything covered with this one

was not sure wether I should use gtk.TreeModel?.foreach to check if the option is present, so I went for something pretty static (same way as we check if the option is "status" by the index)

comment:10 Changed 9 years ago by asterix

there are strange things:

  1. when status is desymced, choosing "change status message" doesn't change status messages of connected accounts
  1. when one account is online and another is offline, choosing away change status of only online account. It should change status of all globaly synced accounts

comment:11 Changed 9 years ago by shivan

same issue, has been patched see new global_status.2.2.diff

comment:12 Changed 9 years ago by asterix

this patch is the same as previously :)

comment:13 Changed 9 years ago by steve-e

Sorry shivan, could not review your patch yet. Wlan on my linux box just broke on suspend :-/ (and I am to lazy to reboot the whole thing)

Changed 9 years ago by shivan

Changed 9 years ago by shivan

add an option when account not synchronized, and don't bring online disconnected accounts if you change global status

Changed 9 years ago by shivan

add an option when account not synchronized, and bring online disconnected accounts if you change global status

comment:14 Changed 9 years ago by asterix

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [2a5de70476539a048a1860df7fccb8946a138800]) [shivan] show in status combobox that accounts status are not synchronized. fixes #3489

Note: See TracTickets for help on using tickets.