Commit Graph

1388 Commits

Author SHA1 Message Date
Alexandre Alapetite
cd9a9a9309 First version of batch scroll as read
Mark-as-read requests are queued and sent max once per second
2018-12-25 15:34:25 +01:00
Alexandre Alapetite
eefeb23419 jQuery ES6 partial refactoring
Prefix jQuery variables with $
Start avoiding jQuery in easy cases
Use let/const
2018-12-25 05:11:38 +01:00
Alexandre Alapetite
4888f919f1 Prepare for batch mark as read 2018-12-25 01:30:28 +01:00
Alexandre Alapetite
512d047f02 Update naming to WebSub (#2184)
Instead of PubSubHubbub / PuSH
2018-12-16 17:02:03 +01:00
Alexandre Alapetite
e0e96d6a13 Remove simple-scrollbar fallback (#2182)
https://github.com/FreshRSS/FreshRSS/pull/2181#issuecomment-447636787
2018-12-16 15:04:46 +01:00
Alexandre Alapetite
75a0b12c72 Documentation Vienna (#2126)
* Documentation Vienna / Open Reader

https://github.com/FreshRSS/FreshRSS/issues/2091
https://github.com/FreshRSS/FreshRSS/pull/2093
https://github.com/ViennaRSS/vienna-rss/issues/1197

* Remove references to Open Reader API for now
2018-12-16 14:43:32 +01:00
Alexandre Alapetite
483c698f9a JavaScript-free scrollbar (#2181)
* JavaScript-free scrollbar

Make scrollbar work without JavaScript
https://github.com/FreshRSS/FreshRSS/pull/2117#discussion_r240804225
Also implies a better support of resize scenarios.
Seems to fix at the same time the occasional glitches
https://github.com/FreshRSS/FreshRSS/pull/2117#issuecomment-447556038

* Firefox 64-66 workaround

Workaround for Gecko bug in Firefox 64-66. Avoid showing the scrollbar
all the time, at the cost of a slight reflow (therefore targetting only
Gecko).

* Improvement of Firefox workaround

* Minor comment

* Unneeded check

* Even better

* Partial Edge fix

* More margin for tree bottom
2018-12-16 12:49:23 +01:00
Patrick Crandol
983aa587ee Add aside_feed to reader view (#2180)
* 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
2018-12-15 10:56:38 +01:00
Patrick Crandol
478d3e6611 Decouple scrolling of feeds and articles (#2117)
* 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
2018-12-12 12:04:31 +01:00
Patrick Crandol
195c0b6867 Make aria-hidden !important (#2176)
Fix for #2115.
2018-12-11 20:25:53 +00:00
Patrick Crandol
26e3805d1f Delete unnecessary File in BlueLagoon (#2166)
I just realized (despite the fact that I've been editing it for the last month keeping it updated) that BlueLagoon has a copy of template.css in it's theme directory that doesn't do anything.
2018-12-08 00:45:51 +01:00
Nicolas Frandeboeuf
97601a7b1a [Origine-compact] Fix minor buttons height issues (#2165) 2018-12-05 08:57:35 +01:00
Nicolas Frandeboeuf
8bbf567fde [BlueLagoon] Fix header's height (#2161) 2018-12-04 20:37:52 +01:00
Patrick Crandol
49903fe1aa Patch Screwdriver Icon (#2162)
See: https://github.com/FreshRSS/FreshRSS/pull/2161#discussion_r238788845
2018-12-04 20:35:46 +01:00
Alexandre Alapetite
5c8eb1e864 Fix print for unfolded articles (#2148)
Fix https://github.com/FreshRSS/FreshRSS/issues/2130
`.current` might not exist in views for which all articles are already
expanded
2018-11-26 08:32:04 +01:00
Frans de Jonge
e20c7ef1b0 [fix] Finishing touches for next/previous without focus (#2140)
* [fix] Finishing touches for next/previous without focus

Cf. #1767.

* Avoid single quote

Alternative: use `’`

* Minor whitespace

* Minor whitespace

* be explicit about skipping

* add todos

* overshot by one
2018-11-18 19:31:36 +01:00
Matt DeMoss
f3a88614ef Add shortcuts for focusing next and previous without opening articles. (#1767)
* add skipping option to toggleContent to use later for 'i' and 'o' hotkeys

* in English config j,k are now 'open' and not 'skip', i,o are called 'focus .. without opening'
2018-11-18 14:08:27 +01:00
Patrick Crandol
05f4160800 Login tweaks (#2122)
* Fix for #1620

* Swage login tweaks

https://github.com/FreshRSS/FreshRSS/pull/2069#issuecomment-435093099

* Swage tweaks for Mobile
2018-11-13 22:34:29 +01:00
romibi
adcbfc43b8 Improve long dropdown menu lists (#2108)
Dropdown menus with lots of entries were a bit difficult to use …
Set max height to 75% of Viewport-height and enabled scrolling
2018-11-13 22:29:03 +01:00
Alexandre Alapetite
0fce9892ff API encoding tuning (#2120)
Use only minimal XML->Unicode encoding for articles title.
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/2093
2018-11-12 09:03:20 +01:00
Alexandre Alapetite
b672fc190d Tweaks for Vienna RSS (#2093)
* Tweaks for Vienna RSS

https://github.com/FreshRSS/FreshRSS/issues/2091
https://github.com/ViennaRSS/vienna-rss/issues/1197

* Fix get feed by URL

* Fix get item ids returning starred elements

* API add item ids by feed URL

* Add API filter `it`

https://feedhq.readthedocs.io/en/latest/api/reference.html#stream-items-ids

* API add `nt=` filter + refactoring

* No ; prefix for author

https://github.com/FreshRSS/FreshRSS/issues/2091#issuecomment-435562495

* Add id long form prefix and accept short id form

https://github.com/FreshRSS/FreshRSS/issues/2091#issuecomment-435631259

* Fix quote problem

https://github.com/FreshRSS/FreshRSS/issues/2091#issuecomment-435683930

* Isolate bug fix for News+

https://github.com/FreshRSS/FreshRSS/issues/2091#issuecomment-435687041

* Rework encoding conventions

https://github.com/FreshRSS/FreshRSS/issues/2091#issuecomment-437441834

* Unicode escaping alternative

Alternative approach to encode XML special characters and other
problematic characters into their Unicode fullwidth version when we
cannot use HTML-encoding because clients disagree wether they should
HTML-decode or not.
https://github.com/FreshRSS/FreshRSS/issues/2091#issuecomment-436059559
2018-11-11 17:31:50 +01:00
Patrick Crandol
9b86671dc6 Remove resizing of #bigMarkAsRead (#2094)
Remove theme sizing to make scroll as read work per #1980
2018-10-30 23:12:05 +01:00
Patrick Crandol
38e3f792a4 reallow items kept unread to be interactive (#2085)
Remove .keep_unread from classes that do nothing.
2018-10-30 14:15:50 -04:00
Alexandre Alapetite
43e0b02657 Merge pull request #2088 from pattems/dev
Fix Swage theme issues
2018-10-30 14:51:23 +01:00
Patrick Crandol
a02b1fb2a0 Fix Dropdown being obscured by other elements
increased z-index of dropdown-menu to prevent it from being obscured by other page elements
2018-10-28 23:24:15 -04:00
Patrick Crandol
31e70e4342 Update Swage CSS
Fix highlighting issue in Config pages, prepare for variable-width config buttons
2018-10-28 20:26:19 -04:00
Patrick Crandol
41b6dd4f74 Swage Theme Fixes (#2082)
* Fix Config pages in Swage Theme

Fix config & extensions pages; experimental fix for over-length menu options

* unminify Swage CSS

make swage.css readable.

* Update template.css

prevent a dropdown menu item from wrapping multiple lines
2018-10-28 08:59:18 +01:00
Alexandre Alapetite
cae30f010a Fix manual refresh commit (#2081)
Commit was performed too early, potentially before the last feeds were
done refreshing
2018-10-26 22:18:11 +02:00
Alexandre Alapetite
a1dc5ada67 Add Fever API debug (#2063)
* Add Fever API debug

https://github.com/FreshRSS/FreshRSS/issues/2043

* Default without debug logging
2018-10-24 13:17:28 +02:00
Patrick Crandol
7de31bb956 Add Swage Theme (#2069)
* Add Swage Theme

Add a new Theme to FreshRSS

* Update Credits

Add additional line to Credits

* CSS Fixes

Fix glitches in CSS.

* Add Missing Icon

Add Icon was missing from theme.
2018-10-24 09:42:58 +02:00
Alexandre Alapetite
fe1f6223f9 init confirm also for configuration pages (#2048)
There are some actions that require confirmation also in the
configuration pages, such as delete user.
2018-10-14 13:59:26 +02:00
Alexandre Alapetite
1cc891be35 Remove some preload / prefetch (#2040)
* 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
2018-10-14 00:35:43 +02:00
Alexandre Alapetite
ee902ee7c4 Minor Google Reader API comment 2018-10-13 16:41:05 +02:00
Alexandre Alapetite
f6dda14d1f Message when PHP is not installed (#2035)
* Message when PHP is not installed

* or configured correctly
2018-09-29 23:20:33 +02:00
Alexandre Alapetite
8ee8a573f1 Custom labels (#2027)
* First draft of custom tags

https://github.com/FreshRSS/FreshRSS/issues/928
https://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
2018-09-29 20:47:17 +02:00
Alexandre Alapetite
b323ed0846 Improve authors (#2025)
* Links for authors and multiple authors

Favour ';' as a separator instead of ',' to better cope with
multi-author scientific articles.
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/1997 ,
https://github.com/FreshRSS/FreshRSS/issues/1968,
https://github.com/FreshRSS/FreshRSS/pull/2023

* Change i18n authors

* Update layout

* Unicode-compatible search

Example for `author:Loïc`

* author <em> styling

* Final details

* Minor spacing
2018-09-16 10:46:27 +02:00
Alexandre Alapetite
60cc39db25 Merge pull request #2021 from Alkarex/jQuery3.3.1
jQuery 3.1.1 -> 3.3.1
2018-09-14 07:35:35 +02:00
Alexandre Alapetite
a6cbac9b91 bcrypt.js 2.4.4
https://github.com/dcodeIO/bcrypt.js
2018-09-12 21:51:36 +02:00
Alexandre Alapetite
d8c88b28c9 jQuery 3.1.1 -> 3.3.1
https://github.com/jquery/jquery/compare/3.1.1...3.3.1
2018-09-12 21:24:16 +02:00
Charlie
e243ad5270 Fixing button spacing in Dark, Flat, and Pafat themes. 2018-09-12 10:17:37 -04:00
Charlie
5eb57cf236 Fix Mark as read button spacing in Chrome which was shifted up relative to the other buttons. 2018-09-12 09:14:23 -04:00
Alexandre Alapetite
d3f5bd840d Add mark-as-unread (#1995)
* Add mark-as-unread

https://github.com/FreshRSS/FreshRSS/issues/1966

* Change sentence

https://github.com/FreshRSS/FreshRSS/pull/1995#discussion_r214515954

* Enable mark-as-unread only when unread articles are shown

In order to prevent erroneous marking-as-unread.
We might find a better logic later.

* Disable instead of hide mark-as-unread option

To make it easier to discover
2018-09-03 20:48:04 +02:00
Uncovery
e003ccaf57 remove section for font-face (#1992) 2018-08-29 14:51:50 +02:00
primaeval
043d30c2da bottom padding to enable scroll to mark all as read (#1980)
* bottom padding to enable scroll to mark all as read

* 100vh fallback for mobile
2018-08-23 20:29:27 +02:00
ColonelMoutarde
34d8be086c Better rand() (#1977)
http://php.net/manual/en/function.mt-rand.php

from php Doc

"Many random number generators of older libcs have dubious or unknown characteristics and are slow. The mt_rand() function is a drop-in replacement for the older rand(). It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides. "
2018-08-23 19:57:08 +02:00
Alexandre Alapetite
763ceff7ca FeverAPI 32-bit fixes (#1964)
* FeverAPI 32-bit fixes

https://github.com/FreshRSS/FreshRSS/issues/1962

* Small fixes

https://github.com/FreshRSS/FreshRSS/pull/1964#discussion_r204213613
2018-07-23 22:50:16 +02:00
Alexandre Alapetite
82ac9454dd Fix check username in API (#1957)
* Fix check username in API

Fix https://github.com/FreshRSS/FreshRSS/issues/1955

* Changelog 1955

https://github.com/FreshRSS/FreshRSS/issues/1955
https://github.com/FreshRSS/FreshRSS/pull/1957
2018-07-08 11:22:51 +02:00
Alexandre Alapetite
031acde003 Fix extension hook for updated articles (#1932)
* Fix extension hook for updated articles

https://github.com/FreshRSS/FreshRSS/issues/1926

* Enable extensions during PubSubHubbub

* A little array protection

* Changelog 1926

https://github.com/FreshRSS/FreshRSS/issues/1926
https://github.com/FreshRSS/FreshRSS/pull/1932

* Add null check
2018-06-13 09:27:02 +02:00
Alexandre Alapetite
c0f2df3ef0 Fever fixes (#1931)
* Fever fixes

Was hardcoded for MySQL. Bug in "before" parameter. Bug in mark all as
read.

* Fix construct

* Changelog 1930

https://github.com/FreshRSS/FreshRSS/issues/193
https://github.com/FreshRSS/FreshRSS/pull/1931
2018-06-12 21:11:43 +02:00
Alexandre Alapetite
7ab4a2609a Support for media: tags (#1920)
* Support for media: tags

https://github.com/FreshRSS/FreshRSS/issues/944
E.g.  YouTube

* Fix for medium attribute

* Changelog 944

https://github.com/FreshRSS/FreshRSS/issues/944
https://github.com/FreshRSS/FreshRSS/pull/1920

* enclosure styling

* Compatibility old enclosure content
2018-06-06 21:29:22 +02:00