uber / uber/RIBs

[iOS] Replace RxSwift Variable with BehaviorRelay

Open
#287 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement iOS
Dominant language
Kotlin
Stars
7.9k
Forks
914
PR merge metrics
No merged PRs in 30d

Description

From RxSwift 4.0, Variable is marked as DEPRECATED and will be removed soon. We should update LeadDetector to using BehaviorRelay. Currently, you will receive its warning when you launch your app.

Caused BehaviorRelay is a part of RxCocoa, we have to add RxCocoa as a dependency in podspec. Another option is only to pull BehaviorRelay's code from RxSwift source and add it to current Uber RIBs.
I voted for option 2 because current BehaviorRelay code is simple and seem not to change in the future.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with LeadDetector and the podspec. Check how Variable is declared and used, then review the issue's two proposed BehaviorRelay dependency approaches before choosing the project's accepted direction. Done means the deprecated Variable warning is gone and LeadDetector retains its existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
mobile
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.