feat(sharing): add actionable migration review#1340
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 15e3d06a09
ℹ️ 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".
15e3d06 to
38d91a1
Compare
26de7aa to
324386e
Compare
38d91a1 to
8ed7b45
Compare
324386e to
170e812
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8ed7b454ac
ℹ️ 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".
170e812 to
c4073cb
Compare
8ed7b45 to
623fcf8
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 623fcf891b
ℹ️ 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".
| pendingReviewItems.delete(item.reviewItemId); | ||
| await onRefresh(); | ||
| } catch (error) { | ||
| if (error instanceof api.RecipientPolicyReviewStaleError) { |
There was a problem hiding this comment.
Refresh when resolved item disappears
When a review card is rendered and another tab/sync change removes that source condition before the user clicks Apply, the resolve route returns status: "not_found"/404 rather than the typed stale 409 because the item no longer exists. This catch only refreshes for RecipientPolicyReviewStaleError, so the 404 falls through to a generic error and leaves the now-invalid card visible and retryable until the user manually refreshes the Projects tab; refresh (or expose/handle the structured result) for this stale-disappearance case as well.
Useful? React with 👍 / 👎.
Merge activity
|
623fcf8 to
f3eae47
Compare

Description
Adds actionable, durable recipient-policy migration review on top of the read-only legacy projection.
Type of Change
Testing
pnpm run tsc,pnpm run lint,pnpm run test)Additional checks:
pnpm --filter @codemem/ui buildpnpm run check: 2844 passed, 3 todoChecklist
pnpm run lintpasses for touched files)