1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-06-27 16:36:00 +00:00
miniflux-v2/internal
jvoisin 86c58e11f6 perf(reader): use a non-cryptographic hash when possible
There is no need to use SHA256 everywhere, especially on small inputs where we
don't care about its cryptographic properties. We're using FNV as it's the
faster available hash in go's standard library, and we're picking its "a"
version as it's slightly better avalanche characteristics, which are
relevant for small inputs.

This commit has the side-effect of invalidating all favicons saved in the
database, which is desirable to benefit from the resize process implemented in
777d0dd2, as it didn't apply retro-actively.

We're also making use of hex.EncodeToString instead of fmt.Sprintf, as it's
marginally faster.

Note that we can't change the usage of sha256 for feed.Hash as it's used to
deduplicate entries in the database.
2025-06-18 20:28:23 -07:00
..
api perf(api): use math/rand/v2 2025-06-18 20:12:55 -07:00
cli feat(cli): add -reset-feed-next-check-at argument 2025-04-11 15:56:57 -07:00
config refactor(config): remove deprecated config options 2025-06-15 14:42:28 -07:00
crypto perf(reader): use a non-cryptographic hash when possible 2025-06-18 20:28:23 -07:00
database perf(database): use TRUNCATE instead of DELETE FROM in migrations 2025-06-15 13:58:46 -07:00
fever fix(fever): correct sorting direction when using max_id argument 2024-08-17 18:08:01 -07:00
googlereader feat(rssbridge): support auth token for RSS-Bridge 2025-05-19 20:47:12 -07:00
http refactor(http): Don't hardcode TLS configuration 2025-06-18 20:12:55 -07:00
integration feat(integration)!: remove Pocket integration 2025-06-15 13:29:55 -07:00
locale feat(integration)!: remove Pocket integration 2025-06-15 13:29:55 -07:00
mediaproxy refactor(config): remove deprecated config options 2025-06-15 14:42:28 -07:00
metric Implement structured logging using log/slog package 2023-09-24 22:37:33 -07:00
model feat(integration)!: remove Pocket integration 2025-06-15 13:29:55 -07:00
oauth2 feat(oidc): use preferred_username first instead of email claim 2025-06-08 18:05:47 -07:00
proxyrotator feat: add proxy rotation functionality 2025-04-06 14:59:00 -07:00
reader perf(reader): use a non-cryptographic hash when possible 2025-06-18 20:28:23 -07:00
storage refactor(crypto): use rand.Text() instead of a custom implementation 2025-06-18 20:12:55 -07:00
systemd Move internal packages to an internal folder 2023-08-10 20:29:34 -07:00
template feat(integration)!: remove Pocket integration 2025-06-15 13:29:55 -07:00
timezone perf(timzone): cache getLocation's results 2025-06-08 13:50:18 -07:00
ui feat(config)!: remove SERVER_TIMING_HEADER config option 2025-06-15 14:17:28 -07:00
urllib refactor(internal): add an urllib.DomainWithoutWWW function 2025-06-17 17:27:36 -07:00
validator perf(validator): slightly optimize a regex 2025-06-10 19:20:58 -07:00
version Move internal packages to an internal folder 2023-08-10 20:29:34 -07:00
worker refactor: avoid logging twice the feed errors in the background worker 2025-04-06 15:39:40 -07:00