Skip to content

Commit

Permalink
Merge pull request #143 from stytchauth/jordan/SDK-1562-minification-bug
Browse files Browse the repository at this point in the history
SDK-1562 R8 minification bug fix
  • Loading branch information
jhaven-stytch authored Apr 3, 2024
2 parents a2a54bc + bf87cda commit 275a7b6
Show file tree
Hide file tree
Showing 23 changed files with 265 additions and 63 deletions.
1 change: 1 addition & 0 deletions b2bExampleApp/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ android {
b2bOrganizationId = STYTCH_B2B_ORG_ID
}
buildConfigField "String", "STYTCH_B2B_ORG_ID", "\"$b2bOrganizationId\""
minifyEnabled true
}
release {
minifyEnabled false
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ buildscript {
ext {
kotlin_version = '1.8.22'
dokka_version = '1.9.10'
retrofit_version = '2.9.0'
retrofit_version = '2.11.0'
okhttp_version = '4.11.0'
compose_version = '1.4.3'
moshi_version = '1.15.0'
moshi_version = '1.15.1'
kotlin_coroutines_version = '1.7.2'
}
repositories {
Expand Down
1 change: 1 addition & 0 deletions consumerExampleApp/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ android {
passkeysDomain = PASSKEYS_DOMAIN
}
buildConfigField "String", "PASSKEYS_DOMAIN", "\"$passkeysDomain\""
minifyEnabled true
}
release {
minifyEnabled false
Expand Down
4 changes: 2 additions & 2 deletions sdk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ plugins {

ext {
PUBLISH_GROUP_ID = 'com.stytch.sdk'
PUBLISH_VERSION = '0.20.2'
PUBLISH_VERSION = '0.20.3'
PUBLISH_ARTIFACT_ID = 'sdk'
}

Expand All @@ -30,7 +30,7 @@ android {
}
buildTypes {
release {
minifyEnabled false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "Boolean", "DEBUG_MODE", "false"
buildConfigField "String", "STYTCH_SDK_VERSION", "\"$PUBLISH_VERSION\""
Expand Down
1 change: 1 addition & 0 deletions sdk/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@
-keep class androidx.credentials.playservices.** {
*;
}
-dontwarn java.lang.invoke.StringConcatFactory
16 changes: 16 additions & 0 deletions sdk/src/main/java/com/stytch/sdk/b2b/network/models/B2BRequests.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package com.stytch.sdk.b2b.network.models

import androidx.annotation.Keep
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass

internal object B2BRequests {
object MagicLinks {
object Email {
@Keep
@JsonClass(generateAdapter = true)
data class LoginOrSignupRequest(
@Json(name = "email_address")
Expand All @@ -26,6 +28,7 @@ internal object B2BRequests {
}

object Discovery {
@Keep
@JsonClass(generateAdapter = true)
data class SendRequest(
@Json(name = "email_address")
Expand All @@ -38,6 +41,7 @@ internal object B2BRequests {
val loginTemplateId: String? = null,
)

@Keep
@JsonClass(generateAdapter = true)
data class AuthenticateRequest(
@Json(name = "discovery_magic_links_token")
Expand All @@ -47,6 +51,7 @@ internal object B2BRequests {
)
}

@Keep
@JsonClass(generateAdapter = true)
data class AuthenticateRequest(
@Json(name = "magic_links_token")
Expand All @@ -59,6 +64,7 @@ internal object B2BRequests {
}

object Passwords {
@Keep
@JsonClass(generateAdapter = true)
data class AuthenticateRequest(
@Json(name = "organization_id")
Expand All @@ -70,6 +76,7 @@ internal object B2BRequests {
val sessionDurationMinutes: Int,
)

@Keep
@JsonClass(generateAdapter = true)
data class ResetByEmailStartRequest(
@Json(name = "organization_id")
Expand All @@ -88,6 +95,7 @@ internal object B2BRequests {
val codeChallenge: String,
)

@Keep
@JsonClass(generateAdapter = true)
data class ResetByEmailRequest(
@Json(name = "password_reset_token")
Expand All @@ -99,6 +107,7 @@ internal object B2BRequests {
val codeVerifier: String,
)

@Keep
@JsonClass(generateAdapter = true)
data class ResetByExistingPasswordRequest(
@Json(name = "organization_id")
Expand All @@ -113,26 +122,31 @@ internal object B2BRequests {
val sessionDurationMinutes: Int,
)

@Keep
@JsonClass(generateAdapter = true)
data class ResetBySessionRequest(
@Json(name = "organization_id")
val organizationId: String,
val password: String,
)

@Keep
@JsonClass(generateAdapter = true)
data class StrengthCheckRequest(
val email: String?,
val password: String,
)
}

object Discovery {
@Keep
@JsonClass(generateAdapter = true)
data class MembershipsRequest(
@Json(name = "intermediate_session_token")
val intermediateSessionToken: String? = null,
)

@Keep
@JsonClass(generateAdapter = true)
data class SessionExchangeRequest(
@Json(name = "intermediate_session_token")
Expand All @@ -143,6 +157,7 @@ internal object B2BRequests {
val sessionDurationMinutes: Int,
)

@Keep
@JsonClass(generateAdapter = true)
data class CreateRequest(
@Json(name = "intermediate_session_token")
Expand Down Expand Up @@ -171,6 +186,7 @@ internal object B2BRequests {
}

object SSO {
@Keep
@JsonClass(generateAdapter = true)
data class AuthenticateRequest(
@Json(name = "sso_token")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.stytch.sdk.b2b.network.models

import android.os.Parcelable
import androidx.annotation.Keep
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import com.stytch.sdk.common.network.models.AuthenticationFactor
Expand All @@ -16,6 +17,7 @@ public interface IB2BAuthData : CommonAuthenticationData {
public val organization: Organization
}

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class B2BAuthData(
Expand All @@ -30,9 +32,10 @@ public data class B2BAuthData(
@Json(name = "session_token")
override val sessionToken: String,
override val member: MemberData,
override val organization: Organization
override val organization: Organization,
) : IB2BAuthData, Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class B2BEMLAuthenticateData(
Expand All @@ -49,9 +52,10 @@ public data class B2BEMLAuthenticateData(
override val memberSession: B2BSessionData,
@Json(name = "reset_sessions")
val resetSessions: Boolean,
override val organization: Organization
override val organization: Organization,
) : IB2BAuthData, Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class B2BSessionData(
Expand All @@ -73,6 +77,7 @@ public data class B2BSessionData(
val customClaims: @RawValue Map<String, Any?>?,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class MemberResponseData(
Expand All @@ -83,6 +88,7 @@ public data class MemberResponseData(
val member: MemberData,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class MemberData(
Expand All @@ -99,9 +105,10 @@ public data class MemberData(
@Json(name = "untrusted_metadata")
val untrustedMetadata: @RawValue Map<String, Any?>?,
@Json(name = "sso_registrations")
val ssoRegistrations: List<SSORegistration>
val ssoRegistrations: List<SSORegistration>,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class SSORegistration(
Expand All @@ -115,6 +122,7 @@ public data class SSORegistration(
val ssoAttributes: @RawValue Map<String, Any?>?,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class OrganizationResponseData(
Expand All @@ -125,6 +133,7 @@ public data class OrganizationResponseData(
val organization: Organization,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class Organization(
Expand Down Expand Up @@ -158,6 +167,7 @@ public data class Organization(
val allowedAuthMethods: List<AllowedAuthMethods>?,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class SSOActiveConnection(
Expand All @@ -167,6 +177,7 @@ public data class SSOActiveConnection(
val displayName: String,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class PasswordsAuthenticateResponseData(
Expand All @@ -188,6 +199,7 @@ public data class PasswordsAuthenticateResponseData(
val organizationId: String,
) : IB2BAuthData, Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class EmailResetResponseData(
Expand All @@ -211,6 +223,7 @@ public data class EmailResetResponseData(
val memberEmailId: String,
) : IB2BAuthData, Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class SessionResetResponseData(
Expand All @@ -226,6 +239,7 @@ public data class SessionResetResponseData(
val organization: Organization,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class StrengthCheckResponseData(
Expand All @@ -243,13 +257,15 @@ public data class StrengthCheckResponseData(
@Json(name = "luds_feedback")
val ludsFeedback: LUDSFeedback,
) : Parcelable {
@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class ZXCVBNFeedback(
val suggestions: List<String>,
val warning: String,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class LUDSFeedback(
Expand All @@ -268,15 +284,17 @@ public data class StrengthCheckResponseData(
) : Parcelable
}

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class DiscoveredOrganizationsResponseData(
@Json(name = "email_address")
val emailAddress: String,
@Json(name = "discovered_organizations")
val discoveredOrganizations: List<DiscoveredOrganization>
val discoveredOrganizations: List<DiscoveredOrganization>,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class DiscoveredOrganization(
Expand All @@ -286,6 +304,7 @@ public data class DiscoveredOrganization(
val memberAuthenticated: Boolean,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class Membership(
Expand All @@ -294,12 +313,14 @@ public data class Membership(
val member: MemberData?,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class MembershipDetails(
val domain: String,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class IntermediateSessionExchangeResponseData(
Expand All @@ -315,6 +336,7 @@ public data class IntermediateSessionExchangeResponseData(
val sessionToken: String,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class OrganizationCreateResponseData(
Expand All @@ -330,6 +352,7 @@ public data class OrganizationCreateResponseData(
val sessionToken: String,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class DiscoveryAuthenticateResponseData(
Expand All @@ -338,9 +361,10 @@ public data class DiscoveryAuthenticateResponseData(
@Json(name = "email_address")
val emailAddress: String,
@Json(name = "discovered_organizations")
val discoveredOrganizations: List<DiscoveredOrganization>
val discoveredOrganizations: List<DiscoveredOrganization>,
) : Parcelable

@Keep
@JsonClass(generateAdapter = true)
@Parcelize
public data class SSOAuthenticateResponseData(
Expand All @@ -359,5 +383,5 @@ public data class SSOAuthenticateResponseData(
override val memberSession: B2BSessionData,
@Json(name = "reset_session")
val resetSession: Boolean,
override val organization: Organization
override val organization: Organization,
) : IB2BAuthData, Parcelable
Loading

0 comments on commit 275a7b6

Please sign in to comment.