Skip to content

fix(tasks): make mobile and desktop searches agree - #28580

Merged
nwparker merged 4 commits into
mainfrom
nwparker/jira-mobile-search-parity
Oct 14, 2026
Merged

nwparker merged 4 commits into
mainfrom
nwparker/jira-mobile-search-parity

Conversation

@nwparker

@nwparker nwparker commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 4 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​87 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​86
Prod 5 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​83 $\color{#cf222e}{\Huge{\mathbf{−}}}$​84 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1

ELI5

The same task search now means the same thing on your phone and desktop. Searching for pull requests no longer accidentally adds an issue filter on mobile.

What Changed

Mobile now uses the desktop's search rules and the shared preset map. is:pull-request, draft, review, and merged searches select the PR tab. Actual scope qualifiers are recognized as tokens, so quoted phrases and label values stay search text. Old saved “All” settings still open Issues, matching the current desktop's separate tabs.

Why

Two copies had drifted. Moving the existing desktop behavior into a shared module keeps both surfaces aligned without reviving the removed mixed tab. This follows the earlier parity work in #11121 by MumuTW, credited in the commit.

Linked Issue

Addresses the query portion of #10950. The Jira/provider portion is implemented separately; this PR alone should not close the issue.

Visual Proof

N/A — no screen layout or component changed. The changed behavior is search-string interpretation; regression tests exercise the mobile call site and the existing desktop call site.

Testing

The mobile recording loader now follows named reexports through the existing task barrel. Its prior failure was reproduced (20 failures across the focused recording/mutant suites); the full recording folder and mobile query cases pass1,783 tests plus3 existing skips. The named/aliased/type-only export regression passes. Explicit issue queries now override PR presets on both call sites; shared/desktop query tests pass77 checks. Current renderer/mobile product typechecks and nine-file changed-code quality pass after generating the mobile assets.

  • Automated tests added/updated
  • Manually tested locally with a live GitHub account

Regression tests failed on the base for is:pull-request and PR-only qualifiers, then passed after the change. Four mobile search tests and 76 shared/desktop tests pass. Mobile typecheck, desktop web typecheck, changed-code quality, and diff checks pass. The branch is updated to fixed main; CI should run full checks/build on the new head. No full app build or native-device test was run for this string-only change.

Review

Merge risk: Low. The existing desktop search rules are reused. Token handling also corrects the shared parser's treatment of quoted phrases, so the regression suite checks both surfaces. No authentication, RPC parameters, paths, shortcuts, or dependencies change; macOS/Linux/Windows, SSH, and folder workspaces follow the same host search path.

Agent skill upstream boundary

  • Not applicable; no upstream skill source is copied.

Notes

Reference: #11121 (closed), author MumuTW. The mobile Jira integration is a separate PR.

Checklist

  • Small and focused
  • Explained before/after, mechanism, and choice of approach
  • Visual-proof applicability explained
  • Self-reviewed correctness, security, and performance
  • Cross-platform, SSH/remote, and compatibility considered
  • Full lint, typecheck, test, build — CI should cover; focused results and existing failure recorded above

Refs #10950 and #11121. Retains current split tabs for legacy all presets.

Co-authored-by: MumuTW <42820974+MumuTW@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 2 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 28425e06-f637-4018-9f6d-b2a7feb78872
📥 Commits

Reviewing files that changed from the base of the PR and between bea4dee and eb6ba13.

📒 Files selected for processing: 3
  • mobile/src/tasks/mobile-task-search.test.ts
  • src/renderer/src/components/task-page-github-task-kind.test.ts
  • src/shared/task-github-search.ts
📝 Walkthrough

The change adds shared helpers for GitHub task-kind selection, preset normalization, and search scoping. Query parsing now detects explicit issue and pull-request scopes and preserves quoted tokens as free text. Mobile and renderer modules use the shared helpers. The RPC recording module loader also recognizes named re-exports when resolving barrel exports.

Priority: ⬇️ Low

Merge Risk: 🔵 Low · up to bea4d

A search for issues from a PR preset can show the PR tab instead. This is a narrow mismatch with a preset-switching workaround, so the change is mergeable with owner awareness.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 5.88% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 9 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: aligning mobile and desktop task-search behavior.
Description check Passed The description is mostly complete. It includes the required explanation, changes, rationale, issue reference, visual-proof rationale, testing results, review notes, compatibility considerations, and …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6c3b2083-95e0-431f-95d9-955b63a1f78b
📥 Commits

Reviewing files that changed from the base of the PR and between 9c0420f and bea4dee.

📒 Files selected for processing: 9
  • mobile/src/tasks/mobile-task-search.test.ts
  • mobile/src/tasks/mobile-tasks-item-mapping.ts
  • mobile/src/test-support/rpc-recording/operation-module-loader.test.ts
  • mobile/src/test-support/rpc-recording/operation-module-loader.ts
  • src/renderer/src/components/task-page-github-task-kind.test.ts
  • src/renderer/src/components/task-page-github-task-kind.ts
  • src/shared/task-github-search.ts
  • src/shared/task-query.test.ts
  • src/shared/task-query.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 0 remain after this review.

Comment thread src/shared/task-github-search.ts Resolved
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.

1 participant