Commit Graph

632 Commits (2732a5bf0707cfca38cf6e826d867d69eb6f4888)

Author SHA1 Message Date
Nutomic dc35ab9c2b
Use correct url for activitystreams protocol context (#2326) 2 years ago
Nutomic cd4d235171
Move setting http_fetch_retry_limit into federation block (#2314) 2 years ago
Dessalines 4e12e25c59
Adding admin purging of DB items and pictures. #904 #1331 (#1809)
* First pass at adding admin purge. #904 #1331

* Breaking out purge into 4 tables for the 4 purgeable types.

* Using CommunitySafe instead in view

* Fix db_schema features flags.

* Attempting to pass API key.

* Adding pictrs image purging

- Added pictrs_config block, for API_KEY
- Clear out image columns after purging

* Remove the remove_images field from a few of the purge API calls.

* Fix some suggestions by @nutomic.

* Add separate pictrs reqwest client.

* Update defaults.hjson

Co-authored-by: Nutomic <me@nutomic.com>
2 years ago
trwnh 5b7376512f
Fix: Use correctly parseable JSON-LD context (#2299)
* Fix: Use correctly parseable JSON-LD context

* Changed: Better ordering for context document

alphabetized properties

* Changed: Use xsd types instead of schema.org types

* Changed: use simple namespacing
2 years ago
Nutomic fcaf7a084c
Upgrade activitypub_federation to 0.2.0, add setting federation.debug (#2300) 2 years ago
Nutomic 7bc2f9fd6d
Remove unused setup config vars (#2302) 2 years ago
Nutomic c050945b1f
Add pub use for db crates in api_common (#2305) 2 years ago
Nutomic 7804a9d893
Accept private like (#1968) (#2301) 2 years ago
Paolo Barbolini 0a3b69a259
Bump lettre to 0.10.0-rc.7 (#2297) 2 years ago
Nutomic 780832256c
Remove unused cargo.toml files (#2293) 2 years ago
Nutomic 5387c262c1
Forbid outgoing requests in activitypub tests (fixes #2289) (#2294) 2 years ago
Nutomic 339eab01fd
Embed Peertube videos (#2261)
* Use og:video attribute for embeds, change Post.embed_html to embed_url

* fix clippy
2 years ago
Nutomic 9a458d2e4b
Run cargo check for each crate with different features (ref #2284) (#2292) 2 years ago
Nutomic 13ca1111c4
Remove 0.15 federation compat code (#2131) 2 years ago
Nutomic a2a594b763
Extract Activitypub logic into separate library (#2288)
* 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
2 years ago
Dessalines 1bd57ee5ca Version 0.16.5 2 years ago
Dessalines 69106589ba Fix publish 2 years ago
Dessalines eafb3869f2
Revert "Add pending, and change use specific API response for FollowCommunity…" (#2283) 2 years ago
Dessalines 3c111b3062 Dropping default on pending column. 2 years ago
Dessalines d4ee171b08 Making community_follower.pending column not null. 2 years ago
Dessalines 763dc9668c Fix formatting. 2 years ago
Dessalines e6fe9d0325 Fixing unfollow 2 years ago
Dessalines 48f5a2ee5e Add pending, and change use specific API response for FollowCommunity. Fixes #2246 2 years ago
Nutomic 9ef0efa420
Add legal information (fixes #721) (#2273) 2 years ago
Felix Ableitner 426e1b1e51 Update image crate 2 years ago
Felix Ableitner 562b88da9e Remove youtube metadata test 2 years ago
Dessalines 5eb0dfdc73 Fixing malformed rosetta translations. Fixes #2231 2 years ago
Nutomic f0ec3015cd
Remove check that avatars/banners are locally hosted (fixes #2254) (#2255) 2 years ago
Paolo Barbolini ef12cd9588
Bump lettre to 0.10.0-rc.6 (#2250) 2 years ago
Paolo Barbolini 559e43075a
Simplify building plain/html emails (#2251) 2 years ago
Nutomic 7b86441bab
Federate with Peertube (#2244) 2 years ago
Nutomic 3053e14be7
Derive default for api request structs, move type enums (#2245)
* Derive default for api request structs, move type enums

* Simplify api by using enum types directly, instead of string

* Add default and clone for most api structs
2 years ago
Nutomic 3aa3d75a1e
Add cargo feature for building lemmy_api_common with mininum deps (#2243) 2 years ago
Nutomic dd5835fb6e
Add restricted community field to CreateCommunity, UpdateCommunity (ref #2235) (#2242) 2 years ago
Nutomic 7058cfa1cf
Implement restricted community (only mods can post) (fixes #187) (#2235)
* Implement restricted community (only mods can post) (fixes #187)

* review fixes

* fix tests
2 years ago
Nutomic c718882479
Accept comments with hashtags from Friendica (#2236) 2 years ago
Nutomic 2e01e8e42c
Remove unused dependencies (#2239) 2 years ago
Nutomic 56b7030901
Fix link metadata unit test (#2237) 2 years ago
Nutomic 3488b9aeb5
Dont return "admin" for GET user when no id/name is provided (fixes #1546) (#2233) 2 years ago
Nutomic ae84258c41
Federation: dont overwrite local object from Announce activity (#2232)
* Federation: dont overwrite local object from Announce activity (fixes #2143)

* add missing form fields

* refactoring

* add ap_id, updated fields

* fix
2 years ago
Nutomic 00b0b26dfa
Add default post listing type (fixes #2195) (#2209)
* Add default post listing type (fixes #2195)

* review fixes

* change column type
2 years ago
Dessalines 24be9f2cd5
Show deny reason to users after a failed login. Fixes #2191 (#2206)
* Show deny reason to users after a failed login. Fixes #2191

* Updating translations.

* Adding registration_denied translated string.
2 years ago
Dessalines 0a36b16e29
Fix allowlist / blocklist description location. Fixes #2214 (#2215)
* Fix allowlist / blocklist description location. Fixes #2214

* Fix allowlist check
2 years ago
Nutomic 3951a16447
Split apart api files (#2216) 2 years ago
Nutomic e0381df88a
Expose remote site info in GetCommunity API (fixes #2208) (#2210)
* Expose remote site info in GetCommunity API (fixes #2208)

* use instance_actor_id_from_url()
2 years ago
Dessalines 3d8709780a
Fixing unstable post sorts. Fixes #2188 (#2204) 2 years ago
Nutomic bbd739af9b
Change Person, Instance types (#2200) 3 years ago
Nutomic b47a474863
Merge branch 'main' into clippy_fix_2 3 years ago
Nutomic fed73a72c1
Write mod log for federated sticky/lock post actions (#2203) 3 years ago
Dessalines 0bcdfa8be4 Clippy fixes. 3 years ago
Dessalines c232564fda Version 0.16.3 3 years ago
Dessalines 4878848955 Version 0.16.3-rc.1 3 years ago
Dessalines 4052900d30 Updating translations 3 years ago
Nutomic 8337eaefdd
Federate user account deletion (fixes #1284) (#2199) 3 years ago
Nutomic 9ac1f46a2b
Dont federate initial upvote (#2196) 3 years ago
Nutomic f9d563d80a
Add missing mod log entries for federated actions (fixes #1489) (#2198) 3 years ago
Dessalines 37c834725c Make sure application questionaire is required. Fixes #2189
Also fix local image domain check. Was failing for blank strings /
replaces.
3 years ago
Nutomic 65cac21713
Fix verify_mod_action check for remote admin actions (#2190)
* Fix verify_mod_action check for remote admin actions

* fix federation test
3 years ago
Nutomic c7f5337099
Run cargo upgrade (#2176)
* Run cargo upgrade and cargo update

* Fixing validation (#2179)

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
3 years ago
Nutomic bfae246734
Migrate towards using page.attachment field for url (ref #2144) (#2182) 3 years ago
Nutomic 56b275acd4
Exclude removed/deleted posts from community outbox (#2184) 3 years ago
Nutomic 589d952a95
Fetch community outbox in parallel (fixes #2180) (#2181) 3 years ago
Dessalines 4cf0da7b60 Clippy fixes. 3 years ago
Nutomic ad7e6d99ed
Add email translations (#2175) 3 years ago
Dessalines d5a213760d Version 0.16.2 3 years ago
Dessalines f7fa1f10f9 Updating translations. 3 years ago
Dessalines 7bb8069224 Version 0.16.2-rc.3 3 years ago
Nutomic 610120067c
Add test files for Friendica federation (fixes #2144) (#2167) 3 years ago
Dessalines e16821116e
Lowering search rate limit. Fixes #2153 (#2154)
* Lowering search rate limit. Fixes #2153

* Adding a search rate limit.

* Forgot to add the websocket search rate limit

* Fix wrong op
3 years ago
Dessalines d49565e030
Rate limit ws joins (#2171)
* Removing async on mutex lock fn.

* Removing redundant ip

* Don't check rate limit twice.
3 years ago
Dessalines a11b5b107d Version 0.16.2-rc.2 3 years ago
Dessalines f2a0841586
Rate limit websocket joins. (#2165)
* Rate limit websocket joins.

* Removing async on mutex lock fn.

* Removing redundant ip

* Return early if check fails.
3 years ago
Nutomic a5ff629b24
Dont log errors when rate limit is hit (fixes #2157) (#2161)
* Dont log errors when rate limit is hit (fixes #2157)

* Clone service rather than http request

* some cleanup/refactoring

Co-authored-by: Aode (Lion) <asonix@asonix.dog>
3 years ago
Dessalines c681bb79b1 Version 0.16.2-rc.1 3 years ago
Dessalines 2da0684e95 Removing check_only 3 years ago
Dessalines ed9f70276d Fix rate limit check for register. Fixes #2159 3 years ago
Nutomic dfb0938738
GNU social compatibility (#2100)
* Use SourceCompat everywhere (better compat with other software)

* Name field should not be mandatory in Group

* also check page.cc field for community id

* add gnu social tests

* better to use option<sourcecompat>

* update gnu social tests, marked vote as "unlisted"
3 years ago
Dessalines 1e9f609cdb
Consolidate and lower reqwest timeouts. Fixes #2150 (#2151) 3 years ago
Nutomic 83e996111e
Check that config is valid before saving (#2152) 3 years ago
Nutomic b406342a14
Dont log error if duplicate activity is received (fixes #2146) (#2148) 3 years ago
Nutomic cb44b14717
WIP: Email localization (fixes #500) (#2053)
* Allow email localization (fixes #500)

* add PersonAggregates::default()

* add lemmy-translations submodule

* fix gitmodules
3 years ago
Nutomic 8112816e99
If viewed actor isnt in db, fetch it from other instance (#2145) 3 years ago
Dessalines 4e6d901649 Show rate limit algorithm. Fixes #2136 3 years ago
Nutomic a10bf7d410
Adjust retry interval for sending activities (#2141) 3 years ago
Nutomic bcf7ec6109
Forbid remote URLs for avatars/banners (fixes #1618) (#2132) 3 years ago
Nutomic 166ec196b0
Rework error handling (fixes #1714) (#2135) 3 years ago
Dessalines 514e2301b5 Version 0.16.1 3 years ago
Dessalines 9fd6a48e3c Version 0.16.1-rc.1 3 years ago
Nutomic 7d61616dff
Revert "Add logging to debug federation issues (ref #2096) (#2099)" (#2130)
This reverts commit e094989a4c.
3 years ago
Nutomic 550a93aed9
Dont allow admin to add mod to remote community (#2129) 3 years ago
Nutomic f8fb3b41f0
Reject federated downvotes if downvotes are disabled (fixes #2124) (#2128) 3 years ago
Dessalines 05f20da51f Version 0.16.0 3 years ago
Dessalines 82dec1911f Version 0.16.0-rc.4 3 years ago
Nutomic 660efd1549
Correctly read local SiteView (#2122) 3 years ago
Dessalines 15ff832c4a Version 0.16.0-rc.3 3 years ago
Nutomic 3c5275638f
Increase default worker count (#2120) 3 years ago
Dessalines ffd2ba5d90
Fix community rss. Fixes #2116 (#2119)
Co-authored-by: Nutomic <me@nutomic.com>
3 years ago
Nutomic fbadb2d7bd
Try to fix federation test on ci (#2121) 3 years ago
Dessalines aef2abb962 Version 0.16.0-rc.2 3 years ago
Nutomic df757f28b4
Make delete activities backwards compatible with 0.15 (#2114) 3 years ago
Nutomic ef1e164cc5
Make activity queue worker count configurable, log stats (#2113) 3 years ago
Nutomic fa29ffade1
Add timeout for sending activities (#2112)
* Add timeout for sending activities

* Also set request timeouts in utils/src/request.rs
3 years ago
Dessalines a5433ebf77 Fixing unit tests. 3 years ago
Rob Ede e3153df74d
Remove direct `actix-http` dependency 3 years ago
Rob Ede b06f3eb32e
Update `actix-*` dependencies to stable v4. 3 years ago
Dessalines 1b5037e92d Version 0.16.0-rc.1 3 years ago
dayinjing bc3927a9bd
Show nsfw communities if you are logged in and searching communities (#2105)
* Show nsfw communities in logged in and you've enabled nsfw in your profile atleast

* Reuse existing user check

Co-authored-by: Sun Wukong <monkey@king.com>
3 years ago
Nutomic 63565712ad
Fix resending activities (fixes #1282) (#2109) 3 years ago
Nutomic fb4c47d602
Dont hardcode site id in Site::update (#2110) 3 years ago
RedLobster999 348077c3de
send plain-text in email along with html (#2107)
* send plain text in email along with html

* format the code using "cargo +nightly fmt"

Co-authored-by: kittiphat-kang <kittiphat.nu@easysunday.com>
3 years ago
Nutomic 9f5183fe98
Add site option for default theme (#2104) 3 years ago
dayinjing 7f9b55e793
Hide community v2 (#2055)
* Initial working of hiding communities and adding a db entry for mod log

* Return mod log for hidden communities

* Clean up hidding communities PR

* use lower case like other migration files

* Formatting fix

* pass in admin id to list, make match logic the same in post_view as community_view. Dont force non null for reason

* Clean PR review stuff

* Change person_id to mod_person_id on hide community table

* Make bools optional, add a space for formating

Co-authored-by: Thor Odinson <odinson@asgard.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
3 years ago
Nutomic 762b85b27e
Reorganize federation tests (#2092)
* Reorganize apub protocol tests

* Reorder apub protocol struct members to clarify mandatory/optional fields
3 years ago
Nutomic e094989a4c
Add logging to debug federation issues (ref #2096) (#2099) 3 years ago
Nutomic 5a8c894359
Upgrade to Rust 2021 edition (#2093)
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
3 years ago
Nutomic 788924d7ff
Merge different delete activities for better compatibility (fixes #2066) (#2073) 3 years ago
Nutomic dd865c5af5
Implement instance actor (#1798)
* 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
3 years ago
Nutomic f1aef63149
Use doku(skip) for opentelemetry_url config value (ref #2085) (#2091) 3 years ago
Aode (Lion) 1546e5fd0d Merge remote-tracking branch 'lemmynet/fix_sitemetadata_test' into asonix/document-opentelemetry-url 3 years ago
Dessalines 609d2b99f7 Fix site metadata test. 3 years ago
Aode (lion) 6058b11f6e Add comment about opentelemetry_url 3 years ago
Dessalines 6b1894faf0
Alpha-ordering community follows. Fixes #2062 (#2079) 3 years ago
Nutomic 545fe8d0dd
Add federation tests for Friendica, improve parsing of source field (fixes #2057) (#2070) 3 years ago
Nutomic 4a23ee4d8b
Dont make webfinger request when viewing community/user profile (fixes #1896) (#2049) 3 years ago
Dessalines d83a53e905
Fixing private instance check. Fixes #2064 (#2065) 3 years ago
Kradyz 1c5c02e1bf
Case-insensitive username at login (#2010)
* Case-insensitive username at login

* formatting

Co-authored-by: Kradyz <k@radiz.nl>
3 years ago
Dessalines e36ad9d984
Removing the site creator, adding leave_admin. Fixes #1808 (#2052)
* Removing the site creator, adding leave_admin. Fixes #1808

* Making sure there's at least one admin. Fixing unit tests
3 years ago
Dessalines 1372827b41
Adding starttls support. Fixes #1997 (#2051)
* Adding starttls support. Fixes #1997

* Change name to tls_type, make a string
3 years ago
Nutomic 2544341e47
Put community last in webfinger response (fixes #2037) (#2047) 3 years ago
Nutomic 16f98261f8
Dont check for ban in MarkCommentAsRead (fixes #2045) (#2054) 3 years ago
Dessalines 16271b0a4c
Empty post bodies (#2050)
* Cleaning optional post bodies. Fixes #2039

* Only trim once.

* Using .map() instead.

* Revert "Using .map() instead."

This reverts commit a2f4907209.
3 years ago
Nutomic f23fed70bc
Add tombstone tests, better test errors (#2046) 3 years ago
vpzomtrrfrt 272dc3e7a6
Accept single object as to for arrays too (#2048) 3 years ago
Dessalines 19ccaf767c
Cleaning optional post bodies. Fixes #2039 (#2043)
* Cleaning optional post bodies. Fixes #2039

* Only trim once.

* Using .map() instead.
3 years ago
Dessalines a212f6b780
Fixing liking comment on blocked person. Fixes #2033 (#2042) 3 years ago
Nutomic eea3308906
Add tests for lotide federation, make lotide groups fetchable (#2035)
* Add tests for lotide federation, make lotide groups fetchable

* Accept posts using Note type (and better error messages for tests)
3 years ago
Riley bc8ed1e6da
Remove unneeded dependency on activitystreams (#2034) 3 years ago
Dessalines f53902ecff Version 0.15.1 3 years ago
Dessalines bccb4f068d Version 0.15.0 3 years ago
Dessalines a24676e629 Version 0.15.0-rc.7 3 years ago
Dessalines e65c45f152
Adding temporary bans. Fixes #1423 (#1999)
* Adding temporary bans. Fixes #1423

* Adding ban_expires to person

* Fix clippy

* Removing ban_expires from federated fields.

* Trying to add expires to blockcommunity apub.
3 years ago
Riley 41b90bb162
Add console-subscriber (#2003)
* Add console-subscriber

* Add larg event buffer capacity

* Add console port to lemmy prod container

* Expose pict-rs console port

* Update pictrs
3 years ago
Riley 3032a2745b
Opentelemetry (#1992)
* Add otlp export

* Add jaeger to dev docker

* More instrument

* Update deps

* Merge from main.

* Add comment about viewing traces

* Fixing reqwest-tracing dep.

* Update pre-commit regex

* Move imports to top

Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
3 years ago
Rens Groothuijsen 661f97a073
Use correct encoding when fetching non-UTF-8 site metadata (#2015)
* Use correct encoding when fetching non-UTF-8 site metadata

* Style fixes
3 years ago
Dessalines bd31475dba Adding a banned endpoint for admins. Removing it from GetSite. Fixes #1806 3 years ago
Rob Ede 1943bcd7f5
Prevent panic on InboxRequestGuard 3 years ago
Rob Ede f6c13cf313
Updated actix-web dependency to `4.0.0-beta.18` 3 years ago
Dessalines 3065154f4e
Merge pull request #2007 from LemmyNet/another_tokenizer_fix
Trying another tokenizer fix. #1964
3 years ago
Kradyz 9f64872d5a
Case-insensitive webfinger response. Fixes #1955 & #1986 (#2005)
* Make webfinger case insensitive

* Make webfinger case insensitive

* Case insensitive domain name

* Case-insensitive webfinger

* formatting

Co-authored-by: Kradyz <k@radiz.nl>
3 years ago
Dessalines ad4715c2a3 Trying another tokenizer fix. #1964 3 years ago