-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refresh button for source rows in Status page #6175
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a lot of action when clicking the refresh button: flickering, jumpiness, table resizing. Some things I noticed:
Latest demo: CleanShot.2024-12-04.at.12.26.40.mp4 |
d78933b
to
22f6d01
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks good, but I ran into a weird state: ~50% of the time when refreshing a Source with an error, the source is marked "Idle", yet for about 30s the "Refresh all sources and models" button is disabled and I see polling ListResources
network requests. Here's a Jam.
I also hit this 500 error, but I think it's been fixed on main
, right? So it'd help if you could merge main
into this branch.
d27ca47
to
792276e
Compare
I can see from the Jam that the specific resource didn't get refreshed properly due to the "failed to ingest source" error. Here's a video of a happy path: CleanShot.2024-12-10.at.10.32.21.mp4Is it expected to disable the refresh icon when a resource errors out? I can see in the Jam, the resource continues to error out even after a refresh.. Update: Gracefully stop polling after detecting reconcile error CleanShot.2024-12-10.at.14.36.28.mp4 |
After a rebase, I still run into the 500 error occasionally when I fire a Error message — "grpc: error while marshaling: marshaling rill.runtime.v1.ListResourcesResponse: size mismatch (see golang/protobuf#1609): calculated=229, measured=177" |
Yeah that should get fixed by this PR: #6233 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UXQA: I've triggered a Source refresh, yet I don't see any polling of the ListResource
API.
Kapture.2024-12-16.at.14.40.05.mp4
In this PR, I've used the Specifically, the Refresh a model command. I see |
@lovincyrus @ericpgreen2 FYI |
from @jkhwu: After they click refresh we can display a temp toast “🔘 Refreshing ” Followed by another toast “✔️ Successfully refreshed ” |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the user navigates away from the status page, we'll have to get rid of this toast message, else it'll spin forever.

Tangentially, @ericokuma / @jkhwu, I'd propose we remove this toast message altogether, since it's redundant to the spinner in the table (pictured below). And, in its current form, it's not always accurately describing what's happening. For example, when the initial resource has refreshed successfully, and a downstream resource (or multiple) are refreshing, the spinner will incorrectly say that the initial resource is currently refreshing.

This reverts commit b0811b8.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just left a comment that the backoff function isn't currently working, but, after resolving that, this looks good to go!
* new cell to refresh source in status tab * move refresh sources to higher order * wip * add refresh confirm dialog * wip, fixme * refetch allResources on row reload click * force a new query using refetchKey for clean data * add tooltip to menu item * lint * feedback, custom polling to avoid stale data * error handling * tsc whitelist * Revert "tsc whitelist" This reverts commit 792276e. * add refresh trigger to new files * stop polling when reconcile error * only stop polling when all resources are in idle status * rebase fix * reserved space for actions in table * color loading spinner, loading type in notification * confirmation dialog for single resource * improve notifications based on diff resource status * lint * refactor onError, feedback * message fix * customizable timeout notification, feedback * use persisted, remove x from loading notification * proper notification clean up with id * hoist timeout to constants * max backoff * use resources, fetch interval * remove timestamp * polling for refresh all * lint * readd loading notification, type check * type check * use is fetching for refreshing, max poll * handle navigate away case * fix * optional type, clean up * fix * polish navigate away and back notification * add refresh trigger to user facing resource kinds * add clear-all-notifications event * feedback * lint * reset * make refresh call async * just right * backoff strat, error handling * move to pure function for refetch interval * clean up, clean up, clean up * lint * reverts * Revert "reverts" This reverts commit b0811b8. * update refetch interval * revalidate in refresh all * fix action cell sizing, compact
address #6154