Skip to content

Conversation

@bthomee
Copy link
Collaborator

@bthomee bthomee commented Feb 10, 2026

High Level Overview of Change

This change modifies the system name from rippled to xrpld.

Context of Change

Per XLS-0095, we are taking steps to rename ripple(d) to xrpl(d).

This change renames the system name, which is used in limited places:

  • When no explicit config file is passed via the --config flag, then the system name is used to construct the path where the config file and database may be stored, via the $XDG_CONFIG_HOME and $XDG_DATA_HOME directories, respectively.
  • It is used in the metadata and user-agent as part of RPC calls.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

Copilot AI review requested due to automatic review settings February 10, 2026 19:29
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the core “system name” constant used across xrpld for default config/data directory selection (XDG + /etc/opt//var/opt) and for RPC metadata/user-agent strings, aligning with the ongoing rename effort in XLS-0095.

Changes:

  • Update systemName() from "ripple" to "xrpld".

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

systemName()
{
static std::string const name = "ripple";
static std::string const name = "xrpld";
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

Changing systemName() to return "xrpld" breaks call sites that assume systemName() does NOT include the trailing 'd' (e.g., src/xrpld/app/main/Main.cpp prints systemName() << "d [options]...", which would become xrpldd). Either keep systemName() as the base name (e.g., "xrpl") and update the RPC/user-agent sites accordingly, or update the handful of call sites that append "d" so the CLI output remains correct.

Suggested change
static std::string const name = "xrpld";
static std::string const name = "xrpl";

Copilot uses AI. Check for mistakes.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@legleux The current path results in /etc/opt/ripple/xrpld.cfg.

Would you prefer this to be:

  • /etc/opt/xrpl/xrpld.cfg, or
  • /etc/opt/xrpld/xrpld.cfg?

If the former, then I can change the system name to xrpl. If the latter, then I need to make some extra changes as pointed out by Copilot.

Copy link
Collaborator

@legleux legleux Feb 10, 2026

Choose a reason for hiding this comment

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

That string appears in JSON-RPC response headers and as the User-Agent for HTTP requests so wouldn't that be an API-breaking change?


Usually I think the purported conventions for paths like this would be something like:

/opt/<vendor>/<application>
i.e.
/opt/[xrplf|rippled]/xrpld/bin/xrpld

so if/when you install xrpld/clio/vkt, it all lives in the same place.

THAT BEING SAID, for simplicity sake just xrpld everywhere (which means you have to handle that lonely hanging d).

Copy link
Collaborator

Choose a reason for hiding this comment

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

Let's go for the latter for minimal confusion.

Copy link
Collaborator

@godexsoft godexsoft left a comment

Choose a reason for hiding this comment

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

Not an issue for Clio 👍
May be an issue for someone else but i very much doubt.

@codecov
Copy link

codecov bot commented Feb 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.9%. Comparing base (e11f619) to head (b6c21fb).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##           develop   #6347     +/-   ##
=========================================
- Coverage     79.9%   79.9%   -0.0%     
=========================================
  Files          840     840             
  Lines        65514   65514             
  Branches      7245    7251      +6     
=========================================
- Hits         52359   52350      -9     
- Misses       13155   13164      +9     
Files with missing lines Coverage Δ
include/xrpl/protocol/SystemParameters.h 100.0% <100.0%> (ø)

... and 5 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.

@bthomee bthomee requested a review from ximinez February 11, 2026 00:07
Copy link
Collaborator

@legleux legleux left a comment

Choose a reason for hiding this comment

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

Just the Copilot suggestion so we don't get xrpldd in certain places.

systemName()
{
static std::string const name = "ripple";
static std::string const name = "xrpld";
Copy link
Collaborator

Choose a reason for hiding this comment

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

Let's go for the latter for minimal confusion.

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.

3 participants