Expand onboarding and adaptive keyboard intelligence

Add resilient usage analytics, OOBE gateway flows, clipboard semantic ranking, purchase recovery, style learning, and managed current-information search.
This commit is contained in:
Rocky
2026-08-22 16:33:18 +08:00
parent ac374631ae
commit e5a83843db
162 changed files with 23574 additions and 1013 deletions
@@ -0,0 +1,44 @@
// AnalyticsAttributionTests.swift
// OSGKeyboardTests
//
// FIRST_OPEN attribution accepts only trusted, structured launch signals.
import Foundation
@testable import OSGKeyboard
import OSGKeyboardShared
import XCTest
final class AnalyticsAttributionTests: XCTestCase {
private let validCode = "Abcdefghij_1234567890-"
func testOrdinaryColdLaunchIsAppStoreOrganic() {
XCTAssertEqual(
AnalyticsFirstOpenAttribution.ordinaryLaunch,
.appStoreOrganic
)
}
func testTrustedReferralColdLaunchIsReferral() {
let url = URL(string: "https://osglab.com/i/\(validCode)")!
XCTAssertEqual(
AnalyticsFirstOpenAttribution.trustedChannel(for: url),
.referral
)
}
func testUntrustedQueryCannotCreateSocialAttribution() {
let untrusted = URL(
string: "https://osglab.com/campaign?source=SOCIAL_CONTENT"
)!
let referralWithFreeText = URL(
string: "https://osglab.com/i/\(validCode)?source=anything"
)!
XCTAssertNil(AnalyticsFirstOpenAttribution.trustedChannel(for: untrusted))
XCTAssertEqual(
AnalyticsFirstOpenAttribution.trustedChannel(for: referralWithFreeText),
.referral
)
}
}