jvoisin
9a4a942cc4
Simplify durationImpl
2024-02-28 19:32:38 -08:00
jvoisin
6b3b8e8c9b
Inline some templating functions
2024-02-28 19:32:38 -08:00
jvoisin
5a7d6f8997
Make use of printer.Print when possible
2024-02-28 19:24:41 -08:00
jvoisin
b4ed17fbac
Add a printer.Print to internal/locale/printer.go
...
No need to use variadic functions with string format interpolation
to generate static strings.
2024-02-28 19:24:41 -08:00
jvoisin
7660910232
Use prepared statement for intervals
2024-02-27 21:25:25 -08:00
jvoisin
b054506e3a
Use proper prepared statements for ArchiveEntries
2024-02-27 21:25:25 -08:00
jvoisin
c961c6db7d
Use proper prepared statement for updateEnclosures
2024-02-27 21:25:25 -08:00
jvoisin
b94756bbf0
Add a warning for StripTags
2024-02-27 20:41:47 -08:00
jvoisin
db6ae707ef
Add some tests for add_image_title
...
I'm not sure if the behaviour is expected, but I didn't manage to
get the content injection to work in my browser, so I guess it's alright?
2024-02-27 20:41:15 -08:00
Frédéric Guillot
97feec8ebf
Add more URL validation in media proxy
2024-02-26 20:29:40 -08:00
jvoisin
bce21a9f91
Remove github.com/google/uuid
...
Replace it with a hand-rolled implementation. Heck, an UUID isn't even a
requirement, according to [omnivore](https://docs.omnivore.app/integrations/api.html#saving-a-url-with-the-api )'s
documentation, any "unique id" would do.
2024-02-26 18:31:12 -08:00
jvoisin
06e256e5ef
Simplify internal/reader/icon/finder.go
...
- Use a simple regex to parse data uri instead of a hand-rolled parser, and
document what fields are considered mandatory.
- Use case-insensitive matching to find (fav)icons, instead of doing the same
query twice with different letter cases
- Add 'apple-touch-icon-precomposed.png' as a fallback favicon
- Reorder the queries to have i`con` first, since it seems to be the most
popular one. It used to be last, meaning that pages had to be parsed
completely 4 times, instead of one now.
- Minor factorisation in findIconURLsFromHTMLDocument
2024-02-26 18:18:04 -08:00
jvoisin
040938ff6d
Small refactoring of internal/reader/date/parser.go
...
- Split dates formats into those that require local times
and those who don't, so that there is no need to have a switch-case in the
for loop with around 250 iterations at most.
- Be more strict when it comes to timezones, previously invalid ones like -13
were accepted. Also add a test for this.
- Bail out early if the date is an empty string.
2024-02-26 18:08:04 -08:00
jvoisin
c2d2f31438
Improve a bit internal/reader/scraper/scraper.go
...
- make findContentUsingCustomRules' more idiomatic,
since in golang a function returning an error might
return garbage in other parameter. Moreover, ignoring
errors is bad practise.
- getPredefinedScraperRules is now running in constant-time,
instead of iterating on a list with around 50 items in it.
2024-02-26 18:00:23 -08:00
jvoisin
5b2558bf92
Miscellaneous improvements to internal/reader/subscription/finder.go
...
- Surface `localizedError` in FindSubscriptionsFromWellKnownURLs via slog
- Use an inline declaration for new subscriptions, like done elsewhere in the
file, if only for consistency's sake
- Preallocate the `subscriptions` slice when using an RSS-bridge,
it's a good practise, and it might even marginally improve
performances when adding __a lot__ of feeds via an rss-bridge instance, wooo!
2024-02-26 17:52:21 -08:00
jvoisin
ecd59009fb
Add a couple of new possible locations for feeds
...
- Hugo likes to generate index.xml
- feed.atom and feed.rss are used by enterprise-scale/old-school gigantic CMS
2024-02-26 17:43:51 -08:00
jvoisin
4a943b722d
Add a couple of fuzzers
2024-02-26 17:23:49 -08:00
Frédéric Guillot
9d1b1e19d4
Google Reader: Do not return a 500 error when no items is returned
2024-02-25 21:17:49 -08:00
Frédéric Guillot
7a8061fc72
Fix regression introduced in PR #2402
2024-02-25 20:45:34 -08:00
jvoisin
bca84bac8b
Use an update-where for MarkCategoryAsRead instead of a subquery
2024-02-25 17:50:30 -08:00
jvoisin
66e0eb1bd6
Reformat's ArchiveEntries's query for consistency's sake
...
And replace the `=ANY` with an `IN`
2024-02-25 17:50:30 -08:00
jvoisin
26d189917e
Simplify cleanupEntries' query
...
- `NOT (hash=ANY(%4))` can be expressed as `hash NOT IN $4`
- There is no need for a subquery operating on the same table,
moving the conditions out is equivalent.
2024-02-25 17:50:30 -08:00
jvoisin
ccd3955bf4
Format GetReadTime's query for consistency's sake
2024-02-25 17:50:30 -08:00
jvoisin
8a2cc3a344
Reformat the query in GetEntryIDs
...
To make it more consistent with how all the other are formatted
2024-02-25 17:50:30 -08:00
jvoisin
647fa025f8
Simplify WeeklyFeedEntryCount
...
No need for a `BETWEEN`: we want to filter on entries published in the last
week, no need to express is as "entries published between now and last week",
"entries published after last week" is enough.
2024-02-25 17:50:30 -08:00
jvoisin
1955350318
Build the map inline in CountAllFeeds()
...
No need to build an empty map to then add more fields in it one by one.
2024-02-25 17:50:30 -08:00
jvoisin
04916a57d2
Simplify CleanOldUserSessions' query
...
No need for a subquery, filtering on `created_at` directly is enough.
2024-02-25 17:50:30 -08:00
jvoisin
0adac5c6f7
Minor code simplification in internal/ui/view/view.go
...
No need to create the map item by item when we
can create it in one go.
2024-02-25 17:31:44 -08:00
jvoisin
54b5be5e7d
Significantly simplify/speed up the sanitizer
...
- Use constant time access for maps instead of iterating on them
- Build a ~large whitelist map inline instead of constructing it item by item
(and remove a duplicate key/value pair)
- Use `slices` instead of hand-rolled loops
2024-02-25 17:29:46 -08:00
Frédéric Guillot
eae4cb1417
Add feed option to disable HTTP/2 to avoid fingerprinting
2024-02-24 22:30:26 -08:00
Frédéric Guillot
420a3d4d95
Remove Golint
...
- Golint is deprecated
- Use staticcheck and golangci-lint instead
2024-02-24 21:17:56 -08:00
jvoisin
b48ad6dbfb
Make use of go≥1.21 slices package instead of hand-rolled loops
...
This makes the code a tad smaller, moderner,
and maybe even marginally faster, yay!
2024-02-24 20:22:53 -08:00
jvoisin
c544dadd55
Fix categories import from Thunderbird's OPML
...
Thunderbird OPML exports are looking like this:
```xml
<opml version="1.0" xmlns:fz="urn:forumzilla:">
<head>
<title>Thunderbird OPML Export - RSS</title>
<dateCreated>Sat, 24 Feb 2024 11:31:13 GMT</dateCreated>
</head>
<body>
<outline title="News">
<outline type="rss" ...>
<outline type="rss" ...>
...
</outline>
<outline title="Blogs">
<outline type="rss" ...>
<outline type="rss" ...>
...
</outline>
</body>
```
This commit make it so that categories are now correctly imported.
2024-02-24 19:43:33 -08:00
Frédéric Guillot
1da65d97d8
Proxify video poster attribute
2024-02-23 18:44:20 -08:00
Frédéric Guillot
c595c80356
Handle RDF feeds with duplicated <title> elements
2024-02-23 17:40:58 -08:00
Robert Lützner
facf38955c
Add 'Enter' key as a hotkey to open selected item
...
There are a few things that need to be done, to make this work.
First, we need to register `Enter` as another hotkey that opens the
selected item.
However, by default the `KeyboardHandler` will override all default
actions. That might make sense for any other key, but for the `Enter`
key, we want to keep the default behavior (i.e. follow a selected link
or press a button). So for this single key event, we do not call
`preventDefault()`.
I see this as unproblematic for the following reasons.
1. With the changes from #2348 , when we're in a list of items (articles,
categories, feeds), there is no link selected. This is what made the
`Enter` key work _implicitly_ in the past. With nothing selected, the
`Enter` key will do nothing by default.
2. If we have **any** link selected (including when we are in a view
with a list of selectable items), we'll get the default action of
`Enter` (i.e. follow a link), which is exactly what we had before.
Lastly, we need to update the list of keyboard shortcuts displayed when
pressing `?`.
This fixes #2366 .
2024-02-21 20:02:58 -08:00
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
Frédéric Guillot
9fd2dfa680
Refactor icon finder
...
Changes:
- Continue the discovery process when the feed icon is invalid
- Search all icons from the HTML document and do not stop on the first one
2023-10-18 22:24:56 -07:00
Frédéric Guillot
7650c81ad9
Add support for SVG icons with data url without encoding
2023-10-18 20:46:46 -07:00
Frédéric Guillot
c60b3f52a5
Add new page for background feeds refresh
2023-10-18 20:26:33 -07:00
Frédéric Guillot
23d2cfe0f9
Expose next_check_at
in the web ui and API
2023-10-17 21:25:41 -07:00
Frédéric Guillot
5dc44453ba
Add indexes to improve performance
2023-10-17 20:18:49 -07:00
Frédéric Guillot
cc44d14722
Avoid excessive manual polling with default scheduler
2023-10-16 21:41:18 -07:00
Frédéric Guillot
0fe347c87a
Show username in Fever API logs
2023-10-14 20:53:43 -07:00
jinmiaoluo
fd69012357
Correct the timestamp format for Expires response header
2023-10-13 20:21:58 -07:00
Frédéric Guillot
52cf236699
Add /v1/version endpoint
2023-10-08 15:53:24 -07:00
Frédéric Guillot
e4285c2cba
Add API endpoint to update entry title and content
2023-10-06 23:27:19 -07:00
Frédéric Guillot
7b541af253
Replace github.com/rylans/getlang with github.com/abadojack/whatlanggo
...
github.com/rylans/getlang doesn't seems to be updated anymore
2023-10-06 22:04:31 -07:00
Frédéric Guillot
d0377d5d9d
Fix Javascript error when reading time option is disabled
2023-10-06 18:35:49 -07:00
Frédéric Guillot
2002d60fbe
Add new API endpoint /icons/{iconID}
2023-10-06 13:52:33 -07:00
Frédéric Guillot
5774323f2e
Add API endpoint to flush history
2023-10-05 22:19:08 -07:00