Sponsored Content
Skip to content

fix: Backport Permissioned Domains fixes - #7016

Merged
bthomee merged 4 commits into
XRPLF:developfrom
oleks-rip:313_fixes
May 13, 2026
Merged

fix: Backport Permissioned Domains fixes#7016
bthomee merged 4 commits into
XRPLF:developfrom
oleks-rip:313_fixes

Conversation

@oleks-rip

Copy link
Copy Markdown
Contributor

High Level Overview of Change

Some fixes for Permissioned Domains that where applied to staging-3.1.3 but not present in develop

@oleks-rip
oleks-rip requested review from vlntb and ximinez April 24, 2026 15:03
@codecov

codecov Bot commented Apr 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.1%. Comparing base (551f3c3) to head (453e482).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           develop   #7016   +/-   ##
=======================================
  Coverage     82.1%   82.1%           
=======================================
  Files         1010    1010           
  Lines        76205   76205           
  Branches      7407    7401    -6     
=======================================
  Hits         62571   62571           
  Misses       13634   13634           

see 3 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vlntb

vlntb commented May 1, 2026

Copy link
Copy Markdown
Contributor

Worth calling out in the PR description that withFix_ and withFeature_ were identical before this change — that's the actual substantive fix here.

@github-actions

github-actions Bot commented May 3, 2026

Copy link
Copy Markdown

This PR has conflicts, please resolve them in order for the PR to be reviewed.

@godexsoft

Copy link
Copy Markdown
Contributor

We recently merged a refactor to develop that enables clang-tidy's readability-identifier-naming. Your branch now has heavy conflicts that are largely mechanical. Below is a workflow that aligns your branch's naming with develop before merging, which should minimize the merge conflicts.

One-time setup

If you don't already have clang-tidy working in your env, on macOS:

brew install llvm@21
# Follow brew's hint to put $(brew --prefix llvm@21)/bin on PATH so run-clang-tidy is found.

Workflow on your branch (before merging develop)

1. Grab the new .clang-tidy from develop without pulling anything else. Sync your fork on GitHub first, then:

git remote -v   # should show 'upstream' among others; if not:
# git remote set-url upstream git@github.com:XRPLF/rippled.git
git fetch upstream
git checkout upstream/develop -- .clang-tidy

2. Reconfigure conan/cmake so compile_commands.json is fresh.

3. Apply renames for the files modified in your PR:

git diff --name-only $(git merge-base HEAD upstream/develop) HEAD \
  | grep -E '\.(cpp|h|hpp|ipp)$' \
  | xargs run-clang-tidy -p build -fix -allow-no-checks
# or -p .build, or whatever your build dir is called

4. Build + test, then commit as a single dedicated commit:

cmake --build build -j8
git commit -am "refactor: Align identifier naming with develop"

5. Now merge develop:

git merge upstream/develop

Extra

Run clang-tidy once more after the merge to catch any stragglers introduced from develop's side:

run-clang-tidy -p build -fix -allow-no-checks src tests
# or -p .build, or whatever your build dir is called

@github-actions

github-actions Bot commented May 5, 2026

Copy link
Copy Markdown

All conflicts have been resolved. Assigned reviewers can now start or resume their review.

@oleks-rip oleks-rip added this to the 3.1.3 (develop) milestone May 12, 2026
@oleks-rip
oleks-rip requested a review from bthomee May 12, 2026 18:21
@bthomee bthomee changed the title fix: PD fixes from staging-3.1.3 branch fix: Backport Permissioned Domains fixes May 12, 2026
Comment on lines -53 to +61
FeatureBitset withFeature_{
FeatureBitset withoutFeature_{
testableAmendments() //
| featurePermissionedDomains | featureCredentials};

- featurePermissionedDomains - fixPermissionedDomainInvariant};
FeatureBitset withFeature_{
(testableAmendments() //
| featurePermissionedDomains | featureCredentials) -
fixPermissionedDomainInvariant};
FeatureBitset withFix_{
testableAmendments() //
| featurePermissionedDomains | featureCredentials};
| featurePermissionedDomains | featureCredentials | fixPermissionedDomainInvariant};

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The featurePermissionedDomains, featureCredentials, and fixPermissionedDomainInvariant amendments are marked as being supported in features.macro, so are included in testableAmendments() by default. In essence, the list above translates to:

  • without feature: all amendments minus permissioned domains and invariant.
  • with feature: all amendments minus invariant.
  • with fix: all amendments.

Is a separate FeatureBitset needed for "all amendments minus permissioned domains" (so, including the invariant)?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

This code is moved from another branch, and, probably, written before amendments were accepted. So it is here in this form just to be the same, and to provide exact clarity on which amendments enabled / disabed

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

After looking more closely, the way the current tests are set up, and where these withX and withoutX are referenced, I notice my source of feeling uneasy with the current code (not your changes specifically).

I suggest to simply remove the withoutFeature_ completely. It's only used in one location, on line 101. You can just replace the withoutFeature_ there by testableAmendments() - featurePermissionedDomains.

Then you can keep everything else as-is for now. I think adding more combinations would make sense, to make sure nothing breaks if the fix is enabled but the amendment isn't, for instance. It's unlikely Credentials will become unsupported, so you probably don't have to test for that.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

removed

@bthomee bthomee left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Very nice, thanks for making the changes.

@bthomee
bthomee added this pull request to the merge queue May 13, 2026
Merged via the queue into XRPLF:develop with commit d4ebd6a May 13, 2026
3 checks passed
@oleks-rip
oleks-rip deleted the 313_fixes branch June 6, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants