mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-04-18 05:17:17 -04:00
Closes https://github.com/FreshRSS/FreshRSS/issues/8508 Changes proposed in this pull request: - Use an integer for `Feed::error` everywhere (follow up to #8646) - Extract `Entry::machineReadableDate()` into function for use in HTML templates - Add `timeago()` function that converts a unix timestamp into a "4 weeks ago" string - Show the last successful feed update, and the last erroneous update How to test the feature manually: 1. Update a feed 2. Modify the feed URL in the database and set it to a non-existing URL 3. Update the feed again 4. Open the "Manage feed" and see the expanded error message: > Blast! This feed has encountered a problem. If this situation persists, please verify that it is still reachable. > Last successful update 3 hours ago, last erroneous update 1 hour ago. You can hover the relative dates to see the timestamp. * Make Feed::error an int everywhere Related: https://github.com/FreshRSS/FreshRSS/pull/8646 * Extract timestamptomachinedate() .. for later usage in the feed error time display. * Show time since when a feed has problems We add our own "timeago" function that converts a unix timestamp into a "4 weeks ago" string. Resolves: https://github.com/FreshRSS/FreshRSS/issues/8508 * Add new translation keys * i18n fr, en-US * Minor XHTML preference * Slightly shorter rewrite, also hopefully easier to read * Rewrite to allow (simple) plural I also moved some functions around for hopefully a more generic and better structure. I made some changes for the sake of speed (e.g. second-based logic instead of datetime intervals). Note: I used automatic translation as I was worried it would be too complicated to explain to translators... I proofread the few languages I have some familiarity with. * Add reference to CLDR * Slightly more compact syntax * Always show last update, fix case of unknown error date * Remove forgotten span * No need for multi-lines anymore * Fix error date thresshold * plurals forms * Extract gettext formula conversion script to cli * Simplify a bit * Escort excess parentheses to the door * Simplify * Avoid being too clever in localization * Fix German * Fix plural TODO parsing * Ignore en-US translation * make fix-all * git update-index --chmod=+x cli/compile.plurals.php * Heredoc indent PHP 7.3+ * compileAll: Continue on error * PHP strict comparisons * Light logical simplification * Cache plural_message_families * Avoid case of empty value * A bit of documentation --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> Co-authored-by: Frans de Jonge <frans@clevercast.com> Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
90 lines
2.3 KiB
JSON
90 lines
2.3 KiB
JSON
{
|
|
"name": "freshrss.org/freshrss",
|
|
"description": "A free, self-hostable aggregator",
|
|
"type": "project",
|
|
"homepage": "https://freshrss.org/",
|
|
"license": "AGPL-3.0",
|
|
"support": {
|
|
"docs": "https://freshrss.github.io/FreshRSS/",
|
|
"issues": "https://github.com/FreshRSS/FreshRSS/issues",
|
|
"source": "https://github.com/FreshRSS/FreshRSS/"
|
|
},
|
|
"keywords": [
|
|
"news",
|
|
"aggregator",
|
|
"RSS",
|
|
"Atom",
|
|
"WebSub"
|
|
],
|
|
"require": {
|
|
"php": ">=8.1",
|
|
"ext-ctype": "*",
|
|
"ext-curl": "*",
|
|
"ext-dom": "*",
|
|
"ext-fileinfo": "*",
|
|
"ext-gmp": "*",
|
|
"ext-intl": "*",
|
|
"ext-json": "*",
|
|
"ext-libxml": "*",
|
|
"ext-mbstring": "*",
|
|
"ext-openssl": "*",
|
|
"ext-pcre": "*",
|
|
"ext-pdo": "*",
|
|
"ext-pdo_sqlite": "*",
|
|
"ext-session": "*",
|
|
"ext-simplexml": "*",
|
|
"ext-xml": "*",
|
|
"ext-xmlreader": "*",
|
|
"ext-zend-opcache": "*",
|
|
"ext-zip": "*",
|
|
"ext-zlib": "*"
|
|
},
|
|
"suggest": {
|
|
"ext-iconv": "*",
|
|
"ext-pdo_mysql": "*",
|
|
"ext-pdo_pgsql": "*"
|
|
},
|
|
"config": {
|
|
"allow-plugins": {
|
|
"phpstan/extension-installer": false
|
|
},
|
|
"platform": {
|
|
"php": "8.1"
|
|
}
|
|
},
|
|
"require-dev": {
|
|
"php": ">=8.1",
|
|
"ext-phar": "*",
|
|
"ext-tokenizer": "*",
|
|
"ext-xmlwriter": "*",
|
|
"phpstan/phpstan": "^2.1",
|
|
"phpstan/phpstan-deprecation-rules": "^2.0",
|
|
"phpstan/phpstan-phpunit": "^2.0",
|
|
"phpstan/phpstan-strict-rules": "^2.0",
|
|
"phpunit/phpunit": "^10",
|
|
"squizlabs/php_codesniffer": "^4.0"
|
|
},
|
|
"scripts": {
|
|
"php-lint": "find . -type d -name 'vendor' -prune -o -name '*.php' -print0 | xargs -0 -n1 -P4 php -l 1>/dev/null",
|
|
"phtml-lint": "find . -type d -name 'vendor' -prune -o -name '*.phtml' -print0 | xargs -0 -n1 -P4 php -l 1>/dev/null",
|
|
"phpcs": "phpcs . -s",
|
|
"phpcbf": "phpcbf . -p -s",
|
|
"phpstan": "phpstan analyse --memory-limit 512M .",
|
|
"phpstan-next": "phpstan analyse --memory-limit 512M -c phpstan-next.neon .",
|
|
"phpunit": "phpunit --bootstrap ./tests/bootstrap.php --display-notices --display-deprecations --display-phpunit-deprecations ./tests",
|
|
"compile-plurals": "php cli/compile.plurals.php --all",
|
|
"translations": "cli/manipulate.translation.php --action format && php cli/compile.plurals.php --all && cli/check.translation.php --generate-readme",
|
|
"test": [
|
|
"@php-lint",
|
|
"@phtml-lint",
|
|
"@phpunit",
|
|
"@phpcs",
|
|
"@phpstan"
|
|
],
|
|
"fix": [
|
|
"@translations",
|
|
"@phpcbf"
|
|
]
|
|
}
|
|
}
|