Commit Graph

204 Commits

Author SHA1 Message Date
MSTCL cfdb890eae
Add Readeck integration 2024-02-21 19:57:34 -08:00
Frédéric Guillot 59311deb57 Fix logo misalignment when using languages that are more verbose than English 2024-02-19 15:10:35 -08:00
krvpb024 5c97771e61 fix macOS VoiceOver didn't announce details and summary expand 2024-02-14 20:11:23 -08:00
knrdl 1d90ce9dd2
Add Linkwarden integration 2024-02-11 17:12:37 -08:00
knrdl ccb9eed573 fix wrong label on save
when saving an entry the label was reset on complete
so the desired done label was never shown
2024-02-11 12:49:08 -08:00
krvpb024 2221fd408d fix the page-button hover style not show 2024-02-09 19:37:10 -08:00
Tân Î-sîn ea58bac548
Replace link has button role with button tag
# Change HTML tag to button

Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript.

# Differentiate links and buttons visually

When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear.

Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button.

I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-09 17:09:30 -08:00
krvpb024 0f85c0511a remove item focus outline overlapped on current style 2024-02-09 16:54:29 -08:00
krvpb024 27749a2877 change focus target on items when using keyboard navigation 2024-02-09 16:54:29 -08:00
krvpb024 facf17db3f remove icon img alt text 2024-02-07 21:59:09 -08:00
krvpb024 6eac968083 add keyboard shortcut and aria attribute to menu button 2024-02-07 21:56:24 -08:00
Frédéric Guillot 5ce5c47499 Remove translation key page.categories.unread_counter 2024-02-05 21:39:02 -08:00
Frédéric Guillot 9336891e67 Restore menu toggle when clicking on the logo
The caret icon is too small on smartphone to expand/collapse the menu
2024-02-05 21:18:06 -08:00
krvpb024 39368ece9a add alert role to alert message element 2024-02-05 20:14:23 -08:00
krvpb024 4f57309380 remove button role on element which perform navigation 2024-02-05 20:10:38 -08:00
krvpb024 57e7bd5bc9 add button role to links with action 2024-02-05 20:10:38 -08:00
krvpb024 bf54222be7 hide menu button in desktop layout instead of icon 2024-02-04 21:36:31 -08:00
Frédéric Guillot 7d9f174b3f Add missing label ID for custom CSS field 2024-02-04 13:41:23 -08:00
Frédéric Guillot bf4d31eebe Add styling to search button 2024-02-04 13:36:31 -08:00
Frédéric Guillot f203326a29 Improve translation of hidden aria elements 2024-02-04 13:12:54 -08:00
krvpb024 8367413e84 change links that could perform actions to buttons 2024-02-04 10:47:30 -08:00
krvpb024 9b6dbd422c change article html structure for accessibility 2024-02-04 10:47:30 -08:00
krvpb024 531e80f580 fix entry page layout has changed 2024-02-04 10:47:30 -08:00
krvpb024 890a34e1bd remove code for debug and comment 2024-02-04 10:47:30 -08:00
krvpb024 7413e383a8 fix search and star function 2024-02-04 10:47:30 -08:00
krvpb024 7496479380 change header tag usage to match landmark meaning 2024-02-04 10:47:30 -08:00
krvpb024 6c78a1d635 improve feed, entry, category a11y 2024-02-04 10:47:30 -08:00
krvpb024 6413c9f9f7 add nav landmark to settings and feed menu 2024-02-04 10:47:30 -08:00
krvpb024 352aeb0490 fix missing translation key 2024-02-04 10:47:30 -08:00
krvpb024 61f52d971a fix h1 font-size 2024-02-04 10:47:30 -08:00
krvpb024 fa7508e28d change search summary icon 2024-02-04 10:47:30 -08:00
krvpb024 c217a31444 fix search label and login view not define header 2024-02-04 10:47:30 -08:00
krvpb024 84576f2c29 fix menu responsive layout 2024-02-04 10:47:30 -08:00
krvpb024 da11416b39 change layout structure by moving header 2024-02-04 10:47:30 -08:00
krvpb024 6a9a590c7f add search landmark and disclosure pattern to menu 2024-02-04 10:47:30 -08:00
krvpb024 f23e6a3352 add skip to content link 2024-02-04 10:47:30 -08:00
krvpb024 b568b1d41d improve page-header a11y
add nav landmark for links
labeling the purpose of nav in page-header
labeling the meaning of total number in page-header title
2024-02-04 10:47:30 -08:00
Matt Stobo 4a50ca9122 Allow filtering feeds on entry.Author 2024-01-31 19:42:07 -08:00
MDeLuise 1e704468a5 feat: add linkace service integration 2024-01-25 18:04:14 -08:00
Frédéric Guillot e8147f26b9 Fix incorrect label `for` attribute 2024-01-24 20:37:12 -08:00
Andrew Gunnerson 6648e0af38 Revert "touch_handler: Fix scroll up behavior on Firefox Android"
This reverts commit 344a237af8.

The previous behavior is more correct due to the use of preventDefault()
and the commit was introduced only as a workaround. As of [1], the
underlying issue in Firefox has been fixed and downward swipes to scroll
up are no longer ignored every other attempt.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1847305
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1853075
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=1724755

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2024-01-23 19:33:08 -08:00
Dave 1159dd6982 Add `addDynamicIframe` rewrite function.
Add unit tests for `add_dynamic_iframe` rewrite.
2024-01-23 19:23:57 -08:00
Frédéric Guillot 50341759b6 Fix typo in log message 2024-01-22 20:15:38 -08:00
dzaikos d68f2306c6 Add attribute to add_dynamic_image rewrite candidates. 2024-01-21 14:27:06 -08:00
Christoffer Strömblad 578743de1f
Add `item-meta-info-reading-time` CSS class 2024-01-20 10:53:02 -08:00
Frédéric Guillot 8553188ae4 Add missing translation argument 2024-01-20 10:48:27 -08:00
Frédéric Guillot 87c9ef6b48 Rewrite relative RSS Bridge URL 2024-01-13 14:54:36 -08:00
Frédéric Guillot ce32d181d5 Change default Accept header 2024-01-13 13:53:57 -08:00
Frédéric Guillot e2d33f680e Fix incorrect condition 2024-01-11 19:04:50 -08:00
Ryan Stafford 980c5c63df
Limit feed/category entry pagination to unread entries when coming from unread entry list 2024-01-09 21:44:25 -08:00
Filipe de Luna 1441dc7600
Update entry processor to allow blocking/keeping entries by tags 2024-01-09 21:15:11 -08:00
notsmarthuman 4590da2fc3
Add `FORCE_REFRESH_INTERVAL` config option 2024-01-02 18:33:15 -08:00
Stephan Brauer eb9ac861ea Update German translation.
- Translate missing entries.
- Hiphenate some phrases.
- Improve some translation.
  - Some translations where seemingly done automatically.
  - Some translation could be phrased a bit better (subjectively).
2023-12-31 10:01:48 -08:00
Jan Tojnar 074393d3bf fix: Include type for OPML subscriptions
As per [OPML 2.0 specification]:

> Each sub-element of the body of the OPML document is a node of type rss or an outline element that contains nodes of type rss.

> Required attributes: type, text, xmlUrl.

[OPML 2.0 specification]: http://opml.org/spec2.opml#subscriptionLists
2023-12-31 10:00:50 -08:00
Darwin d90667777f request_builder.go: fetcher: Force try HTTP/2 2023-12-15 16:27:00 -08:00
Kristof Mattei 0465f9b188 fix: tests for allow popups to escape sandbox 2023-12-10 16:59:58 -08:00
Kristof Mattei d53ad3b79a fix: clicking youtube links in iframes returns ERR_BLOCKED_BY_RESPONSE 2023-12-10 16:59:58 -08:00
Ole Bertram 698bea4ec8 Fix inaccessible metrics endpoint when listening on Unix socket 2023-12-06 19:52:33 -08:00
Jesse Jaggars 95039410b5 adding detailed error handling to the omnivore integration 2023-12-05 21:34:16 -08:00
Jesse Jaggars e933fb11e9
Add Omnivore integration 2023-12-04 20:05:04 -08:00
Shizun Ge bcb0978e9e improve scheduler tests.
Capture timeNow() before calculation next check at.
Check if the desired interval is set.
2023-12-03 15:01:19 -08:00
Shizun Ge f3f892f448 log nb_jobs only when number of jobs is larger than 0 in scheduler. 2023-12-03 14:57:20 -08:00
Frédéric Guillot 1af1bc3460 Google Reader API: Allow rename and move feed at the same time
Fixes #2191
2023-12-01 17:50:01 -08:00
Frédéric Guillot d0f99cee1a Regression: ensure all HTML documents are encoded in UTF-8
Fixes #2196
2023-12-01 16:52:03 -08:00
Frédéric Guillot 5de0714256 Deduplicate feed URLs when parsing HTML document during discovery process
Fixes #2232
2023-12-01 13:57:05 -08:00
Shizun Ge bfa83cbf99 Calculate a virtual weekly count based on the average updating frequency. 2023-12-01 12:29:36 -08:00
Shizun Ge 27ec6dbd7d Setting NextCheckAt due to TTL of a feed in feed.go.
Add unit tests.
2023-12-01 12:22:30 -08:00
Sam Crang fab423cca0 Use "starred" rather than "bookmarked"
This change replaces usages of "bookmarked" entries with "starred"
entries the latter which seems to be be used more prominently.
2023-11-29 19:54:18 -08:00
Shizun Ge 70b69ecd19 Add SCHEDULER_ROUND_ROBIN_MIN_INTERVAL
Separated from POLLING_FREQUENCY.
2023-11-29 19:52:14 -08:00
Thomas J Faughnan Jr fe0ef8b579 Fix conditional requests regression
The recent HTTP client refactor in 14e25ab9fe
caused feed refreshes to no longer make conditional requests. Prior to
the refactor, `client.WithCacheHeaders` handled this. Now this function
is split into `fetcher.WithETag` and `fetcher.WithLastModified` but
these functions are only declared and never actually used. Fix this by
calling them inside `handler.RefreshFeed`.
2023-11-29 19:46:50 -08:00
Shizun Ge 65e2fddfb5 Use variables for the status in the entries table 2023-11-29 19:32:36 -08:00
Shizun Ge 32779f596f Update Chinese (CN & TW) translation 2023-11-23 08:39:31 +01:00
Shizun Ge 273b96bfe0 Update Chinese(TW) translation 2023-11-23 08:39:31 +01:00
Shizun Ge 4ffc073153 add github links to about page.
Add github links about release and commit.
2023-11-23 08:38:05 +01:00
mrchi b37bb43e09 Update Chinese translation 2023-11-18 21:11:42 +01:00
Thomas J Faughnan Jr 7a03291442 Fix default User-Agent regression
The recent HTTP client refactor in 14e25ab9fe
introduced a bug in which the global default User-Agent is no longer
used for requests. Unless a per-feed User-Agent exists, the Go standard
library's default User-Agent is used, which looks something like
"Go-http-client/1.1". To fix this, make RequestBuilder.WithUserAgent
take an additional argument, the default User-Agent, which will be used
if there is no per-feed User-Agent (i.e. it is an empty string).

Fixes #2188
Fixes #2189
2023-11-18 20:57:47 +01:00
Frédéric Guillot 1bd5d57884 `user/{userID}/state/com.google/read` is missing in `categories` section for read entries 2023-11-09 12:50:42 +01:00
Frédéric Guillot d7437f125b Improve error log message in worker 2023-11-08 19:58:56 +00:00
Frédéric Guillot f2849ca00f Improve WebAuthn buttons layout 2023-11-08 20:23:17 +01:00
Frédéric Guillot aa3dc574a7 Google Reader API: Take ExcludeTargets into consideration in Feed stream handler 2023-11-08 17:31:05 +01:00
Frédéric Guillot ba65556eac Show number of visible entries instead of number of read entries in feed list 2023-11-08 16:34:27 +01:00
Nick Parker 2bc5ad53c2 Avoid long duration strings: round to nearest second
For example, seeing "Next check: 14m56.245483933s" in feeds list after force-refreshing a feed.

This rounds to the nearest second, so it'll instead be "14m56s"

Other examples from latter two test cases:
- "12.345678s" -> "12s"
- "1m27.654321s" -> "1m28s"
2023-11-08 14:19:30 +01:00
Frédéric Guillot bc317cfcd1 OIDC: Redirect to user home page after successful authentication 2023-11-07 21:21:56 +01:00
Frédéric Guillot ba614af82d Disable WebAuthn by default because it requires to configure the BASE_URL 2023-11-06 20:51:19 +01:00
Frédéric Guillot 2b8342fcd5 Refactor WebAuthn Javascript code 2023-11-06 19:55:32 +01:00
Frédéric Guillot a75256bed5 Add Passkeys French translations 2023-11-05 19:00:34 +00:00
Florian Rüchel 62ef8ed57a
Add WebAuthn / Passkey integration
This is a rebase of #1618 in which @dave-atx added WebAuthn support.

Closes #1618
2023-11-05 18:57:35 +01:00
Frédéric Guillot e3eaaea15a Update date parser to parse more invalid date formats 2023-11-01 20:55:35 +01:00
Frédéric Guillot 500c60b807 Fix error handling and logging issue after refactoring 2023-11-01 19:59:12 +01:00
James Loh ef53bf14ae Add Category ID to webhooks
My use case for this is I want to ignore some webhooks based on the category the feed is in
2023-11-01 18:02:14 +01:00
Nicolas Martinelli d566dea265 Fix category hide_globally property in `/entries`
Follow-up of 64c4c6b347
2023-10-31 16:57:03 +01:00
Nicholas Parker 257e8c4761 Allow iframes pointing to Twitch videos
Docs: https://dev.twitch.tv/docs/embed/video-and-clips/#non-interactive-inline-frames-for-live-streams-and-vods
2023-10-27 10:02:57 -07:00
Tianfeng Wang a1537f4b0d
Filter feed entries based on url or title 2023-10-25 19:38:08 -07:00
Frédéric Guillot eeaab72a9f Refactor feed discovery and avoid an extra HTTP request if the url provided is the feed 2023-10-22 18:05:37 -07:00
Frédéric Guillot 14e25ab9fe Refactor HTTP Client and LocalizedError packages 2023-10-22 13:09:30 -07:00
Ryan Stafford 120aabfbce
Add RSS-Bridge integration 2023-10-22 11:10:56 -07:00
Frédéric Guillot 5e6c054345 Take RSS TTL field into consideration to schedule next check date 2023-10-20 20:11:05 -07:00
Frédéric Guillot 4cc99881d8 Refactor Batch Builder and prevent accidental and excessive refreshes from the web ui 2023-10-20 16:07:18 -07:00
Frédéric Guillot 95ee1c423b Change log level to warning for failed feeds refresh in cronjob 2023-10-20 14:02:17 -07:00
Frédéric Guillot 5ac3489ee5 Do not log website without icon as warning 2023-10-19 20:36:51 -07:00