Skip to content

Conversation

@hmacr
Copy link
Contributor

@hmacr hmacr commented Jan 22, 2026

Closes SER-1069

Screenshot 2026-01-22 at 9 17 39 PM

Summary by CodeRabbit

  • New Features

    • Modal accepts an optional domain list and shows a Retry action for unverified domains.
  • Improvements

    • Retry workflow to re-attempt domain verification (including optional nameserver updates on cloud), refresh status, close modal, and show success notifications.
    • Added error state, clearer retry feedback, conditional footer (only for unverified rules), and telemetry for verification attempts.

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

@appwrite
Copy link

appwrite bot commented Jan 22, 2026

Console (appwrite/console)

Project ID: 688b7bf400350cbd60e9

Sites (1)
Site Status Logs Preview QR
 console-stage
688b7cf6003b1842c9dc
Ready Ready View Logs Preview URL QR Code

Tip

Trigger functions via HTTP, SDKs, events, webhooks, or scheduled cron jobs

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 22, 2026

Walkthrough

Adds an optional domainsList?: Models.DomainsList prop to viewLogsModal.svelte. Introduces an error state and a retryDomain workflow that, when submitted, optionally looks up an apex domain from domainsList (cloud-only), attempts a nameserver update, updates proxy rule verification, invalidates the DOMAINS cache, closes the modal, shows a success notification and tracks events; on failure it sets the error state and tracks an error. The modal binds error, wires on:submit to retryDomain, hides the footer unless the proxy rule is Unverified, and shows a Retry button. Three route components now pass organizationDomains into the modal.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

🚥 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 accurately describes the main change: adding a retry button to the ViewLogs modal, which aligns with the primary functionality additions in viewLogsModal.svelte.
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.


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/lib/components/domains/viewLogsModal.svelte`:
- Around line 70-75: The long <Modal> opening tag exceeds the 100-char Prettier
limit; reformat the <Modal title="Certificate logs" size="m" bind:show
bind:error onSubmit={retryDomain} hideFooter={selectedProxyRule.status !==
ProxyRuleStatus.Unverified}> tag by breaking its attributes onto multiple lines
(one attribute per line), align indentation with surrounding markup, and place
the closing ">" on its own line so the tag and its props fit within the
line-length rule.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@src/lib/components/domains/viewLogsModal.svelte`:
- Around line 55-58: The catch block currently assigns error = e.message which
can crash if e is not an Error; update the catch to defensively extract the
message from the caught value (the catch param e) and assign a safe string to
the variable error (e.g. use e instanceof Error ? e.message : (typeof e ===
'object' && e && 'message' in e ? String((e as any).message) : String(e))) so
the component variable error always receives a string; locate the catch in
viewLogsModal.svelte and replace the direct e.message access with this guarded
extraction.
🧹 Nitpick comments (1)
src/lib/components/domains/viewLogsModal.svelte (1)

26-26: Type the error state explicitly to avoid null-only inference.

$state(null) can infer null and reject string assignments under stricter TS configs. Consider a union type to keep type safety.

♻️ Suggested tweak
-    let error = $state(null);
+    let error = $state<string | null>(null);

@hmacr hmacr requested a review from ItzNotABug January 23, 2026 06:10
@hmacr hmacr merged commit 8549bce into main Jan 23, 2026
4 checks passed
@hmacr hmacr deleted the ser-1069 branch January 23, 2026 06:11
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.

3 participants