Open Source

Shaping the tools I use every day, one pull request at a time

A hand-picked selection: only the contributions worth reading about, not every merged pull request. Articles about Magento and Adobe Commerce are on the blog.

1,571 +
Merged pull requests
3
Projects contributed to
387 +
Pull requests reviewed
10
Years contributing
fix PayU-EMEA/plugin_magento_24  #108 merged

Inject the customer session and URL builder into the repay resolver  — on GitHub

RepayOrderResolverAbstract::execute() used $this->customerSession and $this->urlBuilder, but the class only injected the command pool. A repay that PayU answered with SUCCESS and no redirect, or with WARNING_CONTINUE_CVV, ended in “Can’t repay order.” after the PayU order was already created. Both dependencies are now injected in the abstract constructor and autowired for the four concrete resolvers, with no di.xml change.

fix PayU-EMEA/plugin_magento_24  #111 merged

Define the request body before the try block in PayUAbstractClient  — on GitHub

When setDefaultConfig() threw, the catch block in placeRequest() read a $body that was never assigned. Magento turned the warning into an exception, the shopper got a generic server error, nothing reached payugateway.log, and the real cause (for example Empty PayU Configuration) was lost. The body is now read before the try, so configuration errors are logged with their message again.

fix PayU-EMEA/plugin_magento_24  #112 merged

Show the quote grand total on the Google Pay and Apple Pay sheets  — on GitHub

The Google Pay and Apple Pay sheets took the amount from base_grand_total but the currency from quote_currency_code. On a store with base currency PLN and checkout currency EUR, the sheet showed the PLN amount labelled as EUR, which was not the amount sent to PayU. Both sheets now read grand_total, matching the order request; single-currency stores see no change.

fix PayU-EMEA/plugin_magento_24  #118 merged

Use HTTPS for the PayU terms link  — on GitHub

The terms of service link on the payment step and the repay page pointed to an http:// URL from an HTTPS checkout. The constant now uses https://, which static.payu.com already serves.

fix sansecio/magento2-module-shield  #43 merged

Set a timeout on the Shield rules fetch  — on GitHub

Magento\Framework\HTTP\Client\Curl sets no default timeout, so a stalled connection to the rules endpoint blocked fetchRules() indefinitely. That call runs from a cron job in a separate process, and Magento’s schedule lifetime only prunes stale rows after the fact — it never kills the hung worker.

perf sansecio/magento2-module-shield  #45 merged

Cache the WAF rules in front of the flag lookup  — on GitHub

The plugin injects the WAF eagerly, so every request paid for a point SELECT on the flag table before it could decode the rules — a round trip for a value that only changes when the five-minute cron writes it. Caching in front of that lookup, without reintroducing the cache-only storage the module had deliberately dropped, since cache:flush or a disabled cache type must not leave the WAF ruleless.

Only merged work is listed here, and only the parts worth a comment — the full history, including everything still in review, lives on GitHub .