Skip to content

[eas-cli] filter observe:routes results by route names#3744

Merged
douglowder merged 4 commits into
mainfrom
doug/eng-21233-cli-enable-route-name-filter-in-observeroutes
May 19, 2026
Merged

[eas-cli] filter observe:routes results by route names#3744
douglowder merged 4 commits into
mainfrom
doug/eng-21233-cli-enable-route-name-filter-in-observeroutes

Conversation

@douglowder
Copy link
Copy Markdown
Contributor

@douglowder douglowder commented May 18, 2026

Why

The eas observe:routes command lacked the ability to filter navigation route results by specific route names. Users had no way to narrow down the routes data to only the routes they cared about.

How

A new --route-name flag (repeatable) was added to the command. When one or more values are provided, they are collected into a routeNames array and forwarded to the fetchObserveNavigationRoutesAsync function, which passes them along in the GraphQL filter. An empty array is treated the same as omitting the flag — no routeNames key is sent in the filter.

Example:

$ easd observe:routes 
EAS Observe is in preview and subject to breaking changes.

Med values (navigation count) for the last 60 days

Android
Route           Nav Cold TTR  Nav Warm TTR  Nav TTI    
--------------  ------------  ------------  -----------
/               0.18s (63)    0.08s (217)   0.22s (280)
/task/[taskId]  0.55s (39)    0.17s (139)   0.35s (178)
/new            0.37s (20)    0.13s (83)    0.26s (103)
/stats          0.88s (19)    0.36s (94)    0.64s (113)
/settings       0.15s (13)    0.06s (41)    0.12s (54) 

iOS
Route           Nav Cold TTR  Nav Warm TTR  Nav TTI    
--------------  ------------  ------------  -----------
/               0.18s (106)   0.08s (504)   0.22s (610)
/task/[taskId]  0.51s (88)    0.18s (325)   0.34s (413)
/stats          1.06s (68)    0.34s (243)   0.62s (311)
/new            0.32s (67)    0.13s (219)   0.27s (286)
/settings       0.16s (17)    0.06s (87)    0.13s (104)

$ easd observe:routes --route-name /new --route-name /settings
EAS Observe is in preview and subject to breaking changes.

Med values (navigation count) for the last 60 days

Android
Route      Nav Cold TTR  Nav Warm TTR  Nav TTI    
---------  ------------  ------------  -----------
/new       0.37s (20)    0.13s (83)    0.26s (103)
/settings  0.15s (13)    0.06s (41)    0.12s (54) 

iOS
Route      Nav Cold TTR  Nav Warm TTR  Nav TTI    
---------  ------------  ------------  -----------
/new       0.32s (67)    0.13s (219)   0.27s (286)
/settings  0.16s (17)    0.06s (87)    0.13s (104)

Test Plan

  • New unit tests cover both the command flag parsing and the fetch function behavior
  • Manual testing with the kadiexpo/cadence app in staging

@linear
Copy link
Copy Markdown

linear Bot commented May 18, 2026

ENG-21233

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@douglowder douglowder requested review from Ubax and kadikraman May 18, 2026 20:10
@douglowder douglowder changed the title Sync GraphQL with server to pick up routeNames filter [eas-cli] filter observe:routes results by route names May 18, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.99%. Comparing base (29909b2) to head (3571fa8).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3744      +/-   ##
==========================================
+ Coverage   56.64%   56.99%   +0.36%     
==========================================
  Files         906      902       -4     
  Lines       39041    38874     -167     
  Branches     8154     8127      -27     
==========================================
+ Hits        22110    22154      +44     
+ Misses      15454    15263     -191     
+ Partials     1477     1457      -20     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

douglowder and others added 3 commits May 18, 2026 17:32
Wire the new routeNames filter on AppObserveNavigationRoutesFilter (synced
from the server in 7270e89) through fetchObserveNavigationRoutesAsync and
expose it on observe:routes as a repeatable --route-name flag so users can
limit the table to one or more specific routes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@douglowder douglowder force-pushed the doug/eng-21233-cli-enable-route-name-filter-in-observeroutes branch from 595aee6 to 2eac784 Compare May 19, 2026 00:33
@douglowder douglowder marked this pull request as ready for review May 19, 2026 00:36
Comment thread packages/eas-cli/src/commands/observe/routes.ts Outdated
@github-actions
Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

@douglowder douglowder merged commit 10c7ac6 into main May 19, 2026
11 checks passed
@douglowder douglowder deleted the doug/eng-21233-cli-enable-route-name-filter-in-observeroutes branch May 19, 2026 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants