I found a sort of solution to this bug. What I did is write an AppleScript which tells Messages to connect all accounts when one of the accounts successfully connects. I use Messages with Gmail, Yahoo and Bonjour, so when either of those connects, it "tells" all other accounts to connect. It's not failure-proof, but it seems to keep my accounts online properly so far.
using terms from application "Messages"
on login finished for theService
log in service "Yahoo!"
log in service "Gmail"
log in service "Bonjour"
end login finished
end using terms from
Usage instructions:
- Edit the AppleScript above to include the services you are using
- Save it using "AppleScript Editor.app" to a .scpt file
- Open Messages > Preferences > Alerts
- Set the script to run for the "When I Log In" event.
N.B.
For the line containing log in service "<service>"
you will need to replace <service>
with the value you find in the Description field for that particular service in Messages’ account preferences. In my case my Yahoo! account had ”Yahoo” in its description field so I had to change log in service "Yahoo!"
to log in service "Yahoo"
. Ditto for the other services.