Conversation
- welcome - screenshots - Finder - link - quote - ▶︎ - typo - again, better compression settings - better compression values and text, fix removed files when adding them back manually, better output name - readme - unused fn - better compression settings and storage history management - fix history, new command, automatic stuff, unique arrays - it works - first commit
|
Congratulations on your new Raycast extension! 🚀 We will aim to make the initial review within five working days. Once the PR is approved and merged, the extension will be available on our Store. |
pernielsentikaer
left a comment
There was a problem hiding this comment.
Hi 👋
Thanks for your contribution 💪
I have now tested your extension, and I have some feedback ready for you:
-
You could maybe check if ffmpeg is installed by checking the default paths instead (and keep the field optional if people installed it elsewhere)
-
You can maybe do something like how Brew or Display Placer installs packages.
I'm looking forward to testing this extension again 🔥
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.
extensions/yafw/src/videos.tsx
Outdated
| onAction={() => removeFromHistory(file)} | ||
| icon={{ source: Icon.Trash }} | ||
| /> | ||
| <Action title="Clear All History" onAction={clearAllHistory} icon={{ source: Icon.Trash }} /> |
There was a problem hiding this comment.
| <Action title="Clear All History" onAction={clearAllHistory} icon={{ source: Icon.Trash }} /> | |
| <Action | |
| title="Clear All History" | |
| style={Action.Style.Destructive} | |
| onAction={clearAllHistory} | |
| icon={{ source: Icon.Trash }} | |
| /> |
extensions/yafw/src/videos.tsx
Outdated
| } | ||
| /> | ||
| ))} | ||
| {history == null && <Grid.Item key="loading" title="Loading history..." content="" />} |
There was a problem hiding this comment.
| {history == null && <Grid.Item key="loading" title="Loading history..." content="" />} |
extensions/yafw/src/videos.tsx
Outdated
| }; | ||
|
|
||
| return ( | ||
| <Grid selectedItemId={"0"}> |
There was a problem hiding this comment.
| <Grid selectedItemId={"0"}> | |
| <Grid> |
Add isLoading={} instead, set it with useState
- check for ffmpeg in the path - address pr comments
|
Thanks for the review @pernielsentikaer! I addressed all the comments 👌🏻 |
pernielsentikaer
left a comment
There was a problem hiding this comment.
Thanks for the corrections 🔥
- Do you have a clue why the video I have selected seems to come back on every load (and on compleation)
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.
| compressVideoFiles(files, compression).then((successfulFiles) => { | ||
| if (successfulFiles.length === 0) return; | ||
| successfulFiles.forEach((file) => Clipboard.copy({ file })); | ||
| navigation.push(<Videos files={successfulFiles} />); |
There was a problem hiding this comment.
| navigation.push(<Videos files={successfulFiles} />); | |
| try { | |
| popToRoot(); | |
| launchCommand({ name: "history", type: LaunchType.UserInitiated }); | |
| } catch { | |
| /* */ | |
| } |
Maybe something like this instead
There was a problem hiding this comment.
There was a problem hiding this comment.
That makes senes, you can maybe add a preference to let the user decide if it should popToRoot, Show compressed files(default) or just history upon completion
There was a problem hiding this comment.
I'd prefer to keep it as it is for the first version, but I'll keep it in mind for the future 🙏🏻
extensions/yafw/src/index.tsx
Outdated
| * > Looks like the command is rendering a lot without any changes. This might indicate an rendering loop caused by a `setState` not being wrapped in a `useEffect`. | ||
| * > This will degrade the performances of Raycast and Raycast might arbitrarily decide to terminate the extension if it happens too many times. | ||
| */ | ||
| setInterval(lookForVideoSources, 3000); |
There was a problem hiding this comment.
Do you have a clue why the video I have selected seems to come back on every load (and on compleation)
@pernielsentikaer this is probably caused by this interval, which I'm still not sure about. I made it so if you open the extension and only then you go to select/copy some videos, it regularly checks if there are more videos in the clipboard or the finder.
I could disable this behavior if you think is not a good idea
There was a problem hiding this comment.
hmmm it's not really during compression, it's right on that selection screen
user opens command -> no videos selected -> user goes to Finder to select or copy some videos -> comes back to the command -> the command auto-refreshes the list with the new files
to be honest I think I'm overthinking a bit here, I think I'll remove the setInterval and add a warning saying
To add videos automatically, copy them or select them in the Finder and launch this command again
There was a problem hiding this comment.
☝🏻 this should also solve going back from the history and seeing the compressed video auto-selected
pernielsentikaer
left a comment
There was a problem hiding this comment.
Thanks for the corrections, I gave it another spin:
- Clear All History action does not work when you are in the compressed history view (and in the normal history view, you might want to add a confirmation alert with remember user choice).
Raycast25042024-KGtzXnU8.png.mp4
- It seems it automatically copies the file to the clipboard even though there is an action to copy it; it is better to let the user choose
|
@pernielsentikaer there's an action to copy because you might convert more than one file at the same time, so I want to give the option to copy any of those single files afterwards. IMO the usual flow will be compressing just one file, and I'd like to keep the automatic copy-to-clipboard behavior in this case, I find it handy (they'll have clipboard history in raycast anyway). Regarding the Clear All History, yeah I'm only removing the "old" files (i.e. the ones you are not converting right now). I'll change it to remove all 👍🏻 The only problem now is that the CLI is not letting me update the PR for some reason 🤔
|
|
Just do as it says, go to your fork (the link) and sync it 🙂 |
pernielsentikaer
left a comment
There was a problem hiding this comment.
Hi 👋
Looks good to me, approved 🔥
|
@pernielsentikaer is it me or is it not published in the Store? Can't seem to find it... |
|
@j3lte looks like the job failed https://github.com/raycast/extensions/actions/runs/8884540958/job/24393845273 not sure if i can help with that |
|
Let me have a look, thanks for flagging @j3lte |
|
I should be there in two minutes. I accidentally added a style property twice 🙂 |





Description
Are you tired of apps that claim to compress videos but they're just ffmpeg wrappers? Me neither, so I decided to create a Raycast extension that does exactly that
Screencast
(no need to say I compressed this screencast with YAFW)
CleanShot.2024-04-19.at.18.45.26.yafw.balanced.mp4
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder