Skip to content

fix: Clarify domain expiry warning for TLDs without RDAP endpoints#6620

Merged
CommanderStorm merged 2 commits intomasterfrom
copilot/fix-warning-for-eu-domain
Jan 6, 2026
Merged

fix: Clarify domain expiry warning for TLDs without RDAP endpoints#6620
CommanderStorm merged 2 commits intomasterfrom
copilot/fix-warning-for-eu-domain

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 6, 2026

The warning message for TLDs without RDAP endpoints (.eu, .gr, .pf, etc.) incorrectly suggested filing a bug report and didn't explain why domain expiry monitoring was unavailable.

Changes:

  • Updated warning message in server/model/domain_expiry.js to explain that RDAP endpoint is missing from IANA database
  • Added TLD prefix (.eu instead of eu) for clarity
  • Removed misleading "file a bug report" suggestion

Before:

log.warn("domain", `${tld.publicSuffix} is not supported. File a bug report if you believe it should be.`);

After:

log.warn("domain", `Domain expiry unsupported for '.${tld.publicSuffix}' because its RDAP endpoint is not listed in the IANA database.`);

This affects TLDs that legitimately don't provide RDAP services and cannot be supported through the current implementation.

Original prompt

This section details on the original issue you should resolve

<issue_title>[DOMAIN] WARN: eu is not supported. File a bug report if you believe it should be.</issue_title>
<issue_description>### 📑 I have found these related issues/pull requests

didn't find related issue

🛡️ Security Policy

📝 Description

Found several lines in my journalctl, with several different domain extensions (eu, gr, pf, etc...)

👟 Reproduction steps

seems permanent

👀 Expected behavior

should not be warning

😓 Actual Behavior

filling my logs

🐻 Uptime-Kuma Version

2.1.0-beta.1

💻 Operating System and Arch

Ubuntu 24.04 LTS

🌐 Browser

journalctl

🖥️ Deployment Environment

  • Runtime Environment:
    • MariaDB: Server version: 10.11.13-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04
    • Node.js: Version 18.20.5`
  • Uptime Kuma Setup:
    • Number of monitors: 865

📝 Relevant log output

```</issue_description>

<agent_instructions>currently, the warning is (for example)

[DOMAIN] WARN: eu is not supported. File a bug report if you believe it should be.

A more explicit error message would be


[DOMAIN] WARN: Domain expiry unsupported for '.eu' because its RDAP endpoint is not listed in the IANA database.</agent_instructions>

## Comments on the Issue (you are @copilot in this section)

<comments>
<comment_new><author>@CommanderStorm</author><body>
.eu does not support domain expiry, I think the error needs to be reworded</body></comment_new>
</comments>

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…ndpoint

Co-authored-by: CommanderStorm <26258709+CommanderStorm@users.noreply.github.com>
@CommanderStorm CommanderStorm changed the title [WIP] Fix warning message for unsupported eu domain fix: improve warning message for unsupported domains in domain expiry Jan 6, 2026
Copilot AI changed the title fix: improve warning message for unsupported domains in domain expiry Clarify domain expiry warning for TLDs without RDAP endpoints Jan 6, 2026
Copilot AI requested a review from CommanderStorm January 6, 2026 19:29
@CommanderStorm
Copy link
Copy Markdown
Collaborator

@copilot all logs in this file say log.error("domain", log.warn("domain" or log.debug("domain"

They should be log.error("domain_expiry" and such

@CommanderStorm CommanderStorm marked this pull request as ready for review January 6, 2026 19:36
Copilot AI review requested due to automatic review settings January 6, 2026 19:36
@CommanderStorm CommanderStorm changed the title Clarify domain expiry warning for TLDs without RDAP endpoints fix: Clarify domain expiry warning for TLDs without RDAP endpoints Jan 6, 2026
@CommanderStorm CommanderStorm merged commit 07d3dce into master Jan 6, 2026
25 of 26 checks passed
Copilot stopped work on behalf of CommanderStorm due to an error January 6, 2026 19:37
Copy link
Copy Markdown
Contributor

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 improves the warning message for TLDs that don't have RDAP endpoints listed in the IANA database. The previous message incorrectly suggested users should file a bug report when monitoring was unavailable for certain legitimate TLDs like .eu, .gr, and .pf.

Key Changes:

  • Rewrote warning message to explain that domain expiry monitoring is unsupported due to missing RDAP endpoint in IANA database
  • Added dot prefix to TLD (.eu instead of eu) for better clarity
  • Removed misleading "file a bug report" suggestion that was causing confusion

const rdap = await getRdapServer(tld.publicSuffix);
if (!rdap) {
log.warn("domain", `${tld.publicSuffix} is not supported. File a bug report if you believe it should be.`);
log.warn("domain", `Domain expiry unsupported for '.${tld.publicSuffix}' because its RDAP endpoint is not listed in the IANA database.`);
Copy link

Copilot AI Jan 6, 2026

Choose a reason for hiding this comment

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

There's another similar warning message on line 51 that could benefit from the same clarity improvement. Currently it says "No RDAP server found, TLD ${tld} not supported." but it doesn't include the dot prefix for consistency. Consider updating it to match the new format: "Domain expiry unsupported for '.${tld}' because its RDAP endpoint is not listed in the IANA database."

Copilot uses AI. Check for mistakes.
@iotux
Copy link
Copy Markdown
Contributor

iotux commented Jan 7, 2026

@copilot all logs in this file say log.error("domain", log.warn("domain" or log.debug("domain"

They should be log.error("domain_expiry" and such

This is a good log improvement, since it allowed me to quickly find the source of endless log warning entries showing:

... [DOMAIN] WARN null is not supported. File a bug report ...

When watching the log while entering a domain name, I notice that every new character entered in the input field generates a new warn log line.

Are there any good reasons for logging at that level, or repeatedly logging unrecognized domain names at every heartbeat?

I can see several reasons for using unrecognized domains.

In corporate environments, the DNS could be configured with split horizon where a private domain is for intranet use, and there could even be unusual names in /etc/hosts.

For my own use, I prefer IP addresses for simplicity (yes really), and that generates those endless log lines.
From my example log:

2026-01-07T04:00:31+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.u' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:31+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.un' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:31+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.unu' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:32+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:32+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:32+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.unus' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:32+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.unusu' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:33+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.unusua' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:33+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.unusual' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:34+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.st' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:35+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.unusual' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:35+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.s' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:36+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.su' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:36+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:36+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:36+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.sub' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:37+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.sub' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:37+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:37+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.d' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:37+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:38+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:38+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:38+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.do' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:39+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.dom' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:39+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:39+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.doma' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:39+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.domai' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:40+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.domain' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:41+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.domain' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:42+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.n' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:00:44+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.nam' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:32+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:32+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:34+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.st' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:35+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:35+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:37+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:37+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T04:01:38+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.

@CommanderStorm
Copy link
Copy Markdown
Collaborator

Are there any good reasons for logging at that level, or repeatedly logging unrecognized domain names at every heartbeat?

No, that is a bug.
In an ideal world, we would only log for one TLD once.

I am not sure why for you there are all of thee entries, did you create a new monitor or have to save for each line

@CommanderStorm CommanderStorm deleted the copilot/fix-warning-for-eu-domain branch January 7, 2026 04:28
@CommanderStorm CommanderStorm added this to the 2.1.0 milestone Jan 7, 2026
@iotux
Copy link
Copy Markdown
Contributor

iotux commented Jan 7, 2026

I am not sure why for you there are all of thee entries, did you create a new monitor or have to save for each line

To clarify a bit.
The 'null' entries are from several monitors where I have used IP addresses.
For the '.st', it is actually a domain name I own.
For the others, I am not saving the entries. For each and every character entered in the input field, a log line is written

@CommanderStorm
Copy link
Copy Markdown
Collaborator

I guess then that part is also a bug

@iotux
Copy link
Copy Markdown
Contributor

iotux commented Jan 7, 2026

I guess then that part is also a bug

Another observation: Monitor pages created previous to this PR does not have the new 'Domain Name Expiry Notification' tick box. I don't know if it is supposed to be automatically updated.

@iotux
Copy link
Copy Markdown
Contributor

iotux commented Jan 7, 2026

I guess then that part is also a bug

A more serious observation. This also happens when adding a Ping monitor.
When entering the plain IP address 10.11.1.123, I get this in the log. This happens with other monitor types as well.

2026-01-07T05:50:17+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.1' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:17+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.10' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:19+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.10' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:20+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.1' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:20+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.11' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:21+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.11' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:21+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.1' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:21+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.1' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:22+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:22+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.
2026-01-07T05:50:23+01:00 [DOMAIN_EXPIRY] WARN: Domain expiry unsupported for '.null' because its RDAP endpoint is not listed in the IANA database.

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.

[DOMAIN] WARN: eu is not supported. File a bug report if you believe it should be.

4 participants