Skip to content

Seanaye/fix/loading while local evaluation - #6283

Merged
seanaye merged 5 commits into
mainfrom
seanaye/fix/loading-while-local-evaluation
Sep 9, 2026
Merged

Seanaye/fix/loading while local evaluation#6283
seanaye merged 5 commits into
mainfrom
seanaye/fix/loading-while-local-evaluation

Conversation

@seanaye

@seanaye seanaye commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

PR removes the loading indicator state from soup when a local filter is being evaluated


Note

Medium Risk
Changes client-side list merging and loading semantics for GraphQL-cached Soup queries; behavior is heavily tested but affects visible list state during pagination and cache updates.

Overview
Fixes flat Soup list UX when the browser GraphQL cache reconciles filters locally: current-query cache rows are treated as real data, not placeholder state, so isPlaceholderData is always false and isLoading stays false while a prior local result is retained during recomputation (avoiding the mobile tab-loading bar and empty-list flashes).

Display logic now keeps the last local overlay for the same filter input and cache generation, invalidates it when the server baseline shrinks (e.g. resetToInitialPage) or filters/generation change, and merges newly paginated server rows immediately via unreconciledServerRecords—without duplicating reconciled candidates or resurrecting removed baseline rows—until a successful reconciliation reorders the union.

Tests and surfaces.md document pagination during pending/failed reconciliation, stable display across recomputation, and query/generation boundaries.

Reviewed by Cursor Bugbot for commit a2cc764. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 6b9f5cdc-930f-42ae-9ea2-b7ac6ae9b44b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: acd87ee0-7463-479d-abc7-dec16a3c8527

📥 Commits

Reviewing files that changed from the base of the PR and between ab4bd7a and d3c46fb.

📒 Files selected for processing (3)
  • apps/web/src/lib/queries/soup/graphql/items.test.ts
  • apps/web/src/lib/queries/soup/graphql/items.ts
  • docs/AGENT_GUIDE/surfaces.md

Included review availability: Your plan provides up to 8 included reviews per hour; 6 remain after this review.


📝 Summary

Summary by CodeRabbit

  • Bug Fixes

    • Improved live updates in flat lists by retaining the last displayed local result during pending or failed recomputation for the same query.
    • Ensured fresh server responses replace retained local results.
    • Prevented stale local results from appearing after query or cache changes.
    • Corrected loading indicators so retained local data is not incorrectly marked as placeholder content.
  • Documentation

    • Clarified live-update behavior, reconciliation, and loading states.

Walkthrough

The change tracks local projections by query input and cache generation. It retains the last valid local display during recomputation for the same query and generation. Fresh network data replaces the local display. Query or generation changes discard the previous display and restore loading behavior. Local data is no longer marked as placeholder data. Tests and documentation cover these reconciliation states.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to d3c46

Soup retains valid same-query results during local recomputation without showing a loading indicator, while query or cache-generation changes still clear stale results and fresh server data replaces local display. The change is ready to merge.

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title describes the loading behavior change, but it does not follow the required Conventional Commits format because it lacks a valid prefix such as fix:. It is under 72 characters. Rename the title to a Conventional Commits title, such as fix: remove loading during local evaluation. The title must remain under 72 characters.
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly explains the removal of the loading indicator during local filter evaluation and matches the changes and objectives.
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.

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.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Copy link
Copy Markdown

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 using default effort 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.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d3c46fb. Configure here.

Comment thread apps/web/src/lib/queries/soup/graphql/items.ts Outdated
@seanaye
seanaye merged commit 4500bf7 into main Sep 9, 2026
26 checks passed
@seanaye
seanaye deleted the seanaye/fix/loading-while-local-evaluation branch September 9, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant