Skip to content

Add woocommerce-quicker extension#27110

Merged
raycastbot merged 6 commits intoraycast:mainfrom
g-mai:ext/woocommerce-quicker
Apr 30, 2026
Merged

Add woocommerce-quicker extension#27110
raycastbot merged 6 commits intoraycast:mainfrom
g-mai:ext/woocommerce-quicker

Conversation

@g-mai
Copy link
Copy Markdown
Contributor

@g-mai g-mai commented Apr 12, 2026

Description

WooCommerce Quicker lets users quickly search their WooCommerce stores for orders, customers, and products.

Commands:

  • Search Orders: filter by status, searches in multiple fields, press Enter to open in browser
  • Search Customers: filter by role, search by name or email, press Enter to open in browser
  • Search Products: filter by status, shows price, type, stock status
  • Manage Stores: add, edit, and delete multiple stores with credential validation

Key features:

  • Multi-store support
  • Credentials validated against the WooCommerce API before saving
  • Support for local/self-signed SSL stores (development use)

Notes for reviewers

If you check the useStores.ts custom hook you'll see that I'm using useLocalStorage to save authentication credentials. I'm aware the guidelines mention to use the Preferences API for things like keys and authentication credentials, but I couldn't find a way to do that while supporting multiple stores and make it a good experience for the user.

In the other custom hook, useWooCommerce.ts, I import fetch from "cross-fetch" instead of using the built in fetch or raycast's useFetch, because both of them were failing when calling a local Wordpress with a self-signed SSL certificate. The easiest solution I found was to add an option to the stores that, when checked, allows the hook to use cross-fetch fetch, with a custom agent that ignores SSL errors.

The rest of the extension is just basic fetches and list results, nothing really special about it.

Screencast

woocommerce-quicker-1 woocommerce-quicker-2 woocommerce-quicker-3 woocommerce-quicker-4

Checklist

- Added screenshots
- feat: update README and CHANGELOG with new features; enhance error handling in search components
- feat: integrate currency formatting in order search results
- feat: add currency formatting helper and integrate into product and store components
- feat: enhance store management with formatting options and loading states. Adding currency check for stores.
- feat: add product search functionality with StoreSelection integration
- feat: enhance customer search with role filtering
- feat: WIP customer search functionality (search not working well yet)
- feat: refactor WooCommerceOrders to use StoreSelection component for improved store management
- fixed empty view on first store load in SearchOrders component with proper error handling
- feat: add local store support with SSL verification option in StoreForm and useWooCommerce hook
- feat: update store name in package-lock and improve error handling in SearchOrders component
- feat: add store creation functionality and enhance empty state view in WooCommerce orders
- Fixed various issues with multiple stores selection for orders search
- feat: refactor store management by removing credentials handling and updating order fetching logic
- feat: add store management functionality to start support for multiple stores
- Created hook to manage multiple stores
- feat: update extension icon and add order status filter to WooCommerce orders
- refactor: optimized fetching data using useFetch hook
- feat: refactor WooCommerce order fetching and add missing settings component
- feat: implement settings component for WooCommerce credentials management
- refactor: move setup logic to SetupStepOne component
- pivot: update extension details and implement WooCommerce order fetching
- first commit
@raycastbot raycastbot added the new extension Label for PRs with new extensions label Apr 12, 2026
@raycastbot
Copy link
Copy Markdown
Collaborator

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 10-15 business days.

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

@g-mai g-mai marked this pull request as ready for review April 12, 2026 18:55
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 12, 2026

Greptile Summary

This PR adds the woocommerce-quicker extension, providing multi-store WooCommerce search for orders, customers, and products with credential validation and local SSL support. Previous review feedback on error handling, the cancel toast, and the cross-fetch comment has been addressed — one item from that round still needs a one-line fix.

  • CHANGELOG date: 2026-04-30 is still a hardcoded date; the {PR_MERGE_DATE} placeholder was not actually applied despite the "fixed" reply.

Confidence Score: 4/5

Safe to merge after fixing the CHANGELOG placeholder — no runtime bugs found in the core extension logic.

One P1 finding (hardcoded changelog date) and one P2 (inconsistent null guard), neither of which affect runtime behavior. Core logic — API fetching, error handling, store CRUD, and credential validation — is correct and clean.

CHANGELOG.md (hardcoded date), src/hooks/useWooCommerce.ts (minor null-guard inconsistency)

Important Files Changed

Filename Overview
extensions/woocommerce-quicker/CHANGELOG.md Still uses a hardcoded date (2026-04-30) instead of the required {PR_MERGE_DATE} template placeholder.
extensions/woocommerce-quicker/src/hooks/useWooCommerce.ts Error-parsing logic correctly restructured from previous review; minor inconsistency between null guards on lines 25–26 and unchecked store.local access on line 42.
extensions/woocommerce-quicker/src/hooks/useStores.ts Clean local-storage hook with CRUD + favorite-sort logic; no issues found.
extensions/woocommerce-quicker/src/components/store-form.tsx Validates credentials against the live API before saving; correctly decodes HTML entity currency symbols with he.
extensions/woocommerce-quicker/package.json All declared dependencies (cross-fetch, he, @raycast/utils) are actually used in source files; schema reference and platforms are correctly set.
extensions/woocommerce-quicker/src/manage-stores.tsx Delete confirmation with destructive alert style; cancel toast removed per previous review feedback.
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
extensions/woocommerce-quicker/CHANGELOG.md:3
**Hardcoded date still present after fix attempt**

The previous review flagged `2026-04-12` and the reply was "fixed in latest commit", but the current file has `2026-04-30` — still a hardcoded date rather than the `{PR_MERGE_DATE}` template placeholder. Raycast automatically substitutes this variable at merge time; a hardcoded date will never update.

```suggestion
## [Initial Version] - {PR_MERGE_DATE}
```

### Issue 2 of 2
extensions/woocommerce-quicker/src/hooks/useWooCommerce.ts:42
**Inconsistent null-guard on `store`**

Lines 25–26 defensively guard `store ?` before accessing its properties, but line 42 accesses `store.local` unconditionally. If `store` is ever falsy at runtime (even though TypeScript types it as non-null), this line throws a `TypeError` while the earlier guards would have silently recovered. Either remove the guards above (if `store` is truly always non-null) or add the same guard here.

```suggestion
  const activeRequest = store?.local ? localRequest : remoteRequest;
```

Reviews (5): Last reviewed commit: "Update CHANGELOG.md and optimise images" | Re-trigger Greptile

Comment thread extensions/woocommerce-quicker/.prettierrc Outdated
Comment thread extensions/woocommerce-quicker/CHANGELOG.md Outdated
Comment thread extensions/woocommerce-quicker/src/manage-stores.tsx Outdated
Comment thread extensions/woocommerce-quicker/src/components/missing-settings.tsx Outdated
Comment thread extensions/woocommerce-quicker/src/hooks/useWooCommerce.ts
- chore: add comments to clarify usage of cross-fetch for custom HTTPS agent
- FIx linting
@g-mai
Copy link
Copy Markdown
Contributor Author

g-mai commented Apr 13, 2026

All suggestions from greptile bot have been handled in the latest commit.

@g-mai g-mai closed this Apr 16, 2026
@g-mai g-mai deleted the ext/woocommerce-quicker branch April 16, 2026 18:04
@g-mai g-mai restored the ext/woocommerce-quicker branch April 16, 2026 18:06
@g-mai g-mai reopened this Apr 16, 2026
@0xdhrv 0xdhrv self-assigned this Apr 30, 2026
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nitpick: you can use mock-data for screenshots to avoid blur

Comment thread extensions/woocommerce-quicker/src/hooks/useWooCommerce.ts
Copy link
Copy Markdown
Contributor

@0xdhrv 0xdhrv left a comment

Choose a reason for hiding this comment

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

Looks good to me, approved ✅

@raycastbot raycastbot merged commit 087fe50 into raycast:main Apr 30, 2026
3 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Published to the Raycast Store:
https://raycast.com/g-mai/woocommerce-quicker

@raycastbot
Copy link
Copy Markdown
Collaborator

🎉 🎉 🎉

We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag.

@@ -0,0 +1,11 @@
# WooCommerce Quicker Changelog

## [Initial Version] - 2026-04-30
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Hardcoded date still present after fix attempt

The previous review flagged 2026-04-12 and the reply was "fixed in latest commit", but the current file has 2026-04-30 — still a hardcoded date rather than the {PR_MERGE_DATE} template placeholder. Raycast automatically substitutes this variable at merge time; a hardcoded date will never update.

Suggested change
## [Initial Version] - 2026-04-30
## [Initial Version] - {PR_MERGE_DATE}

Rule Used: What: In Raycast extension changelogs, `{PR_MERGE_... (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/woocommerce-quicker/CHANGELOG.md
Line: 3

Comment:
**Hardcoded date still present after fix attempt**

The previous review flagged `2026-04-12` and the reply was "fixed in latest commit", but the current file has `2026-04-30` — still a hardcoded date rather than the `{PR_MERGE_DATE}` template placeholder. Raycast automatically substitutes this variable at merge time; a hardcoded date will never update.

```suggestion
## [Initial Version] - {PR_MERGE_DATE}
```

**Rule Used:** What: In Raycast extension changelogs, `{PR_MERGE_... ([source](https://app.greptile.com/review/custom-context?memory=799af734-ebd9-4b40-9ffd-97a70fc71c8a))

How can I resolve this? If you propose a fix, please make it concise.

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