feat: now uses markdown linebreaks instead of relying purely on newlines

refactor: displayUrl now applies an ellipsis if the url is longer than 40 characters
This commit is contained in:
jesterr0
2025-03-22 14:36:12 -04:00
parent f5b3a526cb
commit 54e3df2494

View File

@@ -47,10 +47,11 @@ class GotifyAgent
const title = payload.event const title = payload.event
? `${payload.event} - ${payload.subject}` ? `${payload.event} - ${payload.subject}`
: payload.subject; : payload.subject;
let message = payload.message ?? '';
let message = payload.message ? `${payload.message} \n\n` : '';
if (payload.request) { if (payload.request) {
message += `\n\nRequested By: ${payload.request.requestedBy.displayName}`; message += `\n**Requested By:** ${payload.request.requestedBy.displayName} `;
let status = ''; let status = '';
switch (type) { switch (type) {
@@ -73,14 +74,16 @@ class GotifyAgent
} }
if (status) { if (status) {
message += `\nRequest Status: ${status}`; message += `\n**Request Status:** ${status} `;
} }
} else if (payload.comment) { } else if (payload.comment) {
message += `\nComment from ${payload.comment.user.displayName}:\n${payload.comment.message} `; message += `\nComment from ${payload.comment.user.displayName}:\n${payload.comment.message} `;
} else if (payload.issue) { } else if (payload.issue) {
message += `\n\nReported By: ${payload.issue.createdBy.displayName}`; message += `\n\n**Reported By:** ${payload.issue.createdBy.displayName} `;
message += `\nIssue Type: ${IssueTypeName[payload.issue.issueType]}`; message += `\n**Issue Type:** ${
message += `\nIssue Status: ${ IssueTypeName[payload.issue.issueType]
} `;
message += `\n**Issue Status:** ${
payload.issue.status === IssueStatus.OPEN ? 'Open' : 'Resolved' payload.issue.status === IssueStatus.OPEN ? 'Open' : 'Resolved'
} `; } `;
@@ -95,7 +98,9 @@ class GotifyAgent
if (applicationUrl && payload.media) { if (applicationUrl && payload.media) {
const actionUrl = `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}`; const actionUrl = `${applicationUrl}/${payload.media.mediaType}/${payload.media.tmdbId}`;
message += `\n\nOpen in ${applicationTitle}(${actionUrl})`; const displayUrl =
actionUrl.length > 40 ? `${actionUrl.slice(0, 41)}...` : actionUrl;
message += `\n\n**Open in ${applicationTitle}:** [${displayUrl}](${actionUrl}) `;
} }
return { return {