Conversation
- v1.3 - Initial commit - kagi-news extension setup
|
Thank you for your contribution! 🎉 🔔 @mickaphd you might want to have a look. You can use this guide to learn how to check out the Pull Request locally in order to test it. 📋 Quick checkout commandsBRANCH="ext/kagi-news"
FORK_URL="https://github.com/mickaphd/raycast-extensions.git"
EXTENSION_NAME="kagi-news"
REPO_NAME="raycast-extensions"
git clone -n --depth=1 --filter=tree:0 -b $BRANCH $FORK_URL
cd $REPO_NAME
git sparse-checkout set --no-cone "extensions/$EXTENSION_NAME"
git checkout
cd "extensions/$EXTENSION_NAME"
npm install && npm run devWe're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. |
There was a problem hiding this comment.
- Migrated to the new API, which Kagi News is now focusing on, so no more use of the static JSON files
- New 'Time Travel' command to access Kagi News archives for a specific date
- New favorite system for the 'Daily News' command to pin your categories of interest at the top of the Cmd+P menu
- Improve the main article view so that the listed references link directly to the articles, similar to the listed sources in the right column
- Added the missing Simplified Chinese language
- Renamed the "On this Day" section to "Today in History", as it appears on the official website
Greptile SummaryThis PR is a significant update to the Key strengths:
Issues to fix:
Confidence Score: 2/5
Important Files Changed
|
extensions/kagi-news/package.json
Outdated
| "@raycast/api": "^1.85.2", | ||
| "@raycast/utils": "^1.19.1" |
There was a problem hiding this comment.
Dependencies downgraded from @raycast/api: ^1.103.4 to ^1.85.2 and @raycast/utils: ^2.2.1 to ^1.19.1. Downgrading dependencies is risky - newer versions contain bug fixes and security patches.
| "@raycast/api": "^1.85.2", | |
| "@raycast/utils": "^1.19.1" | |
| "@raycast/api": "^1.103.4", | |
| "@raycast/utils": "^2.2.1" |
Additional Comments (1)
Context Used: Rule from |
|
HI 👋 Do you need help fixing the CI errors mentioned here |
|
Hi 👋 I messed up with a recent clean install of my Mac... so I'll need to fix these outdated dependencies + metadata + CI errors. I will let you know later if I struggle too much ;-) |
- Pull contributions - pre-publish cleanup
|
@greptileai Can you check again? |
| <Form.Description text="Select a past date to browse news archives (you can go back up to July 9, 2025). | ||
|
|
||
| And contrary to what Raycast states in the dropdown menu above, no, you cannot browse tomorrow's news..." /> |
There was a problem hiding this comment.
Date reference mentions "July 9, 2025" which appears to be in the future - verify this is the correct historical date
There was a problem hiding this comment.
We are in 2026! This is essentially the first "archive" available based on my review of Kagi News archives. Therefore, let's keep it as is, since users will not be able to access any batches prior to this date.
extensions/kagi-news/.eslintrc.json
Outdated
| { | ||
| "root": true, | ||
| "extends": ["@raycast"] | ||
| } |
There was a problem hiding this comment.
Consider using ESLint v9+ flat config format with defineConfig from eslint/config per repository standards
Context Used: Rule from dashboard - What: In ESLint v9+, defineConfig is exported from eslint/config and is the recommended way to d... (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Additional Comments (1)
|
|
@greptileai Take another look please |
| const categories: CategoryItem[] = | ||
| categoriesData?.categories?.map((cat: any) => ({ | ||
| id: cat.id, | ||
| name: cat.categoryName, | ||
| })) || []; | ||
|
|
||
| // Sort categories alphabetically (no favorites for time-travel) | ||
| const sortedCategories = categories.sort((a, b) => a.name.localeCompare(b.name)); |
There was a problem hiding this comment.
Type mismatch: the mapped object uses name property but CategoryItem interface defines categoryName. This causes TypeScript errors and will fail at runtime when sorting and rendering.
| const categories: CategoryItem[] = | |
| categoriesData?.categories?.map((cat: any) => ({ | |
| id: cat.id, | |
| name: cat.categoryName, | |
| })) || []; | |
| // Sort categories alphabetically (no favorites for time-travel) | |
| const sortedCategories = categories.sort((a, b) => a.name.localeCompare(b.name)); | |
| const categories: CategoryItem[] = | |
| categoriesData?.categories?.map((cat: any) => ({ | |
| id: cat.id, | |
| categoryName: cat.categoryName, | |
| })) || []; | |
| // Sort categories alphabetically (no favorites for time-travel) | |
| const sortedCategories = categories.sort((a, b) => a.categoryName.localeCompare(b.categoryName)); |
| onChange={(newValue) => setSelectedCategory(newValue)} | ||
| > | ||
| {sortedCategories.map((category) => ( | ||
| <List.Dropdown.Item key={category.id} title={category.name} value={category.id} /> |
There was a problem hiding this comment.
Property access error - accessing .name on CategoryItem type which only has categoryName field, not name. Change category.name to category.categoryName
| const categories: CategoryItem[] = | ||
| categoriesData?.categories?.map((cat: any) => ({ | ||
| id: cat.id, | ||
| name: cat.categoryName, | ||
| })) || []; |
There was a problem hiding this comment.
Property mismatch: mapping cat.categoryName to name but CategoryItem interface defines categoryName not name. Change the mapping to use categoryName instead of name, then update lines 141 and 161 to access category.categoryName
| "dependencies": { | ||
| "@raycast/api": "^1.103.4", | ||
| "@raycast/utils": "^2.2.1" | ||
| "@raycast/api": "^1.104.6", | ||
| "@raycast/utils": "^1.19.1" | ||
| }, |
There was a problem hiding this comment.
Downgrading @raycast/utils from ^2.2.1 to ^1.19.1 risks missing bug fixes and new features. Consider keeping the latest version unless there's a compatibility issue
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Additional Comments (1)
|
|
@pernielsentikaer Hi there, it should be good now. Sorry for the mess; I will try to do better for the next updates! |
|
What does this mean. I dont want my phone to castor share |
|
|
||
| ## Usage | ||
|
|
||
| - Open Raycast, type Daily/Kagi News, select a category, and browse articles. |
|
|
||
| ## Usage | ||
|
|
||
| - Open Raycast, type Daily/Kagi News, select a category, and browse articles. |
pernielsentikaer
left a comment
There was a problem hiding this comment.
What does your review mean @jgaynez404-bit
Do you need help fixing the CI errors mentioned here @mickaphd
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 😊
It's a spam I guess
@pernielsentikaer Yes, I have some trouble with these last CLI bugs; I'm not able to fix them (the extension works great btw). @pernielsentikaer Just pushed an update, I asked Claude for help for this ESLink bug let see... |
- Try fixing ESLint - Try fixing eslint.config.js file
|
@pernielsentikaer Thanks a lot. I had a look at your changes and tested the extension, and it still works great 👍 |
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. |
- chore(hugeicons-ui):Update hugeicons-ui: bump @hugeicons/core-free-icons and @hugeicons/react - [Skills] Display Metadata from SKILL.md frontmatter (raycast#26101) - Update CODEOWNERs (c2c1e0d) - Add timely extension (raycast#25085) - Fix: copy prompt/answer for selected message (raycast#25438) - Update CODEOWNERs (46ecffc) - Update todoist extension (raycast#26087) - Dia: update @raycast/utils to 2.2.3 (raycast#26091) - Update CODEOWNERs (3503a64) - Add typewhisper extension (raycast#25733) - Update CODEOWNERs (5ea5ef7) - Add number-research extension (raycast#26060) - Update trustmrr extension (raycast#26085) - Update CODEOWNERs (40aabef) - Add desktoprenamer extension (raycast#24610) - Update tailwindcss extension (raycast#26067) - Update CODEOWNERs (7a13ffd) - Update time-awareness extension (raycast#25765) - Update CODEOWNERs (6c50032) - Update github-status extension (raycast#26063) - Update anna-s-archive extension (raycast#26076) - Update CODEOWNERs (46b879a) - Update shopify-developer-changelog extension (raycast#25711) - Update CODEOWNERs (22aa04d) - Update weather extension (raycast#26074) - Update kagi-news extension (raycast#25679) - Update (raycast#26073) - Update teak-raycast extension (raycast#25995) - otp-inbox: Add Windows support (raycast#25441) - Update CODEOWNERs (36e7a5f) - Add trustmrr extension (raycast#26069) - Update CODEOWNERs (d7c540c) - Add doubao-tts extension (raycast#25705) - GitHub: Improve auto-merge support (raycast#25256) - Update CODEOWNERs (9f556d5) - Update microsoft-edge extension add new feat to search and launch workspaces (raycast#25335) - Add RouteMesh MCP server to model-context-protocol-registry (raycast#25960) - feat: Add Advanced Batch Rename command with rule-based engine (raycast#25501) - Update media-converter extension (raycast#25836) - Update scheduler extension (raycast#26059) - Docs: Update the utils docs - [pipe-commands] Add data formatting utilities (raycast#25824) - Update CODEOWNERs (5b660b2) - Add hdri-library extension (raycast#25701) - Update CODEOWNERs (2ea8b9c) - Update ente-auth extension (raycast#25773) - Update CODEOWNERs (b9b9e2b) - Add grpcui extension (raycast#25697) - Update CODEOWNERs (1730346) - Update openrouter model search extension (raycast#26045) - System Monitor: Fix stale temperature readings in menubar (raycast#26025) - Update CODEOWNERs (4e3ff41) - Fix truncated row values in pass extension (raycast#25843) - Update CODEOWNERs (489aede) - Add quickreferences-raycast extension (raycast#23629) - Update CODEOWNERs (84a0a58) - Update cleanshotx extension (raycast#25985) - [ccusage] Hide "Usage Limits" details when using non-OAuth authentication (raycast#26009) - Browser Bookmarks: Add support for Perplexity Comet browser (raycast#25874) - Add Windows support (raycast#25882) - Update bmrks extension (raycast#25952) - Update CODEOWNERs (2faa166) - Update radarr extension (raycast#25953) - Update CODEOWNERs (d8b0e95) - Update google-chrome extension (raycast#25939) - Add PrusaConnect links to Prusa extension (raycast#25955) - Update CODEOWNERs (9f8c615) - Claude Code Launcher: Fix Ghostty PATH by using interactive shell (raycast#25976) - Update aave-search extension (raycast#26016) - uuid-generator: add Pack Type Id command (raycast#25800) - Update CODEOWNERs (39fe5d1) - [ccusage] Fix npx path resolution for fnm installs using XDG directories (raycast#26008) - fix(arc): prevent duplicate windows when Arc is not running (raycast#25806) - System Monitor: Add pin-to-display for menubar stats (raycast#25821) - Update CODEOWNERs (ec57b0b) - Add unified Wispr Flow extension (raycast#25218) - Update shadcn ui extension (raycast#26011) - Update CODEOWNERs (b354d33) - feat(gumroad): add price filter and copy actions (raycast#25703) - Update CODEOWNERs (134d6f9) - Add raycast-ai-custom-providers extension (raycast#25180) - Update CODEOWNERs (4accbb2) - Add zo-raycast extension (raycast#25464) - Update CODEOWNERs (227732f) - Add job-dojo extension (raycast#25677) - Update CODEOWNERs (eace185) - Add wallhaven extension (raycast#25656) - Update existing somafm extension: launch flow, refresh toasts, menu fallback (raycast#25187) - Update CODEOWNERs (d0f014f) - Add email-finder extension (raycast#24847) - Update cut-out extension (raycast#25990) - Update CODEOWNERs (1ef7a10) - Add cut-out extension (raycast#25663) - [Pokedex] Added support for Scarlet & Violet–style sprite artwork (raycast#25986) - Discogs extension new functions (raycast#25686) - Update nhk-program-search extension (raycast#25967) - Update kimi extension (raycast#25962) - Update CODEOWNERs (de246c1) - Update shiori-sh extension (raycast#25944) - fix(browser-bookmarks): fix slow initial load and open-in-browser reliability (raycast#25979) - Update CODEOWNERs (0ad09cd) - Add spacer extension (raycast#25652) - [zotero] Fix Zotero 7+ / Better BibTeX compatibility (raycast#25634) - Docs: update for the new API release - added ARM64 sdk support (raycast#25966) - Update CODEOWNERs (3051c01) - Add Bird extension (raycast#25481) - Update CODEOWNERs (7c4f8af) - Add Lock Time extension (raycast#25255) - Update CODEOWNERs (cdc0ceb) - Add paste-safely extension (raycast#25951) - Update CODEOWNERs (bd032c8) - Add polars-documentation-search extension (raycast#25589) - Update CODEOWNERs (564b0f2) - Add DevContainer Features extension (raycast#25603) - Update CODEOWNERs (2cdb8f6) - Update gift-stardew-valley extension (raycast#25552) - Update CODEOWNERs (f728891) - Update Inkdrop extension (raycast#25529) - Sourcegraph: Setup improvements (raycast#25950) - [Skills] Add support for updating skills (raycast#25887) - Update CODEOWNERs (cb956f6) - Add search repositories feature for Github for Enterprise (raycast#25661) - Fix/trakt manager user agent v2 (raycast#25825) - Update `CricketCast` extension - add menu bar for scores (raycast#25942) - Add Windows platform support to Goodreads extension (raycast#25936) - idonthavespotify: Add Qobuz, Bandcamp, Pandora support & fix crash on unknown adapters (raycast#25937) - Update singularityapp extension (raycast#25943) - Update raycast-surge extension (raycast#25883) - Update awork extension (raycast#25844) - Update extend-display extension (raycast#25894) - Update git-worktrees extension (raycast#25898) - [Image Modification] Fix QSpace / QSpace Pro selection detection (raycast#25923) - Update zeabur extension (raycast#25924) - Update vietnamese-calendar extension (raycast#25917) - [AzTU LMS] Fix Color & Add New Image (raycast#25912) - Update CODEOWNERs (c2aba2b) - Add Hop extension (raycast#25162) - [Music Assistant Controls]: Big update with many features (raycast#25860) - [MXroute] set mail hosting status + open webmail link (raycast#25895) - Update kitty extension (raycast#25856) - Update CODEOWNERs (b73dbee) - Addeed SDK implementation (raycast#25820) - Update CODEOWNERs (66857dc) - Add notilight-controller extension (raycast#25424) - Update raycast-store-updates extension (raycast#25865) - Update reader-mode extension (raycast#25872) - Update CODEOWNERs (f8eeb0d) - Update battery-optimizer extension (raycast#25509) - fix: show window icons on first load in window-walker extension (raycast#25871) - Update CODEOWNERs (7e705b7) - Update t3 chat extension (raycast#25803) - Update CODEOWNERs (19f337b) - Update modify-hash extension (raycast#25816) - Update CODEOWNERs (64e21d0) - Add `ZeroSSL` extension - list certificates, view + validate csr (raycast#25861) - [Cron Manager] Fix tasks disappearing from UI & permission handling (raycast#25845) - Update CODEOWNERs (abe1d59) - Add markdown-converter extension (raycast#24129) - Update betaseries extension (raycast#25842) - [Skills] Inline detail Panel (raycast#25658) - Update CODEOWNERs (f1bac6d) - Removed two extensions (raycast#25851) - Update CODEOWNERs (53db7b3) - Add shiori-sh extension (raycast#25757) - Docs: update for the new API release - feat(everything-search): allow custom cli arguments (raycast#24607) - Update CODEOWNERs (93ff0be) - Delete extensions/proton-pass-client directory (raycast#25841) - update (raycast#25840) - Update CODEOWNERs (d85419c) - Add kaneo-for-raycast extension (raycast#25461) - [Apple Reminders] Prevent accidental recurring reminders from AI (raycast#25746) - [Apple Notes] Fix AI tool note ID mismatch, timeout, and search filtering (raycast#25720) - fix: show window icons on first load in window-walker extension (raycast#25818) - [Namecheap] fix error when no domain dns hosts (raycast#25827) - Update youversion-suggest extension (raycast#25797)
Description
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder