Clean up LRC state logs for shared sessions#12237
Conversation
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR removes some misleading LRC interaction-state apply logs and avoids applying shared-session LRC state when it already matches local state.
Concerns
- The new sharer-side context-update log dumps the full
UniversalDeveloperInputContextUpdate, which can include selected conversation/server tokens and other shared-session state in client logs. - The new
agent_has_control=truewarning fires during the normal handoff path, so it turns expected behavior into warning-level noise.
Security
- Avoid logging full shared-session context updates; log only non-sensitive field names or redact token-bearing fields.
Verdict
Found: 0 critical, 2 important, 0 suggestions
Request changes
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
| sharer_info!( | ||
| self, | ||
| "sending universal developer input context update: {update:?}" | ||
| ); |
There was a problem hiding this comment.
UniversalDeveloperInputContextUpdate can expose selected conversation/server tokens and shared-session state in client logs. Log only non-sensitive fields, such as which update fields are present, or redact token-bearing fields before emitting this.
There was a problem hiding this comment.
Nothing in here is sensitive
Description
The
emit_long_running_command_agent_interaction_state_changedlog was emitted even if we never actually sent an event over the shared session network. The network caches the previous state and avoids sending if nothing changed.The
UniversalDeveloperInputContextUpdated: applying LRC interaction_statelog was emitted followed by an error log if we tried to apply a state that already matched our current state.Clean up the log so only emitted when something changes, since it misled me when debugging some runs