Skip to content
Permalink
master

Commits on Jan 23, 2021

  1. fix: Change experimentKey and variationKey to be null in rollout in d…

    …ecisionInfo payload (#644)
    
    * Change experimentKey and variationKey from empty string to null in rollout
    
    * Change OptimizelyDecideOptions[] to OptimizelyDecideOption[] to be consistent with other sdks
    yavorona committed Jan 23, 2021

Commits on Jan 15, 2021

  1. feat: Implement IGNORE_USER_PROFILE_SERVICE flag in decide options (#642

    )
    
    * * Check for sticky bucketing if decide options do not include shouldIgnoreUPS
    
    * Update getVariationForFeature method to include options
    
    * Fix existing unit test
    
    * Add unit test for IGNORE_USER_PROFILE_SERVICE flag in decide options
    
    * Fix comments
    
    * Clean up
    
    * Add unit test with IGNORE_USER_PROFILE_SERVICE in default decide options
    
    * Call __saveUserProfile only when shouldIgnoreUPS is true
    
    * Clean up
    
    * Add unit test when no stored bucketing exists
    yavorona committed Jan 15, 2021

Commits on Jan 14, 2021

  1. feat: Clone OptimizelyUserContext before calling decide api (#643)

    * Clone OptimizelyUsercOntext before calling decide apis
    
    * Add description to decision params
    yavorona committed Jan 14, 2021

Commits on Jan 13, 2021

  1. feat: Implement DecisionResponse in decision hierarchy (#640)

    * Create DecisionResponse interface
    
    * Refactor bucketer.bucket reasons and partially decision_service reasons
    
    * Create class DecisionResponse instead of an interface
    
    * Update getVariation and getVariationForFeature methods in decision service
    
    * Update getForcedVariation method in decision service
    
    * Clean up and start fixing decision_service tests
    
    * Update decision_service unit tests
    
    * Update optimizely unit tests
    
    * Update bucketer unit tests
    
    * Update Copyright year to include 2021
    
    * Fix reported reasons and begin adding new unit tests
    
    * Add test case when returning stored variation
    
    * Add unit test when user is in forced variation
    
    * Add more unit tests
    
    * Change __checkIfUserIsInAudience method to return decision response and update unit tests
    
    * Add unit test when user is not bucketed into targeting rule
    
    * Refactor test setup and add more tests
    
    * Clean up and add bucketing in group test
    
    * Complete INCLUDE_REASONS default option tests
    
    * Add decision response unit tests
    
    * Incorporate comments part 1
    
    * Add missing unit tests when user has forced variation
    
    * Change DecisionReponse class to interface and update unit tests
    
    * Remove console.log statement
    yavorona committed Jan 13, 2021

Commits on Jan 7, 2021

  1. fix: correctly exported OptimizelyDecideOptions enum (#641)

    Summary:
    
    The OptimizelyDecideOptions enum was being exported as a type. Correctly exported it as enum and added declaration to typings.
    
    Test plan:
    
    Unit tests pass.
    Full stack Compatibility suite tests pass.
    zashraf1985 committed Jan 7, 2021

Commits on Jan 4, 2021

  1. feat: Implement trackEvent api (#636)

    * Implement decideForKeys
    
    * Add trackEvent method
    
    * Update unit tests
    
    * Rebase
    yavorona committed Jan 4, 2021
  2. update: Export Decide API Interfaces (#639)

    Summary:
    
    Newly added Decide APIs have added new interfaces which were not exported, this PR exports them.
    
    Test plan:
    
    - Manually tested by using decide apis in react sdk.
    - Unit Tests pass
    - Full stack compat suite tests pass.
    zashraf1985 committed Jan 4, 2021

Commits on Dec 11, 2020

  1. feat: Implement decideAll api (#635)

    * Implement decideForKeys
    
    * Implememt decideAll and add comments
    
    * Add decideAll and decideForKeys unit tests to optimizely
    
    * Add unit tests for user context decideForKey and decideAll
    
    * Clean up
    
    * Fix decideAll
    
    * Add more ENABLED_FLAGS_ONLY tests
    
    * update test params
    
    * Update comments
    
    * Incorporate comments
    
    * Update comments
    yavorona committed Dec 11, 2020

Commits on Dec 9, 2020

  1. feat: implement decide API (#634)

    * Implement createUserContext
    
    * Clean up
    
    * Incorporate comments
    
    * Implement decide api
    
    * Add decide api unit tests
    
    * add flag to DECISION_NOTIFICATION_TYPES
    
    * Store defaultDecideOptions as object with boolean values
    
    * Start adding decide api unit tests to optimizely client
    
    * Finish decide api with empty default decide options unit tests
    
    * Change alldecideOptions to object instead of an array
    
    * Update user context unit tests
    
    * Fix unit test
    
    * Address comments
    
    * Add tests when both DISABLE_DECISION_EVENT and EXCLUDE_VARIABLES are provided
    
    * Log warning when unrecognized decide option provided
    
    * Remove redundant featureFlag
    
    * Rename optimizely_decision.ts. to index.ts
    
    * Fix notification data object
    
    * Remove sourse field from decision notification number
    yavorona committed Dec 9, 2020

Commits on Dec 8, 2020

  1. feat: Implement createUserContext for decide API (#632)

    * Implement createUserContext
    
    * Clean up
    
    * Incorporate comments
    yavorona committed Dec 8, 2020

Commits on Nov 30, 2020

  1. feat: Convert optimizely_config module to TS (#626)

    * Initial conversion
    
    * Convert optimizely_config to TS
    
    * Fix unit tests
    
    * Clean up
    
    * Use featureId as any
    
    * Clean up
    
    * Remove any in getMergedVariablesMap method
    
    * change datafile to back to __datafile to fix fsc
    
    * Confirm fsc tests failure do to name change from __datafile to datafile. Update to datafile
    
    * Use ProjectConfig interface instead of OptimizelyConfigOptions
    
    * Change private methods to static
    
    * Clean up
    yavorona committed Nov 30, 2020

Commits on Nov 23, 2020

  1. prepare for release (#630)

    yavorona committed Nov 23, 2020

Commits on Nov 21, 2020

  1. fix: Move OptimizelyOptions interface to shared_types (#629)

    * Move OptimizelyOptions to shared_types
    
    * Update changelog
    yavorona committed Nov 21, 2020

Commits on Nov 19, 2020

  1. Prepare for release (#628)

    yavorona committed Nov 19, 2020

Commits on Nov 18, 2020

  1. fix: Allow logLevel to support string type to avoid compiler type err…

    …or (#627)
    
    * Fix LogLevel type to avoid compiler type error
    
    * Add string type to Config logLevel
    
    * Update changelog
    yavorona committed Nov 18, 2020

Commits on Nov 17, 2020

  1. fix: exclude suppressImplicitAnyIndexErrors from tsconfig and fix typ…

    …e errors (#616)
    
    * Exclude suppressImplicitAnyIndexErrors from tsconfig and fix type errors
    
    * Fix type error in logger
    
    * Fix type error in event-processor
    
    * Incorporate comments
    
    * Clean up tsconfig
    
    * Update StringInputs type
    
    * Update validate config method to not use key of unknown
    
    * Remove as 'keyof unknown' from  validate method in user_profile_service_validator
    
    * Coerce item to type any in keyBy function
    
    * Incorporate comments
    
    * Define ObjectWithUnknownProperties type
    yavorona committed Nov 17, 2020

Commits on Nov 16, 2020

  1. feat: Convert notification center to TS (#624)

    * Conver notification center to TS and fix tests
    
    * Correct Copyright year
    
    * Clean up
    
    * Fix imports and create NotificationListeners type
    
    * Clean up
    
    * Remove unneccesary exports
    
    * Avoid `as` when using indexOf on return value of objectValues
    yavorona committed Nov 16, 2020
  2. Refactor index.d.ts imports (#625)

    yavorona committed Nov 16, 2020

Commits on Nov 13, 2020

  1. feat: Add enabled to decision metadata (#619)

    * Add enabled to metadata
    
    * Update comments
    
    * Upgrade event-processor to 0.8.0
    
    * Fix unit tests
    
    * Update changelog
    yavorona committed Nov 13, 2020

Commits on Nov 12, 2020

  1. fix(Optimizely): Use any type for return value of setTimeout (#623)

    Summary:
    
    Fix for Issue #622 . For the Node.js version of setTimeout, the return value isn't number, but Timeout. To allow this to typecheck regardless of whether the browser or Node.js version is used, set the type of readyTimeout to any.
    
    Test plan:
    
    Existing tests
    
    Issues:
    
    #622
    mjc1283 committed Nov 12, 2020

Commits on Nov 10, 2020

  1. chore(event processor): Prepare for 0.8.0 release (#620)

    * Update changelog
    
    * Prepare for 0.8.0 release
    yavorona committed Nov 10, 2020
  2. Add enabled to metadata (#618)

    yavorona committed Nov 10, 2020

Commits on Nov 5, 2020

  1. chore: Prepare for 4.4.1 release (#612)

    * Prepare for 4.4.1 release
    
    * Update changelog
    yavorona committed Nov 5, 2020

Commits on Nov 4, 2020

  1. fix: Allow using --isolatedModules flag in tsconfig by fixing exports…

    … in event_processor (#610)
    
    * Fix export
    
    * Remove LocalStoragePendingEventsDisaptcher from export type
    yavorona committed Nov 4, 2020
  2. Fix strictNullChecks type errors (#611)

    yavorona committed Nov 4, 2020

Commits on Nov 2, 2020

  1. chore: Prepare for 4.4.0 release (#607)

    * Prepare for 4.4.0 release
    
    * Update release date
    yavorona committed Nov 2, 2020

Commits on Oct 28, 2020

  1. feat(flag-decisions): Add support for sending flag decisions (#599)

    * Update activate and isFeatureEnabled to send decision events
    
    Include metaData in ImpressionEvent
    
    Send decisions when variation is null
    
    Update existing event_helpers tests
    
    Add metadata to impressionEventParams in getImpressionEventParams method
    
    Add ruleKey parameter to ImpressionEvent
    
    Change experimentKey to ruleKey
    
    Update existing unit tests
    
    Remove sendFlagDecisions from common event params
    
    Update event-processor to include metadata in makeDecisionSnapshot
    
    Update event-processos variationKey type to string | null
    
    Update variationKey type to string | null
    
    Update existing optimizely module tests part 1
    
    Start adding new tests
    
    Update unit tests impression params when decision.experiment is undefined
    
    Clean up
    
    Change layer id type to be string | null
    
    Update variationId to bull as default
    
    * Upgrade event-processor to 0.7.0
    
    * Add createEventProcessor factory function
    
    * Add tests for getSendFlagDecisionsValue method
    
    * Update variationKey type to be string
    
    * Refactor isFeatureEnabled
    
    * Pass decision object instead of 4 individual values
    
    * Update DecisionService setForcedVariation signature and comments
    
    * Use optional chaining and nullish coalescing operator
    
    * Create decision helper functions
    
    * Address comments
    
    * Clean up
    
    * Fix experiment decision object
    
    * Change variation_key to '' instead of null in metadata
    
    * Update Changelog
    
    Co-authored-by: Matt Carroll <matt.carroll@optimizely.com>
    yavorona and mjc1283 committed Oct 28, 2020

Commits on Oct 19, 2020

  1. refactor: converted entry level modules to ts (#590)

    Summary:
    
    Converted packages\optimizely-sdk\lib\index.node.js to TS
    Converted packages\optimizely-sdk\lib\index.browser.js to TS
    Converted packages\optimizely-sdk\lib\index.react_native.js to TS
    
    Test plan:
    
    All existing unit tests should pass
    All existing test cases on FSC should pass
    
    Co-authored-by: uzair-folio3 <unadeem@folio3.com>
    ozayr-zaviar and uzair-folio3 committed Oct 19, 2020

Commits on Oct 16, 2020

  1. Prepare for 0.7.0 release (#603)

    yavorona committed Oct 16, 2020
  2. feat(flag_decisions): update decisionSnapshot in event-processor to i…

    …nclude metadata object (#601)
    
    * Include metadata object to makeDecisionSnapshot
    
    * Update CHANGELOG
    
    * Fix specs
    yavorona committed Oct 16, 2020

Commits on Oct 12, 2020

  1. Upgrade typescript to 4.0.3 (#598)

    yavorona committed Oct 12, 2020
  2. feat: Upgrade TypeScript to v4.0.3 in optimizely-sdk package (#597)

    * Upgrate ts to 4.0.3
    
    * Fix stubbing issue of fns by using default export object
    
    * Clean up fns module
    
    * Fix indentation
    
    * Update eslintrc.js
    
    * Update export default
    
    * Update fns
    yavorona committed Oct 12, 2020

Commits on Oct 8, 2020

  1. chore: Prepare for 4.3.4 release (#596)

    mjc1283 committed Oct 8, 2020

Commits on Oct 7, 2020

  1. Prepare for 4.3.3 release (#595)

    yavorona committed Oct 7, 2020
  2. fix(TS type defs): Restore missing types (#594)

    Summary:
    
    UserProfileService and several other types were removed by mistake from lib/index.d.ts.
    
    Test plan:
    
    Manual testing
    
    Issues:
    
    #593
    
    Co-authored-by: Polina Nguen <polina.nguen@optimizely.com>
    mjc1283 and yavorona committed Oct 7, 2020
Older