Page MenuHomePhorge

Greesb (Guillaume)
User

Projects

User is not a member of any projects.

User Details

User Since
Jul 21 2026, 10:39 (11 w, 3 d)

Recent Activity

Thu, Oct 8

Greesb closed D20789: [website] Add doc for strapi issue during local dev.
Thu, Oct 8, 10:16
Greesb committed rABCWEB095e2173fdf2: [website] Add doc for strapi issue during local dev.
Thu, Oct 8, 10:16
Greesb requested review of D20789: [website] Add doc for strapi issue during local dev.
Thu, Oct 8, 08:58
Greesb closed D20785: [website] Add "about" and "release notes" links to electrum in navbar.
Thu, Oct 8, 08:46
Greesb committed rABCWEBf91ca206c944: [website] Add "about" and "release notes" links to electrum in navbar.
Thu, Oct 8, 08:46

Wed, Oct 7

Greesb requested review of D20785: [website] Add "about" and "release notes" links to electrum in navbar.
Wed, Oct 7, 15:46

Tue, Oct 6

Greesb closed D20767: refactor(arcanist): create abstract ruff external linter.
Tue, Oct 6, 09:13
Greesb committed rABCfe5856d43aa8: refactor(arcanist): create abstract ruff external linter.
Tue, Oct 6, 09:13
Greesb abandoned D20675: ruff: move rules from .arclint to .ruff.toml.

Made https://reviews.bitcoinabc.org/D20767 for the abstract class changes, I don't think the diff part is needed at all anymore, so i'll close this diff.

Tue, Oct 6, 08:59
Greesb updated the diff for D20767: refactor(arcanist): create abstract ruff external linter.

use uppercase linter names in abstract class

Tue, Oct 6, 08:57
teamcity awarded D20767: refactor(arcanist): create abstract ruff external linter a Haypence token.
Tue, Oct 6, 08:38
Greesb updated the diff for D20767: refactor(arcanist): create abstract ruff external linter.

remove leftover useless function

Tue, Oct 6, 08:35
Greesb requested review of D20767: refactor(arcanist): create abstract ruff external linter.
Tue, Oct 6, 08:34
Greesb closed D20762: ruff: move ruff rules to .ruff.toml file.
Tue, Oct 6, 08:23
Greesb committed rABCebe4c50bf0b1: ruff: move ruff rules to .ruff.toml file.
Tue, Oct 6, 08:23

Mon, Oct 5

Greesb updated the diff for D20762: ruff: move ruff rules to .ruff.toml file.

remove unnecessary rules in ruff check arcanist linter code

Mon, Oct 5, 14:49
Greesb retitled D20762: ruff: move ruff rules to .ruff.toml file from ruff: move rules from .arclint to .ruff.toml
Mon, Oct 5, 14:45
Greesb updated the diff for D20762: ruff: move ruff rules to .ruff.toml file.

fix typo

Mon, Oct 5, 14:44
Greesb planned changes to D20675: ruff: move rules from .arclint to .ruff.toml.
Mon, Oct 5, 14:35
Greesb published D20762: ruff: move ruff rules to .ruff.toml file for review.
Mon, Oct 5, 14:34
Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.
In D20675#471765, @PiRK wrote:

This is good work, and the refactor into a base class makes sense. I would just recommend splitting this work into two or 3 smaller diffs so the non-controversial changes can get landed quickly and there is a separate rationale for every piece of the work:

  • extract rules to .ruff.toml, minimzing changes to the the php (some are necesarry, D20693), while avoiding any potential change in behavior (same command line args)
  • extract the common stuff to AbstractRuffExternalLinter, pure refactor with no change of behavior
  • change command line args, --diff etc... (for this part the rationale is still not clear to me)
Mon, Oct 5, 14:34
teamcity awarded D20675: ruff: move rules from .arclint to .ruff.toml a Piece of Eight token.
Mon, Oct 5, 10:48

Sat, Oct 3

Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.

@Fabien @PiRK Should be good now, there's autofix and arcanist still shows the diff of the things it autofixed. And I also took the liberty to make an abstract class for ruff executable and output parsing to avoid duplicating code in both ruff format and ruff check linters.

Sat, Oct 3, 19:28
Greesb updated the diff for D20675: ruff: move rules from .arclint to .ruff.toml.

Remove reference to pinterest repository

Sat, Oct 3, 16:35
Greesb updated the diff for D20675: ruff: move rules from .arclint to .ruff.toml.

run arc liberate

Sat, Oct 3, 16:17
Greesb updated the diff for D20675: ruff: move rules from .arclint to .ruff.toml.

Just a rebase on master

Sat, Oct 3, 16:16
Greesb updated the diff for D20675: ruff: move rules from .arclint to .ruff.toml.

Restore diff output in arcanist (with autofix still enabled) and move ruff linters common code to an AbstractRuffExternalLinter

Sat, Oct 3, 16:14

Sat, Sep 26

Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.

I ran the linter on all files, both on master and on this patch. On both I modified the .arclint file to only keep the generated, ruff-format and ruff-check linters. My governor is in eco mode to reduce the imapct of the CPU boost.
I noticed 3 files from electrum/scripts have autofixes with this patch (but not on master, so the rules might be different). I excluded the electrum/script/*.py files from the run with this patch so it doesn't interfere with the measurement.

On master:

$ time arc lint --everything
 OKAY  No lint messages.

real	0m1,096s
user	0m2,249s
sys	0m3,068s

On arcpatch-D20675:

$ time arc lint --everything
 OKAY  No lint messages.

real	0m8,509s
user	0m11,085s
sys	1m27,875s

So it's roughly 8,5x slower to exclude the files from ruff instead of arcanist on my machine, and much worst on machines with less CPU cores as you can see from the sys measurement.
Let's keep the exclusion in arcanist.

Sat, Sep 26, 08:22

Thu, Sep 24

Greesb planned changes to D20675: ruff: move rules from .arclint to .ruff.toml.
Thu, Sep 24, 15:50
teamcity awarded D20675: ruff: move rules from .arclint to .ruff.toml a Haypence token.
Thu, Sep 24, 13:47
Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.

@PiRK @Fabien It should be good now, I have re-added autofix to both linters.

Thu, Sep 24, 13:30
Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.

Both linters should fix all issue they find when using arc lint, there are no detailed message shown except that there were code-style violations on a file.
Here's an example with a random file:

λ arc lint
>>> Lint for electrum/electrum-abc:
Thu, Sep 24, 09:05
Greesb updated the summary of D20675: ruff: move rules from .arclint to .ruff.toml.
Thu, Sep 24, 09:02
Greesb updated the diff for D20675: ruff: move rules from .arclint to .ruff.toml.

Update ruff linters to fix issues whenever they can and return an error message to arc lint, when an issue has been fixed or found (since not all issues can be fixe automatically).

Thu, Sep 24, 08:59

Wed, Sep 23

Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.
In D20675#470343, @PiRK wrote:

I think the current behavior of the tool is good, but that's mostly because I'm used to it. If you see a way to improve it, go ahead. I think the goal should be to maximize automation and minimize decision making by devs.

Wed, Sep 23, 09:59
Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.
In D20675#470311, @PiRK wrote:

It seems like it works, but (with my version at least) there's no diff to be displayed, is that ok for you to just show that the file was reformatted without asking or showing what was modified ?

Because from my understanding with those linters they can either:

  • Show the diff that the linter wants to modify to comply with the style requirements and let the dev chose to apply it or not
  • Fix the lint issues and exit with a fail
  • Fix the lint issues and proceed with the commit/diff automatically

I think I also got lost in all those possible options while also trying to understand how the arcanist linters works 😅

For some reason the diff is not displayed if you remove setLine(1)->setChar(1) so you can also just restore these. Then another issue I find is that if both ruff format and ruff check find an issue with an auto-fix, only one of them is actually applied, so you have to run arc lint twice. But that's already a problem on master. I don't think there is a workaround for this, it doesn't seem possible to properly chain 2 automatic reformattings in a single pass of arc lint. Switching from having multiple python linters (isort, flake8....) to just ruff check improved that situation quite a lot already.

Try something like this: https://reviews.bitcoinabc.org/D20693 (based on your work with some of the php changes reverted)

Wed, Sep 23, 06:42

Tue, Sep 22

Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.
In D20675#470252, @PiRK wrote:

The main issue is that the files are not passed via their path but via stdin, so the excludes from toml file are not respected.
I think you should be able to fix this in RuffFormatLinter the same way I had to do for RuffCheckLinter in D18906, with --stdin-filename:

diff --git a/arcanist/linter/RuffFormatLinter.php b/arcanist/linter/RuffFormatLinter.php
index 7ca9fceb96..fe3aa62e6c 100644
--- a/arcanist/linter/RuffFormatLinter.php
+++ b/arcanist/linter/RuffFormatLinter.php
@@ -36,11 +36,15 @@ final class RuffFormatLinter extends ArcanistExternalLinter {
   protected function buildFutures(array $paths) {
     $executable = $this->getExecutableCommand();

-    $bin = csprintf('%C %Ls -', $executable, $this->getCommandFlags());
-
     $futures = array();
     foreach ($paths as $path) {
       $disk_path = $this->getEngine()->getFilePathOnDisk($path);
+      $bin = csprintf(
+        '%C %Ls  --stdin-filename %s -',
+         $executable,
+         $this->getCommandFlags(),
+         $disk_path
+      );
       $future = new ExecFuture('%C', $bin);
       /* Write the input file to stdin */
       $input = file_get_contents($disk_path);

I did a few quick tests, and it seems to work. I wasn't able to dedup the include, though (even by setting --force-exclude directly on the command line). It seems you are correct to keep them both in the toml and the .arclint file.

Tue, Sep 22, 20:55
Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.
In D20675#470204, @PiRK wrote:

I'm also not a big fan of losing the autofix. I'm used to my arc lint command fixing (almost) all the code in a single pass.
Moving all the config to a standard .ruff.toml file is a big improvement on the other hand (compatibility with IDEs)

Tue, Sep 22, 14:22
Greesb added inline comments to D20675: ruff: move rules from .arclint to .ruff.toml.
Tue, Sep 22, 14:12
Greesb added a comment to D20675: ruff: move rules from .arclint to .ruff.toml.

I'm not sure about all of these changes. What I like:

  • ruff running on the whole repo and not only electrum abc

It was already the case given the previous rules in the arcanist linters, just the ruff rules are put in a common file for the whole codebase to share.

Tue, Sep 22, 14:09
Greesb published D20675: ruff: move rules from .arclint to .ruff.toml for review.
Tue, Sep 22, 13:32

Fri, Sep 18

Greesb added a comment to D20669: ruff: run ruff-format on whole codebase.
In D20669#469779, @PiRK wrote:

I'm OK with the idea of formatting python code blocks in md files (if not in third-party dirs). I didn't know ruff-format could do that.

Fri, Sep 18, 12:03
Greesb abandoned D20669: ruff: run ruff-format on whole codebase.
In D20669#469764, @PiRK wrote:

Running Ruff manually is not the way to go. If you think some code should be formatted, make sure it is included in .arclint under "ruff-format". We explicitely exclude most of these files there.

Fri, Sep 18, 11:39
Greesb updated the diff for D20669: ruff: run ruff-format on whole codebase.

ignore src/secp256k1/tools/tests_wycheproof_generate.py in ruff-format

Fri, Sep 18, 11:37
Greesb updated the summary of D20669: ruff: run ruff-format on whole codebase.
Fri, Sep 18, 11:20
Greesb published D20669: ruff: run ruff-format on whole codebase for review.
Fri, Sep 18, 11:16
Greesb added a comment to D20667: python: bump minimum required python version to 3.10.

This revision was landed with ongoing or failed builds.

Fri, Sep 18, 09:45
Greesb closed D20667: python: bump minimum required python version to 3.10.
Fri, Sep 18, 09:44
Greesb committed rABC80e145c87224: python: bump minimum required python version to 3.10.
Fri, Sep 18, 09:44

Thu, Sep 17

Greesb updated the diff for D20667: python: bump minimum required python version to 3.10.

Remove unnecessary change for upgrade

Thu, Sep 17, 19:03
Greesb requested review of D20667: python: bump minimum required python version to 3.10.
Thu, Sep 17, 18:56
Greesb abandoned D20662: python: bump minimum required version to 3.10.

Need to do some more tests in local before.

Thu, Sep 17, 07:31
Greesb retitled D20662: python: bump minimum required version to 3.10 from python: bump minimum required python version to 3.10
Thu, Sep 17, 07:17
Greesb requested review of D20662: python: bump minimum required version to 3.10.
Thu, Sep 17, 07:17

Tue, Sep 15

Greesb closed D20631: Restrict clang-format to version 19.x.
Tue, Sep 15, 11:57
Greesb committed rABC4967c789f9e3: Restrict clang-format to version 19.x.
Tue, Sep 15, 11:57
Greesb added a comment to D20631: Restrict clang-format to version 19.x.

The actual changes looks good but some pieces are missing:

  • Don't skip the linter, especially in a linter change
  • You missed the .arclint file which needs to be updated accordingly
  • You should lint the files in the same diff. If you want to speed up the operation you can temporary remove all linters but generated and clang-format from .arclint then run arc lint --everything. Doing so will avoid having the repo in a broken state with files that don't comply with the linter.
Tue, Sep 15, 10:22
Greesb updated the diff for D20631: Restrict clang-format to version 19.x.

Fix .arclint and run arc lint --everything for generated and clang-format linters

Tue, Sep 15, 07:55
Greesb added a comment to D20631: Restrict clang-format to version 19.x.

The actual changes looks good but some pieces are missing:

  • Don't skip the linter, especially in a linter change
  • You missed the .arclint file which needs to be updated accordingly
  • You should lint the files in the same diff. If you want to speed up the operation you can temporary remove all linters but generated and clang-format from .arclint then run arc lint --everything. Doing so will avoid having the repo in a broken state with files that don't comply with the linter.
Tue, Sep 15, 07:34
Greesb added a comment to D20631: Restrict clang-format to version 19.x.

Enforcing clang-format-19 is fine though, it's available on most distros.

Tue, Sep 15, 07:11

Mon, Sep 14

Greesb added a comment to D20631: Restrict clang-format to version 19.x.
Mon, Sep 14, 20:23
Greesb retitled D20631: Restrict clang-format to version 19.x from Allow clang-format >= 16
Mon, Sep 14, 20:13
Greesb updated the diff for D20631: Restrict clang-format to version 19.x.

Last typo

Mon, Sep 14, 20:13
Greesb updated the diff for D20631: Restrict clang-format to version 19.x.

Guess what, a typo.

Mon, Sep 14, 20:12
Greesb updated the diff for D20631: Restrict clang-format to version 19.x.

Typo again

Mon, Sep 14, 20:10
Greesb updated the diff for D20631: Restrict clang-format to version 19.x.

Typo

Mon, Sep 14, 20:05
Greesb updated the diff for D20631: Restrict clang-format to version 19.x.

Restrict clang-format to 19 instead of >=16

Mon, Sep 14, 20:04
Greesb updated the summary of D20631: Restrict clang-format to version 19.x.
Mon, Sep 14, 13:13
Greesb requested review of D20631: Restrict clang-format to version 19.x.
Mon, Sep 14, 13:10

Jul 24 2026

Greesb closed D20358: [electrum] pin pyqt5 version to 5.15.11.
Jul 24 2026, 07:06
Greesb committed rABC427179e23ade: [electrum] pin pyqt5 version to 5.15.11 (authored by Guillaume RISBOURG <8541176-Greesb@users.noreply.gitlab.com>).
Jul 24 2026, 07:06

Jul 22 2026

Greesb updated the diff for D20358: [electrum] pin pyqt5 version to 5.15.11.

rebased on master and resolved electrum/CONTRIBUTING.md conflicts

Jul 22 2026, 11:37
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.
In D20358#461786, @PiRK wrote:

I'm fine with pyqt5>=5.15.11 as long as we don't run into issues when doing the next release (we release with python 3.11)

I can take care of bumping the pyqt5 packages accordingly in contrib/deterministic-build/requirements-binaries.txt, unless you want to do it. The test plan will involve building the release (contrib/build-wine/build.sh, contrib/build-linux/appimage/build.sh) and testing it.

Jul 22 2026, 11:33
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

@PiRK
Should it still require pyqt5>=5.15.11 to fix this issue with python 3.12+ though ?
Having pyqt5>=5.15.11 would still allow all python versions to work and would also allow to remove a lot of the compatibility code i saw for older pyqt5 versions

Jul 22 2026, 10:05
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

Having pyqt5>=5.15.11 would still allow all python versions to work and would probably allow to remove a lot of the compatibility code i saw for older pyqt5 versions

Jul 22 2026, 08:16
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.
In D20358#461743, @PiRK wrote:

I think just removing the upper limit (<=5.15.9) would be enough, pip would automatically pick the newest version when installing. And it would reduce the risks of breaking older versions of python, because i'm not sure if PyQt5==5.15.11 still support python 3.9 or 3.10.

The upper limit was introduced when I backported https://github.com/Electron-Cash/Electron-Cash/pull/2558. No rationale was given for this limit. So it's probably safe to just remove.

Jul 22 2026, 08:14
Greesb updated the diff for D20358: [electrum] pin pyqt5 version to 5.15.11.

removed icons.py changes

Jul 22 2026, 08:12
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.
In D20358#461736, @PiRK wrote:

you accidentally commited a change in icon.py, please reset it.

I need to figure out why we previously pinned pyqt5 to < 5.15.9

Jul 22 2026, 08:11

Jul 21 2026

Greesb retitled D20358: [electrum] pin pyqt5 version to 5.15.11 from [electrum] restrict python version to <3.12
Jul 21 2026, 16:14
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

Not sure if there is anything else I need to do for this dependency version bump, if there is then please do let me know.

Jul 21 2026, 16:10
Greesb updated the diff for D20358: [electrum] pin pyqt5 version to 5.15.11.

Changed the python restriction to upgrading the required pyqt5 version

Jul 21 2026, 16:09
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

Even the latest available version of pyqt5 seems to be enough to fix the crash actually (5.15.11), will do more test to validate and will change my diff when done.

Jul 21 2026, 15:40
Greesb added inline comments to D20364: [electrum] mention dependency on setuptools and secp256k1 in CONTRIBUTING.md.
Jul 21 2026, 15:22
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

The issue doesn't appear with PyQt6, and works also in 3.9.25, 3.10.20, 3.11.15, 3.12.13, 3.13.14, 3.14.6 (only tested the unit tests and just launching electrum-abc binary for now).
Would switching to PyQt6 be an acceptable fix ? Or is PyQt5 mandatory ? @Fabien

Jul 21 2026, 13:32
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

If there is a bug that crash the tests with python >= 3.12, then the bug should be fixed. Disabling python >= 3.12 is just hiding the bug and this is not the right approach.

The diff summary explains how to access that stack trace but not what the content is and if you're already investigated the root cause, can you please elaborate?

Jul 21 2026, 13:12
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

I forgot to mention that the stack trace issue seems to be coming from PyQt. I'll see if I can find time to investigate the issue.

Jul 21 2026, 13:08
Greesb added a comment to D20358: [electrum] pin pyqt5 version to 5.15.11.

I had to skip linters because arc diff required that the version of clang was <17 even though no clang-related changes were made; and I still haven't managed to install clang<17 or clang-format<17

Jul 21 2026, 13:00
Greesb requested review of D20358: [electrum] pin pyqt5 version to 5.15.11.
Jul 21 2026, 12:59