dns-tool
dns-tool copied to clipboard
Give users the ability to "auto-refresh and notify on change" for a domain
I think a common scenario for DNS lookup is a user who has just purchased a domain or changed nameserver settings in an admin panel, and is looking for confirmation that everything propagated correctly.
Give users an in-browser feature that allows them to leave the tab open and "poll" for updates to the DNS record, and either push a browser notification, play an alert sound, or change the page title to alert them when a change is detected.
If we wanted to take this more server-side, we could look into the viability of doing long-term subscription notifications for DNS changes?
Obviously, keeping this all client-side makes it so much easier from the development aspect.
yeah I was just thinking more about how it would work, it would be much simpler client-side, but it would be important to make it clear that the user must leave the tab open to get notified, that feels a little janky
I'm not sure how we should do this. For the client, it's pretty simple (we can just refresh that by calling a function), but for ongoing notifications about it, should we use an email subscription or something like that?
I think making this server-side would be better. I think that would be the more common use-case where users want long-term monitoring of their DNS records, not short-term whilst they have a tab open.
It is was short-term, it may also lead the user to believe that a DNS change notified via the site indicates that it has propagated to their local system, which it may not have done if Cf picked up the change faster. With long-term tracking, this would be implied as much.
@JakeMakesStuff Server-side, we could possibly make use of workers to use Chrome's PWA push notifications: https://developers.google.com/web/ilt/pwa/introduction-to-push-notifications
However, I think more users would expect mail notifications, which is probably easier and more sensible to implement.
@ruf-io @MattIPv4
For both, we'd need a server-side environment. Should I convert this prototype into a node.js server which serves static content (index.html/core.js) but that we can add tasks/endpoints to?
Personally, for now, I think it best that we focus on this being a client-side only tool as it makes it far easier to build, run & maintain.
I think this may be something to treat as a further development idea once we have the product launched.
Closing as this tool remains client-side only.