Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add session sync callback #1292

Merged
merged 31 commits into from
Nov 13, 2024
Merged

Conversation

kholood-ea
Copy link
Contributor

Description of the change

Add setSyncCallback feature that allows user to do dynamic sampling for sessions based on its metadata.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Related issues

jiraID:MOB-15662

jiraID:MOB-15657

Checklists

Development

  • Lint rules pass locally
  • The code changed/added as part of this pull request has been covered with tests

Code review

  • This pull request has a descriptive title and information useful to a reviewer
  • Issue from task tracker has a link to this pull request

kholood-ea and others added 5 commits September 18, 2024 17:26
* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>
* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix(ios): update network log signature

* chore(ios): integrate dynamic sampling snapshot

* fix:update IOS network log unit test

* fix: update session metadata

* feat(ios): add setSyncCallback

* fix: pod.lock file

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: enhance test case

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* feat(ios): add launchType metadata to session syncCallback

* fix: add unknown type to launch types

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

* chore (ios): update snapshot

* chore (ios): refactor callback

* fix: return network logs

* chore: update podfile.lock

* chore: fix formatting

* chore: revert Podfile.lock

* chore: fix ci

* fix: launchType typo

* fix: update class sessionEvaluationCompletion atomicity

* chore: enhance syncCallback formatting

* chore: update evaluateSync formatting

* fix: fix test SetSyncCallback

* fix: update getNetworkLogsArray return value

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>
@kholood-ea kholood-ea self-assigned this Oct 2, 2024
Copy link
Contributor

@a7medev a7medev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very good job @kholood-ea 👏🏼
I've added some small comments please check them out, I'd love to hear your thoughts.

src/models/SessionMetadata.ts Outdated Show resolved Hide resolved
src/utils/Enums.ts Outdated Show resolved Hide resolved
src/utils/Enums.ts Show resolved Hide resolved
src/utils/Enums.ts Show resolved Hide resolved
@InstabugCI
Copy link
Collaborator

InstabugCI commented Nov 12, 2024

Coverage Report

Label Coverage Status
JavaScript 98.3%
Android 50.8%
iOS 50.9%

Generated by 🚫 dangerJS against c0c5428

@ahmedAlaaInstabug ahmedAlaaInstabug enabled auto-merge (squash) November 13, 2024 00:36
@ahmedAlaaInstabug ahmedAlaaInstabug self-requested a review November 13, 2024 00:42
AyaMahmoud148
AyaMahmoud148 previously approved these changes Nov 13, 2024
a7medev
a7medev previously approved these changes Nov 13, 2024
@ahmedAlaaInstabug ahmedAlaaInstabug merged commit f966fce into dev Nov 13, 2024
8 of 11 checks passed
@ahmedAlaaInstabug ahmedAlaaInstabug deleted the feat/session-sync-callback branch November 13, 2024 10:08
ahmedAlaaInstabug added a commit that referenced this pull request Dec 22, 2024
* refactor(example): upgrade to react native 0.75.4 (#1302)

* chore: upgrade dependencies

* refactor(example): upgrade to react native 0.75.4

* chore: integrate android sdk v14 snapshot

* ci: install cocoapods 1.14

* ci: upgrade xcode to 15.4

* chore: remove .xcode.env.local

* ci: install cocoapods into usr/local/bin

* ci: fix empty jacoco report issue

* Release: v14.0.0 (#1312)

* Release : v14.0.0

* Release : v14.0.0

* Release : v14.0.0

* feat: add session sync callback (#1292)

* feat(android): add session sync callback (#1281)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* feat(ios): add session sync callback  (#1282)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix(ios): update network log signature

* chore(ios): integrate dynamic sampling snapshot

* fix:update IOS network log unit test

* fix: update session metadata

* feat(ios): add setSyncCallback

* fix: pod.lock file

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: enhance test case

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* feat(ios): add launchType metadata to session syncCallback

* fix: add unknown type to launch types

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

* chore (ios): update snapshot

* chore (ios): refactor callback

* fix: return network logs

* chore: update podfile.lock

* chore: fix formatting

* chore: revert Podfile.lock

* chore: fix ci

* fix: launchType typo

* fix: update class sessionEvaluationCompletion atomicity

* chore: enhance syncCallback formatting

* chore: update evaluateSync formatting

* fix: fix test SetSyncCallback

* fix: update getNetworkLogsArray return value

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* Revert "fix(ios): update network log signature"
This reverts commit 8d9036e.

* chore(ios): update snapshot

* fix: ios network logging test after reverting

* fix: convert sendEvent arg from writable to readable map

* chore(android): update snapshot

* fix(android): refactor getSessionMetadataMap to tolerate null values

* fix(ios): update fulfill exception wait time in test

* fix(android): convert session metadat map to readable map

* chore: update docs

* fix: remove hot launch type

* fix: increase timeout expectation in test case

* Revert "fix: increase timeout expectation in test case"

This reverts commit be32acd.

* feat(example): add features and buttons implementation (#1280)

Jira ID: RL-224

* fix(android): add unknown launch type

* chore: update documentation

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* merge dev

* merge dev

* merge dev

* fix: test case

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>
Co-authored-by: Ahmed alaa <[email protected]>

* master-on-dev (#1316)

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>

* fix: adjust logging with debuglogLevel

* chore: update release date (#1320)

---------

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>
ahmedAlaaInstabug added a commit that referenced this pull request Dec 22, 2024
* feat: exclude dev server

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* merge dev

* fix: Adjust logging behavior based on the debugLogLevel. (#1319)

* refactor(example): upgrade to react native 0.75.4 (#1302)

* chore: upgrade dependencies

* refactor(example): upgrade to react native 0.75.4

* chore: integrate android sdk v14 snapshot

* ci: install cocoapods 1.14

* ci: upgrade xcode to 15.4

* chore: remove .xcode.env.local

* ci: install cocoapods into usr/local/bin

* ci: fix empty jacoco report issue

* Release: v14.0.0 (#1312)

* Release : v14.0.0

* Release : v14.0.0

* Release : v14.0.0

* feat: add session sync callback (#1292)

* feat(android): add session sync callback (#1281)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* feat(ios): add session sync callback  (#1282)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix(ios): update network log signature

* chore(ios): integrate dynamic sampling snapshot

* fix:update IOS network log unit test

* fix: update session metadata

* feat(ios): add setSyncCallback

* fix: pod.lock file

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: enhance test case

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* feat(ios): add launchType metadata to session syncCallback

* fix: add unknown type to launch types

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

* chore (ios): update snapshot

* chore (ios): refactor callback

* fix: return network logs

* chore: update podfile.lock

* chore: fix formatting

* chore: revert Podfile.lock

* chore: fix ci

* fix: launchType typo

* fix: update class sessionEvaluationCompletion atomicity

* chore: enhance syncCallback formatting

* chore: update evaluateSync formatting

* fix: fix test SetSyncCallback

* fix: update getNetworkLogsArray return value

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* Revert "fix(ios): update network log signature"
This reverts commit 8d9036e.

* chore(ios): update snapshot

* fix: ios network logging test after reverting

* fix: convert sendEvent arg from writable to readable map

* chore(android): update snapshot

* fix(android): refactor getSessionMetadataMap to tolerate null values

* fix(ios): update fulfill exception wait time in test

* fix(android): convert session metadat map to readable map

* chore: update docs

* fix: remove hot launch type

* fix: increase timeout expectation in test case

* Revert "fix: increase timeout expectation in test case"

This reverts commit be32acd.

* feat(example): add features and buttons implementation (#1280)

Jira ID: RL-224

* fix(android): add unknown launch type

* chore: update documentation

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* merge dev

* merge dev

* merge dev

* fix: test case

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>
Co-authored-by: Ahmed alaa <[email protected]>

* master-on-dev (#1316)

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>

* fix: adjust logging with debuglogLevel

* chore: update release date (#1320)

---------

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>

---------

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>
mzelzoghbi added a commit that referenced this pull request Jan 2, 2025
* feat(example): add features and buttons implementation (#1280)

Jira ID: RL-224

* fix: replace thrown errors with logs (#1220)

* fix: Replace Thrown Errors with Logs

sss
chore(ios): bump sdk to v13.1.0 (#1227)

* chore(ios): bump ios sdk v13.1.0

* chore(ios): bump ios sdk v13.1.0

* chore(ios): bump ios sdk v13.1.0

chore(android): bump sdk to v13.1.1 (#1228)

* chore(android): bump android sdk v13.1.1

feat: enhance non-fatals support  (#1194)

* add non fatal api
---------

Co-authored-by: Ahmed Mahmoud <[email protected]>

fix:  read env variable in sourcemap (#1232)

* fix sourcemap issue

* fix sourcemap issue

* fix sourcemap issue

* Update typo in CHANGELOG.md

---------

Co-authored-by: Andrew Amin <[email protected]>

Release:v13.1.1 (#1231)

* release/v13.1.1

* Update CHANGELOG.md

Update CHANGELOG.md

chore(deps): bump @babel/traverse in /examples/default

Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.8 to 7.24.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

chore(deps): bump follow-redirects from 1.15.2 to 1.15.6

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.15.2...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

fix: cont work after logging

fix(android): change parameters used in inner class to final (#1239)

chore(android): bump sdk to v13.2.0 (#1245)

* chore(android): bump sdk to v13.2.0

* chore: update changelog

chore(ios): bump sdk to v13.2.0 (#1246)

release: v13.2.0 (#1247)

chore: resolve issues in changelog (#1249)

feat(example): add apm screen (#1141)

fix(android): resolve an OOM in network logs (#1244)

fix(android): APM network logging(#1253)

* fix(android): add W3C External Trace Attributes placeholder

* chore: add CHANGLOG

* chore: add CHANGLOG

* fix: remove ios sub module

feat: export upload utils (#1252)

chore(example): remove flipper (#1259)

fix(android): pass network start time in microseconds (#1260)

* fix: network timestamp in android side

* fix: PR comments

Co-authored-by: Ahmed Elrefaey <[email protected]>

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

feat: support feature flags with variants (#1230)

Jira ID: MOB-14684

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

chore(android): bump android sdk to v13.3.0 (#1261)

chore(ios): bump sdk to v13.3.0 (#1262)

release: v13.3.0 (#1263)

chore: remove duplicate app flows entries in changelog (#1264)

chore: remove duplicate execution traces deprecation in changelog (#1265)

feat: navigation tracking support with expo router (#1270)

* feat: add screen tracker on screen change listener and tests

* feat (example): add screen change listener

chore: enhance expo router tracking support (#1272)

ci: generalize enterprise releases (#1275)

ci: run tests before enterprise releases (#1271)

ci: publish snapshots to npm (#1274)

fix: PR comments

fix(ios): network log empty response body (#1273)

fix: drop non-error objects when reporting errors (#1279)

* Fix: omitted non-error objects when logging errors

* ci: publish snapshots to npm (#1274)

* Fix: omitted non-error objects when logging errors

* fix: use warn instead of logs

Co-authored-by: Ahmed Elrefaey <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Ahmed Elrefaey <[email protected]>

* fix: merge issues

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

feat: capture client error in the network interceptor (#1257)

* feat/support-capture-client-error-in-xhr-requests
---------

Co-authored-by: Abdelhamid Nasser <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>

fix: APM test cases

* fix: APM test cases

* fix test cases

* fix: PR comments

* fix: PR comments

* fix: PR comments

* refactor(example): upgrade to react native 0.75.4 (#1302)

* chore: upgrade dependencies

* refactor(example): upgrade to react native 0.75.4

* chore: integrate android sdk v14 snapshot

* ci: install cocoapods 1.14

* ci: upgrade xcode to 15.4

* chore: remove .xcode.env.local

* ci: install cocoapods into usr/local/bin

* ci: fix empty jacoco report issue

* Release: v14.0.0 (#1312)

* Release : v14.0.0

* Release : v14.0.0

* Release : v14.0.0

* feat: add session sync callback (#1292)

* feat(android): add session sync callback (#1281)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* feat(ios): add session sync callback  (#1282)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix(ios): update network log signature

* chore(ios): integrate dynamic sampling snapshot

* fix:update IOS network log unit test

* fix: update session metadata

* feat(ios): add setSyncCallback

* fix: pod.lock file

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: enhance test case

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* feat(ios): add launchType metadata to session syncCallback

* fix: add unknown type to launch types

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

* chore (ios): update snapshot

* chore (ios): refactor callback

* fix: return network logs

* chore: update podfile.lock

* chore: fix formatting

* chore: revert Podfile.lock

* chore: fix ci

* fix: launchType typo

* fix: update class sessionEvaluationCompletion atomicity

* chore: enhance syncCallback formatting

* chore: update evaluateSync formatting

* fix: fix test SetSyncCallback

* fix: update getNetworkLogsArray return value

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* Revert "fix(ios): update network log signature"
This reverts commit 8d9036e.

* chore(ios): update snapshot

* fix: ios network logging test after reverting

* fix: convert sendEvent arg from writable to readable map

* chore(android): update snapshot

* fix(android): refactor getSessionMetadataMap to tolerate null values

* fix(ios): update fulfill exception wait time in test

* fix(android): convert session metadat map to readable map

* chore: update docs

* fix: remove hot launch type

* fix: increase timeout expectation in test case

* Revert "fix: increase timeout expectation in test case"

This reverts commit be32acd.

* feat(example): add features and buttons implementation (#1280)

Jira ID: RL-224

* fix(android): add unknown launch type

* chore: update documentation

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* merge dev

* merge dev

* merge dev

* fix: test case

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>
Co-authored-by: Ahmed alaa <[email protected]>

* master-on-dev (#1316)

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>

* chore: update release date (#1320)

* feat: add w3c traceparent header injection (#1288)

* feat(example): add apm screen (#1141)

* fix(android): resolve an OOM in network logs (#1244)

* fix(android): APM network logging(#1253)

* fix(android): add W3C External Trace Attributes placeholder

* chore: add CHANGLOG

* chore: add CHANGLOG

* fix: remove ios sub module

* fix: use correct diff link for v13.0.0, v12.9.0 releases (#1198)

* feat(ios): read env vars from .xcode.env in sourcemaps script (#1200)

* feat(ios): read env vars from .xcode.env in sourcemaps script

* chore: update xcode project

* chore: update changelog

* chore/update-podfile.lock

* feat: add w3c header generator

* ci:fix lint

* ci:fix ios tests

* feat:update header format

* feat:update header format test case title

* feat:Inject the W3C Header to Network Requests

* ci:fix lint

* feat:remove tracestate

* feat: get feature flags from IOS

* ci: fix ios test

* fix: modify function naming

* fix: update APM test cases

* fix: update native test cases naming

* feat(ios): w3c logs mapping

* fix: export number partial id

* fix: modify partial id generator function

* fix: modify partial id generator test cases

* feat(example): add network request generators buttons

* ci: fix lint

* ci(example): add missing import

* feat(android): map apm network logs

* feat(android): add W3C native modules & tests

* feat: map w3c android native modules and test

* feat: register w3c feature change listener

* feat: add feature flags

* feat: call updated feature flags

* fix: update object assigning

* fix: remove comment

* fix: modify test cases naming

* fix: generated header injection

* fix: fix variable neames

* fix: update test cases

* fix(android): caught header null string

* fix: update network log interface

* fix (example): remove redundant button

* feat (example): add Enable/Disable APM buttons

* fix: add w3c Attributes to network logs tests

* fix: fix imports

* feat(android) : add w3c attributes to APM network Logs

* chore: remove flipper

* fix: adjust spacing

* fix: update test case

* feat: migrate-Feature-Flag-APM-method-to-Core

* fix: js testcases

* fix: js testcases

* fix: js testcases

* feat: add migrate APM into core in ios section

* fix: js testcases

* feat: add migrate APM into core in ios section

* feat: add migrate APM into core in ios section

* fix: Pr comments

* fix: PR comment

* fix: Pr comments

* fix: added changelog item

* fix:  feature flag listener

* fix:  feature flag listener

* feat: migrate w3c flags to APM core

* feat(example): add apm screen (#1141)

* fix(android): resolve an OOM in network logs (#1244)

* fix(android): APM network logging(#1253)

* fix(android): add W3C External Trace Attributes placeholder

* chore: add CHANGLOG

* chore: add CHANGLOG

* fix: remove ios sub module

* feat: export upload utils (#1252)

* chore(example): remove flipper (#1259)

* fix(android): pass network start time in microseconds (#1260)

* fix: network timestamp in android side

* fix: PR comments

Co-authored-by: Ahmed Elrefaey <[email protected]>

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* feat: support feature flags with variants (#1230)

Jira ID: MOB-14684

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* chore(android): bump android sdk to v13.3.0 (#1261)

* chore(ios): bump sdk to v13.3.0 (#1262)

* release: v13.3.0 (#1263)

* chore: remove duplicate app flows entries in changelog (#1264)

* chore: remove duplicate execution traces deprecation in changelog (#1265)

* feat: navigation tracking support with expo router (#1270)

* feat: add screen tracker on screen change listener and tests

* feat (example): add screen change listener

* chore: enhance expo router tracking support (#1272)

* ci: generalize enterprise releases (#1275)

* ci: run tests before enterprise releases (#1271)

* ci: publish snapshots to npm (#1274)

* fix(ios): network log empty response body (#1273)

* fix: drop non-error objects when reporting errors (#1279)

* Fix: omitted non-error objects when logging errors

* ci: publish snapshots to npm (#1274)

* Fix: omitted non-error objects when logging errors

* fix: use warn instead of logs

Co-authored-by: Ahmed Elrefaey <[email protected]>

* Update CHANGELOG.md

Co-authored-by: Ahmed Elrefaey <[email protected]>

* fix: merge issues

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* feat: capture client error in the network interceptor (#1257)

* feat/support-capture-client-error-in-xhr-requests
---------

Co-authored-by: Abdelhamid Nasser <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>

* fix: merge issues

* fix: networkLogIOS test case

* fix: merge issues

* fix: merge issues

* fix: merge issues

* fix: merge issues

* fix: merge issues

* fix: remove logs

* fix: refactore networkLogAndroid arguments

* fix: merge issues

* fix: merge issues

* fix: move W3cExternalTraceAttributes to models

* fix: return expected value type from bridge

* fix: refactor method call

* fix: refactor method name

* fix: return expected value types of w3c flags

* chore: refactor constant names

* fix: pod file

* fix(android): fix w3c caught header

* fix (android): reporting network logs upon disabling w3c main feature flag

* chore: add changelog

---------

Co-authored-by: Abdelhamid Nasser <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: Ahmed alaa <[email protected]>
Co-authored-by: ahmed alaa <[email protected]>

* Adding buttons to the sample app (#1311)

* feat(example): add webviews to the sample app (#1310)

* Adding WebViews to sample app

* Fixing Pods issue

* Fixing CI

* feat: exclude DEV server from network logs (#1307)

* feat: exclude dev server

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* feat: exclude DEV server url from network logs

* merge dev

* fix: Adjust logging behavior based on the debugLogLevel. (#1319)

* refactor(example): upgrade to react native 0.75.4 (#1302)

* chore: upgrade dependencies

* refactor(example): upgrade to react native 0.75.4

* chore: integrate android sdk v14 snapshot

* ci: install cocoapods 1.14

* ci: upgrade xcode to 15.4

* chore: remove .xcode.env.local

* ci: install cocoapods into usr/local/bin

* ci: fix empty jacoco report issue

* Release: v14.0.0 (#1312)

* Release : v14.0.0

* Release : v14.0.0

* Release : v14.0.0

* feat: add session sync callback (#1292)

* feat(android): add session sync callback (#1281)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* feat(ios): add session sync callback  (#1282)

* feat(android): add SRSyncCallback

* feat: implement and test syncCallback CP side

* feat(example): use SRSyncCallback in example app

* ci: fix tests

* fix: export session data type

* fix(example): use session data type

* fix(android):remove data modifier

* fix(android): add property modifiers

* fix(android): update test case

* fix: enhance test case

* fix(ios): update network log signature

* chore(ios): integrate dynamic sampling snapshot

* fix:update IOS network log unit test

* fix: update session metadata

* feat(ios): add setSyncCallback

* fix: pod.lock file

* fix: update session data type

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* fix: enhance test case

* fix: add more session metadata to setSyncCallback

* fix: update syncCallback test

* feat: add launchType to session metadata for setSyncCallback

* fix: import type

* feat(ios): add launchType metadata to session syncCallback

* fix: add unknown type to launch types

* fix: assert evaluate sync returns correct value

* fix: import type

* fix: cleanup

* chore: update js doc

* fix: typo

* fix: follow interface naming convention

* fix: update type

* fix: refactor syncCallback

* fix: default syncing session to true

* fix: convert network logs to readable array

* chore: add discriptive comment

* chore: use readable map for session metadata

* fix: setSyncCallback should sync in case of exception

* fix: move SessionMetadata to models

* fix: update SessionMetadata type import

* fix: report bug e2e test

* chore (ios): update snapshot

* chore (ios): refactor callback

* fix: return network logs

* chore: update podfile.lock

* chore: fix formatting

* chore: revert Podfile.lock

* chore: fix ci

* fix: launchType typo

* fix: update class sessionEvaluationCompletion atomicity

* chore: enhance syncCallback formatting

* chore: update evaluateSync formatting

* fix: fix test SetSyncCallback

* fix: update getNetworkLogsArray return value

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>

* Revert "fix(ios): update network log signature"
This reverts commit 8d9036e.

* chore(ios): update snapshot

* fix: ios network logging test after reverting

* fix: convert sendEvent arg from writable to readable map

* chore(android): update snapshot

* fix(android): refactor getSessionMetadataMap to tolerate null values

* fix(ios): update fulfill exception wait time in test

* fix(android): convert session metadat map to readable map

* chore: update docs

* fix: remove hot launch type

* fix: increase timeout expectation in test case

* Revert "fix: increase timeout expectation in test case"

This reverts commit be32acd.

* feat(example): add features and buttons implementation (#1280)

Jira ID: RL-224

* fix(android): add unknown launch type

* chore: update documentation

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* feat: upgrade to 14.0.0

* merge dev

* merge dev

* merge dev

* fix: test case

---------

Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>
Co-authored-by: Ahmed alaa <[email protected]>

* master-on-dev (#1316)

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>

* fix: adjust logging with debuglogLevel

* chore: update release date (#1320)

---------

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>

---------

Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: YoussefFouadd <[email protected]>

* Release:14.1.0 (#1335)

* release: 14.1.0

* release: 14.1.0

* release: v14.1.0

* release: v14.1.0

* release: v14.1.0

---------

Co-authored-by: YoussefFouadd <[email protected]>
Co-authored-by: Ahmed Elrefaey <[email protected]>
Co-authored-by: kholood <[email protected]>
Co-authored-by: Mohamed Zakaria El-Zoghbi <[email protected]>
Co-authored-by: Abdelhamid Nasser <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants