Skip to content

Conversation

@3rob3
Copy link
Collaborator

@3rob3 3rob3 commented Feb 1, 2026

Summary by CodeRabbit

  • New Features
    • Implemented automatic page refresh functionality that initiates after 30 seconds during error states
    • Enhanced error messaging system with intelligent fallback text that displays for offline and misconfiguration scenarios
    • Added visual retry guidance indicator with pulsing animation, visible during error states excluding authentication failures
    • Improved error handling with context-aware messaging to provide better user feedback

✏️ Tip: You can customize this high-level summary in your review settings.

@3rob3 3rob3 added the enhancement New feature or request label Feb 1, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 1, 2026

📝 Walkthrough

Walkthrough

The PR implements automatic page refresh functionality when errors occur. It adds a 30-second auto-refresh interval to the home page and updates the error element to display retry guidance with a pulsing animation when not in authentication error mode.

Changes

Cohort / File(s) Summary
Error Message Enhancement
immichFrame.Web/src/lib/components/elements/error-element.svelte
Added derived retryMessage variable that communicates 30-second auto-refresh timing for non-authError states. Introduced new UI paragraph with pulsing animation to display retry message. Updated fallback message to use provided message or default offline/misconfiguration text.
Auto-Refresh Implementation
immichFrame.Web/src/lib/components/home-page/home-page.svelte
Introduced refreshInterval variable with 30-second interval setup in onMount that reloads the page when an error is present. Added proper interval cleanup on component unmount alongside existing event listener cleanup.

Sequence Diagram(s)

sequenceDiagram
    participant HomePage as Home Page
    participant ErrorElement as Error Element
    participant Browser as Browser

    HomePage->>ErrorElement: Render with error state
    ErrorElement->>ErrorElement: Derive retryMessage (30s countdown)
    ErrorElement->>Browser: Display retry guidance + pulsing animation
    Note over HomePage: 30-second interval starts
    HomePage->>HomePage: Wait 30 seconds
    HomePage->>Browser: Trigger page reload
    Browser->>HomePage: Page reloads
    Note over HomePage: Clear interval on unmount
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰✨ A thirty-second waltz we weave,
When errors come, we don't just grieve,
Pulse and blink, a gentle sigh,
Refresh anew as seconds fly!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'auto refresh on error' directly summarizes the main changes: adding automatic page refresh functionality when errors occur in both the error-element and home-page components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev.3rob3.AutoRefreshOnError

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 and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants