Commit graph

282 commits

Author SHA1 Message Date
525359f7c5
Add api tests for image endpoints ()
* Add api tests for image endpoints (fixes )

* curl instead of wget

* add missing files

* revert cargo update

* simplify setup

* use const

* rename to image.spec.ts

* adjust to client changes

* update client lib

* remove todos, move import

* try to fix ci

---------

Co-authored-by: SleeplessOne1917 <insomnia_void@protonmail.com>
2023-11-16 23:43:40 -05:00
fc56d0aa05
Use result instead of unwrap in apub tests () 2023-11-16 22:51:33 -05:00
a00313e680
Merge /site_inbox into /inbox, remove unique constraint for inboxes ()
* Merge /site_inbox into /inbox (fixes )

Get rid of different inboxes, only use /inbox

Remove shared_inbox_url db columns

add code migration

move to db migration, fixes

machete

fix sql

drop inbox url unique constraints

Dont create auth cookie in backend ()

dont change individual inboxes to shared inbox

Dont send comment reply to user who has community blocked. Fixes  ()

* Dont send comment reply to user who has community blocked. Fixes 

* Adding source instance block check.

* Adding api test.

* Addressing PR comments.

* move site inbox rewrite to db

* fix test

* clippy

* clippy 2

* fix test
2023-11-16 14:22:40 +01:00
Dessalines
e00b0c9da2
Dont send comment reply to user who has community blocked. Fixes ()
* Dont send comment reply to user who has community blocked. Fixes 

* Adding source instance block check.

* Adding api test.

* Addressing PR comments.
2023-11-09 12:03:25 +01:00
568233b062
Resolve federated objects from other instances via redirect (fixes ) ()
* Resolve federated objects from other instances via redirect (fixes )

* restore domain check using library change

* add test case, update apub lib

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-10-25 07:14:59 -04:00
d55bd2f2bc
Allow Arabic and Cyrillic usernames/community names (fixes ) ()
* Allow Arabic and Cyrillic usernames/community names (fixes )

* update comment
2023-10-24 16:25:52 -04:00
Dessalines
5540257b36
Fixing problem with SaveUserSettings, when either the Person or Local… ()
* Fixing problem with SaveUserSettings, when either the Person or LocalUser update is null.

- Fixes 
- Also upgrading api_test deps

* Move function into test.
2023-10-24 11:20:23 +02:00
Dessalines
c1db65c6e5
Fix up convert more responses to SuccessResponse ()
* Revert "Convert more responses to SuccessResponse. Fixes  ()"

This reverts commit 8deb4e5752.

* Removing purgeitem and deletecustomemoji response.

* Adding back in utils building.
2023-10-19 20:15:55 -04:00
Dessalines
8deb4e5752
Convert more responses to SuccessResponse. Fixes ()
* Convert more responses to SuccessResponse. Fixes 

* Upgrading lemmy-js-client.
2023-10-19 13:21:05 -04:00
56322c75f0
Read community follower count from home instance (fixes ) ()
* Read community follower count from home instance (fixes )

* fmt

* prettier

* fix tests

* fmt

* rename fn

* fmt

* Run prettier

* increase timeout

* ci

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Dessalines <tyhou13@gmx.com>
2023-10-17 10:34:38 -04:00
6cfbb8fc3b
Remove empty API responses ()
* Remove empty API responses

* also remove change password response

* fix invalidate

* Run clippy.

* Fixing api_test lints.

---------

Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-10-16 12:36:53 -04:00
256ee61908
Ignore activities in remote communities without local followers ()
* Ignore activities in remote communities without local followers (fixes )

* x

* comments

* prettier

* fix api test

* fix test

* cleanup

* fix remaining test

* clippy

* decrease delay
2023-10-16 06:03:49 -04:00
291ff19718
Only sanitize strings when generating RSS feeds and emails (fixes ) ()
* Only sanitize strings when generating RSS feeds and emails (fixes )

* clippy

* fix test
2023-10-11 16:48:19 +02:00
dc327652a5
Add db table for login tokens which allows for invalidation ()
* wip

* stuff

* fmt

* fmt 2

* fmt 3

* fix default feature

* use Authorization header

* store ip and user agent for each login

* add list_logins endpoint

* serde(skip) for token

* fix api tests

* A few suggestions for login_token ()

* A few suggestions.

* Fixing SQL format.

* review

* review

* rename cookie

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-10-09 12:46:12 +02:00
50589115e0
Fix federation of admin actions (fixes ) ()
* Fix federation of admin actions (fixes )

* clippy

---------

Co-authored-by: Dessalines <tyhou13@gmx.com>
2023-09-25 21:39:18 -04:00
SleeplessOne1917
1032cce065 Fix api test typo 2023-09-25 07:18:06 -04:00
SleeplessOne1917
13b20b0502 Address PR feedback 2023-09-25 06:37:45 -04:00
phiresky
9bcadadede fix after merge 2023-09-21 12:52:10 +00:00
phiresky
fe40adfc39 fix after merge 2023-09-21 12:32:41 +00:00
phiresky
31f3677270 fix after merge 2023-09-21 12:01:22 +00:00
phiresky
5941dc2924 Merge remote-tracking branch 'origin/main' into add_federation_worker_index 2023-09-21 11:57:13 +00:00
f858d8cbce
Remove explicit auth params ()
* Remove explicit auth params (ref )

Only take auth via header or cookie. This requires a new version
of lemmy-js-client for api tests to pass.

* rework api_crud

* remove remaining auth params, move logic to session middleware

* fmt, fix test

* update js client

* remove auth param from api tests

* Pass auth as header

* add !

* url vars, setHeader

* cleanup

* fmt

* update

* Updating for new lemmy-js-client.

---------

Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-09-21 06:42:28 -04:00
phiresky
f16aa9228d community fix 2023-09-20 21:00:30 +00:00
phiresky
1b7ab96887 wait until ban post removed 2023-09-20 20:26:00 +00:00
phiresky
2dbaf67b7c
Merge branch 'main' into add_federation_worker_index 2023-09-20 18:06:44 +02:00
phiresky
3d649e1d3e remove synchronous federation flag 2023-09-20 14:22:17 +00:00
phiresky
a61d564732 fix delete test 2023-09-20 13:07:36 +00:00
phiresky
c792f46c59 more wait for 2023-09-20 11:38:12 +00:00
phiresky
ae3b8f4f76 fix 2023-09-20 11:23:02 +00:00
phiresky
2e7d2d1956 wait for post api test function, better announce activity id 2023-09-20 11:23:02 +00:00
50f81cf157
User can block instances (fixes ) ()
* User can block instances (fixes )

* update comments

* review comments

* use route

* update

* add api test

* update tests

* fix

* fix test

* ci

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-09-20 11:56:13 +02:00
phiresky
afde8e7576 tweak more tests 2023-09-18 20:31:12 +00:00
phiresky
dff54d5e39 tweak tests more 2023-09-18 19:58:20 +00:00
phiresky
7dd857e00b log result 2023-09-18 19:19:40 +00:00
phiresky
2f0ad53b60 wait longer for fed init 2023-09-18 18:39:09 +00:00
phiresky
9868065089 minor test improvement 2023-09-18 18:23:55 +00:00
phiresky
d58e2e9db7 minor test improvement 2023-09-18 18:09:18 +00:00
phiresky
007f4f5319 wait on score 2023-09-18 17:30:02 +00:00
phiresky
954b3f443d fix wait 2023-09-18 17:28:23 +00:00
phiresky
9e886fba4a delay shorter 2023-09-18 16:49:55 +00:00
phiresky
943b960c32 fix waits after all follow actions 2023-09-18 16:29:08 +00:00
phiresky
27141553b6 fix after revert 2023-09-18 14:28:49 +00:00
phiresky
08401fc85f Revert "remove synchronous federation"
This reverts commit 2767ab4a6fed9aa8d197eda0c6a25a1d617d192d.
2023-09-18 14:25:35 +00:00
phiresky
c86173577d fix export location 2023-09-15 15:51:31 +00:00
phiresky
b09ffa7197 instead of changing fed delays in debug mode, change them via env variable 2023-09-13 11:23:13 +00:00
phiresky
375d9a2a3c
Persistent, performant, reliable federation queue ()
* persistent activity queue

* fixes

* fixes

* make federation workers function callable from outside

* log federation instances

* dead instance detection not needed here

* taplo fmt

* split federate bin/lib

* minor fix

* better logging

* log

* create struct to hold cancellable task for readability

* use boxfuture for readability

* reset submodule

* fix

* fix lint

* swap

* remove json column, use separate array columns instead

* some review comments

* make worker a struct for readability

* minor readability

* add local filter to community follower view

* remove separate lemmy_federate entry point

* fix remaining duration

* address review comments mostly

* fix lint

* upgrade actitypub-fed to simpler interface

* fix sql format

* increase delays a bit

* fixes after merge

* remove selectable

* fix instance selectable

* add comment

* start federation based on latest id at the time

* rename federate process args

* dead instances in one query

* filter follow+report activities by local

* remove synchronous federation

remove activity sender queue

* lint

* fix federation tests by waiting for results to change

* fix fed test

* fix comment report

* wait some more

* Apply suggestions from code review

Co-authored-by: SorteKanin <sortekanin@gmail.com>

* fix most remaining tests

* wait until private messages

* fix community tests

* fix community tests

* move arg parse

* use instance_id instead of domain in federation_queue_state table

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: SorteKanin <sortekanin@gmail.com>
2023-09-09 12:25:03 -04:00
71d61138bc
Replace ammonia lib with manual html escaping (fixes ) ()
* Replace ammonia lib with manual html escaping (fixes )

* prettier

* clippy

* remove sanitize unit test

* fix tests

* fix schema
2023-09-06 10:56:26 -04:00
biosfood
384e55f0e4
update moderator view ()
* update api tests for new moderator view

* chage moderator view to be a listing type in get posts

Note: Internally, the listing type is called ListingType.ModeratorView,
but it's called "Moderator View" in the api endpoint

* fix formatting

* add support for moderator view to list comments

* add api test for moderator view when listing comments

* fix api test formatting

* retry tests

* don't filter out blocked users and communities when using moderator view

* fix cargo tests failing

* fix formatting

* fix previous merge

* Adding ModeratorView to listing_type_enums

* Fixing fmt.

* Adding a default to ListingType.

* Upgrading to use new lemmy-js-client.

---------

Co-authored-by: Nutomic <me@nutomic.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Dessalines <tyhou13@gmx.com>
2023-08-31 13:07:45 +02:00
7fd14b3d2a
Make remove content optional during account deletion (fixes ) ()
* Make remove content optional during account deletion (fixes )

* simplify purge params by passing context

* update js client

* add delete content

* update woodpecker config

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-08-28 12:23:45 +02:00
Freakazoid182
51ccf318e8
Lowercase domain on db query filters () ()
* Lowercase domain on db query filters ()

* Add test to get a community on different cased domain ()

* Lowercase the identity for webfinger ()

* Lowercase both sides of the domain comparison ()

* Format api_tests ()

* Lowercase domain lookup on Instance and Person ()

---------

Co-authored-by: Freek van Zee <freek.van.zee@mediamonks.com>
Co-authored-by: Freakazoid182 <>
2023-08-22 11:10:21 -04:00
27be1efb74
Rewrite remaining federation actions, get rid of PerformCrud trait ()
* Rewrite ban actions

* Rewrite delete/remove actions

* Rewrite remove/delete community

* Rewrite report actions

* Rewrite feature/lock post

* Rewrite update community actions

* Rewrite remaining federation actions

* Get rid of PerformCrud trait

* clippy
2023-08-02 12:52:41 -04:00
RocketDerp
05a7fced65
Enhanced testing of comments. Validate reply notifications, mentions ()
* shared.ts first test of getReplies

* comment testing now validates reply notifications and mentions, some code comment cleanup in other functions

* comments revised

* first use of getUnreadCount in testing

* test notification of new comment replies, clarify usage of getReplies

* killall moved earlier in bash script

* api-test jest run does not need directory prefix, make consistent with other jest runs

* do not put my testing system password into script

* fix, killall exits script when no process found

* killall now moved to parent script to release locks before database create

* need to run killall a second time, before database drop

* first use of getReplies getPosts saveUserSettings

* accidental duplication of functions, removed

* try to sync shared library with main

* Nutomic feedback: Better to rename the var instead of putting a comment which can easily get outdated.

* Correct logic to meet join-lemmy requirement, don't have closed signups. Allows Open and Applications. ()

Co-authored-by: Josh Bernardini <josh.bernardini@cologix.com>

* Fix fetch instance software version from nodeinfo ()

Fixes 

* remove unused code, revert killall change

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: figure-0e <133478007+figure-0e@users.noreply.github.com>
Co-authored-by: Josh Bernardini <josh.bernardini@cologix.com>
Co-authored-by: Denis Dzyubenko <denis@ddenis.info>
Co-authored-by: Felix Ableitner <me@nutomic.com>
2023-08-01 09:14:40 -04:00
RocketDerp
21a87ebaf2
Federation tests replication round1 - demonstrate absent replication of comment deletes ()
* more robust test of unlike a comment, confirm replication to instance downstream from community home

* more robust 'delete a comment' test, confirm replication

* Far more robust "Report a comment" test. Many comments about situation, this is currently failing because gamma does not get the report

* typo and actually have Gamma comment check use gamma, not alpha

* prepare-drone-federation-test.sh has some more echo output and note about the LEMMY_DATABASE_URL format ()

* Add http cache for webfingers ()

* Add http cache for webfingers

* Remove the outgoing cache middleware & adjust the cache headers directive

* Use 1h & 3day cache header

* Update routes and adjust the cache headers location

* revert apub caching

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>

* Rewrite activity lists to fix delete federation (fixes )

* Revert "typo and actually have Gamma comment check use gamma, not alpha"

This reverts commit 7dfb6ee0f4885da3a2d10316422f5b510772806c.

* Revert "Far more robust "Report a comment" test. Many comments about situation, this is currently failing because gamma does not get the report"

This reverts commit 7bd3b20ae08a64324029491ddb3ce4295ba16787.

* prettier TypeScript

* revised comments, as ResolveObject isn't using routine replication

* fmt

* fix api tests

* remove comment

---------

Co-authored-by: cetra3 <cetra3@hotmail.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
2023-07-27 06:17:40 -04:00
3471f3533c
Sanitize html ()
* HTML sanitization in apub code

* Sanitize API inputs

* fmt

* Dont allow html a, img tags

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-07-26 14:01:15 -04:00
biosfood
2de994797e
Add moderator view parameter to list posts ()
* add option to only show posts from moderated communities

* rename moderated_only to moderator_view and show blocked users in moderator view

* add test for moderator view

* bump lemmy-js-client version for moderation view tests

* fix yarn lockfile

* retry build

* Delete logfile

* retry checks

* remove unused select statement from list posts

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-07-26 13:51:11 -04:00
afac3ee7ff
Skip fragile API tests ()
* Skip fragile API tests

These tests fail very often for no reason, eg in  and .
Better to disable them until they can be fixed.

* killall -s1
2023-07-26 12:15:18 -04:00
Domenic Horner
f9351b6512
UI Settings - Blur NSFW & Auto Expand ()
* add new flag to api

* add new ui settings for local user

* remove extraneous def

* add props to application reg.

* fix clippy updated these

* re-order db schema entries

* remove dupe

* update lemmy sdk

* update lemmy js client

---------

Co-authored-by: Nutomic <me@nutomic.com>
2023-07-26 07:53:45 -04:00
Dessalines
e17f0097ff
Fix federation test errors with new lemmy-js-client () 2023-07-21 11:47:56 +02:00
047db9ac85
Handle displaying of deleted and removed posts/comments (fixes ) ()
* Handle displaying of deleted and removed posts/comments (fixes )

* remove duplicate test

* fix tests

* no show_removed/show_deleted

* merge

* partially fix tests

* fix tests

* clippy

* fix tests

* get rid of build_post_response_deleted_allowed
2023-07-20 16:36:16 +02:00
RocketDerp
2adf7d5008
prepare-drone-federation-test.sh has some more echo output and note about the LEMMY_DATABASE_URL format () 2023-07-19 10:28:10 +02:00
phiresky
b35757b429
Improve api response times by doing send_activity asynchronously ()
* do send_activity after http response

* move to util function

* format

* fix prometheus

* make synchronous federation configurable

* cargo fmt

* empty

* empty

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2023-07-10 12:27:49 +02:00
Dessalines
2a088cf023
Update prettier to 3.0.0 ()
* Update prettier to 3.0.0

* Updating prettier dep.

* Explicity 3.0.0 version.
2023-07-06 15:10:38 +02:00
Charles Hall
4e5798852f
make shebangs posix compliant ()
Previously, these scripts wouldn't work on exotic systems such as NixOS.

```
fd '\.sh$' -t f --exec sed -i 's@#!/bin/bash@#!/usr/bin/env bash@'
```
2023-06-08 15:38:26 -04:00
a5707328cf
Dont return error in case optional auth is invalid ()
* Dont return error in case optional auth is invalid

* fixes
2023-05-25 10:50:07 -04:00
Dessalines
69f179bd33
Prettier check ()
* Adding prettier check to CI.

* Running prettier on codebase.
2023-05-13 16:50:58 -04:00
Dessalines
d63b1ba935
Upgrade api_test deps ()
* Upgrade api_test deps

* Fix cargo fmt.

* Try to trigger a new format
2023-05-10 16:31:37 -04:00
Dessalines
88a0d2feec
Adding typescript generation for API. Fixes ()
* Adding typescript generation for API. Fixes 

* Try to fix Ltree issue 1.

* Forgot a few types.

* Fixing api tests.

* Removing url_serde line.

* Manually deriving TS for some types.
2023-04-26 00:26:10 -04:00
Dessalines
d8722b6e91
Adding diesel enums for SortType and ListingType ()
* Adding diesel enums for SortType and ListingType

- Uses diesel-derive-enum.
- Adds diesel.toml , so we can again use the auto-generated schema.rs
- Fixes a lot of DB null issues and column ordering issues.
- Fixes 
- Also replaces RegistrationMode boilerplate.

* Fixing unit tests 1.

* Remove comment line.

* Before patch.

* Before again.

* Using patch file to fix diesel_ltree issue with diesel.toml

* Adding some yalc ignores

* Fixing RegistrationMode enums

* Adding woodpecker diesel schema check.

* Try adding openssl 1.

* Try using diesel-cli image 1

* Try using diesel-cli image 2

* Try using diesel-cli image 3

* Try using diesel-cli image 4

* Try using diesel-cli image 5

* Try using diesel-cli image 6

* Try using diesel-cli image 7

* Try using diesel-cli image 8

* Try using diesel-cli image 9

* Try using diesel-cli image 10

* Try using diesel-cli image 11

* Try using diesel-cli image 12

* Try using diesel-cli image 13
2023-04-17 15:19:51 -04:00
Dessalines
48f187188b
Show deleted and removed posts for profile views. Fixes ()
* Show deleted and removed posts for profile views. Fixes 

* Only showing non-deleted/removed posts for creator.

* Add a admin or mod check to views, to show deleted and removed posts.

- Also removed the pointless "blanking" functions

* Fix clippy

* Make hidden posts comment clearer.

* Fixing federation tests.

* Fixing fmt.
2023-02-28 22:46:15 -05:00
Dessalines
ddb6268164
Adding a site option to email admins for new reports. ()
- Fixes 
2023-02-15 00:57:08 +09:00
2891856b48
Fix docker federation setup () 2023-02-05 12:30:10 -05:00
ceff2ec686
Use enum for registration mode setting ()
* Use enum for registration mode setting

* fix tests
2023-01-05 01:42:30 +00:00
Dessalines
0630d214e3
Removing sniptt/monads for lemmy-js-client. ()
* Removing sniptt/monads for lemmy-js-client.

* Fix tests.
2023-01-04 10:59:26 -05:00
Anon
9dfd819691
Add support for Featured Posts ()
* Add support for Featured Posts

* Fix rebase

* More fixes
2022-12-12 11:17:10 +00:00
c6c52ab9cc Add SendActivity trait so that api crates compile in parallel with lemmy_apub 2022-12-02 10:46:49 +01:00
Dessalines
5d837780f5
Add diesel_async, get rid of blocking function ()
* Moving settings to Database.

- Moves many settings into the database. Fixes 
- Adds a local_site and instance table. Fixes  . Fixes 
- Separates SQL update an insert forms, to avoid runtime errors.
- Adds TypedBuilder to all the SQL forms, instead of default.

* Fix weird clippy issue.

* Removing extra lines.

* Some fixes from suggestions.

* Fixing apub tests.

* Using instance creation helper function.

* Move forms to their own line.

* Trying to fix local_site_data, still broken.

* Testing out async

* Testing out async 2

* Fixing federation tests.

* Trying to fix check features 1.

* Starting on adding diesel async. 1/4th done.

* Added async to views and schema.

* Adding some more async

* Compiling now.

* Added diesel async. Fixes 

* Running clippy --fix

* Trying to fix cargo test on drone.

* Trying new muslrust.

* Trying a custom dns

* Trying a custom dns 2

* Trying a custom dns 3

* Trying a custom dns 4

* Trying a custom dns 5

* Trying a custom dns 6

* Trying a custom dns 7

* Addressing PR comments.

* Adding check_apub to all verify functions.

* Reverting back drone.

* Fixing merge

* Fix docker images.

* Adding missing discussion_languages.

* Trying to fix federation tests.

* Fix site setup user creation.

* Fix clippy

* Fix clippy 2

* Test api faster

* Try to fix 1

* Try to fix 2

* What are these lines about

* Trying to fix 3

* Moving federation test back to top.

* Remove logging cat.
2022-11-09 10:05:00 +00:00
Dessalines
235cc8b228
Moving settings to Database. ()
* Moving settings to Database.

- Moves many settings into the database. Fixes 
- Adds a local_site and instance table. Fixes  . Fixes 
- Separates SQL update an insert forms, to avoid runtime errors.
- Adds TypedBuilder to all the SQL forms, instead of default.

* Fix weird clippy issue.

* Removing extra lines.

* Some fixes from suggestions.

* Fixing apub tests.

* Using instance creation helper function.

* Move forms to their own line.

* Trying to fix local_site_data, still broken.

* Fixing federation tests.

* Trying to fix check features 1.

* Addressing PR comments.

* Adding check_apub to all verify functions.
2022-10-27 09:24:07 +00:00
6c3e984ad1
Only allow authenticated users to fetch remote objects ()
* Only allow authenticated users to fetch remote objects

* try to fix api tests
2022-10-13 16:30:31 +00:00
ec5e63b5a9
Fix check for federated mod actions () 2022-10-10 11:20:36 -04:00
Dessalines
9c3efe32e7
First pass at adding comment trees. ()
* First pass at adding comment trees.

- Extracted comment replies into its own table.
- Added ltree column to comment
- Added parent_id param to GetComments to fetch a tree branch
- No paging / limiting yet

* Adding child_count to comment_aggregates.

* Adding parent comment update counts

* Fix unit tests.

* Comment tree paging mostly done.

* Fix clippy

* Fix drone tests wrong postgres version.

* Fix unit tests.

* Add back in delete in unit test.

* Add postgres upgrade script.

* Fixing some PR comments.

* Move update ltree into Comment::create

* Updating based on comments.

* Fix send soft fail.
2022-07-30 05:55:59 +02:00
eee8f467b5
Fix follow being stuck as pending after accept ()
* Fix follow being stuck as pending after accept

* fix api test
2022-07-20 14:10:29 +00:00
Dessalines
ff026dc3ff
Adding check for requests with no id or name, adding max limit. ()
* Adding check for requests with no id or name, adding max limit.

* Consolidating a few functions.

* Fix page min

* Adding more websocket rate limits.

* Add check to GetCommunity

* Use a default message rate limit check.

* Adding a page and limit checker

* Fix clippy

* Fix clippy again

* Adding check for requests with no id or name, adding max limit.

* Consolidating a few functions.

* Fix page min

* Adding more websocket rate limits.

* Add check to GetCommunity

* Use a default message rate limit check.

* Adding a page and limit checker

* Fix clippy

* Fix clippy again

* Fix limit request.

* Move checks to inside limit_and_offset

* Fixing API tests.

* Change NotFound diesel errors to QueryBuilderError
2022-07-08 10:21:33 +00:00
Dessalines
8af913f583
Don't create or initially follow a default community. Fixes ()
* Don't create or initially follow a default community. Fixes 

* Fix unit tests.
2022-06-22 19:38:27 +00:00
Dessalines
92d17639cd
Expose pending 2 ()
* Exposing SubscribedType. Fixes 

* Fixing other subscribed fields.

* Fix federation tests

* Add comment about follower row.
2022-06-22 12:05:41 +00:00
fcaf7a084c
Upgrade activitypub_federation to 0.2.0, add setting federation.debug () 2022-06-08 11:45:39 -04:00
a2a594b763
Extract Activitypub logic into separate library ()
* Create example for apub lib

* some rewriting of apub lib

* Add LocalInstance struct for apub lib to avoid using Lemmy Settings

* Move ActorType trait to lemmy_apub, because its not needed in library

* Use reqwest_retry instead of custom impl, dont specify timeout on every send()

* Some improvements to example

* Moved inbox handling to library

* bug fixes

* Move context and serde helpers into library

* wip: example changes

* Add lemmy_utils feature to build only LemmyError

* Rename to activitypub_federation

* Remove lemmy_utils dep from activitypub_federation using generic error type

* Finish activitypub example

* Cleanup and fix tests

* Reorganize library files

* Remove ApubObject.to_tombstone()

* Extract activitypub library into separate git repository
2022-06-02 16:33:41 +02:00
Dessalines
eafb3869f2
Revert "Add pending, and change use specific API response for FollowCommunity…" () 2022-05-26 11:17:04 -04:00
d4ee171b08 Making community_follower.pending column not null. 2022-05-20 16:15:14 +00:00
e6fe9d0325 Fixing unfollow 2022-05-20 16:15:14 +00:00
ed9b66541e Fixing API tests. 2022-05-20 16:15:14 +00:00
7e13406979
Require registration application by default () 2022-04-19 19:13:20 +00:00
8337eaefdd
Federate user account deletion (fixes ) () 2022-04-07 20:52:17 +00:00
65cac21713
Fix verify_mod_action check for remote admin actions ()
* Fix verify_mod_action check for remote admin actions

* fix federation test
2022-04-04 14:46:49 +00:00
Dessalines
483e7ab168
Doing tests in sequential order. Fixes ()
* Doing tests in sequential order. Fixes 

* Doing tests in sequential order. Fixes 

* Fixing order 1
2022-03-25 19:00:33 +00:00
500ca15893 Trying to fix api tests 2 2022-03-22 18:06:59 -04:00
5698dd7771 Trying to fix api tests 1 2022-03-22 15:50:47 -04:00
bcf7ec6109
Forbid remote URLs for avatars/banners (fixes ) () 2022-03-18 15:46:58 +00:00
dd865c5af5
Implement instance actor ()
* Implement instance actor

* wip: make site bans federate

* finish implementation and unit tests for federated bans

* start adding api tests

* fix api test

* remve site from GetCommunityResponse

* only federate site bans originating from user's home instance

* dont expose site.private_key in api
2022-02-07 19:23:12 +00:00
Kradyz
9f64872d5a
Case-insensitive webfinger response. Fixes & ()
* Make webfinger case insensitive

* Make webfinger case insensitive

* Case insensitive domain name

* Case-insensitive webfinger

* formatting

Co-authored-by: Kradyz <k@radiz.nl>
2021-12-20 17:23:06 -05:00
Dessalines
f1f7c45017
Three instance inbox bug ()
* 3 instance shared inbox bug test

* Fixing shared inbox bug. Fixes 

* A few fixes.
2021-10-28 20:46:24 +00:00
Dessalines
d9ecabee87
Dont blank out post or community info. Fixes ()
* Dont blank out post or community info. Fixes 

* Fix federation tests

* Only blank out info for non-logged in users.

* Remove pointless trait.

* Blank the community if deleted for post

* Fix hook

* Fixing again

* Fixing again

* Fixing again
2021-10-27 13:34:18 +00:00
149a4e0de8
Breaking apub changes ()
* Remove CommentInReplyToMigration

* Remove compat for RemovePostCommentOrCommunity

* Remove PublicUrlMigration

* Change type of pm to ChatMessage from Pleroma, make pm.to array

* Use person.summary instead of person.content for pleroma compat

* Also change group.content to summary

* Rewrite apub object test json to serve as nice examples

* Also add test case for parsing pleroma private message
2021-10-22 12:21:26 -04:00
f24999027e Merge crates db_schema and db_queries 2021-10-20 12:28:08 +02:00
18badcfdb4
Federate reports ()
* Federate reports

* add federation test cases for reports
2021-10-15 10:37:33 -04:00
Dessalines
2402515fcc
Dont allow posts to deleted / removed communities. Fixes ()
* Dont allow posts to deleted / removed communities. Fixes 

* Fixing couldnt find community error.

* Adding check in createorupdate post and comment.

* make sure post wasn't deleted or removed.

* Adding a post not deleted or removed check to creatorupdatecomment.

* Using pub(crate)
2021-10-14 16:33:19 +00:00
b96ce81f89
Move code to apub library ()
* Remove dependency of apub_lib on LemmyContext

* Move ApubObject trait to library

* Reorganize files in apub lib

* Move ActorType, signatures, activity_queue to apub library
2021-10-06 16:20:05 -04:00
527eefbe92
Rewrite fetcher ()
* Use new fetcher implementation for post/comment

* rewrite person fetch to use new fetcher

* rewrite community to use new fetcher

* rename new_fetcher to dereference_object_id

* make ObjectId a newtype

* handle deletion in new fetcher

* rewrite apub object search to be generic

* move upsert() method out of ApubObject trait

* simplify ObjectId::new (and fix clippy)
2021-09-25 11:44:52 -04:00
0fbc342fe3 Fix tests 2021-09-19 17:20:47 -04:00
83a035082a Upgrading to lemmy-js-client 0.12.0 2021-09-03 09:21:24 -04:00
815b271084 Updating lemmy-js-client. 2021-08-25 13:00:39 -04:00
Dessalines
c23e7cc20d
Fixing ResolveObject API and unit tests () 2021-08-23 17:25:39 +02:00
Dessalines
2016afc9db
User / community blocking. Fixes ()
* A first pass at user / community blocking. 

* Adding unit tests for person and community block.

* Moving migration

* Fixing creator_blocked for comment queries, added tests.

* Don't let a person block themselves

* Fix post creator_blocked

* Adding creator_blocked to PersonMentionView

* Moving blocked and follows to MyUserInfo

* Rename to local_user_view

* Add moderates to MyUserInfo

* Adding BlockCommunityResponse

* Fixing name, and check_person_block

* Fixing tests.

* Using type in Blockable trait.

* Changing recipient to target, adding unfollow to block action.
2021-08-19 20:54:15 +00:00
Dessalines
d85f0d087e
Blank out extra info for deleted or removed content. Fixes () 2021-07-30 18:44:15 +00:00
c1db86925f Merge apub, apub_receive crates (fixes ) 2021-07-17 18:20:44 +02:00
c7de1fcf24
Apub inbox rewrite ()
* start to implement apub inbox routing lib

* got something that almost works

* it compiles!

* implemented some more

* move library code to separate crate (most of it)

* convert private message handlers

* convert all comment receivers (except undo comment)

* convert post receiver

* add verify trait

* convert community receivers

* add cc field for all activities which i forgot before

* convert inbox functions, add missing checks

* convert undo like/dislike receivers

* convert undo_delete and undo_remove receivers

* move block/unblock activities

* convert remaining activity receivers

* reimplement http signature verification and other checks

* also use actor type for routing, VerifyActivity and SendActivity traits

* cleanup and restructure apub_receive code

* wip: try to fix activity routing

* implement a (very bad) derive macro for activityhandler

* working activity routing!

* rework pm verify(), fix tests and confirm manually

also remove inbox username check which was broken

* rework following verify(), fix tests and test manually

* fix post/comment create/update, rework voting

* Rewrite remove/delete post/comment, fix tests, test manually

* Rework and fix (un)block user, announce, update post

* some code cleanup

* rework delete/remove activity receivers (still quite messy)

* rewrite, test and fix add/remove mod, update community handlers

* add docs for ActivityHandler derive macro

* dont try to compile macro comments
2021-07-17 12:08:46 -04:00
904709e3f1 Upgrade api_test deps 2021-07-06 10:57:54 -04:00
Dessalines
f196f05f20
Upgrading api test deps () 2021-05-28 15:46:23 +00:00
aa79c5131f
Implement federated bans (fixes ) ()
* Implement federated bans (fixes )

* mod actions should always be federated to affected user, in addition to followers

* Make Undo/Block work for remote mods

* clippy fix

* fix federation test

* vscodium doesnt auto-save changes...
2021-04-09 11:01:26 -04:00
Dessalines
c3d64f996e
Removing community.creator column. Fixes ()
* Removing community.creator column. Fixes 

* Fixing unit tests.

* Fixing federation tests.
2021-04-08 11:29:08 +00:00
bf7558830f Changing preferred to display name. Fixes 2021-04-01 13:57:45 -04:00
2309088b03 Renaming to api/v3 2021-03-29 11:26:15 -04:00
c2f8695c9a Version 0.10.0-rc.12 2021-03-25 15:22:07 -04:00
4f54108a9c Merge branch 'main' into federated-moderation 2021-03-19 17:11:34 +01:00
4f7dca7c2b Fix three federation test cases 2021-03-18 17:02:15 +01:00
434fb53dd1 Trying to fix API tests. 2021-03-12 14:09:03 -05:00
66946117e1 Upgrade Rust version 2021-03-01 18:46:56 +01:00
Dessalines
462c4a2954
Rewrite settings implementation. Fixes ()
* A first attempt at using deser-hjson. Fixes 

* Trying to fix tests, try 1

* Trying to fix tests, try 2

* A few fixes to deser_hjson

- Removing unwrap_or_defaults, using impl functions.
- Reorganized settings

* Make clippy happy

* hjson list strings must be quoted.

* Adding support for env vars.

* Moving to structs and defaults file.

* Moving settings default and struct.
2021-03-01 17:24:11 +00:00
Dessalines
cf911c023d
Add listing type to list communities ()
* Adding listing type to ListCommunities. Fixes 

* Upgrading lemmy-js-client.
2021-01-26 12:18:01 -05:00
Dessalines
ee03cf8ae9
Explicit error http status codes ()
* Trying to type specific errors.

* Using @asonix 's downcast method.
2021-01-21 16:32:19 +00:00
1de8a4606a A few API v2 changes based on nutomic's suggestions.
- Changed `edit_id` s to their type (comment_id)
- Moved websocket actions to their own file in structs and api.
- Got rid of UserViewDangerous, added UserSafeSettings.
  - GetSite now returns UserSafeSettings for `my_user`.
- Got rid of `admin` field in `Register`.
2021-01-18 16:57:31 -05:00
1e0c32f7a3 Merge branch 'main' into move_views_to_diesel 2021-01-05 23:55:02 -05:00
61c6f33103 Trying to fix save user settings. 2021-01-04 14:09:53 -05:00
dependabot[bot]
632d8f384a
Bump node-notifier from 8.0.0 to 8.0.1 in /api_tests ()
Bumps [node-notifier](https://github.com/mikaelbr/node-notifier) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/mikaelbr/node-notifier/releases)
- [Changelog](https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md)
- [Commits](https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 11:29:04 -05:00
929f1d02b5 Fixing integration tests. 2020-12-20 22:27:27 -05:00
d767dd998e Merge branch 'drone-io-dess' into move_views_to_diesel_drone 2020-12-20 21:48:29 -05:00
5af8257e19 Changing unit tests to api v2. 2020-12-20 16:16:57 -05:00
9d0709dfe8 Trying again. 2020-12-17 21:55:15 -05:00
2e5297e337 Trying again. 2020-12-17 21:36:59 -05:00
5c266302c5 Adding unfollows. 2020-12-17 21:10:20 -05:00
caaf6b178b Trying again. 2020-12-17 15:35:28 -05:00
583808d5e7 Trying again. 2020-12-17 14:59:53 -05:00
5768a4eda7 Trying again. 2020-12-17 14:36:22 -05:00
4997d4b0b5 Trying again. 2020-12-17 14:23:15 -05:00
179709cc09 Fixing drone tests. 2020-12-17 14:01:33 -05:00
e492cce206 Allow running docker-less federation tests locally 2020-12-15 14:58:11 +01:00
d5955b60c0 silence lemmy output in federation logs 2020-12-14 18:01:12 +01:00
f33577b317 send activities sync for tests 2020-12-14 17:44:27 +01:00
ccd26bfcd7 Trying to fix post test again. 2020-12-12 10:45:14 -05:00
f6ba6d5590 Trying to fix post test again. 2020-12-12 10:28:28 -05:00
dfe17662df Trying to fix post test again. 2020-12-12 09:39:41 -05:00