Skip to content

Conversation

athiramanu
Copy link
Contributor

Hey there! So you want to contribute to a Firebase SDK?
Before you file this pull request, please read these guidelines:

Discussion

  • Read the contribution guidelines (CONTRIBUTING.md).
  • If this has been discussed in an issue, make sure to link to the issue here.
    If not, go file an issue about this before creating a pull request to discuss.

Testing

  • Make sure all existing tests in the repository pass after your change.
  • If you fixed a bug or added a feature, add a new test to cover your code.

API Changes

  • At this time we cannot accept changes that affect the public API. If you'd like to help
    us make Firebase APIs better, please propose your change in an issue so that we
    can discuss it together.
@athiramanu athiramanu force-pushed the ssrc-custom-signals branch from 5fbbede to 2c9a88a Compare June 25, 2025 12:04
@athiramanu athiramanu requested a review from lahirumaramba June 25, 2025 12:06
Copy link
Member

@lahirumaramba lahirumaramba left a comment

Choose a reason for hiding this comment

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

Thank you! Added a couple comments

(customSignal, targetSignal) -> customSignal.equals(targetSignal));
case STRING_CONTAINS_REGEX:
return compareStrings(targetCustomSignalValues, customSignalValue,
(customSignal, targetSignal) -> Pattern.compile(targetSignal)
Copy link
Member

Choose a reason for hiding this comment

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

Does it make sense to compile and cache this (if we expect this to be used more frequently)

Copy link
Member

Choose a reason for hiding this comment

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

Should we also wrap this in a try-catch? Could this throw java.util.regex.PatternSyntaxException?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Skipping the caching part since the tagret signal compilation happens once for every request call. The function is moved to a try catch block where in case of error, it evaluates to false

@lahirumaramba lahirumaramba added the release:stage Stage a release candidate label Jul 14, 2025
@athiramanu athiramanu force-pushed the ssrc-custom-signals branch from 2c9a88a to af99b87 Compare July 15, 2025 14:03
@athiramanu athiramanu merged commit e8199c2 into ssrc Jul 15, 2025
6 checks passed
rathovarun1032 added a commit that referenced this pull request Sep 23, 2025
* Implementation for Fetching and Caching Server Side Remote Config (#1107)009 * Implementation for Fetching and Caching Server Side Remote Config * implementation of fetch , cache and load of template --------- Co-authored-by: Varun Rathore <varunrathore@google.com> * Implement custom signal targeting for server side RC (#1108) Co-authored-by: Athira M <athiramanu@google.com> * Implement percent evaluation for server side RC (#1114) * [feat] Implement percent evaluation for server side RC * Ssrc bugbash fix (#1117) * Handle empty context * fix issue related to update time * fix string equality * fix textcase * Fix lint errors * Add unit tests * fix for [438426692](getDouble() logs a malformed warning on type conversion failure) Using getDouble on a string parameter value, returns the appropriate default static value but logs a warning which looks incorrect ("%s" in the warning message?). * Update ServerTemplateResponse.java to fix b/438607881 In the server template builder flow using cached template, evaluation using custom signals is not working as intended. * Update getServerRemoteConfig.json to fix b/438607881 * Update getServerTemplateData.json to fix b/438607881 * fix for bugs * Resolve comment related to revert of ServerVersion Class * remove serverVersion * Resolve comments related to Evaluator * fix indentation * fix indentation * fix indentations * fix multi line indent * fix multi line indents * Update ConditionEvaluator.java * Update ConditionEvaluator.java --------- Co-authored-by: Athira M <athiramanu@google.com> Co-authored-by: Varun Rathore <varunrathore@google.com> * Create ParameterValueTest.java * Fix typo errors * Change return type and cache regex * Addressed comment to make cache atomic * Trigger CI --------- Co-authored-by: Varun Rathore <varunrathore@google.com> Co-authored-by: Athira M <athiramanu9400@gmail.com> Co-authored-by: Athira M <athiramanu@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:stage Stage a release candidate

2 participants