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 {