Skip to content

Commit 44aec11

Browse files
author
Firefox Sync Engineering
committed
Nightly auto-update (125.0.20240313050306)
1 parent d7859d1 commit 44aec11

File tree

7 files changed

+116
-9
lines changed

7 files changed

+116
-9
lines changed

Package.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// swift-tools-version:5.4
22
import PackageDescription
33

4-
let checksum = "2337c16f6abc444c3746612e02b8429fef5954b1d41eca3e1abdac0c2f07728e"
5-
let version = "125.0.20240309050254"
6-
let url = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.125.20240309050254/artifacts/public/build/MozillaRustComponents.xcframework.zip"
4+
let checksum = "cc4b6e2483c0113516e014fa0a09a4680555c77ca4899d8c4be9cae09ee45441"
5+
let version = "125.0.20240313050306"
6+
let url = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.125.20240313050306/artifacts/public/build/MozillaRustComponents.xcframework.zip"
77

88
// Focus xcframework
9-
let focusChecksum = "b96df88f60dd75c7813ed8610d8af0b410fdc2df27b8b619baf776e9154f72c4"
10-
let focusUrl = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.125.20240309050254/artifacts/public/build/FocusRustComponents.xcframework.zip"
9+
let focusChecksum = "d3f594d36492e85e2561ae4e7e84ea2ed226d7a4d75fa482223038113404010d"
10+
let focusUrl = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.125.20240313050306/artifacts/public/build/FocusRustComponents.xcframework.zip"
1111
let package = Package(
1212
name: "MozillaRustComponentsSwift",
1313
platforms: [.iOS(.v14)],

swift-source/all/FxAClient/FxAccountManager.swift

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ open class FxAccountManager {
9090
return state == .authenticationProblem
9191
}
9292

93+
/// Set the user data before completing their authentication
94+
public func setUserData(userData: UserData, completion: @escaping () -> Void) {
95+
DispatchQueue.global().async {
96+
self.account?.setUserData(userData: userData)
97+
completion()
98+
}
99+
}
100+
93101
/// Begins a new authentication flow.
94102
///
95103
/// This function returns a URL string that the caller should open in a webview.
@@ -99,13 +107,18 @@ open class FxAccountManager {
99107
/// `finishAuthentication(...)` to complete the flow.
100108
public func beginAuthentication(
101109
entrypoint: String,
110+
scopes: [String] = [],
102111
completionHandler: @escaping (Result<URL, Error>) -> Void
103112
) {
104113
FxALog.info("beginAuthentication")
114+
var scopes = scopes
115+
if scopes.isEmpty {
116+
scopes = applicationScopes
117+
}
105118
DispatchQueue.global().async {
106119
let result = self.updatingLatestAuthState { account in
107120
try account.beginOAuthFlow(
108-
scopes: self.applicationScopes,
121+
scopes: scopes,
109122
entrypoint: entrypoint
110123
)
111124
}
@@ -125,13 +138,18 @@ open class FxAccountManager {
125138
public func beginPairingAuthentication(
126139
pairingUrl: String,
127140
entrypoint: String,
141+
scopes: [String] = [],
128142
completionHandler: @escaping (Result<URL, Error>) -> Void
129143
) {
144+
var scopes = scopes
145+
if scopes.isEmpty {
146+
scopes = applicationScopes
147+
}
130148
DispatchQueue.global().async {
131149
let result = self.updatingLatestAuthState { account in
132150
try account.beginPairingFlow(
133151
pairingUrl: pairingUrl,
134-
scopes: self.applicationScopes,
152+
scopes: scopes,
135153
entrypoint: entrypoint
136154
)
137155
}

swift-source/all/FxAClient/PersistedFirefoxAccount.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ class PersistedFirefoxAccount {
5252
try inner.toJson()
5353
}
5454

55+
public func setUserData(userData: UserData) {
56+
defer { tryPersistState() }
57+
inner.setUserData(userData: userData)
58+
}
59+
5560
public func beginOAuthFlow(
5661
scopes: [String],
5762
entrypoint: String

swift-source/all/Generated/Metrics/Metrics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extension GleanMetrics {
2525
// Intentionally left private, no external user can instantiate a new global object.
2626
}
2727

28-
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2024, month: 3, day: 9, hour: 5, minute: 15, second: 40))
28+
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2024, month: 3, day: 13, hour: 5, minute: 11, second: 50))
2929
}
3030

3131
enum NimbusEvents {

swift-source/all/Generated/fxa_client.swift

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ public protocol FirefoxAccountProtocol {
403403
func sendSingleTab(targetDeviceId: String, title: String, url: String) throws
404404
func setDeviceName(displayName: String) throws -> LocalDevice
405405
func setPushSubscription(subscription: DevicePushSubscription) throws -> LocalDevice
406+
func setUserData(userData: UserData)
406407
func simulateNetworkError()
407408
func simulatePermanentAuthTokenIssue()
408409
func simulateTemporaryAuthTokenIssue()
@@ -716,6 +717,14 @@ public class FirefoxAccount: FirefoxAccountProtocol {
716717
)
717718
}
718719

720+
public func setUserData(userData: UserData) {
721+
try!
722+
rustCall {
723+
uniffi_fxa_client_fn_method_firefoxaccount_set_user_data(self.pointer,
724+
FfiConverterTypeUserData.lower(userData), $0)
725+
}
726+
}
727+
719728
public func simulateNetworkError() {
720729
try!
721730
rustCall {
@@ -1801,6 +1810,73 @@ public func FfiConverterTypeTabHistoryEntry_lower(_ value: TabHistoryEntry) -> R
18011810
return FfiConverterTypeTabHistoryEntry.lower(value)
18021811
}
18031812

1813+
public struct UserData {
1814+
public var sessionToken: String
1815+
public var uid: String
1816+
public var email: String
1817+
public var verified: Bool
1818+
1819+
// Default memberwise initializers are never public by default, so we
1820+
// declare one manually.
1821+
public init(sessionToken: String, uid: String, email: String, verified: Bool) {
1822+
self.sessionToken = sessionToken
1823+
self.uid = uid
1824+
self.email = email
1825+
self.verified = verified
1826+
}
1827+
}
1828+
1829+
extension UserData: Equatable, Hashable {
1830+
public static func == (lhs: UserData, rhs: UserData) -> Bool {
1831+
if lhs.sessionToken != rhs.sessionToken {
1832+
return false
1833+
}
1834+
if lhs.uid != rhs.uid {
1835+
return false
1836+
}
1837+
if lhs.email != rhs.email {
1838+
return false
1839+
}
1840+
if lhs.verified != rhs.verified {
1841+
return false
1842+
}
1843+
return true
1844+
}
1845+
1846+
public func hash(into hasher: inout Hasher) {
1847+
hasher.combine(sessionToken)
1848+
hasher.combine(uid)
1849+
hasher.combine(email)
1850+
hasher.combine(verified)
1851+
}
1852+
}
1853+
1854+
public struct FfiConverterTypeUserData: FfiConverterRustBuffer {
1855+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> UserData {
1856+
return try UserData(
1857+
sessionToken: FfiConverterString.read(from: &buf),
1858+
uid: FfiConverterString.read(from: &buf),
1859+
email: FfiConverterString.read(from: &buf),
1860+
verified: FfiConverterBool.read(from: &buf)
1861+
)
1862+
}
1863+
1864+
public static func write(_ value: UserData, into buf: inout [UInt8]) {
1865+
FfiConverterString.write(value.sessionToken, into: &buf)
1866+
FfiConverterString.write(value.uid, into: &buf)
1867+
FfiConverterString.write(value.email, into: &buf)
1868+
FfiConverterBool.write(value.verified, into: &buf)
1869+
}
1870+
}
1871+
1872+
public func FfiConverterTypeUserData_lift(_ buf: RustBuffer) throws -> UserData {
1873+
return try FfiConverterTypeUserData.lift(buf)
1874+
}
1875+
1876+
public func FfiConverterTypeUserData_lower(_ value: UserData) -> RustBuffer {
1877+
return FfiConverterTypeUserData.lower(value)
1878+
}
1879+
18041880
// Note that we don't yet support `indirect` for enums.
18051881
// See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion.
18061882
public enum AccountEvent {
@@ -2931,6 +3007,9 @@ private var initializationResult: InitializationResult {
29313007
if uniffi_fxa_client_checksum_method_firefoxaccount_set_push_subscription() != 47048 {
29323008
return InitializationResult.apiChecksumMismatch
29333009
}
3010+
if uniffi_fxa_client_checksum_method_firefoxaccount_set_user_data() != 59605 {
3011+
return InitializationResult.apiChecksumMismatch
3012+
}
29343013
if uniffi_fxa_client_checksum_method_firefoxaccount_simulate_network_error() != 61828 {
29353014
return InitializationResult.apiChecksumMismatch
29363015
}

swift-source/all/Generated/fxa_clientFFI.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ RustBuffer uniffi_fxa_client_fn_method_firefoxaccount_set_device_name(void*_Nonn
133133
);
134134
RustBuffer uniffi_fxa_client_fn_method_firefoxaccount_set_push_subscription(void*_Nonnull ptr, RustBuffer subscription, RustCallStatus *_Nonnull out_status
135135
);
136+
void uniffi_fxa_client_fn_method_firefoxaccount_set_user_data(void*_Nonnull ptr, RustBuffer user_data, RustCallStatus *_Nonnull out_status
137+
);
136138
void uniffi_fxa_client_fn_method_firefoxaccount_simulate_network_error(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status
137139
);
138140
void uniffi_fxa_client_fn_method_firefoxaccount_simulate_permanent_auth_token_issue(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status
@@ -363,6 +365,9 @@ uint16_t uniffi_fxa_client_checksum_method_firefoxaccount_set_device_name(void
363365
);
364366
uint16_t uniffi_fxa_client_checksum_method_firefoxaccount_set_push_subscription(void
365367

368+
);
369+
uint16_t uniffi_fxa_client_checksum_method_firefoxaccount_set_user_data(void
370+
366371
);
367372
uint16_t uniffi_fxa_client_checksum_method_firefoxaccount_simulate_network_error(void
368373

swift-source/focus/Generated/Metrics/Metrics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extension GleanMetrics {
2525
// Intentionally left private, no external user can instantiate a new global object.
2626
}
2727

28-
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2024, month: 3, day: 9, hour: 5, minute: 15, second: 43))
28+
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2024, month: 3, day: 13, hour: 5, minute: 11, second: 53))
2929
}
3030

3131
enum NimbusEvents {

0 commit comments

Comments
 (0)