From cebe2c8f02321f91412810224d3633c8e39bbe88 Mon Sep 17 00:00:00 2001
From: Jono Wenger <jono@elixxir.io>
Date: Wed, 15 Jun 2022 12:05:57 -0700
Subject: [PATCH] Call CheckInProgressMessages after adding fingerprints for a
 new received file transfer

---
 fileTransfer2/connect/utils_test.go   | 2 ++
 fileTransfer2/e2e/utils_test.go       | 2 ++
 fileTransfer2/e2e/wrapper.go          | 3 ++-
 fileTransfer2/groupChat/utils_test.go | 2 ++
 fileTransfer2/manager.go              | 3 +++
 fileTransfer2/utils_test.go           | 2 ++
 6 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/fileTransfer2/connect/utils_test.go b/fileTransfer2/connect/utils_test.go
index b6850c796..43eaaa094 100644
--- a/fileTransfer2/connect/utils_test.go
+++ b/fileTransfer2/connect/utils_test.go
@@ -102,6 +102,8 @@ func (m *mockCmix) DeleteFingerprint(_ *id.ID, fp format.Fingerprint) {
 	m.handler.Unlock()
 }
 
+func (m *mockCmix) CheckInProgressMessages() {}
+
 func (m *mockCmix) IsHealthy() bool {
 	return m.health
 }
diff --git a/fileTransfer2/e2e/utils_test.go b/fileTransfer2/e2e/utils_test.go
index 7b5a08015..30b9edd67 100644
--- a/fileTransfer2/e2e/utils_test.go
+++ b/fileTransfer2/e2e/utils_test.go
@@ -101,6 +101,8 @@ func (m *mockCmix) DeleteFingerprint(_ *id.ID, fp format.Fingerprint) {
 	m.handler.Unlock()
 }
 
+func (m *mockCmix) CheckInProgressMessages() {}
+
 func (m *mockCmix) IsHealthy() bool {
 	return m.health
 }
diff --git a/fileTransfer2/e2e/wrapper.go b/fileTransfer2/e2e/wrapper.go
index b53cffe55..3f8247de2 100644
--- a/fileTransfer2/e2e/wrapper.go
+++ b/fileTransfer2/e2e/wrapper.go
@@ -113,7 +113,8 @@ func (w *Wrapper) RegisterSentProgressCallback(tid *ftCrypto.TransferID,
 // addEndMessageToCallback adds the sending of an E2E message when the transfer
 // completed to the callback. If NotifyUponCompletion is not set, then the
 // message is not sent.
-func (w *Wrapper) addEndMessageToCallback(progressCB ft.SentProgressCallback) ft.SentProgressCallback {
+func (w *Wrapper) addEndMessageToCallback(
+	progressCB ft.SentProgressCallback) ft.SentProgressCallback {
 	if !w.p.NotifyUponCompletion {
 		return progressCB
 	}
diff --git a/fileTransfer2/groupChat/utils_test.go b/fileTransfer2/groupChat/utils_test.go
index f7db390d5..0c0b21bff 100644
--- a/fileTransfer2/groupChat/utils_test.go
+++ b/fileTransfer2/groupChat/utils_test.go
@@ -99,6 +99,8 @@ func (m *mockCmix) DeleteFingerprint(_ *id.ID, fp format.Fingerprint) {
 	m.handler.Unlock()
 }
 
+func (m *mockCmix) CheckInProgressMessages() {}
+
 func (m *mockCmix) IsHealthy() bool {
 	return m.health
 }
diff --git a/fileTransfer2/manager.go b/fileTransfer2/manager.go
index 3b4bdbccd..f2dfd75e4 100644
--- a/fileTransfer2/manager.go
+++ b/fileTransfer2/manager.go
@@ -137,6 +137,7 @@ type Cmix interface {
 	AddFingerprint(identity *id.ID, fingerprint format.Fingerprint,
 		mp message.Processor) error
 	DeleteFingerprint(identity *id.ID, fingerprint format.Fingerprint)
+	CheckInProgressMessages()
 	IsHealthy() bool
 	AddHealthCallback(f func(bool)) uint64
 	RemoveHealthCallback(uint64)
@@ -567,4 +568,6 @@ func (m *manager) addFingerprints(rt *store.ReceivedTransfer) {
 				"%s: %+v", rt.TransferID(), err)
 		}
 	}
+
+	m.cmix.CheckInProgressMessages()
 }
diff --git a/fileTransfer2/utils_test.go b/fileTransfer2/utils_test.go
index cd57f2aa5..ef5722da0 100644
--- a/fileTransfer2/utils_test.go
+++ b/fileTransfer2/utils_test.go
@@ -155,6 +155,8 @@ func (m *mockCmix) DeleteFingerprint(_ *id.ID, fp format.Fingerprint) {
 	delete(m.handler.processorMap, fp)
 }
 
+func (m *mockCmix) CheckInProgressMessages() {}
+
 func (m *mockCmix) IsHealthy() bool {
 	return m.health
 }
-- 
GitLab