feat(preprod): Add artifact-type filtering controls to status rule UI#108313
Merged
cameroncooke merged 6 commits intomasterfrom Feb 19, 2026
Merged
feat(preprod): Add artifact-type filtering controls to status rule UI#108313cameroncooke merged 6 commits intomasterfrom
cameroncooke merged 6 commits intomasterfrom
Conversation
6868ca0 to
a98beff
Compare
334b6f1 to
ad7fc00
Compare
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
a98beff to
0e31f2a
Compare
0e31f2a to
af37f14
Compare
chromy
reviewed
Feb 17, 2026
| {label: 'All Artifact Types', value: 'all_artifacts'}, | ||
| {label: 'Main App', value: 'main_artifact'}, | ||
| {label: 'Watch App', value: 'watch_artifact'}, | ||
| {label: 'Android Dynamic Feature', value: 'android_dynamic_feature_artifact'}, |
Contributor
There was a problem hiding this comment.
The whole file is like this and this just follows the existing pattern so we don't need to change it now however this I thing we could write better with a bit less duplication/more type safety by doing something like:
export const ALL_ARTIFACT_TYPES = [
'main_artifact',
'watch_artifact',
'android_dynamic_feature_artifact',
'all_artifacts',
] as const;
export type ArtifactType = typeof ALL_ARTIFACT_TYPES[number];
export const ARTIFACT_TYPE_LABELS: Record<ArtifactType, string> = {
all_artifacts: 'All Artifact Types',
main_artifact: 'Main App',
watch_artifact: 'Watch App',
android_dynamic_feature_artifact: 'Android Dynamic Feature',
};
export const ARTIFACT_TYPE_OPTIONS = Object.entries(ARTIFACT_TYPE_LABELS).map(
([value, label]) => ({ label, value: value as ArtifactType })
);
export const getSafeValue = <T>(value: unknown, validOptions: readonly T[], fallback: T): T => {
if (validOptions.includes(value as any)) {
return value as T;
}
return fallback;
};
const toArtifact = type => getSafeValue(type, VALID_ARTIFACT_TYPES, 'main_artifact');
const artifactType = toArtifact(r.artifactType as string);
Contributor
Author
There was a problem hiding this comment.
@chromy I've addressed this now, thanks for the tip, still learning a lot about TS and most of my learning is from existing code so it's really helpful to see patterns like this. Though if this was Swift it would be like 4 lines of code! Need to get used to all this type dancing!
1de6d69 to
18cb46f
Compare
af37f14 to
55680ad
Compare
Base automatically changed from
codex/eme-808-backend-artifact-rules
to
master
February 18, 2026 14:28
55680ad to
a84bb60
Compare
Update status check rule forms to surface artifact type selection consistently, including All artifacts, and keep legacy rule reads aligned with existing Main App defaults when artifact type is missing. Refs EME-808
47640ac to
20e29e3
Compare
chromy
approved these changes
Feb 19, 2026
Contributor
chromy
left a comment
There was a problem hiding this comment.
lgtm, thanks for cleaning those up!
JonasBa
pushed a commit
that referenced
this pull request
Feb 19, 2026
…#108313) Add frontend support for artifact-type filtering in mobile build size status check rules. This PR adds the UI and client-side rule handling needed to configure artifact targeting for status checks and aligns frontend behavior with backend rule evaluation in #108311. Key changes: - Add artifact type options to the rule editor (All, Main App, Watch App, Dynamic Feature). - Move the artifact type dropdown below the Artifact Type label for consistent layout. - Order the dropdown with All at the top. - Default new rules to All artifacts. - Preserve existing saved rules by reading missing artifact type as Main App. - Update rule typing and persistence logic so `artifactType` is round-tripped correctly. This PR remains stacked on #108311 so backend and frontend can be deployed independently. <img width="765" height="655" alt="Screenshot 2026-02-16 at 16 18 39" src="https://github.com/user-attachments/assets/8792ab33-4bd3-4cc4-81ac-a65e2a592672" /> Refs EME-808
1 task
mchen-sentry
pushed a commit
that referenced
this pull request
Feb 24, 2026
…#108313) Add frontend support for artifact-type filtering in mobile build size status check rules. This PR adds the UI and client-side rule handling needed to configure artifact targeting for status checks and aligns frontend behavior with backend rule evaluation in #108311. Key changes: - Add artifact type options to the rule editor (All, Main App, Watch App, Dynamic Feature). - Move the artifact type dropdown below the Artifact Type label for consistent layout. - Order the dropdown with All at the top. - Default new rules to All artifacts. - Preserve existing saved rules by reading missing artifact type as Main App. - Update rule typing and persistence logic so `artifactType` is round-tripped correctly. This PR remains stacked on #108311 so backend and frontend can be deployed independently. <img width="765" height="655" alt="Screenshot 2026-02-16 at 16 18 39" src="https://github.com/user-attachments/assets/8792ab33-4bd3-4cc4-81ac-a65e2a592672" /> Refs EME-808
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Add frontend support for artifact-type filtering in mobile build size status check rules.
This PR adds the UI and client-side rule handling needed to configure artifact targeting for status checks and aligns frontend behavior with backend rule evaluation in #108311.
Key changes:
artifactTypeis round-tripped correctly.This PR remains stacked on #108311 so backend and frontend can be deployed independently.
Refs EME-808