From 136a15d19cf52f2f20c94d3af7103f21616f7fa7 Mon Sep 17 00:00:00 2001 From: Patrick Simpson Date: Fri, 14 Sep 2018 10:05:21 +0300 Subject: [PATCH] Additional logging for GAB sync --- .../AcaciaZPushPlugin/Features/GAB/FeatureGAB.cs | 4 ++++ .../Features/SharedFolders/RemindersQuery.cs | 14 +++++++------- .../Stubs/OutlookWrappers/FolderWrapper.cs | 4 ++-- .../AcaciaZPushPlugin/ZPush/ZPushAccount.cs | 2 ++ .../AcaciaZPushPlugin/ZPush/ZPushChannel.cs | 14 +++++++++++++- .../AcaciaZPushPlugin/ZPush/ZPushWatcher.cs | 10 ++++++++-- 6 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/GAB/FeatureGAB.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/GAB/FeatureGAB.cs index bb3062e..f1d274d 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/GAB/FeatureGAB.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/GAB/FeatureGAB.cs @@ -576,9 +576,11 @@ namespace Acacia.Features.GAB zpush.ConfirmedChanged += (z) => { + Logger.Instance.Debug(this, "Account discovered and confirmed: {0} -> {1}: {2}", zpush.DisplayName, zpush.Confirmed, zpush.GABFolder); if (zpush.Confirmed == ZPushAccount.ConfirmationType.IsZPush && !string.IsNullOrEmpty(zpush.GABFolder)) { + Logger.Instance.Debug(this, "Account discovered, listening for folder: {0} -> {1}: {2}", zpush.DisplayName, zpush.Confirmed, zpush.GABFolder); // Set up the Z-Push channel listener ZPushChannel channel = ZPushChannels.Get(this, zpush, zpush.GABFolder); channel.Available += ZPushChannelAvailable; @@ -735,6 +737,7 @@ namespace Acacia.Features.GAB private void ZPushChannelAvailable(IFolder folder) { + Logger.Instance.Debug(this, "Z-Push channel available 0: {0}", folder); using (IStore store = folder.GetStore()) { Logger.Instance.Debug(this, "Z-Push channel available: {0} on {1}", folder, store.DisplayName); @@ -742,6 +745,7 @@ namespace Acacia.Features.GAB ZPushAccount account = Watcher.Accounts.GetAccount(folder); if (account != null) { + Logger.Instance.Debug(this, "Z-Push channel available 0: {0} -> {1}", folder, account); account.LinkedGABFolder(folder); RegisterGABAccount(account, folder); } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs index 22a81c5..ea84235 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs @@ -92,7 +92,7 @@ namespace Acacia.Features.SharedFolders _queryRoot = FolderQuery; if (!(_queryRoot is SearchQuery.And)) return false; - Logger.Instance.Debug(this, "Current query:\n{0}", _queryRoot.ToString()); + Logger.Instance.Trace(this, "Current query:\n{0}", _queryRoot.ToString()); SearchQuery.And root = (SearchQuery.And)_queryRoot; // TODO: more strict checking of query @@ -113,7 +113,7 @@ namespace Acacia.Features.SharedFolders } // We have the root, but not the custom query. Create it. - Logger.Instance.Debug(this, "Creating custom query"); + Logger.Instance.Trace(this, "Creating custom query"); if (_queryCustomShared == null) _queryCustomShared = AddCustomQuery(root, "S"); _queryCustomConfigured = AddCustomQuery(root, "C"); @@ -124,10 +124,10 @@ namespace Acacia.Features.SharedFolders ) )); - Logger.Instance.Debug(this, "Modified query:\n{0}", root.ToString()); + Logger.Instance.Trace(this, "Modified query:\n{0}", root.ToString()); // Store it FolderQuery = root; - Logger.Instance.Debug(this, "Modified query readback:\n{0}", FolderQuery); + Logger.Instance.Trace(this, "Modified query readback:\n{0}", FolderQuery); } catch (Exception e) { @@ -281,7 +281,7 @@ namespace Acacia.Features.SharedFolders _queryRoot = FolderQuery; if (!(_queryRoot is SearchQuery.And)) return false; - Logger.Instance.Debug(this, "Current query:\n{0}", _queryRoot.ToString()); + Logger.Instance.Trace(this, "Current query:\n{0}", _queryRoot.ToString()); SearchQuery.And root = (SearchQuery.And)_queryRoot; // TODO: more strict checking of query @@ -304,10 +304,10 @@ namespace Acacia.Features.SharedFolders root.Operands.Add(_queryCustomShared); } - Logger.Instance.Debug(this, "Modified query:\n{0}", root.ToString()); + Logger.Instance.Trace(this, "Modified query:\n{0}", root.ToString()); // Store it FolderQuery = root; - Logger.Instance.Debug(this, "Modified query readback:\n{0}", FolderQuery); + Logger.Instance.Trace(this, "Modified query readback:\n{0}", FolderQuery); } catch (Exception e) { diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs index d75e821..58b83c5 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/FolderWrapper.cs @@ -446,7 +446,7 @@ namespace Acacia.Stubs.OutlookWrappers { SearchCriteriaState state; imapi.GetSearchCriteria(0, &restrict, &sb1, out state); - Logger.Instance.Debug(this, "GetSearchCriteria: {0}: {1}\n{2}", Name, state, + Logger.Instance.Trace(this, "GetSearchCriteria: {0}: {1}\n{2}", Name, state, restrict == null ? "" : restrict->ToString()); return restrict->ToSearchQuery(); } @@ -466,7 +466,7 @@ namespace Acacia.Stubs.OutlookWrappers using (RestrictionEncoder res = value.ToRestriction()) { SRestriction* resEncoded = res.Encoded; - Logger.Instance.Debug(this, "SetSearchCriteria: {0}\n{1}", Name, resEncoded == null ? "" : resEncoded->ToString()); + Logger.Instance.Trace(this, "SetSearchCriteria: {0}\n{1}", Name, resEncoded == null ? "" : resEncoded->ToString()); imapi.SetSearchCriteria(resEncoded, null, SearchCriteriaFlags.NONE); } } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs index 5b14eff..4be771a 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs @@ -149,6 +149,8 @@ namespace Acacia.ZPush Confirmed = Capabilities == null ? ConfirmationType.IsNotZPush : ConfirmationType.IsZPush; Logger.Instance.Info(this, "ZPush confirmation: {0} -> {1}, {2}", Confirmed, Capabilities, GABFolder); + //new Thread(() => { System.Threading.Thread.Sleep(30000); _confirmedChanged?.Invoke(this); }).Start(); + // _confirmedChanged?.Invoke(this); } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushChannel.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushChannel.cs index 1e64aa5..e27dd21 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushChannel.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushChannel.cs @@ -85,7 +85,19 @@ namespace Acacia.ZPush // Notify any listeners if (Available != null) { - Tasks.Task(null, null, "Watcher_WatchingFolder", () => Available(folder)); + Logger.Instance.Debug(this, "ZPUSHCANNEL FOLDER, NOTIFY Available: {0} on {1}", folder.Name, _account.DisplayName); + Tasks.Task(null, null, "Watcher_WatchingFolder", + () => + { + Logger.Instance.Debug(this, "ZPUSHCANNEL FOLDER, NOTIFY Available before: {0} on {1}", folder.Name, _account.DisplayName); + Available(folder); + Logger.Instance.Debug(this, "ZPUSHCANNEL FOLDER, NOTIFY Available after: {0} on {1}", folder.Name, _account.DisplayName); + } + ); + } + else + { + Logger.Instance.Debug(this, "ZPUSHCANNEL FOLDER, Available not registered: {0} on {1}", folder.Name, _account.DisplayName); } } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushWatcher.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushWatcher.cs index 365a86d..5ad5ea5 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushWatcher.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushWatcher.cs @@ -121,14 +121,20 @@ namespace Acacia.ZPush { oof = connection.Execute(new ActiveSync.SettingsOOFGet()); } - account.OnConfirmationResponse(oof.RawResponse); + + new Thread(() => { System.Threading.Thread.Sleep(30000); + account.OnConfirmationResponse(oof.RawResponse); + Explorer_SelectionChange(); + ThisAddIn.Instance.GetFeature()?.OnOOFSettings(account, oof); + }).Start(); + /*account.OnConfirmationResponse(oof.RawResponse); // [ZO-109] Always update the current selection, it might have changed. Explorer_SelectionChange(); // Notify the OOF feature. // TODO: this coupling is pretty hideous - ThisAddIn.Instance.GetFeature()?.OnOOFSettings(account, oof); + ThisAddIn.Instance.GetFeature()?.OnOOFSettings(account, oof);*/ }); } else