# TODO: Review Follow-Ups

Created: `2026-03-30 03:00` local time

## Release blockers

- [P1] Ignore historical rejected versions when picking the default version
  - File: `src/managers/asc/ASCReleaseManager.swift:29-34`
  - Problem: `selectedVersion` can prefer an older rejected/editable version over the newer live/current version.
  - Impact: Overview, Store Listing, Screenshots, and Review can open against the wrong version by default, and later reads/writes can target the stale rejected release until the user manually switches versions.

- [P1] Ignore historical rejected versions when blocking new updates
  - File: `src/managers/asc/ASCReleaseManager.swift:21-22`
  - Problem: `currentUpdateVersion` treats any historical non-live/non-removed version as an in-flight update.
  - Impact: Apps that already shipped a newer live version after an older rejection can be incorrectly blocked from creating the next update.

- [P1] Drop reviewer details from sync payload when sharing is disabled
  - File: `src/services/appwall/AppWallSyncDataBuilder.swift:144-151`
  - Problem: the sync payload still uploads `rejectionReasons`, `reviewerMessage`, and `guidelineIds` when the user disables reviewer-feedback sharing, and only flips `isPublic` to `false`.
  - Impact: sensitive reviewer feedback is still uploaded to the App Wall backend, so the opt-out is not actually honored.

- [P2] Map submission history entries to their actual ASC state
  - File: `src/managers/asc/ASCSubmissionHistoryManager.swift:17-22`
  - Problem: each `ASCReviewSubmission` is currently recorded as `.submitted` regardless of whether ASC says it is `IN_REVIEW`, `ACCEPTED`, `PROCESSING`, or already live.
  - Impact: for apps without an Iris rejection cycle, the Overview submission timeline collapses to repeated `Submitted` rows and loses lifecycle accuracy.

## Suggested order

1. Fix the two `ASCReleaseManager` regressions first, since they affect core version selection and update creation behavior.
2. Fix reviewer-feedback opt-out so disabled sharing truly prevents upload of reviewer details.
3. Restore submission-history state mapping so the lifecycle timeline reflects ASC state transitions again.
