Skip to content

Parse first User-Agent product segment for product_id and version - #3662

Merged
sverdlov93 merged 10 commits into
masterfrom
feature/ai-visibility-census
Aug 14, 2026
Merged

Parse first User-Agent product segment for product_id and version#3662
sverdlov93 merged 10 commits into
masterfrom
feature/ai-visibility-census

Conversation

@sverdlov93

@sverdlov93 sverdlov93 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Fix Visibility product_id / product_version for long User-Agent strings from jfrog-skills / jfrog-agent-hooks by parsing the first whitespace-delimited product segment (name/version).

This preserves existing behavior everywhere else: HTTP and Call Home keep the full raw JFROG_CLI_USER_AGENT, and the existing AI suffix behavior is unchanged.

Example

Concern Result
Visibility from jfrog-skills/0.22.0 (trigger=skill; …) jfrog-cli-go/2.120.0 product_id=jfrog-skills, product_version=0.22.0
HTTP / Call Home User-Agent original full string preserved, with existing suffix behavior unchanged

Related

  • dl-schema#287 (recognizes client / model)

Rich jfrog-skills UAs no longer collapse product_version to the trailing
jfrog-cli-go version. HTTP keeps the raw JFROG_CLI_USER_AGENT string so
Coralogix request-log parsing stays unchanged.
@sverdlov93 sverdlov93 added the new feature Automatically generated release notes label Aug 13, 2026
Drops the raw HTTP User-Agent passthrough and ai-* dedup, which were not
needed to fix product_id/product_version for long user agents.
Skill/hook path is not sent to Visibility; the plugin UA keeps the trigger=
parens (Coralogix only). First-token product_id/version parse is unchanged.

@yahavi yahavi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤖 Review comment by Cursor AI

✅ All findings have been resolved.

  • Uses strings.Cut for the first User-Agent segment
  • Preserves the full raw User-Agent on HTTP / Call Home while Visibility uses only the first product segment
  • Existing AI suffix behavior remains unchanged

⚠️ AI review supplements human review — always get a human reviewer too.

Comment thread utils/cliutils/utils.go Outdated
Comment thread utils/cliutils/utils.go Outdated
Restore cliUserAgentRaw passthrough so HTTP/Call Home keep trigger= and
trailing tokens, while Visibility still parses the first product token.
Also use strings.Cut for the space trim.
Keep only the raw-wire preservation required by first-segment Visibility parsing; remove the unrelated ai-* dedup change and avoid credential-like terminology for UA segments.
@sverdlov93 sverdlov93 changed the title Parse first User-Agent product token for product_id and version Parse first User-Agent product segment for product_id and version Aug 14, 2026
@sverdlov93
sverdlov93 enabled auto-merge (squash) August 14, 2026 07:48
@github-actions

Copy link
Copy Markdown
Contributor

@sverdlov93
sverdlov93 merged commit f6cff7e into master Aug 14, 2026
123 checks passed
@sverdlov93
sverdlov93 deleted the feature/ai-visibility-census branch August 14, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature Automatically generated release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants