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,16 +74,18 @@ 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'
}`; } `;
if (type == Notification.ISSUE_CREATED) { if (type == Notification.ISSUE_CREATED) {
priority = 1; priority = 1;
@@ -90,12 +93,14 @@ class GotifyAgent
} }
for (const extra of payload.extra ?? []) { for (const extra of payload.extra ?? []) {
message += `\n\n**${extra.name}**\n${extra.value}`; message += `\n\n**${extra.name}**\n${extra.value} `;
} }
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 {