Commit Graph

230 Commits

Author SHA1 Message Date
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
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
85ae7c1f60
Fix indentation and formatting 2021-11-23 22:23:29 -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
spikecodes
1d4ea50a45
Add setting to autoplay videos 2021-10-25 21:27:55 -07:00
spikecodes
6a4191f3b5
Fix #272 2021-09-09 17:28:55 -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
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
4defb58f2a
Optimizations and commenting 2021-05-20 12:24:06 -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
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
a18db1e2b7
Properly pass preview queries to media proxy 2021-04-08 22:26:03 -07:00
spikecodes
6a7f725c12
Default subreddit post sorting. Closes #166 2021-03-25 21:41:58 -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
b14b4ff551
Rewrite server and client using Hyper 2021-03-17 15:30:33 -07:00
spikecodes
4173362ce1
Fix #148 2021-03-11 20:15:26 -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
bf783c2f3a
Optimize type casting 2021-03-08 18:49:06 -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
8034594006
Better subreddit error messages. Closes #131 2021-02-22 16:43:32 -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
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
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
Spike
ebbdd7185f
Move from Actix Web to Tide (#99)
* Initial commit

* Port posts

* Pinpoint Tide Bug

* Revert testing

* Add basic sub support

* Unwrap nested routes

* Front page & sync templates

* Port remaining functions

* Log request errors

* Clean main and settings

* Handle /w/ requests

* Create template() util

* Reduce caching time to 30s

* Fix subscription redirects

* Handle frontpage sorting
2021-02-09 17:38:52 +00:00
spikecodes
402b3149e1
Fix 'no entry found for key' error 2021-02-07 17:56:06 -08:00
spikecodes
ac5ef89dff
Fix gallery unwrapping 2021-02-07 17:33:54 -08:00
robrobinbin
7edca18f8d
Inline videos/gifs for card view (#107)
* Basic gallery support

* Inline videos for card view
2021-02-08 00:22:14 +00:00
robrobinbin
cf45d53fdd
Basic gallery support (#103) 2021-02-06 20:05:11 +00:00
spikecodes
90d3063f93
Fix #96 2021-02-03 21:42:43 -08:00
spikecodes
ee0da63862
Update version and screenshot 2021-01-31 18:50:31 -08:00
spikecodes
971f14bb55
Fix #66 2021-01-31 14:10:13 -08:00
spikecodes
1653d4fb4c
Hide NSFW content by default 2021-01-30 21:43:46 -08:00
spikecodes
21d96e261f
Set subscriptions as default front page 2021-01-30 20:18:57 -08:00
Matthew Crossman
11e4ff42ed
Clean-up and more consistent styles. 2021-01-30 19:33:38 +11:00
Matthew Crossman
345308a9ac
Basic subscribe functionality. 2021-01-30 18:00:00 +11:00
Matthew Crossman
75bbcefbec
Display sub list from list in cookie.
Very basic sub list setup. Cookie must be manually added in devtools.
2021-01-30 16:00:55 +11:00
spikecodes
5fe9ce8d7b Refactor JSON parsing error logging 2021-01-27 21:48:32 -08:00
spikecodes
8c04365049 Improve error logging 2021-01-27 17:48:58 -08:00
spikecodes
d5b1c3a5bb Fix connection reset error 2021-01-26 11:00:07 -08:00
spikecodes
f038aa61f4 Log JSON parse errors and Reddit request failures 2021-01-26 10:54:57 -08:00
robrobinbin
acd2cff747
Lower number of cached items 2021-01-24 11:08:24 +01:00
robrobinbin
226d39328c
Make it 60 2021-01-23 22:45:41 +01:00
Robin
b2ad2f636c Resolve merge conflicts 2021-01-23 10:55:11 +01:00
Robin
077c222a4e Experiment with caching 2021-01-23 10:48:33 +01:00
spikecodes
2270b6cf95 Reduce post padding 2021-01-21 21:25:51 -08:00
spikecodes
140c1b1bfa Small fixes 2021-01-18 13:12:59 -08:00
spikecodes
21763c51cd Make number formatting inclusive 2021-01-17 12:59:40 -08:00
spikecodes
138f8320e9 Create media struct 2021-01-17 12:58:12 -08:00
Robin
090ca1a140 Add comment counter and other post improvements 2021-01-17 20:39:57 +01:00
spikecodes
471d181284 Disable production error logging 2021-01-16 15:17:08 -08:00
spikecodes
0e48c66b8c Fix user agent 2021-01-16 15:13:34 -08:00
spikecodes
a0bc1732cf Moderator and admin distinguishers 2021-01-16 15:02:24 -08:00
spikecodes
0f6e73dd87 Reformat code 2021-01-16 11:50:12 -08:00
spikecodes
151490faf0 Add space next to comment collapse marker 2021-01-16 11:49:49 -08:00
spikecodes
fdf60e7255 Separate datetime into relative and absolute 2021-01-16 11:40:32 -08:00
spikecodes
2385fa33ec Use ureq until AWC IO error is fixed 2021-01-15 21:26:51 -08:00
spikecodes
1fd688eeed Improve awc error log 2021-01-15 20:57:51 -08:00
spikecodes
65543a43b2 Make User-Agent Reddit-compliant 2021-01-15 20:29:34 -08:00
spikecodes
3a9b2dba32 Fix error log 2021-01-15 15:35:09 -08:00
spikecodes
59021b9331 Switch back to ureq temporarily 2021-01-15 15:28:51 -08:00
spikecodes
aef0442e9d Add rate-limit warning 2021-01-15 11:24:12 -08:00