Commit Graph

2588 Commits

Author SHA1 Message Date
Andrew Dolgov
aeca30cb0c drop SIMPLE_UPDATE_MODE, limit housekeeping and updates to background processes 2025-05-02 13:26:58 +03:00
Andrew Dolgov
a51c1d5176 fix tasks_run never incremented 2025-05-02 13:18:48 +03:00
Andrew Dolgov
36f60b51d7 make digest sending a hourly cron job 2025-05-02 13:17:20 +03:00
Andrew Dolgov
44b5b33f3d remove synchronous usages of _purge_orphans() 2025-05-02 10:28:35 +03:00
Andrew Dolgov
a268f52de6 record task duration in seconds 2025-05-02 10:23:30 +03:00
Andrew Dolgov
6a40940ad6 split housekeeping jobs to separate scheduled tasks on longer cooldown intervals, add table to record task execution timestamps, bump schema 2025-05-02 10:17:13 +03:00
Andrew Dolgov
0520ca2226 deal with published hook in _create_published_article 2025-05-02 08:26:52 +03:00
Andrew Dolgov
5f70e41118 add plugin hooks invoked when articles get un/marked or un/published 2025-05-01 22:36:33 +03:00
wn
4ae17d0f1c Merge branch 'feature/phpstan-updates' into 'master'
PHPStan update and addressing findings

See merge request tt-rss/tt-rss!122
2025-04-30 16:34:52 +00:00
wn_
f097c5ed97 Remove an unnecessary session UID existence check in 'UserHelper::authenticate()'.
PHPStan 'if.alwaysTrue'
2025-04-27 15:13:15 +00:00
wn_
1c9fddd757 Add a PHPStan ignore for a non-issue in 'UrlHelper::fetch()'. 2025-04-27 15:05:28 +00:00
wn_
5c2c95a897 Remove unused 'PluginHost::HOOK_FORMAT_ARTICLE_CDM'.
PHPStan 'method.notFound'.
2025-04-27 14:53:53 +00:00
Andrew Dolgov
75556e2f3d Merge branch 'master' into rip-mysql 2025-04-17 14:07:26 +03:00
Andrew Dolgov
f7199a47c2 * fix 148 migration for pgsql not setting default value of ttrss_feeds.auth_pass breaking OPML import
* replace no-op migrations for mysql with 'select 1'
2025-04-17 11:51:47 +03:00
Andrew Dolgov
8cf3059951 more type hints 2025-04-14 15:31:06 +03:00
Andrew Dolgov
3c138a71a1 add deprecation notice for sql_random_function() 2025-04-14 15:27:58 +03:00
Andrew Dolgov
54e8ab7e3d update DB_TYPE deprecation notice 2025-04-14 15:24:34 +03:00
Andrew Dolgov
7e403aae92 further mysql/DB_TYPE related cleanup 2025-04-14 15:21:10 +03:00
Andrew Dolgov
b154bc7a10 initial attempt to remove mysql-related stuff from tt-rss 2025-04-14 12:59:00 +03:00
Andrew Dolgov
f9e8911727 Revert "cleanup environment variables related to global configuration after instantiating config object"
This reverts commit e4f1480453.
2025-04-08 18:38:10 +03:00
Andrew Dolgov
e4f1480453 cleanup environment variables related to global configuration after instantiating config object 2025-04-08 14:09:15 +03:00
Andrew Dolgov
17b4e98249 spaces to tabs 2025-04-08 13:52:00 +03:00
Andrew Dolgov
f00d9a18f8 if possible, automatically encrypt stored plaintext password for feed on update 2025-04-08 09:43:03 +03:00
Andrew Dolgov
eedc1460e5 support transparent encryption for feed passwords, bump schema to drop length limit of ttrss_feeds.auth_pass 2025-04-08 09:36:04 +03:00
Andrew Dolgov
25d3ce4ee8 drop SESSION-specific stuff and move encrypt/decrypt helpers to a separate class; add a command line flag to generate encryption keys 2025-04-08 08:55:44 +03:00
Andrew Dolgov
58677fc791 rename SODIUM_ENCRYPTION_KEY to SESSION_ENCRYPTION_KEY and move related stuff to Sessions class 2025-04-07 20:28:35 +03:00
Andrew Dolgov
026d68fc2d add optional encryption for stored session data using Sodium library 2025-04-07 20:09:31 +03:00
Andrew Dolgov
20ba3c67cc allow setting lifetime to 0 for session cookies 2025-04-07 07:14:01 +03:00
wn_
e1256b06ea Only use valid feed basic info from plugins. 2025-04-04 17:53:47 +00:00
Andrew Dolgov
2d041f7d28 use server-side localized formatting for matching rule to display as a tooltip (for now) 2025-03-30 20:41:50 +03:00
Andrew Dolgov
b4962b670d stop sending matched content twice for the tooltip, use smaller objects containing only regular expression and rule type 2025-03-30 20:21:06 +03:00
wn_
10c488e1d0 Strip '[\r\n\t]' from entry content during filter test.
This is to help get the content and regex match strings a bit closer.
2025-03-29 10:36:08 +00:00
Andrew Dolgov
043162b0eb enforce maximum length on resulting rule regexp match, highlight based on strings with stripped tags 2025-03-28 18:36:11 +03:00
Andrew Dolgov
42ea2ebec0 * fix filter test not returning anything for filters set for specific
feed ID
 * show content preview after first matched rule, not article beginning
 * show meaningful preview for filters matching on article link, tags,
   and author
2025-03-28 16:51:15 +03:00
Andrew Dolgov
8986a3e7ee add limited highlighting of filter test results based on matched rules 2025-03-28 07:59:46 +03:00
Andrew Dolgov
49766ab01f filter test dialog improvements:
- properly return results for filter rules matching specific feeds or
   categories
 - fix test results never returned for Uncategorized
 - show tooltip with specific word match and matched rule on resulting
   item hover
2025-03-27 22:22:34 +03:00
Andrew Dolgov
5dcb8db933 allow setting update interval in subcribe to feed dialog 2025-03-19 12:47:10 +03:00
wn_
434da183e7 Support using phrases in searches (PostgreSQL only). 2025-03-18 00:31:23 +00:00
wn_
4053af899f Some improvements in 'Feeds::_search_to_sql()'.
* Pass in the profile so some preferences can be retrieved correctly.
* Consistently use the owner UID that gets passed in (previously some session var uses).
2025-03-15 22:37:17 +00:00
Andrew Dolgov
d373c1f978 add Config::DISABLE_LOGIN_FORM to allow limiting logins to SSO providers 2025-03-14 11:43:25 +03:00
Andrew Dolgov
1fc4eed6cd Merge branch 'feature/time-comparison-gen' into 'master'
Add and use 'Db::past_comparison_qpart()'.

See merge request tt-rss/tt-rss!105
2025-03-08 11:58:11 +00:00
wn_
89b0332d38 Add and use 'Db::now_comparison_qpart()'.
This introduces a helper to build a query part comparing a field against a past datetime (determined by '$now - $some_interval'), eliminating certain boilerplate code.
2025-03-04 18:34:35 +00:00
wn_
7e335de7b8 Get rid of the 'language' session variable.
It had issues (no profile usage, only set at login), so it's cleanest to just replace its one usage with 'Prefs::get()'.
2025-03-04 02:27:28 +00:00
wn_
f8198933b1 Use the fileinfo module for favicon validation in 'RSSUtils::update_favicon()'. 2025-02-25 20:23:17 +00:00
wn_
777c2b4c97 Move filter test results HTML building to the frontend. 2025-02-15 20:39:35 +00:00
wn_
e0d9ffcbc1 Only continue filter testing when there are likely more entries to check.
Prior to this, a filter test could needlessly result in up to 100 backend requests (limit 100, max_offset 10000) when the filter's associated feeds+categories have fewer than 10000 entries.
2025-02-15 16:51:25 +00:00
wn_
a34927d184 Clean up 'Pref_Filters::testFilterDo()'.
Use ORM, drop the '5 rule' limit, etc.
2025-02-08 16:53:12 +00:00
wn_
d361c1c65d Remove now-unused 'Config::ICONS_URL'. 2025-01-26 17:21:12 +00:00
wn_
7618101e33 Reduce use of legacy 'Config::ICONS_DIR'.
Also some minor cleanup in 'API#_get_config()'.
2025-01-26 17:19:12 +00:00
wn_
5a93056c1c Fix setting a custom title when cloning a single filter. 2025-01-06 16:04:27 +00:00