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

Link v3: Reintroduce bindings and data models #4153

Draft
wants to merge 1 commit into
base: relink/assets-and-button
Choose a base branch
from

Conversation

davidme-stripe
Copy link
Contributor

Summary

Re-introduce Link data models and bindings.

Motivation

Enable Link v3, prepare for View Controllers.

Testing

Existing tests, will be exercised in VCs.

Changelog

None

Copy link

github-actions bot commented Oct 17, 2024

🚨 New dead code detected in this PR:

String+Localized.swift:76 warning: Property 'update_card' is unused
PaymentSheetLinkAccount.swift:61 warning: Property 'redactedPhoneNumber' is unused
PaymentSheetLinkAccount.swift:156 warning: Function 'startVerification(completion:)' is unused
PaymentSheetLinkAccount.swift:191 warning: Function 'verify(with:completion:)' is unused
PaymentSheetLinkAccount.swift:223 warning: Function 'createLinkAccountSession(completion:)' is unused
PaymentSheetLinkAccount.swift:268 warning: Function 'createPaymentDetails(linkedAccountId:completion:)' is unused
PaymentSheetLinkAccount.swift:286 warning: Function 'listPaymentDetails(completion:)' is unused
PaymentSheetLinkAccount.swift:304 warning: Function 'deletePaymentDetails(id:completion:)' is unused
PaymentSheetLinkAccount.swift:326 warning: Function 'updatePaymentDetails(id:updateParams:completion:)' is unused
PaymentSheetLinkAccount.swift:383 warning: Function 'markEmailAsLoggedOut()' is unused
PaymentSheetLinkAccount.swift:510 warning: Function 'supportedPaymentDetailsTypes(for:)' is unused
PaymentSheetLinkAccount.swift:528 warning: Function 'supportedPaymentMethodTypes(for:)' is unused
PaymentSheetLinkAccount.swift:562 warning: Function 'emailSupportsMultipleFundingSourcesOnTestMode(_:)' is unused
PaymentSheetLinkAccount.swift:581 warning: Struct 'UpdatePaymentDetailsParams' is unused
ConsumerSession+PublishableKey.swift:17 warning: Initializer 'init(consumerSession:publishableKey:authSessionClientSecret:)' is unused
ConsumerSession.swift:22 warning: Initializer 'init(clientSecret:emailAddress:redactedPhoneNumber:verificationSessions:supportedPaymentDetailsTypes:)' is unused
ConsumerSession.swift:138 warning: Function 'createPaymentDetails(linkedAccountId:with:consumerAccountPublishableKey:completion:)' is unused
ConsumerSession.swift:151 warning: Function 'startVerification(type:locale:with:cookieStore:consumerAccountPublishableKey:completion:)' is unused
ConsumerSession.swift:168 warning: Function 'confirmSMSVerification(with:with:cookieStore:consumerAccountPublishableKey:completion:)' is unused
ConsumerSession.swift:183 warning: Function 'createLinkAccountSession(with:consumerAccountPublishableKey:completion:)' is unused
ConsumerSession.swift:194 warning: Function 'listPaymentDetails(with:consumerAccountPublishableKey:completion:)' is unused
ConsumerSession.swift:205 warning: Function 'deletePaymentDetails(with:id:consumerAccountPublishableKey:completion:)' is unused
ConsumerSession.swift:218 warning: Function 'updatePaymentDetails(with:id:updateParams:consumerAccountPublishableKey:completion:)' is unused
LinkCookieStore.swift:18 warning: Function 'write(key:value:allowSync:)' is unused
LinkCookieStore.swift:23 warning: Function 'read(key:)' is unused
LinkCookieStore.swift:27 warning: Function 'delete(key:)' is unused
LinkCookieStore.swift:31 warning: Function 'write(key:value:)' is unused
LinkCookieStore.swift:39 warning: Function 'clear()' is unused
LinkInMemoryCookieStore.swift:10 warning: Class 'LinkInMemoryCookieStore' is unused
LinkSecureCookieStore.swift:19 warning: Function 'write(key:value:allowSync:)' is unused
LinkSecureCookieStore.swift:44 warning: Function 'read(key:)' is unused
LinkSecureCookieStore.swift:71 warning: Function 'delete(key:)' is unused
PaymentDetails.swift:28 warning: Initializer 'init(stripeID:details:isDefault:)' is unused
PaymentDetails.swift:114 warning: Initializer 'init(cvcCheck:)' is unused
PaymentDetails.swift:141 warning: Initializer 'init(expiryYear:expiryMonth:brand:last4:checks:)' is unused
PaymentDetails.swift:194 warning: Initializer 'init(iconCode:name:last4:)' is unused
STPAPIClient+Link.swift:163 warning: Parameter 'cookieStore' is unused
STPAPIClient+Link.swift:134 warning: Function 'createPaymentDetails(for:linkedAccountId:consumerAccountPublishableKey:completion:)' is unused
STPAPIClient+Link.swift:260 warning: Function 'listPaymentDetails(for:consumerAccountPublishableKey:completion:)' is unused
STPAPIClient+Link.swift:282 warning: Function 'deletePaymentDetails(for:id:consumerAccountPublishableKey:completion:)' is unused
STPAPIClient+Link.swift:305 warning: Function 'updatePaymentDetails(for:id:updateParams:consumerAccountPublishableKey:completion:)' is unused
STPAPIClient+Link.swift:368 warning: Function 'startVerification(for:type:locale:cookieStore:consumerAccountPublishableKey:completion:)' is unused
STPAPIClient+Link.swift:403 warning: Function 'confirmSMSVerification(for:with:cookieStore:consumerAccountPublishableKey:completion:)' is unused
Intent+Link.swift:25 warning: Property 'onlySupportsLinkBank' is unused
STPAnalyticsClient+Link.swift:72 warning: Function 'logLink2FAStart()' is unused
STPAnalyticsClient+Link.swift:76 warning: Function 'logLink2FAStartFailure()' is unused
STPAnalyticsClient+Link.swift:80 warning: Function 'logLink2FAComplete()' is unused
STPAnalyticsClient+Link.swift:84 warning: Function 'logLink2FAFailure()' is unused
STPAnalyticsClient+Link.swift:88 warning: Function 'logLink2FACancel()' is unused
LinkAccountService.swift:93 warning: Function 'hasEmailLoggedOut(email:)' is unused
LinkAccountService.swift:101 warning: Function 'getLastSignUpEmail()' is unused
LinkUtils.swift:13 warning: Class 'LinkUtils' is unused
PaymentSheet+PaymentMethodAvailability.swift:63 warning: Property 'supportedLinkPaymentMethods' is unused
PaymentSheetConfiguration.swift:191 warning: Property 'linkPaymentMethodsOnly' is unused
SavedPaymentOptionsViewController.swift:467 warning: Function 'selectLink()' is unused
PaymentSheetViewController.swift:197 warning: Function 'selectLink()' 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.

Copy link

emerge-tools bot commented Oct 17, 2024

⚠️ 1 new unused protocol, 1 build increased size, 5 builds decreased size

Name Version Download Change Install Change Approval
StripeSize
com.stripe.StripeSize
1.0 (1) 2.4 MB ⬇️ 2.3 kB (-0.09%) 7.8 MB ⬇️ 9.6 kB (-0.12%) N/A
StripeApplePaySize
com.stripe.StripeApplePaySize
1.0 (1) 435.4 kB ⬇️ 2.0 kB (-0.46%) 1.5 MB ⬇️ 7.9 kB (-0.52%) N/A
StripeFinancialConnectionsSize
com.stripe.StripeFinancialConnectionsSize
1.0 (1) 1.3 MB ⬇️ 4.6 kB (-0.35%) 4.3 MB ⬇️ 7.9 kB (-0.19%) N/A
StripePaymentsSize
com.stripe.StripePaymentsSize
1.0 (1) 1.1 MB ⬇️ 2.1 kB (-0.19%) 4.1 MB ⬇️ 8.2 kB (-0.2%) N/A
StripePaymentsUISize
com.stripe.StripePaymentsUISize
1.0 (1) 1.9 MB ⬇️ 215 B (-0.01%) 6.3 MB ⬇️ 10.0 kB (-0.16%) N/A
StripePaymentSheetSize
com.stripe.StripePaymentSheetSize
1.0 (1) 3.4 MB ⬆️ 14.9 kB (0.44%) 10.3 MB ⬆️ 60.4 kB (0.59%) N/A

StripeSize 1.0 (1)
com.stripe.StripeSize

⚠️ Found new unused protocol: LinkInstantDebitMandateViewDelegate
⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 9.6 kB (-0.12%)
Total download size change: ⬇️ 2.3 kB (-0.09%)

Largest size changes

Item Install Size Change
Localizable.strings ⬇️ -4.1 kB
📝 StripePaymentsUI.CardBrandView.init(showCVC,centerHorizontally) ⬆️ 1.8 kB
🗑 StripePaymentsUI.CardBrandView.init(showCVC) ⬇️ -1.7 kB
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
🗑 StripeUICore.AddressSpecProvider.AddressSpecProvider ⬇️ -896 B
View Treemap

Image of diff

StripeApplePaySize 1.0 (1)
com.stripe.StripeApplePaySize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 7.9 kB (-0.52%)
Total download size change: ⬇️ 2.0 kB (-0.46%)

Largest size changes

Item Install Size Change
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
StripeCore.ElementsSessionContext.value witness ⬇️ -604 B
🗑 StripeCore.ElementsSessionContext.IntentID ⬇️ -577 B
Other ⬇️ -5.2 kB
View Treemap

Image of diff

StripeFinancialConnectionsSize 1.0 (1)
com.stripe.StripeFinancialConnectionsSize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 7.9 kB (-0.19%)
Total download size change: ⬇️ 4.6 kB (-0.35%)

Largest size changes

Item Install Size Change
🗑 StripeFinancialConnections.FinancialConnectionsAPIClient.linkAcco... ⬇️ -1.7 kB
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
📝 StripeFinancialConnections.FinancialConnectionsAPIClient.linkAcco... ⬆️ 956 B
🗑 StripeUICore.AddressSpecProvider.AddressSpecProvider ⬇️ -896 B
🗑 StripeUICore.BSBNumberProvider.BSBNumberProvider ⬇️ -884 B
View Treemap

Image of diff

StripePaymentsSize 1.0 (1)
com.stripe.StripePaymentsSize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 8.2 kB (-0.2%)
Total download size change: ⬇️ 2.1 kB (-0.19%)

Largest size changes

Item Install Size Change
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
StripeCore.ElementsSessionContext.value witness ⬇️ -604 B
🗑 StripeCore.ElementsSessionContext.IntentID ⬇️ -577 B
Other ⬇️ -5.6 kB
View Treemap

Image of diff

StripePaymentsUISize 1.0 (1)
com.stripe.StripePaymentsUISize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 10.0 kB (-0.16%)
Total download size change: ⬇️ 215 B (-0.01%)

Largest size changes

Item Install Size Change
Localizable.strings ⬇️ -4.1 kB
📝 StripePaymentsUI.CardBrandView.init(showCVC,centerHorizontally) ⬆️ 1.8 kB
🗑 StripePaymentsUI.CardBrandView.init(showCVC) ⬇️ -1.7 kB
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
🗑 StripeUICore.AddressSpecProvider.AddressSpecProvider ⬇️ -896 B
View Treemap

Image of diff

StripePaymentSheetSize 1.0 (1)
com.stripe.StripePaymentSheetSize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 60.4 kB (0.59%)
Total download size change: ⬆️ 14.9 kB (0.44%)

Largest size changes

Item Install Size Change
🗑 StripePaymentSheet.CardSectionElement.init(collectName,defaultVal... ⬇️ -8.1 kB
📝 StripePaymentSheet.CardSectionElement.init(collectName,defaultVal... ⬆️ 8.1 kB
📝 StripePaymentSheet.EmbeddedPaymentMethodsView.init(initialSelecti... ⬆️ 7.6 kB
🗑 StripePaymentSheet.EmbeddedPaymentMethodsView.init(initialSelecti... ⬇️ -6.1 kB
Packed Asset ⬆️ 0 B
View Treemap

Image of diff


🛸 Powered by Emerge Tools

@davidme-stripe davidme-stripe changed the base branch from master to relink/assets-and-button October 17, 2024 19:54
Copy link

⚠️ Public API changes detected:

StripePaymentSheet

- public var paymentMethodLayout: StripePaymentSheet.PaymentSheet.PaymentMethodLayout
- }
- public enum PaymentMethodLayout {
- case horizontal
- case vertical
- case automatic
- public static func == (a: StripePaymentSheet.PaymentSheet.PaymentMethodLayout, b: StripePaymentSheet.PaymentSheet.PaymentMethodLayout) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
- get
- }

If you are adding a new public API consider the following:

  • Do these APIs need to be public or can they be protected with @_spi(STP)?
  • If these APIs need to be public, assess whether they require an API review.

If you are modifying or removing a public API:

  • Does this require a breaking version change?
  • Do these changes require API review?

If you confirm these APIs need to be added/updated and have undergone necessary review, add the label modifies public API to this PR to acknowledge and bypass this check.

ℹ️ If this comment appears to be left in error, make sure your branch is up-to-date with master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant