Commit Graph

1700 Commits (20b56b5b237a68d69218fea7fd9a8d1a4d1f2a0f)

Author SHA1 Message Date
Andrew Dolgov 85b788709a setArticleTags: prevent duplicate tags being assigned if called twice
editTagsDlg: prevent dialot from being submitted twice
normalize_categories: filter out empty values that failed validation
4 years ago
Andrew Dolgov d06cc8267b queryFeedHeadlines: bring back DISTINCT for a limited set of columns 4 years ago
Andrew Dolgov e40b79ab33 get_article_image: return basic kind to which flavor image belongs 4 years ago
Andrew Dolgov db3fcb861b viewfeed: reintroduce timestamps, fix debugging, fix some indents 4 years ago
Andrew Dolgov 20af8d5caf queryFeedHeadlines: properly define for a few more variables 4 years ago
Andrew Dolgov 1580748c17 queryFeedHeadlines: make sure feed_check_qpart is always defined 4 years ago
Andrew Dolgov 904d5f7a3b queryFeedHeadlines: no longer select DISTINCT headlines for performance reasons (this also removes _HEADLINES_QUERY_NO_DISTINCT) 4 years ago
Andrew Dolgov e9673eb13d experimental: add optional _HEADLINES_QUERY_NO_DISTINCT to disable DISTINCT keyword in queryFeedHeadlines query 4 years ago
Andrew Dolgov 8089fcc762 feed editor: also show default value for purge interval 4 years ago
Andrew Dolgov d48460969d feed editor: show actual value of default update interval 4 years ago
Andrew Dolgov d1ee30d1ba prevent horizontal scrolling in filter editor dialog if rules are very long 4 years ago
Andrew Dolgov 328d7b55c8 URLHelper: fix E_DEPRECATED error related to idn_to_ascii() 4 years ago
John Aylward 01c0d4bbfd allow audio to be sent to client from the cache 4 years ago
JustAMacUser f782ee46ad Fix incorrect parenthesis placement in `count()`. 4 years ago
Andrew Dolgov f1fd5e8db1 mark feed as having an error if update task fails (and no last error is already stored for this feed) 4 years ago
Andrew Dolgov 935f163919 api: catchupfeed: allow passing 'mode' (optional), bump api version 4 years ago
Andrew Dolgov 4ea407f613 when auto disabling feeds based on DAEMON_UNSUCCESSFUL_DAYS_LIMIT only consider feeds with recent attempts to update (to prevent clashes with not recently logged users, etc) 4 years ago
Andrew Dolgov 38a7a1da88 hide uninteresting errors in several DOMDocument->loadHTML() invocations 4 years ago
Andrew Dolgov 8a02a728c8 add DAEMON_UNSUCCESSFUL_DAYS_LIMIT tunable (defaults to 30 days) 4 years ago
Andrew Dolgov e641547d37 set ttrss_feeds.last_successful_update as needed 4 years ago
Andrew Dolgov 15e8ee3471 housekeeping: add task to cleanup orphan feed icons 4 years ago
Andrew Dolgov 82bc740363 Logger::log - allow specifying errno
bump severity of PDO exception log messages to E_USER_WARNING
4 years ago
Andrew Dolgov 3b17c45887 exclude E_USER_NOTICE from recent events icon 4 years ago
Andrew Dolgov 23d20847a3 update_rss_feed: fallback to previous method if passthru() is not available 4 years ago
Andrew Dolgov c70e26db31 validate url: feed urlencoded() URL to filter_var() only 4 years ago
Andrew Dolgov 7c8bed0524 accept -1 as a valid exit code for per-feed update processes 4 years ago
Andrew Dolgov 335dcd3bf9 don't mention last_updated in non-zero failure error message because that's not what it means 4 years ago
Andrew Dolgov 3534b8dfa7 improve logging for per-feed update task failures 4 years ago
Andrew Dolgov 74cd60d7cc update_rss_feed: don't return as if failed on http 304 4 years ago
Andrew Dolgov d4d0e976dc update-feed: exit with non-zero exit code if update_rss_feed() failed
daemon: log if per-feed update task terminated with non-zero exit code
4 years ago
Andrew Dolgov 0761533d0a lock per-feed update processes based on feed ID to reduce possibilty
of concurrent updates
4 years ago
Andrew Dolgov 528b387563 update individual feed in a separate process to prevent PHP fatal errors
(for example, OOM) from stopping the entire batch
this should also slightly increase memory budget for update processes
4 years ago
Andrew Dolgov e993d4feb2 Merge branch 'master' of git.fakecake.org:tt-rss 4 years ago
Andrew Dolgov 71e9f70b8a search_to_sql: use per-user default language instead of hardcoded english if isn't specified explicitly 4 years ago
Andrew Dolgov d0ed7890df prev: add missing class 4 years ago
Andrew Dolgov 215f388992 move timestamp-related stuff to a separate class 4 years ago
Andrew Dolgov 05744bb474 fix updater never scheduling feeds for update if they never been updated before while having default update interval set 4 years ago
Andrew Dolgov 8fb2baecdc another hack for validation of URLs with invalid characters 4 years ago
Andrew Dolgov a897c4165b validate URLs: convert IDN to punycode before passing URL to filter_var() 4 years ago
Andrew Dolgov 6811d0bde2 use self:: in some places to invoke static methods from the same class 4 years ago
Andrew Dolgov b5710baf34 - don't fail on non-ascii characters when validating URLs
- fix IDN hostnames not being converted properly
4 years ago
Andrew Dolgov ab6aa0ad3e fix previous re: resolve_redirects 4 years ago
Andrew Dolgov 74568df4ff remove a lot of stuff from global context (functions.php), add a few helper classes instead 4 years ago
Andrew Dolgov 3dd4169b5f clarify some URL validation-related error messages 4 years ago
Andrew Dolgov 4785f21316 update_rss_feed: log effective URL after fetching
validate_url: treat scheme as case-insensitive
4 years ago
Andrew Dolgov 05ef9aac2f update URL pointing to version.json 4 years ago
Andrew Dolgov 03a337a660 add basic safe mode which doesn't load any user plugins 4 years ago
Andrew Dolgov a4525d31b2 replace FALSE with false so that static analyzer shuts up about it 4 years ago
Andrew Dolgov afa0023c51 don't try to update manually disabled feeds even if they haven't been updated before or are marked for a manual update 4 years ago
Andrew Dolgov 37f41a5246 forgotpass: use type strict comparison for reset token 4 years ago
Andrew Dolgov e3adacc588 fix several cases of Db class being invoked as wrong name (as DB) 4 years ago
Andrew Dolgov 89d53a7f49 fix typo in previous 4 years ago
Andrew Dolgov 1f79d614c4 fix OTP QR code not displayed because of CSRF token passed as a query
parameter
use type-strict comparison when validating CSRF token on the backend
4 years ago
Andrew Dolgov 9d3c794983 subscribe: allow pre-filling feed URL if passed via query string 4 years ago
Andrew Dolgov 33fdde249e pass CSRF token to opml import and feed icon replace dialogs 4 years ago
Andrew Dolgov 42b5564d1e editarticletags: load dialog via XHR 4 years ago
Andrew Dolgov 0706a328a4 handler: default base csrf_ignore() to false 4 years ago
Andrew Dolgov 0a142912d3 backend handler: require CSRF, remove obsolete code 4 years ago
Andrew Dolgov 154417d80b public/logout: require valid CSRF token 4 years ago
Andrew Dolgov cbcb10a272 Feeds: load quickaddfeed and search dialogs via XHR w/ CSRF protection 4 years ago
Andrew Dolgov 8080c525fd - backend: require CSRF token to be passed via POST
- do not leak CSRF token via GET request in feed debugger
- rework Article/redirect to use POST
4 years ago
Andrew Dolgov e670ac2ee5 require CSRF token for Article/redirect 4 years ago
Andrew Dolgov 7e50c6c4b5 - enable CSRF support earlier
- remove rpc/sanityCheck from CSRF-excluded calls
4 years ago
Andrew Dolgov 79f102c25d af_proxy_http: never print received data directly, always redirect to cached_url
cache/getUrl: basename() passed filename just in case
4 years ago
Andrew Dolgov 4a074111b5 user preferences: forbid < and > characters when changing passwords (were silently stripped on save because of clean()) 4 years ago
Andrew Dolgov da98ba662e public/subscribe: require valid CSRF token when validating the form 4 years ago
Andrew Dolgov c3d14e1fa5 - fix multiple vulnerabilities in af_proxy_http
- fix vulnerability in rewrite_relative_url() which prevented some URLs from being properly absolutized
- fetch_file_contents: validate all URLs before requesting them
- validate URLs: explicitly whitelist http and https scheme, forbid everything else
- DiskCache/cached_url: only serve whitelisted content types (images, video)
- simplify filename/URL handling code, remove and consolidate some less-used functions
4 years ago
Andrew Dolgov a922b3cc6d order_to_override_query: allow HOOK_HEADLINES_CUSTOM_SORT_OVERRIDE plugins to override built-in sorting 4 years ago
Andrew Dolgov 67f02e2aa7 properly return counters for labels with zero assigned articles
refs https://community.tt-rss.org/t/label-counter-doesnt-update-when-count-goes-down-to-zero/3766
4 years ago
Rodney Stromlund 88ced02622 Silence php 7.2 error message generated in `session_set_cookie_params`. 4 years ago
Andrew Dolgov ddf9227dc4 pluginhost: allow overriding default sort modes via HOOK_HEADLINES_CUSTOM_SORT_MAP etc 4 years ago
Andrew Dolgov dfa65e9374 move order_by to SQL override logic into a separate function 4 years ago
Andrew Dolgov 48be005774 instead of taking batch timestamp and score (?) into account, make oldest first sorting work consistently with newest first - i.e. rely on feed-provided timestamp 4 years ago
Andrew Dolgov 05a47e5cf4 OPML: export/import per-feed purge interval 4 years ago
Paco Esteban c4ee0e25a1 more int/string type mismatches on getCategories 4 years ago
Paco Esteban 3da618e0ea make sure all ints are casted (to int) on getCategories 4 years ago
fox 68b78ecd3d Merge branch 'bugfix/invalid-opml' of wn/tt-rss into master 4 years ago
Andrew Dolgov b6372a846d when exporting OPML via web UI, add user login to the filename 4 years ago
Andrew Dolgov fa653f5a43 prefs: show disabled filters properly on mysql 4 years ago
Andrew Dolgov 2996a3942f prefs: show root of filter tree as enabled so it's not grayed out 4 years ago
wn_ 614d3ac1bf Properly check if OPML file was loaded during import. 4 years ago
Andrew Dolgov c352e872e9 core: pass found enclosures to HOOK_ARTICLE_FILTER
af_redditimgur: remove enclosures if we found something to embed because it's going to be a low-res thumbnail
4 years ago
Andrew Dolgov 6eb94f1e13 better support for image srcset attributes as discussed in https://community.tt-rss.org/t/problem-with-img-srcset/3519 4 years ago
Andrew Dolgov d01ad09800 eslint-related fixes; move a few things from global context to App 4 years ago
Andrew Dolgov c8cc845d5b when removing favicon, reset its auto-refresh timer 5 years ago
Andrew Dolgov 06d2c65193 calculate_article_hash: don't die() on previous, woops 5 years ago
Andrew Dolgov 3a142cbf58 calculate_article_hash: ignore some useless or read-only fields (i.e. GUID) when calculating hash 5 years ago
Andrew Dolgov cd1f3cb8cc * store UID in article hashed GUID separately so it could be migrated cleanly to a different instance
* store resulting GUID as a JSON object so it could be extended easier if needed
5 years ago
Andrew Dolgov 7a2e9bef77 add --opml-export to update.php 5 years ago
Andrew Dolgov c275a0cd33 DiskCache: append fake file extension when sending cached files based on mime type to make saving files easier 5 years ago
Andrew Dolgov 3a4b9249a9 DiskCache: properly deal with srcset attributes 5 years ago
Andrew Dolgov 4a00f96733 remove unneeded var_dump() 5 years ago
Andrew Dolgov 6573541873 * add HOOK_ENCLOSURE_IMPORTED
* pass feed id to HOOK_FEED_PARSED
5 years ago
Andrew Dolgov 44b1f0fcc0 search: add support for label:XXX search keyword
Labels: enforce case-insensitive lookups when creating/looking for labels
5 years ago
Andrew Dolgov 1f2a721905 allow overriding built-in templates via templates.local 5 years ago
lllusion3418 ec1b0befc7 add support for video[@src] in media cache
it's a valid alternative to a source[@src] child element:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
5 years ago
lllusion3418 cdde23b4dc actually download <video> posters to media cache
video[@poster] is already supported in the rewriting logic but never
actually downloaded
5 years ago
lllusion3418 b4287a2e98 fix url rewriting for videos with poster and src
if a poster attribute was present only that would have been rewritten
and the (arguably more important) src attribute would be left as-is
5 years ago
Andrew Dolgov 208e02c47d PluginHost/save_data: use separate PDO connection to prevent issues with nested transactions 5 years ago
Andrew Dolgov bcbc5ccc78 batchSubscribe: use validationtextarea 5 years ago