Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ba740da
chore: Introduce traffic type in segments
abbaseya Nov 17, 2025
01ffbe4
chore: cleaner traffic type values
abbaseya Nov 17, 2025
b7689d1
chore: add "bot" to traffic types
abbaseya Nov 18, 2025
79046b8
Merge pull request #345 from convertcom/feat/segments-traffic-type
JosephSamirL Nov 18, 2025
3d940a3
feat: automated TS Serving API update
hassaantahir0 Nov 18, 2025
154d373
Revert "feat/segments-traffic-type"
abbaseya Nov 18, 2025
20d63bb
Merge pull request #347 from convertcom/revert-345-feat/segments-traf…
JosephSamirL Nov 18, 2025
4109f37
chore: update segments source
abbaseya Nov 19, 2025
658db93
Merge pull request #348 from convertcom/feat/segments-source-update
JosephSamirL Nov 19, 2025
bb2436d
chore: update segments source ypes
abbaseya Nov 20, 2025
5aad30c
Merge branch 'main-convert' into api-serving-update-5863
abbaseya Nov 20, 2025
b5c51c1
Merge pull request #349 from convertcom/feat/segments-source-update
abbaseya Nov 20, 2025
39bd15a
Merge branch 'main-convert' into api-serving-update-5863
abbaseya Nov 20, 2025
23e727e
Merge pull request #346 from convertcom/api-serving-update-5863
abbaseya Nov 20, 2025
b6de571
chore: Introduce traffic type in segments
abbaseya Nov 17, 2025
90b29d7
chore: cleaner traffic type values
abbaseya Nov 17, 2025
837f0cf
chore: add "bot" to traffic types
abbaseya Nov 18, 2025
ccf57de
feat: automated TS Serving API update
hassaantahir0 Nov 18, 2025
51d8df0
Revert "feat/segments-traffic-type"
abbaseya Nov 18, 2025
ac90d5b
chore: update segments source
abbaseya Nov 19, 2025
af67c63
chore: update segments source ypes
abbaseya Nov 20, 2025
2b64e0b
chore: debug logs typo
abbaseya Nov 26, 2025
f95643b
fix(rules): properly short-circuit AND logic to return RuleError inst…
abbaseya Nov 26, 2025
77e7b3b
Merge branch 'main-convert' into fix/process-and-rules
JosephSamirL Nov 26, 2025
ffed545
Merge pull request #352 from convertcom/fix/process-and-rules
JosephSamirL Nov 26, 2025
a5b2842
fix: properly short-circuit AND logic to return RuleError instead of …
abbaseya Nov 26, 2025
4873d91
Merge pull request #353 from convertcom/fix/pre-release
abbaseya Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@
"devDependencies": {
"@types/eslint-plugin-mocha": "^10",
"eslint-plugin-mocha": "^11.2.0",
"eslint-plugin-prettier": "^5.5.4"
"eslint-plugin-prettier": "^5.5.4",
"prettier": "^3.6.2"
},
"resolutions": {
"form-data": ">=4.0.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/enums/src/dictionary.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ export const MESSAGES = {
SEGMENTATION_NOT_RESTRICTED: 'Segmentation not restricted',
RULE_NOT_MATCH: 'Rule does not match',
RULE_MATCH: 'Found matched rule at OR block #',
RULE_MATCH_AND: 'AND block rule macthed',
RULE_MATCH_AND: 'AND block rule matched',
RULE_MATCH_START: 'About to evaluate rule #',
LOCATION_ACTIVATED: 'Location # activated',
LOCATION_DEACTIVATED: 'Location # deactivated',
Expand Down
3 changes: 2 additions & 1 deletion packages/enums/src/segments/source-type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ export enum SourceType {
CAMPAIGN = 'campaign',
SEARCH = 'search',
REFERRAL = 'referral',
DIRECT = 'direct'
DIRECT = 'direct',
AI_TOOL = 'ai_tool'
}
3 changes: 1 addition & 2 deletions packages/js-sdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -981,7 +981,6 @@ Additionally, you can even include this repository as part of your own `TypeScri
```

2. Choose one of the following methods:

- **Workspaces**: Add the following `workspaces` to your `package.json` (_assuming that the submodule is located under your repository root_):

```json
Expand Down Expand Up @@ -1075,4 +1074,4 @@ Happy converting!

## Credits

Copyright © 2024 Convert Insights, Inc.
Copyright © 2025 Convert Insights, Inc.
17 changes: 8 additions & 9 deletions packages/rules/src/rule-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,17 +195,16 @@ export class RuleManager implements RuleManagerInterface {
) {
for (let i = 0, l = rulesSubset.AND.length; i < l; i++) {
match = this._processORWHEN(data, rulesSubset.AND[i]);
if (match === false) {
return false;
// AND requires ALL to explicitly return true
if (match !== true) {
return match;
}
}
if (match !== false) {
this._loggerManager?.info?.(
'RuleManager._processAND()',
MESSAGES.RULE_MATCH_AND
);
}
return match;
this._loggerManager?.info?.(
'RuleManager._processAND()',
MESSAGES.RULE_MATCH_AND
);
return true;
} else {
this._loggerManager?.warn?.(
'RuleManager._processAND()',
Expand Down
16 changes: 14 additions & 2 deletions packages/types/src/config/types.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -778,11 +778,11 @@ export type RuleObjectAudience = {
*/
OR?: Array<{
/**
* An array of OR_WHEN-blocks.
* This describes a colections of logical blocks which are evaluated using AND's between them
Comment thread
abbaseya marked this conversation as resolved.
*/
AND?: Array<{
/**
* An array of individual rule elements that do not involve URL matching.
* This describes a colections of logical blocks which are evaluated using OR's between them
Comment thread
abbaseya marked this conversation as resolved.
*/
OR_WHEN?: Array<RuleElementAudience>;
}>;
Expand Down Expand Up @@ -1816,6 +1816,10 @@ export type ConfigExperience = {
*/
products_ordered_count?: (NumericOutlier);
};
/**
* List of placeholders used by this experience (from changes, global_js, and global_css)
*/
placeholders?: Array<(string)>;
/**
* A couple of settings only applicable to Split URL experiments
*/
Expand Down Expand Up @@ -2171,6 +2175,10 @@ export type ClicksElementGoalSettings = {
* Css selector that identifies the DOM element(s) on which will track clicks in order to fire the goal.
*/
selector: string;
/**
* If true, triggers only on pages where the associated experience runs (Experience Location). Does not apply sitewide or to unrelated pages.
*/
only_where_experience_runs?: boolean;
};

/**
Expand Down Expand Up @@ -2485,6 +2493,10 @@ export type ConfigProject = {
* List of active placeholders which are used in experiences for the project
*/
placeholders?: Array<(string)>;
/**
* List of placeholders used in project's Global JavaScript (convertPlaceholders.<key>)
*/
global_javascript_placeholders?: Array<(string)>;
} & ConfigProjectMinimalSettings);
};

Expand Down
1 change: 1 addition & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -26013,6 +26013,7 @@ __metadata:
"@types/eslint-plugin-mocha": "npm:^10"
eslint-plugin-mocha: "npm:^11.2.0"
eslint-plugin-prettier: "npm:^5.5.4"
prettier: "npm:^3.6.2"
languageName: unknown
linkType: soft

Expand Down
Loading