Trinity Pointard
ba4695f490
Add support for signature verification on pseudo header
...
Add support for pseudo-header '(request-target)'
Add some logging for denied request
2018-10-10 21:10:43 +02:00
Bat
1b9c3f69bf
Add icons to Web Manifest
2018-10-09 19:38:01 +01:00
Baptiste Gelez
0469b8dae2
Merge pull request #266 from Plume-org/cc-by-sa
...
Change default license to CC-BY-SA
2018-10-07 21:28:43 +01:00
Bat
915b9bb0e5
Use env!("CARGO_PKG_VERSION") instead of hardcoding version when possible
...
See https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-crates
2018-10-06 18:55:30 +01:00
Bat
387efbf3e9
Change default license to CC-BY-SA
...
Fixes #258
2018-10-06 18:19:45 +01:00
Bat
478e9dcac9
Show your own posts in your feed
...
Fixes #213
2018-10-06 13:42:57 +01:00
Trinity Pointard
3466e55548
Implement JSON-ld signature verification
...
Implement JSON-ld signature verification
Move signature verification functions to the proper file
2018-10-06 10:06:06 +02:00
Trinity Pointard
62c94ed463
Refactor and verify http signature on personnal inbox
...
Verify signature on personnal inbox
Reduce code duplication
Put Headers in plume-models
2018-10-03 20:48:25 +02:00
Trinity Pointard
0a5d435249
Verify http signatures
2018-10-03 09:31:38 +02:00
Bat
743620eb6a
Fix the SQlite build
2018-09-30 14:13:56 +02:00
Trinity Pointard
fceb9ab0cd
Update cookie management a bit
...
Update to latest rocket_csrf
Make user_id a samesite lax cookie (see https://github.com/Plume-org/Plume/issues/233#issuecomment-422660275 )
2018-09-30 11:56:12 +02:00
Bat
d8ca1d70b7
Fix CSRF issues
...
GET routes are not protected against CSRF. This commit changes the needed URLs to
POST and replace simple links with forms.
Thanks @fdb-hiroshima for noticing it!
2018-09-19 18:13:07 +01:00
Igor Galić
06718a5c8a
directly use SafeString in InstanceSettingsForm
2018-09-14 20:25:16 +02:00
Igor Galić
65e213309b
do not allocate empty strings
...
follow review from @pwoolcoc, and do not use
SafeString::new(&<String>::new())
since this makes an allocation which will then just be thrown away.
Instead, we pass ""
2018-09-14 18:24:27 +02:00
Igor Galić
f5c299f23c
make blog/instance description a SafeString
...
long_description & short_description's documentation say they can be
Markdown, but they are String, not SafeString.
This led to escaped strings being printed in the editor
https://github.com/Plume-org/Plume/issues/220
2018-09-14 15:14:24 +02:00
Bat
0200a7b223
Only send notifications for mentions if the post is not a draft
2018-09-12 17:00:00 +01:00
Bat
b01212f4a6
Make it impossible to view drafts if you are not the author
...
Even if you got the URL
2018-09-12 16:58:38 +01:00
Bat
8fa83dfe25
Version bump
...
0.1.x was the pre-alpha.
The first Alpha will be 0.2.x
2018-09-11 19:53:14 +01:00
Baptiste Gelez
13ef50bb78
Merge pull request #212 from zcdunn/add_webapp_manifest
...
Add webapp manifest
2018-09-10 20:44:44 +01:00
Bat
10da8f31b6
Hide articles on public pages
...
Only show them in the dashboard
2018-09-10 20:06:00 +01:00
Zachary Dunn
8765b12229
Unwrap option
2018-09-10 14:54:18 -04:00
Bat
8879935925
Add the possibility to save an article as draft
2018-09-10 19:38:19 +01:00
Zachary Dunn
3a81dd7089
Add webapp manifest
2018-09-10 10:14:08 -04:00
Bat
de3707983a
Account deletion
...
Fixes #182
2018-09-09 20:49:24 +01:00
Bat
54f6e7dfc6
Use a more classical flow for creating comments
...
Don't locally federate them anymore
It allows us to have them fetched later too
2018-09-09 16:08:53 +01:00
Bat
642884034d
Fix build errors
2018-09-09 12:37:20 +01:00
Bat
08cb337df6
Broadcast activities to all known instances
...
We consider everything posted with Plume public (for the moment at least)
2018-09-09 12:19:11 +01:00
Bat
b4391b55f2
Fix panic because of invalid URL parsing when commenting
2018-09-09 11:53:22 +01:00
Bat
1f2bd105b6
Implement user ban
2018-09-09 11:25:55 +01:00
Bat
f66ddf6ef2
Actually implement blocks
2018-09-08 22:05:48 +01:00
Bat
0a70ff2594
Merge branch 'master' of github.com:Plume-org/Plume
2018-09-08 20:32:12 +01:00
Bat
f1d5865a16
Instance (un)block endpoint
...
And hide the block button for the local instance
2018-09-08 20:07:55 +01:00
Bat
c1e0b6c306
Add admin interface to manage interface
2018-09-08 19:54:09 +01:00
Baptiste Gelez
fe7f87c47f
Merge pull request #205 from lthms/recent_rocket
...
Update to a more recent rocket and rust toolchain
2018-09-08 19:06:52 +01:00
Thomas Letan
0ef4717a7f
deps: Update to a more recent rocket and rust toolchain
...
With this patch, Plume will be use a more up-to-date revision of
Rocket, that works with nightly-2018-07-17. It may have been able to
make it work with a more recent revision, but it turns out rocket has
introduced several breaking changes so I’d rather fix those.
Besides updating rocket_i18n and rocket_csrf to use the same revision
than Plume, this patch deals with the new implementation of the
Uri<'_> type. It silents a class of warnings, to deal with a change in
rustc which affects diesel. This latter change should be reverted as
soon as diesel releases a new version of its crate.
2018-09-08 15:51:55 +02:00
Bat
0f5f9101b6
Only notify for mention if it is not in a comment
...
To avoid two similar notifications
2018-09-08 12:53:17 +01:00
Bat
b53a078b49
Edit HTML for old articles without source
2018-09-08 12:05:22 +01:00
Bat
2822f8efe9
Don't show the "Registrations closed" message if there is an error when creating a new user
2018-09-07 20:13:14 +01:00
Bat
3918bd4501
Edit posts
2018-09-07 18:51:53 +01:00
Bat
413e34ac0e
Federate article updating
2018-09-06 22:39:22 +01:00
Bat
7152d714ae
Add a source property to posts
...
To store the Markdown
2018-09-06 20:00:55 +01:00
Bat
dd9c4a6a73
Add a page to list articles by tag
2018-09-06 13:06:04 +01:00
Bat
5b3eca63e0
Make it possible to tag articles and display them
2018-09-05 21:18:27 +01:00
Bat
b66d4f73ce
Reorganize the homepage
2018-09-05 18:03:02 +01:00
Bat
79348e06ff
Add a dedicated page for the federated feed
2018-09-05 15:37:49 +01:00
Bat
1496598a45
User feed
2018-09-05 15:21:50 +01:00
Bat
babb3a81f5
Local timeline
2018-09-04 20:56:27 +01:00
Bat
bba9a56329
Add author biography at the bottom of the post
2018-09-04 14:55:15 +01:00
Bat
94a386ea2c
Add subtitles to articles
...
Fix #152
2018-09-04 12:26:13 +01:00
Bat
7653551d57
Fix some compilation errors
2018-09-04 11:45:41 +01:00
Bat
dcebc4653a
Make it possible to unfollow someone
...
I was sure it was already implemented, but it looks like it wasn't
2018-09-04 11:37:58 +01:00
Bat
e4810263e3
Make about page accessible even when logged out
2018-09-03 22:48:35 +01:00
Bat
32a4949f25
Update user information if needed
...
When a remote is displayed, if it has not been updated since at least 24 hours, newer informations are fetched.
Fixes #135
2018-09-03 19:53:20 +01:00
Bat
3373bb66cd
Fake password verification when trying to login with inexistant account
...
Fix #170
2018-09-03 18:04:21 +01:00
Bat
ac631627ab
Make it possible to disable registrations
...
Fix #41
2018-09-03 17:05:45 +01:00
Bat
3013eec579
Redesign menu items
2018-09-03 14:59:02 +01:00
Bat
e2e7d10929
Make it possible to choose an avatar
2018-09-03 13:04:17 +01:00
Bat
99fdb8e680
Media deletion
2018-09-02 22:10:15 +01:00
Bat
f44b6fffa3
Media upload
2018-09-02 21:55:42 +01:00
Bat
97c0b533ab
Add Atom feeds for blogs and users
2018-09-01 21:08:26 +01:00
Bat
092ad5b795
Instance about page
...
Fixes #39
2018-09-01 17:39:40 +01:00
Bat
b66e8942a9
Fix the deletion route
2018-09-01 16:46:23 +01:00
Bat
cea548b821
Add a way to delete articles
...
Fixes #116
2018-09-01 16:28:47 +01:00
Bat
7fc5d7b5b0
Fix #167
2018-08-18 12:37:40 +02:00
Bat
ed8982b7fd
Add a presentation of Plume and of the instance on the homepage
...
Fixes #132
2018-07-27 22:16:17 +02:00
Bat
fb2f4e9bcd
Take in account instance's default license
...
Fix #145
2018-07-27 20:31:47 +02:00
Bat
74ec59e77c
Add some configuration options for instance admins
2018-07-27 19:05:36 +02:00
Bat
38d99ad5af
Try to fetch followers
2018-07-27 12:53:21 +02:00
Bat
812b76b0de
Use the creation date from ActivityPub when fetching remote articles
2018-07-27 00:29:21 +02:00
Bat
0314629d99
Improve the background article fetching code
2018-07-26 22:59:41 +02:00
Bat
bd259891f3
Try to fetch remote articles
2018-07-26 22:23:53 +02:00
Bat
5583029b07
Update the WebFinger crate
...
Fixes an issue with some Mastodon accounts
2018-07-26 21:35:35 +02:00
Bat
ab4af10ce5
Fix a simlar bug on blog pages
2018-07-26 19:10:50 +02:00
Bat
d4a8808f00
Fix a bug on article page
2018-07-26 19:08:18 +02:00
Bat
b42030e831
Try to use only "absolute" links to avoid trailing-slash bugs
2018-07-26 19:00:23 +02:00
Bat
a9f95c91e2
Sent activities in other threads
2018-07-26 17:51:41 +02:00
Bat
58d158238d
Use the worker queue to send new articles to other instances
2018-07-26 17:38:22 +02:00
Bat
c87d490664
Refactor notifications
2018-07-26 15:46:10 +02:00
Bat
44172b67d5
Add padding for responses in comments, to let threads appear
...
Fixes #144
2018-07-25 18:18:41 +02:00
Bat
4e07fdbd05
Paginate followers too
2018-07-25 15:50:29 +02:00
Bat
4b0aba62f3
Add pagination for notifications
...
And correctly close an <a> tag
2018-07-25 15:33:54 +02:00
Bat
18125ab398
Paginate the homepage
2018-07-25 15:20:09 +02:00
Bat
04dac6f87f
Add pagination links
2018-07-25 14:29:34 +02:00
Bat
5549e4d0e5
Merge branch 'master' of github.com:Plume-org/Plume
2018-07-24 14:32:11 +02:00
Kevin "Ilphrin" Pellet
cd24b0f057
Show the total number of article on a blog
...
fixes #150
2018-07-21 16:58:30 +02:00
Bat
67eb41add1
Add pagination to the blog page
...
No UI to control it yet
2018-07-20 18:42:35 +02:00
Bat
3764e295b8
Fix the link of the follow/unfollow button so that it is always working, even without a trailing slash
2018-07-20 17:59:16 +02:00
Bat
ce256d6e39
List authors of a blog
...
Update french translation accordingly
Fixes #129
2018-07-18 23:08:49 +02:00
Bat
67dd577a27
Make like and share button HTML forms
...
Fixes #88
2018-07-11 21:27:47 +02:00
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