dgtlmoon / changedetection.io

The best and simplest free open source web page change detection, website watcher, restock monitor and notification service. Restock Monitor, change detection. Designed for simplicity - Simply monitor which websites had a text change for free. Free Open source web page change detection, Website defacement monitoring, Price change notification
https://changedetection.io
Apache License 2.0
16.69k stars 924 forks source link

[Feature] Auto update the watch-list page on a change #564

Open honsp opened 2 years ago

honsp commented 2 years ago

Version and OS v0.39.12 in docker, running on my NAS and the website opened on my second monitor

Is your feature request related to a problem? Please describe. I am using changedetection.io for detecting changes on rental portals. Very often I have the page opened on the second monitor and get a notification on my phone, and have to refresh the page to see what was triggered.

Describe the solution you'd like Automatic refresh of the page or only content, so it is visible right away what changed. Seems to be possible by just getting the next automatic time scheduled + max timeout, and refresh at that timestamp. Or other options could be a connection to the server to be notified when the state changes. Or just a configuration to automatically refresh every N minutes/seconds.

ghost commented 2 years ago

Would be a very welcome change, some users may also only use the webpage for tracking changes and don't necessarily need any notifications.

I assume that at least on Wayland it's not viable to automatically refresh a Firefox tab (without addons), you can only open a new one:

firefox -new-tab http://127.0.0.1:5000/
Emmo213 commented 1 year ago

Agreeing this would be a nice feature. For instance it always bugged me that when I hit a "Recheck" button it'll change to "Queued" but the page doesn't update once the check has been performed so I have to manually refresh to get the results.

RayBB commented 6 months ago

@dgtlmoon would you accept a vanilla JS implementation of this? or would you prefer to use any particular framework?

dgtlmoon commented 6 months ago

@RayBB I think VueJS-3 is probably the better long-term choice, the reason I havent added much real-time stuff here is that I know from experience (a lot of experience!) that it quickly slides down into something very complex

I would like

Any implementation should use some kind of promise/whatever so that only 1 request-for-update can happen at anytime, ie, all updates/clicks/functions/whatever should go into a queue, it should NOT be possible to have a train-wreck of requests (sometimes the app will pause for a few seconds entirely while the browser-steps updates etc)

that is the other thing to consider

otherwise, go for it :) it would be very very welcomed :)

dgtlmoon commented 6 months ago

The watch-table-overview to update say every 5 seconds with a little loading "stripe' across the top of the page

And by this, I mean specifically that the table should not REWRITE, it should ONLY update the existing watches in their existing order, otherwise the table will jump around like hell and be hard to read

although this could be an on/off feature in the future

dgtlmoon commented 5 months ago

@RayBB anything? :)

RayBB commented 5 months ago

I haven't had a chance to pick this up. If you or anyone else wants to go ahead. I agree doing it in Vue is probably the right choice long term but the work of getting Vue integrated into this project isn't that appealing to me. Deciding on which libraries, typescript or not, build tools, etc is an area I'm not too familiar with.