Commit Graph

297 Commits

Author SHA1 Message Date
Bat 3a19cae62e Add id, to and cc for Undo Announce 2018-06-23 13:42:27 +01:00
Bat a88d0e102f Like: only compute ap_url once 2018-06-23 13:40:10 +01:00
Bat d2c8631ba4 Add cc and to for Announce 2018-06-23 13:36:15 +01:00
Bat cd9862bc4c Add cc, id and to for Articles 2018-06-23 13:29:41 +01:00
Bat 3ab6dfe288 Add id, to and cc to Undo for Likes 2018-06-23 13:19:14 +01:00
Bat 135797805e Make Like compliant to the spec 2018-06-23 13:17:17 +01:00
Bat f2795baab5 Make Create Note compliant to the spec 2018-06-23 13:07:07 +01:00
Bat 3ea4823060 Make Accept Follow compliant to the spec 2018-06-23 12:50:14 +01:00
Bat 236767f498 Send the 'Content-Type: application/activity+json' header for ActivityPub request
Should fix #76
2018-06-23 12:23:37 +01:00
Bat 6140865660 Make Post::from_activity a bit more complete 2018-06-23 12:14:03 +01:00
Bat 3b2ca041d0 Rewrite Post::into_activity in a nicer way
And prefer expect over unwrap
2018-06-22 21:45:37 +01:00
Bat 6a5d806b1d Various federation fixes 2018-06-22 16:17:53 +01:00
Didier Link b153a9ce2b add an argument in the macro may_fail to have the account linked in the error template 2018-06-22 00:50:06 +02:00
Didier Link feff837313 Merge branch 'master' of https://github.com/Plume-org/Plume 2018-06-22 00:00:15 +02:00
Bat e34d12922c Serialize publicKey in Person representation 2018-06-21 22:12:24 +01:00
Bat dccab062e3 Implement Blog::into_activity 2018-06-21 22:07:04 +01:00
Bat a0f680a9b6 Rewrite Blog::from_activity to use the activitypub crate instead of raw JSON 2018-06-21 21:39:44 +01:00
Bat e7e557612e Rewrite User::from_activity to use the activitypub crate instead of raw JSON 2018-06-21 21:30:56 +01:00
Bat f5f2aa7c59 Get rid of the activity_pub::actor::Actor trait 2018-06-21 18:53:57 +01:00
Bat 9a8472bdcc Move compute_box from Actor to Instance 2018-06-21 18:42:17 +01:00
Bat 606a3d12c7 Remove useless functions from activity_pub::actor::Actor 2018-06-21 18:23:01 +01:00
Bat b2e8d54161 Drop activity_pub::activitypub and activity_pub::ActivityPub and only use the ActivityStream responder 2018-06-21 18:09:18 +01:00
Bat 6df4b70318 Set @context for ActivityStream responder 2018-06-21 17:30:07 +01:00
Bat ea29dd91dc Set the correct content type for the ActivityStream responder 2018-06-21 17:25:29 +01:00
Bat 3fe2625e86 Simplify the Inbox trait
If we want to add, for instance, streams in the future, we could introduce
a new trait for that, similar to FromActivity or Notify

We also display inbox errors to the "client" if something fails,
which could be useful for debugging.
2018-06-21 17:00:37 +01:00
Bat 5193ad6f65 Remove legacy Inbox::unlike function 2018-06-21 16:45:54 +01:00
Bat 2217ec0d56 Remove PgConnection when we don't need it
Massive simplification in the ActivityPub module!
2018-06-21 16:31:42 +01:00
Bat 7ddad12420 Simplify the signature of activity_pub::sign::Signer::get_key_id 2018-06-21 16:25:32 +01:00
Bat 2621c0304e Better use of the activitypub crate in User::into_activity 2018-06-21 16:14:26 +01:00
Bat 5457a80eec Avoid calling compute_id when we shouldn't
It should only be used at initialization, after we should prefer ap_url,
as not everybody is using the same URLs as Plume.
2018-06-21 15:53:58 +01:00
Bat 4c211b4308 Remove the routes and the template for the comment form 2018-06-21 15:00:25 +01:00
Bat 7ba6f77e0f Automatically insert mentions in comments
Fix some bug with mentions too

Fix #52
2018-06-21 14:05:35 +01:00
Bat 0fd181e7ea Add support for markdown in comments + Correctly federate mentions in comments 2018-06-21 12:00:30 +01:00
Bat 5a5c1a8d99 List all comments 2018-06-21 11:38:07 +01:00
Didier Link 0e85a61aec Merge branch 'master' of https://github.com/Plume-org/Plume 2018-06-21 12:38:00 +02:00
Bat b0e70a42a9 Merge branch 'master' of github.com:Plume-org/Plume 2018-06-21 11:31:17 +01:00
Bat e6b8943085 New pattern for comment creation in code
Use the builder design pattern to build a NewComment

Add a function to transform a NewComment into a Create activity

Virtually send this activity to the shared inbox of the instance
2018-06-21 11:28:42 +01:00
Didier Link 2d1a035877 partially solve #68 2018-06-21 11:58:54 +02:00
Bat 3551bef895 Simplify the activity_pub::inbox::Notify trait + Fix notifications
Also fix a bug with the list of mentions that was returned
2018-06-20 22:51:47 +01:00
Bat d7b71848fc Save mentions 2018-06-20 21:58:11 +01:00
Bat c4cc4a4e13 Notify when receiving a mention 2018-06-20 21:05:30 +01:00
Bat c9f29955a0 Save incoming mentions 2018-06-20 20:42:16 +01:00
Bat 215b577573 Add some ActivityPub function to Mention 2018-06-20 20:06:34 +01:00
Bat 356cc20e34 List mentions for user, instead of getting only the first one 2018-06-20 19:25:43 +01:00
Bat ddd840d31d Add a list_by! macro 2018-06-20 19:23:54 +01:00
Bat e074af57ff Add a Mention model 2018-06-20 19:22:34 +01:00
Bat 24ef3d00d1 Fix the bugs with markdown rendering when there was mentions 2018-06-20 16:25:09 +01:00
Bat 4ea071e709 Switch to pulldown-cmark for markdown parsing + Try to parse mentions
It's not working correctly yet for some reason…
2018-06-20 15:29:19 +01:00
Bat b9951f0d70 Merge branch 'master' of github.com:Plume-org/Plume 2018-06-20 10:02:05 +01:00
Bat ab7bef1490 Get rid of the legacy activity_pub::object module 2018-06-20 10:01:25 +01:00
Baptiste Gelez dfd303403b
Merge pull request #66 from Plume-org/setup-script
Setup script
2018-06-20 09:53:26 +01:00
Bat 65e819c425 Make it impossible to write in a blog where you are not author
Fix #62
2018-06-20 09:44:56 +01:00
Bat d612173533 Fix some error in the messages of the setup script
port -> address
table -> database
2018-06-20 09:04:29 +01:00
Bat 635ac6cf42 Merge branch 'master' into setup-script 2018-06-19 22:26:31 +01:00
Bat 8ab25b1ca2 Use uri! as much as possible instead of directly writing URLs 2018-06-19 22:20:27 +01:00
Trinity Pointard db248701b9 Disallow blog name which yould result in empty blog name
fix #63
2018-06-19 22:34:59 +02:00
Bat 857e1f1d6a Disallow naming an article 'new', or any already used slug
Fix #64

Also fixes a lot of potential bug with articles having the same slugs, but not in the same blog
2018-06-19 20:16:18 +01:00
Bat 1653a3ac74 Check for existing slug before creating a new blog
Fix #63
2018-06-19 19:40:20 +01:00
Bat 554deb3ec0 Remove some unused imports 2018-06-19 18:40:30 +01:00
Bat dd152f2607 Remove old configuration code 2018-06-19 18:29:34 +01:00
Bat a281612051 Complex setup
Also generate and save a Rocket secret key, which avoid deconnecting us when restarting the instance

Other small improvements
2018-06-19 18:23:26 +01:00
Bat f5d70ddfd4 Database setup 2018-06-19 17:29:54 +01:00
Bat d00688e526 Admin creation 2018-06-19 16:14:52 +01:00
Bat 6916abca7e Complete/simple setup type + Instance creation 2018-06-19 15:18:40 +01:00
Bat 54e2cea83b Start a setup script
For now, it checks if the instance is ready, and if it is not starts the actual setup script.

Only the first actual step of the script, checking for native dependencies, is implemented.
2018-06-19 14:08:44 +01:00
Bat 7fc469fa96 Delete reshares when receiving the corresponding Undo activity 2018-06-19 10:50:01 +01:00
Bat 82d3afe7b6 Implement Deletable for Reshare 2018-06-19 10:47:11 +01:00
Bat 78be09c47c Use the webfinger crate for fetching resources too 2018-06-18 22:54:13 +01:00
Bat 5415b70854 Use the webfinger crate 2018-06-18 22:50:40 +01:00
Bat 0dfc303c83 Fix Blog::find_by_name 2018-06-18 18:44:18 +01:00
Bat 51571d6320 may_fail! macro
Returns an error template if an Option is None, else runs the given block
2018-06-18 18:28:28 +01:00
Bat 7e3cdec0b6 Add some to_json functions to models for serialization in templates 2018-06-18 17:34:29 +01:00
Bat 58cc35691d Add generic error catchers 2018-06-18 16:59:49 +01:00
Bat bb682a1cc1 Don't sign activities for each target inbox, do it only once 2018-06-18 16:16:18 +01:00
Bat fa2435e725 Improve the find_by! macro to allow multiple columns 2018-06-18 16:13:09 +01:00
Bat cd1d0d9627 Introduce an insert! macro to avoid some code duplication 2018-06-18 14:57:38 +01:00
Bat 94af0b9a7d Introduce a get! macro to avoid some code duplication 2018-06-18 14:44:23 +01:00
Bat 3c9210a0ed Introduce a find_by! macro to avoid some code duplication 2018-06-18 14:37:49 +01:00
Bat 36bf2e114c Fix local notifications 2018-06-18 12:32:03 +01:00
Bat ae4bcabc53 Make notifications translatable 2018-06-17 21:19:27 +01:00
Bat 0ea8c882ad Actually use the activity_pub::inbox::Notify trait for notifications
It won't work for local events until we use AP internally too
2018-06-17 20:37:10 +01:00
Bat 0b9515645c De-duplicate some parts of the users templates 2018-06-17 18:48:22 +01:00
Bat 152eafc06f Translate Rust strings 2018-06-17 17:06:47 +01:00
Bat 3207aa0e22 Make the UI translatable 2018-06-17 16:26:15 +01:00
Bat cafb0e2277 Use the rocket_i18n crate 2018-06-17 15:28:44 +01:00
Bat 23982d00fc Use the choosen domain when compiling templates 2018-06-17 11:37:24 +01:00
Bat a8f27a71b9 Compile translations at run time 2018-06-17 11:33:50 +01:00
Bat 25ec318f3f Inject ngettext into Tera templates
Fix .po updating (without the -U option, the result was written to stdout, not the .po file)
2018-06-17 11:16:20 +01:00
Bat 657a0837e2 Use filters for gettext in Tera 2018-06-17 10:38:59 +01:00
Bat 1092ceba76 Fix locale switching + Make the gettext Tera function work 2018-06-16 23:49:44 +01:00
Bat b18aa33c70 Update to the latest version of Rocket, to use rocket_contrib::Template::custom 2018-06-16 18:39:22 +01:00
Bat 7313f60d14 Compile .po files
Since cargo is usually not run as root, we can't install .mo files to the standard location (/usr/local/share/locale/),
so we install them to ./translations and load them from there.
2018-06-15 18:43:24 +01:00
Bat 327768d3fe I18n fairing 2018-06-15 14:55:14 +01:00
Bat c9b4c40fa1 Add the gettext-rs crate 2018-06-15 14:08:38 +01:00
Bat a4a8446d45 Make the follow button a bit smarter 2018-06-13 19:06:14 +01:00
Bat 1c287c6dfe View remote profiles locally
Add a link to the profile on the real instance
2018-06-13 18:48:37 +01:00
Bat 4185ba230e Add a link to user profile in comments
And move back {% if %} inside of {% block %}, so they get interpreted.
2018-06-12 21:14:49 +01:00
Bat 4c3e63ec16 Merge branch 'master' of github.com:Plume-org/Plume 2018-06-12 20:10:32 +01:00
Bat 36c11182f4 Introduce some traits for handling incoming activities 2018-06-12 20:10:08 +01:00
Trinity Pointard d8f32afeb0 allow html on user.summary 2018-06-11 16:05:18 +02:00