iOS/watch: add actionable watch approvals and quick replies#21996
Merged
iOS/watch: add actionable watch approvals and quick replies#21996
Conversation
| } catch { | ||
| self.watchReplyLogger.error( | ||
| "watch reply forwarding failed replyId=\(event.replyId, privacy: .public) error=\(error.localizedDescription, privacy: .public)") | ||
| self.queuedWatchReplies.insert(event, at: 0) |
Contributor
There was a problem hiding this comment.
retry re-queues failed reply at front, but seenWatchReplyIds prevents re-processing
the retry logic inserts failed events at index 0, but the replyId remains in seenWatchReplyIds from the initial attempt, causing retries to be silently dropped in handleWatchQuickReply (line 2275-2279)
Suggested change
| self.queuedWatchReplies.insert(event, at: 0) | |
| self.seenWatchReplyIds.remove(event.replyId) | |
| self.queuedWatchReplies.insert(event, at: 0) |
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/ios/Sources/Model/NodeAppModel.swift
Line: 2324
Comment:
retry re-queues failed reply at front, but `seenWatchReplyIds` prevents re-processing
the retry logic inserts failed events at index 0, but the `replyId` remains in `seenWatchReplyIds` from the initial attempt, causing retries to be silently dropped in `handleWatchQuickReply` (line 2275-2279)
```suggestion
self.seenWatchReplyIds.remove(event.replyId)
self.queuedWatchReplies.insert(event, at: 0)
```
How can I resolve this? If you propose a fix, please make it concise.
mbelinky
added a commit
that referenced
this pull request
Feb 20, 2026
7665985 to
ebe1ee6
Compare
ebe1ee6 to
3c2a01f
Compare
Contributor
Author
6 tasks
hughdidit
pushed a commit
to hughdidit/DAISy-Agency
that referenced
this pull request
Mar 1, 2026
…#21996) Merged via /review-pr -> /prepare-pr -> /merge-pr. Prepared head SHA: 3c2a01f Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com> Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com> Reviewed-by: @mbelinky (cherry picked from commit 738b011) # Conflicts: # CHANGELOG.md # apps/ios/Sources/Model/NodeAppModel.swift # apps/ios/Sources/Services/NodeServiceProtocols.swift # apps/ios/Sources/Services/WatchMessagingService.swift # apps/ios/Tests/NodeAppModelInvokeTests.swift # apps/ios/WatchExtension/Sources/OpenClawWatchApp.swift # apps/ios/WatchExtension/Sources/WatchInboxStore.swift # apps/ios/WatchExtension/Sources/WatchInboxView.swift # apps/shared/OpenClawKit/Sources/OpenClawKit/WatchCommands.swift
hughdidit
pushed a commit
to hughdidit/DAISy-Agency
that referenced
this pull request
Mar 3, 2026
…#21996) Merged via /review-pr -> /prepare-pr -> /merge-pr. Prepared head SHA: 3c2a01f Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com> Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com> Reviewed-by: @mbelinky (cherry picked from commit 738b011) # Conflicts: # CHANGELOG.md # apps/ios/Sources/Model/NodeAppModel.swift # apps/ios/Sources/Services/NodeServiceProtocols.swift # apps/ios/Sources/Services/WatchMessagingService.swift # apps/ios/Tests/NodeAppModelInvokeTests.swift # apps/ios/WatchExtension/Sources/OpenClawWatchApp.swift # apps/ios/WatchExtension/Sources/WatchInboxStore.swift # apps/ios/WatchExtension/Sources/WatchInboxView.swift # apps/shared/OpenClawKit/Sources/OpenClawKit/WatchCommands.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Describe the problem and fix in 2–5 bullets:
Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
List user-visible changes (including defaults/config).
If none, write
None.Security Impact (required)
Yes/No)Yes/No)Yes/No)Yes/No)Yes/No)Yes, explain risk + mitigation:Repro + Verification
Environment
Steps
Expected
Actual
Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
Compatibility / Migration
Yes/No)Yes/No)Yes/No)Failure Recovery (if this breaks)
Risks and Mitigations
List only real risks for this PR. Add/remove entries as needed. If none, write
None.Greptile Summary
added actionable watch approvals and quick replies to iOS/watchOS apps
Major changes:
OpenClawWatchNotifyParamswith prompt metadata (promptId,sessionKey,kind,details,expiresAtMs,risk,actions)Issues found:
Confidence Score: 3/5
apps/ios/Sources/Model/NodeAppModel.swift:2324for the retry deduplication fixLast reviewed commit: 7665985