Commit graph

54 commits

Author SHA1 Message Date
Tony Antonov
8d24659892
Forbid users to use empty titles for posts (#930)
- Add a regex that checks if string contains anything but whitespace
- Check for whitespace-only titles on post creation and edit
- Trim whitespace from titles before saving
- Add frontend validation to title
2020-07-10 21:15:53 -04:00
nutomic
80aef61aed Split code into cargo workspaces (#67)
More fixes

- fixed docker builds
- fixed mentions regex test
- fixed DATABASE_URL stuff
- change schema path in diesel.toml

Address review comments

- add jsonb column back into activity table
- remove authors field from cargo.toml
- adjust LEMMY_DATABASE_URL env var usage
- rename all occurences of LEMMY_DATABASE_URL to DATABASE_URL

Decouple utils and db

Split code into cargo workspaces

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/67
2020-07-10 18:15:41 +00:00
Riley
a074564458
Federation async (#848)
* Asyncify more

* I guess these changed

* Clean PR a bit

* Convert more away from failure error

* config changes for testing federation

* It was DNS

So actix-web's client relies on TRust DNS Resolver to figure out
where to send data, but TRust DNS Resolver seems to not play nice
with docker, which expressed itself as not resolving the name to
an IP address _the first time_ when making a request. The fix was
literally to make the request again (which I limited to 3 times
total, and not exceeding the request timeout in total)

* Only retry for connecterror

Since TRust DNS Resolver was causing ConnectError::Timeout,
this change limits the retry to only this error, returning
immediately for any other error

* Use http sig norm 0.4.0-alpha for actix-web 3.0 support

* Blocking function, retry http requests

* cargo +nightly fmt

* Only create one pictrs dir

* Don't yarn build

* cargo +nightly fmt
2020-07-01 08:54:29 -04:00
Dessalines
86dc50f9f0 Some fixes to federation.
- Advanced code migrations now disable then re-enable triggers.
  Brings run time down to < 15 seconds, no need to thread them.
- Changing ap_ids and actor_ids in migrations to a fake url,
  so it doesn't break XsdAnyUri in activitystreams.
2020-06-26 21:12:41 -04:00
Dessalines
dc94e58cbf Merge branch 'master' into federation_merge_from_master_2 2020-06-23 21:11:38 -04:00
Dessalines
4cf1f080bf Adding delete picture via pict-rs delete tokens. Fixes #505 2020-06-10 22:47:06 -04:00
Dessalines
2fbd44c59d Adding pictrs thumbnail caching for urls and embeds. 2020-06-10 18:22:57 -04:00
Felix Ableitner
52206998aa more fixes 2020-05-30 15:38:01 +02:00
Felix Ableitner
d6e2119277 make comments work (more or less) 2020-05-28 20:09:37 +02:00
Felix
9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
Dessalines
fab22e3d8a Add federated comment and post undo like. 2020-05-03 20:34:04 -04:00
Dessalines
a09c818746 Adding federated mod remove actions. 2020-05-03 10:00:59 -04:00
Dessalines
5366797a4b Add undos for delete community, post, and comment. 2020-05-01 15:01:29 -04:00
Dessalines
2f1cd9976d Adding federated community, comment, and post deletes.
- Unit tests added too.
- No undeletes working yet.
2020-05-01 10:07:38 -04:00
Felix
c43f06124a Address comments, implement delete for posts and comments 2020-04-29 16:51:25 +02:00
Dessalines
9721b77317 1/3rd done with post likes 2020-04-27 22:47:26 -04:00
Dessalines
22abbebd41 Lots of additions to federation.
- Added a shared inbox.
- Added federated comments, comment updates, and tests.
- Abstracted ap object sends into a common trait.
2020-04-27 12:57:00 -04:00
Dessalines
3ce0618362 Making a trait function for follow and accept. 2020-04-26 13:20:42 -04:00
Dessalines
f0026065f5 Merge branch 'master' into federation_merge_from_master_1 2020-04-21 10:25:29 -04:00
asonix
ac43b86b60 Change RateLimit to act as a middleware 2020-04-19 22:59:07 -05:00
Dessalines
f300c67a4d Adding websocket notification system.
- HTTP and APUB clients can now send live updating messages to websocket
  clients
- Rate limiting now affects both HTTP and websockets
- Rate limiting / Websocket logic is now moved into the API Perform
  functions.
- TODO This broke getting current online users, but that will have to
  wait for the perform trait to be made async.
- Fixes #446
2020-04-19 18:08:25 -04:00
Felix
fdaf0b3364 Get inbox working properly 2020-04-13 15:06:41 +02:00
Felix
483d11e772 Minor code cleanup 2020-04-09 21:26:22 +02:00
Felix
0b617377df Implement create activity 2020-04-09 21:04:31 +02:00
Felix Ableitner
b7103a7e14 Store remote communities/posts in db, federate posts! 2020-04-07 18:47:19 +02:00
Dessalines
85ea1046f0 Adding post and comment ap_id columns. 2020-04-03 20:04:57 -04:00
Felix Ableitner
390b204272 Rewrite federation settings 2020-03-18 22:09:00 +01:00
Felix Ableitner
8ebcc7ac02 Implemented basics for post federation, plus a bunch of other stuff 2020-03-14 22:03:05 +01:00
Felix Ableitner
5896a9d251 Move apub related code from websocket into api package 2020-03-14 13:15:23 +01:00
Felix Ableitner
b01f4f75d6 WIP: federate posts between instances 2020-03-14 01:05:42 +01:00
Dessalines
ac280782b2 Iframely and pictshare backend mostly done. 2020-03-07 18:31:13 -05:00
Dessalines
65a6e7731c Increasing post title length limit to 200. Fixes #515 2020-02-06 13:10:43 -05:00
Dessalines
ee2038a75a Returning specific slurs from slur filter on failure. Fixes #463 2020-02-02 22:51:54 -05:00
Dessalines
96a7e99e57 Removing PostLikeResponse in favor of PostResponse. Consolidating comment and post_sends. 2020-02-02 12:45:41 -05:00
Dessalines
8036474dda Starting to work on user message scope. 2020-01-31 20:02:20 -05:00
Felix
f1035dacc2 working! 2020-01-18 14:26:04 +01:00
Dessalines
dff8b947bb Trying to add r2d2 connection pooling to websockets. 2020-01-12 10:31:51 -05:00
Felix Ableitner
d08e09fbdc Apply changes suggested by cargo clippy (fixes #395) 2020-01-02 12:30:00 +01:00
Dessalines
fca8e6a0a9 Adding some site oriented settings.
- Adding option to close registration. Fixes #350
- Adding option to disable showing NSFW buttons. Fixes #364
- Adding option to disable downvotes. Fixes #239
2019-12-11 12:21:47 -08:00
Lyra
c19ace7e6a Introduce the "MaybeOptional" trait.
This trait is a generic type that allows us to get an Option from any type and from another option. It can be used to remove the ugly "do_something", "do_something_optional" that we previously had.
2019-12-11 00:10:39 +01:00
Dessalines
faef62e073 Switching to shorthands for rust params. 2019-12-09 11:08:19 -08:00
Dessalines
d18f2c9eb1 Use builder pattern for views
- Fixes #360
2019-12-08 12:39:54 -08:00
Lyra
9fc8aacc2d Add default options for all parameters and move them out of the constructor. Rename structure to PostQueryBuilder 2019-12-07 23:54:42 +01:00
Lyra
bff3183a27 Use a dedicated structure in order to search posts 2019-12-07 13:03:03 +01:00
Dessalines
90ce1f1a3f Adding default sort / filter into user settings.
- Fixes #295
2019-10-20 21:21:54 -07:00
Dessalines
3f6b2be2cc Adding stickied posts.
- Fixes #245
2019-09-08 23:14:13 -07:00
Dessalines
44442565aa Running cargo fmt on server code.
- Adding a .rustfmt.toml for the 2 space indent.
2019-09-07 08:35:05 -07:00
Dessalines
3561ef93a0 Adding Community and Site transfer
- Fixes #139
2019-08-23 19:40:41 -07:00
Dessalines
b7e73a5559 View where a URL has been cross-posted to in the past
- This shows when creating a post, or when viewing a post.
- Fixes #131
2019-08-21 22:17:15 -07:00
Dessalines
d7ab85ab70 Squashed commit of the following:
commit ecd6c5a2f4
Author: Dessalines <happydooby@gmail.com>
Date:   Tue Aug 13 19:49:38 2019 -0700

    Adding some docs

commit 3babd09aff
Author: Dessalines <happydooby@gmail.com>
Date:   Tue Aug 13 19:28:46 2019 -0700

    Adding save user settings

commit 6e8da9cc9e
Merge: 3246d5d c148eef
Author: Dessalines <happydooby@gmail.com>
Date:   Tue Aug 13 17:26:25 2019 -0700

    Merge branch 'dev' into nsfw

commit b3d4a5c4ce
Author: Dessalines <happydooby@gmail.com>
Date:   Sun Aug 11 20:55:09 2019 -0700

    nsfw mostly done, except for settings page.
2019-08-13 19:52:43 -07:00