posthog-react-native 4.76.0 → 4.77.0
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/dist/error-tracking/fatal-payload.d.ts +14 -0
- package/dist/error-tracking/fatal-payload.js +2 -0
- package/dist/error-tracking/fatal-payload.js.map +1 -0
- package/dist/error-tracking/index.d.ts +21 -2
- package/dist/error-tracking/index.js +1 -1
- package/dist/error-tracking/index.js.map +1 -1
- package/dist/optional/OptionalPlugin.d.ts +7 -0
- package/dist/optional/OptionalPlugin.js.map +1 -1
- package/dist/posthog-rn.d.ts +19 -0
- package/dist/posthog-rn.js +1 -1
- package/dist/posthog-rn.js.map +1 -1
- package/dist/storage.d.ts +8 -0
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +4 -4
package/dist/storage.d.ts
CHANGED
|
@@ -21,6 +21,14 @@ export declare class PostHogRNStorage {
|
|
|
21
21
|
* inside persist() / _drainScheduledPersist().
|
|
22
22
|
*/
|
|
23
23
|
waitForPersist(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Same as {@link waitForPersist}, but resolves to `true` only when every
|
|
26
|
+
* in-flight (and any freshly-drained scheduled) write landed successfully.
|
|
27
|
+
* Returns `false` if any tracked write rejected — the caller is responsible
|
|
28
|
+
* for treating that as "data not durable" and not e.g. removing a recovery
|
|
29
|
+
* entry from a backup store.
|
|
30
|
+
*/
|
|
31
|
+
waitForPersistSuccess(): Promise<boolean>;
|
|
24
32
|
persist(): void;
|
|
25
33
|
private schedulePersist;
|
|
26
34
|
private _drainScheduledPersist;
|
package/dist/storage.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogRNSyncMemoryStorage=exports.PostHogRNStorage=void 0;exports.createEventsMemoryStorage=createEventsMemoryStorage;exports.createEventsStorage=createEventsStorage;exports.createLogsMemoryStorage=createLogsMemoryStorage;exports.createLogsStorage=createLogsStorage;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _core=require("@posthog/core");function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e));}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}var EVENTS_STORAGE_FILE='.posthog-rn.json';var LOGS_STORAGE_FILE='.posthog-rn-logs.json';var POSTHOG_STORAGE_VERSION='v1';var PERSIST_DEBOUNCE_MS=100;var PostHogRNStorage=exports.PostHogRNStorage=function(){function PostHogRNStorage(storage,storageKey){var _this=this;(0,_classCallCheck2["default"])(this,PostHogRNStorage);
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.PostHogRNSyncMemoryStorage=exports.PostHogRNStorage=void 0;exports.createEventsMemoryStorage=createEventsMemoryStorage;exports.createEventsStorage=createEventsStorage;exports.createLogsMemoryStorage=createLogsMemoryStorage;exports.createLogsStorage=createLogsStorage;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _core=require("@posthog/core");function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e));}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}var EVENTS_STORAGE_FILE='.posthog-rn.json';var LOGS_STORAGE_FILE='.posthog-rn-logs.json';var POSTHOG_STORAGE_VERSION='v1';var PERSIST_DEBOUNCE_MS=100;var PostHogRNStorage=exports.PostHogRNStorage=function(){function PostHogRNStorage(storage,storageKey){var _this=this;(0,_classCallCheck2["default"])(this,PostHogRNStorage);this.memoryCache={};this._pendingPromises=new Set();this.storage=storage;this._storageKey=storageKey;var preloadResult=this.storage.getItem(this._storageKey);if((0,_core.isPromise)(preloadResult)){this.preloadPromise=preloadResult.then(function(res){_this.populateMemoryCache(res);});void this.preloadPromise.then(function(){_this.preloadPromise=undefined;},function(){_this.preloadPromise=undefined;});}else{this.populateMemoryCache(preloadResult);}}return(0,_createClass2["default"])(PostHogRNStorage,[{key:"waitForPersist",value:(function(){var _waitForPersist=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:this._drainScheduledPersist();if(!(this._pendingPromises.size>0)){_context.next=1;break;}_context.next=1;return Promise.all(this._pendingPromises);case 1:case"end":return _context.stop();}},_callee,this);}));function waitForPersist(){return _waitForPersist.apply(this,arguments);}return waitForPersist;}())},{key:"waitForPersistSuccess",value:(function(){var _waitForPersistSuccess=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var results;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:this._drainScheduledPersist();if(!(this._pendingPromises.size===0)){_context2.next=1;break;}return _context2.abrupt("return",true);case 1:_context2.next=2;return Promise.all(this._pendingPromises);case 2:results=_context2.sent;return _context2.abrupt("return",results.every(function(r){return r===true;}));case 3:case"end":return _context2.stop();}},_callee2,this);}));function waitForPersistSuccess(){return _waitForPersistSuccess.apply(this,arguments);}return waitForPersistSuccess;}())},{key:"persist",value:function persist(){var _this2=this;var payload={version:POSTHOG_STORAGE_VERSION,content:this.memoryCache};var result;try{result=this.storage.setItem(this._storageKey,JSON.stringify(payload));}catch(err){console.warn('PostHog storage persist failed:',err);var promise=Promise.resolve(false);this._pendingPromises.add(promise);void promise["finally"](function(){_this2._pendingPromises["delete"](promise);});return;}if((0,_core.isPromise)(result)){var _promise=result.then(function(){return true;})["catch"](function(err){console.warn('PostHog storage persist failed:',err);return false;})["finally"](function(){_this2._pendingPromises["delete"](_promise);});this._pendingPromises.add(_promise);}}},{key:"schedulePersist",value:function schedulePersist(){var _this3=this;if(this._persistTimer!==undefined){return;}this._persistTimer=(0,_core.safeSetTimeout)(function(){_this3._persistTimer=undefined;try{_this3.persist();}catch(err){console.warn('PostHog storage scheduled persist threw:',err);}},PERSIST_DEBOUNCE_MS);}},{key:"_drainScheduledPersist",value:function _drainScheduledPersist(){if(this._persistTimer===undefined){return;}clearTimeout(this._persistTimer);this._persistTimer=undefined;try{this.persist();}catch(err){console.warn('PostHog storage drain persist threw:',err);}}},{key:"getItem",value:function getItem(key){return this.memoryCache[key];}},{key:"setItem",value:function setItem(key,value){this.memoryCache[key]=value;this.schedulePersist();}},{key:"removeItem",value:function removeItem(key){delete this.memoryCache[key];this.schedulePersist();}},{key:"clear",value:function clear(){for(var key in this.memoryCache){delete this.memoryCache[key];}this.schedulePersist();}},{key:"getAllKeys",value:function getAllKeys(){return Object.keys(this.memoryCache);}},{key:"populateMemoryCache",value:function populateMemoryCache(res){try{var data=res?JSON.parse(res).content:{};for(var key in data){this.memoryCache[key]=data[key];}}catch(e){console.warn("PostHog failed to load persisted data from storage. This is likely because the storage format is. We'll reset the storage.",e);}}}]);}();var PostHogRNSyncMemoryStorage=exports.PostHogRNSyncMemoryStorage=function(_PostHogRNStorage){function PostHogRNSyncMemoryStorage(storageKey){(0,_classCallCheck2["default"])(this,PostHogRNSyncMemoryStorage);var cache={};var storage={getItem:function getItem(key){return cache[key];},setItem:function setItem(key,value){cache[key]=value;}};return _callSuper(this,PostHogRNSyncMemoryStorage,[storage,storageKey]);}(0,_inherits2["default"])(PostHogRNSyncMemoryStorage,_PostHogRNStorage);return(0,_createClass2["default"])(PostHogRNSyncMemoryStorage);}(PostHogRNStorage);function createEventsStorage(customStorage){return new PostHogRNStorage(customStorage,EVENTS_STORAGE_FILE);}function createLogsStorage(customStorage){return new PostHogRNStorage(customStorage,LOGS_STORAGE_FILE);}function createEventsMemoryStorage(){return new PostHogRNSyncMemoryStorage(EVENTS_STORAGE_FILE);}function createLogsMemoryStorage(){return new PostHogRNSyncMemoryStorage(LOGS_STORAGE_FILE);}
|
|
2
2
|
//# sourceMappingURL=storage.js.map
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","names":["_core","require","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","EVENTS_STORAGE_FILE","LOGS_STORAGE_FILE","POSTHOG_STORAGE_VERSION","PERSIST_DEBOUNCE_MS","PostHogRNStorage","exports","storage","storageKey","_this","_classCallCheck2","memoryCache","_pendingPromises","Set","_storageKey","preloadResult","getItem","isPromise","preloadPromise","then","res","populateMemoryCache","_a","undefined","_createClass2","key","value","_waitForPersist","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","_drainScheduledPersist","size","Promise","all","stop","waitForPersist","arguments","persist","_this2","payload","version","content","result","setItem","JSON","stringify","promise","err","console","warn","add","schedulePersist","_this3","_persistTimer","safeSetTimeout","clearTimeout","removeItem","clear","getAllKeys","Object","keys","data","parse","PostHogRNSyncMemoryStorage","_PostHogRNStorage","cache","_inherits2","createEventsStorage","customStorage","createLogsStorage","createEventsMemoryStorage","createLogsMemoryStorage"],"sources":["../src/storage.ts"],"sourcesContent":["import { isPromise, safeSetTimeout } from '@posthog/core'\nimport { PostHogCustomStorage } from './types'\n\n// Module-local: SDK-internal detail, not part of any public or reachable\n// surface. The factory functions below are the only way to obtain a storage\n// instance bound to one of these files.\nconst EVENTS_STORAGE_FILE = '.posthog-rn.json'\nconst LOGS_STORAGE_FILE = '.posthog-rn-logs.json'\nconst POSTHOG_STORAGE_VERSION = 'v1'\n\n// Window over which storage mutations coalesce into one disk write. The\n// single-blob storage shape re-serializes the full cache on every write, so an\n// unbatched burst of N captures costs O(n²) bytes; coalescing collapses a\n// same-tick burst to a single write. The mutation lands in memoryCache\n// synchronously — only the disk write is deferred — and flush / AppState\n// background / shutdown each force a synchronous write via waitForPersist, so\n// the only data-loss window is a hard crash before the next drain.\n//\n// 100ms is chosen from the write-rate curve: at high burst rates the disk-write\n// count is already floored by the events flushAt (a flush drains every 20\n// events), and 100ms is enough to reach that floor while bounding worst-case\n// loss to ~one flush batch. Larger windows don't reduce writes further (the\n// floor is flushAt, not the window) and only widen the loss window when flushes\n// aren't draining.\nconst PERSIST_DEBOUNCE_MS = 100\n\ntype PostHogStorageContents = { [key: string]: any }\n\nexport class PostHogRNStorage {\n memoryCache: PostHogStorageContents = {}\n storage: PostHogCustomStorage\n preloadPromise: Promise<void> | undefined\n private _storageKey: string\n private _pendingPromises: Set<Promise<void>> = new Set()\n // Single in-flight debounce timer. Its presence doubles as the \"a write is\n // scheduled\" flag — one source of truth. Armed on the first mutation in a\n // window and deliberately not reset by later mutations, so write latency is\n // bounded to PERSIST_DEBOUNCE_MS rather than starving under a continuous\n // stream of captures.\n private _persistTimer?: ReturnType<typeof setTimeout>\n\n // Prefer the `create*Storage` factories below over calling this directly —\n // they're the only callers that know which file to bind to.\n constructor(storage: PostHogCustomStorage, storageKey: string) {\n this.storage = storage\n this._storageKey = storageKey\n\n const preloadResult = this.storage.getItem(this._storageKey)\n\n if (isPromise(preloadResult)) {\n this.preloadPromise = preloadResult.then((res) => {\n this.populateMemoryCache(res)\n })\n\n this.preloadPromise?.finally(() => {\n this.preloadPromise = undefined\n })\n } else {\n this.populateMemoryCache(preloadResult)\n }\n }\n\n /**\n * Force any scheduled write to be initiated now and await in-flight async\n * writes. Used by durability-sensitive paths (events flush, AppState\n * background, shutdown, login/logout/opt-in/opt-out, fatal exceptions) so the\n * latest state is on its way to the backend before they continue.\n *\n * Best-effort under crash: backend writes are async, so an immediate\n * termination can interrupt them. Never throws — backend errors are logged\n * inside persist() / _drainScheduledPersist().\n */\n async waitForPersist(): Promise<void> {\n this._drainScheduledPersist()\n if (this._pendingPromises.size > 0) {\n await Promise.all(this._pendingPromises)\n }\n }\n\n persist(): void {\n const payload = {\n version: POSTHOG_STORAGE_VERSION,\n content: this.memoryCache,\n }\n\n const result = this.storage.setItem(this._storageKey, JSON.stringify(payload))\n\n // Track async persist operations so we can wait for them if needed\n if (isPromise(result)) {\n const promise = result\n .catch((err) => {\n console.warn('PostHog storage persist failed:', err)\n })\n .finally(() => {\n this._pendingPromises.delete(promise)\n })\n this._pendingPromises.add(promise)\n }\n }\n\n // Arm a single debounced persist on the first un-persisted mutation. Repeated\n // calls within the window are no-ops — the mutation is already in memoryCache\n // and the scheduled fire reads the final state.\n private schedulePersist(): void {\n if (this._persistTimer !== undefined) {\n return\n }\n this._persistTimer = safeSetTimeout(() => {\n this._persistTimer = undefined\n try {\n this.persist()\n } catch (err) {\n console.warn('PostHog storage scheduled persist threw:', err)\n }\n }, PERSIST_DEBOUNCE_MS)\n }\n\n // Force any scheduled persist to fire now (cancels the timer, persists immediately).\n private _drainScheduledPersist(): void {\n if (this._persistTimer === undefined) {\n return\n }\n clearTimeout(this._persistTimer)\n this._persistTimer = undefined\n try {\n this.persist()\n } catch (err) {\n console.warn('PostHog storage drain persist threw:', err)\n }\n }\n\n getItem(key: string): any | null | undefined {\n return this.memoryCache[key]\n }\n setItem(key: string, value: any): void {\n this.memoryCache[key] = value\n this.schedulePersist()\n }\n removeItem(key: string): void {\n delete this.memoryCache[key]\n this.schedulePersist()\n }\n clear(): void {\n for (const key in this.memoryCache) {\n delete this.memoryCache[key]\n }\n this.schedulePersist()\n }\n getAllKeys(): readonly string[] {\n return Object.keys(this.memoryCache)\n }\n\n populateMemoryCache(res: string | null): void {\n try {\n const data = res ? JSON.parse(res).content : {}\n\n for (const key in data) {\n this.memoryCache[key] = data[key]\n }\n } catch (e) {\n console.warn(\n \"PostHog failed to load persisted data from storage. This is likely because the storage format is. We'll reset the storage.\",\n e\n )\n }\n }\n}\n\nexport class PostHogRNSyncMemoryStorage extends PostHogRNStorage {\n constructor(storageKey: string) {\n const cache: { [key: string]: any | undefined } = {}\n const storage = {\n getItem: (key: string) => cache[key],\n setItem: (key: string, value: string) => {\n cache[key] = value\n },\n }\n\n super(storage, storageKey)\n }\n}\n\n// Factory functions that bind the storage instance to the correct SDK-internal\n// file. The file names never leave this module — callers (including tests)\n// reach storages only through these helpers.\nexport function createEventsStorage(customStorage: PostHogCustomStorage): PostHogRNStorage {\n return new PostHogRNStorage(customStorage, EVENTS_STORAGE_FILE)\n}\n\nexport function createLogsStorage(customStorage: PostHogCustomStorage): PostHogRNStorage {\n return new PostHogRNStorage(customStorage, LOGS_STORAGE_FILE)\n}\n\nexport function createEventsMemoryStorage(): PostHogRNStorage {\n return new PostHogRNSyncMemoryStorage(EVENTS_STORAGE_FILE)\n}\n\nexport function createLogsMemoryStorage(): PostHogRNStorage {\n return new PostHogRNSyncMemoryStorage(LOGS_STORAGE_FILE)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"storage.js","names":["_core","require","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","EVENTS_STORAGE_FILE","LOGS_STORAGE_FILE","POSTHOG_STORAGE_VERSION","PERSIST_DEBOUNCE_MS","PostHogRNStorage","exports","storage","storageKey","_this","_classCallCheck2","memoryCache","_pendingPromises","Set","_storageKey","preloadResult","getItem","isPromise","preloadPromise","then","res","populateMemoryCache","undefined","_createClass2","key","value","_waitForPersist","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_context","prev","next","_drainScheduledPersist","size","Promise","all","stop","waitForPersist","arguments","_waitForPersistSuccess","_callee2","results","_context2","abrupt","sent","every","r","waitForPersistSuccess","persist","_this2","payload","version","content","result","setItem","JSON","stringify","err","console","warn","promise","resolve","add","schedulePersist","_this3","_persistTimer","safeSetTimeout","clearTimeout","removeItem","clear","getAllKeys","Object","keys","data","parse","PostHogRNSyncMemoryStorage","_PostHogRNStorage","cache","_inherits2","createEventsStorage","customStorage","createLogsStorage","createEventsMemoryStorage","createLogsMemoryStorage"],"sources":["../src/storage.ts"],"sourcesContent":["import { isPromise, safeSetTimeout } from '@posthog/core'\nimport { PostHogCustomStorage } from './types'\n\n// Module-local: SDK-internal detail, not part of any public or reachable\n// surface. The factory functions below are the only way to obtain a storage\n// instance bound to one of these files.\nconst EVENTS_STORAGE_FILE = '.posthog-rn.json'\nconst LOGS_STORAGE_FILE = '.posthog-rn-logs.json'\nconst POSTHOG_STORAGE_VERSION = 'v1'\n\n// Window over which storage mutations coalesce into one disk write. The\n// single-blob storage shape re-serializes the full cache on every write, so an\n// unbatched burst of N captures costs O(n²) bytes; coalescing collapses a\n// same-tick burst to a single write. The mutation lands in memoryCache\n// synchronously — only the disk write is deferred — and flush / AppState\n// background / shutdown each force a synchronous write via waitForPersist, so\n// the only data-loss window is a hard crash before the next drain.\n//\n// 100ms is chosen from the write-rate curve: at high burst rates the disk-write\n// count is already floored by the events flushAt (a flush drains every 20\n// events), and 100ms is enough to reach that floor while bounding worst-case\n// loss to ~one flush batch. Larger windows don't reduce writes further (the\n// floor is flushAt, not the window) and only widen the loss window when flushes\n// aren't draining.\nconst PERSIST_DEBOUNCE_MS = 100\n\ntype PostHogStorageContents = { [key: string]: any }\n\nexport class PostHogRNStorage {\n memoryCache: PostHogStorageContents = {}\n storage: PostHogCustomStorage\n preloadPromise: Promise<void> | undefined\n private _storageKey: string\n // Each pending persist resolves to a boolean: true if the underlying setItem\n // resolved, false if it rejected. waitForPersistSuccess() uses this to surface\n // async failures instead of silently swallowing them.\n private _pendingPromises: Set<Promise<boolean>> = new Set()\n // Single in-flight debounce timer. Its presence doubles as the \"a write is\n // scheduled\" flag — one source of truth. Armed on the first mutation in a\n // window and deliberately not reset by later mutations, so write latency is\n // bounded to PERSIST_DEBOUNCE_MS rather than starving under a continuous\n // stream of captures.\n private _persistTimer?: ReturnType<typeof setTimeout>\n\n // Prefer the `create*Storage` factories below over calling this directly —\n // they're the only callers that know which file to bind to.\n constructor(storage: PostHogCustomStorage, storageKey: string) {\n this.storage = storage\n this._storageKey = storageKey\n\n const preloadResult = this.storage.getItem(this._storageKey)\n\n if (isPromise(preloadResult)) {\n this.preloadPromise = preloadResult.then((res) => {\n this.populateMemoryCache(res)\n })\n\n // Observe both outcomes without creating the unhandled rejected promise that\n // `void preloadPromise.finally(...)` would leave behind.\n void this.preloadPromise.then(\n () => {\n this.preloadPromise = undefined\n },\n () => {\n this.preloadPromise = undefined\n }\n )\n } else {\n this.populateMemoryCache(preloadResult)\n }\n }\n\n /**\n * Force any scheduled write to be initiated now and await in-flight async\n * writes. Used by durability-sensitive paths (events flush, AppState\n * background, shutdown, login/logout/opt-in/opt-out, fatal exceptions) so the\n * latest state is on its way to the backend before they continue.\n *\n * Best-effort under crash: backend writes are async, so an immediate\n * termination can interrupt them. Never throws — backend errors are logged\n * inside persist() / _drainScheduledPersist().\n */\n async waitForPersist(): Promise<void> {\n this._drainScheduledPersist()\n if (this._pendingPromises.size > 0) {\n await Promise.all(this._pendingPromises)\n }\n }\n\n /**\n * Same as {@link waitForPersist}, but resolves to `true` only when every\n * in-flight (and any freshly-drained scheduled) write landed successfully.\n * Returns `false` if any tracked write rejected — the caller is responsible\n * for treating that as \"data not durable\" and not e.g. removing a recovery\n * entry from a backup store.\n */\n async waitForPersistSuccess(): Promise<boolean> {\n this._drainScheduledPersist()\n if (this._pendingPromises.size === 0) {\n return true\n }\n const results = await Promise.all(this._pendingPromises)\n return results.every((r) => r === true)\n }\n\n persist(): void {\n const payload = {\n version: POSTHOG_STORAGE_VERSION,\n content: this.memoryCache,\n }\n\n // Wrap the setItem call in a try/catch so a synchronous throw (customStorage\n // rejecting inline) is still surfaced via waitForPersistSuccess() — without\n // this, a sync-throwing storage pretends to succeed and callers that gate on\n // durability act as though the data landed.\n let result: void | Promise<void>\n try {\n result = this.storage.setItem(this._storageKey, JSON.stringify(payload))\n } catch (err) {\n console.warn('PostHog storage persist failed:', err)\n const promise: Promise<boolean> = Promise.resolve(false)\n this._pendingPromises.add(promise)\n void promise.finally(() => {\n this._pendingPromises.delete(promise)\n })\n return\n }\n\n // Track async persist operations so we can wait for them if needed. The\n // resolved boolean is the source of truth for waitForPersistSuccess().\n if (isPromise(result)) {\n const promise: Promise<boolean> = result\n .then(() => true)\n .catch((err) => {\n console.warn('PostHog storage persist failed:', err)\n return false\n })\n .finally(() => {\n this._pendingPromises.delete(promise)\n })\n this._pendingPromises.add(promise)\n }\n }\n\n // Arm a single debounced persist on the first un-persisted mutation. Repeated\n // calls within the window are no-ops — the mutation is already in memoryCache\n // and the scheduled fire reads the final state.\n private schedulePersist(): void {\n if (this._persistTimer !== undefined) {\n return\n }\n this._persistTimer = safeSetTimeout(() => {\n this._persistTimer = undefined\n try {\n this.persist()\n } catch (err) {\n console.warn('PostHog storage scheduled persist threw:', err)\n }\n }, PERSIST_DEBOUNCE_MS)\n }\n\n // Force any scheduled persist to fire now (cancels the timer, persists immediately).\n private _drainScheduledPersist(): void {\n if (this._persistTimer === undefined) {\n return\n }\n clearTimeout(this._persistTimer)\n this._persistTimer = undefined\n try {\n this.persist()\n } catch (err) {\n console.warn('PostHog storage drain persist threw:', err)\n }\n }\n\n getItem(key: string): any | null | undefined {\n return this.memoryCache[key]\n }\n setItem(key: string, value: any): void {\n this.memoryCache[key] = value\n this.schedulePersist()\n }\n removeItem(key: string): void {\n delete this.memoryCache[key]\n this.schedulePersist()\n }\n clear(): void {\n for (const key in this.memoryCache) {\n delete this.memoryCache[key]\n }\n this.schedulePersist()\n }\n getAllKeys(): readonly string[] {\n return Object.keys(this.memoryCache)\n }\n\n populateMemoryCache(res: string | null): void {\n try {\n const data = res ? JSON.parse(res).content : {}\n\n for (const key in data) {\n this.memoryCache[key] = data[key]\n }\n } catch (e) {\n console.warn(\n \"PostHog failed to load persisted data from storage. This is likely because the storage format is. We'll reset the storage.\",\n e\n )\n }\n }\n}\n\nexport class PostHogRNSyncMemoryStorage extends PostHogRNStorage {\n constructor(storageKey: string) {\n const cache: { [key: string]: any | undefined } = {}\n const storage = {\n getItem: (key: string) => cache[key],\n setItem: (key: string, value: string) => {\n cache[key] = value\n },\n }\n\n super(storage, storageKey)\n }\n}\n\n// Factory functions that bind the storage instance to the correct SDK-internal\n// file. The file names never leave this module — callers (including tests)\n// reach storages only through these helpers.\nexport function createEventsStorage(customStorage: PostHogCustomStorage): PostHogRNStorage {\n return new PostHogRNStorage(customStorage, EVENTS_STORAGE_FILE)\n}\n\nexport function createLogsStorage(customStorage: PostHogCustomStorage): PostHogRNStorage {\n return new PostHogRNStorage(customStorage, LOGS_STORAGE_FILE)\n}\n\nexport function createEventsMemoryStorage(): PostHogRNStorage {\n return new PostHogRNSyncMemoryStorage(EVENTS_STORAGE_FILE)\n}\n\nexport function createLogsMemoryStorage(): PostHogRNStorage {\n return new PostHogRNSyncMemoryStorage(LOGS_STORAGE_FILE)\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "4.
|
|
1
|
+
export declare const version = "4.77.0";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.version=void 0;var version=exports.version="4.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.version=void 0;var version=exports.version="4.77.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","names":["version","exports"],"sources":["../src/version.ts"],"sourcesContent":["export const version = \"4.
|
|
1
|
+
{"version":3,"file":"version.js","names":["version","exports"],"sources":["../src/version.ts"],"sourcesContent":["export const version = \"4.77.0\"\n"],"mappings":"6FAAO,GAAM,CAAAA,OAAO,CAAAC,OAAA,CAAAD,OAAA,CAAG,QAAQ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "posthog-react-native",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.77.0",
|
|
4
4
|
"bugs": {
|
|
5
5
|
"url": "https://github.com/PostHog/posthog-js/issues"
|
|
6
6
|
},
|
|
@@ -73,9 +73,9 @@
|
|
|
73
73
|
"typescript": "7.0.2",
|
|
74
74
|
"@vitest/coverage-v8": "^1.6.1",
|
|
75
75
|
"vitest": "^1.6.1",
|
|
76
|
-
"@posthog/
|
|
77
|
-
"@posthog
|
|
78
|
-
"@posthog-tooling/
|
|
76
|
+
"@posthog-tooling/tsconfig-base": "1.1.1",
|
|
77
|
+
"@posthog/react-native-plugin": "2.10.0",
|
|
78
|
+
"@posthog-tooling/rollup-utils": "1.1.1"
|
|
79
79
|
},
|
|
80
80
|
"peerDependencies": {
|
|
81
81
|
"@react-native-async-storage/async-storage": ">=1.0.0",
|