wn_
8943604aad
Change the param type for UserHelper::hash_password() $algo to appease PHPStan.
...
PHPStan was complaining in 'plugins/auth_internal/init.php' due to UserHelper::hash_password() being passed a string, rather than a UserHelper::HASH_ALGO_* constant. Just switching the param to string for now.
2021-11-14 22:44:48 +00:00
wn_
324d926eb4
Also fix the param signature for Plugin#hook_hotkey_info()
2021-11-14 22:16:16 +00:00
wn_
12f9df1066
Fix the return signature for Plugin#hook_hotkey_info()
2021-11-14 22:11:27 +00:00
wn_
6d438c5a77
Address PHPStan warning in 'classes/pref/users.php'.
2021-11-14 20:27:17 +00:00
wn_
5632d75a45
Address PHPStan warning in 'classes/pref/system.php'.
2021-11-14 20:26:21 +00:00
wn_
abab2a94e8
Address PHPStan warning in 'classes/pref/prefs.php'.
...
Also update 'select_hash' and 'select_tag' values param, which can have int or string keys.
2021-11-14 20:13:09 +00:00
wn_
b8f0627a0e
Address PHPStan warning in 'classes/pref/labels.php'.
2021-11-14 20:13:09 +00:00
Andrew Dolgov
56cf425e45
revise prototype for hook_enclosure_imported
2021-11-14 23:03:25 +03:00
wn_
9326ed605f
Address PHPStan warning in 'classes/pref/filters.php'.
2021-11-14 17:59:57 +00:00
wn_
812f5f532e
Address PHPStan warning in 'classes/mailer.php'.
2021-11-14 17:59:57 +00:00
Andrew Dolgov
931a7533ce
adjust some return types in urlhelper
2021-11-14 20:53:30 +03:00
Andrew Dolgov
afdb4b0072
set phpdoc annotations for auth_base
2021-11-14 20:26:05 +03:00
Andrew Dolgov
6bd6a14c20
revise phpdoc annotations for hook_sanitize()
2021-11-14 20:19:12 +03:00
wn_
f5c881586b
Handle potentially null link, title, etc. in FeedParser.
2021-11-14 16:59:21 +00:00
Andrew Dolgov
7988c79bd4
plugin.php: add some minor method phpdoc corrections
2021-11-14 18:05:31 +03:00
Andrew Dolgov
1b5c61ac85
userhelper: add a phpdoc variable class hint
2021-11-14 18:02:20 +03:00
Andrew Dolgov
01b39d985c
deal with the rest of warnings in plugin.php
2021-11-14 18:00:03 +03:00
Andrew Dolgov
dd7299b6d0
deal with a few more phpstan warnings re: base plugin class
2021-11-14 17:19:35 +03:00
Andrew Dolgov
55729b4bbd
fix HOOK_QUERY_HEADLINES being invoked with different argument lists, add some more phpdoc comments for base plugin class
2021-11-14 17:07:47 +03:00
Andrew Dolgov
af2f4460ce
* deal with some phpstan warnings in base plugin class
...
* arguably better hack for incompatible plugins causing E_COMPILE_ERROR
2021-11-14 16:49:10 +03:00
Andrew Dolgov
15af164f69
pluginhost: add a hack to not crash on an incompatible plugin more than once (per login) - UGLY
2021-11-14 11:50:55 +03:00
Andrew Dolgov
0a2dcacbcf
normalize some mismatching hook function definitions to match base Plugin class
2021-11-14 11:11:49 +03:00
Andrew Dolgov
81a10f69bc
deal with phpstan warnings related to base authentication modules
2021-11-14 10:48:32 +03:00
wn_
5a50c333b2
Address PHPStan warnings in 'classes/pref/filters.php'.
2021-11-14 00:59:19 +00:00
Andrew Dolgov
fe5ada7250
set some annotations on Plugin hook methods
2021-11-13 20:07:13 +03:00
Andrew Dolgov
5e34fe17a7
experimental: bring back plugin hooks to Plugin base class once (to be improved/fixed with annotations later)
2021-11-13 20:03:28 +03:00
Andrew Dolgov
618e96b793
deal with some warnings in plugins/trgm,readability and base plugin class
2021-11-13 19:55:30 +03:00
Andrew Dolgov
03d0692268
no need to duplicate annotations
2021-11-13 19:52:47 +03:00
Andrew Dolgov
37827427a2
rework previous Plugin changes as phpdoc annotations
2021-11-13 19:41:50 +03:00
Andrew Dolgov
9845d5fd15
revert all plugin base class related changes to keep compatibility with extant plugins (for the time being)
2021-11-13 19:36:26 +03:00
wn_
edd476e7fe
minor: correct $cat type in Pref_Feeds#calculate_children_count()
2021-11-13 16:00:59 +00:00
wn_
a18473e4c0
Address PHPStan warnings in 'classes/pref/feeds.php'.
2021-11-13 15:56:31 +00:00
wn_
b37a03fb31
Fix the type of Labels::update_cache()
2021-11-13 15:56:31 +00:00
Andrew Dolgov
f2323bda81
fix phpstan warnings in classes/plugin-template.php
2021-11-13 18:26:11 +03:00
Andrew Dolgov
70051742af
experimental: also don't keep base plugin template as a non-analyzed file
2021-11-13 18:21:04 +03:00
Andrew Dolgov
b381e95792
experimental: auto-generate and add all plugin hook methods to Plugin class
2021-11-13 18:18:05 +03:00
Andrew Dolgov
8a83f061bf
fix phpstan warnings in classes/sanitizer.php
2021-11-13 17:52:03 +03:00
Andrew Dolgov
a7983d475e
fix phpstan warnings in classes/api.php
2021-11-13 17:51:26 +03:00
Andrew Dolgov
77b8dc7386
fix phpstan warnings in classes/feedparser.php
2021-11-13 17:48:52 +03:00
Andrew Dolgov
45431170b6
fix phpstan warnings in classes/db/migrations.php
2021-11-13 17:31:13 +03:00
wn_
3ba8d964b6
Address PHPStan warnings in 'classes/api.php'.
2021-11-13 14:15:20 +00:00
wn_
1ec003ce35
Typing IHandler methods, typing Handler_Public, fix type of $feed_id (might be tag).
2021-11-13 14:05:48 +00:00
wn_
25775bb407
Fix type of 'check_first_id' in Feeds '_format_headlines_list'.
2021-11-13 04:16:36 +00:00
wn_
d3a81f598b
Switch class properties from PHP typing to PHPDoc for compatibility with PHP < 7.4.0
2021-11-12 21:17:31 +00:00
wn_
2c41bc7fbc
Address PHPStan warnings in 'classes/mailer.php', 'classes/opml.php', and 'classes/pluginhandler.php'.
2021-11-12 06:16:18 +00:00
wn_
9db5e402a0
Address PHPStan warnings in 'classes/rpc.php'.
...
Also a couple minor fixes in 'classes/article.php' and 'classes/labels.php'.
2021-11-12 05:42:55 +00:00
wn_
011c941e7c
Fix some PHPStan warnings in 'classes/db/migrations.php', 'classes/db/prefs.php', and 'classes/debug.php'.
2021-11-12 05:24:02 +00:00
wn_
b0eb347839
Fix a warning in 'classes/counters.php'.
2021-11-12 05:04:55 +00:00
wn_
763515de79
Address PHPStan warnings in 'classes/feeds.php'.
...
Also some minor related tweaks in other classes.
2021-11-12 04:48:06 +00:00
wn_
5606e38bff
Update signature of handler 'csrf_ignore' to include types.
2021-11-12 02:01:31 +00:00
wn_
57bf56f794
Address PHPStan warnings in 'classes/article.php'.
...
Also related changes in some other classes.
2021-11-12 01:50:40 +00:00
wn_
a0f37c3206
Address PHPStan warnings in 'classes/pluginhost.php'.
2021-11-12 00:06:00 +00:00
wn_
95277fd099
Address PHPStan warnings in 'classes/labels.php'.
2021-11-11 22:28:13 +00:00
wn_
2d5603b196
Address PHPStan warnings in 'classes/diskcache.php'.
2021-11-11 22:07:32 +00:00
wn_
50997df57a
Address PHPStan warnings in 'inclasses/digest.php'.
2021-11-11 21:46:44 +00:00
wn_
728a71150a
Fix 'TimeHelper::make_local_datetime()' (null is allowed).
2021-11-11 21:33:12 +00:00
wn_
58ea0d4339
Address PHPStan warnings in 'classes/debug.php'.
2021-11-11 21:02:06 +00:00
wn_
2e3a9098b9
Address PHPStan warnings in 'classes/userhelper.php'.
2021-11-11 20:25:13 +00:00
wn_
f704d25ab1
Address PHPStan warnings in 'classes/timehelper.php'.
2021-11-11 20:12:47 +00:00
wn_
03495c11ed
Address PHPStan warnings in 'classes/sanitizer.php'.
...
This also includes some minor tweaks to things that call 'Sanitizer::sanitize()'.
2021-11-11 19:59:25 +00:00
wn_
3f8aaffd34
Address PHPStan warnings in 'classes/rssutils.php'.
...
This also includes a minor tweak in 'update.php' to account for 'getopt()' potentially returning false (indicating failure).
2021-11-11 18:53:52 +00:00
wn_
eb068fbc47
Address PHPStan warnings in 'classes/prefs.php'.
2021-11-11 16:47:51 +00:00
wn_
14ca0f2ac0
Address PHPStan warnings in 'classes/counters.php'.
2021-11-11 12:26:30 +00:00
wn_
7a919a79d7
Fix some additional PHPStan warnings in UrlHelper.
2021-11-11 11:12:40 +00:00
wn_
4cc3374f9f
Initial go at PHPStan rule level 6.
2021-11-10 21:38:25 +00:00
Andrew Dolgov
9e8d69739f
add two helper account access levels:
...
- read only - can't subscribe to more feeds, feed updates are skipped
- disabled - can't login
define used access levels as UserHelper constants and refactor code to
use them instead of hardcoded numbers
2021-11-10 20:44:51 +03:00
wn_
9dac9c5a0d
Address PHPStan warnings in 'classes/urlhelper.php'.
...
Intentionally skipping the line 66 one for now; adding an 'is_array' check clears the warning, but there's a larger topic of how to handle an invalid '' that doesn't result in an array.
------ ---------------------------------------------------------------------
Line classes/urlhelper.php
------ ---------------------------------------------------------------------
66 Offset 'path' on array{scheme: string} in isset() does not exist.
165 Parameter #2 $associative of function get_headers expects bool, int
given.
167 Parameter #2 $associative of function get_headers expects bool, int
given.
278 Negated boolean expression is always true.
309 Negated boolean expression is always true.
------ ---------------------------------------------------------------------
2021-11-01 21:10:27 +00:00
wn_
ac5a4f5937
Address PHPStan warning in 'classes/pref/users.php'.
...
------ -------------------------------
Line classes/pref/users.php
------ -------------------------------
170 If condition is always false.
------ -------------------------------
2021-11-01 21:10:27 +00:00
wn_
a38892d5d7
Address PHPStan warning in 'classes/pref/prefs.php'.
...
------ ------------------------------------------------
Line classes/pref/prefs.php
------ ------------------------------------------------
1328 Expression on left side of ?? is not nullable.
------ ------------------------------------------------
2021-11-01 21:10:27 +00:00
wn_
8a920a16e7
Address PHPStan warnings in 'classes/pluginhost.php'.
...
------ --------------------------------------------------------------------
Line classes/pluginhost.php
------ --------------------------------------------------------------------
16 Property PluginHost::$last_registered is never read, only written.
386 If condition is always true.
------ --------------------------------------------------------------------
2021-11-01 21:10:27 +00:00
wn_
a7a59fe0e2
Address PHPStan warning in 'classes/logger/sql.php'.
...
------ --------------------------------------
Line classes/logger/sql.php
------ --------------------------------------
4 Property Logger_SQL::$pdo is unused.
------ --------------------------------------
2021-11-01 21:10:27 +00:00
wn_
72cf4f1f0d
Address PHPStan warning in 'classes/feeds.php'.
...
------ ------------------------------------
Line classes/feeds.php
------ ------------------------------------
8 Property Feeds::$params is unused.
------ ------------------------------------
2021-11-01 21:10:27 +00:00
wn_
5b17c44e70
Address PHPStan warning in 'classes/feeditem/common.php'.
...
------ ---------------------------------------------
Line classes/feeditem/common.php
------ ---------------------------------------------
194 No error to ignore is reported on line 194.
------ ---------------------------------------------
2021-11-01 21:10:27 +00:00
wn_
7d8837ca17
Address PHPStan warnings in 'classes/db.php'.
...
------ --------------------------------------------------
Line classes/db.php
------ --------------------------------------------------
7 Property Db::$link is unused.
86 Property Db::pdo (PDO) in empty() is not falsy.
------ --------------------------------------------------
2021-11-01 21:10:27 +00:00
wn_
77a98134b8
Address PHPStan warnings in 'classes/config.php'.
...
------ -----------------------------------------------------------------------
Line classes/config.php
------ -----------------------------------------------------------------------
3 Constant Config::_ENVVAR_PREFIX is unused.
177 Constant Config::_DEFAULTS is unused.
237 Property Config::$schema_version is never read, only written.
352 Property Config::$migrations (Db_Migrations) in empty() is not falsy.
------ -----------------------------------------------------------------------
2021-11-01 21:10:26 +00:00
Andrew Dolgov
76d8b1bf6f
HOOK_ARTICLE_BUTTON/HOOK_ARTICLE_LEFT_BUTTON: only try to parse markup if its actually there
2021-10-26 15:45:12 +03:00
Andrew Dolgov
933913410c
css: make plugin button container a flexbox
...
backend: pass plugin button generated code through domdocument to ensure
its correctness; set data-plugin-name attribute on children to make
them sortable via css
2021-10-24 20:11:49 +03:00
Andrew Dolgov
9f734c9050
minor phpstan tweaks
2021-10-22 13:49:08 +03:00
Andrew Dolgov
41245da8a6
pluginhost: update comments for HOOK_ constants to use phpdoc syntax; add HOOK_PRE_SUBSCRIBE
2021-10-22 13:24:10 +03:00
Philip Klempin
aead30a041
Fix undefined array key "output" when adding new label
2021-10-15 23:05:50 +00:00
Andrew Dolgov
a936e80630
OPML improvements/fixes:
...
* allow CLI import of OPML files (--opml-import)
* visualize OPML structure when importing
* add strict type hints to most OPML class methods
2021-10-15 10:06:00 +03:00
Andrew Dolgov
145fc31625
feed tree context menu: add an entry to open originating website
2021-10-10 22:08:17 +03:00
Andrew Dolgov
949e2ab4d2
properly sanitize video poster attribute
2021-09-24 08:40:06 +03:00
Andrew Dolgov
8ed927dbd2
OPML: multiple fixes
...
- remove unused integer indexes when exporting filters as JSON
- fix warning when importing filters without rules
- properly assign category IDs for category filter rules
- fix warning: check if outline attributes like xmlUrl are set before trying to use them
- fix warning: don't try to use libxml_disable_entity_loader on PHP 8
2021-09-08 09:04:15 +03:00
Andrew Dolgov
78ff7770d1
classes/opml: fix indentation; when importing, don't produce warning
...
on filters with no rules defined.
2021-09-08 08:12:13 +03:00
Andrew Dolgov
36e174750e
fix label ordering in feed tree
2021-09-02 08:21:05 +03:00
jmechnich
e8f9567d79
fix password recovery
2021-08-25 18:18:04 +02:00
Andrew Dolgov
a1173ab06a
block useless usort() E_DEPRECATED for the time being
2021-08-23 18:38:37 +03:00
Andrew Dolgov
2c931df77c
remove SELF_USER_AGENT custom constant, replaced with configurable Config::HTTP_USER_AGENT / Config::get_user_agent()
2021-08-23 10:56:31 +03:00
Andrew Dolgov
5c60254474
Pref_Feeds:calculate_children_count - fix operator precedence
2021-08-23 10:45:34 +03:00
Andrew Dolgov
0808123179
fix broken feed tree generation when categories are disabled
2021-08-18 21:02:58 +03:00
wn_
23b4152c9e
Make prefs feed search case-insensitive.
...
Previously the search query had to match lower title or feed_url (i.e. searching w/ uppercase wouldn't match).
2021-08-17 23:14:14 +00:00
wn_
992e9cd9e3
Use ORM more in 'classes/pref/feeds.php'.
2021-08-17 23:03:35 +00:00
Andrew Dolgov
73d14338ab
fix rendering of category filters on Uncategorized
2021-07-28 12:59:47 +03:00
Philip Klempin
14d57d9a14
Rewrite feed entry link as href content
2021-06-19 14:36:04 +02:00
Philip Klempin
1d4d3bc49c
Fix operator precedence
2021-06-18 12:52:29 +02:00
Andrew Dolgov
800ebd6373
revise previous a little bit more
2021-06-18 11:52:06 +03:00
Andrew Dolgov
69f261c41d
revise previous a little bit
2021-06-18 11:30:11 +03:00
Andrew Dolgov
e9c062a189
UrlHelper::rewrite_relative():
...
- support invoking specifying owner URL element/attribute
- restrict mailto/magnet/tel schemes for A href
- allow some data: base64 image types for IMG src
Sanitizer::sanitize():
- when checking href and src attributes, pass element tagname and attribute to rewrite_relative()
2021-06-18 11:20:57 +03:00
fox
34807bacd4
Merge pull request 'Skip all urls with schemes different from base_url in rewrite_relative' ( #38 ) from klempin/tt-rss:fix/mailto into master
...
Reviewed-on: https://git.tt-rss.org/fox/tt-rss/pulls/38
2021-06-17 18:51:35 +03:00
Philip Klempin
b3bedd0a94
Skip URI base on ALLOWED_RELATIVE_SCHEMES in rewrite_relative
2021-06-16 15:24:15 +02:00
Andrew Dolgov
8ed8a10965
add settings profile cloning
2021-06-16 14:24:57 +03:00
Andrew Dolgov
326850845d
UrlHelper::rewrite_relative: don't try to feed NULL to with_trailing_slash()
2021-05-21 17:10:32 +03:00
Andrew Dolgov
dff479af64
feeditem_atom: support xml:base for enclosures and entry content
...
UrlHelper::rewrite_relative: use base URL path if relative url path is not absolute (experimental)
2021-05-21 15:39:41 +03:00
Andrew Dolgov
8574532b7f
add hotkeys J/K to move between unread feeds
2021-05-20 20:32:00 +03:00
Andrew Dolgov
295fc1f88a
API: bump api level to 17
2021-05-18 16:55:00 +03:00
Andrew Dolgov
2adf364c2c
provide base configuration object in login response to skip on initial getConfig
2021-05-18 16:54:33 +03:00
Andrew Dolgov
9f6237a1b8
Merge branch 'master' of git.tt-rss.org:fox/tt-rss
2021-05-18 16:37:09 +03:00
Andrew Dolgov
57cd8acfc9
API: return custom sort types in getConfig
2021-05-18 16:36:56 +03:00
Andrew Dolgov
f423874e05
checking for PDO there is rather useless
2021-05-11 19:37:31 +03:00
Andrew Dolgov
b5a559a1a7
sanity check: in single user mode, only test for admin user if migrations have been completed
2021-05-11 19:36:25 +03:00
Jacek Tomasiak
0c38dc8456
Improve missing token check
...
Avoid "E_NOTICE (8) (classes/userhelper.php:78) Undefined index:
csrf_token" in logs.
2021-05-11 10:32:59 +02:00
Andrew Dolgov
b2f888e386
include archived articles (which lack associated feed id) when browsing by tag
2021-05-07 19:15:10 +03:00
Andrew Dolgov
86300a0ca8
add urlhelper to extract youtube video id from url
2021-05-07 07:37:27 +03:00
Oliver Haucke
cfd9e6b53b
FIX: public.php - Undefined index: feed_title
2021-04-19 10:43:30 +02:00
Andrew Dolgov
eadaaebd58
functions_enabled: trim spaces from disable_functions php ini setting
2021-04-12 11:55:19 +03:00
Andrew Dolgov
a61348e2b7
pluginhost: add profile_get/profile_set helpers
2021-04-09 14:01:30 +03:00
Andrew Dolgov
c0fba62fa0
Merge branch 'master' of git.tt-rss.org:fox/tt-rss
2021-03-29 19:48:10 +03:00
Andrew Dolgov
0acd33abe3
OTP: generate longer secrets, also make them easier to read/copy
2021-03-29 19:26:04 +03:00
wn_
5d5c034a90
Adjust quotation marks in search query before 'str_getcsv'.
...
This moves a potential first quotation mark to before the associated keyword to ensure 'str_getcsv' groups the key and value correctly. Without this 'str_getcsv' would split on potential spaces within the quoted value.
2021-03-27 00:18:05 +00:00
Andrew Dolgov
e3c51b0e6c
Revert "clip max displayed counter value to 9999 because of container node width"
...
This reverts commit c34a4c85bd
.
2021-03-23 11:51:17 +03:00
Andrew Dolgov
c34a4c85bd
clip max displayed counter value to 9999 because of container node width
2021-03-23 10:47:06 +03:00
Andrew Dolgov
0f6644880a
yet another flex feedtree attempt
2021-03-22 16:18:59 +03:00
wn_
711e8e70e0
Switch most of API to ORM
...
'updateArticle' was left as-is due to Idiorm not supporting efficient multi-row updating (i.e. it would do an UPDATE per row).
2021-03-20 14:00:53 +00:00
Andrew Dolgov
43ea36d030
prefs: allow setting email if it was previously blank
2021-03-17 19:50:04 +03:00
wn_
cd52ca80ab
Minor cleanup in 'Handler_Public->getProfiles'
2021-03-17 16:37:39 +00:00
wn_
baf3ecd4cf
Fix a couple of array index warnings in 'Handler_Public->forgotpass'
2021-03-17 16:30:17 +00:00
wn_
541a07250c
Switch 'Handler_Public->forgotpass' to ORM
2021-03-17 16:18:06 +00:00
wn_
f057c124d1
Switch 'Handler_Public->login' to ORM, fix 'Handler_Public->getProfiles'
2021-03-17 15:52:43 +00:00
wn_
7ea48f7a4b
Switch 'Handler_Public->rss' to ORM
2021-03-17 14:00:19 +00:00
wn_
b6ae280446
Switch 'Handler_Public->getProfiles' to ORM
2021-03-17 13:48:27 +00:00
wn_
401b22666d
Switch 'RSSUtils::update_basic_info' to ORM
2021-03-17 01:51:32 +00:00
Andrew Dolgov
a0e41f41a4
add svg loading indicators
2021-03-16 21:32:44 +03:00
Andrew Dolgov
44b274b6d4
remove published opml (use CLI instead)
2021-03-16 12:27:46 +03:00
JustAMacUser
39bbbef030
Fix E_NOTICE in `add_handler()`.
2021-03-15 16:20:38 -04:00
Andrew Dolgov
13210747d8
mailer: stop warning if to_name is unset (it's optional anyway)
2021-03-15 14:45:50 +03:00
Jordan Galby
3d801b1ac5
set orm and pdo mysql charset on connection
2021-03-13 17:56:52 +01:00
Andrew Dolgov
38ab3ef11c
Merge branch 'master' of git.tt-rss.org:fox/tt-rss
2021-03-13 11:22:06 +03:00
Andrew Dolgov
4ddcd54e8d
* limit progressfunction debugging to size quota exceeded notifications
...
* af_redditimgur: reparent generated iframes outside of post table
2021-03-13 11:18:59 +03:00
Philip Klempin
fa22e1bc35
Add coalescing operator to otp_enabled when changing user password
2021-03-12 20:26:24 +01:00
Andrew Dolgov
fcce1c443e
api: don't try to pass null site_url to Article::_get_image()
2021-03-12 17:15:45 +03:00
Andrew Dolgov
580eccd3da
throttle login attempts, controlled by Config::AUTH_MIN_INTERVAL
2021-03-12 09:35:01 +03:00
Andrew Dolgov
b9268fcc88
schema: add ttrss_users.last_auth_attempt
2021-03-12 09:19:50 +03:00
Andrew Dolgov
76a6060ca3
get_override_links: actually return overrides
2021-03-12 07:40:34 +03:00
Andrew Dolgov
f9a381ecca
grid: add a header icon (and a hotkey) to toggle article span entire row
2021-03-11 08:35:02 +03:00
Andrew Dolgov
27ab16b6dc
add Config::LOCAL_OVERRIDE_JS
2021-03-11 07:44:58 +03:00
Andrew Dolgov
324aef9f6f
route Logger:log() to user_error() if there's no adapter
2021-03-10 21:31:57 +03:00
Andrew Dolgov
b6033d0bbd
grid view tweaks
2021-03-10 11:44:16 +03:00
Andrew Dolgov
0b93d8d013
add hotkey to toggle grid view
2021-03-10 10:01:22 +03:00
Andrew Dolgov
ddfa39015e
experimental: add preference to show combined mode headlines as a 2 column grid
2021-03-10 08:33:56 +03:00