-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filter "Text should not be present" (block change detection when text exists) - Empty diff triggers change detection #2548
Comments
Do you have any text to ignore in the diff? |
The ignore text is indeed the diff. I'm checking a service which produces unstable results. Sometimes it responds with a result list, sometimes it can't access it's database and responds with a error message e.g. "No results available". That error message is exactly the text I ignore as I am only interested in real result changes. |
It's quite annoying, I've hundred of watches and have configured texts to be ignored globally and per watch, I would love an option or more control on what kind of diff triggers a change. Note that I'm following changes on my changedetection instance through RSS feed. |
Can you be any more specific here? are you saying the global ignore doesnt work or? what is the problem you are seeing exactly? |
Yes that is 100% correct, it SHOULD be in the diff, "ignore text" only ignores the text when detecting the difference, ofcourse, the application should show you the whole difference |
I get notified about changes both through RSS feed and through Changedetection UI. In the RSS feed, it will result as empty content (just a link). Soe the issue is indeed that despite the ignore text feature works, we are yet notified about changes, while there is none to be shown. |
Ok. So how do I avoid triggering a change in this case? Any suggestions? |
Add the text that might change - which you want to ignore in the change detection - to the various Did you find that part in the UI? Espicially the last part? |
I don't want to ignore text. I want to block the change detection completely. I am using this one but it does not work properly: The markup of the HTML is quite simple so a Text comparison should be fine. I added both texts exactly as is and they should match and stop the change detection. Note: The last time I had the error I described was at Agust 9th, so I can't really tell if it is fixed now, or if the website I am monitoring is just more stable these days. Will get back to you on this if it happens again. |
@Noki click |
@dgtlmoon I just created a test case for you to reproduce my issue. The test page The following is the test description from the backup json:
I hope this helps you to reproduce the issue. Expected behaviour would be to only trigger a change detection if a value of the table would change, when the table is shown. |
@dgtlmoon can you reproduce the issue with my test case? |
@dgtlmoon The issue still persistrs with v0.47.03. I just activated and ran the test from above again and got identical output of empty diffs. |
@Noki thanks for the info! hmm so its like if "No Results Found" exists, then block/ignore then it switches back to the version with the table and no "No Results Found" I cant reproduce it on my end yet |
update: yes i can reproduce it :) |
I'm wondering if the bug is that it's storing the md5 checksum of the content as the new checksum (for detecting the change) even when theres a "block when text.." in place, it sure looks like it changedetection.io/changedetectionio/processors/text_json_diff/processor.py Lines 325 to 341 in ecafa27
|
@Noki can you try the |
@dgtlmoon my test is stable with |
PR: #2605 |
Describe the bug
I sometimes get change detection notifications even though the diff is empty. My notification body setting looks like this:
Whenever it happens the notification looks like this:
In addition I can't download the latest HTML snapshot:
Version
v0.46.02
To Reproduce
Can't reproduce. Can't share the check, as it contains sensitive information.
Best guess: An internal error is not handled properly. It might have to do with the "Remove elements" and "Block change-detection while text matches" features, which I both use for the check. Maybe a blocked change detection still stores data and the following run is incorrectly compared against it.
I found the following in the docker logfile:
It clearly states that the hash is different.
Expected behavior
Never send out notifications in case of an empty diff. Do not detect a change in this case.
The text was updated successfully, but these errors were encountered: