-
Notifications
You must be signed in to change notification settings - Fork 83
[FSSDK-12080] remove holdouts feature toggle #1110
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
Conversation
next release will contain holdouts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR removes the holdouts feature toggle as holdouts will be included in the next release. The changes enable holdout functionality unconditionally throughout the codebase by removing feature toggle checks and associated mock setups.
- Removed all conditional checks for the holdouts feature toggle
- Cleaned up test mocks and imports related to the feature toggle
- Added TypeScript type checking to build scripts for improved type safety
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Added tsc --noEmit to build scripts for type checking before bundling |
| lib/feature_toggle.ts | Commented out the holdout toggle function (incomplete cleanup) |
| lib/project_config/project_config.ts | Removed feature toggle import and conditional check in parseHoldoutsConfig |
| lib/project_config/project_config.spec.ts | Removed mock setup, cleaned up imports, and updated test descriptions |
| lib/optimizely/index.tests.js | Removed unused holdout import |
| lib/notification_center/type.ts | Changed holdout type from conditional to direct Holdout | null |
| lib/core/decision_service/index.ts | Removed feature toggle import and made holdout logic unconditional |
| lib/core/decision_service/index.spec.ts | Removed holdout toggle mock setup and cleaned up imports |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } from 'error_message'; | ||
| import { getMockLogger } from '../tests/mock/mock_logger'; | ||
| import { VariableType } from '../shared_types'; | ||
| import { Mock, afterAll, afterEach, assert, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'; |
Copilot
AI
Nov 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused imports afterAll, beforeAll.
| import { Mock, afterAll, afterEach, assert, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'; | |
| import { Mock, afterEach, assert, beforeEach, describe, expect, it, vi } from 'vitest'; |
| import testDatafile from '../tests/test_data'; | ||
| import configValidator from '../utils/config_validator'; | ||
| import { FEATURE_VARIABLE_TYPES } from '../utils/enums'; | ||
| import { keyBy, sprintf } from '../utils/fns'; |
Copilot
AI
Nov 18, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused import sprintf.
| import { keyBy, sprintf } from '../utils/fns'; | |
| import { keyBy } from '../utils/fns'; |
Summary
next release will contain holdouts
Test plan
Issues