Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Futures / Promise based API client in favor of async client #4757

Merged
merged 2 commits into from
Apr 8, 2025

Conversation

mats-stripe
Copy link
Collaborator

@mats-stripe mats-stripe commented Mar 31, 2025

Context: https://docs.google.com/document/d/1q8sSaEKv0AO_RXwpgbhtAkGL77NadeMf-Ab-UJuNa5U/edit?usp=sharing

Summary

This removes the FinancialConnectionsAPIClient (Futures / Promise based) in favor of the FinancialConnectionsAsyncAPIClient. Here's where this leaves us:

  • Our only API client is powered by Swift Concurrency.
  • The API client conforms to the Futures / Promise based protocol.
  • All call sites (view controllers / data sources) interface with a Futures / Promise based API, as they already do today.

With that:

  • We only maintain one API client going forward.
  • We can still migrate all call sites to a Swift Concurrency based API if we chose to.

Motivation

Cleanup our in progress migration to Swift Concurrency.

Testing

All of our E2E test have already been using the Async API client! I also added more tests for the async poller in this PR.

Changelog

N/a

@mats-stripe mats-stripe changed the title Removed Futures / Promise based API client in favor of async client Remove Futures / Promise based API client in favor of async client Mar 31, 2025
@mats-stripe mats-stripe force-pushed the mats/remove_futures_based_api_client branch from 4ca6821 to 42fc084 Compare March 31, 2025 19:48
Copy link

github-actions bot commented Mar 31, 2025

🚨 New dead code detected in this PR:

APIPollingHelper.swift:11 warning: Class 'APIPollingHelper' is unused

Please remove the dead code before merging.

If this is intentional, you can bypass this check by adding the label skip dead code check to this PR.

ℹ️ If this comment appears to be left in error, double check that the flagged code is actually used and/or make sure your branch is up-to-date with master.

@mats-stripe mats-stripe force-pushed the mats/remove_futures_based_api_client branch 2 times, most recently from 7c5773e to 50ca8b0 Compare April 1, 2025 14:37
@mats-stripe mats-stripe force-pushed the mats/remove_futures_based_api_client branch from 50ca8b0 to c48e867 Compare April 4, 2025 15:46
@mats-stripe mats-stripe marked this pull request as ready for review April 4, 2025 19:02
@mats-stripe mats-stripe requested review from a team as code owners April 4, 2025 19:02
@mats-stripe mats-stripe merged commit 690550a into master Apr 8, 2025
6 checks passed
@mats-stripe mats-stripe deleted the mats/remove_futures_based_api_client branch April 8, 2025 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants