dependabot[bot]
33d55cc4e9
build(deps): bump github.com/tdewolff/minify/v2 from 2.23.8 to 2.23.9
...
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify ) from 2.23.8 to 2.23.9.
- [Release notes](https://github.com/tdewolff/minify/releases )
- [Commits](https://github.com/tdewolff/minify/compare/v2.23.8...v2.23.9 )
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-version: 2.23.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 17:35:03 -07:00
Julien Voisin
1825320369
refactor(template): remove unused functions and reduce the complexity of truncate
function
...
- Remove unused functions like hasKey, domain, hasPrefix and contains.
- Lower the complexity of truncate from O(n) to O(1).
2025-07-17 20:53:41 -07:00
jvoisin
d80fb242db
refactor(template): reduce translation-related introspection
...
Keys in translation maps are always strings, never anything else, so there is
no need to introspect them.
2025-07-17 20:48:36 -07:00
Julien Voisin
4336a0bd85
perf(template): use ParseFS
to directly parse the embedded template data
...
Use ParseFS to directly parse the embedded template data, instead of manually
reading it and then using Parse.
2025-07-17 20:46:33 -07:00
Frédéric Guillot
dc81725788
fix(filter): remove \r\n
in rule parsing
2025-07-16 21:03:53 -07:00
Julien Voisin
86e2ce6d0b
perf(readability): move transformMisusedDivsIntoParagraphs
call after removeUnlikelyCandidates
2025-07-13 14:34:14 -07:00
Frédéric Guillot
4679691c94
refactor(googlereader): rename stream suffix constants for clarity
2025-07-13 14:28:25 -07:00
Julien Voisin
0d5f4a710f
refactor(googlereader): unexport a lot of symbols
2025-07-13 14:16:08 -07:00
dependabot[bot]
92d2ac4f58
build(deps): bump github.com/go-webauthn/webauthn from 0.13.1 to 0.13.3
...
Bumps [github.com/go-webauthn/webauthn](https://github.com/go-webauthn/webauthn ) from 0.13.1 to 0.13.3.
- [Release notes](https://github.com/go-webauthn/webauthn/releases )
- [Commits](https://github.com/go-webauthn/webauthn/compare/v0.13.1...v0.13.3 )
---
updated-dependencies:
- dependency-name: github.com/go-webauthn/webauthn
dependency-version: 0.13.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-11 17:09:37 -07:00
dependabot[bot]
1cfee27a50
build(deps): bump golang.org/x/image from 0.28.0 to 0.29.0
...
Bumps [golang.org/x/image](https://github.com/golang/image ) from 0.28.0 to 0.29.0.
- [Commits](https://github.com/golang/image/compare/v0.28.0...v0.29.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/image
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-10 19:32:49 -07:00
jvoisin
0e9da3a090
refactor(icon): simplify findIconURLsFromHTMLDocument
...
- Don't define the queries before possible early returns
- Check for the presence of the href attribute in the queries, instead of later
on iterating on the selection
- Add two edge-cases to the tests
- Use EachIter instead of Each, if only to avoid the lambda
2025-07-10 19:32:29 -07:00
jvoisin
57bd384951
refactor(icon): unexport a bunch of symbols
2025-07-10 19:32:29 -07:00
dependabot[bot]
fdbd5b08a1
build(deps): bump golang.org/x/net from 0.41.0 to 0.42.0
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.41.0 to 0.42.0.
- [Commits](https://github.com/golang/net/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-10 19:24:08 -07:00
jvoisin
f455c18c66
perf(rewrite): anchor the rewrite regex
...
There is no need to try to match the regexp over the whole input, having it
anchored is enough. If we feel extra-lenient, we might strip spaces in
front/tail, but I don't think it's necessary.
This commit also invert a condition to reduce the level of nested indentation,
and make a condition stricter.
2025-07-10 19:23:54 -07:00
dependabot[bot]
9dea26c923
build(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.39.0 to 0.40.0.
- [Commits](https://github.com/golang/crypto/compare/v0.39.0...v0.40.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-10 17:33:04 -07:00
jvoisin
46adb0ffad
refactor(fetcher): simplification of ExecuteRequest
...
Instead of doing some ciphers manipulation before instantiating the http.Transport
and then assigning them, instantiate http.Transport, and then in an if do the
manipulation. This makes the code a bit clearer, which is always nice when it
comes to cryptographic shenanigans.
2025-07-09 19:36:36 -07:00
jvoisin
61583d53d5
refactor(config): simplify SortedOptions
...
Make use of the slices and maps packages instead of doing things by hand,
and pre-allocated sortedOptions.
2025-07-09 19:29:53 -07:00
jvoisin
7c42e777ec
refactor(config): minor improvements of the config parser
...
- Surface the faulty line number when trying to parse it
- Use strings.Cut instead of strings.SplitN
- Use strings.TrimSuffix instead of an if
- Simplify parseStringList and make its code more compact
2025-07-09 19:28:02 -07:00
dependabot[bot]
335dffbb75
build(deps): bump golang.org/x/term from 0.32.0 to 0.33.0
...
Bumps [golang.org/x/term](https://github.com/golang/term ) from 0.32.0 to 0.33.0.
- [Commits](https://github.com/golang/term/compare/v0.32.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/term
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 19:18:08 -07:00
Qeynos
f0cdfb33dd
feat(locale): update Chinese translations
2025-07-09 19:14:40 -07:00
jvoisin
13ef89f785
fix(storage): don't truncate title/content fields
...
As found out by @fguillot in https://github.com/miniflux/v2/pull/3461#issuecomment-3047204354
2025-07-08 19:36:18 -07:00
jvoisin
32fbb4e882
fix(ui): improve margins consistency wrt. header/footer
2025-07-08 19:30:13 -07:00
Julien Voisin
135ce1d546
feat(cookie): use SameSiteStrictMode
when not using OAuth2/OIDC
2025-07-08 19:20:24 -07:00
Cthulhux
abed7b11ce
feat(locale): update German translation
...
Missed two weird translations and one typo
2025-07-08 19:17:28 -07:00
Frédéric Guillot
2e26f5ca75
test(reader): ensure consistent tags parsing across feed formats
2025-07-07 20:07:35 -07:00
jvoisin
d6d18a2d61
perf(reader): shrink the json detection buffer
...
There is no need to allocate half a kilobyte of memory only check that a buffer
starts with a bunch of spaces and a `{`, 32b should be more than enough. Also,
no need to allocate it on the heap, having it on the stack works perfectly.
2025-07-07 19:21:59 -07:00
Frédéric Guillot
63891501e5
refactor(model): add test coverage and simplify ProxifyEnclosureURL
2025-07-07 18:41:44 -07:00
dependabot[bot]
7107ff985f
build(deps): bump github.com/go-webauthn/webauthn from 0.13.0 to 0.13.1
...
Bumps [github.com/go-webauthn/webauthn](https://github.com/go-webauthn/webauthn ) from 0.13.0 to 0.13.1.
- [Release notes](https://github.com/go-webauthn/webauthn/releases )
- [Commits](https://github.com/go-webauthn/webauthn/compare/v0.13.0...v0.13.1 )
---
updated-dependencies:
- dependency-name: github.com/go-webauthn/webauthn
dependency-version: 0.13.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 18:39:51 -07:00
jvoisin
50d5cb96c8
refactor(enclosure): simplify model/enclosure.go
...
- Reuse isAudio and isVideo instead of re-implementing them
- In IsImage, return early is the mimetype is enough, instead of systematically
lowercasing the url as well.
- Extract the common parts of the two ProxifyAbsoluteURL implementations into a
private function, make the code smaller and clearer.
- Fix a logic error where `A && B || C` was used instead of `A && (B || C)
2025-07-07 17:42:44 -07:00
Frédéric Guillot
f860daef7f
test(locale): increase test coverage to 100%
2025-07-07 17:39:56 -07:00
Frédéric Guillot
e7b98afdbe
refactor(subscription): avoid using Sprintf to construct Youtube playlist feed URL
2025-07-07 17:08:47 -07:00
Frédéric Guillot
2cfeefc8d2
test(processor): increase test coverage for parseISO8601Duration
2025-07-07 17:01:10 -07:00
jvoisin
b48e6472f5
refactor(processor): parse ~ISO8601 in a proper way
...
Instead of using an ugly (and incomplete) regex, let's use a simple for-loop to
parse ISO8601 dates, and make it explicit that we're only supporting a subset
of the spec, as we only care about youtube video durations.
2025-07-07 16:28:58 -07:00
jvoisin
24043ece07
refactor(config): unexport some symbols
2025-07-07 16:01:21 -07:00
jvoisin
a09129d220
refactor(proxyrotator): simplify mutex handling
...
There is no need to use a mutex to check the length of the proxies list,
as it's read-only during the whole lifetime of a ProxyRotator structure.
Moreover, it's a bit clearer to explicitly wrap the 2 lines of mutex-needing
operations between a Lock/Unlock instead of using a defer.
2025-07-07 15:52:16 -07:00
jvoisin
f864a2ed70
refactor(mediaproxy): simplify shouldProxy
...
The original function was non-trivial to understand, as `!A && (B || !C)` isn't
easily grokable by humans.
2025-07-07 15:50:13 -07:00
jvoisin
052e8dd0aa
refactor(config): remove two unused constants
2025-07-07 15:45:20 -07:00
jvoisin
7a394b0bf8
refactor(subscription): replace a regex with strings.CutPrefix
2025-07-07 15:44:45 -07:00
jvoisin
dcfe0a7d94
refactor(locale): simplify pluralForm
...
Instead of having a switch-case returning a function to be executed, it's
simpler/faster to have a single function containing a switch-case. It also
allows to group languages with identical plural form in a single
implementation, and remove the "default" guard value, as switch-case already
have a `default:` case.
2025-07-07 15:30:41 -07:00
jvoisin
33c648825f
refactor(locale): make Printf's code structure similar to Print's
...
And also change the order of the cases in the Plural function, to make it
explicit that []string shouldn't match []any.
2025-07-07 15:30:41 -07:00
jvoisin
78c7f66df7
refactor(locale): remove a call to fmt.Sprintf
2025-07-07 15:30:41 -07:00
jvoisin
f2b805850c
refactor(locale): remove an unused function
2025-07-07 15:30:41 -07:00
jvoisin
915b7b3cf7
refactor(locale): unexport a symbol
2025-07-07 15:30:41 -07:00
jvoisin
8e86004936
refactor(locale): use any instead of interface{}
2025-07-07 15:30:41 -07:00
Julien Voisin
a8b4e88742
perf(sanitizer): improve the performances of the sanitizer ( #3497 )
...
- Grow the underlying buffer of SanitizeHTML's strings.Builder to 3/4 of the
raw HTML from the start, to reduce the amount of iterative allocations. This
number is a complete guesstimation, but it sounds reasonable to me.
- Add a `absoluteURLParsedBase` function to avoid parsing baseURL over and over.
2025-07-07 15:21:13 -07:00
jvoisin
15e4c3a374
refactor(database): get rid of the sqlite tentative
2025-07-02 17:18:03 -07:00
jvoisin
69a74c4abf
refactor(readability): minor clean up
...
Remove a now-useless regex and its associated test.
2025-07-02 16:50:49 -07:00
jvoisin
766d4ab834
refactor(readability): make use of getSelectionLength
2025-07-02 16:47:27 -07:00
Frédéric Guillot
cb617ff6e0
test(sanitizer): enhance tests for image width and height attributes
2025-07-01 20:52:45 -07:00
Frédéric Guillot
8c3f280f32
test(readability): add test case for ExtractContent
with broken reader
2025-07-01 20:14:52 -07:00