* Refactor OPML export categories
Simplify code to comply with types hints.
And renamed a property to plural.
* Automatic simplification of layout for many feeds
New advanced property to automatically simplify the layout when there are many (1k+) feeds so that FreshRSS works out of the box with 20k+ feeds scenarios https://github.com/FreshRSS/FreshRSS/pull/4347
Merge https://github.com/FreshRSS/FreshRSS/pull/4356 first.
* Allow many (20k+) feeds
Fix errors such as `SQL error listWhereRaw: ERROR: value "42926" is out of range for type smallint`
Start of UI performance improvements accordingly.
* fix Ansum theme: close X in white
* fix Mapco theme: close X in white
* move the dropdown-close outside of the list
* CSS
* bring flux elemt behind the grey background
* Update main.js
* it works
* small improvements
* Update slider.js
* fixed JS syntax
* slider.js included in main.js
* fix syntax
* delete including of slider.js
* Update extra.js
* More PHP type hints for Fever
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/4201
Related to https://github.com/FreshRSS/FreshRSS/issues/4200
* Detail
* Draft
* Progress
* More draft
* Fix thumbnail PHP type hint
https://github.com/FreshRSS/FreshRSS/issues/4215
* More types
* A bit more
* Refactor FreshRSS_Entry::fromArray
* Progress
* Starts to work
* Categories
* Fonctional
* Layout update
* Fix relative URLs
* Cache system
* Forgotten files
* Remove a debug line
* Automatic form validation of XPath expressions
* data-leave-validation
* Fix reload action
* Simpler examples
* Fix column type for PostgreSQL
* Enforce HTTP encoding
* Readme
* Fix get full content
* target="_blank"
* gitignore
* htmlspecialchars_utf8
* Implement HTML <base>
And fix/revert `xml:base` support in SimplePie e49c578817
* SimplePie upstream PR merged
https://github.com/simplepie/simplepie/pull/723
* replace div with main
* include the slider into main
* format source
* add close icon for the extension slider
* replace div with main
* Update shortcut.phtml
* fixed the nits
* Don't use Chrome or indeed Firefox on Android
Would close#1963. But I will not finish this PR because the idea that every single website on the internet should have to do this is absolutely ridiculous.
* add pwa manifest
Add a pwa manifest as defined in https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Installable_PWAs
- creates shortcuts without the browser frame
- has a splash screen
- has an independent view stack than the browser one
* update manifest as per pwabuilder.com
* add 32x32 and 48x48 icon config
* enhance manifest spec compliance
* change as per suggestions
* Update app/layout/layout.phtml
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* fix mobile icon padding
* remove screen auto rotation
* change theme color to white
* Move meta
(Should not be in the referrer condition)
* JSON HTTP cache
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* i18n: "account" added
* reordered menu + add logout in the left nav menu
* Update app/i18n/fr/gen.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* add stats menu into subscription management menu
* delete stats menu entry from dropdown menu
* Delete aside_stats.phtml
* Update aside_subscription.phtml
* use HTML5 tags #3643
added some HTML5 tags: header, main, nav
* <main> into <div>
as dicussed in the PR.
Todo: check side effects (f.e. threepaneview extension)
* fixed whitespace with tabs
* fixed more whitespaces with tabs
it was not my fault, but I fixed it
* added empty lines as wished
* Update app/views/index/global.phtml
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Update app/views/index/global.phtml
* Update app/views/index/global.phtml
* Update app/views/index/global.phtml
* Update app/views/index/global.phtml
* Update app/views/index/global.phtml
* Update app/views/index/global.phtml
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update Travis line length
* Also check whitespace in CSS files
* Fix line length ext.php
* More syntax, string templates
* Fix exclude-pattern
* Test JS files as well
Before, labels were referred to as tag which was confusing since
tags are content generated (retrieved from the feed) and label
are user generated.
Now, labels are properly named in their management page.
See #3444
* Change user query wording
There was some misunderstanding in the use of the user query feature,
probably because of the wording. I've change it to make it more obvious.
* Fix feedback when a query is bookmarked
Before, the displayed query name was not the one intended. Now, the name is the one of the current bookmark
* Document user queries
I've added a few words on how to use the user queries because it seems there was some misunderstanding. See #3219
* add two new hooks
I develop a new extension and i need 2 new hooks for it
* update EN documentation
* Correct typing errors
* Update app/views/helpers/javascript_vars.phtml
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* feature(normal) - Remember opened categories in the left menu
Session storage based implementation to remember opened categories in left menu
Issue Ref: #2248
* lib_phpQuery updates
* Updates covering feedback points and functionality fixes
* Feedback updates
* Revert "lib_phpQuery updates"
This reverts commit dcd23b9418.
* First review
Change variable name to "remember" instead of "open".
Start using localStorage instead of sessionStorage.
Simplify code.
* Simplify remember categories init function
Replace 'session' with 'local' in function names and comment
Set open categories CSS as same as when category is opened in 'active' unfold mode
* Remove URLSearchParams check in remember categories init function
* Delete open categories on login and logout
* JSHint check fix
* Second review
* Make new mode the default for new users
* Always open active category
* Reduce / simplify code
* i18n French
* Revert default value
Wait a bit more for this decision / change
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Revert https://github.com/FreshRSS/FreshRSS/pull/2913
I have not seen any difference with/without this fix, and it might be
due to the fact that is is blocked by CSP.
At least in Chrome, it generates CSP warnings.
If it should be re-introduced, see warning suggestions:
> Refused to execute inline script because it violates the following
Content Security Policy directive: "default-src 'self'". Either the
'unsafe-inline' keyword, a hash
('sha256-gcoEgwf1rABkUXPaVY2M1RH34tUHWGDn9nAAn/kGYUE='), or a nonce
('nonce-...') is required to enable inline execution. Note also that
'script-src' was not explicitly set, so 'default-src' is used as a
fallback.
* Fix nav_menu mark-as-read
#Fix https://github.com/FreshRSS/FreshRSS/issues/2905
Fix regression from https://github.com/FreshRSS/FreshRSS/pull/2588
We need info about the first item (id_max) before being able to output
nav_menu. Before https://github.com/FreshRSS/FreshRSS/pull/2588 we used
to output everything in memory before starting to produce an output. Now
that we stream the output, we need a temporary buffer until we have
received the first item/article.
* Repair loading page
* Simplify CSS
Make it work in Chrome as well
* Lint
* Partial revert
* Base max_id solely on current time
* Show subscription management button on mobile
* Show aside box-shadow on Origine only when opened
* Reduce padding of Origine posts on mobile
* Shrink stick component with long input
* Show Origine configure icons on mobile
* Show the slider full width on mobile
* Improve the look of forms on mobile
* Fix Ansum theme
* Fix BlueLagoon theme
* Fix Dark theme
* Fix Flat theme
* Fix Mapco theme
* Fix Origine-compact theme
* Fix Pafat theme
* Fix Screwdriver theme
* Fix Swage theme
* Fix Alternative-Dark theme
* Apply RTL script on themes
Co-authored-by: triatic <42704418+triatic@users.noreply.github.com>
* Loader animation while waiting for first articles
Especially useful when a slow search is being performed.
Thanks to one new flush at the right time, the left colum and top menu
will be there, waiting for the articles to come. This avoids layout
flashes (the left column used to take the full width while waiting for
articles).
For optimal use, this assumes that the deployment has a proper buffering
configuration, such as in our official Docker image (also when using
Træfik as a reverse proxy in front). Might not work just as well with
other Apache or nginx setups.
* Fix on mobile
And simplified CSS
* Properly hide the loader
It was not possible to find a position where the loading animation would
be always hidden after load, so change strategy to hide it automatically
by CSS when the actual content has arrived
* Better performance with yield
Largely decrease the time to first byte, and reduced memory consumtion.
Before, we used to make several copies in memory of the whole list of
articles before sending them to the client. Now streamed as they are
processed.
* Travis
- Add a maintenance section to be able to clear cache and force reload a feed.
- Add an icon next to path field to show a pop-up with the result of the content path.
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: Marien Fressinaud <dev@marienfressinaud.fr>