Commit graph

141 commits

Author SHA1 Message Date
Bat
b95e384ed7 Use the ApRequest guard for routes that need it + Fix a few issues with its impl
Also fixes some Rocket warnings!
2018-07-11 17:30:01 +02:00
Bat
3775d3a9c9 HTML validation + Actually associate messages to errors + Fix inverted behavior on new blog and post form 2018-07-07 22:51:48 +02:00
Bat
e5c1b3259d Make LoginForm serializable 2018-07-06 21:59:17 +02:00
Bat
5f3afe900f Display errors on invalid forms
It will probably need a bit of styling…
2018-07-06 19:29:36 +02:00
Bat
153400959c Actually validate forms 2018-07-06 11:51:19 +02:00
Bat
c81bb9ec25 Make forms validatable 2018-06-29 14:56:00 +02:00
Bat
1a2cf3b14f What if I use the correct name for the this field?
Fix #81
2018-06-27 20:43:09 +02:00
Bat
68a041711c We can't mix GET and POST (in the comment form)
in_response_to was always null
2018-06-27 00:19:18 +02:00
Bat
9a825e7066 Change the signature of ap_url to be backward-compatible 2018-06-26 17:32:35 +02:00
Trinity Pointard
30e9620d0a Add csrf protection 2018-06-24 18:58:57 +02:00
Bat
68c7aad179 Big repository reorganization
The code is divided in three crates:
- plume-common, for the ActivityPub module, and some common utils
- plume-models, for the models and database-related code
- plume, the app itself

This new organization will allow to test it more easily, but also to create other tools that only reuse a little part of
the code (for instance a Wordpress import tool, that would just use the plume-models crate)
2018-06-23 17:36:11 +01:00
Bat
e7fd12ae6f Set to and cc for new Follow activities 2018-06-23 13:47:53 +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
f5f2aa7c59 Get rid of the activity_pub::actor::Actor trait 2018-06-21 18:53:57 +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
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
2217ec0d56 Remove PgConnection when we don't need it
Massive simplification in the ActivityPub module!
2018-06-21 16:31:42 +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
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
e074af57ff Add a Mention model 2018-06-20 19:22:34 +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
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
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
fa2435e725 Improve the find_by! macro to allow multiple columns 2018-06-18 16:13:09 +01:00