Skip to content

Comments

Hibernation screen wake button#8852

Merged
ericokuma merged 7 commits intomainfrom
cursor/APP-737-hibernation-screen-wake-button-9d61
Feb 18, 2026
Merged

Hibernation screen wake button#8852
ericokuma merged 7 commits intomainfrom
cursor/APP-737-hibernation-screen-wake-button-9d61

Conversation

@ericokuma
Copy link
Contributor

@ericokuma ericokuma commented Feb 13, 2026

Implements a "Wake project" button as the primary call to action on the post-hibernation screen.

This change provides a direct UI method for users with manageProject permissions to wake a hibernating project, improving user experience by making the most common action more accessible. The CLI command option is retained as a secondary instruction.

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes (APP-737)
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

Linear Issue: APP-737

Open in Cursor Open in Web


Note

Medium Risk
Primarily UI/UX changes around triggering redeploy plus query refetching and updated error handling; moderate risk because it changes mutation flow/state handling and the shown diff suggests potential import/logic duplication that could cause build/runtime issues.

Overview
Updates the hibernation CTA to make “Wake project” the primary action for users with manage permissions, including a dedicated handleWakeProject flow that triggers redeploy and then refetches the project query (exact key).

Adds a waking/loading UI state (disabled + loading button, swapping moon/spinner icon, and “Waking up…” header), surfaces redeploy failures via getRpcErrorMessage, and adds CtaNeedHelp to both manage/read-only hibernation views.

Written by Cursor Bugbot for commit b3645cd. This will update automatically on new commits. Configure here.

@cursor
Copy link

cursor bot commented Feb 13, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

- Added Wake project button as primary call-to-action for project admins
- Button triggers the redeploy mutation to wake the hibernating project
- Shows loading state while waking the project
- Updated copy to 'You can also run the following command in the Rill CLI'
- Kept CLI command display for alternative method
- Added success/error notifications

Resolves APP-737

Co-authored-by: ericokuma <ericokuma@users.noreply.github.com>
@cursor cursor bot force-pushed the cursor/APP-737-hibernation-screen-wake-button-9d61 branch from 41c532b to 6263755 Compare February 13, 2026 20:14
cursoragent and others added 2 commits February 13, 2026 20:21
- Added MoonCircleOutline icon (104px) for visual recognition
- Added full-screen loading state with 'Waking up your project...' message
- Added CTANeedHelp component with Discord support link
- Applied same visual pattern to read-only viewer state
- Consistent with OrganizationHibernatingForAdmins screen patterns

Co-authored-by: ericokuma <ericokuma@users.noreply.github.com>
- Fixed layout jitter by keeping all elements in DOM
- Icon container has fixed 104px dimensions
- Moon and loading icons crossfade with 200ms CSS transition
- Button stays in place with built-in loading state
- CLI section fades to 40% opacity instead of disappearing
- No layout shifts during state changes

Co-authored-by: ericokuma <ericokuma@users.noreply.github.com>
@ericokuma ericokuma marked this pull request as ready for review February 13, 2026 20:34
- Added isWaking derived state: true when isPending OR isSuccess
- Button now explicitly disabled when isWaking (prevents click handler)
- Loading state persists until component unmounts (project refetch)
- Icon, header text, and CLI section all use isWaking state
- Prevents race condition between mutation success and refetch completion

Co-authored-by: ericokuma <ericokuma@users.noreply.github.com>
Copy link
Contributor

@ericpgreen2 ericpgreen2 left a comment

Choose a reason for hiding this comment

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

Two product questions:

  1. Do we need to explain the CLI helper? The user will almost certainly just press the button in the UI.
    image
  2. Both "hibernate project" and "wake project" emit toast notifications. IMO the toast notifications are redundant to what's displayed in the main body of the page. Do we need them?

On the code:

  • CC @royendo, I believe your status page PR also touches this code? Let's just make sure that we don't duplicate this "wake project" function, and instead have a shared utility.
  • @ericokuma, please fix the prettier CI check before merging.

But overall this looks good! Approving.

@royendo
Copy link
Contributor

royendo commented Feb 17, 2026

should be fine, i had made something similar but ill merge these changes to project-status PR when fixed and merged :)

i agree that we can remove the CLI command, where we can, we should de-couple the CLI experience esp when Cloud editing is ready

cursoragent and others added 3 commits February 18, 2026 17:07
- Removed CLI command display and 'You can also run...' message
- Simplified the admin view to just show Wake button and Help link
- Applied Prettier formatting

Co-authored-by: ericokuma <ericokuma@users.noreply.github.com>
The UI already indicates waking state via header text, loading icon,
and button state. Error toast kept for important failure feedback.

Co-authored-by: ericokuma <ericokuma@users.noreply.github.com>
@ericokuma ericokuma merged commit 84b0750 into main Feb 18, 2026
6 of 7 checks passed
@ericokuma ericokuma deleted the cursor/APP-737-hibernation-screen-wake-button-9d61 branch February 18, 2026 17:30
Copy link

@cursor cursor bot left a comment

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 and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

getAdminServiceGetProjectQueryKey,
} from "@rilldata/web-admin/client";
import { getRpcErrorMessage } from "@rilldata/web-admin/components/errors/error-utils";
import { Button } from "@rilldata/web-common/components/button";
Copy link

Choose a reason for hiding this comment

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

Old code not removed, file has broken syntax

High Severity

The old implementation was never removed when the new code was added, leaving the file in a completely broken state. The script block contains orphaned syntax (type RpcStatus, } from ... at lines 8–9), duplicate imports of Button, eventBus, and queryClient, two mutation instances (redeployMutation and redeployProjectMutation), and the handleWakeProject function body is interrupted mid-expression by the old wakeProject declaration — making the entire <script> block syntactically invalid. The manage-project slot also renders both the new and old UI (duplicate header, message, and button).

Additional Locations (2)

Fix in Cursor Fix in Web

@royendo royendo mentioned this pull request Feb 18, 2026
8 tasks
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.

4 participants