Commit Graph

1375 Commits

Author SHA1 Message Date
Mark Lopez
d2d32428d9 chore: further isolated hyper 2026-04-04 13:34:49 -05:00
Mark Lopez
c005e6f2d3 chore: switch gzip to default wreq handling, enabled device emulation, removed unused crates 2026-04-04 13:08:30 -05:00
Mark Lopez
e138fbb1d5 refactor: moved all tests into test mod blocks 2026-04-04 12:41:39 -05:00
Mark Lopez
0f66cb1b3b chore: proof of concept of wreq 2026-04-04 12:34:15 -05:00
Mark Lopez
ff47763627 chore: added wreq, updated README.md 2026-04-04 11:46:22 -05:00
Mark Lopez
9e1c09610c fix: avoid 403 by matching cipher suites to that of FF 2025-12-04 17:42:08 -06:00
Matthew Esposito
2dc6b5f3c0 feat(oauth): add additional fallback oauth backend 2025-10-06 12:27:12 -04:00
Matthew Esposito
a989d19ca9 Merge pull request #479 from tchebb/lazylock
Use `std::sync::LazyLock` instead of `once_cell` version
2025-09-09 14:17:57 -04:00
Matthew Esposito
2db763ef18 fix(clippy): fix broken clippy's 2025-09-09 14:16:27 -04:00
Matthew Esposito
70187b7adc fix(tests): update regex list tests 2025-09-09 14:12:31 -04:00
Thomas Hebb
cf58f2f654 Use std::sync::LazyLock instead of once_cell version
This has been in std since Rust 1.80. We currently need Rust 1.81 to
build (#478), so there's no reason not to use it and remove our direct
dependency on once_cell.
2025-09-09 14:11:53 -04:00
Matthew Esposito
21e14df975 Merge pull request #477 from tchebb/doc-comments
Convert lots of comments to doc comments
2025-09-09 14:07:53 -04:00
Matthew Esposito
d510e1ce06 Merge pull request #480 from tchebb/compress-content-length
Recompute `Content-Length` on compression
2025-09-09 14:04:57 -04:00
Matthew Esposito
4f1506d1f4 Merge pull request #478 from tchebb/msrv
Document MSRV of Rust 1.81
2025-09-09 14:00:22 -04:00
Matthew Esposito
b694853285 Merge pull request #475 from cycneuramus/main
fix: Use correct wget flag in Docker health check
2025-09-09 13:58:44 -04:00
Matthew Esposito
cc8e1cd530 Merge pull request #474 from chowder/fix-user-agent
Set User-Agent header in proxied media requests to match currently spoofed device
2025-09-09 13:57:34 -04:00
Matthew Esposito
143eec8f74 Merge pull request #463 from efficientwrite/main
Fix table layout for mobile
2025-09-09 13:56:40 -04:00
Matthew Esposito
c7c48c2110 Merge pull request #464 from musicinmybrain/rinja-to-askama
Replace `rinja` with `askama`
2025-09-09 13:56:16 -04:00
Thomas Hebb
e09485c000 Recompute Content-Length on compression
Content-Length holds the number of bytes in an HTTP response after
encoding and compression. Our compress_response() function breaks that:
when the response it's compressing already includes a Content-Length
header, it may shorten the body but leave the header unchanged.

I noticed this because of #465, since the textual error message proxied
from Reddit gets compressed but already has Content-Length. The issue is
masked in normal operation because we don't compress the binary image
data that Reddit is supposed to return. In debug builds, hyper catches
the issue[1] and panics, but in release builds we return a nonconformant
HTTP response.

Fix the issue by removing the header if we choose to compress, letting
hyper compute the new value for us.

[1] https://github.com/hyperium/hyper/blob/v0.14.32/src/proto/h1/role.rs#L708-L725
2025-09-04 15:17:45 -04:00
Thomas Hebb
74053c157a Document MSRV of Rust 1.81
Found using cargo-msrv[1]. It's good to document this so that
contributors know when using a new language feature will require a
semver break.

Rust 1.81 is currently required by litemap 0.7.5 and zerofrom 0.1.6,
which are both in url's dependency tree.

[1] https://github.com/foresterre/cargo-msrv
2025-09-04 13:52:34 -04:00
Thomas Hebb
df703251c2 Convert lots of comments to doc comments
This makes the documentation generated with `cargo doc` quite a bit more
readable. Also fix a few typos while we're at it.
2025-09-04 13:24:00 -04:00
cycneuramus
82ff097ceb fix: Use correct wget flag in Docker health check 2025-09-02 19:55:00 +02:00
chowder
47ef6a06d4 fix: set User-Agent header in proxied media requests to match currently spoofed device 2025-08-29 21:55:04 +01:00
Benjamin A. Beasley
78f8dcc3ac Replace rinja with askama
“New versions of `rinja` will be released under the name `askama`.”

https://crates.io/crates/rinja
2025-08-17 08:34:07 -04:00
Efficientwrite
cb7e36c935 Fix table layout 2025-08-16 19:02:03 +05:30
Matthew Esposito
407a6c00c3 fix: update landing page 2025-08-02 07:01:54 -04:00
Matthew Esposito
3e67694e2b Merge pull request #455 from austinhuang0131/patch-1
fix: avoid redirecting to undefined instance
2025-07-20 22:55:07 -04:00
Austin Huang
bdc84235c1 fix: avoid redirecting to undefined instance
Since there's an onion instance in the list without a `url` value, occasionally the redirect gives `undefined` as instance domain. This avoids it for clearnet users.

For users on an onion domain this will return only onion instances, though this might not be the most appropriate choice right now given that there is only one onion instance...
2025-07-20 19:28:25 -04:00
Matthew Esposito
f1e5aa5e17 fix: update url href 2025-07-18 19:13:34 -04:00
Matthew Esposito
6bd20df42f Merge pull request #449 from gigirassy/main
Update error to refer to latest rate limit issue
2025-07-18 19:12:19 -04:00
nune
a48771320a Update error.html 2025-07-01 07:46:10 -04:00
nune
66fed3cb51 Update error.html 2025-07-01 07:45:19 -04:00
nune
7193b6c9ac Update check_update.js 2025-07-01 07:44:47 -04:00
Matthew Esposito
628fbf86cc chore(clippy) 2025-06-29 16:37:00 -04:00
Matthew Esposito
11e68ea2e8 fix(rss): fallback on html decode
fixes #448
2025-06-29 16:33:40 -04:00
Matthew Esposito
d18df92840 feat(server): ban disrespectful user agents
seriously, just run your own instance.
2025-06-29 16:26:22 -04:00
Matthew Esposito
dcb507d567 feat: Improve OAuth error handling with custom AuthError type and better timeout management 2025-04-21 14:17:27 -04:00
Matthew Esposito
ddeefb5917 Merge pull request #407 from n8pjl/patch-1
fix: correct typo bockquote -> blockquote in template
2025-04-08 22:02:58 -04:00
Matthew Esposito
7582871e61 Merge pull request #408 from redlib-org/dependabot/cargo/tokio-1.44.2
build(deps): bump tokio from 1.44.0 to 1.44.2
2025-04-08 21:52:30 -04:00
dependabot[bot]
e80ec5d16b build(deps): bump tokio from 1.44.0 to 1.44.2
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.44.0 to 1.44.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.0...tokio-1.44.2)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.44.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 01:45:01 +00:00
Peter Lafreniere
1fc3669493 fix: correct typo bockquote -> blockquote in template 2025-04-08 21:17:26 -04:00
ryanshanz
dbdc4fc2a3 fix: Copy and Import button layouts (#402) 2025-03-31 00:33:39 -04:00
Matthew Esposito
cbc3e49923 v0.36.0 2025-03-19 23:05:28 -04:00
Matthew Esposito
15147cea8e fix: add resource limits on encoded prefs route v0.36.0 2025-03-19 22:58:51 -04:00
Matthew Esposito
3d85df5044 chore(deps): resolve dependabot, other cargo updates 2025-03-07 17:10:21 -05:00
Matthew Esposito
c9e6ffd33c clippy fix 2025-03-07 17:08:58 -05:00
Matthew Esposito
526c0d0797 fix: opensearch.xml route 2025-03-07 17:08:27 -05:00
Matthew Esposito
357e7c2e09 chore: remove "official" instance 2025-03-01 12:35:43 -05:00
Matthew Esposito
d097495a41 fix: handle case insensitivity for subs 2025-02-27 20:10:01 -05:00
Matthew Esposito
f3ca7bb7d1 feat: allow for case-insensitive search redirects (fix #389) 2025-02-27 14:35:09 -05:00