Try implementing running block on main thread using NSBlockOperation
Seems preferable to me to private -invoke API
Handle operations which complete without being at the start of the queue
Move towards "invalidated" as terminology
Cancelling the whole queue does the job
Expose the enqueued file operations
Cancel in a very boring manner
Protect against ops in the queue which have already started
Changed my mind; don't expose -isCancelled after all
OK, uploader itself can't reach a "cancelled" state
Handle there being no completion handler
Handle operation not being in the queue
There's no point handing cancellation errors to the delegate to decide over
Cancellation doesn't count as an error to display
Gah, got my boolean logic a bit wrong
Complete with error doesn't count as finished
Publish CKUploader.baseRequest
Apply custom HTTP headers to outgoing requests from uploader
Handle removing username from URL
Update protocol auth to be block-based too
Remove old auth challenge trampoline