Automattic / Automattic/pocket-casts-ios

Replace DispatchQueue.Sync with Actors

Open
#1,306 2 comments 1 reaction 0 assignees View on GitHub
[Type] Tech Debt
Dominant language
Swift
Stars
1.8k
Forks
197
Avg merge
17h 20m
Merged PRs (30d)
103

Description

There are a number of places in the app that uses DispatchQueue.sync to prevent multi threaded race conditions that seem like good candidates to switch to Actors.

Example: https://github.com/Automattic/pocket-casts-ios/blob/402e8281c6668ef0cd679701057d5e21fb2b612e/podcasts/DownloadProgressManager.swift#L16

Contributor guide

Open the contributing guide

Research direction

Start with the DispatchQueue.sync usage in podcasts/DownloadProgressManager.swift at the linked example, then identify the other locations in the app that use the same pattern. Determine which usages are candidates for Actors and define completion as replacing the appropriate race-prevention patterns without regressions.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
mobile
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.