Commit Graph

540 Commits

Author SHA1 Message Date
Peter Sawyer
469aff0689 Handle obfuscated share links 2023-10-04 09:55:33 -07:00
Ben Sherman
7a14975fb8 Remove 'Nel' and 'Report-To' response headers 2023-07-08 19:20:58 -07:00
Matthew Esposito
136aa0aa7d
Format 2023-06-09 17:32:21 -04:00
Matthew Esposito
a39bb9d502
Merge branch 'master' into reddit-stats 2023-06-09 17:31:12 -04:00
Matthew Esposito
5f562876f4
Make stats collection opt-out 2023-06-09 17:26:23 -04:00
Matthew Esposito
f7f1aa4bde
Abstract out random choosing 2023-06-08 16:27:36 -04:00
Matthew Esposito
c00beaa5d8
Improve OAuth refresh, logging 2023-06-08 14:33:54 -04:00
Matthew Esposito
49dde7ad72
Improve subreddit test 2023-06-08 14:06:58 -04:00
Matthew Esposito
0ca0eefaa4
Add tests to check fetching sub/user/oauth 2023-06-06 15:28:36 -04:00
Matthew Esposito
6cd53abd42
Documentation 2023-06-06 15:26:31 -04:00
Matthew Esposito
dc7601375e
Ignore dotenv failure 2023-06-06 15:07:11 -04:00
Matthew Esposito
659a82bf63
Improve spoofing of devices, handle token refreshes 2023-06-06 15:05:20 -04:00
Matthew Esposito
8a23616920
Stray space 2023-06-05 20:57:34 -04:00
Matthew Esposito
00355de727
Set proper headers 2023-06-05 20:39:56 -04:00
Matthew Esposito
383d2789ce
Initial PoC of spoofing Android OAuth 2023-06-05 20:31:25 -04:00
Nazar
97f0f69059
Rebase #811 (#812)
Co-authored-by: Matthew Esposito <matt@matthew.science>
2023-06-03 17:32:46 +00:00
Matthew Esposito
255307a4f7
Add request stats to instance info HTML 2023-05-31 20:02:00 -04:00
Matthew Esposito
de68409610
Add request stats to instance info page 2023-05-31 19:39:44 -04:00
Matthew Esposito
ca7ad9f812
Merge pull request #796 from StuffNoOneCaresAbout/lazy-init-regex 2023-05-01 10:09:59 -04:00
Kavin
4d5c52b83b
Rename variables to more descriptive names. 2023-05-01 05:00:49 +01:00
Kavin
6c47ea921b
performance: compile regex only once 2023-05-01 04:22:10 +01:00
Kavin
0c591149d5
Add option to disable all indexing. 2023-04-26 12:52:12 +01:00
Matthew Esposito
af8fe176ea
Fix clippy warnings 2023-04-19 10:37:47 -04:00
Matthew Esposito
4a1b448abb
Merge pull request #776 from iTzBoboCz/polls 2023-04-17 18:12:02 -04:00
Matthew Esposito
991677cd1e
Add variable for now_utc, format 2023-04-17 18:00:41 -04:00
Matthew Esposito
3b8a13d050
Merge pull request #773 from libreddit/fmt_clippy 2023-04-15 11:01:19 -04:00
Matthew Esposito
5f87875b8e
Merge branch 'master' into bypass-gate 2023-04-15 10:56:28 -04:00
Ondřej Pešek
ec226e0cab fix(polls): apply clippy suggestions 2023-04-08 10:41:12 +02:00
Ondřej Pešek
75af984154 fix(polls): apply suggestions and fix id parsing 2023-04-01 14:26:04 +02:00
Ondřej Pešek
8bed342a6d fix: print time suffix only for relative dates 2023-04-01 13:21:15 +02:00
gmnsii
de5d8d5f86 Requested code style changes 2023-03-26 11:52:02 -07:00
Matthew Esposito
f465394f93
Address fmt + clippy 2023-03-25 16:32:42 -04:00
gmnsii
1e418619f1 Feat: search for comments within posts
Add the ability to search for specific comments within posts.
Known issues:
  - Just like on reddit, this does not work with comment sorting. The
    sorting order is ignored during the search and changing the sorting
    order after the search does not change anything. I do not think we
    can fix this before reddit does, since in my understanding we rely
    on them for the sorting. However we could implement a default
    sorting method ourselves by taking the vector of comments returned
    from the search and sorting it manually.
  - The UI could be improved on mobile. On screens with a max width
    inferior to 480 pixels, the comment search bar is displayed below
    the comment sorting form. It would be great if we could make the
    search bar have the same width as the whole comment sorting form
    but I do not have the willpower to write any more css.
2023-03-24 17:41:26 -07:00
gmnsii
8be69f6fe5 Checks if the link contains the parameter instead of ends with it
To know if the gate should be bypassed, we check if the link contains
the pasameter instead of checking if the link ends with it. This is
impostant, for example if we were to implement searching for comments
within a post. If we wanted to search for comments within a post that we
have bypassed the gate to view: the link will look like
https://libreddit-instance/r/somesub/comments/post-id/post-title&bypass_nsfw_landing/?q=some-query&type=comment
2023-03-23 12:36:04 -07:00
gmnsii
e3b1c5b587 Use a bullet instead of empty margin when score is hidden
This is prettier and keeps consistency across the app.
2023-03-23 11:29:28 -07:00
gmnsii
a0726c5903 Change the bypass message and format code
The bypass message now indicates that the bypass is only temporary.
2023-03-23 11:09:33 -07:00
Ondřej Pešek
c1c867a5ff feat: add polls 2023-03-23 13:21:09 +01:00
Ondřej Pešek
5dc3279ac3 fix: make time work with future dates 2023-03-23 13:18:48 +01:00
gmnsii
e046144bf3 Allow bypassing nsfw gate for posts
On instances that are not sfw-only, the nsfw gate for posts can now be
bypassed.
2023-03-22 23:18:35 -07:00
gmnsii
df3d894947 Add option to hide score
Add the option to hide score for posts and comments in preferences.
There is still however a blank margin where the score is supposed to be.
2023-03-22 20:08:20 -07:00
Yaroslav Chvanov
741613e27f
Ignore errors while fetching subreddit names in subscriptions_filters()
If we can't retrieve subreddit name, just use the user-supplied name.
This fixes banned subreddits being impossible to to unfilter or
unsubscribe from.
A drawback of such approach is that it might be possible to subscribe to
a subreddit twice with different casing, however the chance of this is
extremely low.
2023-03-09 15:18:03 +03:00
Matthew Esposito
412ce8f1f3
Fix default subscriptions (#732)
Co-authored-by: Daniel Valentine <daniel@vielle.ws>
2023-03-08 21:53:23 -07:00
mikupls
01f9907aaf
show the count of 'more replies'. (#740)
Co-authored-by: Daniel Valentine <daniel@vielle.ws>
Co-authored-by: Matthew Esposito <matt@matthew.science>
2023-03-08 21:30:41 -07:00
mikupls
bf19ff513f
add support for gifs in galleries. (#744) 2023-03-08 21:04:26 -07:00
mikupls
ffc9ca2e98
use the documented LIBREDDIT_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION config option. (#737) 2023-03-04 13:04:40 -07:00
mikupls
a7f59ccac1 Display previews and inline images for reddit-hosted images.
This version does not change the svg behaviour in the other cases in an attempt to reduce breakage.
2023-03-03 13:50:05 +01:00
domve
eb07a2ce7c
Make gated subreddits accessible by treating them as quarantined (#722)
* Fix gated communities being unviewable by treating them as quarantined

* Show restriction reason in quarantine template

* Add `gated` checks for other requests
2023-02-26 00:40:32 -07:00
wsy2220
58fa213be8
Reuse hyper client. (#727)
Making a new connection on every request is very slow and wasteful, espectially on slower network.

Fix this by reuse a hyper client which shares a connection pool.

I'm able to lower /r/popular loading time from 5s to 1.5s on my machine.
2023-02-26 00:33:55 -07:00
potatoesAreGod
fa68bf561b
added leaving reddit dialog (#643) 2023-02-08 00:24:06 -07:00
Matthew Esposito
8be5fdee2d
Implement instance info endpoint (JSON, YAML, TXT) (#685)
Co-authored-by: Daniel Valentine <daniel@vielle.ws>
Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2023-01-30 02:02:43 -07:00
Spike
bb5f2674d1
Merge branch 'master' into feature/fixed-navbar 2023-01-16 19:43:54 -08:00
potatoesAreGod
eb9ef9f6d9
added leaving reddit dialog (#643) 2023-01-12 01:46:56 -07:00
Spenser Black
2a54043afc
Simplify listener definition (#681)
This simplifies the logic to build the listener by using more clap
features instead of manually accessing the PORT environment variable.
This also removes unnecessary `unwrap_or` calls that set defaults that
are already set by clap.
2023-01-12 01:41:59 -07:00
Johannes Schleifenbaum
dff91da877
config: fix SFW test 2023-01-04 11:12:19 +01:00
Daniel Valentine
9a7b3b29f5
Merge remote-tracking branch 'origin/master' into hide_awards 2023-01-03 11:12:27 -07:00
Matthew E
5b06a3fc64
Add config system to read from file (#664)
Co-authored-by: Daniel Valentine <daniel@vielle.ws>
2023-01-03 02:55:22 -07:00
Daniel Valentine
c83a4e0cc8
Landing page for NSFW content, SFW-only mode (#656)
Co-authored-by: Matt <matt@matthew.science>
Co-authored-by: Spike <19519553+spikecodes@users.noreply.github.com>
2023-01-03 02:39:45 -07:00
Matthew Esposito
6a785baa2c Add hide_awards config 2023-01-01 21:39:38 -05:00
elliot
6cf3748642
Fix for #675
/:id route now accepts 7 character post IDs.
2023-01-01 17:06:58 -06: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
Daniel Valentine
5d518cfc18
Cache result of server::determine_compressor. 2022-12-04 17:56:02 -07:00
Daniel Valentine
e579b97442
List post duplicates (resolves #574). 2022-12-03 01:08:36 -07:00
Daniel Valentine
88bed73e5e
Extract Location URL path correctly in client::request. (fixes #645) (#646) 2022-11-21 08:58:40 -07:00
spikecodes
3f3d9e9c3b
Indicate pinned posts on user profiles (close #606) 2022-11-14 18:08:44 -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
Matthew E
d4ca376e8d
Add format_url tests (#615) 2022-11-05 23:51:56 -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
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
170ea384fb
Support /comments endpoint (closes #568)
Code based on @Daniel-Valentine's [implementation](e2c84879d6)
2022-11-01 20:53:42 -07:00
spikecodes
b170a8dd99
Switch Reveddit to Unddit 2022-10-31 22:30:31 -07:00
spikecodes
b4d3f03335
Upgrade dependencies 2022-10-31 20:23:59 -07:00
Connor Holloway
6c202a59b0 Make the fixed navbar optional
Adds another on/off preference (default: on, keeps same
behaviour) for the fixed navbar.
When off the navbar will not remain at the top of the
page when scrolling.
This is useful for small displays such as phones where
otherwise the navbar takes up a sizeable portion of
the viewport.
2022-06-18 22:53:30 +01:00
spikecodes
f5cd48b07f
Fix #514 2022-05-21 21:06:03 -07:00
Mario A
90828cc71c
Fix "Post url contains non-ASCII characters" error (#479) 2022-05-21 05:48:59 +00:00
Nick Lowery
322aa97a18
Fix HTML encoding in templating (#404) 2022-05-21 05:28:31 +00:00
spikecodes
428dc58e3c
Update to v0.22.8 2022-05-20 19:20:44 -07:00
mikupls
60c7b6b23f
Embed css themes to simplify adding and testing new themes (#489) 2022-05-21 01:41:31 +00:00
spikecodes
bb7fb1313d
Fix multireddit subscription redirect url 2022-05-15 13:50:17 -07:00
mikupls
eb6c5e5e1e
Fix backslash url rewriting and add tests for rewrite_urls. (#461)
* Fix backslash url rewriting.

Add test for rewrite_urls.

Fixes #281.

* Update to v0.22.5

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2022-03-26 20:26:30 +00:00
Nick Lowery
f0a6bdc21b
Fix sorting buttons on r/all and r/popular (#402)
* Fix sorting buttons on r/all and r/popular

* Bump version to v0.22.2

* Fix empty sidebar in r/all and r/popular

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2022-03-15 03:39:39 +00:00
Nick Lowery
70ff150ab4
Add user listing buttons (#400)
* Add user listing buttons

* Update to v0.22

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2022-03-13 19:06:27 +00:00
spikecodes
977cd0763a
Fix #379 2022-01-05 16:46:45 -08:00
spikecodes
fcadd44cb3
Update dependencies 2022-01-05 16:39:56 -08:00
Andrew Kaufman
9c325c2cbf
Search fixes (#384)
* Default to searching within subreddit

* Redirect to subreddit from search
2022-01-05 14:06:41 -08:00
spikecodes
f1b3749cf0
Fix #378 — formatting of dates/times 2021-12-29 12:48:57 -08:00
spikecodes
0708fdfb37
Cover more Reddit domains with libreddit link rewrites 2021-12-29 11:38:35 -08:00
spikecodes
6b59976fcf
Fix #376 2021-12-27 23:16:01 -08:00
spikecodes
f9b3981448
Fix debug log in post.rs 2021-12-27 19:56:37 -08:00
spikecodes
db3196df5a
Use Reveddit to show removed posts/comments. Closes #299 2021-12-27 19:40:35 -08:00
spikecodes
b3d4f6f91c
Show external page links again 2021-12-27 18:00:19 -08:00
spikecodes
90fa0b5496
Automatically generate release notes 2021-12-27 10:15:25 -08:00
spikecodes
7aeabfc4bc
Rewrite Reddit post links to Libreddit equivalents 2021-12-26 21:18:20 -08:00
mikupls
341c623be8
Refactor Media parsing (#334)
* Parse video data from cross_post_parent_list as vanilla Reddit does.

introduce testdata directory for testing JSON parsing functions.

refactor Media::parse for slightly more readability.

Add various test cases.

* Trim down to just refactoring

Co-authored-by: Spike <19519553+spikecodes@users.noreply.github.com>
2021-12-20 01:07:20 +00:00
spikecodes
0656756d21
Fix #196 2021-11-29 22:29:41 -08:00
spikecodes
364c29c4d5
Use resized icons for awards. Fixes #346 2021-11-28 14:47:50 -08:00
Nick Lowery
888e7b302d
Filter subreddits and users (#317)
* Initial work on filtering subreddits and users

* Fix doubly-prefixed subreddit name in search alt text (e.g. r/r/pics)

* Don't set post title to "Comment" if empty - this could throw off actual posts with the title "Comment"

* Filter search results

* Fix filtering to differentiate between "this subject itself is filtered" vs "all posts on this current page have been filtered"

* Remove unnecessary check

* Clean up

* Cargo format

* Collapse comments from filtered users

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-11-26 04:02:04 +00:00
Diego Magdaleno
bd413060c6
Support displaying awards (#168)
* Initial implementation of award parsing

* Posts: Implement awards as part of post

* Posts: remove parse_awards dead code

* Posts: initial implementation of displaying Awards at the post title

* Posts: Proxy static award images

* Client: i.redd.it should take path as argument not ID

* Posts: Just like Reddit make award size 16px

* Templates: limit the awards to 4 awards to increase performance

* Comments: Make awards a property of comments and display them

* Format and correct /img/:id

* Update comment.html

* [Optimization] Awards is not longer async

* [Revert] Posts can now display more than 4 awards again

* [Implementation] Awards not display on the frontpage

* [Implementation] Display count on awards

* Post: Start working on awards css

* Awards: Move the image size to css

* Awards: Start implementing tooltips

* Refactor awards code and tweak CSS indentation

* Unify Awards::new and Awards::parse

* Use native tooltips and brighten awards background

Co-authored-by: Spike <19519553+spikecodes@users.noreply.github.com>
2021-11-25 02:08:27 +00:00
spikecodes
8e332b0630
Show full subreddit results in search 2021-11-23 22:24:23 -08:00
spikecodes
85ae7c1f60
Fix indentation and formatting 2021-11-23 22:23:29 -08:00
spikecodes
4faa9d46d6
Fix HTTPS connector 2021-11-21 22:44:05 -08:00
mikupls
768820cd4c
Render markdown correctly in text post previews by using selftext_html. (#335)
* Render markdown correctly in text post previews by using selftext_html.

I was mistakenly under the impression that we somehow render markdown ourselves, but turns out we just take whatever HTML reddit gives us, and we also need to do this for text previews.

Use CSS to limit the size of the previews instead of truncating in the template.

Fix table CSS.

* Fix post_body padding and trim post_previews

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-11-21 23:17:52 +00:00
mikupls
5d9c320a7e
Format post and comment votes with a decimal place, like vanilla reddit does. (#324)
* Format post and comment votes with a decimal place, like vanilla reddit does.

Before this change, a vote count of 1999 was displayed as 1k, which is a pretty big gap. The displayed count also differed from what Reddit does. Now, the behaviour is consistent.

Added some tests for format_num.

* Provide more space for post scores

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-11-21 04:07:45 +00:00
mikupls
c2053524c7
Add text post previews. (#328)
* Add text post previews.

* Add mask gradient over post preview text

* Increase post title font weight for contrast

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-11-20 21:13:50 +00:00
mikupls
731a407466
Collapse (sticky) bot comments by default. (#321)
* Collapse bot comments by default.

Comments are considered bot comments if they are posted by a moderator and are stickied. Some false positives are expected.

* Remove unneeded String conversion

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-11-19 05:42:53 +00:00
spikecodes
34ea679519
Update crates and optimize parameters 2021-11-14 18:51:36 -08:00
mikupls
0f7ba3c61d
Add "open in reddit" button to all pages (#304)
* Pass the url parameter to all templates. Add a reddit_link to the navbar, which opens the current url on reddit.

* Add icon for reddit link

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-11-15 02:39:33 +00:00
Nick Lowery
2486347b14
Fix follows not being case-sensitive (#316) 2021-11-15 00:45:18 +00:00
spikecodes
1d4ea50a45
Add setting to autoplay videos 2021-10-25 21:27:55 -07:00
dacousb
350b796571
Support Deployment to Heroku (#280)
* Added heroku.yml

* Added app.json

* PORT as env var
2021-09-19 19:03:01 +00:00
spikecodes
6a4191f3b5
Fix #272 2021-09-09 17:28:55 -07:00
spikecodes
982f57efd9
Fix user profiles showing up in search engines 2021-09-06 12:05:03 -07:00
spikecodes
41b3dc5739
More apt error messages for Reddit outages 2021-08-11 20:49:42 -07:00
spikecodes
45a5778571
Escape text-only flairs 2021-07-19 10:20:00 -07:00
accountForIssues
be253d40dd
Escape html characters in post flairs (#247)
* Encode HTML characters in flairs

* Encode HTML characters in flairs

* Use esc! macro for HTML escaping

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-07-19 17:15:15 +00:00
spikecodes
345f8e7b80
Dampen title color of visited posts. Fixes #222 2021-07-18 14:53:08 -07:00
spikecodes
a190890239
Fix Regex matching of Reddit links 2021-07-17 22:24:28 -07:00
spikecodes
56998b8332
Rewrite redd.it links 2021-06-21 22:51:50 -07:00
spikecodes
d2002c9027
Disable dysfunctional moderator list feature 2021-06-11 11:03:36 -07:00
spikecodes
d27bd782ce
Specify fallback fonts 2021-05-26 20:30:08 -07:00
spikecodes
4defb58f2a
Optimizations and commenting 2021-05-20 12:24:06 -07:00
spikecodes
ba42fc066f
Fix two subscription bugs 2021-05-19 20:30:10 -07:00
spikecodes
b9af6f47f3
Use Inter font 2021-05-19 16:09:08 -07:00
spikecodes
73732a2a44
Fix subscription clearing when saving settings 2021-05-19 15:59:32 -07:00
spikecodes
43ed9756dc
Upgrade to v0.14 2021-05-16 09:11:38 -07:00
curlpipe
8bb247af3b
Added support for quarantined subreddits (#219)
* Added support for quarantined subreddits

* Added confirmation wall for quarantined subreddits

* Added quarantine walls to other routes and fixed case issue

* Correct obsolete use of cookie()

* Refactor param() and quarantine()

Co-authored-by: Spike <19519553+spikecodes@users.noreply.github.com>
2021-05-16 15:53:39 +00:00
spikecodes
4f09333cd7
Handle three unwraps 2021-05-15 14:51:57 -07:00
spikecodes
e4f9bd7b8d
Configure default settings using environment variables 2021-05-15 13:59:42 -07:00
Adrian Lebioda
928907086c
HLS video playback (#182)
* HLS video playback

Signed-off-by: Adrian Lebioda <adrianlebioda@gmail.com>

* Add LibreJS compliance

* Locally host hls.js

* Notification about HLS under videos that support it

Signed-off-by: Adrian Lebioda <adrianlebioda@gmail.com>

* Use .contains() instead of .find() == None

* Make list of preferences constant

* Change headers_keys from Vector into Array

* Fix incorrect detecting of # in paths

* Remove trailing-slash-appending if statement

* Change HLS notification styling

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-05-10 01:25:52 +00:00
curlpipe
536a766960
WIP: Various subreddit & post fixes (#215)
* Fixed random subreddit issue

* Fixed large subreddit icon rendering

* Formatting fix

* Fix dodgy HTML rendering issues

* Revert "Fix dodgy HTML rendering issues"

This reverts commit 58be5f449b72f271d2b3c046870b652d1e715289.
2021-05-09 15:40:49 +00:00
spikecodes
e34329cfee
Upgrade to v0.11.1 2021-05-08 22:09:47 -07:00
imabritishcow
97a0680bd0
Support GIFs in comments (#217)
* Support GIFs in comments

* Fix removing Giphy links so it only removes Giphy links

* Remove removing link to Giphy
2021-05-09 01:22:26 +00:00
spikecodes
c1560f4eba
Upgrade to v0.11.0 2021-05-06 12:31:59 -07:00
curlpipe
242ffab0da
Fix bug with subreddit subscription case & RTL languages (#214)
* Fixed subreddit subscription case issues

* Fixed formatting

* Fixed flair RTL language issue (#132)

* Convert display_lookup to Vec

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-05-06 19:11:25 +00:00
curlpipe
1211d781d0
Add list of moderators to sidebar (#213)
* Added list of moderators to sidebar & added wiki not found message

* Improved code formatting
2021-05-04 17:30:54 +00:00
spikecodes
3cf787cf98
Fix #195 2021-04-14 21:53:17 -07:00
spikecodes
a18db1e2b7
Properly pass preview queries to media proxy 2021-04-08 22:26:03 -07:00
spikecodes
b3e4b7bfae
Add user following functionality 2021-04-06 10:23:05 -07:00
spikecodes
f0f484288e
Fix server.rs function name 2021-03-31 13:03:44 -07:00
spikecodes
c7f9386c01
Fix #169 2021-03-27 13:03:13 -07:00
spikecodes
66ac72beab
Fix clippy errors 2021-03-26 20:00:47 -07:00
spikecodes
6a7f725c12
Default subreddit post sorting. Closes #166 2021-03-25 21:41:58 -07:00
spikecodes
772d20615b
Sidebar about page. Closes #162 2021-03-21 19:28:05 -07:00
spikecodes
0bb1677520
Revert client to HTTP/1.1 2021-03-21 13:56:05 -07:00
spikecodes
da4883db29
Upgrade client to HTTP/2 2021-03-21 11:37:03 -07:00
spikecodes
4c66e75f6b
Add HSTS command line flag 2021-03-20 22:10:31 -07:00
spikecodes
966e0ce921
Expand truncated numbers on mouseover. Close #156 2021-03-20 15:42:47 -07:00
spikecodes
dc7e087ed0
Truncate negative scores 2021-03-19 22:04:44 -07:00
spikecodes
9b5176f7b9
Sub icons and truncated subscribers in search results 2021-03-18 21:32:54 -07:00
spikecodes
467342edf4
Patch broken homepage sorting 2021-03-18 08:51:31 -07:00
spikecodes
a81502dde1
Fix wiki routing 2021-03-17 21:40:55 -07:00
spikecodes
0ce2d9054e
Handle non-ASCII post headers 2021-03-17 21:26:06 -07:00
spikecodes
07363e47a9
Request building error handler 2021-03-17 16:53:49 -07:00
spikecodes
fb7faf6477
Handle HeaderValue and Uri parsing errors 2021-03-17 16:32:28 -07:00
spikecodes
b14b4ff551
Rewrite server and client using Hyper 2021-03-17 15:30:33 -07:00
spikecodes
f209757ed6
Handle proxy unwraps 2021-03-12 12:21:02 -08:00
spikecodes
4173362ce1
Fix #148 2021-03-11 20:15:26 -08:00
spikecodes
b2ae5e486f
Rename subreddit::page to subreddit::community 2021-03-10 21:43:06 -08:00
spikecodes
118ff9485c
Document proxy.rs 2021-03-10 19:02:03 -08:00
spikecodes
2e89a85858
Handle alternative status codes 2021-03-09 22:23:26 -08:00
spikecodes
e59b2b1346
Custom HTTP client with Rustls 2021-03-09 22:13:46 -08:00
spikecodes
1c36549134
Fix #146 2021-03-09 07:22:17 -08:00
spikecodes
5fb88d4744
Allow certain clippy lints 2021-03-08 19:22:10 -08:00
spikecodes
bf783c2f3a
Optimize type casting 2021-03-08 18:49:06 -08:00
spikecodes
10873dd0c6
Fix #144 2021-03-05 06:24:40 -08:00
spikecodes
20f6945160
Fix #140 2021-02-27 13:34:02 -08:00
spikecodes
10c73fad7f
Switch favicon to ico 2021-02-26 12:04:11 -08:00
spikecodes
1de01d7283
Log errors to io::stderr 2021-02-25 16:21:56 -08:00
spikecodes
9183ce1921
Handle links in Media::parse 2021-02-25 11:43:58 -08:00
spikecodes
a197df89ff
Turn off media logging 2021-02-25 11:30:15 -08:00
spikecodes
be2a1d876b
Fix url rewrites 2021-02-25 11:01:25 -08:00
spikecodes
5d643277bc
Geometric logo 2021-02-25 09:07:45 -08:00
spikecodes
a3ec44149c
Categorize utilities 2021-02-24 21:29:23 -08:00
spikecodes
5cd5b553b0
Handle suspended users 2021-02-24 11:26:23 -08:00
spikecodes
47d01a0dca
Fix logging 2021-02-24 11:00:04 -08:00
spikecodes
4a06882dc8
Simplify routes in main.rs 2021-02-24 09:26:01 -08:00
spikecodes
8034594006
Better subreddit error messages. Closes #131 2021-02-22 16:43:32 -08:00
spikecodes
518d5753a7
Handle about pages 2021-02-21 10:13:20 -08:00
spikecodes
dd67b52199
Fix #126 2021-02-20 18:36:30 -08:00
spikecodes
9cfab348eb
Filter by flair. Closes #124 2021-02-20 13:59:16 -08:00
spikecodes
a606e48435
Handle 4 more unwraps 2021-02-20 12:14:32 -08:00
spikecodes
2091f26bda
Fix media previews 2021-02-19 21:49:02 -08:00
spikecodes
b3341b49c0
Individually proxy subreddit and user icons 2021-02-19 21:46:44 -08:00
spikecodes
65e4ceff7b
Individually proxy previews 2021-02-19 20:50:55 -08:00
spikecodes
902c9a6e42
Individually proxy custom emojis 2021-02-19 18:18:09 -08:00
spikecodes
c586de66ba
Individually proxy images and thumbnails 2021-02-19 12:55:07 -08:00
spikecodes
8560e8a37a
Add "port" command line argument 2021-02-18 11:49:50 -08:00
spikecodes
3652342f46
Use clap for arg parsing 2021-02-18 11:40:10 -08:00
spikecodes
58127b17d8
Individually proxy videos 2021-02-18 10:04:59 -08:00
spikecodes
14ecf3cf60
Edit indicator 2021-02-14 14:53:09 -08:00
spikecodes
aa7c8c85df
Templatize redirects 2021-02-13 15:02:38 -08:00
robrobinbin
93cfc713c6
Generate URL to restore settings, including subscriptions. Closes #89 (#116)
* Start recursive comments

* Update comment.html

* Fix move error

* Comment improvements

* Fix merge

* Remove extra endif from post.html

* Fix post.html

* Restore setting from link

* Tweak settings page

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-02-13 20:55:23 +00:00
spikecodes
f06320a4ae
Subscribe to multireddit button. Closes #104 2021-02-12 20:47:54 -08:00
robrobinbin
809be42e01
Add "View all comments" and "Show parent comments" buttons when viewing a single thread. Closes #65 (#115)
* Start recursive comments

* Update comment.html

* Fix move error

* Comment improvements

* Fix merge

* Remove extra endif from post.html

* Fix post.html

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-02-12 09:16:59 -08:00
robrobinbin
4a40e16277
Fix comment structuring (#113)
* Start recursive comments

* Update comment.html

* Fix move error

Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>
2021-02-10 10:48:51 -08:00
spikecodes
fee2cb1b56
Split subscription names by + 2021-02-09 21:56:38 -08:00
spikecodes
8785bc95f5
Fix extra slashes in post bodies 2021-02-09 21:54:55 -08:00
spikecodes
6feb347c27
Fix post ID parsing 2021-02-09 12:08:38 -08:00