Commit graph

574 commits

Author SHA1 Message Date
Bat 14969d489c Save medias in static/media
Fixes #272
2018-10-12 20:32:34 +01:00
Trinity Pointard f9498828c4 Modify post slug only when it's still drafted
Fix #207
2018-10-11 14:23:23 +02:00
Baptiste Gelez 8fdb55a501
Merge pull request #256 from Plume-org/verify-signature
Verify activity's signature
2018-10-10 21:31:11 +01:00
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
Bat 3b7842d040 Rocket should manage DbConn, not Option<DbConn>
Otherwise it fails when using DbConn as a request guard
2018-10-08 20:02:17 +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
Baptiste Gelez 3a13d80dc6
Merge pull request #267 from Plume-org/db-url
Replace DB_URL with DATABASE_URL
2018-10-07 21:28:28 +01:00
Bat 9cc795d8be Replace DB_URL with DATABASE_URL
This way it is shared with diesel, which simplifies a lot the setup

Also fixes a few issues in the documentation, that are not directly related
2018-10-07 11:00:50 +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
Baptiste Gelez 00fe11fcbb
Merge pull request #261 from Plume-org/setup-tools
CLI tools
2018-10-06 14:28:13 +01:00
Bat 478e9dcac9 Show your own posts in your feed
Fixes #213
2018-10-06 13:42:57 +01:00
Bat 4d382d8014 Fix compatibility with SQlite
Also fixes a bug in plume-models
2018-10-06 12:59:08 +01:00
Bat 5fa7a2a742 Remove legacy setup script 2018-10-06 12:31:00 +01:00
Baptiste Gelez b464671cf0
Merge pull request #226 from igalic/feat/sqlite
Add SQLite as supported database
2018-10-06 12:15:00 +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
Trinity Pointard d3ed2d8af5 Fix regression and update rocket_csrf
Fix account creation, introduced by fceb9ab
Update to latest rocket_csrf
2018-10-02 11:51:12 +02:00
Bat 07f2c979ec Make the REST API compatible with SQlite 2018-09-30 14:21:07 +01: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
Baptiste Gelez 236cf14406
Merge pull request #245 from Plume-org/rest-api
Some API endpoints for articles
2018-09-29 16:33:31 +01:00
Bat 72fd9eb610 API: Filter posts in the list 2018-09-29 15:45:27 +01:00
Bat f893056d6d Mount the API endpoints 2018-09-25 20:45:32 +01: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
Bat 1500267125 Add canapi and try to use for the API 2018-09-19 15:49:34 +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 c0d0f98d1f Update rocket_csrf and enable protection again 2018-09-09 10:27:03 +01:00
Bat 995c173146 Downgrade Tera + Temporary disable CSRF protection
Bugs in these crates prevented articles from displaying correctly.
2018-09-08 23:09:59 +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 e508eada26 Federate follow deletion 2018-09-04 11:39:24 +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 772bb350ac Update rocket_csrf to support multipart forms 2018-09-03 10:21:33 +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 1e5ad2b086 Add a job pool 2018-07-26 17:32:52 +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 e3a7eadb78 Do it lazily -_- 2018-07-18 16:03:52 +02:00
Bat 488bd929c5 Try to fix the Hubzilla issue (#107) again 2018-07-18 16:02:21 +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 b008e11fb0 Add validator 2018-06-29 14:22:43 +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 0a1edba4b0 Fix the custom properties deserialization bug for Blogs as well 2018-06-23 15:00:35 +01:00
Bat e7fd12ae6f Set to and cc for new Follow activities 2018-06-23 13:47:53 +01:00
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
Bat 7d17751f50 Definitively get rid of the activitystreams crates 2018-06-11 13:30:14 +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
Trinity Pointard bb1442db8a create new type SafeString to sanitise and store unsafe html 2018-06-11 11:44:17 +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 e403099f47 CWs are optional 2018-06-10 12:53:39 +01:00
Bat 6544d7d1da Note's actor is usually just an ID, not a full object 2018-06-10 12:41:43 +01:00
Bat 78362feffb Use the activitypub crate 2018-06-10 12:13:07 +01:00
Bat 40d87e746d One less unhandled error 2018-06-10 11:01:02 +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 d604b62917 Make it easier to debug inbox errors 2018-05-24 12:20:11 +01:00
Bat 93eb89bc77 Markdown!
Fixes #18
2018-05-24 11:42:45 +01:00
Bat a0b4a6eacb Order notifications by creation date 2018-05-24 11:12:27 +01:00
Bat daf9120fba Send a notification when one of your article is reshared
Fixes #14
Fixes #19
2018-05-24 11:03:37 +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
Bat c0d1a914c4 Handle reshares from AP 2018-05-23 18:09:59 +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