Skip to content

Update zeabur extension#27150

Merged
raycastbot merged 3 commits into
raycast:mainfrom
ridemountainpig:zeabur
Apr 14, 2026
Merged

Update zeabur extension#27150
raycastbot merged 3 commits into
raycast:mainfrom
ridemountainpig:zeabur

Conversation

@ridemountainpig
Copy link
Copy Markdown
Contributor

Description

  • Fixed the issue where the provider information in the manage servers command may be null.
  • Fixed potential null access issues across manage projects, manage servers, and deployment commands.

Screencast

Checklist

@raycastbot raycastbot added extension fix / improvement Label for PRs with extension's fix improvements extension: zeabur Issues related to the zeabur extension platform: macOS platform: Windows OP is author The OP of the PR is the author of the extension labels Apr 14, 2026
@raycastbot
Copy link
Copy Markdown
Collaborator

Thank you for the update! 🎉

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 14, 2026

Greptile Summary

This PR fixes null-safety issues across the Zeabur extension: ServerInfo.providerInfo is now typed as nullable, guards are added where it was accessed unconditionally, environments[0]?._id optional chaining replaces bare property access in both manage-projects and manage-servers, and getLatestRunningDeployment now returns null instead of undefined when the edges array is empty.

Confidence Score: 5/5

Safe to merge — all findings are minor style/type suggestions with no blocking correctness issues.

All changes are targeted null-safety fixes that address real crash scenarios. The two P2 comments cover a redundant optional chain and a type-level concern about undefined leaking into a string prop, both of which are unlikely to cause observable runtime problems in practice.

No files require special attention.

Important Files Changed

Filename Overview
extensions/zeabur/CHANGELOG.md New [Fix] entry added at top with correct {PR_MERGE_DATE} placeholder; minor trailing newline also added at EOF.
extensions/zeabur/src/type.ts ServerInfo.providerInfo updated to nullable (
extensions/zeabur/src/manage-servers.tsx Null guard added for providerInfo.icon (was crashing when providerInfo is null); environments[0]?._id optional chaining added as well.
extensions/zeabur/src/manage-projects.tsx Optional chaining added for providerInfo.code (redundant but harmless) and environments[0]?._id; both guard against potential null access.
extensions/zeabur/src/utils/zeabur-graphql.ts getLatestRunningDeployment now returns null instead of undefined when edges array is empty, aligning with the DeploymentInfo
Prompt To Fix All With AI
This is a comment left during a code review.
Path: extensions/zeabur/src/manage-projects.tsx
Line: 116

Comment:
**Redundant optional chaining inside guarded branch**

The outer spread condition already checks `project.region.providerInfo?.code` for truthiness, so by the time this line executes `providerInfo` is guaranteed to be non-null and `code` is truthy. The inner `?.` is redundant.

```suggestion
                      tag: project.region.providerInfo.code,
```

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: extensions/zeabur/src/manage-projects.tsx
Line: 143

Comment:
**`undefined` environmentID leaks into `ProjectServices`**

When `project.environments` is empty, `project.environments[0]?._id` evaluates to `undefined`, but `ProjectServicesProps.environmentID` is typed as `string`. The same pattern exists in `manage-servers.tsx` line 126. At runtime this passes `undefined` into every downstream GraphQL call that uses `environmentID`, which would silently produce bad requests rather than crashing visibly.

A safer approach would be to render nothing (or show a toast) when there's no environment:

```suggestion
                  target={project.environments[0] ? <ProjectServices projectID={project._id} environmentID={project.environments[0]._id} /> : undefined}
```

How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "Update zeabur extension" | Re-trigger Greptile

Comment thread extensions/zeabur/src/manage-projects.tsx Outdated
Comment thread extensions/zeabur/src/manage-projects.tsx Outdated
Copy link
Copy Markdown
Collaborator

@pernielsentikaer pernielsentikaer left a comment

Choose a reason for hiding this comment

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

Looks good to me, approved 🔥

@pernielsentikaer pernielsentikaer self-assigned this Apr 14, 2026
@raycastbot raycastbot merged commit a4a1035 into raycast:main Apr 14, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Published to the Raycast Store:
https://raycast.com/ridemountainpig/zeabur

@raycastbot
Copy link
Copy Markdown
Collaborator

🎉 🎉 🎉

We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag.

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

Labels

extension fix / improvement Label for PRs with extension's fix improvements extension: zeabur Issues related to the zeabur extension OP is author The OP of the PR is the author of the extension platform: macOS platform: Windows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants