aboutsummaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)Author
2020-01-20Fix SQLite CONCAT used for search (#2777)Gravatar Alexandre Alapetite
Used e.g. for searches `inurl:xxx` Co-authored-by: Marien Fressinaud <dev@marienfressinaud.fr>
2020-01-20Fix 'dateAdded()' getter (#2774)Gravatar Julien-Pierre Avérous
Be homogeneous in field used, to prevent weird behavior in the future.
2020-01-18[API, extension] Use 'dateAdded()' to forge 'crawlTimeMsec' & ↵Gravatar Julien-Pierre Avérous
'timestampUsec' field in greader API. (#2773) - Add the ability to customize 'dateAdded()', so an extension can change it if needed.
2020-01-17fix: #2701 Fix look of authors (#2771)Gravatar Marien Fressinaud
This fix makes the authors part of the "title item", so it's not considered as another block. This is not perfect since authors will disappear on small screens, but we can discuss of putting titles on multi-lines (see https://github.com/FreshRSS/FreshRSS/issues/2344)
2020-01-16Show Favorites as Unread (#2766)Gravatar Offerel
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> Co-authored-by: Marien Fressinaud <dev@marienfressinaud.fr>
2020-01-16fix: Make sure to have user conf in hasAccess (#2769)Gravatar Marien Fressinaud
The `FreshRSS_Auth::hasAccess` method is called during auth initialization (`app/FreshRSS.php:78`), only for `user#create` action. However, at this step, the `user` configuration namespace hasn't be initialized yet, and so users weren't able to register because of the exception... quite critical!
2020-01-16[fix] Correct default view for label (#2767)Gravatar Frans de Jonge
While testing <https://github.com/FreshRSS/FreshRSS/pull/2766> I noticed that clicking the label activated the wrong dropdown.
2020-01-06Add an admin flag on users (#2709)Gravatar Alexis Degrugillier
Now FRSS supports more than one admin. Admins have the same rights as the default user. Admins can promote or demote other users. The default user is considered as an admin even if it does not have the admin flag enabled. See #2096
2020-01-04Fix wrong getHeader refactoring (#2749)Gravatar Alexandre Alapetite
* Fix wrong getHeader refactoring Fix regression introduced by https://github.com/FreshRSS/FreshRSS/pull/2373 The refactoring required a call to init() even for static functions, which is most of the time not done. Removed premature abstraction of `$_SERVER`, which was the root cause of the bug. https://github.com/FreshRSS/FreshRSS/issues/2748#issuecomment-569898931 * Refactoring: Move serverIsPublic to Minz_Request * Add mitigations for wrong configurations Due to the regression, we have some existing configurations with a bad base_url * Forgot one instance
2020-01-03Fix logging environment constants (#2745)Gravatar Alexandre Alapetite
* Fix logging environment constants * COPY_LOG_TO_SYSLOG was only working when Syslog was used * FRESHRSS_ENV was not properly used to set logging level * Simplify code Always call `openlog()` even when it is not used * Always specify syslog properties https://github.com/FreshRSS/FreshRSS/pull/2745#discussion_r362207445 * $username is also needed further down * No new line in syslog
2019-12-28Fix labels dropdown not scrollable after a while (#2727)Gravatar romibi
2019-12-28Update zh-cn (i18n) (#2730)Gravatar 石渠清心
2019-12-23tec: Fix test suite (#2721)Gravatar Marien Fressinaud
* Rework the travis file to enable PHPUnit I realized that unit tests weren't executed on Travis. While working on this file to enable these tests, I started to think we could simplify it. I separated jobs so: - PHP linter and tests are only performed on PHP 7.3 - Translations are tested separatly so they can fail (it was already the case but it was hard to understand the way it was done) - PHP 5.6 only checks syntax issues - the last job checks css, js, etc. (it didn't change) PHPUnit is not executed on 5.6 because only the version 5 is available while the latest version is the 8 (https://phpunit.de/supported-versions.html). I think it's easier to read (each job is more explicit) but I'm not a Travis expert so maybe there's some room for improvements. * Fix failing tests The category `_name` regression was introduced in commit b323ed084. I wasn't able to understand when and why Search tests was wrong. The rest is about upgrade of PHPUnit.
2019-12-22tec: Allow to change CSP header from controllersGravatar Marien Fressinaud
For an extension, I needed to call a script from an external domain. Unfortunately, the CSP headers didn't allow this domain and I had to patch manually the FreshRSS FrontController for my extension. It's obviously not a long-term solution since it has nothing to do in the core of FRSS, and I don't want to apply this patch manually at each update. With this patch, I allow changing the CSP header from inside the controller actions. It allows extensions to modify headers. It's also an opportunity to remove a bit of code from the FrontController. I wasn't happy with the previous implementation anyhow. Reference: https://github.com/flusio/xExtension-Flus/commit/ed12d56#diff-ff12e33ed31b23bda327499fa6e84eccR143
2019-12-09tec: Add ~ID~ placeholder in share system (#2707)Gravatar Marien Fressinaud
I'm currently playing with a small extension to improve the email sharing system. It allows to create a message and send an email directly through FreshRSS. For that, I need to retrieve the shared article. I could use the link or the title but it would be less robust and less efficient. Reference: https://github.com/FreshRSS/FreshRSS/issues/300
2019-12-07Extend hooks (#2704)Gravatar Clemens Neubauer
It adds two new hooks to have more options for influencing with extensions.
2019-12-07Add user language displayGravatar Alexis Degrugillier
When managing users, I've added the language they selected to be able to communicate with them with the selected language (if I know it). It could be useful when managing a community or a paid service.
2019-12-04Update i18n cli tools (#2673)Gravatar Alexis Degrugillier
* Update i18n cli tools Few things were bugging me when using the cli tool for i18n. So I've modified the tools to be easier to use. First, the tool automatically adds missing keys to all languages. This way, we always have all keys in all languages. Second, the tool detects all untranslated keys and adds automatically the todo comment after the value. Third, when adding a new key, the key is pushed to all languages at once. There is no need to duplicate it manually. Thus making the duplication process obsolete. Fourth, translation and ignore keys are manipulated at the same time. Thus we don't have obsolete ignored strings anymore. * Add i18n rules I find that having the common rules in the Makefile is easier to use, as long as you know they are here. As it is self documented, people will see the new rules when using make. * Use long parameters in Makefile I find that using long parameters in scripts makes it easier to understand what's going on. So I've switched all short parameters to long one. * Format all i18n files I've used the updated version of the cli tools to have some output that can be consistently formated. This commit is a huge formating commit. Nothing was added but some comments were removed in the process.
2019-12-03Separate the update API password endpoint (#2675)Gravatar Marien Fressinaud
* Extract hashPassword method from userController * Extract and refactor fever key-related methods * Move update of API password to dedicated action * Simplify the controller by refactoring feverUtil * Add locales
2019-12-03Upgrade user management page (#2417)Gravatar Alexis Degrugillier
Before, the use of the user management page was a little bit tedious when there was many users. One must select a user to view some metrics, to update it, or to delete it. Now, the view is clearer because it shows all users at once with their metrics. I introduced a detail page that repeats the metrics but also allow to purge the user's feeds, to update or delete the user. This is the first step to make that page more useful and user-friendly. I have in mind to add a pager for when there is a lot of users, a metric to know when was the last time the user was using the application, and a flag to know if the user has admin rights. See #2096 and #2504 for ideas and inspiration
2019-12-03fix: Allow to refresh feeds if user isn't verified (#2694)Gravatar Marien Fressinaud
While I was looking at the number of articles of my users, I discovered some of them had none, while having a bunch of feeds though. I took a look at the logs generated by `app/actualize_script.php` and discovered that the script stopped strangely (in this example, "OK" for denise is expected, and more users too): ``` FreshRSS[1681]: FreshRSS Start feeds actualization... Starting feed actualization at 2019-11-29T16:37:19+00:00 Actualize alice... Actualize denise... Results: alice OK denise ``` After digging a bit, I quickly realized the script stopped always on users who didn't validate their emails. And indeed, we trigger a `Minz_Request::forward(..., true)` for these users, in the `FreshRSS` class. This function calls the `exit` function, which stops the script. This patch only allows the feed#actualize action to be executed for unverified users in order to avoid an early-`exit`. This is a quick-win solution, but I don't think it's a good one on the long term. I'll propose an alternative in another patch, later.
2019-11-27i18n german translations (#2690)Gravatar Sebastian K
started translating open todos
2019-11-26FIX email token check if not in user-config (#2686)Gravatar Purexo
* FIX email token check if not in user-config * fix missing semicolon
2019-11-21Do not obbey rel=self if WebSub is disabled (#2659)Gravatar Alexandre Alapetite
* Do not obbey rel=self if WebSub is disabled https://github.com/FreshRSS/FreshRSS/issues/2654 * Correct variable https://github.com/FreshRSS/FreshRSS/pull/2659#discussion_r347552063 * Update app/Controllers/feedController.php
2019-11-21Fix updateTagAttribute (#2682)Gravatar Alexandre Alapetite
2019-11-18Fix adding categories in MySQL 5.5 (#2672)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2670 (from https://github.com/FreshRSS/FreshRSS/pull/2335 ) Tested with MySQL 5.5.40, the oldest version on Docker Hub Debian 8.0 Jessie ships MySQL 5.5.43
2019-11-18Add log in fever api saving process (#2664)Gravatar Alexis Degrugillier
Before, there was no user log when the fever api credential saving process was failing. There was one though for the admin user but it did not appear in the interface. Now, there is a user log showing what the problem is. The admin log is still there but catch only unknown errors. See #2663
2019-11-15Fix sharing/integration (#2669)Gravatar Alexandre Alapetite
Arg, it looks like the submit button in sharing/integration page is broken in 1.15.2 :-( Fix https://github.com/FreshRSS/FreshRSS/pull/2643
2019-11-13Replace some http links with https links (#2662)Gravatar rezad
2019-11-12also put it on the title in the flux listGravatar Frans de Jonge
2019-11-12Automatic mostly-right RTL with dir="auto"Gravatar Frans de Jonge
See <https://github.com/FreshRSS/FreshRSS/issues/673#issuecomment-552802523>.
2019-11-11Sanitize UTF-8 before commiting entries (#2649)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2645
2019-11-11Fix DB optimize for MySQL (#2647)Gravatar Alexandre Alapetite
`pdo->exec()` is not appropriate for MySQL `OPTIMIZE` because `OPTIMIZE` returns some data and not only a code and then fails.
2019-11-08Rename sharing action (#2643)Gravatar Alexis Degrugillier
Before, some ad-blocker rules were preventing to display the sharing page because of its name. I've renamed that page to integration but kept every thing else identical. So it's still called sharing through out the application. If needed, this can be addressed as well. See #2509 and #2419
2019-11-06More reset default category name (#2639)Gravatar Alexandre Alapetite
Improve https://github.com/FreshRSS/FreshRSS/pull/2638
2019-11-06Fix name of default category (#2638)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2637
2019-11-06Fix database autocreate at install (#2635)Gravatar Alexandre Alapetite
* Fix database autocreate at install Several bugs prevented the auto-creation of the database in Web and CLI installs. Fix https://github.com/YunoHost-Apps/freshrss_ynh/issues/84#issuecomment-549818408 * initDb https://github.com/FreshRSS/FreshRSS/pull/2635#discussion_r343107795
2019-11-04Fix PostgreSQL size bug for uppercase (#2631)Gravatar Alexandre Alapetite
Crash for users with uppercase letters
2019-11-04Better git fetch (#2626)Gravatar Alexandre Alapetite
Related to https://github.com/FreshRSS/FreshRSS/pull/2625 If for some reasons branches have diverged:, e.g.: ``` $ git status -sb --porcelain remote ## dev...origin/dev [ahead 4, behind 1] ```
2019-11-04Default or custom OPML (#2627)Gravatar Alexandre Alapetite
* Default or custom OPML Fix https://github.com/FreshRSS/FreshRSS/issues/2075 Replaces https://github.com/FreshRSS/FreshRSS/pull/2515 https://github.com/FreshRSS/FreshRSS/issues/2514 Uses the local ./data/opml.xml if it exists, otherwise ./opml.default.xml * Better message * Move to controller
2019-11-02Git fetch+reset instead of clean+fetch+merge (#2625)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2619 Avoid potentially dangerous git clean, and use more robust fetch + reset strategy instead
2019-10-31Fix categories sorting (#2616)Gravatar Marien Fressinaud
I had a bug when some articles in a category were unread. Sometimes, filtering the category displayed all the articles, even with the "Adjust showing" option. A reasonably good guess was to look the last commits that impacted the categories and, indeed, it was introduced by the new category sorting system. The sort function (`usort`) doesn't keep the index association, which is important here. I must admit I don't understand exactly why (I didn't search), but the keys are probably used somewhere. Another fix would be to not rely on these keys anymore. The bug was introduced in 042fcd5e93884690efdd2f957ca02751958c0724 - Ref PR: https://github.com/FreshRSS/FreshRSS/pull/2592 - Ref usort: https://www.php.net/manual/en/function.usort.php - Ref uasort: https://www.php.net/manual/en/function.uasort.php
2019-10-30Update sub.php (#2615)Gravatar Quentí
2019-10-29Update link in the README (#2614)Gravatar Alexis Degrugillier
Website seems dead. Changed by repository URL. See #2613
2019-10-27[i18n] Update Dutch translation for v1.15 (#2610)Gravatar Frans de Jonge
Cf. <https://github.com/FreshRSS/FreshRSS/pull/2599>.
2019-10-27keep_max disabled by default for existing installations (#2607)Gravatar Alexandre Alapetite
Fix https://github.com/FreshRSS/FreshRSS/issues/2600 Second attempt https://github.com/FreshRSS/FreshRSS/pull/2602
2019-10-27Add a warning message for Firefox user (#2606)Gravatar Alexis Degrugillier
From version 63 and onwards, Firefox has removed the ability to add subscription services. This is a warning for deprecation on the subscription tools page. See #2100
2019-10-26[i18n] Occitan update: purge options (#2603)Gravatar Quentí
* Update sub.php * Update gen.php * Update conf.php
2019-10-26keep_max disabled by default for existing installations (#2602)Gravatar Alexandre Alapetite
https://github.com/FreshRSS/FreshRSS/issues/2600
2019-10-26Add category order (#2592)Gravatar Alexis Degrugillier
* Add category order Each category has a new 'priority' attribute. It is used to sort categories in views. Categories with the same priority are sorted alphabetically. Categories with no priority are displayed after those with one. For example, if we have the following categories: - A (priority: 2) - B (no priority) - C (priority: 1) - D (priority: 2) - E (no priority) - F (priority: 1) They will be displayed in the following order: - C - F - A - D - B - E See #190 * Shorten help text It took too much room and will not be so necessary once we have drag & drop