Skip to content

PR_26171_041 polish Idea Board production behavior#17

Merged
ToolboxAid merged 2 commits into
mainfrom
codex/pr-26171-041-idea-board-production-polish
Jun 20, 2026
Merged

PR_26171_041 polish Idea Board production behavior#17
ToolboxAid merged 2 commits into
mainfrom
codex/pr-26171-041-idea-board-production-polish

Conversation

@ToolboxAid

@ToolboxAid ToolboxAid commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Moves Create Project into Ready idea row actions and transitions Ready ideas into Project rows with Open Project and Archive actions.
  • Adds Archived status, hidden-by-default status filtering, Restore/Delete archived behavior, and deletion guards for Project rows.
  • Cleans creator-facing copy, including safe Tool Display Mode navigation error text, and moves the chevron to the left of the idea text.

Validation

  • PASS: node --check toolbox/idea-board/index.js
  • PASS: node --check assets/theme-v2/js/tool-display-mode.js
  • PASS: node --check src/shared/toolbox/tool-metadata-inventory.js
  • PASS: node --check tests/playwright/tools/IdeaBoardTableNotes.spec.mjs
  • PASS: node --check tests/playwright/tools/ToolboxRoutePages.spec.mjs
  • PASS: npx playwright test tests/playwright/tools/IdeaBoardTableNotes.spec.mjs --project=playwright --workers=1 --reporter=line --timeout=90000
  • PASS: npx playwright test tests/playwright/tools/ToolboxRoutePages.spec.mjs --project=playwright --workers=1 --reporter=line -g "Idea Board launches" --timeout=90000
  • PASS: npm run test:workspace-v2
  • PASS: git diff --check
  • PASS: Re-ran the same syntax, targeted Idea Board Playwright, focused Toolbox route Playwright, workspace-v2, and whitespace validation after merging origin/main and resolving report-only conflicts.
  • PASS/WARN: Playwright V8 coverage reports generated; browser coverage exercised toolbox/idea-board/index.js and assets/theme-v2/js/tool-display-mode.js, while src/shared/toolbox/tool-metadata-inventory.js is advisory WARN as not browser-collected.

Artifact

  • tmp/PR_26171_041-idea-board-production-polish_delta.zip
  • Size: 50919 bytes
  • Contents: Idea Board runtime/page/tests, Theme V2 table/dropdown styling, safe Tool Display Mode copy, Toolbox metadata copy, required reports, and coverage reports.

…ea-board-production-polish

# Conflicts:
#	docs_build/dev/reports/codex_changed_files.txt
#	docs_build/dev/reports/codex_review.diff

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ca626873a4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

actionButton("Delete", "delete", "ideaBoardIdeaAction"),
);
} else {
actions.append(actionButton("Edit", "edit", "ideaBoardIdeaAction"));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Lock project status before allowing deletion

Project rows still expose the unrestricted Edit flow, so after promoting an idea a user can click Edit, change the status from Project back to Ready/New, save, and the Delete button returns; that bypasses the new archive-before-delete protection because canDeleteIdea only checks the row’s current status. Preserve a project marker or block demoting Project rows through this edit path so created projects cannot be deleted without archiving first.

Useful? React with 👍 / 👎.

updateStatus(root, "Idea Board could not open that project.");
return;
}
updateStatus(root, `Opening ${record.idea}.`);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Implement Open Project instead of status-only feedback

When a user promotes a Ready idea and clicks the new primary Open Project action, this path only changes the status message and never navigates to a project workspace, selects an existing project, or opens any created project record, leaving the production row action as a dead end while telling the user it is opening. Wire this action to the actual project-open flow or avoid presenting it as an executable Open Project action.

Useful? React with 👍 / 👎.

if (record.status !== "Archived") record.previousStatus = record.status;
record.status = "Archived";
record.updated = today();
if (!state.visibleStatuses.has("Archived") && state.expandedIdeaId === ideaId) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Clear note editors when archiving visible rows

When the Archived filter is enabled and an expanded project is archived, this condition leaves the row expanded; the existing expanded-notes renderer still shows Add Note plus note Edit/Delete controls, so an archived project can continue to be modified. Collapse the row and clear note edit/add state when archiving, or suppress note controls for archived rows.

Useful? React with 👍 / 👎.

@ToolboxAid ToolboxAid merged commit 0c35f32 into main Jun 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants