diff --git a/demo/index.html b/demo/index.html index c67307d9..5a69c090 100644 --- a/demo/index.html +++ b/demo/index.html @@ -420,7 +420,6 @@
' + shortId + ' · 点击开始新会话 · 下一条 Claude 指令将自动延续本会话');
@@ -1513,24 +1511,10 @@ function sendClaudeRequest(prompt) {
// ── Start a fresh Claude Code session ──
function newClaudeSession() {
claudeSessionId = null;
- updateSessionBadge();
appendEntry('info', '🆕 已开始新会话 — 下一条 Claude 指令将创建全新对话');
showToast('Claude 会话已重置', 'ok');
}
-// ── Update session badge in sidebar ──
-function updateSessionBadge() {
- var badge = document.getElementById('session-badge');
- if (badge) {
- if (claudeSessionId) {
- badge.style.display = 'inline';
- badge.textContent = '● 会话中';
- } else {
- badge.style.display = 'none';
- }
- }
-}
-
// ── Reset after execution ──
function resetExecState() {
isRunning = false;
diff --git a/workflows/01-community-ops.ps1 b/workflows/01-community-ops.ps1
index 4ced467f..4a968ed1 100644
--- a/workflows/01-community-ops.ps1
+++ b/workflows/01-community-ops.ps1
@@ -101,7 +101,7 @@ if ($prsJson) {
$prData = ($prsJson | ConvertFrom-Json).data
$prs = if ($prData.issues) { @($prData.issues) } elseif ($prData.pulls) { @($prData.pulls) } elseif ($prData -is [array]) { @($prData) } else { @() }
foreach ($pr in $prs) {
- $prTitle = if ($pr.subject) { $pr.subject } elseif ($pr.title) { $pr.title } else { "N/A" }
+ $prTitle = if ($pr.name) { $pr.name } elseif ($pr.subject) { $pr.subject } elseif ($pr.title) { $pr.title } else { "N/A" }
$prNum = if ($pr.pull_request_number) { $pr.pull_request_number } elseif ($pr.number) { $pr.number } else { "?" }
$prAuthor = if ($pr.author_login) { $pr.author_login } elseif ($pr.author.login) { $pr.author.login } else { "?" }
$prItems += "- $prTitle (#$prNum) (@$prAuthor)"
@@ -122,6 +122,9 @@ $docLines = @()
$otherLines = @()
$issContributors = @{}
$issCount = 0
+# Dedupe by issue index: the same issue can be returned by both the open
+# and closed state queries, which would otherwise double-count it.
+$seenIssues = @{}
$today = (Get-Date -Format "yyyy-MM-dd")
$yesterday = ((Get-Date).AddDays(-1)).ToString("yyyy-MM-dd")
@@ -133,6 +136,8 @@ foreach ($state in @("open","closed")) {
$issues = if ($issData.issues) { @($issData.issues) } elseif ($issData -is [array]) { @($issData) } else { @() }
foreach ($iss in $issues) {
$num = if ($iss.project_issues_index) { $iss.project_issues_index } elseif ($iss.number) { $iss.number } else { "?" }
+ if ($num -ne "?" -and $seenIssues.ContainsKey($num)) { continue }
+ if ($num -ne "?") { $seenIssues[$num] = $true }
$title = if ($iss.subject) { $iss.subject } elseif ($iss.title) { $iss.title } else { "N/A" }
$desc = if ($iss.description) { $iss.description } else { "" }
$author = if ($iss.author.login) { $iss.author.login } elseif ($iss.author.username) { $iss.author.username } else { "?" }
diff --git a/workflows/01-community-ops.sh b/workflows/01-community-ops.sh
index d779295c..3dfd5e91 100644
--- a/workflows/01-community-ops.sh
+++ b/workflows/01-community-ops.sh
@@ -94,7 +94,7 @@ PR_CONTRIBUTORS=""
PR_TMP=$(mktemp)
PRS_JSON=$(gl_run pr +list --owner "$OWNER" --repo "$REPO" --state merged --limit 100 2>/dev/null || true)
if [[ -n "$PRS_JSON" ]]; then
- echo "$PRS_JSON" | jq -r '(.data.issues // .data.pulls // .data // [])[]? | "\(.subject // .title // "N/A")\t\(.pull_request_number // .number // .id)\t\(.author_login // .author.login // "?")"' 2>/dev/null > "$PR_TMP" || true
+ echo "$PRS_JSON" | jq -r '(.data.issues // .data.pulls // .data // [])[]? | "\(.name // .subject // .title // "N/A")\t\(.pull_request_number // .number // .id)\t\(.author_login // .author.login // "?")"' 2>/dev/null > "$PR_TMP" || true
while IFS=$'\t' read -r pr_title pr_num pr_author || [[ -n "$pr_title" ]]; do
PR_ITEMS+="- ${pr_title} (#${pr_num}) (@${pr_author})"$'\n'
PR_CONTRIBUTORS+="@${pr_author} "