Commit graph

64 commits

Author SHA1 Message Date
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
Felix Ableitner 0f1a8ec928 Merge branch 'master' into federation 2020-06-09 14:01:26 +02:00
Dessalines 29fc3681b9
Validate register usernames on the back-end. Fixes #716 (#750)
* Validate register usernames on the back-end. Fixes #716

* Changing name to is_valid_username
2020-05-28 14:07:36 -04:00
Felix 9e61c3be94 Rework imports 2020-05-16 20:04:17 +02:00
Dessalines 15f1920b25 Federated private messages. 2020-05-05 22:06:24 -04:00
Dessalines 66a2c4a2c3 Some fed fixes. 2020-04-24 10:04:36 -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 5284dc0c52 Simplify signing code 2020-04-19 13:44:44 +02:00
Felix 8daf72278d Add http signature to outgoing apub requests 2020-04-18 20:54:20 +02:00
Dessalines 61815bce2e Adding live reloading of config.hjson changes through UI.
- https://stackoverflow.com/questions/61159698/update-re-initialize-a-var-defined-in-lazy-static/61161271#61161271
- https://stackoverflow.com/questions/29654927/how-do-i-assign-a-string-to-a-mutable-static-variable/47181804#47181804
2020-04-11 14:06:04 -04:00
Felix Ableitner b7103a7e14 Store remote communities/posts in db, federate posts! 2020-04-07 18:47:19 +02:00
Dessalines 56947e7710 Removing community name unique constraint. Removing useless fedi_name column from user_table. 2020-04-07 10:54:15 -04:00
Dessalines 85ea1046f0 Adding post and comment ap_id columns. 2020-04-03 20:04:57 -04:00
Dessalines 9197b39ed6 Federation DB Changes.
- Creating an activity table.
- Adding some federation-related columns to the user_ and community
  tables.
- Generating the actor_id and keys in code, updating the tables.
2020-04-03 00:12:05 -04:00
Felix 76bf71162e Automatic instance setup based on config variables (fixes #404) 2020-03-29 00:13:13 +01:00
Dessalines 62ab68d317 Adding full logging. 2020-03-13 11:08:42 -04:00
Dessalines ac280782b2 Iframely and pictshare backend mostly done. 2020-03-07 18:31:13 -05:00
Dessalines 876d311706 Remove email from GetUserDetails when not same user. Fixes #579 2020-03-05 15:46:33 -05:00
Dessalines ee2038a75a Returning specific slurs from slur filter on failure. Fixes #463 2020-02-02 22:51:54 -05:00
Dessalines 8036474dda Starting to work on user message scope. 2020-01-31 20:02:20 -05:00
Dessalines ac1d5f2b86 Done merging http-api and private_message 2020-01-23 19:17:42 -05:00
Dessalines 253bc3e0af Adding private messaging, and matrix user ids.
- Fixes #244
2020-01-22 16:38:16 -05:00
Felix f1035dacc2 working! 2020-01-18 14:26:04 +01:00
Dessalines 8604c1d257 Fixing error when email already exists. Fixes #427 2020-01-17 20:34:16 -05:00
Dessalines dff8b947bb Trying to add r2d2 connection pooling to websockets. 2020-01-12 10:31:51 -05:00
Dessalines 5b42dc3393 Adding show_avatar user setting, and option to send notifications to inbox.
- Fixes #254
- Fixes #394
2020-01-02 16:55:54 -05:00
Felix Ableitner d08e09fbdc Apply changes suggested by cargo clippy (fixes #395) 2020-01-02 12:30:00 +01:00
Dessalines f5a13717ea Adding change password and email address from user settings.
- Fixes #384
- Fixes #385
2020-01-01 15:46:14 -05:00
Dessalines a4428528e3 Adding user avatars / icons. Requires pictshare.
- Fixes #188
2019-12-29 15:39:48 -05:00
Dessalines d57b2d4865 Fixing non-existent user profile viewing.
- Fixes #381
2019-12-28 20:58:01 -05:00
Felix Ableitner cf3ae15ee9 Implement config (fixes #351) 2019-12-27 17:28:44 +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 f0808a1116 Adding custom language setting.
- Fixes #319
2019-12-09 00:24:53 -08:00
Dessalines d18f2c9eb1 Use builder pattern for views
- Fixes #360
2019-12-08 12:39:54 -08:00
Dessalines a51b7d95b2 show_nsfw is now default for postquery. 2019-12-07 18:01: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 3021d19e1f Fixing ansible build, and email link. 2019-11-02 13:07:19 -07:00
Dessalines 3350599901 Running cargo fmt. 2019-11-01 23:43:21 -07:00
Dessalines 68e4b61808 Password reset mostly working. 2019-11-01 23:41:57 -07:00
Dessalines 9f35b33dc7 Halfway done with email, not fully working yet. 2019-10-29 20:35:39 -07:00
Dessalines 90ce1f1a3f Adding default sort / filter into user settings.
- Fixes #295
2019-10-20 21:21:54 -07:00
Dessalines 02dd9ac32a Adding username mentions / tagging from comments.
- Fixes #293
2019-10-19 17:46:29 -07:00
Dessalines f7c9dc0b21 Make delete account require password.
- Fixes #301
2019-10-17 21:25:23 -07:00
Dessalines 536313889d Running cargo fmt. 2019-10-15 15:10:42 -07:00