Skip to content

Bring in focused upstream UI and UX improvements - #25

Merged
Clondin merged 1 commit into
mainfrom
integration/upstream-ui-2026-08-23
Aug 23, 2026
Merged

Bring in focused upstream UI and UX improvements#25
Clondin merged 1 commit into
mainfrom
integration/upstream-ui-2026-08-23

Conversation

@Clondin

@Clondin Clondin commented Aug 23, 2026

Copy link
Copy Markdown
Owner

What this adds

Safety

  • skill tool requirements are declarations, never grants
  • unknown new tool refs are refused; existing declarations survive a connector disappearing
  • MCP grants, policy, approvals, and audit remain authoritative
  • no computer/video files are changed

Database

  • adds skill_tools through migration 0012_dusty_wraith.sql and its reviewed Drizzle snapshot

Validation

  • 80 app tests passed
  • focused theme/thread/skill tests passed
  • full typecheck passed
  • production build passed
  • full lint passed (existing warnings only)
  • supply-chain policy passed
  • React accessibility/performance checklist passed
  • the database integration test is included for CI's disposable PostgreSQL database; local execution was skipped because no isolated local PostgreSQL service was running

@vercel

vercel Bot commented Aug 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openbot Ready Ready Preview Aug 23, 2026 7:18pm

@Clondin
Clondin merged commit fdb7be0 into main Aug 23, 2026
16 checks passed

@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: 4b461f6770

ℹ️ 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".

Comment on lines +787 to +791
await database
.delete(skillTools)
.where(eq(skillTools.skillId, input.slug));
if (declared.length > 0) {
await database.insert(skillTools).values(

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 Replace skill-tool declarations atomically

When two clients save the same skill concurrently—for example, an admin tab and the personal skill editor—the separate delete and insert operations can interleave: disjoint saves leave a union of both tool lists, while overlapping saves can hit the composite primary key and return an error after the skill text was already updated. Run the skill upsert and declaration replacement in one transaction so each save produces one consistent last-writer-wins state.

Useful? React with 👍 / 👎.

Comment on lines 218 to 223
<CopilotChat
agentId={agentId}
chatView={BotChatView}
key={agentId}
key={`${agentId}:${threadId}`}
messageView={{ cursor: BotThinkingCursor }}
threadId={threadId}

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 Reset the stopped-turn banner with the chat thread

When the previous conversation ended with a run error, starting a new chat remounts only CopilotChat; useStoppedTurn(agentId) remains mounted and retains the prior thread's error until the first run in the new thread begins. Consequently, the new empty conversation initially displays an alert describing a failure that occurred in a different conversation, so the stopped state should be cleared or keyed by threadId when the new thread is selected.

Useful? React with 👍 / 👎.

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.

1 participant