Menu

#262 Adium: SIPE doesn't auto- or re-connect

OBSOLETE_(1.18.x)
closed-fixed
None
Pidgin
5
2016-04-23
2014-08-25
Jon Anhold
No

With Microsoft OCS or Lync, and Adium 1.5.10 sipe 1.18.3, connections to OCS and Lync do not auto-connect when Adium starts, and do not reconnect on wake from sleep / network changes.

Mac OS X 10.9.4.

I started it in debug mode, and no mention of the OCS/Lync accounts are made. In the "Accounts" window, they both show "Network Offline".

Auto-connect to GTalk and Sametime work just fine.

Related

Release Notes: 2014/10/pidgin-sipe-release-1184

Discussion

  • Stefan Becker

    Stefan Becker - 2014-08-25
    • status: open --> closed-rejected
     
  • Stefan Becker

    Stefan Becker - 2014-08-25

    Protocol plugins don't control the connection state in libpurple architecture, the UI client does. This works fine with Pidgin. So I guess the problem must be in Adium.

    Closing as NOTABUG.

     
  • Michael Lamb

    Michael Lamb - 2014-08-27

    Is the "Connect when Adium opens" checkbox checked in the "Accounts" preference panel?

     
  • Stefan Becker

    Stefan Becker - 2014-08-28

    Just tested on my loaner Mac: "Connect when Adium opens" is checked, but Adium stays offline after returning from sleep.

    Then I added an IRC account. It immediately went online after adding and Adium goes online after returning from sleep. The Lync accout stays offline.

    Looks like another stupid Adium design decision that the default is not the default, i.e. plugins have to programmatically ask for the default. Re-opening.

     
  • Stefan Becker

    Stefan Becker - 2014-08-28
    • status: closed-rejected --> accepted
    • assigned_to: Michael Lamb
     
  • Stefan Becker

    Stefan Becker - 2014-08-28

    Quick debugging session: in hostReachabilityChanged [account host] on the SIPE account object returns the machine name instead of the account name. Therefore the string compare fails and Adium will not try to connect the SIPE account.

     
  • Stefan Becker

    Stefan Becker - 2014-08-28

    This might not be simple to fix. Adium uses the host name from an account to do a DNS test when returning from sleep. In the case of server auto-detect, i.e. server:port is empty, we don't have a server name and instead set the local machine name to KEY_CONNECT_HOST. Obviously the DNS test fails for the nick name or it isn't tried at all, because it is not a valid DNS name.

    Possible workarounds

    • assign a real FQDN DNS name as Mac machine name, which will resolved to the IP the Mac network interface will use
    • set the server name in the SIPE account settings
     

    Last edit: Stefan Becker 2014-08-28
  • Stefan Becker

    Stefan Becker - 2014-08-28
    • summary: OCS/Lync don't auto-connect / reconnect with Adium --> Adium: SIPE doesn't auto- or re-connect
    • status: accepted --> closed-fixed
    • assigned_to: Michael Lamb --> Stefan Becker
     
  • Stefan Becker

    Stefan Becker - 2014-08-28

    Should be fixed by git commit 4f7b82f. In my tests the only working solution was to set KEY_CONNECT_HOST to "localhost".

    CLOSING

     
  • Stefan Becker

    Stefan Becker - 2014-08-29

    For the record: this regression was introduced in 1.18.1 by git commit b5cec744

    The reasoning for that change states "localhost always being available". I tried to verify this with the following series of tests:

    • no network, start Adium: SIPE account tries to go online
    • no network, sleep, return from sleep: SIPE account tries to go online
    • ethernet connected, Wi-fi OFF, start Adium, take network cable off: Adium does not detect network change
    • ethernet connected, Wi-fi OFF, start Adium, sleep, take network cable off, return from sleep: SIPE account tries to go online

    Case 3 is clearly a bug in Adium, i.e. the reachability code isn't triggered at all when network goes away.

    Cases 1, 2 & 4 using "localhost" would lead to "undesired" behaviour. IMHO this can't be fixed on plugin level and it is clearly better than not working at all. Adium network observer code should be fixed to not execute reachability testing if no network devices are online, i.e. the only active devices are loopback devices.

     
  • Stefan Becker

    Stefan Becker - 2014-09-01

    Pushed git commit c8b699e to replace "localhost" with "adium.im". This will prevent SIPE from going online when there is no network connection.

    Please note that if you have an intranet-only setup, you will not be able to reach "adium.im" and therefore SIPE will not auto-connect. I will update the FAQ accordingly.

    Tested cases with WiFi always off:

    1. no network, start Adium: SIPE does not go online
    2. no network, sleep, return from sleep: SIPE does not go online
    3. no network, plugin cable: SIPE goes online
    4. with network, pull cable: SIPE goes offline
    5. no network, sleep, plugin cable, return from sleep: SIPE goes online
    6. with network, sleep, return from sleep: SIPE goes online
    7. with network, sleep, pull cable, return from sleep: SIPE does not go online
    8. with network, start Adium: SIPE goes online
     
  • Jon Anhold

    Jon Anhold - 2014-09-02

    Thanks guys. Is there a nightly build out there that I can test without having to build it myself? Otherwise I'll give that a shot.

     
    • Stefan Becker

      Stefan Becker - 2014-09-02

      No, there is no nightly build. Building the plugin on Mac is pretty simple

       
  • Jon Anhold

    Jon Anhold - 2014-09-02

    Yep, I had already done a build. Looks like this works. Thanks!

     

Log in to post a comment.