dc3858c82d
Version 0.14.0-rc.2
2021-11-17 09:14:54 -05:00
db631005d3
Fix error due to same activity being inserted in database twice
2021-11-16 19:13:05 +01:00
3249060f67
Remove to field from follow activities
2021-11-16 19:13:05 +01:00
20cddf5e81
Support mastodon deletes
2021-11-16 18:07:47 +01:00
7f4a773b88
Create and Note always need to tag parent creator, for mastodon notifications
2021-11-16 18:07:47 +01:00
c1f1b8aa0f
Activities in community should also be sent to actors in cc
2021-11-16 18:07:45 +01:00
579ca37ddf
Make webfinger standard compliant
2021-11-16 18:03:09 +01:00
23641fcd06
Use serde_json::to_value
2021-11-15 21:11:44 -05:00
Dessalines
09cd32034b
Fixing activity serialization. Fixes #1900 ( #1901 )
2021-11-15 20:26:48 +00:00
497564359b
Version 0.14.0-rc.1
2021-11-11 14:57:25 -05:00
1b9414f292
More federation compat ( #1894 )
...
* Make HTTP signatures compatible with Pleroma
* Send Announce/Page, Announce/Note for Pleroma compatibility
* remove unused code
2021-11-11 14:49:15 -05:00
Dessalines
8d4c4fdf6c
Adding clippy:unwrap to husky. Fixes #1892 ( #1893 )
2021-11-11 12:18:08 +00:00
9a1fe154db
Remove header guard for activitypub routes
2021-11-10 15:08:33 +01:00
Dessalines
76220a4523
Fixing clippy lints. ( #1885 )
...
* Fixing clippy lints.
* Revert object id display
* Trying to fix clippy again
2021-11-09 18:16:37 +00:00
5319046dc7
Add federation test cases for Smithereen and Mastodon
2021-11-09 17:16:58 +01:00
c21c142a9a
Include apub context from file, so that it can be embedded in docs
2021-11-08 16:04:02 +01:00
252d87d332
Fix clippy error
2021-11-08 13:16:14 +01:00
888e683856
For verify_is_public() we also need to check cc field
2021-11-06 18:44:34 +01:00
a5a674a270
Add method ApubObject.verify()
2021-11-06 18:35:14 +01:00
02ce7bdc7d
Remove unused ActorType methods
2021-11-06 15:01:00 +01:00
8ea21c39b7
Reduce stack memory usage in apub code
...
- use our own, smaller Endpoints struct
- wrap ObjectId.url in Box
- adjust usage of Box in different places
2021-11-06 14:53:39 +01:00
c725514841
Change to_apub and from_apub to take by value and avoid cloning
2021-11-06 14:47:58 +01:00
2edf8ba157
Move ObjectId to library
2021-11-05 21:37:46 +01:00
bd3352423a
Remove ActivityFields trait, deserialize into another struct instead
2021-11-05 21:14:19 +01:00
969a7f2d1b
Refactoring apub code
2021-11-05 21:12:10 +01:00
Dessalines
a83113935d
Check if post or comment are deleted first. Fixes #1864 ( #1867 )
...
* Check if post or comment are deleted first. Fixes #1864
* Refactoring delete apub.
* Revert "Refactoring delete apub."
This reverts commit ba2c3d06cfb870efe792f4b2541036265b425156.
2021-11-03 17:47:24 +00:00
Dessalines
1bec551945
Merge pull request #1874 from LemmyNet/protocol-testing
...
Protocol testing
2021-11-03 11:23:26 -04:00
41f7bcc0d2
Correctly use and document check_is_apub_id_valid() param use_strict_allowlist
2021-11-02 21:39:06 +01:00
b396344eae
Merge two functions into one
2021-11-02 21:39:06 +01:00
1c6f74cad5
Convert note.content and chat_message.content to html ( fixes #1871 )
2021-11-02 21:39:02 +01:00
Dessalines
d4753049d7
Upgrade background_jobs to 0.9.1 #1820 ( #1875 )
2021-11-02 20:27:24 +00:00
0bde2d595e
Add tests for parsing activities and collections
2021-11-02 12:44:51 +01:00
aaaf039779
Move apub test files into tree structure
2021-10-29 16:54:19 +02:00
03d8ac75ef
Move activity structs to protocol folder
2021-10-29 12:50:32 +02:00
5ff044346f
Move object and collection structs to protocol folder
2021-10-29 12:50:32 +02:00
358ef99ea2
Rewrite community followers and user outbox to use our own structs
2021-10-29 12:50:32 +02:00
d89156810d
Move @context out of object/activity definitions
2021-10-29 12:50:32 +02:00
2d04ff93f5
Change activity.cc to Vec<Url> in public activities
2021-10-29 12:50:32 +02:00
271785b7fb
When receiving activity, dont read community from cc (for pleroma compat and better verification)
2021-10-29 12:50:30 +02:00
74523fb534
Make Note.context optional for pleroma compat (hack)
2021-10-29 12:45:54 +02:00
03b8ae7215
Activity.to should always be a vec (and unspecified size for public activities)
2021-10-29 12:45:54 +02:00
614490d29b
Fix problem that prevented viewing of pleroma user profiles
2021-10-29 12:45:53 +02:00
0af047dd83
Rewrite community moderators collection
2021-10-29 12:45:53 +02:00
6792e376b4
Rewrite community outbox to use new fetcher
2021-10-29 12:45:53 +02:00
bb085189e0
Merge traits ToApub and FromApub into ApubObject
2021-10-29 12:45:53 +02:00
Dessalines
f1f7c45017
Three instance inbox bug ( #1866 )
...
* 3 instance shared inbox bug test
* Fixing shared inbox bug. Fixes #1865
* A few fixes.
2021-10-28 20:46:24 +00:00
61189efe72
Rewrite collections to use new fetcher ( #1861 )
...
* Merge traits ToApub and FromApub into ApubObject
* Rewrite community outbox to use new fetcher
* Rewrite community moderators collection
* Rewrite tombstone
2021-10-27 12:03:07 -04:00
40264c17a0
Version 0.13.5-rc.7
2021-10-22 13:26:00 -04:00
149a4e0de8
Breaking apub changes ( #1859 )
...
* 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
Dessalines
23731cd49c
Trying out rust-musl-builder for cargo publish ( #1856 )
...
* Trying out rust-musl-builder for cargo publish
* Version 0.13.5-rc.1
* Try rust:nightly
* Version 0.13.5-rc.2
* Try rust slim
* Version 0.13.5-rc.3
* Try rust 1.51
* Version 0.13.5-rc.4
* Trying another nightly
* Version 0.13.5-rc.5
* Trying another fix
* Version 0.13.5-rc.6
2021-10-21 13:26:01 -04:00
dd0ba10b44
Pleroma federation2 ( #1855 )
...
* Allow fetching person from Pleroma, including test case (ref #1461 )
* Added test case for parsing community from apub json
- fixed a bug with objectid (de)serialization
- fixed a bug with outbox fetching (ref #1582 )
* Added apub test for post
* Ignore errors when reading community outbox (fixes #1582 )
* Dont fetch community outbox/moderators during tests
* added test for lemmy comment
* Added federation test for pleroma comment
* Added html2md crate to parse comment html from pleroma (fixes #1461 )
* some fixes for update_apub_test_files.sh
* Add tests for ToApub, private message, remove update script
* Delete objects from db at the end of each test
2021-10-21 13:25:35 -04:00
1aa0e1997b
Major refactor, adding newtypes for apub crate
...
- this allows moving FromApub/ToApub traits into apub lib
2021-10-20 12:28:09 +02:00
f24999027e
Merge crates db_schema and db_queries
2021-10-20 12:28:08 +02:00
d206aad282
Remove DeletableApubObject trait
2021-10-20 12:20:54 +02:00
Tmpod
e9d9bc82d8
Add cargo metadata to all crates ( #1853 )
2021-10-19 13:03:43 -04:00
18badcfdb4
Federate reports ( #1830 )
...
* 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 #1827 ( #1828 )
...
* Dont allow posts to deleted / removed communities. Fixes #1827
* 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
d26255957b
Fix federation of initial post/comment vote ( fixes #1824 ) ( #1835 )
2021-10-13 10:12:41 -04:00
f4c783cba5
Fix clippy warnings added in nightly ( #1833 )
2021-10-12 12:46:26 -04:00
Dessalines
53a2b6d013
Trying a background_jobs fix. #1820 ( #1822 )
2021-10-08 14:36:53 +00:00
b96ce81f89
Move code to apub library ( #1795 )
...
* 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
a99ba2de24
Version 0.13.0
2021-09-29 16:16:46 -04:00
Dessalines
9c50cbf431
Adding a user agent. Fixes #1769 ( #1800 )
...
* Adding a user agent. Fixes #1769
* Fix client duplicate creation.
2021-09-29 16:05:38 -04:00
Dessalines
5a281445a3
Upgrade deps ( #1799 )
...
* Upgrade deps
* Fix web::scope
2021-09-29 14:50:00 -04:00
37bd9e0e6c
Version 0.13.0-rc.1
2021-09-28 10:59:29 -04:00
8708ad1b44
Moving settings and secrets to context.
2021-09-27 11:25:26 +02:00
527eefbe92
Rewrite fetcher ( #1792 )
...
* 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
e9891977ee
Version 0.12.2-rc.1
2021-09-05 13:59:28 -04:00
df997dff49
Version 0.12.0
2021-09-03 09:23:50 -04:00
e19349343a
Version 0.12.0-rc.2
2021-09-03 08:28:26 -04:00
2822f5a126
Change public activities to field to array ( #1739 )
2021-08-27 21:33:38 -04:00
Dessalines
2c8003a9fa
Upgrading deps ( #1735 )
2021-08-26 08:37:10 -04:00
da5fdae006
Version 0.12.0-rc.1
2021-08-25 17:28:42 -04:00
Dessalines
af225a42d0
Fix prod deploy script and clippy ( #1724 )
...
* Updating lemmy-js-client.
* Fix prod deploy script and clippy
* Try using buster.
* Using more generic and updated images.
* again.
* again.
* Try alternate env
* again.
* again.
* Version 0.11.4-rc.24
* again.
* Better old_tag
* Version 0.11.4-rc.27
* Updating cargo.lock
* Trying to run a cargo check to update the lock
* Version 0.11.4-rc.28
2021-08-25 17:26:10 -04:00
Dessalines
c23e7cc20d
Fixing ResolveObject API and unit tests ( #1713 )
2021-08-23 17:25:39 +02:00
251e0d3b82
Move resolving of activitypub objects to separate api endpoint ( fixes #1584 )
2021-08-20 12:35:50 +02:00
f6f169b4eb
Rewrite remaining activities ( #1712 )
...
* Limit type/method visibility in apub code
* Simplify db_queries traits by removing generics
* Simplify delete activity implementation
* Rewrite delete activities
* Implement helper functions for websocket message sending
* When receiving delete reason as empty string, change to none
* Rewrite remaining activities
* Simplify inbox
* Remove struct ActivityCommonFields, derive ActivityFields trait instead
* Community should announce received activities to followers
2021-08-19 17:24:33 -04:00
Dessalines
6af75492a9
Swap out iframely ( #1706 )
...
* Replace Iframely. Fixes #1681
* Add post_link_tags to nginx
* Adding post_link_tags route
* Cleaning up post_link_tags
* Changing PostLink to SiteMetadata, adding it to the API.
* Fixing issue when local has no openssl certs.
* Fixing an issue with pictrs errors
* Revert "Fixing issue when local has no openssl certs."
This reverts commit dbf7d1b1ee03846e5ef7b7156e618424f1150e1d.
* Add ca-certs to dockerfile for volume mount.
* Cleaning up fetch_pictrs request
* Changing to fetch_site_data
2021-08-19 14:12:49 +00:00
1f64db6a33
Upgrading deps
2021-08-17 16:31:16 -04:00
28d6370c35
Rewrite delete activities ( #1699 )
...
* Limit type/method visibility in apub code
* Simplify db_queries traits by removing generics
* Simplify delete activity implementation
* Rewrite delete activities
* Implement helper functions for websocket message sending
* When receiving delete reason as empty string, change to none
2021-08-17 14:04:58 -04:00
353a1fe0a0
Rewrite activitypub following, person, community, pm ( #1692 )
...
* Rewrite following activities
* Rewrite person apub
* Rewrite community apub
* Rewrite private message activity sending
2021-08-12 08:48:09 -04:00
a44b5c9c36
publish to crates.io with normal release script
2021-08-09 18:44:18 +02:00
af6aa3c0bf
Distribute Lemmy via crates.io
2021-08-09 17:29:32 +02:00
b2937223df
Migrate comment inReplyTo field to single value (ref #1454 )
2021-08-05 13:00:29 +02:00
Dessalines
7b8cbbba85
Simplify config using macros ( #1686 )
...
Co-authored-by: Felix Ableitner <me@nutomic.com>
2021-08-04 21:13:51 +00:00
b8d7f00d58
Rewrite voting ( #1685 )
...
* Merge like/dislike activity handlers into vote
* Rewrite vote sending code
* Remove old send_create, send_update functions
2021-08-02 16:33:40 -04:00
Dessalines
1664cb326a
Merge pull request #1677 from LemmyNet/remove-fat-deps
...
Remove brotli, zstd dependencies
2021-08-02 16:21:33 -04:00
abd26aeab2
Remove brotli, zstd dependencies
2021-08-02 14:05:39 +02:00
6b57d716e1
Rewrite private message apub and merge create/update
2021-07-31 22:58:11 +02:00
dc363c8f35
Merge logic for post create and update
2021-07-31 19:26:17 +02:00
3eb46868ff
Merge logic for comment create and update
2021-07-31 17:47:08 +02:00
43ad99bbe8
Rewrite apub comment (de)serialization using structs (ref #1657 )
2021-07-31 16:57:37 +02:00
433ab1e78b
Add docs for MediaType, PublicUrl values
2021-07-30 23:16:33 +02:00
57b6ecaf40
Simplify lemmy_context() function (dont return errors)
2021-07-30 23:16:33 +02:00
ff265c7ebc
Rewrite apub post (de)serialization using structs (ref #1657 )
2021-07-30 23:16:32 +02:00
Dessalines
7d3b90d711
Fix issue with protocol string in actor id generation ( #1668 )
2021-07-20 16:55:04 +00:00
Dessalines
5fe7de2bff
Adding shortname fetching for users and communities. Fixes #1662 ( #1663 )
2021-07-20 04:29:50 +00:00
c1db86925f
Merge apub, apub_receive crates ( fixes #1621 )
2021-07-17 18:20:44 +02:00
c7de1fcf24
Apub inbox rewrite ( #1652 )
...
* 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
Dessalines
9840f5c1c1
Upgrading deps, running clippy fix on nightly 1.55.0 ( #1638 )
...
* Upgrading deps, running clippy fix on nightly 1.55.0
* Running clippy --fix
* Trying to fix transform
* Trying to fix another transform
* Upgrading http-signature-normalization-actix
* Fix app_data
* Fix pictrs uploading
* Fix unwrap
2021-07-06 13:26:46 +00:00
Dessalines
f54209c451
Running clippy --fix ( #1647 )
2021-07-05 16:07:26 +00:00
Dessalines
12d50e42b4
Change join.lemmy.ml to join-lemmy.org ( #1628 )
2021-06-07 21:10:47 +00:00
f8cd6fd445
Making more fields optional in the API.
...
- Fixes #1569
2021-04-23 02:30:13 -04:00
efee2062dd
Mark accounts as bot nutomic ( #1565 )
...
* Mark account as bot. Fixes #1357
* Fix clippy
* Federate bot status using actor `type` field
* fix clippy
Co-authored-by: Dessalines <tyhou13@gmx.com>
2021-04-21 17:41:14 -04:00
Dessalines
9dc5605663
Merge pull request #1588 from LemmyNet/improved-logging
...
Improved logging
2021-04-21 10:34:47 -04:00
8bb3ba4a16
Add option to disable strict allowlist ( fixes #1486 ) ( #1581 )
...
* Add option to disable strict allowlist (fixes #1486 )
* adjust docs
2021-04-21 09:36:07 -04:00
78eee7dc9e
Improved logging
2021-04-21 14:45:10 +02:00
c572dc0cc6
Remote mods can update/delete/undelete communities
2021-04-13 15:19:17 +02:00
aa79c5131f
Implement federated bans ( fixes #1298 ) ( #1553 )
...
* Implement federated bans (fixes #1298 )
* 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 #1504 ( #1541 )
...
* Removing community.creator column. Fixes #1504
* Fixing unit tests.
* Fixing federation tests.
2021-04-08 11:29:08 +00:00
bf7558830f
Changing preferred to display name. Fixes #1211
2021-04-01 13:57:45 -04:00
722cdb78ba
Split lemmy_apub crate into two parts apub and apub_receive
2021-03-30 22:29:16 +02:00
4c8f2e976e
Merge remote-tracking branch 'yerba/split-api-crate' into test_merge_api_crates_reorg
2021-03-29 16:24:50 -04:00
01fc1228d5
Fix API and clippy warnings
2021-03-29 20:55:08 +02:00
249fcc5066
Split api crate into api_structs and api
2021-03-25 20:19:40 +01:00
34bdf4c7c5
Federate Matrix ID ( fixes #1438 )
2021-03-24 17:56:13 +01:00
3ca2453fc6
Merge branch 'main' into move_matrix_and_admin_to_person
2021-03-24 11:51:34 -04:00
8a10a9079f
Merge remote-tracking branch 'yerba/federated-moderation'
2021-03-24 11:48:02 -04:00
c7524d924b
Fix federation tests
2021-03-24 16:33:04 +01:00
e4ead96d3a
Merge branch 'main' into move_matrix_and_admin_to_person
2021-03-22 10:29:10 -04:00
eb45bf2d0a
Moving admin to person table. Fixes #1515
2021-03-22 10:28:00 -04:00
d6bd072ea1
Make federation compatible with Lemmy v0.9.9
2021-03-22 15:08:06 +01:00
a5a0d90349
Address review comments
2021-03-22 13:52:00 +01:00
459b95bc7e
Make previous commit compile
2021-03-22 13:11:32 +01:00
Grishka
115b986edc
uh
2021-03-21 04:03:53 +03:00
Grishka
c14a505456
Fix JSON-LD contexts
2021-03-21 04:00:32 +03:00
c884510173
Creating default DB forms. Fixes #1511
2021-03-20 16:59:07 -04:00
1745b64ceb
Moving matrix_user_id to person table. #1438
2021-03-20 15:21:51 -04:00
4f54108a9c
Merge branch 'main' into federated-moderation
2021-03-19 17:11:34 +01:00
9930c7288a
Merge branch 'split_user_table' into strictly_type_db_ids
2021-03-18 16:30:42 -04:00
8d9fab0389
Merge branch 'main' into split_user_table
2021-03-18 16:30:29 -04:00
c3efb9f7cf
Strictly typing DB id fields. Fixes #1498
2021-03-18 16:25:21 -04:00
4f7dca7c2b
Fix three federation test cases
2021-03-18 17:02:15 +01:00
b3a5b4eb82
Refactor activitypub code
2021-03-17 18:12:37 +01:00
71067a8cb5
For FromApub trait, use is_mod_action: bool
instead
2021-03-16 18:26:19 +01:00
be00f63fb2
Allow remot moderators to do Remove/Post and Remove/Comment
2021-03-16 18:06:59 +01:00
621355b6ef
Insert announced activities into DB for fetching ( fixes #1494 )
2021-03-15 13:58:54 +01:00
5998c83b2a
Only sending private message if its a local user.
2021-03-12 15:18:03 -05:00
de14636e10
Fix code to allow sticky/lock from remote moderators
2021-03-12 16:46:36 +01:00
de39d57592
WIP: check that modifications are made by same user, add docs
2021-03-12 14:47:55 +01:00
50559de6d2
Add check so only mods can change stickied/locked state of posts
2021-03-11 18:11:59 +01:00
803aad3b3e
Add check so only author or mods can edit posts/comments
2021-03-11 17:50:47 +01:00
a2698dea92
Allow for remote mods to remove posts/comments
2021-03-11 17:21:45 +01:00
9cb4dad4b4
A first pass.
2021-03-10 23:43:11 -05:00
ddf4a667b1
~80% done
2021-03-10 17:33:55 -05:00
3ffae1f5b8
Allow adding remote users as community mods (ref #1061 )
2021-03-09 18:14:15 +01:00
dcf40db225
Update activitystreams to 0.7.0-alpha.11
2021-03-09 18:14:15 +01:00
9172eff65a
Implemented receiving activities to add/remove remote mods
2021-03-09 18:14:15 +01:00
0c484e8c76
Move moderators collection to separate HTTP endpoint
2021-03-09 18:14:15 +01:00
beb8b9fe69
Use collection for moderators, instead of attributedTo
(ref #1061 )
2021-03-09 18:14:15 +01:00