Bat
b59299ad5a
Remove the last build warning
...
The host-meta route is only available in XML anyway, and having warning during is making people doubt of its validity.
2018-07-11 17:31:02 +02:00
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
Bat
cd1d0d9627
Introduce an insert! macro to avoid some code duplication
2018-06-18 14:57:38 +01:00
Bat
36bf2e114c
Fix local notifications
2018-06-18 12:32:03 +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
b18aa33c70
Update to the latest version of Rocket, to use rocket_contrib::Template::custom
2018-06-16 18:39:22 +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
Trinity Pointard
7d9609671c
change post.content and comment.content's types from String to SafeString
2018-06-11 12:22:43 +02:00
Bat
d8bd9dbfca
Add NodeInfo endpoints ( fixes #11 )
2018-06-10 20:33:42 +01:00
Bat
7fd152e270
Add a button to write a new article
2018-06-10 19:16:25 +01:00
Bat
edbeeef640
Add a dashboard
2018-06-10 18:55:08 +01:00
Bat
7a3215edaa
Show 6 articles on the home and on profiles
2018-06-10 17:37:02 +01:00
Bat
78362feffb
Use the activitypub crate
2018-06-10 12:13:07 +01:00
Trinity Pointard
3dcd78f205
fix redirection to login in src/routes/user.rs
2018-06-07 10:39:22 +02:00
Trinity Pointard
8158f19b85
add fallback to url generating 404
2018-06-04 21:57:03 +02:00
Trinity Pointard
2fde47d909
add optional login message and callback
2018-06-04 20:21:43 +02:00
Bat
93eb89bc77
Markdown!
...
Fixes #18
2018-05-24 11:42:45 +01:00
Bat
e9cd48ecca
Display reshares on profile page
2018-05-24 10:45:36 +01:00
Bat
94beaaca76
Merge branch 'master' of github.com:Plume-org/Plume
2018-05-23 18:56:16 +01:00
Trinity Pointard
a8aeb40b95
add trailing slashes to links where they were missing
...
Signed-off-by: Trinity Pointard <trinity.pointard@insa-rennes.fr>
2018-05-22 17:35:16 +02:00
Bat
9b98a45f2e
Add a button to reshare
2018-05-19 10:57:39 +01:00
Bat
63eb1a7e98
Add a route to reshare posts
2018-05-19 10:51:10 +01:00
Bat
14bf3f00aa
Make post metadata look nicer
2018-05-19 08:53:51 +01:00
Baptiste Gelez
73512a4fdc
Merge pull request #30 from JosephKiranBabu/display-post-author
...
Display post author and date in the post view
2018-05-19 08:44:39 +01:00
Bat
b55622f2b1
Reorganize use statements
2018-05-19 08:39:59 +01:00
Joseph Nuthalapati
ff50143c1c
Display post author and date in the post view
...
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-05-19 10:16:05 +05:30
Baptiste Gelez
d7552ba369
Merge pull request #27 from Plume-org/activitystreams
...
Use the Activitystreams crate
2018-05-18 23:14:55 +01:00
Bat
4a86af6fc1
Resolve activitystream TODOs
2018-05-18 23:04:30 +01:00
Bat
e83226ae85
Validate data before creating a new account
...
Fix #28
2018-05-18 21:48:07 +01:00
Bat
c779b1c58a
WIP: use the activitystreams crate
2018-05-16 19:20:44 +01:00
Bat
dfab0290e4
Shared inbox endpoint
2018-05-13 18:39:18 +01:00
Bat
91b19bccb5
Add a link to author's profile on article card
...
Use a macro to render those cards too
2018-05-13 18:19:23 +01:00
Bat
5e7d513a7e
Make it possible to display remote blogs
2018-05-13 18:00:47 +01:00
Bat
fdc481e384
Use shared inbox when available
...
But it is not yet stored in the database, so it means never
2018-05-13 15:39:55 +01:00
Bat
b91f567777
Display notifications
2018-05-13 14:35:55 +01:00
Bat
c6b2560eb0
Followers listing
...
And clean up models functions a bit
2018-05-13 12:53:58 +01:00
Bat
601fe7cf4f
Allow likes to be deleted with AP
2018-05-13 11:44:05 +01:00
Bat
bae49bcb47
Broadcast delete to AP
2018-05-12 22:34:13 +01:00
Bat
b8aade1e12
Delete likes
2018-05-12 21:56:57 +01:00
Bat
b68e481b3f
Make the website more mobile-friendly
2018-05-12 18:59:38 +01:00
Bat
aefa31b84e
Add a few (ugly) badges to the user page
2018-05-12 17:55:25 +01:00
Bat
ea08718c23
User profile edition
2018-05-12 16:30:14 +01:00
Bat
6de9d5b82a
Articles listings on blogs and users pages
2018-05-12 14:31:09 +01:00
Bat
397d25e431
Display recent articles on the homepage
2018-05-12 13:56:38 +01:00
Bat
a74215ef07
Start an actual design
2018-05-10 21:31:52 +01:00
Bat
d3319493d9
Serve static files
2018-05-10 19:01:16 +01:00
Bat
ee7dfee3ef
Add an endpoint to like posts
2018-05-10 17:38:03 +01:00
Bat
b81b9f90ec
Federate comments written in Plume
2018-05-10 16:36:32 +01:00
Bat
b506e93bd8
Make it possible to respond to a comment
2018-05-10 15:26:12 +01:00
Bat
56f4a598e2
Actually redirect when writing a new comment
2018-05-10 14:58:17 +01:00
Bat
a436f2da4b
Federate comments
2018-05-10 11:52:56 +01:00
Bat
a3d73cb2c4
Create and display comments
2018-05-10 10:44:57 +01:00
Bat
292f4d6b27
Add actual templates for everything
2018-05-09 20:09:52 +01:00
Bat
92af83565e
Add an AP followers endpoint for users
2018-05-04 14:13:55 +01:00
Bat
c282246bf2
Add an enpoint for viewing articles AP representation
2018-05-04 12:09:08 +01:00
Bat
d587d18cd4
Actually, we don't need to federate a Note
...
Mastodon supports Article, see 63f0979799/app/lib/activitypub/activity/create.rb (L191)
2018-05-03 22:36:59 +01:00
Bat
b10af9776b
Send a Note too when publishing an article
...
Fixes #3
2018-05-03 20:27:17 +01:00
Bat
22cb286f86
Signing activities
...
I hope it works correctly…
Fixes #6
2018-05-03 20:11:04 +01:00
Bat
cf41ae5fda
Refactor activity_pub::activity::Activity
...
I only had to wrap it in Arc… -_-
2018-05-02 22:36:13 +01:00
Bat
afe98ab1c3
Start refactoring activities
2018-05-02 21:44:03 +01:00
Bat
58fad0d414
Fix a bug when instance URL included a port
2018-05-02 14:05:26 +01:00
Bat
ac1a111d7b
Make it possible to test the federation locally
...
And explain how to do it in the README
2018-05-02 13:47:46 +01:00
Bat
5f43f783b6
Use more env vars for config
...
It will make it easier to test federation
2018-05-02 12:53:42 +01:00
Bat
9fdfb2b25e
Follow endpoint
2018-05-01 20:57:30 +01:00
Bat
2f1f6a0295
Broadcast activities to followers
2018-05-01 16:51:49 +01:00
Bat
03df88e186
WIP: inboxes
2018-05-01 15:00:29 +01:00
Bat
8047df6848
Display remote profiles!
2018-05-01 12:48:19 +01:00
Bat
80472506ca
User outbox
2018-04-29 19:01:42 +01:00
Bat
e592e692ff
Restore index page
2018-04-29 18:50:46 +01:00
Bat
4666cd3ee3
Blog outbox
2018-04-29 18:49:56 +01:00
Bat
721456de30
Actually start playing with ActivityPub
...
And Rust
2018-04-24 15:52:47 +01:00
Bat
0b00849a62
Refactor ActivityPub
2018-04-24 13:31:02 +01:00
Bat
270786ad3d
Always use JSON for Webfinger
2018-04-24 12:38:43 +01:00
Bat
0c9a1bfc3a
Reorganize uses
2018-04-24 10:21:39 +01:00
Bat
f0b08b2d6d
Webfinger
2018-04-24 09:35:45 +01:00
Bat
e9bcaf4dd9
Add Actor ActivityPub representation
2018-04-23 17:26:01 +01:00
Bat
656b201244
Pluralize model modules
2018-04-23 16:19:28 +01:00
Bat
7b3a884ec6
Add ActivityPub endpoint for actors
2018-04-23 16:09:05 +01:00
Bat
9eb1b987b2
Save post author
2018-04-23 15:39:06 +01:00
Bat
e506cd21b7
Post creation
2018-04-23 15:25:39 +01:00
Bat
268607da0e
Add a model for posts
2018-04-23 14:41:43 +01:00
Bat
0e24b3cdb7
Add creator of the blog as author
2018-04-23 14:22:07 +01:00
Bat
9240ca3a84
Compute outbox/inbox URLs from activity_pub::Actor
2018-04-23 14:12:59 +01:00
Bat
4f9df753f5
Implement logout
2018-04-23 12:13:49 +01:00
Bat
00e5f28d0b
Require authentication for creating blog + Fix utils::make_actor_id
2018-04-23 12:10:15 +01:00
Bat
9130f4d848
Basic blog creation
2018-04-23 11:54:37 +01:00
Bat
5f4cb6c065
Authentication
2018-04-23 10:52:44 +01:00
Bat
a7774444fe
User creation
2018-04-22 19:13:12 +01:00
Bat
f060fa08af
Initial commit
...
With instance configuration
2018-04-22 14:35:37 +01:00