Repository navigation
Never null feature interfaces, consent removal of only its features, SDK owned [CLY]_ keys - #320
Merged
Conversation
…d features - Every feature getter returns an interface whose calls go to the running module and are ignored, with an error to callbacks, until it runs. One kept from before init or before a consent change reaches the module later. - onConsentRemoval stops only the modules of the removed features, and removing the location consent erases the location on the server. - A module built for a consent given after init is active, so unhandled crashes are recorded. - Only the SDK's own [CLY]_ keys are internal events. - A failing timer run no longer ends its timer, and a failing module no longer holds back the others on the same tick. - Events read the view IDs of the views module that runs now. - Remote config download callbacks and a content display registered before the consent are kept for the module that runs later. - The deprecated Countly calls and the user editor log no user data before the consent check of their feature.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the two #275 review decisions (feature interfaces never null, only the SDK's own
[CLY]_keys are internal) and fixes the consent bugs found next to them. Base:sdk-behavior-settings.What changes
events(),views()and the other getters returned null before init, without consent or when not enabled[CLY]_keys[CLY]_key skippedcet, the event filters and the limits[CLY]_view,[CLY]_nps,[CLY]_surveyand[CLY]_star_ratingare internal, as in the reference SDK; content events such as[CLY]_content_shownnow followcetand the filtersAlso in here:
Countlycalls and the user editor log no user data before the consent check of their feature.Tests
CountlyFacadeTests(interfaces before init, kept interfaces, consent removal, view IDs, timer, logged data),CrashFlowTests,ModuleLocationsTests,ModuleRemoteConfigTests; null assertions turned into "ignores calls" assertions.Not in here, needs a decision
enableFeatures(UserProfiles), and the user editor saves location through the same path, so this needs its own design.🤖 Generated with Claude Code