Comments (4)
What's the correct behavior here? If we look at https://github.com/segmentio/analytics-ios/blob/dev/Analytics/Providers/Segmentio/SegmentioProvider.m#L158 , it seems that the intention is we should always send the most up to date userId regardless of what the userID might have been when track:
is called, which is why we don't set the userID and sessionID on the payload until we are inside the serialQueue, however the identify function at https://github.com/segmentio/analytics-ios/blob/dev/Analytics/Providers/Segmentio/SegmentioProvider.m#L103 seems to defeat the above mechanism by setting self.userID
also inside the serialQueue. Since they contradict each other, the natural question is what should the correct behavior be?
from analytics-ios.
oh man. i'm totally not sure. let's hold on this issue until we can talk to the mailbox guys again. i've completely forgotten what the bad scenario was :P
from analytics-ios.
Do we have a better idea what is the desired behavior?
from analytics-ios.
Ok desired behavior is that identify calls shouldn't affect track calls currently in the queue. Solved and closing.
from analytics-ios.
Related Issues (20)
- Segment Crash issue! HOT 2
- Automatic screen tracking tracks any view controller in a `UINavigationController` or `UITabBarController` twice
- Crash on SEGIntegrationsManager.m line 665 in [SEGIntegrationsManager flushMessageQueue]
- Problem when calling identify immediately after reset HOT 3
- Automatically collected lifecycle events not SwiftUI friendly HOT 3
- Module imports need to be removed for Objective-C++ compatibility (React Native 0.68+) HOT 1
- Compiler failure on Xcode 14 Beta 2 HOT 1
- Can't build with Treat Warnings as Errors HOT 1
- Character limit on identify tracking
- App crash on Analytics configuration
- Carthage update failing on Xcode 14.0 HOT 1
- Crash on iOS 16 HOT 7
- +[SEGAnalytics sharedAnalytics]() crash with recordScreenViews set to true
- NSDictionary's serializableDeepCopy does not catch Infinite Double/Float values, causes crash HOT 4
- ANR when call - (void)identify:(NSString *_Nullable)userId traits:(SERIALIZABLE_DICT _Nullable)traits;
- Git repository is very large, takes a long time to fetch using Xcode + Swift Package Manager HOT 1
- Instance property used to get network.carrier has been deprecated
- Internal classes in SPM HOT 4
- Retain cycle between SEGAnalytics and SEGIntegrationsManager
- SEGFileStorage dataFromJSON crash
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from analytics-ios.