Skip to content

feat(preprod): Auto-filter installable:true when switching to Distribution view#112533

Merged
mtopo27 merged 5 commits intomasterfrom
mtopo27/feat/auto-filter-installable-distribution-view
Apr 13, 2026
Merged

feat(preprod): Auto-filter installable:true when switching to Distribution view#112533
mtopo27 merged 5 commits intomasterfrom
mtopo27/feat/auto-filter-installable-distribution-view

Conversation

@mtopo27
Copy link
Copy Markdown
Contributor

@mtopo27 mtopo27 commented Apr 8, 2026

Auto-populate installable:true in the search bar when a user switches
to the Distribution display on the mobile builds tab. The token is
visible and removable by the user. Switching away from Distribution
strips the token automatically.

Direct navigation to a Distribution URL (e.g. shared links) respects
the URL as-is — no automatic injection. This keeps shared links
faithful to what the sender intended.

Uses MutableSearch for safe token manipulation (handles duplicates,
replaces installable:false, etc).

Files changed:

  • New installableQueryUtils.ts helper with addInstallableFilter / removeInstallableFilter
  • Updated handleDisplayChange in both mobileBuilds.tsx and preprodBuilds.tsx
  • Unit tests for helpers + integration tests for display switching
CleanShot.2026-04-09.at.14.54.56.mp4

Refs EME-1017

…ution view

When a user switches to the Distribution display on the mobile builds
tab, automatically populate installable:true in the search bar. The
token is visible and removable. Switching away from Distribution strips
the token. Direct navigation to a Distribution URL respects the URL
as-is without injection.

Refs EME-1017
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@linear-code
Copy link
Copy Markdown

linear-code bot commented Apr 8, 2026

@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Apr 8, 2026
…y-change logic

Move the installable filter add/remove decision into a shared helper so
both mobileBuilds and preprodBuilds call a single function instead of
duplicating the same conditional block.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mtopo27 mtopo27 marked this pull request as ready for review April 9, 2026 18:35
@mtopo27 mtopo27 requested a review from a team as a code owner April 9, 2026 18:35
Comment thread static/app/views/releases/detail/commitsAndFiles/preprodBuilds.tsx
Better home alongside the other preprod utility modules. No behavior
change.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract renderMobileBuildsTab helper to remove ~100 lines of duplicated
setup. Remove the token-preservation test since unit tests already cover
that path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 41ee7d6. Configure here.

Comment thread static/app/views/releases/detail/commitsAndFiles/preprodBuilds.tsx
…ry updates

Guard the debounced-search-to-URL sync effect with a ref that tracks
the previous debounced value. Without this, switching displays in
preprodBuilds would set query=installable:true via handleDisplayChange,
but the debounce sync effect would immediately fire with a stale
debounced value and navigate back to query=undefined.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mtopo27 mtopo27 merged commit 8d995ab into master Apr 13, 2026
62 checks passed
@mtopo27 mtopo27 deleted the mtopo27/feat/auto-filter-installable-distribution-view branch April 13, 2026 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants