Closed Bug 955680 Opened 10 years ago Closed 10 years ago

Only remember on-hold state for autojoined conversations

Categories

(Chat Core :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: aleth, Assigned: aleth)

References

Details

(Whiteboard: [1.5-blocking])

Attachments

(1 file)

*** Original post on bio 2232 at 2013-10-29 11:56:00 UTC ***

The changed behaviour introduced by bug 955552 (bio 2114) has turned out to be suboptimal.
Blocks: 955552
Whiteboard: [1.5-blocking]
*** Original post on bio 2232 at 2013-10-29 12:05:52 UTC ***

A good way to fix this would be to remember the on-hold state for only one restart, then delete it. Autojoined channels always get joined again, so are not affected, while other channels have their state remembered for the following session, and not thereafter (so the memory doesn't last longer than the user's, which is what causes problems).
*** Original post on bio 2232 at 2013-10-29 12:20:00 UTC ***

comment 1 seems to assume that you always connect all your accounts each time Ib starts (which is not necessarily true if you are offline, or if some accounts don't auto-login).
Whiteboard: [1.5-blocking] → [1.5-blocking][needs patch aleth/flo]
Attached patch Workaround patchSplinter Review
*** Original post on bio 2232 as attmnt 3116 at 2013-12-09 22:09:00 UTC ***

What is needed to fix this bug is a focusConversation call on conversations opened by user action.

This is done for the join chat menu, but not for the awesometab. This patch adds the method used in http://lxr.instantbird.org/instantbird/source/instantbird/content/joinchat.js#116 to do it in the awesometab as well.

It's a hack (despite it being in the existing code). The correct fix imho would be to change joinChat to return a conv, http://lxr.instantbird.org/instantbird/source/chat/components/public/imIAccount.idl#126.
Attachment #8354900 - Flags: review?(florian)
Comment on attachment 8354900 [details] [diff] [review]
Workaround patch

*** Original change on bio 2232 attmnt 3116 at 2013-12-09 22:38:12 UTC ***

Thanks!

(In reply to comment #3)

> What is needed to fix this bug is a focusConversation call on conversations
> opened by user action.

This is not to fix the bug, but to hide it for the common case (IRC channels); which is enough for 1.5.

> The correct fix imho would
> be to change joinChat to return a conv

This is something we should do, but I'm afraid we won't be able to guarantee the return value is useful, as making the method return the conversation object for libpurple-prpls may be tricky (it's the reason why the method returns void right now). I think we now have enough JS-prpls that it's worth returning the conv object when we can... in another bug! :-)
Attachment #8354900 - Flags: review?(florian) → review+
Whiteboard: [1.5-blocking][needs patch aleth/flo] → [1.5-blocking][checkin-needed]
*** Original post on bio 2232 at 2013-12-10 11:33:32 UTC ***

http://hg.instantbird.org/instantbird/rev/c64ee272e60e

Thanks. I guess we should file a follow up to fix this the "right" way?
Assignee: nobody → aleth
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [1.5-blocking][checkin-needed] → [1.5-blocking]
Target Milestone: --- → 1.5
You need to log in before you can comment on or make changes to this bug.