mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-17 07:33:27 +08:00
fix(ck): address Greptile + CodeRabbit review bugs
- Fix read-after-write in session-start.mjs: read prevSession BEFORE
overwriting current-session.json so unsaved-session detection fires
- Fix shell injection in resume.mjs: replace execSync shell string with
fs.existsSync for directory existence check
- Fix shell injection in shared.mjs gitSummary: replace nested \$(git ...)
subshell with a separate runGit() call to get rev count
- Fix displayName never shown: render functions now use ctx.displayName
?? ctx.name so user-supplied names show instead of the slug
- Fix renderListTable: uses context.displayName ?? entry.name
- Fix init.mjs: use path.basename() instead of cwd.split('/').pop()
- Fix save.mjs confirmation: show original name, not contextDir slug
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -86,6 +86,9 @@ function main() {
|
||||
const projects = readJson(PROJECTS_FILE) || {};
|
||||
const entry = projects[cwd];
|
||||
|
||||
// Read previous session BEFORE overwriting current-session.json
|
||||
const prevSession = readJson(CURRENT_SESSION);
|
||||
|
||||
// Write current-session.json
|
||||
try {
|
||||
writeFileSync(CURRENT_SESSION, JSON.stringify({
|
||||
@@ -108,17 +111,17 @@ function main() {
|
||||
const latest = context.sessions?.[context.sessions.length - 1] || {};
|
||||
const sessionDate = latest.date || context.createdAt;
|
||||
const sessionCount = context.sessions?.length || 0;
|
||||
const displayName = context.displayName ?? context.name;
|
||||
|
||||
// ── Compact summary block (~100 tokens) ──────────────────────────────
|
||||
const summaryLines = [
|
||||
`ck: ${context.name} | ${daysAgo(sessionDate)} | ${sessionCount} session${sessionCount !== 1 ? 's' : ''}`,
|
||||
`ck: ${displayName} | ${daysAgo(sessionDate)} | ${sessionCount} session${sessionCount !== 1 ? 's' : ''}`,
|
||||
`Goal: ${context.goal || '—'}`,
|
||||
latest.leftOff ? `Left off: ${latest.leftOff.split('\n')[0]}` : null,
|
||||
latest.nextSteps?.length ? `Next: ${latest.nextSteps.slice(0, 2).join(' · ')}` : null,
|
||||
].filter(Boolean);
|
||||
|
||||
// ── Unsaved session detection ─────────────────────────────────────────
|
||||
const prevSession = readJson(CURRENT_SESSION);
|
||||
if (prevSession?.sessionId && prevSession.sessionId !== sessionId) {
|
||||
// Check if previous session ID exists in sessions array
|
||||
const alreadySaved = context.sessions?.some(s => s.id === prevSession.sessionId);
|
||||
@@ -141,7 +144,7 @@ function main() {
|
||||
|
||||
parts.push([
|
||||
`---`,
|
||||
`## ck: ${context.name}`,
|
||||
`## ck: ${displayName}`,
|
||||
``,
|
||||
summaryLines.join('\n'),
|
||||
].join('\n'));
|
||||
|
||||
Reference in New Issue
Block a user