Skip to content

Conversation

@radulucut
Copy link

@radulucut radulucut commented Oct 6, 2025

📋 Overview

This is PR adds support for Globalping.

Globalping is a free and open-source tool that allows you to run network tests and measurements from thousands of community hosted probes around the world.

The following commands are available via the new Globalping monitor: ping, http, dns.

Check out the API documentation for additional information.

🛠️ Type of change

  • 🐛 Bugfix (a non-breaking change that resolves an issue)
  • ✨ New feature (a non-breaking change that adds new functionality)
  • ⚠️ Breaking change (a fix or feature that alters existing functionality in a way that could cause issues)
  • 🎨 User Interface (UI) updates
  • 📄 New Documentation (addition of new documentation)
  • 📄 Documentation Update (modification of existing documentation)
  • 📄 Documentation Update Required (the change requires updates to related documentation)
  • 🔧 Other (please specify):
    • Provide additional details here.

📄 Checklist

  • 🔍 My code adheres to the style guidelines of this project.
  • 🦿 I have indicated where (if any) I used an LLM for the contributions
  • ✅ I ran ESLint and other code linters for modified files.
  • 🛠️ I have reviewed and tested my code.
  • 📝 I have commented my code, especially in hard-to-understand areas (e.g., using JSDoc for methods).
  • ⚠️ My changes generate no new warnings.
  • 🤖 My code needed automated testing. I have added them (this is an optional task).
  • 📄 Documentation updates are included (if applicable).
  • 🔒 I have considered potential security impacts and mitigated risks.
  • 🧰 Dependency updates are listed and explained.
  • 📚 I have read and understood the Pull Request guidelines.

📷 Screenshots or Visual Changes

Ping

Screenshot 2025-10-14 at 12 51 54

HTTP

Screenshot 2025-10-14 at 12 51 41

DNS

Screenshot 2025-10-14 at 12 51 21

General settings

Screenshot 2025-10-14 at 12 52 12

@radulucut

This comment was marked as outdated.

CommanderStorm

This comment was marked as resolved.

@radulucut
Copy link
Author

@CommanderStorm this is ready for the final review. We'll make a PR for the wiki once this is merged. Let me know if there's anything that needs to be changed. Thanks.

For the ping I noticed that the Numeric Output has no influence on the output in the UI so I did not include it for Globalping's Ping
chrome_2025-10-14_12-58-55

@radulucut radulucut changed the title feat: add Globalping support [WIP] feat: add Globalping support Oct 14, 2025
@CommanderStorm CommanderStorm marked this pull request as ready for review October 14, 2025 14:40
@CommanderStorm CommanderStorm added the pr:needs review this PR needs a review by maintainers or other community members label Oct 15, 2025
@jimaek
Copy link

jimaek commented Oct 18, 2025

Let us know if there is anything we can do to help the review go smoother!

Copy link
Collaborator

@CommanderStorm CommanderStorm left a comment

Choose a reason for hiding this comment

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

Given the size of the PR, I will need to part time this one, but as this is +1k lines, I think this is understandable.
In this PR, I reviewed the backend and the frontend will be another Review.

I have to say, I am very positively suppried by the level of depth you went for. There are a lot of places which I would have missed on this one.

For the backend, please move the DNS monitor to another PR, I don't think that integrates well against our existing internal API and might need either splitting or a better API.

@CommanderStorm
Copy link
Collaborator

CommanderStorm commented Oct 19, 2025

@jimaek
if possible, could you review if the UI matches what you would like messaging wise by either:

  • seeing the translation strings for a more compact reivew
  • or by fully test-driving it and seeing the helptexts/.. in action via npx kuma-pr radulucut:feature/add-globalping-support

I am not entirely sure what you and Radu's relationship is, if you are both working for/on the JSDeliver, feel free to ignore

@jimaek
Copy link

jimaek commented Oct 19, 2025

Yep we're working together on Globalping. So I already tested his PR before he sent it. We tried to prepare a polished experience

Thanks for the feedback, we will start working on it shortly 😃

Copy link
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 adds support for Globalping, a free network testing service that provides access to thousands of community-hosted probes worldwide. The implementation introduces a new "globalping" monitor type supporting ping and HTTP(s) measurement subtypes, with configurable location targeting, protocol selection, and comprehensive HTTP options including authentication and response validation.

Key Changes

  • Added new globalping monitor type with ping and http subtypes, including location-based probe selection
  • Implemented UI components for configuring Globalping monitors with location targeting, IP family selection, and protocol options
  • Added Globalping API token management in general settings with usage limit information

Reviewed Changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/pages/EditMonitor.vue Added Globalping monitor configuration UI including subtype selection, location targeting, protocol options, and HTTP-specific settings
src/pages/Details.vue Added display formatting for Globalping monitor details including URL/hostname and location
src/lang/en.json Added localization strings for Globalping-related UI elements and help text
src/components/settings/General.vue Added Globalping API token input field in general settings
server/util-server.js Extracted shared utilities for Base64 encoding and certificate expiry notifications
server/uptime-kuma-server.js Registered GlobalpingMonitorType in monitor type registry
server/server.js Added support for saving Globalping-specific monitor properties (subtype, location, protocol)
server/notification-providers/notification-provider.js Added Globalping monitor address extraction for notifications
server/monitor-types/globalping.js Implemented Globalping monitor type with ping and HTTP measurement logic
server/model/monitor.js Updated Monitor model to use shared utilities and support Globalping-specific properties
package.json Added globalping npm package dependency
db/knex_migrations/2025-10-06-0000-add-globalping-monitor.js Database migration to add subtype, location, and protocol columns

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

Copilot AI review requested due to automatic review settings October 27, 2025 19:33
Copy link
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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@jimaek
Copy link

jimaek commented Oct 31, 2025

Hey, let us know if there's anything missing! And we can prepare the separate DNS PR as well

Copy link
Contributor

@lupaulus lupaulus left a comment

Choose a reason for hiding this comment

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

Big PR, for me adding the new fields is fine, but you need to add the globalping verification condition. If tomorrow this subtype is used by another monitor with (ping), it would cause problems.

Similarly, you need to reduce the complexity of certain functions by breaking them down and adding tests, particularly for the response verification part.

If you can send a test apikey it would be nice to test.

Copilot AI review requested due to automatic review settings November 5, 2025 10:27
@radulucut radulucut force-pushed the feature/add-globalping-support branch from 989b1d4 to 1f2159f Compare November 5, 2025 10:27
Copy link
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

Copilot reviewed 13 out of 14 changed files in this pull request and generated 5 comments.

@CommanderStorm
Copy link
Collaborator

Sorry for the long review times on this one, my real work is being quite buisy the last few weeks

@jimaek
Copy link

jimaek commented Nov 5, 2025

No worries. Just let us know when it looks good and we can send the separate DNS PR as well.

@CommanderStorm
Copy link
Collaborator

Yes, separate PR would be nice.
But lets do this PR first, otherwise it is more work for you to merge/rebase. 😉

@radulucut
Copy link
Author

@CommanderStorm let me know if there's anything else. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:needs review this PR needs a review by maintainers or other community members

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants