private static bool CanInitialize()
        {
            var config = JEMDiscordConfiguration.Resolve();

            if (!config.Enable)
            {
                return(false);
            }

            var diff = DateTime.Now - _lastInitializationTime;

            return(diff.Seconds >= config.RecompileTimeout);
        }
        private static void Update()
        {
            if (!IsInitialized)
            {
                return;
            }
            if (!IsConnected)
            {
                // While discord is not yet connected, we will try again after one min.
                if (CanInitialize())
                {
                    InternalDiscordInitialize();
                }

                return;
            }
            // Hide unity presence if not focused.
            // TODO: Adjust timestamp after receiving focus again
            if (_wasWindowFocused == InternalEditorUtility.isApplicationActive)
            {
                return;
            }
            _wasWindowFocused = InternalEditorUtility.isApplicationActive;
            if (!JEMDiscordConfiguration.Resolve().ShowPresenceOnlyWhenActive)
            {
                return;
            }

            if (_wasWindowFocused)
            {
                JEMDiscordUnityPresence.RefreshPresence();
            }
            else
            {
                JEMDiscordUnityPresence.RefreshPresence(true);
            }
        }