mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 12:28:42 +00:00
fix(ios): send affine version on sign in (#11058)
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
9D90BE2B2CCB9876006677DB /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 9D90BE1F2CCB9876006677DB /* config.xml */; };
|
||||
9D90BE2D2CCB9876006677DB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9D90BE222CCB9876006677DB /* Main.storyboard */; };
|
||||
9D90BE2E2CCB9876006677DB /* public in Resources */ = {isa = PBXBuildFile; fileRef = 9D90BE232CCB9876006677DB /* public */; };
|
||||
9DAE9BD92D8D1AB0000C1D5A /* AppConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DAE9BD82D8D1AA9000C1D5A /* AppConfigManager.swift */; };
|
||||
9DEC59432D323EE40027CEBD /* Mutex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DEC59422D323EE00027CEBD /* Mutex.swift */; };
|
||||
9DFCD1462D27D1D70028C92B /* libaffine_mobile_native.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9DFCD1452D27D1D70028C92B /* libaffine_mobile_native.a */; };
|
||||
C4C97C7C2D030BE000BC2AD1 /* affine_mobile_native.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C97C6F2D0307B700BC2AD1 /* affine_mobile_native.swift */; };
|
||||
@@ -56,6 +57,7 @@
|
||||
9D90BE202CCB9876006677DB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
9D90BE212CCB9876006677DB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
9D90BE232CCB9876006677DB /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = "<group>"; };
|
||||
9DAE9BD82D8D1AA9000C1D5A /* AppConfigManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppConfigManager.swift; sourceTree = "<group>"; };
|
||||
9DEC59422D323EE00027CEBD /* Mutex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mutex.swift; sourceTree = "<group>"; };
|
||||
9DFCD1452D27D1D70028C92B /* libaffine_mobile_native.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libaffine_mobile_native.a; sourceTree = "<group>"; };
|
||||
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = "<group>"; };
|
||||
@@ -177,6 +179,7 @@
|
||||
9D90BE242CCB9876006677DB /* App */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9DAE9BD82D8D1AA9000C1D5A /* AppConfigManager.swift */,
|
||||
9DEC59422D323EE00027CEBD /* Mutex.swift */,
|
||||
9D52FC422D26CDB600105D0A /* JSValueContainerExt.swift */,
|
||||
9D90BE1A2CCB9876006677DB /* Plugins */,
|
||||
@@ -354,6 +357,7 @@
|
||||
5075136E2D1925BC00AD60C0 /* IntelligentsPlugin.swift in Sources */,
|
||||
5075136A2D1924C600AD60C0 /* RootViewController.swift in Sources */,
|
||||
C4C97C7C2D030BE000BC2AD1 /* affine_mobile_native.swift in Sources */,
|
||||
9DAE9BD92D8D1AB0000C1D5A /* AppConfigManager.swift in Sources */,
|
||||
C4C97C7D2D030BE000BC2AD1 /* affine_mobile_nativeFFI.h in Sources */,
|
||||
9D5622962D64A6A5009F1BE4 /* AuthPlugin.swift in Sources */,
|
||||
C4C97C7E2D030BE000BC2AD1 /* affine_mobile_nativeFFI.modulemap in Sources */,
|
||||
|
||||
20
packages/frontend/apps/ios/App/App/AppConfigManager.swift
Normal file
20
packages/frontend/apps/ios/App/App/AppConfigManager.swift
Normal file
@@ -0,0 +1,20 @@
|
||||
import Foundation
|
||||
|
||||
final class AppConfigManager {
|
||||
struct AppConfig: Decodable {
|
||||
let affineVersion: String
|
||||
}
|
||||
|
||||
static var affineVersion: String? = nil
|
||||
|
||||
static func getAffineVersion() -> String {
|
||||
if affineVersion == nil {
|
||||
let file = Bundle(for: AppConfigManager.self).url(forResource: "capacitor.config", withExtension: "json")!
|
||||
let data = try! Data(contentsOf: file)
|
||||
let config = try! JSONDecoder().decode(AppConfig.self, from: data)
|
||||
affineVersion = config.affineVersion
|
||||
}
|
||||
|
||||
return affineVersion!
|
||||
}
|
||||
}
|
||||
@@ -82,7 +82,7 @@ public class AuthPlugin: CAPPlugin, CAPBridgedPlugin {
|
||||
|
||||
let (data, response) = try await self.fetch(endpoint, method: "POST", action: "/api/auth/sign-in", headers: [
|
||||
"x-captcha-token": verifyToken,
|
||||
"x-captcha-challenge": challenge,
|
||||
"x-captcha-challenge": challenge
|
||||
], body: ["email": email, "password": password])
|
||||
|
||||
if response.statusCode >= 400 {
|
||||
@@ -157,6 +157,7 @@ public class AuthPlugin: CAPPlugin, CAPBridgedPlugin {
|
||||
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
|
||||
request.httpBody = try JSONEncoder().encode(body!)
|
||||
}
|
||||
request.setValue(AppConfigManager.getAffineVersion(), forHTTPHeaderField: "x-affine-version")
|
||||
request.timeoutInterval = 10 // time out 10s
|
||||
|
||||
let (data, response) = try await URLSession.shared.data(for: request);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
PODS:
|
||||
- Capacitor (7.0.1):
|
||||
- Capacitor (7.1.0):
|
||||
- CapacitorCordova
|
||||
- CapacitorApp (7.0.0):
|
||||
- Capacitor
|
||||
- CapacitorBrowser (7.0.0):
|
||||
- Capacitor
|
||||
- CapacitorCordova (7.0.1)
|
||||
- CapacitorCordova (7.1.0)
|
||||
- CapacitorHaptics (7.0.0):
|
||||
- Capacitor
|
||||
- CapacitorKeyboard (7.0.0):
|
||||
@@ -40,10 +40,10 @@ EXTERNAL SOURCES:
|
||||
:path: "../../../../../node_modules/@capacitor/keyboard"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Capacitor: 23fff43571a4d1e3ee7d67b5a3588c6e757c2913
|
||||
Capacitor: 68ff8eabbcce387e69767c13b5fbcc1c5399eabc
|
||||
CapacitorApp: 45cb7cbef4aa380b9236fd6980033eb5cde6fcd2
|
||||
CapacitorBrowser: 352a66541b15ceadae1d703802b11979023705e3
|
||||
CapacitorCordova: 63d476958d5022d76f197031e8b7ea3519988c64
|
||||
CapacitorCordova: 866217f32c1d25b326c568a10ea3ed0c36b13e29
|
||||
CapacitorHaptics: 1fba3e460e7614349c6d5f868b1fccdc5c87b66d
|
||||
CapacitorKeyboard: 2c26c6fccde35023c579fc37d4cae6326d5e6343
|
||||
CryptoSwift: 967f37cea5a3294d9cce358f78861652155be483
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
import { readFileSync } from 'node:fs';
|
||||
import { resolve } from 'node:path';
|
||||
|
||||
import type { CapacitorConfig } from '@capacitor/cli';
|
||||
import { KeyboardResize } from '@capacitor/keyboard';
|
||||
|
||||
const config: CapacitorConfig = {
|
||||
const packageJson = JSON.parse(
|
||||
readFileSync(resolve(__dirname, './package.json'), 'utf-8')
|
||||
);
|
||||
|
||||
interface AppConfig {
|
||||
affineVersion: string;
|
||||
}
|
||||
|
||||
const config: CapacitorConfig & AppConfig = {
|
||||
appId: 'app.affine.pro',
|
||||
appName: 'AFFiNE',
|
||||
webDir: 'dist',
|
||||
affineVersion: packageJson.version,
|
||||
ios: {
|
||||
scheme: 'AFFiNE',
|
||||
path: '.',
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
"scripts": {
|
||||
"build": "affine bundle",
|
||||
"dev": "affine bundle --dev",
|
||||
"xcode": "cap open ios",
|
||||
"sync": "cap sync",
|
||||
"sync:dev": "CAP_SERVER_URL=http://localhost:8080 cap sync"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user