Skip to content

Commit afa4f9c

Browse files
committed
fix: correct formatting of metadata sections in discussions and comments
also noting pinned discussions
1 parent 2024175 commit afa4f9c

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

scripts/copy-discussions.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ async function createDiscussion(octokit, repositoryId, categoryId, title, body,
637637
}
638638

639639
// Add metadata
640-
enhancedBody += `\n\n---\n<details>\n<summary><i>Original discussion metadata</i></summary>\n\n_Original discussion by @${sourceAuthor} on ${sourceCreated}_\n_Source: ${sourceUrl}_\n${locked ? '\n_🔒 This discussion was locked in the source repository_' : ''}\n</details>`;
640+
enhancedBody += `\n---\n<details>\n<summary><i>Original discussion metadata</i></summary>\n\n_Original discussion by @${sourceAuthor} on ${sourceCreated}_\n_Source: ${sourceUrl}_\n${locked ? '\n_🔒 This discussion was locked in the source repository_' : ''}\n</details>`;
641641

642642
log(`Creating discussion: '${title}'`);
643643

@@ -706,7 +706,7 @@ async function addDiscussionComment(octokit, discussionId, body, originalAuthor,
706706
enhancedBody += reactionsMarkdown;
707707
}
708708

709-
enhancedBody += `\n\n---\n<details>\n<summary><i>Original comment metadata</i></summary>\n\n_Original comment by @${originalAuthor} on ${originalCreated}_\n</details>`;
709+
enhancedBody += `\n---\n<details>\n<summary><i>Original comment metadata</i></summary>\n\n_Original comment by @${originalAuthor} on ${originalCreated}_\n</details>`;
710710

711711
log("Adding comment to discussion");
712712

@@ -736,7 +736,7 @@ async function addDiscussionCommentReply(octokit, discussionId, replyToId, body,
736736
enhancedBody += reactionsMarkdown;
737737
}
738738

739-
enhancedBody += `\n\n---\n_Original reply by @${originalAuthor} on ${originalCreated}_`;
739+
enhancedBody += `\n---\n_Original reply by @${originalAuthor} on ${originalCreated}_`;
740740

741741
log(`Adding reply to comment ${replyToId}`);
742742

@@ -883,6 +883,10 @@ async function processDiscussionsPage(sourceOctokit, targetOctokit, owner, repo,
883883

884884
const discussions = response.repository.discussions.nodes;
885885
const pageInfo = response.repository.discussions.pageInfo;
886+
const pinnedDiscussions = response.repository.pinnedDiscussions.nodes || [];
887+
888+
// Create a set of pinned discussion IDs for quick lookup
889+
const pinnedDiscussionIds = new Set(pinnedDiscussions.map(p => p.discussion.id));
886890

887891
log(`Found ${discussions.length} discussions to process on this page`);
888892

@@ -904,6 +908,9 @@ async function processDiscussionsPage(sourceOctokit, targetOctokit, owner, repo,
904908
continue;
905909
}
906910

911+
// Check if discussion is pinned
912+
const isPinned = pinnedDiscussionIds.has(discussion.id);
913+
907914
// Create discussion
908915
try {
909916
const newDiscussion = await createDiscussion(
@@ -917,7 +924,7 @@ async function processDiscussionsPage(sourceOctokit, targetOctokit, owner, repo,
917924
discussion.createdAt,
918925
discussion.poll || null,
919926
discussion.locked || false,
920-
discussion.isPinned || false,
927+
isPinned,
921928
discussion.reactionGroups || []
922929
);
923930

@@ -931,7 +938,7 @@ async function processDiscussionsPage(sourceOctokit, targetOctokit, owner, repo,
931938
if (discussion.locked) {
932939
log(` 🔒 Discussion was locked in source and has been locked in target`);
933940
}
934-
if (discussion.isPinned) {
941+
if (isPinned) {
935942
log(` 📌 Discussion was pinned in source (indicator added to body)`);
936943
}
937944
const totalReactions = discussion.reactionGroups?.reduce((sum, group) => sum + (group.users.totalCount || 0), 0) || 0;

0 commit comments

Comments
 (0)