Add item emoji selection#92
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b310abf440
ℹ️ 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".
| emoji: selectedEmoji ?? EmojiPicker.emoji(for: item.id), | ||
| isPendingAiEmoji: selectedEmoji == initialEmoji ? initialIsPendingAiEmoji : false |
There was a problem hiding this comment.
Avoid overwriting server-updated emoji on save
saveEdits always sends emoji/isPendingAiEmoji from the sheet’s initial local state, so saving unrelated fields can clobber newer values that arrived after the form loaded (e.g., the async AI emoji update or a collaborator’s CloudKit edit). In that case, this call rewrites the item back to the stale fallback emoji and can set isPendingAiEmoji back to true, effectively undoing a completed update. Before this commit, edit-save did not touch these fields, so this is a regression in concurrent-update scenarios.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f72e6ef3c
ℹ️ 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".
| "@executable_path/Frameworks", | ||
| ); | ||
| MARKETING_VERSION = 1.0.7; | ||
| MARKETING_VERSION = 1.0.8; |
There was a problem hiding this comment.
Revert unintended app-version bump in project settings
This commit’s project settings move the app from the existing 1.0.7 train to 1.0.8 (and also advance build numbers), which changes release routing for TestFlight/App Store and can block the intended upload path that still expects 1.0.7 metadata. Because this PR is feature-scoped to emoji selection, carrying a marketing-version jump here is an operational regression and should be split out or reverted.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0c0b637f3a
ℹ️ 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".
| let savedIsPendingAiEmoji = didChangeEmoji | ||
| ? false | ||
| : item.isPendingAiEmoji |
There was a problem hiding this comment.
Prevent in-flight AI task from overwriting manual emoji
Setting isPendingAiEmoji to false here does not stop an already-started enhancement task from AppStore.createItem, so a user who manually picks an emoji shortly after creating an item can still have it overwritten when the async suggestion finishes. In EmojiAssignmentCoordinator.applyEmoji, the suggested emoji is written whenever it differs, regardless of the pending flag, so this new manual-selection flow regresses to nondeterministic final emoji under normal latency. Add cancellation or a pending/manual guard before applying the async result.
Useful? React with 👍 / 👎.
Summary
Validation
Release Notes