From 0909c4ddf27c9b8e07643342222ffc9276c1efe9 Mon Sep 17 00:00:00 2001 From: Aditya Agarwal Date: Wed, 9 Sep 2026 18:45:48 +0200 Subject: [PATCH 1/2] feat: [FEEDS-1763.1] regenerate OpenAPI client Add activity_marks and other additive Feeds fields from chat master after #16794. Co-authored-by: Cursor --- src/Generated/ChatTrait.php | 6 +++++- src/Generated/CommonTrait.php | 10 +++++++++- src/Generated/FeedsTrait.php | 10 +++++++++- src/GeneratedModels/ActivityMarksConfig.php | 16 ++++++++++++++++ src/GeneratedModels/ActivityProcessingConfig.php | 3 ++- src/GeneratedModels/ActivitySelectorConfig.php | 1 + .../ActivitySelectorConfigResponse.php | 1 + .../ChannelBatchUpdateRequest.php | 1 + src/GeneratedModels/CreateFeedGroupRequest.php | 1 + src/GeneratedModels/DeleteChannelsRequest.php | 3 ++- src/GeneratedModels/FeedGroupResponse.php | 1 + src/GeneratedModels/FeedGroupScope.php | 16 ++++++++++++++++ .../GetFeedsRateLimitsResponse.php | 6 ++++++ .../GetOrCreateFeedGroupRequest.php | 1 + src/GeneratedModels/GetRateLimitsResponse.php | 6 ++++++ .../ModerationDashboardPreferences.php | 1 + src/GeneratedModels/PaginationParams.php | 4 ++++ src/GeneratedModels/QueryBannedUsersPayload.php | 4 ++++ .../QueryFutureChannelBansPayload.php | 4 ++++ src/GeneratedModels/QueryMembersPayload.php | 8 ++++++++ src/GeneratedModels/QueryUsersPayload.php | 4 ++++ src/GeneratedModels/ReviewQueueItemResponse.php | 1 + src/GeneratedModels/RuleBuilderCondition.php | 1 + src/GeneratedModels/RunStats.php | 1 + src/GeneratedModels/UpdateFeedGroupRequest.php | 1 + src/GeneratedModels/UpdateUsersResponse.php | 3 ++- .../UserReactionCountRuleParameters.php | 16 ++++++++++++++++ src/GeneratedModels/WebhookFailoverConfig.php | 6 ++++++ 28 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 src/GeneratedModels/ActivityMarksConfig.php create mode 100644 src/GeneratedModels/FeedGroupScope.php create mode 100644 src/GeneratedModels/UserReactionCountRuleParameters.php diff --git a/src/Generated/ChatTrait.php b/src/Generated/ChatTrait.php index 8635fb5c..c8a8b64f 100644 --- a/src/Generated/ChatTrait.php +++ b/src/Generated/ChatTrait.php @@ -263,10 +263,11 @@ public function getOrCreateDistinctChannel(string $type, GeneratedModels\Channel * @param string $type * @param string $id * @param ?bool $hardDelete + * @param ?bool $skipTruncate * @return StreamResponse * @throws StreamException */ - public function deleteChannel(string $type, string $id, ?bool $hardDelete = null): StreamResponse { + public function deleteChannel(string $type, string $id, ?bool $hardDelete = null, ?bool $skipTruncate = null): StreamResponse { $path = '/api/v2/chat/channels/{type}/{id}'; $path = str_replace('{type}', (string) $type, $path); $path = str_replace('{id}', (string) $id, $path); @@ -275,6 +276,9 @@ public function deleteChannel(string $type, string $id, ?bool $hardDelete = null if ($hardDelete !== null) { $queryParams['hard_delete'] = $hardDelete; } + if ($skipTruncate !== null) { + $queryParams['skip_truncate'] = $skipTruncate; + } $requestData = null; return StreamResponse::fromJson($this->makeRequest('DELETE', $path, $queryParams, $requestData), GeneratedModels\DeleteChannelResponse::class); } diff --git a/src/Generated/CommonTrait.php b/src/Generated/CommonTrait.php index 2e34e690..e03a0eff 100644 --- a/src/Generated/CommonTrait.php +++ b/src/Generated/CommonTrait.php @@ -938,11 +938,13 @@ public function upsertPushTemplate(GeneratedModels\UpsertPushTemplateRequest $re * @param ?bool $ios * @param ?bool $web * @param ?bool $unity + * @param ?bool $unityDesktop + * @param ?bool $unityConsole * @param ?string $endpoints * @return StreamResponse * @throws StreamException */ - public function getRateLimits(?bool $serverSide = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $unity = null, ?string $endpoints = null): StreamResponse { + public function getRateLimits(?bool $serverSide = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $unity = null, ?bool $unityDesktop = null, ?bool $unityConsole = null, ?string $endpoints = null): StreamResponse { $path = '/api/v2/rate_limits'; $queryParams = []; @@ -961,6 +963,12 @@ public function getRateLimits(?bool $serverSide = null, ?bool $android = null, ? if ($unity !== null) { $queryParams['unity'] = $unity; } + if ($unityDesktop !== null) { + $queryParams['unity_desktop'] = $unityDesktop; + } + if ($unityConsole !== null) { + $queryParams['unity_console'] = $unityConsole; + } if ($endpoints !== null) { $queryParams['endpoints'] = $endpoints; } diff --git a/src/Generated/FeedsTrait.php b/src/Generated/FeedsTrait.php index e6144b09..7606e824 100644 --- a/src/Generated/FeedsTrait.php +++ b/src/Generated/FeedsTrait.php @@ -1636,11 +1636,13 @@ public function queryFeeds(GeneratedModels\QueryFeedsRequest $requestData): Stre * @param ?bool $ios * @param ?bool $web * @param ?bool $unity + * @param ?bool $unityDesktop + * @param ?bool $unityConsole * @param ?bool $serverSide * @return StreamResponse * @throws StreamException */ - public function getFeedsRateLimits(?string $endpoints = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $unity = null, ?bool $serverSide = null): StreamResponse { + public function getFeedsRateLimits(?string $endpoints = null, ?bool $android = null, ?bool $ios = null, ?bool $web = null, ?bool $unity = null, ?bool $unityDesktop = null, ?bool $unityConsole = null, ?bool $serverSide = null): StreamResponse { $path = '/api/v2/feeds/feeds/rate_limits'; $queryParams = []; @@ -1659,6 +1661,12 @@ public function getFeedsRateLimits(?string $endpoints = null, ?bool $android = n if ($unity !== null) { $queryParams['unity'] = $unity; } + if ($unityDesktop !== null) { + $queryParams['unity_desktop'] = $unityDesktop; + } + if ($unityConsole !== null) { + $queryParams['unity_console'] = $unityConsole; + } if ($serverSide !== null) { $queryParams['server_side'] = $serverSide; } diff --git a/src/GeneratedModels/ActivityMarksConfig.php b/src/GeneratedModels/ActivityMarksConfig.php new file mode 100644 index 00000000..2bba756c --- /dev/null +++ b/src/GeneratedModels/ActivityMarksConfig.php @@ -0,0 +1,16 @@ + limit info) /** @var array|null */ #[MapOf(LimitInfoResponse::class)] + public ?array $unityDesktop = null, // Rate limits for Unity desktop platform (endpoint name -> limit info) + /** @var array|null */ + #[MapOf(LimitInfoResponse::class)] + public ?array $unityConsole = null, // Rate limits for Unity console platform (endpoint name -> limit info) + /** @var array|null */ + #[MapOf(LimitInfoResponse::class)] public ?array $serverSide = null, // Rate limits for server-side platform (endpoint name -> limit info) ) { } diff --git a/src/GeneratedModels/GetOrCreateFeedGroupRequest.php b/src/GeneratedModels/GetOrCreateFeedGroupRequest.php index a4ff27db..ade18911 100644 --- a/src/GeneratedModels/GetOrCreateFeedGroupRequest.php +++ b/src/GeneratedModels/GetOrCreateFeedGroupRequest.php @@ -7,6 +7,7 @@ class GetOrCreateFeedGroupRequest extends BaseModel { public function __construct( public ?NotificationConfig $notification = null, + public ?ActivityMarksConfig $activityMarks = null, public ?PushNotificationConfig $pushNotification = null, public ?StoriesConfig $stories = null, public ?object $custom = null, // Custom data for the feed group diff --git a/src/GeneratedModels/GetRateLimitsResponse.php b/src/GeneratedModels/GetRateLimitsResponse.php index 5a6e4b05..7026f1e6 100644 --- a/src/GeneratedModels/GetRateLimitsResponse.php +++ b/src/GeneratedModels/GetRateLimitsResponse.php @@ -21,6 +21,12 @@ public function __construct( /** @var array|null */ #[MapOf(LimitInfoResponse::class)] public ?array $unity = null, // Map of endpoint rate limits for the Unity platform + /** @var array|null */ + #[MapOf(LimitInfoResponse::class)] + public ?array $unityDesktop = null, // Map of endpoint rate limits for the Unity desktop platform + /** @var array|null */ + #[MapOf(LimitInfoResponse::class)] + public ?array $unityConsole = null, // Map of endpoint rate limits for the Unity console platform public ?string $duration = null, ) { } diff --git a/src/GeneratedModels/ModerationDashboardPreferences.php b/src/GeneratedModels/ModerationDashboardPreferences.php index 380952ca..de6bd6d7 100644 --- a/src/GeneratedModels/ModerationDashboardPreferences.php +++ b/src/GeneratedModels/ModerationDashboardPreferences.php @@ -20,6 +20,7 @@ public function __construct( public ?bool $includeAttachmentPayload = null, public ?bool $blockForeignCdnAttachments = null, public ?array $filterableCustomKeys = null, + public ?bool $enforceShadowServerSide = null, ) { } diff --git a/src/GeneratedModels/PaginationParams.php b/src/GeneratedModels/PaginationParams.php index f76d4538..571ae4d6 100644 --- a/src/GeneratedModels/PaginationParams.php +++ b/src/GeneratedModels/PaginationParams.php @@ -8,6 +8,10 @@ class PaginationParams extends BaseModel public function __construct( public ?int $limit = null, public ?int $offset = null, + public ?int $idGte = null, + public ?int $idGt = null, + public ?int $idLte = null, + public ?int $idLt = null, ) { } diff --git a/src/GeneratedModels/QueryBannedUsersPayload.php b/src/GeneratedModels/QueryBannedUsersPayload.php index 446ea429..754ab1d7 100644 --- a/src/GeneratedModels/QueryBannedUsersPayload.php +++ b/src/GeneratedModels/QueryBannedUsersPayload.php @@ -12,6 +12,10 @@ public function __construct( public ?array $sort = null, // Array of sort parameters public ?int $limit = null, // Number of records to return public ?int $offset = null, // Number of records to offset + public ?\DateTime $createdAtAfterOrEqual = null, + public ?\DateTime $createdAtAfter = null, + public ?\DateTime $createdAtBeforeOrEqual = null, + public ?\DateTime $createdAtBefore = null, public ?bool $excludeExpiredBans = null, // Whether to exclude expired bans or not public ?string $userID = null, public ?UserRequest $user = null, // User request object diff --git a/src/GeneratedModels/QueryFutureChannelBansPayload.php b/src/GeneratedModels/QueryFutureChannelBansPayload.php index e9fa96dc..14c9acd0 100644 --- a/src/GeneratedModels/QueryFutureChannelBansPayload.php +++ b/src/GeneratedModels/QueryFutureChannelBansPayload.php @@ -8,6 +8,10 @@ class QueryFutureChannelBansPayload extends BaseModel public function __construct( public ?int $limit = null, // Number of records to return public ?int $offset = null, // Number of records to offset + public ?\DateTime $createdAtAfterOrEqual = null, + public ?\DateTime $createdAtAfter = null, + public ?\DateTime $createdAtBeforeOrEqual = null, + public ?\DateTime $createdAtBefore = null, public ?bool $excludeExpiredBans = null, // Whether to exclude expired bans or not public ?bool $includeTotal = null, // When true, the response includes the total number of bans matching the query filter (independent of limit and offset, capped at 100000) public ?string $targetUserID = null, // Filter by the target user ID. Server-side: returns all bans against this user. Client-side: narrows the authenticated user's own bans to this target. diff --git a/src/GeneratedModels/QueryMembersPayload.php b/src/GeneratedModels/QueryMembersPayload.php index f5ccf24c..cb0c92e0 100644 --- a/src/GeneratedModels/QueryMembersPayload.php +++ b/src/GeneratedModels/QueryMembersPayload.php @@ -17,6 +17,14 @@ public function __construct( public ?array $sort = null, // Array of sort parameters public ?int $limit = null, public ?int $offset = null, + public ?string $userIDGte = null, + public ?string $userIDGt = null, + public ?string $userIDLte = null, + public ?string $userIDLt = null, + public ?\DateTime $createdAtAfterOrEqual = null, + public ?\DateTime $createdAtAfter = null, + public ?\DateTime $createdAtBeforeOrEqual = null, + public ?\DateTime $createdAtBefore = null, public ?string $userID = null, public ?UserRequest $user = null, // User request object ) { diff --git a/src/GeneratedModels/QueryUsersPayload.php b/src/GeneratedModels/QueryUsersPayload.php index 6db1ade3..65666900 100644 --- a/src/GeneratedModels/QueryUsersPayload.php +++ b/src/GeneratedModels/QueryUsersPayload.php @@ -14,6 +14,10 @@ public function __construct( public ?bool $includeDeactivatedUsers = null, public ?int $limit = null, public ?int $offset = null, + public ?string $idGte = null, + public ?string $idGt = null, + public ?string $idLte = null, + public ?string $idLt = null, public ?string $userID = null, public ?UserRequest $user = null, // User request object ) { diff --git a/src/GeneratedModels/ReviewQueueItemResponse.php b/src/GeneratedModels/ReviewQueueItemResponse.php index 3df40a3a..4944c3c8 100644 --- a/src/GeneratedModels/ReviewQueueItemResponse.php +++ b/src/GeneratedModels/ReviewQueueItemResponse.php @@ -21,6 +21,7 @@ public function __construct( public ?int $severity = null, // Severity level of the content public ?string $aiTextSeverity = null, // AI-determined text severity public ?string $latestModeratorAction = null, + public ?float $confidenceScore = null, // Highest per-label confidence (0-1) any provider reported across the item's flags; absent when no flag carried one public ?ChatMessageResponse $message = null, public ?EnrichedActivity $activity = null, public ?Reaction $reaction = null, diff --git a/src/GeneratedModels/RuleBuilderCondition.php b/src/GeneratedModels/RuleBuilderCondition.php index defc72a3..c493f356 100644 --- a/src/GeneratedModels/RuleBuilderCondition.php +++ b/src/GeneratedModels/RuleBuilderCondition.php @@ -36,6 +36,7 @@ public function __construct( public ?CallTypeRuleParameters $callTypeRuleParams = null, public ?CallCustomPropertyParameters $callCustomPropertyParams = null, public ?CallViolationCountParameters $callViolationCountParams = null, + public ?UserReactionCountRuleParameters $userReactionCountParams = null, ) { } diff --git a/src/GeneratedModels/RunStats.php b/src/GeneratedModels/RunStats.php index feb512d1..d4e1f7a1 100644 --- a/src/GeneratedModels/RunStats.php +++ b/src/GeneratedModels/RunStats.php @@ -8,6 +8,7 @@ class RunStats extends BaseModel public function __construct( public ?int $channelsDeleted = null, public ?int $messagesDeleted = null, + public ?int $activitiesDeleted = null, ) { } diff --git a/src/GeneratedModels/UpdateFeedGroupRequest.php b/src/GeneratedModels/UpdateFeedGroupRequest.php index e886b0a9..6f7d2a46 100644 --- a/src/GeneratedModels/UpdateFeedGroupRequest.php +++ b/src/GeneratedModels/UpdateFeedGroupRequest.php @@ -7,6 +7,7 @@ class UpdateFeedGroupRequest extends BaseModel { public function __construct( public ?NotificationConfig $notification = null, + public ?ActivityMarksConfig $activityMarks = null, public ?PushNotificationConfig $pushNotification = null, public ?StoriesConfig $stories = null, public ?object $custom = null, // Custom data for the feed group diff --git a/src/GeneratedModels/UpdateUsersResponse.php b/src/GeneratedModels/UpdateUsersResponse.php index d87da79e..b236a84d 100644 --- a/src/GeneratedModels/UpdateUsersResponse.php +++ b/src/GeneratedModels/UpdateUsersResponse.php @@ -9,7 +9,8 @@ public function __construct( /** @var array|null */ #[MapOf(FullUserResponse::class)] public ?array $users = null, // Object containing users - public ?string $membershipDeletionTaskID = null, + /** @deprecated */ + public ?string $membershipDeletionTaskID = null, // Deprecated: always empty. Removing a user from a team no longer deletes their memberships in that team's channels, so there is no task to poll public ?string $duration = null, // Duration of the request in milliseconds ) { } diff --git a/src/GeneratedModels/UserReactionCountRuleParameters.php b/src/GeneratedModels/UserReactionCountRuleParameters.php new file mode 100644 index 00000000..f624f22a --- /dev/null +++ b/src/GeneratedModels/UserReactionCountRuleParameters.php @@ -0,0 +1,16 @@ + Date: Wed, 9 Sep 2026 21:43:25 +0200 Subject: [PATCH 2/2] test: [FEEDS-1763.1] cover activity_marks ranking is_seen --- tests/ActivityMarksRankingTest.php | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/ActivityMarksRankingTest.php diff --git a/tests/ActivityMarksRankingTest.php b/tests/ActivityMarksRankingTest.php new file mode 100644 index 00000000..d1ee95bb --- /dev/null +++ b/tests/ActivityMarksRankingTest.php @@ -0,0 +1,34 @@ +