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: support anonymous analitics (WPB-8978) #2926

Merged
merged 4 commits into from
Aug 2, 2024

Conversation

alexandreferris
Copy link
Contributor

@alexandreferris alexandreferris commented Aug 1, 2024

TaskWPB-8978 [Android] Countly analytics ID and user properties


PR Submission Checklist for internal contributors

  • The PR Title

    • conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
    • contains a reference JIRA issue number like SQPIT-764
    • answers the question: If merged, this PR will: ... ³
  • The PR Description

    • is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?

This is a cherry-pick PR for all recent changes made to analytics from develop to RC

Dependencies (Optional)

Needs releases with:

* feat: add analytics user profile - Part 1 (WPB-8978) (#2868)

* feat: add method to set/insert tracking identifier into user metadata table

* feat: add MessageContent for DataTransfer with TrackingIdentifier

* feat: add DataTransferEventHandler to handle new data transfer events and set tracking identifier to user config metadata

* chore: remove needless blank line

* feat: add analytics user profile - Part 2 (WPB-8978) (#2877)

* feat: add method to set/insert tracking identifier into user metadata table

* feat: add MessageContent for DataTransfer with TrackingIdentifier

* feat: add DataTransferEventHandler to handle new data transfer events and set tracking identifier to user config metadata

* chore: remove needless blank line

* feat: add get for current tracking identifier and get and set for previous tracking identifier

* feat: add usage and logic handling for current and previous tracking identifiers

* feat: add tests

* feat: add better handling of receiving already existing tracking id and tests

* feat: add new analytics logger to kalium logger

* feat: add usecase to observe analytics tracking identifier

* feat: add tests for observeAnalyticsTrackingIdentifierStatus

* feat: add none AnalyticsIdentifierResult to be used in AR and remove abstract attribute

* feat: add proper mapping to observer result and verification on Either Left is tracking identifier already exists

* feat: add tests for observer with new logic

* chore: add user scope logger

* chore: add `as` instantiation of right value for usecase result

* feat: move AnalyticsIdentifierResult to new data module and update its usages

* feat: add usecase to delete previous tracking identifier

* chore: add missing imports

* test: add test for DeletePreviousTrackingIdentifierUseCase

* chore: remove delete previous tracking identifier use case

* feat: add extra sealed interface for better handling of analytics identifier result

* feat: add AnalyticsIdentifierManager to handle migration complete and propagating tracking identifier

* chore: add missing extension from new sealed interface

* test: add tests for AnalyticsIdentifierManager

* chore: adjust detekt

* chore: remove unused import

* chore: rename user config current tracking identifier

* chore: add docs

(cherry picked from commit f534d36)
* feat: add syncManager to AnalyticsIdentifierManager in order to wait for current device to be available

* feat: add implementation of packDataTransfer message

* test: add tests

(cherry picked from commit 337c415)
* chore: add slow sync repository to observe for last sync completion before returning default false value for isSelfATeamMember

* chore: add parameter for SlowSyncRepository for new usage

* tests: adjust existing tests for the usecase

(cherry picked from commit 9dbf5f5)
Copy link
Contributor

github-actions bot commented Aug 1, 2024

Test Results

3 149 tests   3 044 ✔️  3m 38s ⏱️
   539 suites     105 💤
   539 files           0

Results for commit ec6d548.

♻️ This comment has been updated with latest results.

@datadog-wireapp
Copy link

datadog-wireapp bot commented Aug 1, 2024

Datadog Report

Branch report: feat/countly_cherrypick
Commit report: 1f52d27
Test service: kalium-jvm

✅ 0 Failed, 3044 Passed, 105 Skipped, 12.2s Total Time

@vitorhugods vitorhugods changed the title feat: countly cherrypick (WPB-8978) feat: countly (WPB-8978) Aug 2, 2024
@vitorhugods vitorhugods changed the title feat: countly (WPB-8978) feat: support anonymous analitics (WPB-8978) Aug 2, 2024
@alexandreferris alexandreferris added this pull request to the merge queue Aug 2, 2024
@vitorhugods vitorhugods removed this pull request from the merge queue due to a manual request Aug 2, 2024
Copy link

sonarcloud bot commented Aug 2, 2024

@alexandreferris alexandreferris added this pull request to the merge queue Aug 2, 2024
Merged via the queue into release/candidate with commit 717cad1 Aug 2, 2024
22 checks passed
@alexandreferris alexandreferris deleted the feat/countly_cherrypick branch August 2, 2024 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants