Add visigrid extension - #30130
Conversation
- Store metadata: author handle + two 2000x1250 screenshots - Lint toolchain: ESLint 9 flat config + @raycast/eslint-config v2 - Store submission prep: README, CHANGELOG, metadata dir, lint --fix - Quick Calc: normalize real-world tables (Slack spacing, email money formats) - Quick Calc: detect TSV clipboards (cells copied from apps arrive tabbed) - Quick Calc form: show what the clipboard grid holds before evaluating - Quick Calc: read the formula from onSubmit values, not controlled state - Raycast extension v1: Quick Calc, Peek Spreadsheet, Open Workbook
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThe PR adds a VisiGrid extension with formula evaluation, spreadsheet previews, and workbook opening. The latest changes bound filesystem work, widen Spotlight date queries, use generated manifest types, and allow literal formulas to run without clipboard data. Confidence Score: 4/5The PR is not yet safe to merge because the spreadsheet fallback can still omit the newest files needed to fill the displayed list. The unrestricted fallback truncates unordered Spotlight output before modification times are read, so users with a large archive and fewer than 50 files from the last three years can receive an incorrectly ordered and incomplete newest-files list. Files Needing Attention: extensions/visigrid/src/spreadsheet-files.ts Important Files Changed
Prompt To Fix All With AI### Issue 1
extensions/visigrid/src/spreadsheet-files.ts:88
**Fallback Cap Breaks Recency Ordering**
If fewer than 50 spreadsheets were modified within the last three years but more than 2,000 older spreadsheets match, this slices unordered `mdfind` output before reading modification times. A newer file beyond the arbitrary cutoff is then omitted while an older selected file appears in the newest-first results.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (4): Last reviewed commit: "Discovery: widening date windows, bounde..." | Re-trigger Greptile |
| if (paths.length >= limit) break; | ||
| } | ||
| if (paths.length < limit) { | ||
| paths = (await mdfindPaths(NAME_QUERY)).slice(0, FALLBACK_CAP); |
There was a problem hiding this comment.
Fallback Cap Breaks Recency Ordering
If fewer than 50 spreadsheets were modified within the last three years but more than 2,000 older spreadsheets match, this slices unordered mdfind output before reading modification times. A newer file beyond the arbitrary cutoff is then omitted while an older selected file appears in the newest-first results.
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/visigrid/src/spreadsheet-files.ts
Line: 88
Comment:
**Fallback Cap Breaks Recency Ordering**
If fewer than 50 spreadsheets were modified within the last three years but more than 2,000 older spreadsheets match, this slices unordered `mdfind` output before reading modification times. A newer file beyond the arbitrary cutoff is then omitted while an older selected file appears in the newest-first results.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.|
The cap is intentional and documented at its definition. The last three review rounds are in tension: statting every match is unbounded work (flagged in round 2), and any pre-stat truncation is imperfect ordering (flagged now). The fallback only triggers when fewer than 50 spreadsheets were modified in the past three years and more than 2,000 older files match — in that corner, exact mtime ordering among multi-year-old files has no user value, and bounded latency does. Happy to change the tradeoff if the Raycast team prefers a different one. |
Description
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder