Skip to content

馃悰 Bug Report: Inbox tag filter with more than 20 tags returns no notifications聽#12719

Description

@breken-ai

An Inbox (or GET /v2/subscribers/:id/notifications) filtered by a flat list of 21 or more tags returns no notifications, even when a notification has one of the tags. At 31 or more tags, the request fails with 400 At most 30 tag groups are allowed.

The SDK sends repeated tags[] query parameters. Express's extended qs parser uses an array limit of 20; above that it returns an index-keyed object such as { "0": "t0", ..., "20": "t20" }. parseTagsQueryValue treats those entries as separate AND groups, so the Mongo filter requires a notification to have every tag. When the same overflow occurs inside an AND filter, the nested object can be stringified as [object Object].

Minimal reproduction:

tags[]=t0&tags[]=t1&...&tags[]=t20

Expected query fragment:

{ tags: { $in: ['t0', 't1', /* ... */ 't20'] } }

Actual query fragment is an $and of 21 one-tag clauses. The same parsing issue affects GET /v2/subscribers/:id/notifications and Inbox filters using this transform.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions