@react-native-firebase/app 26.3.3 → 26.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/RNFBApp.podspec +1 -1
- package/android/src/main/java/io/invertase/firebase/common/RNFBHandleCollisionException.java +31 -0
- package/android/src/main/java/io/invertase/firebase/common/RNFBHandleMap.java +150 -0
- package/android/src/main/java/io/invertase/firebase/common/TaskExecutorService.java +27 -3
- package/android/src/reactnative/java/io/invertase/firebase/app/NativeRNFBTurboApp.java +3 -1
- package/android/src/reactnative/java/io/invertase/firebase/app/ReactNativeFirebaseVersion.java +1 -1
- package/android/src/reactnative/java/io/invertase/firebase/common/RCTConvertFirebase.java +3 -2
- package/android/src/reactnative/java/io/invertase/firebase/common/ReactNativeFirebaseJSON.java +5 -3
- package/android/src/test/java/io/invertase/firebase/app/NativeRNFBTurboAppTest.java +26 -1
- package/android/src/test/java/io/invertase/firebase/common/RNFBHandleMapTest.java +275 -0
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseEventEmitterTest.java +1 -1
- package/android/src/test/java/io/invertase/firebase/common/ReactNativeFirebaseJSONTest.java +108 -0
- package/android/src/test/java/io/invertase/firebase/common/TaskExecutorServiceTest.java +97 -0
- package/android/src/test/java/io/invertase/firebase/utils/NativeRNFBTurboUtilsTest.java +0 -2
- package/dist/module/common/Base64.js +13 -21
- package/dist/module/common/Base64.js.map +1 -1
- package/dist/module/common/index.js +17 -9
- package/dist/module/common/index.js.map +1 -1
- package/dist/module/internal/asyncStorage.js +7 -11
- package/dist/module/internal/asyncStorage.js.map +1 -1
- package/dist/module/internal/logger.js +44 -40
- package/dist/module/internal/logger.js.map +1 -1
- package/dist/module/internal/nativeModuleAndroidIos.js +2 -29
- package/dist/module/internal/nativeModuleAndroidIos.js.map +1 -1
- package/dist/module/internal/nativeModuleDebug.js +74 -0
- package/dist/module/internal/nativeModuleDebug.js.map +1 -0
- package/dist/module/internal/nativeModuleWeb.js +9 -29
- package/dist/module/internal/nativeModuleWeb.js.map +1 -1
- package/dist/module/internal/registry/app.js +1 -1
- package/dist/module/internal/registry/app.js.map +1 -1
- package/dist/module/internal/registry/modular.js +2 -2
- package/dist/module/internal/registry/modular.js.map +1 -1
- package/dist/module/internal/registry/nativeModule.js +3 -3
- package/dist/module/internal/registry/nativeModule.js.map +1 -1
- package/dist/module/internal/web/RNFBAppModule.js +16 -15
- package/dist/module/internal/web/RNFBAppModule.js.map +1 -1
- package/dist/module/internal/web/memidb/lib/FakeEventTarget.js +3 -1
- package/dist/module/internal/web/memidb/lib/FakeEventTarget.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/common/Base64.d.ts.map +1 -1
- package/dist/typescript/lib/common/index.d.ts.map +1 -1
- package/dist/typescript/lib/internal/asyncStorage.d.ts.map +1 -1
- package/dist/typescript/lib/internal/logger.d.ts.map +1 -1
- package/dist/typescript/lib/internal/nativeModuleAndroidIos.d.ts.map +1 -1
- package/dist/typescript/lib/internal/nativeModuleDebug.d.ts +2 -0
- package/dist/typescript/lib/internal/nativeModuleDebug.d.ts.map +1 -0
- package/dist/typescript/lib/internal/nativeModuleWeb.d.ts.map +1 -1
- package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts +7 -7
- package/dist/typescript/lib/internal/web/RNFBAppModule.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/firebase-schema.json +1 -1
- package/firebase_spm.rb +39 -1
- package/ios/RNFBApp/RNFBAppModule.mm +40 -14
- package/ios/RNFBApp/RNFBHandleMap.h +73 -0
- package/ios/RNFBApp/RNFBHandleMap.m +116 -0
- package/ios/RNFBApp/RNFBSharedUtils.m +3 -2
- package/ios/RNFBApp/RNFBVersion.m +1 -1
- package/ios/RNFBApp.xcodeproj/project.pbxproj +6 -0
- package/ios/RNFBAppUnitTests/RNFBAppUnitTests.xcodeproj/project.pbxproj +237 -0
- package/ios/RNFBAppUnitTests/RNFBAppUnitTests.xcodeproj/xcshareddata/xcschemes/RNFBAppUnitTests.xcscheme +69 -0
- package/ios/RNFBAppUnitTests/RNFBHandleMapTests.m +238 -0
- package/lib/common/Base64.ts +10 -16
- package/lib/common/index.ts +20 -9
- package/lib/internal/asyncStorage.ts +7 -11
- package/lib/internal/logger.ts +53 -43
- package/lib/internal/nativeModuleAndroidIos.ts +2 -40
- package/lib/internal/nativeModuleDebug.ts +97 -0
- package/lib/internal/nativeModuleWeb.ts +10 -40
- package/lib/internal/registry/app.ts +1 -1
- package/lib/internal/registry/modular.ts +2 -2
- package/lib/internal/registry/nativeModule.ts +3 -3
- package/lib/internal/web/RNFBAppModule.ts +16 -15
- package/lib/internal/web/memidb/lib/FakeEventTarget.js +3 -1
- package/lib/version.ts +1 -1
- package/package.json +4 -3
- package/plugin/build/ios/appDelegate.js +18 -8
- package/plugin/src/ios/appDelegate.ts +44 -14
|
@@ -26,20 +26,20 @@ import { DeviceEventEmitter } from 'react-native';
|
|
|
26
26
|
let jsReady = false;
|
|
27
27
|
let jsListenerCount = 0;
|
|
28
28
|
let queuedEvents = [];
|
|
29
|
-
let jsListeners =
|
|
29
|
+
let jsListeners = Object.create(null);
|
|
30
30
|
|
|
31
31
|
// For compatibility we have a fake preferences storage,
|
|
32
32
|
// it does not persist across app restarts.
|
|
33
|
-
let fakePreferencesStorage =
|
|
33
|
+
let fakePreferencesStorage = Object.create(null);
|
|
34
34
|
function eventsGetListenersMap() {
|
|
35
35
|
return {
|
|
36
36
|
listeners: jsListenerCount,
|
|
37
37
|
queued: queuedEvents.length,
|
|
38
|
-
events: jsListeners
|
|
38
|
+
events: Object.assign(Object.create(null), jsListeners)
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
function eventsSendEvent(eventName, eventBody) {
|
|
42
|
-
if (!jsReady || !
|
|
42
|
+
if (!jsReady || !Object.prototype.hasOwnProperty.call(jsListeners, eventName)) {
|
|
43
43
|
const event = {
|
|
44
44
|
eventName,
|
|
45
45
|
eventBody
|
|
@@ -136,7 +136,7 @@ export default {
|
|
|
136
136
|
*
|
|
137
137
|
* @returns The meta data
|
|
138
138
|
*/
|
|
139
|
-
metaGetAll() {
|
|
139
|
+
async metaGetAll() {
|
|
140
140
|
return {};
|
|
141
141
|
},
|
|
142
142
|
/**
|
|
@@ -145,7 +145,7 @@ export default {
|
|
|
145
145
|
*
|
|
146
146
|
* @returns The JSON data for the firebase.json file.
|
|
147
147
|
*/
|
|
148
|
-
jsonGetAll() {
|
|
148
|
+
async jsonGetAll() {
|
|
149
149
|
return {};
|
|
150
150
|
},
|
|
151
151
|
/**
|
|
@@ -165,7 +165,7 @@ export default {
|
|
|
165
165
|
* @param key - The key of the preference.
|
|
166
166
|
* @param value - The value to set.
|
|
167
167
|
*/
|
|
168
|
-
preferencesSetString(key, value) {
|
|
168
|
+
async preferencesSetString(key, value) {
|
|
169
169
|
fakePreferencesStorage[key] = value;
|
|
170
170
|
},
|
|
171
171
|
/**
|
|
@@ -174,15 +174,15 @@ export default {
|
|
|
174
174
|
*
|
|
175
175
|
* @returns The preferences.
|
|
176
176
|
*/
|
|
177
|
-
preferencesGetAll() {
|
|
178
|
-
return Object.assign(
|
|
177
|
+
async preferencesGetAll() {
|
|
178
|
+
return Object.assign(Object.create(null), fakePreferencesStorage);
|
|
179
179
|
},
|
|
180
180
|
/**
|
|
181
181
|
* Clears all preferences.
|
|
182
182
|
* Unsupported on web.
|
|
183
183
|
*/
|
|
184
|
-
preferencesClearAll() {
|
|
185
|
-
fakePreferencesStorage =
|
|
184
|
+
async preferencesClearAll() {
|
|
185
|
+
fakePreferencesStorage = Object.create(null);
|
|
186
186
|
},
|
|
187
187
|
/**
|
|
188
188
|
* Adds a listener for an event.
|
|
@@ -223,7 +223,7 @@ export default {
|
|
|
223
223
|
*
|
|
224
224
|
* @returns The listeners for the event.
|
|
225
225
|
*/
|
|
226
|
-
eventsGetListeners() {
|
|
226
|
+
async eventsGetListeners() {
|
|
227
227
|
return eventsGetListenersMap();
|
|
228
228
|
},
|
|
229
229
|
/**
|
|
@@ -233,8 +233,9 @@ export default {
|
|
|
233
233
|
* @param eventBody - The body of the event to send.
|
|
234
234
|
* @returns void
|
|
235
235
|
*/
|
|
236
|
-
eventsPing(eventName, eventBody) {
|
|
236
|
+
async eventsPing(eventName, eventBody) {
|
|
237
237
|
eventsSendEvent(eventName, eventBody);
|
|
238
|
+
return eventBody;
|
|
238
239
|
},
|
|
239
240
|
/**
|
|
240
241
|
* Adds a listener for an event.
|
|
@@ -243,7 +244,7 @@ export default {
|
|
|
243
244
|
*/
|
|
244
245
|
eventsAddListener(eventName) {
|
|
245
246
|
jsListenerCount++;
|
|
246
|
-
if (!
|
|
247
|
+
if (!Object.prototype.hasOwnProperty.call(jsListeners, eventName)) {
|
|
247
248
|
jsListeners[eventName] = 1;
|
|
248
249
|
} else {
|
|
249
250
|
if (jsListeners[eventName] !== undefined) {
|
|
@@ -263,7 +264,7 @@ export default {
|
|
|
263
264
|
* @param all - Optional. Whether to remove all listeners for the event.
|
|
264
265
|
*/
|
|
265
266
|
eventsRemoveListener(eventName, all) {
|
|
266
|
-
if (
|
|
267
|
+
if (Object.prototype.hasOwnProperty.call(jsListeners, eventName)) {
|
|
267
268
|
const count = jsListeners[eventName];
|
|
268
269
|
if (count !== undefined) {
|
|
269
270
|
if (count <= 1 || all) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initializeApp","setLogLevel","getApp","getApps","deleteApp","DeviceEventEmitter","jsReady","jsListenerCount","queuedEvents","jsListeners","fakePreferencesStorage","eventsGetListenersMap","listeners","queued","length","events","eventsSendEvent","eventName","eventBody","hasOwnProperty","event","push","emit","setImmediate","setTimeout","eventsSendQueuedEvents","Array","from","i","NATIVE_FIREBASE_APPS","FIREBASE_RAW_JSON","options","appConfig","name","existingApp","find","app","newAppConfig","automaticDataCollectionEnabled","optionsCopy","
|
|
1
|
+
{"version":3,"names":["initializeApp","setLogLevel","getApp","getApps","deleteApp","DeviceEventEmitter","jsReady","jsListenerCount","queuedEvents","jsListeners","Object","create","fakePreferencesStorage","eventsGetListenersMap","listeners","queued","length","events","assign","eventsSendEvent","eventName","eventBody","prototype","hasOwnProperty","call","event","push","emit","setImmediate","setTimeout","eventsSendQueuedEvents","Array","from","i","NATIVE_FIREBASE_APPS","FIREBASE_RAW_JSON","options","appConfig","name","existingApp","find","app","newAppConfig","automaticDataCollectionEnabled","optionsCopy","clientId","logLevel","setAutomaticDataCollectionEnabled","appName","enabled","metaGetAll","jsonGetAll","preferencesSetBool","key","value","preferencesSetString","preferencesGetAll","preferencesClearAll","addListener","removeListeners","eventsNotifyReady","ready","eventsGetListeners","eventsPing","eventsAddListener","undefined","eventsRemoveListener","all","count","currentCount"],"sourceRoot":"../../../../lib","sources":["internal/web/RNFBAppModule.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -62,7 +62,9 @@ class FakeEventTarget {
|
|
|
62
62
|
const i = this.listeners.findIndex(listener => {
|
|
63
63
|
return listener.type === type && listener.callback === callback && listener.capture === capture;
|
|
64
64
|
});
|
|
65
|
-
|
|
65
|
+
if (i >= 0) {
|
|
66
|
+
this.listeners.splice(i, 1);
|
|
67
|
+
}
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
// http://www.w3.org/TR/dom/#dispatching-events
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InvalidStateError","stopped","event","listener","immediatePropagationStopped","eventPhase","CAPTURING_PHASE","capture","BUBBLING_PHASE","invokeEventListeners","obj","currentTarget","listeners","slice","type","callback","call","typeToProp","abort","blocked","complete","error","success","upgradeneeded","versionchange","prop","undefined","Error","FakeEventTarget","addEventListener","push","removeEventListener","i","findIndex","splice","dispatchEvent","dispatched","initialized","isTrusted","target","eventPath","propagationStopped","AT_TARGET","bubbles","reverse","NONE","canceled"],"sourceRoot":"../../../../../../lib","sources":["internal/web/memidb/lib/FakeEventTarget.js"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,aAAa;AAC/C,MAAMC,OAAO,GAAGA,CAACC,KAAK,EAAEC,QAAQ,KAAK;EACnC,OACED,KAAK,CAACE,2BAA2B,IAChCF,KAAK,CAACG,UAAU,KAAKH,KAAK,CAACI,eAAe,IAAIH,QAAQ,CAACI,OAAO,KAAK,KAAM,IACzEL,KAAK,CAACG,UAAU,KAAKH,KAAK,CAACM,cAAc,IAAIL,QAAQ,CAACI,OAAO,KAAK,IAAK;AAE5E,CAAC;;AAED;AACA,MAAME,oBAAoB,GAAGA,CAACP,KAAK,EAAEQ,GAAG,KAAK;EAC3CR,KAAK,CAACS,aAAa,GAAGD,GAAG;;EAEzB;EACA;EACA;EACA,KAAK,MAAMP,QAAQ,IAAIO,GAAG,CAACE,SAAS,CAACC,KAAK,CAAC,CAAC,EAAE;IAC5C,IAAIX,KAAK,CAACY,IAAI,KAAKX,QAAQ,CAACW,IAAI,IAAIb,OAAO,CAACC,KAAK,EAAEC,QAAQ,CAAC,EAAE;MAC5D;IACF;;IAEA;IACAA,QAAQ,CAACY,QAAQ,CAACC,IAAI,CAACd,KAAK,CAACS,aAAa,EAAET,KAAK,CAAC;EACpD;EACA,MAAMe,UAAU,GAAG;IACjBC,KAAK,EAAE,SAAS;IAChBC,OAAO,EAAE,WAAW;IACpBC,QAAQ,EAAE,YAAY;IACtBC,KAAK,EAAE,SAAS;IAChBC,OAAO,EAAE,WAAW;IACpBC,aAAa,EAAE,iBAAiB;IAChCC,aAAa,EAAE;EACjB,CAAC;EACD,MAAMC,IAAI,GAAGR,UAAU,CAACf,KAAK,CAACY,IAAI,CAAC;EACnC,IAAIW,IAAI,KAAKC,SAAS,EAAE;IACtB,MAAM,IAAIC,KAAK,CAAC,wBAAwBzB,KAAK,CAACY,IAAI,GAAG,CAAC;EACxD;EACA,MAAMC,QAAQ,GAAGb,KAAK,CAACS,aAAa,CAACc,IAAI,CAAC;EAC1C,IAAIV,QAAQ,EAAE;IACZ,MAAMZ,QAAQ,GAAG;MACfY,QAAQ;MACRR,OAAO,EAAE,KAAK;MACdO,IAAI,EAAEZ,KAAK,CAACY;IACd,CAAC;IACD,IAAI,CAACb,OAAO,CAACC,KAAK,EAAEC,QAAQ,CAAC,EAAE;MAC7B;MACAA,QAAQ,CAACY,QAAQ,CAACC,IAAI,CAACd,KAAK,CAACS,aAAa,EAAET,KAAK,CAAC;IACpD;EACF;AACF,CAAC;AACD,MAAM0B,eAAe,CAAC;EACpBhB,SAAS,GAAG,EAAE;;EAEd;;EAEAiB,gBAAgBA,CAACf,IAAI,EAAEC,QAAQ,EAAER,OAAO,GAAG,KAAK,EAAE;IAChD,IAAI,CAACK,SAAS,CAACkB,IAAI,CAAC;MAClBf,QAAQ;MACRR,OAAO;MACPO;IACF,CAAC,CAAC;EACJ;EACAiB,mBAAmBA,CAACjB,IAAI,EAAEC,QAAQ,EAAER,OAAO,GAAG,KAAK,EAAE;IACnD,MAAMyB,CAAC,GAAG,IAAI,CAACpB,SAAS,CAACqB,SAAS,CAAC9B,QAAQ,IAAI;MAC7C,OACEA,QAAQ,CAACW,IAAI,KAAKA,IAAI,IAAIX,QAAQ,CAACY,QAAQ,KAAKA,QAAQ,IAAIZ,QAAQ,CAACI,OAAO,KAAKA,OAAO;IAE5F,CAAC,CAAC;IACF,IAAI,
|
|
1
|
+
{"version":3,"names":["InvalidStateError","stopped","event","listener","immediatePropagationStopped","eventPhase","CAPTURING_PHASE","capture","BUBBLING_PHASE","invokeEventListeners","obj","currentTarget","listeners","slice","type","callback","call","typeToProp","abort","blocked","complete","error","success","upgradeneeded","versionchange","prop","undefined","Error","FakeEventTarget","addEventListener","push","removeEventListener","i","findIndex","splice","dispatchEvent","dispatched","initialized","isTrusted","target","eventPath","propagationStopped","AT_TARGET","bubbles","reverse","NONE","canceled"],"sourceRoot":"../../../../../../lib","sources":["internal/web/memidb/lib/FakeEventTarget.js"],"mappings":"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","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Base64.d.ts","sourceRoot":"","sources":["../../../../lib/common/Base64.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Base64.d.ts","sourceRoot":"","sources":["../../../../lib/common/Base64.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,iBAAS,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBnC;AAED;;GAEG;AACH,iBAAS,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA0BnC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC/B;AAED;;GAEG;AACH,iBAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAwB9E;;;;;;AAED,wBAIE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/common/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEhE,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEvC,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/common/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEhE,cAAc,MAAM,CAAC;AACrB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEvC,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAyBnE;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACpD,EAAE,EAAE,CAAC,EACL,OAAO,CAAC,EAAE,GAAG,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAY3C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,KAAK,CAMlD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAKnD;AAED,eAAO,MAAM,KAAK,SAAwB,CAAC;AAE3C,eAAO,MAAM,SAAS,SAA4B,CAAC;AAEnD,eAAO,MAAM,OAAO,SAAqD,CAAC;AAE1E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,CAMnE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAMzD;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,kBAAkB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GACrD,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAYpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncStorage.d.ts","sourceRoot":"","sources":["../../../../lib/internal/asyncStorage.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,eAAO,MAAM,aAAa,qBAA4B,CAAC;AAGvD,eAAO,MAAM,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"asyncStorage.d.ts","sourceRoot":"","sources":["../../../../lib/internal/asyncStorage.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,eAAO,MAAM,aAAa,qBAA4B,CAAC;AAGvD,eAAO,MAAM,MAAM,4BAA4B,CAAC;AAmBhD,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAEtF;AAGD,wBAAgB,kCAAkC,CAChD,oBAAoB,CAAC,EAAE,kBAAkB,GACxC,IAAI,CAEN;AAGD,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE3D;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../lib/internal/logger.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,KAAK,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjF;;;;;;;;;;GAUG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,OAAO,IAAI;IACX,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AA2CD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../lib/internal/logger.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,KAAK,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjF;;;;;;;;;;GAUG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,OAAO,IAAI;IACX,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AA2CD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAmEjG;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,EAAO,CAAC;AAEtC;;GAEG;AACH,qBAAa,MAAM;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,eAAe,CAA4C;IAEnE;;;;;OAKG;gBACS,IAAI,EAAE,MAAM;IAQxB;;OAEG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAKzB;IAGD,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI;IAIjD;;;OAGG;IACH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,EAK7B;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,UAAU,GAAG,IAAI,CAEtC;IAED,IAAI,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,EAExC;IAED;;OAEG;IAEH,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/B,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK7B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAIhC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI,CAMlE;AAGD,eAAO,MAAM,mBAAmB,oBAAc,CAAC;AAE/C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAK7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeModuleAndroidIos.d.ts","sourceRoot":"","sources":["../../../../lib/internal/nativeModuleAndroidIos.ts"],"names":[],"mappings":"AA2CA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"nativeModuleAndroidIos.d.ts","sourceRoot":"","sources":["../../../../lib/internal/nativeModuleAndroidIos.ts"],"names":[],"mappings":"AA2CA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBhF;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeModuleDebug.d.ts","sourceRoot":"","sources":["../../../../lib/internal/nativeModuleDebug.ts"],"names":[],"mappings":"AAmCA,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0DzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeModuleWeb.d.ts","sourceRoot":"","sources":["../../../../lib/internal/nativeModuleWeb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nativeModuleWeb.d.ts","sourceRoot":"","sources":["../../../../lib/internal/nativeModuleWeb.ts"],"names":[],"mappings":"AAWA,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAgB5F;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,IAAI,CAGN"}
|
|
@@ -50,14 +50,14 @@ declare const _default: {
|
|
|
50
50
|
*
|
|
51
51
|
* @returns The meta data
|
|
52
52
|
*/
|
|
53
|
-
metaGetAll(): Record<string, never
|
|
53
|
+
metaGetAll(): Promise<Record<string, never>>;
|
|
54
54
|
/**
|
|
55
55
|
* Gets the firebase.json data.
|
|
56
56
|
* Unsupported on web.
|
|
57
57
|
*
|
|
58
58
|
* @returns The JSON data for the firebase.json file.
|
|
59
59
|
*/
|
|
60
|
-
jsonGetAll(): Record<string, never
|
|
60
|
+
jsonGetAll(): Promise<Record<string, never>>;
|
|
61
61
|
/**
|
|
62
62
|
* Sets a boolean value for a preference.
|
|
63
63
|
* Unsupported on web.
|
|
@@ -73,19 +73,19 @@ declare const _default: {
|
|
|
73
73
|
* @param key - The key of the preference.
|
|
74
74
|
* @param value - The value to set.
|
|
75
75
|
*/
|
|
76
|
-
preferencesSetString(key: string, value: string): void
|
|
76
|
+
preferencesSetString(key: string, value: string): Promise<void>;
|
|
77
77
|
/**
|
|
78
78
|
* Gets all preferences.
|
|
79
79
|
* Unsupported on web.
|
|
80
80
|
*
|
|
81
81
|
* @returns The preferences.
|
|
82
82
|
*/
|
|
83
|
-
preferencesGetAll(): PreferencesStorage
|
|
83
|
+
preferencesGetAll(): Promise<PreferencesStorage>;
|
|
84
84
|
/**
|
|
85
85
|
* Clears all preferences.
|
|
86
86
|
* Unsupported on web.
|
|
87
87
|
*/
|
|
88
|
-
preferencesClearAll(): void
|
|
88
|
+
preferencesClearAll(): Promise<void>;
|
|
89
89
|
/**
|
|
90
90
|
* Adds a listener for an event.
|
|
91
91
|
* Unsupported on web.
|
|
@@ -112,7 +112,7 @@ declare const _default: {
|
|
|
112
112
|
*
|
|
113
113
|
* @returns The listeners for the event.
|
|
114
114
|
*/
|
|
115
|
-
eventsGetListeners(): ListenersMap
|
|
115
|
+
eventsGetListeners(): Promise<ListenersMap>;
|
|
116
116
|
/**
|
|
117
117
|
* Sends an event to the app for testing purposes.
|
|
118
118
|
*
|
|
@@ -120,7 +120,7 @@ declare const _default: {
|
|
|
120
120
|
* @param eventBody - The body of the event to send.
|
|
121
121
|
* @returns void
|
|
122
122
|
*/
|
|
123
|
-
eventsPing(eventName: string, eventBody: any):
|
|
123
|
+
eventsPing(eventName: string, eventBody: any): Promise<any>;
|
|
124
124
|
/**
|
|
125
125
|
* Adds a listener for an event.
|
|
126
126
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNFBAppModule.d.ts","sourceRoot":"","sources":["../../../../../lib/internal/web/RNFBAppModule.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQvD,UAAU,cAAc;IACtB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACjC;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,mBAAmB,CAAC,kBAAkB,CAAC;IAChD,SAAS,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;CAClD;;0BAqD6B,GAAG,EAAE;;IAKjC;;;;;;OAMG;2BAEQ,mBAAmB,CAAC,kBAAkB,aACpC,mBAAmB,CAAC,iBAAiB,GAC/C,OAAO,CAAC,mBAAmB,CAAC;IA4B/B;;;;OAIG;0BACmB,mBAAmB,CAAC,cAAc,GAAG,IAAI;IAI/D;;;;;OAKG;+CACwC,MAAM,WAAW,OAAO,GAAG,IAAI;IAI1E;;;;OAIG;uBACsB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"RNFBAppModule.d.ts","sourceRoot":"","sources":["../../../../../lib/internal/web/RNFBAppModule.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQvD,UAAU,cAAc;IACtB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACjC;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,mBAAmB,CAAC,kBAAkB,CAAC;IAChD,SAAS,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;CAClD;;0BAqD6B,GAAG,EAAE;;IAKjC;;;;;;OAMG;2BAEQ,mBAAmB,CAAC,kBAAkB,aACpC,mBAAmB,CAAC,iBAAiB,GAC/C,OAAO,CAAC,mBAAmB,CAAC;IA4B/B;;;;OAIG;0BACmB,mBAAmB,CAAC,cAAc,GAAG,IAAI;IAI/D;;;;;OAKG;+CACwC,MAAM,WAAW,OAAO,GAAG,IAAI;IAI1E;;;;OAIG;uBACsB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/C;;;;;OAKG;kBACiB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAIlD;;;;;OAKG;kBACiB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAIlD;;;;;;OAMG;4BAC2B,MAAM,SAAS,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;;OAMG;8BAC6B,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;;;;OAKG;yBACwB,OAAO,CAAC,kBAAkB,CAAC;IAItD;;;OAGG;2BAC0B,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;OAKG;mBACY,IAAI;IAGnB;;;;;OAKG;uBACgB,IAAI;IAIvB;;;;;OAKG;6BACsB,OAAO,GAAG,IAAI;IAWvC;;;;OAIG;0BACyB,OAAO,CAAC,YAAY,CAAC;IAIjD;;;;;;OAMG;0BACyB,MAAM,aAAa,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKjE;;;;OAIG;iCAC0B,MAAM,GAAG,IAAI;IAgB1C;;;;;OAKG;oCAC6B,MAAM,QAAQ,OAAO,GAAG,IAAI;;AA3N9D,wBA4OE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "26.
|
|
1
|
+
export declare const version = "26.4.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/firebase-schema.json
CHANGED
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"type": "array"
|
|
121
121
|
},
|
|
122
122
|
"messaging_max_stored_notifications": {
|
|
123
|
-
"description": "Controls how many notifications are retained on-device for background storage. Configuration priority order is SharedPreferences -> firebase.json -> AndroidManifest. Default 100. Very small values may cause unwanted excessive deletions, large values or large message contents run the risk of OutOfMemoryErrors.",
|
|
123
|
+
"description": "Controls how many notifications are retained on-device for background storage. Values less than or equal to zero disable storage and clear previously retained notifications. Configuration priority order is SharedPreferences -> firebase.json -> AndroidManifest. Default 100. Very small positive values may cause unwanted excessive deletions, large values or large message contents run the risk of OutOfMemoryErrors.",
|
|
124
124
|
"type": "number"
|
|
125
125
|
},
|
|
126
126
|
"perf_auto_collection_enabled": {
|
package/firebase_spm.rb
CHANGED
|
@@ -76,6 +76,18 @@ module RNFirebaseSPM
|
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
+
# Default Firebase iOS SDK version (`sdkVersions.ios.firebase`) from the
|
|
80
|
+
# app's own package.json, cached like `url`. Used by
|
|
81
|
+
# `rnfirebase_cocoapods_requirement` to tell the shipped default apart
|
|
82
|
+
# from a version the user pinned themselves.
|
|
83
|
+
def default_version
|
|
84
|
+
@default_version ||= begin
|
|
85
|
+
app_package_path = File.join(__dir__, 'package.json')
|
|
86
|
+
app_package = JSON.parse(File.read(app_package_path))
|
|
87
|
+
app_package['sdkVersions']['ios']['firebase']
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
79
91
|
# Records that `firebase_dependency` (below) took the SPM path for at
|
|
80
92
|
# least one podspec in this install, and which Firebase SDK `version` it
|
|
81
93
|
# resolved with. Called once, from `firebase_dependency` itself, the
|
|
@@ -133,6 +145,7 @@ module RNFirebaseSPM
|
|
|
133
145
|
@active = nil
|
|
134
146
|
@version = nil
|
|
135
147
|
@url = nil
|
|
148
|
+
@default_version = nil
|
|
136
149
|
end
|
|
137
150
|
end
|
|
138
151
|
end
|
|
@@ -1200,6 +1213,30 @@ end
|
|
|
1200
1213
|
|
|
1201
1214
|
rnfirebase_hook_cocoapods_post_install!
|
|
1202
1215
|
|
|
1216
|
+
# CocoaPods requirement for a Firebase iOS SDK pod dependency.
|
|
1217
|
+
#
|
|
1218
|
+
# SPM resolves from the firebase-ios-sdk git repo, where every release tags all
|
|
1219
|
+
# products, so an exact version always exists. CocoaPods publishes per pod, and
|
|
1220
|
+
# a patch release only republishes the pods that changed (12.19.3 exists for
|
|
1221
|
+
# `Firebase`, `FirebaseCore` and `FirebaseFirestore` only). An exact
|
|
1222
|
+
# `s.dependency 'FirebaseAnalytics/Core', '12.19.3'` therefore cannot resolve.
|
|
1223
|
+
#
|
|
1224
|
+
# When `version` is the shipped default (`sdkVersions.ios.firebase`), return a
|
|
1225
|
+
# compatible-release requirement for its minor line (`~> 12.19.0`) so each pod
|
|
1226
|
+
# resolves to its newest patch. Any other value is a version the user pinned via
|
|
1227
|
+
# `$FirebaseSDKVersion` / `FIREBASE_SDK_VERSION` and stays an exact pin.
|
|
1228
|
+
#
|
|
1229
|
+
# @param version [String] Firebase SDK version (e.g., '12.19.3')
|
|
1230
|
+
# @return [String] CocoaPods requirement (e.g., '~> 12.19.0') or `version` unchanged
|
|
1231
|
+
def rnfirebase_cocoapods_requirement(version)
|
|
1232
|
+
return version unless version == RNFirebaseSPM.default_version
|
|
1233
|
+
|
|
1234
|
+
match = /\A(\d+)\.(\d+)\.\d+\z/.match(version)
|
|
1235
|
+
return version unless match
|
|
1236
|
+
|
|
1237
|
+
"~> #{match[1]}.#{match[2]}.0"
|
|
1238
|
+
end
|
|
1239
|
+
|
|
1203
1240
|
# @param spec [Pod::Specification] The podspec object (the `s` in podspec DSL)
|
|
1204
1241
|
# @param version [String] Firebase SDK version (e.g., '12.10.0')
|
|
1205
1242
|
# @param spm_products [Array<String>] SPM product names (e.g., ['FirebaseAuth'])
|
|
@@ -1228,8 +1265,9 @@ def firebase_dependency(spec, version, spm_products, pods)
|
|
|
1228
1265
|
end
|
|
1229
1266
|
end
|
|
1230
1267
|
pods = [pods] unless pods.is_a?(Array)
|
|
1268
|
+
requirement = rnfirebase_cocoapods_requirement(version)
|
|
1231
1269
|
pods.each do |pod|
|
|
1232
|
-
spec.dependency pod,
|
|
1270
|
+
spec.dependency pod, requirement
|
|
1233
1271
|
end
|
|
1234
1272
|
end
|
|
1235
1273
|
end
|
|
@@ -41,8 +41,13 @@
|
|
|
41
41
|
#endif
|
|
42
42
|
|
|
43
43
|
@interface RNFBAppModule () <NativeRNFBTurboAppSpec, RCTInvalidating>
|
|
44
|
+
|
|
45
|
+
+ (void)setCustomDomain:(nullable NSString *)authDomain forAppName:(NSString *)appName;
|
|
46
|
+
|
|
44
47
|
@end
|
|
45
48
|
|
|
49
|
+
static NSMutableDictionary<NSString *, NSString *> *customAuthDomains;
|
|
50
|
+
|
|
46
51
|
@implementation RNFBAppModule
|
|
47
52
|
|
|
48
53
|
#pragma mark -
|
|
@@ -200,6 +205,9 @@ RCT_EXPORT_MODULE(NativeRNFBTurboApp)
|
|
|
200
205
|
RCTUnsafeExecuteOnMainQueueSync(^{
|
|
201
206
|
FIRApp *firApp;
|
|
202
207
|
NSString *appName = [appConfig valueForKey:@"name"];
|
|
208
|
+
NSString *authDomain = [options valueForKey:@"authDomain"];
|
|
209
|
+
NSString *jsAppName = (appName.length > 0) ? appName : DEFAULT_APP_DISPLAY_NAME;
|
|
210
|
+
BOOL isDefaultApp = !appName || [appName isEqualToString:DEFAULT_APP_DISPLAY_NAME];
|
|
203
211
|
|
|
204
212
|
NSString *appId = [options valueForKey:@"appId"];
|
|
205
213
|
NSString *messagingSenderId = [options valueForKey:@"messagingSenderId"];
|
|
@@ -223,17 +231,16 @@ RCT_EXPORT_MODULE(NativeRNFBTurboApp)
|
|
|
223
231
|
firOptions.appGroupID = [options valueForKey:@"appGroupId"];
|
|
224
232
|
}
|
|
225
233
|
|
|
226
|
-
if ([options valueForKey:@"authDomain"] != nil) {
|
|
227
|
-
DLog(@"RNFBAuth app: %@ customAuthDomain: %@", appName, [options valueForKey:@"authDomain"]);
|
|
228
|
-
if (customAuthDomains == nil) {
|
|
229
|
-
customAuthDomains = [[NSMutableDictionary alloc] init];
|
|
230
|
-
}
|
|
231
|
-
customAuthDomains[appName] = [options valueForKey:@"authDomain"];
|
|
232
|
-
}
|
|
233
234
|
@try {
|
|
234
|
-
if (
|
|
235
|
-
[FIRApp
|
|
236
|
-
|
|
235
|
+
if (isDefaultApp) {
|
|
236
|
+
// Native bootstrap often already called [FIRApp configure]. Still accept a JS/bridge
|
|
237
|
+
// initializeApp for the default app so customAuthDomains can be keyed by [DEFAULT].
|
|
238
|
+
if ([FIRApp defaultApp] != nil) {
|
|
239
|
+
firApp = [FIRApp defaultApp];
|
|
240
|
+
} else {
|
|
241
|
+
[FIRApp configureWithOptions:firOptions];
|
|
242
|
+
firApp = [FIRApp defaultApp];
|
|
243
|
+
}
|
|
237
244
|
} else {
|
|
238
245
|
[FIRApp configureWithName:appName options:firOptions];
|
|
239
246
|
firApp = [FIRApp appNamed:appName];
|
|
@@ -242,6 +249,9 @@ RCT_EXPORT_MODULE(NativeRNFBTurboApp)
|
|
|
242
249
|
return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
|
|
243
250
|
}
|
|
244
251
|
|
|
252
|
+
// Store under the JS bridge app name ([DEFAULT]), never native __FIRAPP_DEFAULT.
|
|
253
|
+
[RNFBAppModule setCustomDomain:authDomain forAppName:jsAppName];
|
|
254
|
+
|
|
245
255
|
firApp.dataCollectionDefaultEnabled =
|
|
246
256
|
(BOOL)[appConfig valueForKey:@"automaticDataCollectionEnabled"];
|
|
247
257
|
|
|
@@ -249,11 +259,25 @@ RCT_EXPORT_MODULE(NativeRNFBTurboApp)
|
|
|
249
259
|
});
|
|
250
260
|
}
|
|
251
261
|
|
|
252
|
-
static NSMutableDictionary<NSString *, NSString *> *customAuthDomains;
|
|
253
|
-
|
|
254
262
|
+ (NSString *)getCustomDomain:(NSString *)appName {
|
|
255
|
-
|
|
256
|
-
|
|
263
|
+
@synchronized(self) {
|
|
264
|
+
DLog(@"authDomains: %@", customAuthDomains);
|
|
265
|
+
return customAuthDomains[appName];
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
+ (void)setCustomDomain:(nullable NSString *)authDomain forAppName:(NSString *)appName {
|
|
270
|
+
@synchronized(self) {
|
|
271
|
+
if (authDomain != nil) {
|
|
272
|
+
DLog(@"RNFBAuth app: %@ customAuthDomain: %@", appName, authDomain);
|
|
273
|
+
if (customAuthDomains == nil) {
|
|
274
|
+
customAuthDomains = [[NSMutableDictionary alloc] init];
|
|
275
|
+
}
|
|
276
|
+
customAuthDomains[appName] = authDomain;
|
|
277
|
+
} else {
|
|
278
|
+
[customAuthDomains removeObjectForKey:appName];
|
|
279
|
+
}
|
|
280
|
+
}
|
|
257
281
|
}
|
|
258
282
|
|
|
259
283
|
- (void)setLogLevel:(NSString *)logLevel {
|
|
@@ -288,10 +312,12 @@ static NSMutableDictionary<NSString *, NSString *> *customAuthDomains;
|
|
|
288
312
|
|
|
289
313
|
[firApp deleteApp:^(BOOL success) {
|
|
290
314
|
if (success) {
|
|
315
|
+
[RNFBAppModule setCustomDomain:nil forAppName:appName];
|
|
291
316
|
resolve([NSNull null]);
|
|
292
317
|
} else {
|
|
293
318
|
[firApp deleteApp:^(BOOL success2) {
|
|
294
319
|
if (success2) {
|
|
320
|
+
[RNFBAppModule setCustomDomain:nil forAppName:appName];
|
|
295
321
|
resolve([NSNull null]);
|
|
296
322
|
} else {
|
|
297
323
|
reject(@"app/delete-app-failed", @"Failed to delete the specified app.", nil);
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this library except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#import <Foundation/Foundation.h>
|
|
19
|
+
|
|
20
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
21
|
+
|
|
22
|
+
FOUNDATION_EXPORT NSErrorDomain const RNFBHandleMapErrorDomain;
|
|
23
|
+
|
|
24
|
+
typedef NS_ERROR_ENUM(RNFBHandleMapErrorDomain, RNFBHandleMapErrorCode){
|
|
25
|
+
RNFBHandleMapErrorCollision = 1,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Thread-safe id → handle registry. The lock only moves pointers; this class never invokes methods
|
|
30
|
+
* on stored values (no SDK cancel/remove). Callers `take` or `takeAll`, then act on the returned
|
|
31
|
+
* object(s) outside the lock. Keys are typically NSNumber or NSString.
|
|
32
|
+
*
|
|
33
|
+
* `put` is unique: an occupied id fails with `RNFBHandleMapErrorCollision`. There is no upsert.
|
|
34
|
+
* Use `putIfAbsent` (first wins), `putIfAbsentOrSame` (first wins or same instance), or
|
|
35
|
+
* `putReplacing` (last wins) for atomic upsert.
|
|
36
|
+
*
|
|
37
|
+
* Do not lock on a `RNFBHandleMap` instance. This type uses a private lock object; callers that
|
|
38
|
+
* synchronize on the map can deadlock. Never `@synchronized(handleMap)` around these methods.
|
|
39
|
+
*/
|
|
40
|
+
@interface RNFBHandleMap : NSObject
|
|
41
|
+
|
|
42
|
+
/// Registers `value` under `key`. Returns NO and sets `error` if `key` is already occupied.
|
|
43
|
+
- (BOOL)put:(id)key value:(id)value error:(NSError *_Nullable *_Nullable)error;
|
|
44
|
+
|
|
45
|
+
/// Stores `value` under `key` only when the key is free (first wins). Returns NO if occupied.
|
|
46
|
+
- (BOOL)putIfAbsent:(id)key value:(id)value;
|
|
47
|
+
|
|
48
|
+
/// Under one lock: stores when free, or YES when existing is the same instance (`==`). NO if
|
|
49
|
+
/// occupied by a different value.
|
|
50
|
+
- (BOOL)putIfAbsentOrSame:(id)key value:(id)value;
|
|
51
|
+
|
|
52
|
+
/// Atomically replaces the mapping for `key` (last wins). Returns the previous value, or nil.
|
|
53
|
+
- (nullable id)putReplacing:(id)key value:(id)value;
|
|
54
|
+
|
|
55
|
+
/// Peeks at the handle for `key` without removing it (for emit while still registered).
|
|
56
|
+
- (nullable id)get:(id)key;
|
|
57
|
+
|
|
58
|
+
/// Removes and returns the handle for `key`, or nil if absent.
|
|
59
|
+
- (nullable id)take:(id)key;
|
|
60
|
+
|
|
61
|
+
/// When `key` is mapped and `condition` returns YES for the handle, removes and returns it;
|
|
62
|
+
/// otherwise returns nil and leaves the map unchanged. Lookup, condition, and removal run under one
|
|
63
|
+
/// lock — use for check-and-take that must not race with concurrent `put` / `take` on the same key.
|
|
64
|
+
/// Keep `condition` lightweight (no SDK cancel/remove).
|
|
65
|
+
- (nullable id)takeIf:(id)key when:(BOOL (^)(id value))condition;
|
|
66
|
+
|
|
67
|
+
/// Snapshot of current values, then clear. Cancel/remove each returned object after this method
|
|
68
|
+
/// returns, not under this map's lock.
|
|
69
|
+
- (NSArray *)takeAll;
|
|
70
|
+
|
|
71
|
+
@end
|
|
72
|
+
|
|
73
|
+
NS_ASSUME_NONNULL_END
|