Skip to content

Commit 8d6c552

Browse files
author
Charles Hu
committed
Update review status for SF-0023 to active review
1 parent 6384a3a commit 8d6c552

File tree

1 file changed

+46
-41
lines changed

1 file changed

+46
-41
lines changed

Proposals/NNNN-progress-reporter.md renamed to Proposals/0023-progress-reporter.md

Lines changed: 46 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# `ProgressReporter`: Progress Reporting in Swift Concurrency
22

3-
* Proposal: SF-NNNN
3+
* Proposal: SF-0023
44
* Author(s): [Chloe Yeo](https://github.com/chloe-yeo)
5-
* Review Manager: TBD
6-
* Status: **Pitch**
5+
* Review Manager: [Charles Hu](https://github.com/iCharlesHu)
6+
* Status: **Review Apr. 23, 2025...Apr. 30, 2025**
7+
* Review: [Pitch](https://forums.swift.org/t/pitch-progress-reporting-in-swift-concurrency/78112/10)
8+
79

810
## Revision history
911

@@ -21,44 +23,47 @@
2123

2224
## Table of Contents
2325

24-
* [Introduction](#introduction)
25-
* [Motivation](#motivation)
26-
* [Proposed Solution and Example](#proposed-solution-and-example)
27-
* [Reporting Progress (General Operations)](#reporting-progress-general-operations)
28-
* [Reporting Progress (File-Related Operations)](#reporting-progress-file\-related-operations)
29-
* [Advantages of using `Subprogress` as Currency Type](#advantages-of-using-subprogress-as-currency-type)
30-
* [Interoperability with Existing `Progress`](#interoperability-with-existing-progress)
31-
* [Detailed Design](#detailed-design)
32-
* [`ProgressReporter`](#progressreporter)
33-
* [`ProgressReporter.Properties`](#progressreporterproperties)
34-
* [`Subprogress`](#subprogress)
35-
* [`ProgressReporter.FormatStyle`](#progressreporterformatstyle)
36-
* [`ProgressReporter.FileFormatStyle`](#progressreporterfileformatstyle)
37-
* [Interoperability with Existing `Progress`](#methods-for-interoperability-with-existing-progress)
38-
* [`ProgressReporter` \(Parent\) \- `Progress` \(Child\)](#progressreporter-parent---progress-child)
39-
* [`Progress` \(Parent\) \- `ProgressReporter` \(Child\)](#progress-parent---progressreporter-child)
40-
* [Impact on Existing Code](#impact-on-existing-code)
41-
* [Future Directions](#future-directions)
42-
* [ProgressView Overloads](#progressview-overloads)
43-
* [Distributed ProgressReporter](#distributed-progressreporter)
44-
* [Enhanced `FormatStyle`](#enhanced-formatstyle)
45-
* [Alternatives Considered](#alternatives-considered)
46-
* [Alternative Names](#alternative-names)
47-
* [Introduce `ProgressReporter` to Swift standard library](#introduce-progressreporter-to-swift-standard-library)
48-
* [Implement `ProgressReporter` as a Generic Class](#implement-progressreporter-as-a-generic-class)
49-
* [Implement `ProgressReporter` as an Actor](#implement-progressreporter-as-an-actor)
50-
* [Implement `ProgressReporter` as a Protocol](#implement-progressreporter-as-a-protocol)
51-
* [Introduce an `Observable` Adapter for `ProgressReporter`](#introduce-an-observable-adapter-for-progressreporter)
52-
* [Introduce Method to Generate Localized Description](#introduce-method-to-generate-localized-description)
53-
* [Introduce Explicit Support for Cancellation, Pausing, Resuming of `ProgressReporter`](#introduce-explicit-support-for-cancellation-pausing-and-resuming-of-progressreporter)
54-
* [Check Task Cancellation within `complete(count:)` Method](#check-task-cancellation-within-completecount-method)
55-
* [Introduce totalCount and completedCount Properties as UInt64](#introduce-totalcount-and-completedcount-properties-as-uint64)
56-
* [Store Existing `Progress` in TaskLocal Storage](#store-existing-progress-in-tasklocal-storage)
57-
* [Add Convenience Method to Existing `Progress` for Easier Instantiation of Child Progress](#add-convenience-method-to-existing-progress-for-easier-instantiation-of-child-progress)
58-
* [Allow for Assignment of `ProgressReporter` to Multiple Progress Reporter Trees](#allow-for-assignment-of-progressreporter-to-multiple-progress-reporter-trees)
59-
* [Replace Count\-based Relationships between `ProgressReporter`](#replace-countbased-relationships-between-progressreporter)
60-
* [Introduce Additional Convenience for Getting `Subprogress`](#introduce-additional-convenience-for-getting-subprogress)
61-
* [Acknowledgements](#acknowledgements)
26+
- [`ProgressReporter`: Progress Reporting in Swift Concurrency](#progressreporter-progress-reporting-in-swift-concurrency)
27+
- [Revision history](#revision-history)
28+
- [Table of Contents](#table-of-contents)
29+
- [Introduction](#introduction)
30+
- [Motivation](#motivation)
31+
- [Proposed solution and example](#proposed-solution-and-example)
32+
- [Reporting Progress (General Operations)](#reporting-progress-general-operations)
33+
- [Reporting Progress (File-Related Operations)](#reporting-progress-file-related-operations)
34+
- [Advantages of using `Subprogress` as Currency Type](#advantages-of-using-subprogress-as-currency-type)
35+
- [Interoperability with Existing `Progress`](#interoperability-with-existing-progress)
36+
- [Detailed design](#detailed-design)
37+
- [`ProgressReporter`](#progressreporter)
38+
- [`ProgressReporter.Properties`](#progressreporterproperties)
39+
- [`Subprogress`](#subprogress)
40+
- [`ProgressReporter.FormatStyle`](#progressreporterformatstyle)
41+
- [`ProgressReporter.FileFormatStyle`](#progressreporterfileformatstyle)
42+
- [Methods for Interoperability with Existing `Progress`](#methods-for-interoperability-with-existing-progress)
43+
- [ProgressReporter (Parent) - Progress (Child)](#progressreporter-parent---progress-child)
44+
- [Progress (Parent) - ProgressReporter (Child)](#progress-parent---progressreporter-child)
45+
- [Impact on existing code](#impact-on-existing-code)
46+
- [Future Directions](#future-directions)
47+
- [Additional Overloads to APIs within UI Frameworks](#additional-overloads-to-apis-within-ui-frameworks)
48+
- [Distributed `ProgressReporter`](#distributed-progressreporter)
49+
- [Enhanced `FormatStyle`](#enhanced-formatstyle)
50+
- [Alternatives considered](#alternatives-considered)
51+
- [Alternative Names](#alternative-names)
52+
- [Introduce `ProgressReporter` to Swift standard library](#introduce-progressreporter-to-swift-standard-library)
53+
- [Implement `ProgressReporter` as a Generic Class](#implement-progressreporter-as-a-generic-class)
54+
- [Implement `ProgressReporter` as an actor](#implement-progressreporter-as-an-actor)
55+
- [Implement `ProgressReporter` as a protocol](#implement-progressreporter-as-a-protocol)
56+
- [Introduce an `Observable` adapter for `ProgressReporter`](#introduce-an-observable-adapter-for-progressreporter)
57+
- [Introduce Method to Generate Localized Description](#introduce-method-to-generate-localized-description)
58+
- [Introduce Explicit Support for Cancellation, Pausing, and Resuming of `ProgressReporter`](#introduce-explicit-support-for-cancellation-pausing-and-resuming-of-progressreporter)
59+
- [Check Task Cancellation within `complete(count:)` Method](#check-task-cancellation-within-completecount-method)
60+
- [Introduce `totalCount` and `completedCount` properties as `UInt64`](#introduce-totalcount-and-completedcount-properties-as-uint64)
61+
- [Store Existing `Progress` in TaskLocal Storage](#store-existing-progress-in-tasklocal-storage)
62+
- [Add Convenience Method to Existing `Progress` for Easier Instantiation of Child Progress](#add-convenience-method-to-existing-progress-for-easier-instantiation-of-child-progress)
63+
- [Allow for Assignment of `ProgressReporter` to Multiple Progress Reporter Trees](#allow-for-assignment-of-progressreporter-to-multiple-progress-reporter-trees)
64+
- [Replace Count-based Relationships between `ProgressReporter`](#replace-count-based-relationships-between-progressreporter)
65+
- [Introduce Additional Convenience for Getting `Subprogress`](#introduce-additional-convenience-for-getting-subprogress)
66+
- [Acknowledgements](#acknowledgements)
6267

6368
## Introduction
6469

0 commit comments

Comments
 (0)