Commit Graph

882 Commits

Author SHA1 Message Date
Spenser Black
a49d399f72
Link to libreddit/libreddit and open in new tab
This sets the target of the "code" link to `_blank`, so that it will
open in a new tab in browsers. Because the GitHub page is a different
context from libreddit, and accessing the repository doesn't imply that
the user is finished browsing libreddit, this seemed reasonable. This
also changes the link from `spikecodes/libreddit` to
`libreddit/libreddit`.
2023-01-01 13:43:33 -05:00
Rupert Angermeier
9178b50b73
fix a11y and HTML issues on settings page (#662)
- connect labels with corresponding form controls
- use fieldsets to group form sections
- don't nest details/summary element into label
2023-01-01 01:56:09 -07:00
Daniel Valentine
b5d04f1a50
v0.25.2 2022-12-31 21:34:15 -07:00
gmnsii
9e434e7db6
Search - add support for raw reddit links (#663)
* Search - add support for raw reddit links

If a search query starts with 'https://www.reddit.com/' or 'https://old.reddit.com/',
this prefix will be truncated and the query will be processed normally.
For example, a search query 'https://www.reddit.com/r/rust' will redirect to
r/rust.

* Search - support a wider variety of reddit links.

Add once cell dependency for static regex support (avoid compiling the
same regex multiple times).
All search queries are now matched against a regex (provided by @Daniel-Valentine)
that determines if it is a reddit link. If it is, the prefix specifying
the reddit instance will be truncated from the query that will then be
processed normally.
For example, the query 'https://www.reddit.com/r/rust' will be treated
the same way as the query 'r/rust'.
2022-12-31 20:57:42 -07:00
gmnsii
ab30b8bbec
Bugfix: 'all posts are hidden because NSFW' when no posts where found (#666)
* Fix 'all_posts_hidden_nsfw' when there are no posts.

If a search query yielded no results and the user set nsfw posts to be
hidden, libreddit would show 'All posts are hidden because they are NSFW.
Enable "Show NSFW posts" in settings to view'. This is fixed by
verifying tnat posts.len > 0 before setting 'all_posts_hidden_nsfw' to
true.

* Add a message when no posts were found.

* Delete 2
2022-12-31 19:11:59 -07:00
Alexandre Iooss
1fa9f27619 Theme browser scrollbar
Hint current color-scheme to the browser. This enables chromium-based
browsers to change the scrollbar color according to the current theme.
2022-12-26 22:57:04 +01:00
Daniel Valentine
37d1939dc0
Fix #658.
Dimensions for embedded video in post are explicitly set only when defined by Reddit.

c/o: NKIPSC <15067635+NKIPSC@users.noreply.github.com>
2022-12-13 21:15:28 -07:00
Daniel Valentine
08a20b89a6
Merge branch 'cache-determine-compressor' 2022-12-10 18:35:38 -07:00
Daniel Valentine
5d518cfc18
Cache result of server::determine_compressor. 2022-12-04 17:56:02 -07:00
spikecodes
7e752b3d81
Fix Docker credential secrets 2022-12-04 11:07:18 -08:00
spikecodes
87729d0daa
Use new libreddit org for GitLab and Docker links 2022-12-04 11:05:19 -08:00
spikecodes
dc06ae3b29
Automatically-update Docker Repo description 2022-12-04 11:01:28 -08:00
spikecodes
225380b7d9
Fix workflow to push to new Libreddit Docker repo 2022-12-04 10:57:19 -08:00
Daniel Valentine
7391a5bc7a
v0.25.0 2022-12-03 01:18:23 -07:00
Daniel Valentine
3ff5aff32f
Merge branch 'list-post-duplicates' 2022-12-03 01:11:45 -07:00
Daniel Valentine
e579b97442
List post duplicates (resolves #574). 2022-12-03 01:08:36 -07:00
Daniel Valentine
8fa8a449cf
Sign release (resolves #651). 2022-12-01 16:42:04 -07:00
Daniel Valentine
473a498bea Update CREDITS file. 2022-11-30 21:08:51 -07:00
laazyCmd
92f5286667 Make the column size in posts consistent.
Signed-off-by: Daniel Valentine <Daniel-Valentine@users.noreply.github.com>
2022-11-30 21:06:21 -07:00
Daniel Valentine
0a6bf6bbee Update CREDITS file. 2022-11-27 15:57:31 -07:00
Macic
618b074ad5
Fix embeds (#648) 2022-11-27 11:42:34 -07:00
Daniel Valentine
d86cebf975 Request CSS with explicit version.
base.html will now request with a query parameter `v=` whose value is
the current version of Libreddit. This will cause the browser to request
the stylesheet for a specific version of Libreddit, bypassing the cache.
A new version of Libreddit will cause the browser to fetch a new
stylesheet.

Resolves #622. Credit is due to GitHub user @chloekek for offering this
solution in the following post:
        https://github.com/libreddit/libreddit/issues/622#issuecomment-1315961742
2022-11-23 14:43:36 -07:00
Daniel Valentine
ab39b62533 Dockerfile.arm: Add git to builder. 2022-11-22 15:42:10 -07:00
Daniel Valentine
5aee695bae Dockerfile.arm: Force cargo to use git binary.
Hopefully resolves #641.
2022-11-22 15:38:17 -07:00
Daniel Valentine
c9633e1464 Revert "Dockerfile.arm: Verbose cargo install."
This reverts commit 0152752913.
2022-11-22 15:32:45 -07:00
Daniel Valentine
0152752913 Dockerfile.arm: Verbose cargo install.
Temporarily provide `--verbose` to `cargo install` to track when during
the build the process(es) receive SIGKILL.
2022-11-22 15:29:02 -07:00
Daniel Valentine
6912307349 Update version to v0.24.1. 2022-11-22 12:14:12 -07:00
Daniel Valentine
f76243e0af Revert "Dockerfile.arm: disable cargo build parallelization"
This reverts commit f0fa2f2709.

This did not stop the OS from issuing SIGKILL to cargo and/or one of its
child processes.
2022-11-22 00:22:15 -07:00
Daniel Valentine
f0fa2f2709 Dockerfile.arm: disable cargo build parallelization 2022-11-22 00:16:55 -07:00
Daniel Valentine
88bed73e5e
Extract Location URL path correctly in client::request. (fixes #645) (#646) 2022-11-21 08:58:40 -07:00
Daniel Valentine
3a33c70e7c Update CREDITS file. 2022-11-20 17:52:28 -07:00
Lena
40dfddc44d
Added gruvbox-dark and gruvbox-light themes (#490) 2022-11-20 13:49:20 -07:00
spikecodes
3f3d9e9c3b
Indicate pinned posts on user profiles (close #606) 2022-11-14 18:08:44 -08:00
Artemis
501b47894c
Add "BLUR_NSFW" to the list of settings in README (#639) 2022-11-12 10:37:58 -08:00
Spike
d8c661177b
Update Google PageInsights speed comparison 2022-11-11 09:43:18 -08:00
NKIPSC
fade305f90 Blur NSFW posts.
Reimplementation of libreddit/libreddit#482.

Co-authored by: Daniel Valentine <Daniel-Valentine@users.noreply.github.com>
2022-11-09 08:49:39 -07:00
NKIPSC
e62d33ccae Blur NSFW posts.
Reimplementation of libreddit/libreddit#482.

Co-authored by: Daniel Valentine <Daniel-Valentine@users.noreply.github.com>
2022-11-08 09:01:12 -07:00
Daniel Valentine
465d9b7ba7
Implement 'posts hidden because of NSFW'. (Resolves #159) (#619) 2022-11-07 20:54:49 -07:00
Daniel Valentine
5c366e14a3 Add CREDITS file and script to generate. (Resolves ferritreader/ferrit#33) 2022-11-06 16:04:02 -07:00
Matthew E
d4ca376e8d
Add format_url tests (#615) 2022-11-05 23:51:56 -06:00
Daniel Valentine
371b7b2635 Update Libreddit GitHub links. 2022-11-05 21:24:16 -06:00
Daniel Valentine
cc27dc2a26 Update README.md to point to markdown instances list. 2022-11-05 20:50:42 -06:00
Daniel Valentine
bfe03578f0 Update Instances section in README.md. 2022-11-05 13:25:12 -06:00
Daniel Valentine
c6487799ed
Redirect /:id to canonical URL for post. (#617)
* Redirect /:id to canonical URL for post.

This implements redirection of `/:id` (a short-form URL to a post) to
the post's canonical URL. Libreddit issues a `HEAD /:id` to Reddit to get
the canonical URL, and on success will send an HTTP 302 to a client with
the canonical URL set in as the value of the `Location:` header.

This also implements support for short IDs for non-ASCII posts, c/o
spikecodes.

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2022-11-05 02:29:04 -06:00
Daniel Valentine
584cd4aac1
Add DoomOne theme, c/o Tildemaster <root@vern.cc> (#611) 2022-11-03 23:08:03 -06:00
spikecodes
377634841c
Upgrade to v0.23.2 2022-11-03 21:31:32 -07:00
spikecodes
c0e37443ae
Allow the spoilering of links (fixes #610) 2022-11-03 21:30:35 -07:00
Daniel Valentine
8348e20724
Use permalink offered by Reddit (fixes #613). (#614) 2022-11-03 21:08:36 -07:00
Daniel Valentine
ae3ea2da7c
HTTP compression (Reddit -> Libreddit -> client) (#612)
Implements HTTP compression, between both Reddit and Libreddit and Libreddit
and a web browser. Compression between Reddit and Libreddit is mandatory,
whereas compression between Libreddit and a client is opt-in (client must
specify a compressor in the Accept-Encoding header).

Supported compressors are gzip and brotli. gzip support is ubiquitous,
whereas brotli is supported by almost all modern browsers except Safari
(iOS, iPhone, macOS), although Safari may support brotli in the future.

Co-authored-by: Matthew E <matt@matthew.science>
2022-11-03 22:04:34 -06:00
Spike
8435b8eab9
Update hls.js.min to v1.2.4
Mirrors ferritreader/ferrit#6
2022-11-02 08:46:59 -07:00