Skip to content

Conversation

@chromy
Copy link
Contributor

@chromy chromy commented Jan 13, 2026

No description provided.

@chromy chromy requested a review from a team as a code owner January 13, 2026 13:16
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Jan 13, 2026
@chromy chromy force-pushed the chromy/2026-01-12-more-fields branch 2 times, most recently from 2a3de4f to ecd2945 Compare January 13, 2026 13:21
Copy link
Contributor

@runningcode runningcode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved but we should check AI's comments before merging.

# Which key we should return any free text under
free_text_key="text",
# is:foo filters
is_filter_translation={
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh that's an interesting property! funny how some things aren't expected to be translated and some are.

self.create_preprod_artifact(app_id="signup.app", commit_comparison=cc2)
self.create_preprod_artifact(app_id="crash.app", commit_comparison=cc3)

response = self._request({"query": "!branch:Containsfeature"})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what character is the box?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

data = response.json()
assert data[0]["app_info"]["app_id"] == "crash.app"


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a test that tests != to check what mr. ai suggested? 😆

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!= is actually not syntax the query string supports. The query looks like:

!foo:bar

and the backend translates that to:

("foo", "!=", "bar")

return Response(
{"detail": f"Key {key} does not support tag value lookups."},
status=400,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tag value lookup fails for has and installable keys

Medium Severity

The check for synthetic/computed keys that don't support tag value lookups only blocks is and platform, but has and installable are also added to allowed_keys by this PR and should be blocked. has is a filter syntax prefix (not a model field), and installable is a computed annotation. If a user requests tag values for either key, the endpoint will fail because queryset.values("has") references a non-existent field, and queryset.values("installable") is called before annotate_installable() adds the annotation.

Fix in Cursor Fix in Web

@chromy chromy merged commit 8093da3 into master Jan 13, 2026
66 checks passed
@chromy chromy deleted the chromy/2026-01-12-more-fields branch January 13, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants