UploadState enum

What an upload is doing, for the stretches when it is doing one thing for minutes at a time.

This is the half a percentage cannot carry. 45% cannot say that the transfer finished four minutes ago and the wait is now the store's, so a reader watching a quiet minute cannot tell a healthy one from a wedged one. A consumer renders a bar while transferring and this name otherwise.

Not every member is reached by both stores, and that is the stores rather than an omission here. Play has an edit transaction and commits atomically; App Store Connect has none and every write lands as it is made. Each member below says which store reaches it, because a sentence about "the upload" is written in whichever store its author had in mind and is false about the other — docs/CONTRIBUTING.md has that as a rule.

Closed, with no unknown member, for UploadEvent's reason: these are this package's names, not a store's.

Inheritance
Available extensions
Annotations
  • @JsonEnum.new(valueField: 'wire')

Values

preparing → const UploadState

Getting ready to send, before any byte moves.

Both stores, and it is a different piece of work in each. Play inserts an edit and lists the bundles the app already has; the App Store resolves the bundle id to an app record and asks whether Apple already holds this build number.

const UploadState('preparing')
transferring → const UploadState

Bytes are moving to the store.

Both stores, and the event carrying it carries bytesTotal on both — so a consumer can say how big even where it cannot say how far.

const UploadState('transferring')
reusing → const UploadState

The store already holds this artifact, so nothing is transferred.

Both stores. Play answers a re-uploaded versionCode with a bare 403 and the App Store answers a re-uploaded CFBundleVersion with ITMS-90189, so both uploaders look first and reuse what is there — which is what makes a re-run after a partial release the same command typed again. Reached instead of transferring, never after it.

const UploadState('reusing')
accepting → const UploadState

Every byte is with the store and it has not yet answered.

Play only. The last chunk of a resumable upload is the one Play answers with the Bundle — the versionCode it read out of the artifact — and it validates the bundle before doing so. That is a wait with no bytes left to count, which is precisely the stretch a percentage misreports as finished.

The App Store has no equivalent: xcrun altool transfers and validates inside one opaque run, so there is no point at which this package knows the transfer is over and the wait has begun.

const UploadState('accepting')
processing → const UploadState

The store is processing the artifact, and this is the long one.

App Store only. Apple takes 5–15 minutes to process a build and nothing can be attached to it until that finishes, so upload polls. This is the state a run spends most of its wall clock in and the one a reader most needs named — an upload that has been quiet for six minutes here is behaving exactly as designed.

Play has no equivalent: a committed edit is live.

const UploadState('processing')
committing → const UploadState

The transaction is being applied.

Play only, and this is the moment the release becomes real: an edit holds the bundle, the track assignment and any listing writes, and commit applies all of it or none of it. The App Store has no edit to commit — every write there has already landed as it was made.

const UploadState('committing')

Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
name String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
wire String
The value carried in the line's state field.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

values → const List<UploadState>
A constant List of the values in this enum, in order of their declaration.