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>
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
* 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
* fix: Make sure $disable_aside is initialized
There was a warning for an uninitialized variable, hidden in production
but visible in development mode.
* fix: Allow to delete account when email isn't validated
* Add an email field to the profile page
I reuse the `mail_login` from the configuration. I'm not sure if it's
useful today (I would say it was used when Persona login was available).
A good improvement would be to rename `mail_login` into `email` so it
would be more intuitive to use.
* Add boolean to the conf to force email validation
This commit only adds a configuration item.
* Add email during registration if email must be validated
* Set email token to validate when email changes
* Block access to FreshRSS if email is not validated
* Send email when address is changed
* Allow to resend the validation email
* Allow the user to change its email while blocked
* Document the email validation feature
* fixup! Allow the user to change its email while blocked
* tec: Autoload PHPMailer lib
* Validate email address format
* Add feedback on validation email resend action
* Allow to logout when user is blocked
* fix: Change default email "from"
* Reorganize i18n keys
* Complete all the locales with default english
* Hide sidebar (profile page) if email is not validated
* Check email requirements on registration
* Allow admin to specify email when creating users
* Don't check email format if value is empty
* Remove trailing comma in userController
Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
* Set PHPMailer validator to html5 before sending email
* fixup! Remove trailing comma in userController
* Less jQuery
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/2199
* Even less jQuery + global view unread title fix
* Even less jQuery
* Yet even less jQuery
* Even less jQuery
* Reduce some events
* Even less jQuery
* jQuery gone from main view
+Fixed English i18n
* Fix feed folded view
* Remove Firefox 64 workaround
Remove workaround for Gecko bug 1514498 in Firefox 64, fixed in Firefox
65
* Split to extra.js
Avoid loading unneeded JavaScript code for the main view.
+ several adjustements
* Improve CSS transition fold category
* Rewrite shortcuts
Remove library. Much faster, shorter, one listener instead of many.
Control of the shortcut context.
Fix https://github.com/FreshRSS/FreshRSS/issues/2215
* Remove debug
* Minor syntax
* Filter out unwanted shortcut modifiers
* Menu overflow fix
* Typo
* Fix unfolding in mobile view
* Remove jQuery from category.js
* Remove jQuery from Global view
* Add Nav menu to reader mode
At this point, it appears to be non-functional in reader mode.
* Add aside_feed toggle to reader view
* make init_column_categories work in reader view
* Make sidebar links redirect to proper view
* CSS to support toggleable sidebar in reader view
* remove unneeded !important
* Remove Sticky Kit
Remove sticky-kit, as functionality is unsuitable for separate scrolling.
* Remove sticky-kit load in main.js
Further removing the sticky-kit kruft
* Finish removal of references to Sticky-kit
* CSS Changes to template for Independent Scrolling
* Addition of JS and supporting CSS and html
* More CSS fixes to establish expected behavior
Should be able to scroll navbar without it being in sticky mode now.
* Fix typo in main.js
sortcut.js -> shortcut.js
* Fix unexpected tree scrolling behavior
* Change name of generic JS function
* Improve sticky-aside
* CSS changes in themes to accommodate independent Scroll
In themes where .aside's width is not the standard 300px, .tree's width must be specified to be equal to .aside
* Remove Sticky-Kit from README files
* Updates to Sticky-Aside
* Update Template to fix screwup
* Make Recalculating height actually work
* Let sidebar fill height if nav buttons aren't visible
* Make accommodating for nav buttons actually work
* update Swage theme for Independent Scroll feature
* Integrate sticky_aside into main.js
* Add Simple Scrollbar
* Patch scrollbar color for themes with dark colored asides
* Increase Visibility of scrollbar on Dark Themes
* Improve async loading, events, and performance
* CSS typo
* Fix double scrollbar on mobile
* Fix regression causing sticky to not be removed
* No $ for non-jQuery variables
* Fix strange condition + option for nice scrollbar
* Initial attempt to use css sticky
* Add stickyfill
* make the correct element sticky
* re-add incorrectly removed sidebar code
* Continue fixing mistaken deletions
* decrease frequency of recalc
* use minified version of simple-scrollbar.
* Load stickyfill instead of injecting
* put recalc back where it belongs
* re-remove script injector
* remove padding
bottom padding was causing the last item in the feed to be hidden under the nav buttons
* Manual merge of css_scrollbar
Add auto-detection of -webkit-scrollbar-thumb, otherwise fall back to
simple-scrollbar.js
* Fix Regression
Sticky recalc is still needed when using css scrollbars
* Replace method of closing dropdowns
Changed from an overlay href to a javascript solution, for better compatibility
* Remove Treepadding
Treepadding was causing dropdown menus at the bottom of the tree to be obscured.
* Undo unnecessary move of dropdown-target
* Move Dropdown Handler to a sensibleish place
* Fix light Scrollbar color not picking up on Firefox
* Minor syntax
* Minor Clarification of CSS/ patch BlueLagoon
* Change logic for native WebKit scrollbar detection
Fix
https://github.com/FreshRSS/FreshRSS/pull/2117#issuecomment-444251419
Tested with Firefox 63, Firefox 65, Chrome 71, IE11, Edge 42
* Fixes for other views
E.g. reader view
* Cleaner way of generating hash for dropdowns
* Make dropdown-toggle an actual toggle
* Prepare for CSS Scrollbars Module Level 1
* Fix regression causing my labels dropdown not to appear
* remove unneeded dropdown-close css rule
* Re-apply some lost changes
3c509989e8
* Add standard scrollbar compatibility
E.g. Firefox 64+
* Make All dropdowns click-to-close
* Remove BlueLagoon template
* Try to fix Firefox
https://github.com/FreshRSS/FreshRSS/pull/2117#discussion_r239539984
* Add CSS rules necessary for consistent function of scrollbar in Firefox
* Use inheritance to determine width
* Use overlay scrollbar where possible
* Test Reduced Listener
* Fix Firefox 62
And show subtle scrollbar even when not hovering
* Add margin at bottom
To allow opening the menus
https://github.com/FreshRSS/FreshRSS/pull/2117#issuecomment-444571218
* Minor - tab correction
* Spaces -> tabs
* Remove unneeded inheritance
* Fix indenting
* Revert bad merge
* Messy WIP to make dropdowns work
* Style Cleanup
* Break it down
* Lets try a move-it move-it
* Update p/scripts/main.js
Co-Authored-By: pattems <patrick@crandol.com>
* Update p/themes/BlueLagoon/BlueLagoon.css
Co-Authored-By: pattems <patrick@crandol.com>
* separate ALL THE THINGS
* erroneous commas
* and to or
* removing double condition that doesn't do what I want
* More breaking down
* fix var
* Fix variable name again
* Remove magic number
https://github.com/FreshRSS/FreshRSS/pull/2117#discussion_r240052598
* Suuuuper inelegant solution for dropdowns
* lets try that again
* Inelegant Fix For Dropdowns
Now with 100% more working dropdowns
* Make sidebar dropdowns work correctly?
* Fix reversion
* Make JS scrollbar always visible
* Remove unneeded CSS
Added early in this pull request, didn't get pulled out when it was obsolete
* Fix CSS removal I missed
* CSS comment update/consistency for dark themes
* Clean Up Duplicate code
* Make dropdowns properly hide
Downside: Can no longer click on header/nav buttons to close
* Strip unneeded if statement
* jshint -W018
https://github.com/FreshRSS/FreshRSS/pull/2117#discussion_r240392851
* Half-reversion to old dropdown
* make overlay href scale to sidebar width
* remove init of nonexistent method
* remove trailing tabs
* move #close href where it belongs in index.phtml
* Revert all changes to index.phtml
* remove whitespace
accidentally added in last commit
* Move var's in init_column categories
* Finish putting old style dropdowns back
* Make CSS changes to use support statements
* Cleanup Whitespace
* re-add missing class
* spaces -> tabs in main.js
* tabs -> spaces css
* Minor whitespace
* Cleanup per @Alkarex
* Second attempt to add bottom margin
https://github.com/FreshRSS/FreshRSS/pull/2117#discussion_r240820901
* Fix error in IE11
* Simple-scrollbar color match for dark themes
* Ensure fast flush of HTTP headers and HTML head
The fast flush optimisation done in
https://github.com/FreshRSS/FreshRSS/pull/1133 does not seem to work
anymore (need to check if it is related to a PHP version).
Work-around when PHP flush() is not working
Can be tested by adding a `sleep(5);` after:
ee902ee7c4/app/layout/layout.phtml (L27)
Follow-up of the performance checks of
https://github.com/FreshRSS/FreshRSS/pull/2040
* output_buffering in .user.ini for PHP CGI / FPM
* Reuse .user.ini for Docker PHP config
* Longer flush
Flush a bit later, to be compatible with the default value of 4096 for
PHP output_buffering, and thus avoid the need of tuning the value.
* Remove next prefetch
This approach was only efficient in the specific case when no change was
made (no mark-as-read, favourites, tags), and useless in the other
situations.
Removed to reduce server load.
* Remove next prefetch from JavaScript too
* Remove some preload / prefetch
While useful for the first request, those preload / prefetch hints are
slightly negative for the following requets, especially server-side,
e.g. generating one log entry in Apache, and a bit more network traffic.
* Revert mistake
* Remove comment
https://github.com/FreshRSS/FreshRSS/pull/2040#discussion_r223214915
* First draft of custom tags
https://github.com/FreshRSS/FreshRSS/issues/928https://github.com/FreshRSS/FreshRSS/issues/1367
* SMALLINT to BIGINT for id_entry
And uppercase SQL types
* Fix layout for unreads
* Start UI menu
* Change menu order
* Clean database helpers
https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r217971535
* Travis rules do not understand PostgreSQL constants
Grrr
* Tag controller + UI
* Add column attributes to tags
* Use only favicon for now, for label
* Fix styling for different themes
* Constant for maximum InnoDB index length in Unicode
https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r219052200
(I would have personnally prefered keeping the readability of a real
value instead of a constant, in this case of many SQL fields)
* Use FreshRSS_Factory::createCategoryDao
* Add view of all articles containing any tag
* Fix search in tags
* Mark as read tags
* Partial auto-update unread tags
* More auto update tag unreads
* Add tag deletion
* Do not purge tagged articles
* Minor comment
* Fix SQLite and UI bug
* Google Reader API support for user tags
Add SQL check that tag names must be distinct from category names
* whitespace
* Add missing API for EasyRSS
* Compatibility SQLite
Problematic parentheses
* Add SQL DISTINCT for cases with multiple tags
* Fix for PostgreSQL
PostgreSQL needs some additional type hint to avoid "could not determine
data type of parameter $1"
http://www.postgresql-archive.org/Could-not-determine-data-type-of-parameter-1-tp2171092p2171094.html
I've introduced shortcuts to switch between view in #1755. They have been broken by #1714.
Then I've made an ugly fix in #1758.
This change revert all changes to have something better.
See #1757
I was not happy with the previous version. I refactored everything to make it reusable.
It allows me do do more verifications and to build a tool to handle the files themselves.