From 2ca74ec2e1082d232cd0a9ccdc379e988153bea9 Mon Sep 17 00:00:00 2001
From: clauspeterhuebner
Date: Wed, 25 Feb 2026 02:25:13 +0100
Subject: [PATCH 1/5] remove sending email after disbursement, because it is
don't in core...processXComSendCoins
---
backend/src/graphql/resolver/TransactionLinkResolver.ts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts
index 193d539e5..56c0db4c4 100644
--- a/backend/src/graphql/resolver/TransactionLinkResolver.ts
+++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts
@@ -663,6 +663,7 @@ export class TransactionLinkResolver {
if (methodLogger.isDebugEnabled()) {
methodLogger.debug('Disburse JWT was sent successfully with result=', result)
}
+ /* don't send email here, because it is sent by the sender community
const senderUser = await findUserByIdentifier(senderGradidoId, senderCommunityUuid)
if (!senderUser) {
const errmsg = `Sender user not found with identifier=${senderGradidoId}`
@@ -719,6 +720,7 @@ export class TransactionLinkResolver {
)
}
}
+ */
} catch (e) {
const errmsg = `Disburse JWT was not sent successfully with error=${e}`
methodLogger.error(errmsg)
From 2dfff70e0007f8d138251bfa566b110fde1086ca Mon Sep 17 00:00:00 2001
From: clauspeterhuebner
Date: Wed, 25 Feb 2026 16:30:20 +0100
Subject: [PATCH 2/5] add recipient community.name instead of missing recipient
email as detailed info
---
core/src/graphql/logic/processXComSendCoins.ts | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/core/src/graphql/logic/processXComSendCoins.ts b/core/src/graphql/logic/processXComSendCoins.ts
index b48bacde8..24964b0d5 100644
--- a/core/src/graphql/logic/processXComSendCoins.ts
+++ b/core/src/graphql/logic/processXComSendCoins.ts
@@ -172,19 +172,6 @@ export async function processXComCompleteTransaction(
)
}
}
- /*
- await sendTransactionReceivedEmail({
- firstName: foreignUser.firstName,
- lastName: foreignUser.lastName,
- email: foreignUser.emailContact.email,
- language: foreignUser.language,
- memo,
- senderFirstName: senderUser.firstName,
- senderLastName: senderUser.lastName,
- senderEmail: senderUser.emailContact.email,
- transactionAmount: new Decimal(amount),
- })
- */
if (dbTransactionLink) {
await sendTransactionLinkRedeemedEmail({
firstName: senderUser.firstName,
@@ -193,7 +180,7 @@ export async function processXComCompleteTransaction(
language: senderUser.language,
senderFirstName: foreignUser.firstName,
senderLastName: foreignUser.lastName,
- senderEmail: 'unknown', // foreignUser.emailContact.email,
+ senderEmail: recipientCom.name!, // foreignUser.emailContact.email,
transactionAmount: new Decimal(amount),
transactionMemo: memo,
})
From 8aa67de124dffa8bdd390c7745901c170ca7526a Mon Sep 17 00:00:00 2001
From: clauspeterhuebner
Date: Wed, 25 Feb 2026 17:01:41 +0100
Subject: [PATCH 3/5] change throw new LogError to throw new Error
---
.../src/graphql/resolver/TransactionLinkResolver.ts | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/backend/src/graphql/resolver/TransactionLinkResolver.ts b/backend/src/graphql/resolver/TransactionLinkResolver.ts
index 56c0db4c4..28c3b432c 100644
--- a/backend/src/graphql/resolver/TransactionLinkResolver.ts
+++ b/backend/src/graphql/resolver/TransactionLinkResolver.ts
@@ -570,7 +570,7 @@ export class TransactionLinkResolver {
} catch (e) {
const errmsg = `Error on creating Redeem JWT: error=${e}`
methodLogger.error(errmsg)
- throw new LogError(errmsg)
+ throw new Error(errmsg)
}
}
@@ -612,19 +612,19 @@ export class TransactionLinkResolver {
if (!senderCom) {
const errmsg = `Sender community not found with uuid=${senderCommunityUuid}`
methodLogger.error(errmsg)
- throw new LogError(errmsg)
+ throw new Error(errmsg)
}
const senderFedCom = await DbFederatedCommunity.findOneBy({ publicKey: senderCom.publicKey })
if (!senderFedCom) {
const errmsg = `Sender federated community not found with publicKey=${senderCom.publicKey}`
methodLogger.error(errmsg)
- throw new LogError(errmsg)
+ throw new Error(errmsg)
}
const recipientCom = await getCommunityByUuid(recipientCommunityUuid)
if (!recipientCom) {
const errmsg = `Recipient community not found with uuid=${recipientCommunityUuid}`
methodLogger.error(errmsg)
- throw new LogError(errmsg)
+ throw new Error(errmsg)
}
const client = DisbursementClientFactory.getInstance(senderFedCom)
if (client instanceof V1_0_DisbursementClient) {
@@ -668,13 +668,13 @@ export class TransactionLinkResolver {
if (!senderUser) {
const errmsg = `Sender user not found with identifier=${senderGradidoId}`
methodLogger.error(errmsg)
- throw new LogError(errmsg)
+ throw new Error(errmsg)
}
const recipientUser = await findUserByIdentifier(recipientGradidoId, recipientCommunityUuid)
if (!recipientUser) {
const errmsg = `Recipient user not found with identifier=${recipientGradidoId}`
methodLogger.error(errmsg)
- throw new LogError(errmsg)
+ throw new Error(errmsg)
}
if (recipientUser.emailContact?.email !== null) {
if (methodLogger.isDebugEnabled()) {
From 5ad6947da2b8ee3f5e9fbe468c5f79b27743ce33 Mon Sep 17 00:00:00 2001
From: clauspeterhuebner
Date: Mon, 2 Mar 2026 23:47:45 +0100
Subject: [PATCH 4/5] change recipient.email to recipient.community.name on
sendTransactionLinkRedeemedEmail
---
backend/src/graphql/resolver/TransactionResolver.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts
index 8741eef06..53b48adc4 100644
--- a/backend/src/graphql/resolver/TransactionResolver.ts
+++ b/backend/src/graphql/resolver/TransactionResolver.ts
@@ -214,6 +214,7 @@ export const executeTransaction = async (
transactionAmount: amount,
})
if (transactionLink) {
+ const recipientCom = await getCommunityName(recipient.communityUuid)
await sendTransactionLinkRedeemedEmail({
firstName: sender.firstName,
lastName: sender.lastName,
@@ -221,7 +222,7 @@ export const executeTransaction = async (
language: sender.language,
senderFirstName: recipient.firstName,
senderLastName: recipient.lastName,
- senderEmail: recipient.emailContact.email,
+ senderEmail: recipientCom, // recipient.emailContact.email,
transactionAmount: amount,
transactionMemo: memo,
})
From 7189b69d7030d990666ece8d2b5a4285e62d4b8f Mon Sep 17 00:00:00 2001
From: clauspeterhuebner
Date: Wed, 4 Mar 2026 18:04:09 +0100
Subject: [PATCH 5/5] email-test-modus auf false
---
core/src/emails/sendEmailVariants.test.ts | 1 +
1 file changed, 1 insertion(+)
diff --git a/core/src/emails/sendEmailVariants.test.ts b/core/src/emails/sendEmailVariants.test.ts
index 1fbbbce8f..d7556a4d4 100644
--- a/core/src/emails/sendEmailVariants.test.ts
+++ b/core/src/emails/sendEmailVariants.test.ts
@@ -25,6 +25,7 @@ CONFIG.EMAIL_SENDER = 'info@gradido.net'
CONFIG.EMAIL_SMTP_HOST = testMailServerHost
CONFIG.EMAIL_SMTP_PORT = testMailServerPort
CONFIG.EMAIL_TLS = testMailTLS
+CONFIG.EMAIL_TEST_MODUS = false
mock.module('nodemailer', () => {
return {