Hive
fix(server): Ran by filters for automated dashboard runs
GitHub issue · Closed
What changed
This updates the dashboard Ran by filters so choosing a user only returns local runs for that user. Automated continuous integration rows keep using the dedicated continuous integration option instead of appearing under a user when they carry the same account or user identifier.
The same filter semantics now apply across Xcode build runs, Gradle build runs, generate runs, cache runs, test runs, and test-case run listings. The change also adds regression coverage for the visible build-runs issue and strengthens the sibling filters that already had user-filter tests.
Why
The filter is expected to answer who initiated a run. Mixing automated rows into a user-filtered result makes the table harder to trust, especially when the user is checking whether a specific person ran something locally.
Root cause
The user branch of the filter only matched the selected account identifier. It did not also require the row to be a local, non-automated run, so automated rows associated with the same account could pass the filter.
Approach
The existing filter model stays in place. The user filter path now adds the same non-automated constraint everywhere the dashboard supports Ran by, while the dedicated continuous integration filter remains responsible for automated rows.
This keeps the fix close to the query layer and avoids changing table rendering, badges, or how filter values are encoded in the address bar.
Impact
Dashboard users get cleaner Ran by results. Automated rows remain visible through the continuous integration option. There are no database, migration, or data export changes.
Validation
mix test test/tuist_web/live/build_runs_live_test.exs:93- Reproduced the bug before the fix: the automated row was still visible for a user filter.
mix test test/tuist_web/live/build_runs_live_test.exs:93 test/tuist_web/live/gradle_build_runs_live_test.exs:158 test/tuist_web/live/generate_runs_live_test.exs:108 test/tuist_web/live/cache_runs_live_test.exs:114- Passed after the fix.
git diff --check- Passed.
- Headless Chrome browser verification against a local test server:
- Before: the filtered table showed both
browser-local-user-buildandbrowser-continuous-integration-build. - After: the same filtered table showed
browser-local-user-buildand did not showbrowser-continuous-integration-build.
- Before: the filtered table showed both
Screenshots
Before, the user filter still included the automated row:

After, the same user filter only includes the local row:

Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
Start a Flight and preserve its objective, outcome, and session here.
No GitHub comments yet.