Skip to content

fix(server): honest results for idea dismissals, task updates and computer file errors - #210

Open
ayuxy027 wants to merge 3 commits into
CopilotKit:mainfrom
ayuxy027:fix/server-honest-results
Open

ayuxy027 wants to merge 3 commits into
CopilotKit:mainfrom
ayuxy027:fix/server-honest-results

Conversation

@ayuxy027

@ayuxy027 ayuxy027 commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

What was broken

Three places on the server where the result the user (or the agent) saw didn't match what actually happened:

  • Dismissing an idea. If you dismissed an idea at the same moment it was being accepted (another device, or a second tap), the server answered with nothing and the idea card failed on it. Accepting already handles this case; dismissing didn't.
  • Agent updates. When a delegated task's model said something, used a tool, then said something else, the update joined the two into one line, like "I'll make a plan.The plan is saved."
  • Computer file errors. Every failed file operation showed the same "Check the path, permissions and file size" message, even though the computer had said exactly what was wrong (for example the file was too large). And if saving a file timed out, it was reported as failed, even though the file may already have been written.

What happens now

  • A dismissal that loses that race returns the idea as it is now (accepted), the same way acceptance already does.
  • Each model step's text is kept apart with a blank line.
  • A failed file operation shows the reason the computer gave. If a file change (writing a file, writing a PDF, creating a folder) times out or is interrupted, it says the change may or may not have been saved and asks to check before trying again, instead of calling it a failure. A read that didn't finish keeps the general message, since nothing changed.

How I checked

  • Added a test for each fix. Each one fails on main and passes with the change:
    • a dismissal that reads the idea right before an acceptance lands
    • a model that speaks, makes a plan with a tool, then speaks again
    • a file over the size limit, a write that times out (including when the computer's own time limit stops it), and a read that times out
  • pnpm lint, pnpm typecheck and pnpm test pass.
  • Not tested against a live Docker or E2B computer; the file tests use the existing computer test fixture.

Each fix is a separate commit.

…tance

If an idea was accepted between the dismissal reading it and writing it, the
dismissal returned null and the idea card failed on it. Return the idea as it
is now, the same way acceptance already does.
A delegated task joined the text of every model step into one string, so an
update read like 'I'll make a plan.The plan is saved.' Separate the steps with
a blank line.
…te may have happened

Every failed file operation showed the same message, so a file over the size
limit or a non-regular file gave no reason. Show the reason the computer
reports. When a write, PDF write or new folder times out or is interrupted,
say it may or may not have been saved instead of calling it a failure.
@ayuxy027
ayuxy027 force-pushed the fix/server-honest-results branch from 282eb76 to 5fdb000 Compare October 28, 2026 16:02

This branch has not been deployed

No deployments
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