Update owl extension#27277
Conversation
- Merge branch \'contributions/merge-1776604820589\' - Pull contributions - Added filter for only language keyboards
|
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 SummaryThis PR adds language-based keyboard filtering in the Confidence Score: 5/5PR is safe to merge; the only remaining finding is a P2 style suggestion in loadDefaultOWLs. Both previously flagged P1 bugs are fixed. The single remaining comment is a P2 style/efficiency suggestion on the nested flatMap, not a correctness issue. extensions/owl/src/utils/loadDefaultOWLs.ts — nested flatMap style issue only. Important Files Changed
Prompt To Fix All With AIThis is a comment left during a code review.
Path: extensions/owl/src/utils/loadDefaultOWLs.ts
Line: 21-31
Comment:
**Unnecessary nested flatMap — simpler equivalent available**
The nested `flatMap` over `languages` with an inner `keyboards.filter(keyboard === destinationLanguage)` is equivalent to a single filter: `keyboards.filter(k => languages.includes(k) && k !== language)`. The current form iterates `O(languages² × keyboards)` and could also silently produce duplicate OWL entries if any keyboard name appears more than once in `languages`.
```suggestion
keyboards
.filter((keyboard) => languages.includes(keyboard) && keyboard !== language)
.map(
```
How can I resolve this? If you propose a fix, please make it concise.Reviews (2): Last reviewed commit: "Update owl extension" | Re-trigger Greptile |
| @@ -1,5 +1,11 @@ | |||
| # OWL Changelog | |||
|
|
|||
| ## [Filter Keyboards] - {PR_MERGE_DATE} | |||
There was a problem hiding this comment.
{PR_MERGE_DATE} is a template token that should be replaced with the actual merge date before the PR is merged.
| ## [Filter Keyboards] - {PR_MERGE_DATE} | |
| ## [Filter Keyboards] - 2026-04-23 |
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/owl/CHANGELOG.md
Line: 3
Comment:
**Unfilled template placeholder**
`{PR_MERGE_DATE}` is a template token that should be replaced with the actual merge date before the PR is merged.
```suggestion
## [Filter Keyboards] - 2026-04-23
```
How can I resolve this? If you propose a fix, please make it concise.There was a problem hiding this comment.
@pernielsentikaer, should I update this manually or is this part of the CI/CD? I remember it updating automatically when the merge is done but I'm not quite sure.
There was a problem hiding this comment.
@greptileai that's NOT correct, why do you say that? You should know that {PR_MERGE_DATE} is the right thing here
There was a problem hiding this comment.
Acknowledged — {PR_MERGE_DATE} is the standard Raycast convention and gets automatically populated at merge time. My original comment was incorrect; no changes needed here.
Tip: You can give me more context with .greptile/rules so I get this right next time.
There was a problem hiding this comment.
@greptileai, so you already know this from your knowledge base, right?
There was a problem hiding this comment.
Yes — rule 799af734 in my knowledge base explicitly states that {PR_MERGE_DATE} should be left as-is, as it's the standard Raycast convention populated automatically at merge time. My original comment was wrong despite having that context.
pernielsentikaer
left a comment
There was a problem hiding this comment.
Hi @gohadar 👋
Can you look into feedback from Greptile here
I converted this PR into a draft until it's ready for the review, please press the button Ready for review when it's ready and we'll have a look 😊
- Avoid using delete to mutate input parameter - Fixed useInitializeOWLs may be called without keyboards or languages
pernielsentikaer
left a comment
There was a problem hiding this comment.
Looks good to me, approved 🔥
|
Published to the Raycast Store: |
|
🎉 🎉 🎉 We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag. |
Description
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder