Addressables.CheckForCatalogUpdates always returning Succeeded

Hi guys this is my first time using addressables so I might miss something obvious here.
So I’m trying to check if my local cache assets are up to date by calling
Addressables.CheckForCatalogUpdates() but it seems like to always return Succeeded even if there’s not internet connection. I can’t differentiate whether it already checks from the cloud and there’s no update with it tried to connect but fail since there’s no error at all. I also tried Addressables.GetDownloadSizeAsync but same thing it always return status succeded even without syncing with the cloud asset. Is there anyway to check if my local cache is up to date with the one in the remote server?

this is my code

public void CheckForUpdate()
    {
        Addressables.CheckForCatalogUpdates().Completed += (_updates) =>
        {
            if (_updates.Status == AsyncOperationStatus.Failed)
            {
                Debug.LogWarning("Fetch failed!");
            }

            if (_updates.Result.Count > 0)
            {
                Debug.Log("Available Update:");
                foreach (var update in _updates.Result)
                {
                    Debug.Log(update);
                }
                // proceed with downloading new content
            }
            else
            {

                Debug.LogError("No Available Update");
                // proceed with loading from cache
            }
        };
    }

    public void Confirmation()
    {
        Addressables.GetDownloadSizeAsync("default").Completed += (x) =>
        {
            print( x.Result.ToString());
            if(x.Result > 0 && x.Status == AsyncOperationStatus.Succeeded)
            {
                var totalSize = new ByteSize((double)x.Result);
                confirmationWindow.SetActive(true);
                confirmationText.text = confirmationText.text.Replace("[size]", totalSize.ToString());
                print(totalSize.ToString());


            }
            else downloadCompleteWindow.SetActive(true);
        };
    }

It’s a known issue. The bug-fix is in-progress according to the public issue tracker.
https://issuetracker.unity3d.com/issues/addressables-asyncoperationstatus-returns-succeeded-for-failed-calls

Thanks a lot for the reply
Is there any alternative way to know if my asset is up to date or it’s using the local cache? That issue is a few months old and I can’t really wait that long.

I believe a workaround for the “there’s no internet connection” issue is to specify a “Catalog download Timeout” greater than 0. You can find this option in the AddressableAssetSettings asset.

They also fixed some error handling issues in Addressables 1.19.9. If you use an older version, it might be worth to test 1.19.9 or newer.

Thanks a lot that really help me. Man I was searching this for days and didn’t find the fix.

So in case anyone having this problem, what I did is set the catalog timeout like Peter77 said to 5 and call
CheckForCatalogUpdates, it will return null result if there’s no internet connection. Also a thing to remember is you must initialize the addressable before calling the
CheckForCatalogUpdates. I’ll test it in my real project to see if there’s no problem. Thanks again