jvoisin
e2ee74428a
Minor concatenation-related simplifications in internal/storage/
...
Use plain strings concatenation instead of
building an array and then joining it.
2024-03-18 16:20:55 -07:00
jvoisin
863a5b3648
Simplify removeDuplicates
...
Use a sort+compact construct instead of doing it by hand with a hashmap. The
time complexity is now O(nlogn+n) instead of O(n), and space complexity around
O(logn) instead of O(n+uniq(n)), but it shouldn't matter anyway, since
removeDuplicates is only called to deduplicate tags.
2024-03-18 16:13:32 -07:00
Frédéric Guillot
b1e73fafdf
Enable go-critic linter and fix various issues detected
2024-03-17 13:52:34 -07:00
Romain de Laage
00dabc1d3c
feat: Media player: Conrol playback speed
...
fix #1845
2024-03-17 11:53:30 -07:00
jvoisin
1f5c8ce353
Don't mix up capacity and length
...
- `make([]a, b)` create a slice of `b` elements `a`
- `make([]a, b, c)` create a slice of `0` elements `a`, but reserve space for `c` of them
When using `append` on the former, it will result on a slice with `b` leading
elements, which is unlikely to be what we want. This commit replaces the two
instances where this happens with the latter construct.
2024-02-28 19:57:30 -08:00
jvoisin
645a817685
Use modern for loops
...
Go 1.22 introduced a new [for-range](https://go.dev/ref/spec#For_range )
construct that looks a tad better than the usual `for i := 0; i < N; i++`
construct. I also tool the liberty of replacing some
`for i := 0; i < len(myitemsarray); i++ { … myitemsarray[i] …}`
with `for item := range myitemsarray` when `myitemsarray` contains only pointers.
2024-02-28 19:55:28 -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
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
Frédéric Guillot
eae4cb1417
Add feed option to disable HTTP/2 to avoid fingerprinting
2024-02-24 22:30:26 -08:00
MSTCL
cfdb890eae
Add Readeck integration
2024-02-21 19:57:34 -08:00
knrdl
1d90ce9dd2
Add Linkwarden integration
2024-02-11 17:12:37 -08:00
MDeLuise
1e704468a5
feat: add linkace service integration
2024-01-25 18:04:14 -08:00
Frédéric Guillot
50341759b6
Fix typo in log message
2024-01-22 20:15:38 -08:00
Jesse Jaggars
e933fb11e9
Add Omnivore integration
2023-12-04 20:05:04 -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
65e2fddfb5
Use variables for the status in the entries table
2023-11-29 19:32:36 -08: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
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
Nicolas Martinelli
d566dea265
Fix category hide_globally property in /entries
...
Follow-up of 64c4c6b347
2023-10-31 16:57:03 +01:00
Ryan Stafford
120aabfbce
Add RSS-Bridge integration
2023-10-22 11:10:56 -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
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
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
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
Frédéric Guillot
6dd090a848
Add enclosures to /v1/entries API endpoint
2023-10-05 21:39:29 -07:00
Frédéric Guillot
fccc25f7a3
Add changed_after and changed_before options to /v1/entries endpoint
2023-10-05 21:28:25 -07:00
Jany
e0e8a99abe
Telegram: add the possibility to disable buttons
...
Closes #2093
2023-09-27 20:02:22 -07:00
Frédéric Guillot
c0e954f19d
Implement structured logging using log/slog package
2023-09-24 22:37:33 -07:00
Frédéric Guillot
9990afb722
Add webhook event for saving entry
2023-09-10 18:17:33 -07:00
Frédéric Guillot
cb228e73ad
Improve Telegram integration
...
- Remove dependency on `go-telegram-bot-api`
- Add new options: optional topic ID, disable page preview, disable notifications
- Add new button to go to article
2023-09-10 12:25:39 -07:00
Frédéric Guillot
3b94217fb7
Make sure icon URLs are always absolute
...
Regression introduced in #1907
2023-09-09 14:59:44 -07:00
Frédéric Guillot
48f6885f44
Add generic webhook integration
2023-09-09 13:11:42 -07:00
fuchsrot
32d33104a4
Apprise Service Urls per feed
2023-09-09 10:59:04 -07:00
Frédéric Guillot
ff5d391701
Add OAuth2 PKCE support
2023-09-02 22:11:47 -07:00
Yury Paraschenko
64c4c6b347
Fix feed hide_globally property to use it with third-party clients.
2023-08-31 20:22:13 -07:00
Frédéric Guillot
9f465fd70d
Add Shaarli integration
2023-08-13 18:51:50 -07:00