diff --git a/tracker/tracker-reactnative/CODE_OF_CONDUCT.md b/tracker/tracker-reactnative/CODE_OF_CONDUCT.md deleted file mode 100644 index 45d257b29..000000000 --- a/tracker/tracker-reactnative/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,133 +0,0 @@ - -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual -identity and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -[INSERT CONTACT METHOD]. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations diff --git a/tracker/tracker-reactnative/CONTRIBUTING.md b/tracker/tracker-reactnative/CONTRIBUTING.md deleted file mode 100644 index e4e8ec906..000000000 --- a/tracker/tracker-reactnative/CONTRIBUTING.md +++ /dev/null @@ -1,114 +0,0 @@ -# Contributing - -Contributions are always welcome, no matter how large or small! - -We want this community to be friendly and respectful to each other. Please follow it in all your interactions with the project. Before contributing, please read the [code of conduct](./CODE_OF_CONDUCT.md). - -## Development workflow - -To get started with the project, run `yarn` in the root directory to install the required dependencies for each package: - -```sh -yarn -``` - -> While it's possible to use [`npm`](https://github.com/npm/cli), the tooling is built around [`yarn`](https://classic.yarnpkg.com/), so you'll have an easier time if you use `yarn` for development. - -While developing, you can run the [example app](/example/) to test your changes. Any changes you make in your library's JavaScript code will be reflected in the example app without a rebuild. If you change any native code, then you'll need to rebuild the example app. - -To start the packager: - -```sh -yarn example start -``` - -To run the example app on Android: - -```sh -yarn example android -``` - -To run the example app on iOS: - -```sh -yarn example ios -``` - -Make sure your code passes TypeScript and ESLint. Run the following to verify: - -```sh -yarn typecheck -yarn lint -``` - -To fix formatting errors, run the following: - -```sh -yarn lint --fix -``` - -Remember to add tests for your change if possible. Run the unit tests by: - -```sh -yarn test -``` - -To edit the Objective-C or Swift files, open `example/ios/RntrackerExample.xcworkspace` in XCode and find the source files at `Pods > Development Pods > openreplay-reactnative`. - -To edit the Java or Kotlin files, open `example/android` in Android studio and find the source files at `openreplay-reactnative` under `Android`. - - -### Commit message convention - -We follow the [conventional commits specification](https://www.conventionalcommits.org/en) for our commit messages: - -- `fix`: bug fixes, e.g. fix crash due to deprecated method. -- `feat`: new features, e.g. add new method to the module. -- `refactor`: code refactor, e.g. migrate from class components to hooks. -- `docs`: changes into documentation, e.g. add usage example for the module.. -- `test`: adding or updating tests, e.g. add integration tests using detox. -- `chore`: tooling changes, e.g. change CI config. - -Our pre-commit hooks verify that your commit message matches this format when committing. - -### Linting and tests - -[ESLint](https://eslint.org/), [Prettier](https://prettier.io/), [TypeScript](https://www.typescriptlang.org/) - -We use [TypeScript](https://www.typescriptlang.org/) for type checking, [ESLint](https://eslint.org/) with [Prettier](https://prettier.io/) for linting and formatting the code, and [Jest](https://jestjs.io/) for testing. - -Our pre-commit hooks verify that the linter and tests pass when committing. - -### Publishing to npm - -We use [release-it](https://github.com/release-it/release-it) to make it easier to publish new versions. It handles common tasks like bumping version based on semver, creating tags and releases etc. - -To publish new versions, run the following: - -```sh -yarn release -``` - -### Scripts - -The `package.json` file contains various scripts for common tasks: - -- `yarn bootstrap`: setup project by installing all dependencies and pods. -- `yarn typecheck`: type-check files with TypeScript. -- `yarn lint`: lint files with ESLint. -- `yarn test`: run unit tests with Jest. -- `yarn example start`: start the Metro server for the example app. -- `yarn example android`: run the example app on Android. -- `yarn example ios`: run the example app on iOS. - -### Sending a pull request - -> **Working on your first pull request?** You can learn how from this _free_ series: [How to Contribute to an Open Source Project on GitHub](https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github). - -When you're sending a pull request: - -- Prefer small pull requests focused on one change. -- Verify that linters and tests are passing. -- Review the documentation to make sure it looks good. -- Follow the pull request template when opening a pull request. -- For pull requests that change the API or implementation, discuss with maintainers first by opening an issue. diff --git a/tracker/tracker-reactnative/README.md b/tracker/tracker-reactnative/README.md index 5a1f5e841..35758bb33 100644 --- a/tracker/tracker-reactnative/README.md +++ b/tracker/tracker-reactnative/README.md @@ -9,24 +9,4 @@ so its safe to use with crossplatform apps. npm install @openreplay/react-native ``` -## Usage - -```js -import { RntrackerView } from "@openreplay/react-native"; - -// ... - - -``` - -## Contributing - -See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. - -## License - -MIT - ---- - -Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob) +Please see [the documentation](https://docs.openreplay.com/en/rn-sdk/) for more information about usage. diff --git a/tracker/tracker-reactnative/example/ios/Podfile b/tracker/tracker-reactnative/example/ios/Podfile index 01f5e11d6..581ef9bdd 100644 --- a/tracker/tracker-reactnative/example/ios/Podfile +++ b/tracker/tracker-reactnative/example/ios/Podfile @@ -46,7 +46,7 @@ target 'RntrackerExample' do :app_path => "#{Pod::Config.instance.installation_root}/.." ) Dir['../../'] - pod 'ORTracker', :path => '../../../tracker-ios' + pod 'Openreplay', '~> 1.0.5' target 'RntrackerExampleTests' do diff --git a/tracker/tracker-reactnative/example/ios/Podfile.lock b/tracker/tracker-reactnative/example/ios/Podfile.lock index 9325c7459..66572ab1a 100644 --- a/tracker/tracker-reactnative/example/ios/Podfile.lock +++ b/tracker/tracker-reactnative/example/ios/Podfile.lock @@ -17,13 +17,13 @@ PODS: - hermes-engine/Pre-built (= 0.72.4) - hermes-engine/Pre-built (0.72.4) - libevent (2.1.12) - - openreplay-reactnative (0.1.0): - - ORTracker - - RCT-Folly (= 2021.07.22.00) - - React-Core - - ORTracker (0.1.0): + - Openreplay (1.0.5): - DeviceKit - SWCompression + - openreplay-reactnative (0.1.0): + - Openreplay + - RCT-Folly (= 2021.07.22.00) + - React-Core - RCT-Folly (2021.07.22.00): - boost - DoubleConversion @@ -486,8 +486,8 @@ DEPENDENCIES: - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - libevent (~> 2.1.12) + - Openreplay (~> 1.0.5) - openreplay-reactnative (from `../..`) - - ORTracker (from `../../../tracker-ios`) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) @@ -529,6 +529,7 @@ SPEC REPOS: - DeviceKit - fmt - libevent + - Openreplay - SocketRocket - SWCompression @@ -548,8 +549,6 @@ EXTERNAL SOURCES: :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 openreplay-reactnative: :path: "../.." - ORTracker: - :path: "../../../tracker-ios" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -628,8 +627,8 @@ SPEC CHECKSUMS: glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - openreplay-reactnative: 195b9e120d1aed7bdde7d4728a2f23b37b8d5266 - ORTracker: 5b993fad6248d9e5605c28f4af6454022f43934f + Openreplay: c64e4470df13efac242c569c29f213b0e57867b3 + openreplay-reactnative: b7bae2bd88cecc6f0698ac0ffaacd3d385cd2767 RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f @@ -666,6 +665,6 @@ SPEC CHECKSUMS: SWCompression: 15e38b06c37077399a1b60bfecc1c2cd71f0ee99 Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 -PODFILE CHECKSUM: f12bcbf8dfa25c96bb19ba57e6413b29c875f421 +PODFILE CHECKSUM: 5192af7c5d6cfe07b41230fe84a1c01ac433efc5 COCOAPODS: 1.12.1 diff --git a/tracker/tracker-reactnative/ios/RntrackerConnector.swift b/tracker/tracker-reactnative/ios/RntrackerConnector.swift index c17452cdf..49a4715af 100644 --- a/tracker/tracker-reactnative/ios/RntrackerConnector.swift +++ b/tracker/tracker-reactnative/ios/RntrackerConnector.swift @@ -1,11 +1,11 @@ -import ORTracker +import Openreplay @objc(ORTrackerConnector) public class ORTrackerConnector: NSObject { @objc public static func moduleName() -> String { return "ORTrackerConnector" } - + @objc public static func requiresMainQueueSetup() -> Bool { return true } @@ -20,15 +20,15 @@ public class ORTrackerConnector: NSObject { screen: optionsDict["screen"] as? Bool ?? true, wifiOnly: optionsDict["wifiOnly"] as? Bool ?? true ) - ORTracker.shared.serverURL = projectUrl ?? "https://app.openreplay.com/ingest" - ORTracker.shared.start(projectKey: projectKey, options: options) + Openreplay.shared.serverURL = projectUrl ?? "https://app.openreplay.com/ingest" + Openreplay.shared.start(projectKey: projectKey, options: options) print("Starting for \(options) \(projectKey) \(projectUrl ?? "no url")") } @objc open func stop() { - ORTracker.shared.stop() + Openreplay.shared.stop() } - + @objc(startSession:optionsDict:projectUrl:) open func startSession(_ projectKey: String, optionsDict: NSDictionary, projectUrl: String?) { let options = OROptions( @@ -39,29 +39,29 @@ public class ORTrackerConnector: NSObject { screen: optionsDict["screen"] as? Bool ?? true, wifiOnly: false ) - ORTracker.shared.serverURL = projectUrl ?? "https://app.openreplay.com/ingest" - ORTracker.shared.startSession(projectKey: projectKey, options: options) + Openreplay.shared.serverURL = projectUrl ?? "https://app.openreplay.com/ingest" + Openreplay.shared.startSession(projectKey: projectKey, options: options) print("Starting for \(options) \(projectKey) \(projectUrl ?? "no url")") } - + @objc(setMetadata:value:) open func setMetadata(_ key: String, value: String) { - ORTracker.shared.setMetadata(key: key, value: value) + Openreplay.shared.setMetadata(key: key, value: value) } @objc(event:object:) open func event(_ name: String, object: String?) { - ORTracker.shared.eventStr(name: name, payload: object) + Openreplay.shared.eventStr(name: name, payload: object) } @objc(setUserID:) open func setUserID(_ userID: String) { - ORTracker.shared.setUserID(userID) + Openreplay.shared.setUserID(userID) } @objc(userAnonymousID:) open func userAnonymousID(_ userID: String) { - ORTracker.shared.userAnonymousID(userID) + Openreplay.shared.userAnonymousID(userID) } } diff --git a/tracker/tracker-reactnative/ios/RntrackerInputManager.swift b/tracker/tracker-reactnative/ios/RntrackerInputManager.swift index 12084f0ff..2add78e48 100644 --- a/tracker/tracker-reactnative/ios/RntrackerInputManager.swift +++ b/tracker/tracker-reactnative/ios/RntrackerInputManager.swift @@ -1,4 +1,4 @@ -import ORTracker +import Openreplay @objc(RntrackerInputManager) class RntrackerInputManager: RCTViewManager { diff --git a/tracker/tracker-reactnative/ios/RntrackerSanitizedViewManager.swift b/tracker/tracker-reactnative/ios/RntrackerSanitizedViewManager.swift index c1a88d468..214f6b4b5 100644 --- a/tracker/tracker-reactnative/ios/RntrackerSanitizedViewManager.swift +++ b/tracker/tracker-reactnative/ios/RntrackerSanitizedViewManager.swift @@ -1,4 +1,4 @@ -import ORTracker +import Openreplay @objc(RntrackerSanitizedViewManager) class RntrackerSanitizedViewManager: RCTViewManager { @@ -15,7 +15,7 @@ class RntrackerSanitizedViewManager: RCTViewManager { class RntrackerSanitizedView : UIView { override func didMoveToSuperview() { super.didMoveToSuperview() - + if superview != nil { ScreenshotManager.shared.addSanitizedElement(self) } diff --git a/tracker/tracker-reactnative/ios/RntrackerTouchManager.swift b/tracker/tracker-reactnative/ios/RntrackerTouchManager.swift index 998dd3c24..18602ce5a 100644 --- a/tracker/tracker-reactnative/ios/RntrackerTouchManager.swift +++ b/tracker/tracker-reactnative/ios/RntrackerTouchManager.swift @@ -1,4 +1,4 @@ -import ORTracker +import Openreplay @objc(RntrackerTouchManager) class RntrackerTouchManager: RCTViewManager { diff --git a/tracker/tracker-reactnative/ios/RntrackerViewManager.swift b/tracker/tracker-reactnative/ios/RntrackerViewManager.swift index 3ec8c27c1..8504c4ac0 100644 --- a/tracker/tracker-reactnative/ios/RntrackerViewManager.swift +++ b/tracker/tracker-reactnative/ios/RntrackerViewManager.swift @@ -1,4 +1,4 @@ -import ORTracker +import Openreplay @objc(RntrackerViewManager) class RntrackerViewManager: RCTViewManager { @@ -26,10 +26,10 @@ class RntrackerView : UIView { self._orScreenName = screenName } } - + override func didMoveToSuperview() { super.didMoveToSuperview() - + if superview != nil { Analytics.shared.addObservedView(view: self, screenName: self._orScreenName, viewName: self._orViewName) } diff --git a/tracker/tracker-reactnative/openreplay-reactnative.podspec b/tracker/tracker-reactnative/openreplay-reactnative.podspec index b5cb8fb81..31bfda8aa 100644 --- a/tracker/tracker-reactnative/openreplay-reactnative.podspec +++ b/tracker/tracker-reactnative/openreplay-reactnative.podspec @@ -19,11 +19,11 @@ Pod::Spec.new do |s| # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0. # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79. if respond_to?(:install_modules_dependencies, true) - s.dependency "ORTracker" + s.dependency "Openreplay" install_modules_dependencies(s) else s.dependency "React-Core" - s.dependency "ORTracker" + s.dependency "Openreplay" # Don't install the dependencies when we run `pod install` in the old architecture. if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then @@ -36,7 +36,7 @@ Pod::Spec.new do |s| s.dependency "React-RCTFabric" s.dependency "React-Codegen" s.dependency "RCT-Folly" - s.dependency "ORTracker" + s.dependency "Openreplay" s.dependency "RCTRequired" s.dependency "RCTTypeSafety" s.dependency "ReactCommon/turbomodule/core"