Commit Graph

864 Commits (8ecfd17973a07f2dc6a71bd8095f3113c9dab334)

Author SHA1 Message Date
dgtlmoon 6f4fd011e3
Dont rewrite/resave snapshot when its the same data, just bump the history index, saves disk space. (#1414)
2 years ago
dgtlmoon 900dc5ee78
Fetching - False alerts issue #962 - be sure to avoid triggering changedetection when checksums were the same (#1410)
2 years ago
dgtlmoon 7b8b50138b
Deleting a watch now removes the entire watch storage directory (#1408)
2 years ago
dgtlmoon 01af21f856 Use year/date in the backup snapshot zip filename instead of epoch seconds (#1377 #1407)
2 years ago
dgtlmoon f7f4ab314b
PDF text conversion - fix bug where it detected a site as a PDF file incorrectly Re #1392 #1393
2 years ago
dgtlmoon ce0355c0ad
Remove unused code (#1394)
2 years ago
dgtlmoon 0f43213d9d UI - preview page - Fix bug where playwright/chrome was system default and [preview] didnt show snapshot
2 years ago
dgtlmoon 3cdd075baf 0.40.2
2 years ago
dgtlmoon 5c617e8530 Code cleanup - remove unused import
2 years ago
dgtlmoon 1a48965ba1
UI fix - Fix logic for showing screenshot on diff page (#1379)
2 years ago
dgtlmoon 41856c4ed8
Re #1365 - Playwright - Browser "Service Workers" should be enabled by default but unset via env var PLAYWRIGHT_SERVICE_WORKERS=block (#1367)
2 years ago
dgtlmoon 0ed897c50f
New setting to allow passwordless access to your 'diff' page - perfect for sharing your diff page securely, refactored login code (#1357)
2 years ago
dgtlmoon f8e587c415
Security - Possible stored XSS in watch list - Only permit HTTP/HTTP/FTP by default - override with env var `SAFE_PROTOCOL_REGEX` (#1359)
2 years ago
dgtlmoon d47a25eb6d
Playwright - Removing old bug fix where playwright needed screenshot called twice to make the full screen screenshot be actually fullscreen (#1356)
2 years ago
dgtlmoon 9a0792d185
Fetch backend UI default fixes for VisualSelector and BrowserSteps (#1344)
2 years ago
dgtlmoon 948ef7ade4
Fix fetch UI default fetch backend option icon (#1343)
2 years ago
dgtlmoon a9431191fc 0.40.1.1
2 years ago
dgtlmoon 774451f256
Re #1328 - add `-6` flag to enable IPv6 (#1329)
2 years ago
dgtlmoon 04577cbf32 0.40.1.0
2 years ago
dgtlmoon 7048a0acbd
UI - Fix wrong logic when dealing with webdriver/playwright watch screenshot settings (#1325)
2 years ago
dgtlmoon fba719ab8d Ability for watch to use a more obvious system default fetcher (#1320)
2 years ago
dgtlmoon de15dfd80d
Reliability fix - Remove loop that could cause app to stop checking if data changes (#1313)
2 years ago
dgtlmoon 024c8d8fd5
API - Improvements, support PUT for updating existing watch, set muted state, set paused state, see https://changedetection.io/docs/api_v1/index.html (#1213)
2 years ago
dgtlmoon fab7d325f7
Data storage - Don't recreate DB if its corrupt, exit with error cleanly so operator can look into the problem (#1296)
2 years ago
jtagcat 58c7cbeac7
UI: Updating queued success message (#1285)
2 years ago
dgtlmoon 50805ca38a
IPv6 support for listening on (#1267)
2 years ago
dgtlmoon fc6424c39e
Test improvements (#1264)
2 years ago
dgtlmoon f0966eb23a 0.40.0.4
2 years ago
dgtlmoon e4fb5ab4da
UI - Suggest adding proxy for watch when 403 access denied is reached (#1260)
2 years ago
dgtlmoon e99f07a51d
Filters & Notifications - fixed tokens in filter not found notification
2 years ago
dgtlmoon 08ee223b5f UI - Fix broken html tags in settings page
2 years ago
dgtlmoon 572f9b8a31 Proxy Settings in UI - TidyUp BrightData text
2 years ago
dgtlmoon fcfd1b5e10
Ability to configure extra proxies via the UI (#1235)
2 years ago
dgtlmoon 0790dd555e
Docker container updates - use Python 3.10, remove unused packages
2 years ago
dgtlmoon 0b20dc7712
Tidy up list icons a bit (#1250)
2 years ago
dgtlmoon 13c4121f52
PDF File change detection - Initial PDF fetcher support with basic text extraction (#1244)
2 years ago
dgtlmoon e8e176f3bd
Testing - Run test as fully built docker container (#1245)
2 years ago
dgtlmoon 7a1d2d924e Dark mode - system setting var is not required (its cookie based)
2 years ago
dgtlmoon c3731cf055 0.40.0.3
2 years ago
dgtlmoon a287e5a86c
Visual Selector - Select smallest/most precise element first, better filtering of zero size elements
2 years ago
dgtlmoon 235535c327
Fetching - Check the most overdue watch first (#1242)
2 years ago
dgtlmoon 44dc62da2d Overview list - Checkbox action "Recheck"
2 years ago
dgtlmoon 0c380c170f
Playwright - Better error reporting and re-try fetch on fail once (#1238)
2 years ago
dgtlmoon b7a2501d64
Fetching - Always sort the key order of JSON content for less false alerts (May cause an alert on upgrade, but will be better going forwards) #1219
2 years ago
dgtlmoon e970fef991
Fetcher + VisualSelector - xPath filter with attribute filter was breaking the element finder
2 years ago
dgtlmoon b76148a0f4
Fetcher - CPU usage - Skip processing if the previous checksum and the just fetched one was the same (#925)
2 years ago
dgtlmoon 93cc30437f
Playwright+BrowserSteps - Fetch changes - Fetch simply after page starts rendering + delay seconds, disable service workers
2 years ago
dgtlmoon f30cdf0674 0.40.0.2
2 years ago
dgtlmoon 14da0646a7
Price follower - Dont scan for ldjson data when 'no' was clicked on the suggestion (#1207)
2 years ago
dgtlmoon b413cdecc7 Adding missing parts for pip build Re #1206
2 years ago
dgtlmoon 7bf52d9275 0.40.0
2 years ago
dgtlmoon 09e6624afd VisualSelector - Exclude items that are not interactable or visible
2 years ago
dgtlmoon b58fd995b5 Automatically offer to track LD+JSON product price data (#1204)
2 years ago
dgtlmoon f7bb8a0afa UI - favicon callback no longer needed
2 years ago
dgtlmoon 3e333496c1
Test cleanups (#1196)
2 years ago
dgtlmoon 65db4d68e3
Dark mode - HTML template tidy up (#1197)
2 years ago
dgtlmoon 74d93d10c3 UI - watch tags also known as watch tag / label
2 years ago
dgtlmoon 37aef0530a Notification templates - bug in update, was updating the main system instead of the watch notification_title incorrectly
2 years ago
dgtlmoon f86763dc7a Extract data - minor improvement to example
2 years ago
dgtlmoon 13c25f9b92 Darkmode - Pause/Mute notification colour fix, re #1195
2 years ago
dgtlmoon 265f622e75
Notification - Support for standard API calls post:// posts:// get:// gets:// delete:// deletes:// put:// puts:// (#1194)
2 years ago
dgtlmoon c12db2b725
Notifications - tokens/jinja2 templating (#1184)
2 years ago
dgtlmoon a048e4a02d Dark mode - more colour fixes
2 years ago
dgtlmoon 69662ff91c
Test improvement - improving notification error network test
2 years ago
dgtlmoon fc94c57d7f
Extract text as CSV - Extra validation (#1192)
2 years ago
dgtlmoon 7b94ba6f23 Dark mode - make watch list easier to read when theres 'unviewed' entries
2 years ago
dgtlmoon 2345b6b558
New feature - Simple extract data by regex from all historical watch text into CSV (#1191)
2 years ago
dgtlmoon b8d5a12ad0 UI - Cursor over labels should be pointer
2 years ago
dgtlmoon 9e67a572c5 Dark mode - Make watches with errors easier to read
2 years ago
dgtlmoon 378d7b7362 Dark mode - cookie path should be all site
2 years ago
dgtlmoon d1d4045c49 Tweaks - adding hover/title to dark mode button
2 years ago
dgtlmoon 77409eeb3a UI - Dark Mode (#1187)
2 years ago
dgtlmoon 72222158e9 BrowserSteps - Can be shared by the watch share link
2 years ago
dgtlmoon 1814924c19 Merge branch 'master' of github.com:dgtlmoon/changedetection.io
2 years ago
dgtlmoon 8aae4197d7 UI - Make tabs hoverable
2 years ago
dgtlmoon 3a8a41a3ff
Favicon multiplatform and path fix/update (#1176)
2 years ago
dgtlmoon 64caeea491 BrowserSteps - Cleanup interface on shutdown
2 years ago
dgtlmoon 3838bff397 BrowserSteps - More work on cleaner shutdowns of browser session
2 years ago
dgtlmoon 55ea983bda BrowserSteps - Forcefully shutdown playwright to prevent any race-conditions waiting for it to shutdown
2 years ago
dgtlmoon b4d79839bf
BrowserSteps - Make the UI require an extra step so it doesnt slow down the experience when clicking through the tabs (#1175)
2 years ago
dgtlmoon 0b8c3add34 BrowserSteps - Use correct mimetype for screenshot update
2 years ago
dgtlmoon 51d57f0963
BrowserSteps - Faster screenshot updates and enable gzip compression for all content replies in the UI (#1171)
2 years ago
dgtlmoon 6d932149e3 BrowserSteps - Add 'Execute JS' step
2 years ago
dgtlmoon 2c764e8f84 BrowserSteps - Also try to find clickable div/spans
2 years ago
dgtlmoon 4624974b91 BrowserSteps - Element finder filter (offpage) should also calculate top scroll offset
2 years ago
dgtlmoon 991841f1f9 Visual Selector and BrowserSteps - More accurate element detection when the page auto-scrolls on load Re #1169
2 years ago
dgtlmoon e3db324698
Extra validation for URLs with template markup (#1166)
2 years ago
dgtlmoon 0988bef2cd Browser Steps - adding 'please wait' text while loading
2 years ago
dgtlmoon 69756f20f2 VisualSelector & BrowserSteps - Scraper improvements, remove duplicate code
2 years ago
dgtlmoon fde7b3fd97 Remove dupe xpath finder prep code
2 years ago
dgtlmoon 9d04cb014a Browsersteps 'Beta' label image path fix
2 years ago
dgtlmoon 5b530ff61c
Configurable "Browser Steps" when Playwright/Chrome is configured (enter text, scroll, wait for text, click button etc) (#478)
2 years ago
dgtlmoon 463747d3b7 0.39.22.1
2 years ago
dgtlmoon ce6c2737a8
Notification screenshot/JPEG was not being regenerated correctly (#1149)
2 years ago
dgtlmoon 943704cd04 0.39.22
2 years ago
dgtlmoon 883561f979 Fix dangling HTML tag from screenshot notification
2 years ago
dgtlmoon 35d44c8277
Notification screenshot option should only be available to webdriver/playwright watches, screenshot sent as JPEG to save bandwidth, Simplify the logic around screenshot, (#1140)
2 years ago
dgtlmoon d07d7a1b18
Minor test improvements
2 years ago
Matthias Bilger f066a1c38f
Option to attach screenshot to notification (#1127)
2 years ago
dgtlmoon d0d191a7d1 VisualFilter - check previously set filters were set before highlighting
2 years ago
dgtlmoon d7482c8d6a Add diff view option for JSON compare (comparing the fields defined on each. The order of fields, etc does not matter in this comparison.)
2 years ago
dgtlmoon bcf7417f63
Update visual text difference library, add option to ignore whitespace when viewing diff (#1137)
2 years ago
dgtlmoon df6e835035
Make VisualSelector show first available multiple selector, refactor to make more maintainable (#1132)
2 years ago
dgtlmoon ab28f20eba
Make link to notification debug log easier to find (#1130)
2 years ago
dgtlmoon a564475325 Re #1126 HIDE_REFERER setting had wrong default
2 years ago
dgtlmoon 85d8d57997
Test: Re-test under HIDE_REFERER condition, use strtobool so you can use 'False' (#1121)
2 years ago
dgtlmoon 359dcb63e3
Stability fix related to the new watch check count (#1113)
2 years ago
dgtlmoon b043d477dc
Use deepcopy to stop possible data corruption (#1108)
2 years ago
dgtlmoon 06bcfb28e5 Code- Use dict .get instead of key
2 years ago
dgtlmoon ca3b351bae
Adding a check counter to watch fetching (#1099)
2 years ago
dgtlmoon 61f0ac2937 HIDE_REFERER incompatible with password based login, added comment to code #996
2 years ago
dgtlmoon 359fc48fb4
Filters can now accept a list/multiple filters (#1064) #623
2 years ago
dgtlmoon d0efeb9770 0.39.21.1
2 years ago
dgtlmoon 3416532cd6
Playwright extension added back to Dockerfile to resolve conditional fix Alpine (musl) based systems (#1087)
2 years ago
dgtlmoon defc7a340e 0.39.21
2 years ago
dgtlmoon c197c062e1
Disable version check when pytest is running (#1084)
2 years ago
dgtlmoon 77b59809ca
Removing unused code (#1070)
2 years ago
dgtlmoon f90b170e68
Docker & python - Jq conditional pip requirements.txt include (Don't install in Windows because theres no Windows library/wheel)
2 years ago
dgtlmoon c93ca1841c
Docker & python - Use pip conditional requirements to not install playwright for ARM (unsupported on ARM) (#1067)
2 years ago
Sandro 57f604dff1
UI - Make fetch error more readable (#1038)
2 years ago
dgtlmoon 7f6a13ea6c
Re #1052 - Watch 'open' link should use any dynamic/template info (#1063)
2 years ago
dgtlmoon 9874f0cbc7 Remove accidental files
2 years ago
dgtlmoon 72834a42fd
Backups and Snapshots - Data directory now fully portable, (all paths are relative) , refactored backup zip export creation
2 years ago
dgtlmoon 724cb17224
Re #1052 - Dynamic URLs, use variables in the URL (such as the current date, the date in a month, and other logic see https://github.com/dgtlmoon/changedetection.io/wiki/Handling-variables-in-the-watched-URL ) (#1057)
2 years ago
dgtlmoon 4eb4b401a1 API - system info - allow 5 minutes grace before watch is considered 'overdue'
2 years ago
dgtlmoon 5d40e16c73
API - Adding basic system info/system state API (#1051)
2 years ago
Entepotenz 7839551d6b
Testing - Use same version of playwright while running tests as in production builds (#1047)
2 years ago
dgtlmoon 5a43a350de
History index safety check - Be sure that only valid history index lines are read (#1042)
2 years ago
Michael McMillan 3c31f023ce
Option to Hide the Referer header from monitored websites. (#996)
2 years ago
dgtlmoon 4cbcc59461 0.39.20.4
2 years ago
dgtlmoon 4be0260381
Better cross platform file handling in diff and preview (#1034)
2 years ago
dgtlmoon 957a3c1c16 0.39.20.3
2 years ago
dgtlmoon 85897e0bf9
Windows - diff file handling improvements (#1031)
2 years ago
dgtlmoon 1b077abd93 0.39.20.2
2 years ago
dgtlmoon 32ea1a8721
Windows - JQ - Make library optional so it doesnt break Windows pip installs (#1009)
2 years ago
dgtlmoon fff32cef0d
Adding test - Test the 'execute JS before changedetection' (#1006)
2 years ago
dgtlmoon 8fb146f3e4 0.39.20.1
2 years ago
dgtlmoon 669fd3ae0b
Dont use default Requests `user-agent` and `accept` headers in playwright+selenium requests, breaks sites such as united.com. (#1004)
2 years ago
dgtlmoon 17d37fb626 0.39.20
2 years ago
Yusef Ouda dfa7fc3a81
Adds support for jq JSON path querying engine (#1001)
2 years ago
dgtlmoon cd467df97a
Adding link to BrightData Proxy info (#1003)
2 years ago
dgtlmoon 71bc2fed82 Remove quotationspage default watch
2 years ago
dgtlmoon 3ebb2ab9ba Selenium fetcher - screenshot should be taken after 'wait' time, not before #873
2 years ago
dgtlmoon 3705ce6681 Render Extract Configurable Delay Seconds should also apply after executing any JS #958
2 years ago
dgtlmoon f7ea99412f Re #958 - remove change screensize, should be in 1280x720 default, was causing "Unable to retrieve content because the page is navigating and changing the content." on some sites
2 years ago
dgtlmoon d4715e2bc8
Tidy up proxies.json logic, adding tests (#955)
2 years ago
dgtlmoon 77fdf59ae3 Improve Proxy minimum time debug output
2 years ago
dgtlmoon 0e194aa4b4 Default proxy settings fixes
2 years ago
dgtlmoon 2ba55bb477
Use proxies.json instead of proxies.txt - see wiki Proxies section (#945)
2 years ago
dgtlmoon 22638399c1 0.39.19.1
2 years ago
dgtlmoon e3381776f2 Notification - code tidyup
2 years ago
dgtlmoon 26e2f21a80 Watch list & notification - Adding extra list batch operations for Mute, Unmute, Reset-to-default
2 years ago
dgtlmoon b6009ae9ff Notification - Reset defaults button should be on edit page only
2 years ago
dgtlmoon b046d6ef32 Notification watch settings - add button to make watch use defaults (empties the settings)
2 years ago
dgtlmoon e154a3cb7a Notification system update - set watch to use defaults if it is the same as the default
2 years ago
dgtlmoon 434c5813b9 0.39.19
2 years ago
dgtlmoon bd0fbaaf27
Use play and pause separate icons (#919)
2 years ago
dgtlmoon 0c111bd9ae
Further notification settings refinement (#910)
2 years ago
dgtlmoon ed9ac0b7fb
Reliability improvement - Check watch UUID exists when reporting missing path (#915)
2 years ago
dgtlmoon fefc39427b
Test improvement - Visual selector data loads as JSON (#895)
2 years ago
dgtlmoon 2c6faa7c4e
Cleaner separation of watch/global notification settings (#894)
2 years ago
dgtlmoon 6168cd2899
Code maintenance - Removing old function (#875)
2 years ago
dgtlmoon f3c7c969d8 Show screenshot age in [preview]
2 years ago
dgtlmoon 67d2441334 0.39.18
2 years ago
dgtlmoon 3c30bc02d5
More data saving pre-checks (#863)
2 years ago
dgtlmoon b1e32275dc Checkbox operations - reorder buttons for safety
2 years ago
dgtlmoon e2a6865932
UI feature - Basic checkbox/group operations (#861)
2 years ago
dgtlmoon f04adb7202
Bug fix - automatically queued watch checks weren't always being processed sequentially
2 years ago
dgtlmoon 1193a7f22c Playwright - Support proxy auth mechanisms (#859)
2 years ago
dgtlmoon 5494e61a05 Skip processing when watch was deleted
2 years ago
dgtlmoon e461c0b819
Playwright fetcher didn't report low level HTTP errors correctly (like Connection Refused) (#852)
2 years ago
dgtlmoon d67c654f37
Be sure visual-selector data is set when xPath/CSS filter is not yet found (#851)
2 years ago
dgtlmoon 06ab34b6af Visual selector data not being saved by refactor
2 years ago
dgtlmoon ba8676c4ba
'Save chrome screenshot' checkbox never used, removing, we always save the screenshot. (#844)
2 years ago
dgtlmoon 4899c1a4f9
Crash fix: Data store sub-directories werent always being created when needed (#842)
2 years ago
dgtlmoon 9bff1582f7
Make the table header easier to understand when sorting (#840)
2 years ago
dgtlmoon 269e3bb7c5
Column sorting (#838)
2 years ago
dgtlmoon 1f250aa868 Revert "don't process paused entries after queue", so we can still manually recheck a paused watch
2 years ago
dgtlmoon 1c08d9f150
Remove 'last-changed' from url-watches.json and always calculate from history index (#835)
2 years ago
dgtlmoon 9942107016
Massive improvements to error handling - show separate output for non HTTP 200 status replies
2 years ago
dgtlmoon 1eb5726cbf Execute JS should happen after waiting seconds
2 years ago
dgtlmoon f82d3b648a
Crash protection - handle the case where watch was deleted while being checked (#833)
2 years ago
dgtlmoon 034b1330d4
Don't process a watch if it was paused after being queued (#825)
2 years ago
dgtlmoon 4026575b0b 0.39.17.2
2 years ago
dgtlmoon 8c466b4826 Test fix - Remove debug from test
2 years ago
dgtlmoon 6f072b42e8
Security update - Password could be unset from settings form unexpectedly (#808)
2 years ago
dgtlmoon e318253f31 Disable SIGCHLD Handler for now - keeping SIGTERM for DB writes
2 years ago
dgtlmoon f0f2fe94ce
Handle SIGTERM for cleaner shutdowns (#737)
2 years ago
dgtlmoon 26f5c56ba4
Remove [save & preview] button, the preview is not updated live so it can lead to confusion (#801)
2 years ago
dgtlmoon a1c3107cd6
Feature - priority queue - edited and added watches should get checked before automatically queued watches (#799)
2 years ago
dgtlmoon 8fef3ff4ab
[preview current] cleanup code and add test
2 years ago
dgtlmoon baa25c9f9e
Feature - mute notifications (#791)
2 years ago
dgtlmoon 488699b7d4 Test improvement - remove unnecessary step
2 years ago
dgtlmoon cf3a1ee3e3 0.39.17.1
2 years ago
dgtlmoon daae43e9f9
Bug fix: Filter failure detection notification was interfering with change-detection results, added test case (#786)
2 years ago
dgtlmoon 3c9d2ded38 0.39.17
2 years ago
dgtlmoon 9f4364a130 Add https://discord.com/api notification hook to the automatic truncation due to Discords 2000 char limit
2 years ago
dgtlmoon 5bd9eaf99d
UI Feature - Add watch in "paused" state, saving then unpauses (#779)
2 years ago
dgtlmoon b1c51c0a65
Enhancement - support xPath text() function filter, for example "//title/text()" in RSS feeds (#778)
2 years ago
dgtlmoon 232bd92389
Bug fix - Filter "Only trigger when new lines appear" should check all history, not only the first item (#777)
2 years ago
dgtlmoon e6173357a9 Visual Selector direct element finder fix
2 years ago
dgtlmoon 1f27865fdf Filter failure notification send default enable now controlled by setting Env var
2 years ago
dgtlmoon faa42d75e0 Refactor of extract text filter - Regex, support Regex (groups) and all python regex flags via /something/aiLmsux (#773)
2 years ago
dgtlmoon 291700554e
Bug fix for alerting when xPath based filters are no longer present (#772)
2 years ago
dgtlmoon a82fad7059 Send notification when CSS/xPath filter is missing after more than 6 (configurable) attempts (#771)
2 years ago
dgtlmoon c2fe5ae0d1 mailto plaintext handling fix for 'plaintext' apprise integration
2 years ago
dgtlmoon 5beefdb7cc
Minor code cleanups
2 years ago
dgtlmoon 872bbba71c
Notifications - email - Correctly send plaintext notification email with plaintext header (#767)
2 years ago
Jonathon Sisson d578de1a35
Form text tweak - Regex clarification (#766)
2 years ago
dgtlmoon dd0eeca056 Handle simple obfuscations - HomeDepot.com style price obfuscation (#764)
2 years ago
Brandon Wees ace44d0e00
Notifications fix - Discord - added discord webhook base url to truncation rules (#753)
2 years ago
dgtlmoon 52d3d375ba removing package-lock.json - not required to be in git
2 years ago
dgtlmoon 08117089e6 Share-icon cleanups
2 years ago
dgtlmoon 2ba3a6d53f Test improvement: Extract text should return all matches
2 years ago
dgtlmoon 2f636553a9 Bug fix: RSS Feed should also announce utf-8 charset
2 years ago
Freddie Leeman 0bde48b282
Regex extract filter: Return all regex results instead of first match (#730)
2 years ago
dgtlmoon fae1164c0b
Ability to specify JS before running change-detection (#744)
2 years ago
dgtlmoon 169c293143 Playwright - log console errors to output
2 years ago
dgtlmoon 46cb5cff66 UI Improvement - Clarifying "Visual Filter" tool as "Visual Selector Filter"
2 years ago
Simo Elalj 05584ea886 Use environment variables to override new watch settings defaults (user-agent, timeout, workers) (#742)
2 years ago
dgtlmoon 15569f9592 0.39.16
2 years ago
dgtlmoon 5f9e475fe0
Fix notification apprise application name to changedetection.io #731
2 years ago
dgtlmoon 2b054ced8c
[new filter] Filter option - Trigger only when NEW content (lines) are detected ( compared to earlier text snapshots ) (#685)
2 years ago
dgtlmoon 6553980cd5
Playwright - Use HTTP Request Headers override (Cookie, etc)
2 years ago
jtagcat 7c12c47204
lang: prefer 'clear (snap) history' to 'scrub' (#721)
2 years ago
dgtlmoon dbd9b470d7
Minor diff page improvements - list should be sorted 'newest first' and no need to include the current version to compare against (#716)
2 years ago
dgtlmoon 83555a9991
bug fix: `last_changed` was being set on the first fetch, should only be set on the change after the first fetch #705
2 years ago
dgtlmoon 7da32f9ac3 New filter - Block change-detection if text matches - for example, block change-detection while the text "out of stock" is on the page, know when the text is no longer on the page (#698)
2 years ago
dgtlmoon 76996b9eb8 Some changes werent getting triggered because the previous checksum only recorded when an event occured
2 years ago
dgtlmoon fba2b1a39d Notifications regression bug in 0.39.15 - only sent the first notification URL
2 years ago
dgtlmoon 4a91505af5 Playwright screenshots - no need for high-res "bug workaround" screenshot, use lower quality/faster configurable image quality env var
2 years ago
dgtlmoon 4841c79b4c Adding extra check when updating DB on ReplyWithContentButNoText
2 years ago
dgtlmoon 2ba00d2e1d
Notifications log - log what was sent after applying all cleanups
2 years ago
dgtlmoon 19c96f4bdd Re #555 - tgram:// notifications - strip added HTML tag which is not supported by Telegram
2 years ago
dgtlmoon 82b900fbf4 Give more helpful error message when a page doesnt load
2 years ago
dgtlmoon 358a365303 Tweaks to playwright fetch code - better timeout handling
2 years ago
dgtlmoon a07ca4b136
Re #580 - New functionality - Random "jitter" delay to requests (#681)
2 years ago
dgtlmoon ba8cf2c8cf 0.39.15
2 years ago
dgtlmoon 3106b6688e Watch overview list - adding spinner to make it easier to see whats currently being 'Checked'
2 years ago
dgtlmoon 2c83845dac
Preview section - add helpful check
2 years ago
dgtlmoon 111266d6fa Send test notification - improved handling of errors
2 years ago
dgtlmoon ead610151f
Notification log - also log normal requests and make the log easier to find
2 years ago
dgtlmoon 327cc4af34 Use correct RSS CDATA handling (#662)
2 years ago
dgtlmoon 6008ff516e
Improve logging (#671)
2 years ago
dgtlmoon cdcf4b353f
New [scrub] button when editing a watch - scrub single watch history (#672)
2 years ago
dgtlmoon 1ab70f8e86 Diff + Preview - Hide date selector widget when viewing screenshots as its not yet possible to compare screenshots (but will be soon!)
2 years ago
dgtlmoon 8227c012a7 Diff + Preview - Fixing screenshot behaviour after preference change
2 years ago
dgtlmoon c113d5fb24 Screenshot handling on the diff/preview section refactor (#630)
2 years ago
dgtlmoon 8c8d4066d7 Shared watches - include "Extract text" filter
2 years ago
dgtlmoon 277dc9e1c1
Improve error message when filter not found in page result (#666)
2 years ago
dgtlmoon fc0fd1ce9d "Extract text" filter - improve placeholder example
2 years ago
dgtlmoon bd6127728a Visual selector - 'clear selection' button should clear the filter also
2 years ago
dgtlmoon 4101ae00c6
New feature - "Extract text" filter ability (#624)
2 years ago
dgtlmoon 62f14df3cb
Fixing RSS feed HTML content formatting (#662)
2 years ago
dgtlmoon 7929aeddfc
'Mark all viewed' button was missing in this version, added test also. (#652)
2 years ago
dgtlmoon 8294519f43 Content fetcher - Handle when a page doesnt load properly
2 years ago
dgtlmoon 8ba8a220b6 Playwright - Correctly close browser context/sessions on exceptions
2 years ago
dgtlmoon aa3c8a9370
Move history data to a textfile, improves memory handling (#638)
2 years ago
dgtlmoon 329c7620fb Remove UK Covid news
2 years ago
Amos (LFlare) Ng 1f974bfbb0
Visual Selector fix: Firefox compatibility - Visual Selector (#646)
2 years ago
Tim Loderhose 437c8525af
Remove group tag arbitrary length limit (#645)
3 years ago
dgtlmoon a2a1d5ae90 Distill.io import bug fix when no tags assigned to a watch (#557)
3 years ago
dgtlmoon 2566de2aae Ignore whitespace on by default
3 years ago
dgtlmoon dfec8dbb39 Visual Selector - clear events when changing tabs
3 years ago
dgtlmoon 5cefb16e52 Minor code cleanup
3 years ago
dgtlmoon 341ae24b73 Re #616 - content trigger - adding extra test (#620)
3 years ago
dgtlmoon 9d742446ab Playwright - ByPass CSP for more reliable JS scraping, disable accept downloads
3 years ago
dgtlmoon e3e022b0f4 VisualSelector - Better handling of filter targets that are no longer available in the HTML
3 years ago
dgtlmoon 7983675325 Visual Selector - be more resilient when sites interfere with the xPath scraping
3 years ago
dgtlmoon eef56e52c6 Adding new Visual Selector for choosing the area of the webpage to monitor - playwright/browserless only (#566)
3 years ago
dgtlmoon 8e3195f394 0.39.14
3 years ago
dgtlmoon e17c2121f7 Fix encoding errors with XPath filters from UTF-8 responses (#619)
3 years ago
dgtlmoon 07e279b38d
API Interface (#617)
3 years ago
dgtlmoon 2c834cfe37 Add note that changedetection is not performed on the screenshot just yet (WIP https://github.com/dgtlmoon/changedetection.io/pull/419 )
3 years ago
dgtlmoon dbb5c666f0 Fixing edit template HTML
3 years ago
dgtlmoon 70b3493866
Proxy settings on watch should have a "[ ] default" option (#610)
3 years ago
dgtlmoon 3b11c474d1
Input field tidyup (#611)
3 years ago
dgtlmoon 890e1e6dcd Update wiki link for 'More info' about sharing a watch and its configuration
3 years ago
dgtlmoon 6734fb91a2
Option to control if pages with no renderable content are a change (example: JS webapps that dont render any text sometimes) (#608)
3 years ago
dgtlmoon 16809b48f8 Playwright - raise EmptyReply on empty reply, no need to process further
3 years ago
dgtlmoon 67c833d2bc
Re #214 - configurable wait extra seconds for webdriver requests before extracting text (#606)
3 years ago
weeix 31fea55ee4
Fix PLAYWRIGHT_DRIVER_URL default value (cf. #587) (#599)
3 years ago
dgtlmoon 034507f14f
Fixing Pip install problem - Update MANIFEST to include model/ subdir, improving imports (#593)
3 years ago
dgtlmoon 0e385b1c22 0.39.13
3 years ago
dgtlmoon f28c260576
Distill.io JSON export file importer (#592)
3 years ago
dgtlmoon 18f0b63b7d
Ability to specify a list of proxies to choose from, always using the first one by default, See wiki (#591)
3 years ago
dgtlmoon 9807cf0cda Playwright - code fix
3 years ago
dgtlmoon d4b5237103 Playwright fetcher - more reliable by just waiting arbitrary seconds after the last network IO
3 years ago
dgtlmoon dc6f76ba64
Make proxy configuration more consistent - see https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration (#585)
3 years ago
dgtlmoon 1f2f93184e Playwright fetcher - use the correct default User-Agent
3 years ago
dgtlmoon 0f08c8dda3
Toggle visibility of extra requests options/settings when not in use (#584)
3 years ago
dgtlmoon 68db20168e
Add new fetch method: Playwright Chromium (Selenium/WebDriver alternative) (#489)
3 years ago
dgtlmoon 1d4474f5a3
Simplify scrub operation (simply cleans all) (#575)
3 years ago
dgtlmoon 613308881c
Bugfix - dont update record when deleted during check
3 years ago
dgtlmoon c0d0424e7e
Data storage bug fix #569
3 years ago
dgtlmoon 06517bfd22
Ability to 'Share' a watch by a generated link, this will include all filters and triggers - see Wiki (#563)
3 years ago
dgtlmoon ffc4215411 Unify MINIMUM_SECONDS_RECHECK_TIME env var variable to 60 seconds
3 years ago
dgtlmoon 9e708810d1
Seconds/minutes/hours/days between checks form field upgrade from 'minutes' only (#512)
3 years ago
dgtlmoon 1e8aa6158b Form styling improvements
3 years ago
dgtlmoon 015353eccc Form field handling improvements - fixing field list handler for empty lines
3 years ago
dgtlmoon 501183e66b Fix "Add email" button in main global notification settings
3 years ago
dgtlmoon def74f27e6 Test notification button fixed in main settings (#556)
3 years ago
dgtlmoon 37775a46c6 tgram:// be sure total notification size is always under their 4096 size limit
3 years ago
dgtlmoon e4eaa0c817
Shows which items are already in the queue, disables adding to the queue if already in the recheck queue (#552)
3 years ago
dgtlmoon 9e71f2aa35 Discord:// notification size limit - also includes the notification title
3 years ago
dgtlmoon 2a9fb12451
Import speed improvements, and adding an import URL batch size of 5,000 to stop accidental CPU overload (#549)
3 years ago
dgtlmoon 6c3c5dc28a Ability to set the default fetch mode via the DEFAULT_FETCH_BACKEND variable
3 years ago
dgtlmoon 8f062bfec9
Refactor form handling (#548)
3 years ago
dgtlmoon 380c512cc2
Adding support for change detection of HTML source-code via "source:https://website.com" prefix (#540)
3 years ago
dgtlmoon d7ed7c44ed Re-label the quick-add widget placeholder 'tag' to 'watch group'
3 years ago
dgtlmoon 34a87c0f41
HTTP Fetcher code improvements
3 years ago
dgtlmoon 4074fe53f1 Adding RSS metadata auto-discovery
3 years ago
Tristan Hill 44d599d0d1
Upgrade WTforms form handler to v3 (#523)
3 years ago
dgtlmoon 615fe9290a 0.39.12
3 years ago
dgtlmoon 2cc6955bc3
Miscellaneous settings form visual improvements (#535)
3 years ago
dgtlmoon 9809af142d
Option to render links as [Some Text ](/link), adds the ability to change-detect on hyperlink changes
3 years ago
dgtlmoon 1890881977 Specify our Discord avatar_url as default avatar_url
3 years ago
dgtlmoon 9fc2fe85d5 Minor git updates
3 years ago
dgtlmoon bb3c546838 Fix screenshot tab name
3 years ago
dgtlmoon 165f794595
Discord:// notifications should be cut to 2000 chars or Discord will not process them. (#531 + #323)
3 years ago
dgtlmoon a440eece9e Make long reports in the notification error log easier to read
3 years ago
dgtlmoon 34c83f0e7c
[Add email] button in notification settings with a prefix set from NOTIFICATION_MAIL_BUTTON_PREFIX env variable when defined. (#528)
3 years ago
dgtlmoon 63e91a3d66 Skip processing a watch into the RSS feed if there's not enough data to examine (fixes Internal Server Error when accessing the RSS feed) (#521)
3 years ago
dgtlmoon 3034d047c2
Introduce an AJAX button for sending test notifications instead of the checkbox (#519)
3 years ago
dgtlmoon 2620818ba7 Make text tab always available at default
3 years ago
dgtlmoon 9fe4f95990
When fetching a snapshot via Chrome, make the most recent screenshot available on the Diff and Preview pages (#516)
3 years ago
dgtlmoon ffd2a89d60
Remove 'unviewed' status in watch table when Diff link clicked (#514)
3 years ago
dgtlmoon 8f40f19328
RSS feed CDATA should contain difference output
3 years ago
dgtlmoon 082634f851
Fix - {diff} and {diff_full} notifications tokens were not always including the full output
3 years ago
dgtlmoon c79d6824e3
Minor UI cleanups (mobile tabs, font sizing) (#503)
3 years ago
zznidar 946377d2be Fix typo in Filters & Triggers settings. (#495)
3 years ago
zznidar 5db9a30ad4 Add autofocus attribute to password login field (#496)
3 years ago
dgtlmoon 1d060225e1 0.39.11
3 years ago
dgtlmoon 7e0f0d0fd8
Microsoft Windows installation fixes (#492)
3 years ago
dgtlmoon 942c3f021f
Allow changedetector to ignore status codes as a per-site setting (#479) (#485)
3 years ago
dgtlmoon 5483f5d694
Security update - Use CSRF token protection for forms, make "remove password" use HTTP Post (#484)
3 years ago
dgtlmoon f2fa638480
Security update - Protect against file:/// type access by webdriver/chrome. (#483)
3 years ago
dgtlmoon 3e8a15456a
Detect byte-encoding when the server mishandles the content-type header reply (#472)
3 years ago
dgtlmoon 2a03f3f57e Improving form/edit example markup
3 years ago
dgtlmoon ffad5cca97
JSON diff/preview should use utf-8 encoding where possible (#465)
3 years ago
Tim Loderhose 60a9a786e0
Fix typo in settings form
3 years ago
dgtlmoon c25294ca57 0.39.10
3 years ago
Tim Loderhose d4359c2e67
Add filter to remove elements by CSS rule from HTML before change detection is run (#445)
3 years ago
dgtlmoon 44fc804991
Minor updates to filters form text
3 years ago
dgtlmoon 7ce9e4dfc2
Testing - Refactor HTTP Request Type test (#453)
3 years ago
dgtlmoon 3cc6586695 Make table header font size the same as content
3 years ago
dgtlmoon 09204cb43f Adjust background colours
3 years ago
dgtlmoon a709122874
Handle the case where the visitor is already logged-in and tries to login again (#447)
3 years ago
dgtlmoon efbeaf9535 Make the Request Override settings easier to understand
3 years ago
dgtlmoon 1a19fba07d Minor tweak to notification token table
3 years ago
dgtlmoon eb9020c175 Style tweak to watch form
3 years ago
dgtlmoon 13bb44e4f8 Login form style fixes
3 years ago
dgtlmoon 69aec23d1d Style fix for background image relative to X-Forwarded-Prefix when running via reverse proxy subdirectory
3 years ago
dgtlmoon f85ccffe0a Merge branch 'master' of github.com:dgtlmoon/changedetection.io
3 years ago
dgtlmoon 0005131472 Re-arranging primary links so the important ones are easier to find on mobile
3 years ago
dgtlmoon 3be1f4ea44
Set authentication cookie path relative to X-Forwarded-Prefix when running via reverse proxy subdirectory (#446)
3 years ago
dgtlmoon 96664ffb10
Better text/plain detection and refactor tests (#443)
3 years ago
dgtlmoon 615fa2c5b2
Tweak support tabs and text (#440)
3 years ago
dgtlmoon fd45fcce2f
Include link to changedetection.io hosted option (#439)
3 years ago
dgtlmoon 75ca7ec504
Improved CPU usage around the loop responsible for what sites needs to be checked
3 years ago
dgtlmoon 883aa968fd 0.39.9
3 years ago
dgtlmoon 3240ed2339
Minor reliability upgrade for large datasets - retry deepcopy (#436)
3 years ago
dgtlmoon a89ffffc76
"Recheck" button should work when entry is in paused state
3 years ago
dgtlmoon fda93c3798 Better file exception handling on saving index JSON
3 years ago
dgtlmoon a51c555964 Fix small issue in highlight trigger/ignore preview page with setting the background colours, add test
3 years ago
dgtlmoon b401998030 Ensure string matching on the ignore filter is always case-INsensitive
3 years ago
dgtlmoon 014fda9058
Ability to visualise trigger and filter rules against the current snapshot on the preview page
3 years ago
Michael 85715120e2
XPath RegularExpression support
3 years ago
dgtlmoon a0e4f9b88a better checking of JSON type
3 years ago
dgtlmoon 04bef6091e
Make system level errors from the HTTP fetchers easier to find (#421)
3 years ago
dependabot[bot] 536948c8c6
Bump node-sass from 6.0.1 to 7.0.0 in /changedetectionio/static/styles (#415)
3 years ago
dgtlmoon d4f4ab306a
Dont allow redirect on login, it's safer and more reliable this way (#414)
3 years ago
dgtlmoon 8d2e240a2a When using Env. FETCH_WORKERS or WEBDRIVER_DELAY_BEFORE_CONTENT_READY , it should be type int
3 years ago
dgtlmoon d7ed479ca2 0.39.8
3 years ago
dgtlmoon f25cdf0a67
Number of fetching workers can be overriden by Env "FETCH_WORKERS" (#413)
3 years ago
dgtlmoon 5214a7e0f3 Adding Env var "WEBDRIVER_DELAY_BEFORE_CONTENT_READY" to wait n seconds before extracting the text from the browser
3 years ago
dgtlmoon eb3dca3805 Language fix "watches are rechecking." it actually puts them into an internal queue "watches are QUEUED for rechecking"
3 years ago
dgtlmoon a580c238b6 Use flask url_for() for webdriver chrome icon instead of relative path
3 years ago
dgtlmoon 22ef9afb93
Refactor tests for notification error log handler (#404)
3 years ago
dgtlmoon abaec224f6
Notification error log handler (#403)
3 years ago
dgtlmoon 14db60e518 Add notification note - tgram:// bots cant send messages to other bots, so you should specify chat ID of non-bot user.
3 years ago
dgtlmoon 8e54a17e14 /preview format doesnt need <pre> - fixing too many returnlines in content on diff/preview page
3 years ago
dgtlmoon 73101a47e7
Ability to use a generated salted password in deployments as env var SALTED_PASS (#397)
3 years ago
dgtlmoon 03f776ca45
#323 Adding note about discord:// 2000 char limit (#392)
3 years ago
dgtlmoon 39b7be9e7a
plaintext mime type fix - Don't attempt to extract HTML content from plaintext, this will remove lines and break changedetection (#391)
3 years ago
dgtlmoon 6611823962 Merge branch 'master' of github.com:dgtlmoon/changedetection.io
3 years ago
dgtlmoon c1c453e4fe .add_watch() can accept empty tag
3 years ago
Tim Loderhose 4887180671
Add option for tags on import (#377)
3 years ago
Travis Howse abe88192f4
Fix bug where diff and diff_full were switched in notification templates. (#380)
3 years ago
dgtlmoon bbc2875ef3 0.39.7
3 years ago
dgtlmoon b7ca10ebac
Scrub watch snapshot fixes
3 years ago
dgtlmoon a896493797
Simple HTTP auth (#372)
3 years ago
dgtlmoon e5fe095f16 Adding note about JS pages
3 years ago
dgtlmoon 271181968f
Notification settings defaults and validation (#361)
3 years ago
dgtlmoon 8206383ee5 Filters settings helper text tidy-up
3 years ago
dgtlmoon ecfc02ba23 Merge branch 'master' of github.com:dgtlmoon/changedetection.io
3 years ago
dgtlmoon 3331ccd061 Add test for low-level network error text handling
3 years ago
Unpublished bd8f389a65
Add API endpoint for current snapshot (#359)
3 years ago
dgtlmoon bc74227635 Clarify notice/messages around changing ignore text
3 years ago
dgtlmoon 07c60a6acc Merge branch 'master' of github.com:dgtlmoon/changedetection.io
3 years ago
dgtlmoon 7916faf58b 0.39.6
3 years ago
dgtlmoon febb2bbf0d
Heroku tweaks (backup download) (#356)
3 years ago
dgtlmoon 59d31bf76f
XPath support (#355)
3 years ago
dgtlmoon f87f7077a6
Better handling of EmptyReply exception, always bump 'last_checked' in the case of an error (#354)
3 years ago
dgtlmoon b33105d576 Re #348 - Add test for backup, use proper datastore path
3 years ago
Unpublished 023951a10e
Be sure that documents returned with a application/json header are not parsed with inscriptis (#337)
3 years ago
dgtlmoon fbd9ecab62
Re #340 - snapshot should not be modified by ignore text (#344)
3 years ago
dgtlmoon b5c1fce136
Re #133 Option for ignoring whitespacing (#345)
3 years ago
dgtlmoon 489671dcca
Re #342 notification encoding (#343)
3 years ago
dgtlmoon 0439acacbe
Adding global ignore text (#339)
3 years ago
dgtlmoon 735fc2ac8e Adding new proxyType to selenium mappings
3 years ago
Calvin Bui feb8e6c76c
Add socksVersion mapping (#331)
3 years ago
dgtlmoon a37a5038d8 Fix broken RSS link fields
3 years ago
dgtlmoon f1933b786c RSS Link links you back to the difference UI/JS page, RSS Description is the page you're watching, and RSS Title is the page you're watching
3 years ago
dgtlmoon d6a6ef2c1d Unify Filters and Triggers tabs into a single tab
3 years ago
dgtlmoon cf9554b169 Move 'request type' field to the new 'Requests' tab
3 years ago
dgtlmoon d602cf4646 Aligning call signatures #325
3 years ago
Simon Caron dfcae4ee64
Extend Request Parameters to add Body & Method (#325)
3 years ago
dgtlmoon 8ec17a4c83
Re #267 - Pass settings for the proxy setup for webdriver (#326)
3 years ago
dgtlmoon 43c9cb8b0c 0.39.5
3 years ago
dgtlmoon ce383bcd04 W3C HTML validation issue around RSS icon
3 years ago
dgtlmoon 0b0cdb101b Closes #323 adds link to wiki
3 years ago
dgtlmoon 20647ea319 improve theming docs
3 years ago
dgtlmoon 9815fc2526
RSS allow access via token (#310)
3 years ago
dgtlmoon 35d0c74454
Re #308 - Adding test and including settings in clone operation (#309)
3 years ago
Glassed Silver dd450b81ad
fixing too small font in diff UI (#260)
3 years ago
dgtlmoon 5a10acfd09
Send diff in notifications (#296)
3 years ago
dgtlmoon a7c09c8990 Fix scrub form theme
3 years ago
dgtlmoon 9235eae608 Scrub dates: Fix date regex limit handler parsing
3 years ago
dgtlmoon 5bbd82be79 Wait 60 seconds or until stop_thread is set
3 years ago
dgtlmoon 7f8c0fb2fa
Check that a notification URL is set when sending the test notification (#300)
3 years ago
Tristan Hill 489eedf34e
Flask 2 (#299)
3 years ago
dgtlmoon 3956b3fd68
Re #269 - Show current/correct BASE_URL information (#271)
3 years ago
dgtlmoon 61c1d213d0 Merge branch 'master' of github.com:dgtlmoon/changedetection.io
3 years ago
dgtlmoon e07f573f64 Re #269 - Fix env var comment name
3 years ago
ghjklw ecba130fdb
Enable Markdown and HTML notifications. (#288)
3 years ago
dgtlmoon ff6dc842c0 0.39.4 release
3 years ago
dgtlmoon 4659993ecf
Re #286 - Solving lost data/corrupted data - Tweak timing and try to write to a temp file first (#292)
3 years ago
jeremysherriff 0a29b3a582
Fix element paths when using reverse proxy subfolder (#272)
3 years ago
dgtlmoon c55bf418c5 0.39.3 release
3 years ago
dgtlmoon 4bbb7d99b6 Re #264 - fixing clone watch operation
3 years ago
dgtlmoon a8e92e2226
Re #265 - extended jsonpath support (#266)
3 years ago
dgtlmoon c17327633f Merge branch 'master' of github.com:dgtlmoon/changedetection.io
3 years ago
dgtlmoon 56d1dde7c3 Re #265 - wasnt catching the jsonpath exception due to invalid jsonpath expressions properly
3 years ago
dgtlmoon 6e4ddacaf8
Re #257 - Handle bool val of json path better (#263)
3 years ago
dgtlmoon 5d5ceb2f52 Form helper - explain where the webdriver setting comes from
3 years ago
dgtlmoon 2dc43bdfd3 version 0.39.2
3 years ago
dgtlmoon 95e39aa727
Configurable BASE_URL (#228)
3 years ago
dgtlmoon cd7df86f54
Re #242 - app was treating notification field defaults as the field value (#244)
3 years ago
dgtlmoon ca0ab50c5e
Re #239 - Individual GUID for watch+changeevent (#241)
3 years ago