Skip to content

Conversation

@michaelreinhard1
Copy link
Contributor

Description

This is an extension for https://vault.shelve.cloud. Shelve makes it easy to securely share sensitive information without requiring an account. Set expiration times, control read limits, and ensure encrypted transmission.

Screencast

shelve-extension.mp4

@HugoRCD

@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

You can expect an initial review within five business days.

Once the PR is approved and merged, the extension will be available on our Store.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Oct 19, 2025

Greptile encountered an error while reviewing this PR. Please reach out to [email protected] for assistance.

Copy link
Contributor

@xmok xmok left a comment

Choose a reason for hiding this comment

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

Hi @michaelreinhard1:

I saw this on X :)

You are missing a bunch of items:

  1. .gitignore
  2. CHANGELOG.md
  3. .prettierrc
  4. metadata folder with screenshots

Comment on lines 1 to 28
/// <reference types="@raycast/api">

/* 🚧 🚧 🚧
* This file is auto-generated from the extension's manifest.
* Do not modify manually. Instead, update the `package.json` file.
* 🚧 🚧 🚧 */

/* eslint-disable @typescript-eslint/ban-types */

type ExtensionPreferences = {}

/** Preferences accessible in all the extension's commands */
declare type Preferences = ExtensionPreferences

declare namespace Preferences {
/** Preferences accessible in the `encrypt` command */
export type Encrypt = ExtensionPreferences & {}
/** Preferences accessible in the `decrypt` command */
export type Decrypt = ExtensionPreferences & {}
}

declare namespace Arguments {
/** Arguments passed to the `encrypt` command */
export type Encrypt = {}
/** Arguments passed to the `decrypt` command */
export type Decrypt = {}
}

Copy link
Contributor

Choose a reason for hiding this comment

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

This file is auto-generated at runtime so it is NOT supposed to be checked in.

@michaelreinhard1
Copy link
Contributor Author

Hi @michaelreinhard1:

I saw this on X :)

You are missing a bunch of items:

  1. .gitignore
  2. CHANGELOG.md
  3. .prettierrc
  4. metadata folder with screenshots

Thanks for catching that and glad you saw it on X! :)

Just added everything that was missing. Used the alternative publishing method and overlooked those, my mistake!

Appreciate it! 🙏

Copy link
Contributor

@xmok xmok left a comment

Choose a reason for hiding this comment

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

A few minor comments then LGTM!

});
}}
/>
<Action title="Decrypt Another Secret" onAction={onDecryptAnother} />
Copy link
Contributor

Choose a reason for hiding this comment

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

We don't really need this since user can press Esc to go back.


return (
<Form
enableDrafts={false}
Copy link
Contributor

Choose a reason for hiding this comment

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

redundant since enableDrafts is "off" by default

Suggested change
enableDrafts={false}

isLoading={isLoading}
actions={
<ActionPanel>
<Action.SubmitForm title="Decrypt Secret" onSubmit={handleSubmit} />
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's add an icon here.

isLoading={isLoading}
actions={
<ActionPanel>
<Action.SubmitForm onSubmit={handleSubmit} title="Encrypt Secret" />
Copy link
Contributor

Choose a reason for hiding this comment

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

add an icon please!

@@ -0,0 +1,7 @@
# Shelve Changelog

## [Initial Release] - 2025-10-20
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## [Initial Release] - 2025-10-20
## [Initial Release] - {PR_MERGE_DATE}

Copy link
Contributor

@xmok xmok left a comment

Choose a reason for hiding this comment

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

Just cloned it locally and it's working great!
we need one more icon, then don't forget to lint.
last one 🫠

message: error instanceof Error ? error.message : "Failed to encrypt secret",
style: Toast.Style.Failure,
});
console.error("Vault API error:", error);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
console.error("Vault API error:", error);

markdown={markdown}
actions={
<ActionPanel>
<Action
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
<Action
<Action icon={Icon.CopyClipboard}

message: error instanceof Error ? error.message : "Failed to decrypt secret",
style: Toast.Style.Failure,
});
console.error("Vault decrypt error:", error);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
console.error("Vault decrypt error:", error);

@michaelreinhard1
Copy link
Contributor Author

Just cloned it locally and it's working great! we need one more icon, then don't forget to lint. last one 🫠

Made all the changes! :)

However I don't see the icons of the Actions? 🤔
image

I'm on Windows 11

Copy link
Contributor

@xmok xmok left a comment

Choose a reason for hiding this comment

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

When there is a single item, Raycast hides the Icon but e.g. when I'm debugging, there are extra items and the icon is shown. So it's simply good practice to add Icon when possible.
Image

@michaelreinhard1
Copy link
Contributor Author

When there is a single item, Raycast hides the Icon but e.g. when I'm debugging, there are extra items and the icon is shown. So it's simply good practice to add Icon when possible. Image

Oh I see, that makes sense! Thanks for letting me know :)

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants