Trinity Pointard
5f059c3e98
Fix issues with tags and mentions
...
Fix issue where leading @ or # of a mention/hashtag get duplicated
Fix issue where normal tags were being overwritten by hashtags
2018-12-06 15:10:07 +01:00
Trinity Pointard
d6e220cc8d
Actually index post_id in tantivy
...
Otherwise you can't remove/edit a document
2018-12-04 06:43:32 +01:00
Trinity Pointard
39deede935
Verify signature date
...
Fix #286
Remove indexed from post_id search field as it was added by mistake
2018-12-04 00:08:55 +01:00
Trinity Pointard
ed71d24fe9
Verify remote user name and media url
2018-12-02 19:09:17 +01:00
fdb-hiroshima and GitHub
449641d158
Add a search engine into Plume ( #324 )
...
* Add search engine to the model
Add a Tantivy based search engine to the model
Implement most required functions for it
* Implement indexing and plm subcommands
Implement indexation on insert, update and delete
Modify func args to get the indexer where required
Add subcommand to initialize, refill and unlock search db
* Move to a new threadpool engine allowing scheduling
* Autocommit search index every half an hour
* Implement front part of search
Add default fields for search
Add new routes and templates for search and result
Implement FromFormValue for Page to reuse it on search result pagination
Add optional query parameters to paginate template's macro
Update to newer rocket_csrf, don't get csrf token on GET forms
* Handle process termination to release lock
Handle process termination
Add tests to search
* Add proper support for advanced search
Add an advanced search form to /search, in template and route
Modify Tantivy schema, add new tokenizer for some properties
Create new String query parser
Create Tantivy query AST from our own
* Split search.rs, add comment and tests
Split search.rs into multiple submodules
Add comments and tests for Query
Make user@domain be treated as one could assume
2018-12-02 17:37:51 +01:00
fdb-hiroshima and GitHub
74c398d60c
Run cargo clippy on whole project ( #322 )
...
* Run cargo clippy on plume-common
Run clippy on plume-common and adjuste code accordingly
* Run cargo clippy on plume-model
Run clippy on plume-model and adjuste code accordingly
* Reduce need for allocation in plume-common
* Reduce need for allocation in plume-model
add a quick compilation failure if no database backend is enabled
* Run cargo clippy on plume-cli
* Run cargo clippy on plume
2018-11-26 10:21:52 +01:00
fdb-hiroshima and Baptiste Gelez
8a4702df92
Add unit tests for main model parts ( #310 )
...
Add tests for following models:
- Blog
- Instance
- Media
- User
2018-11-24 12:44:17 +01:00
KokaKiwi and Baptiste Gelez
0b9727ed28
Generate valid follow Accept activity URI ( #317 )
...
For now it only generate a "fake" URI for accept follow activities, but it should be possible to get the URI dereferencable later.
Also I don't know if this URI looks ok, I tried to get something kind of future-proof, but I don't really know about the actual URIs conventions.
Closes #313
2018-11-23 13:23:46 +01:00
Baptiste Gelez and GitHub
b28411da99
Test with PostgreSQL too ( #309 )
...
* Test with PostgreSQL too
* Add 'test' to Travis build stages
* Add test coverage for postgresql
2018-11-07 15:50:24 +01:00
Baptiste Gelez and GitHub
6b2d9d4221
Tests infrastructure for plume-models ( #302 )
...
First step for testing `plume-models`. I only added one test for the moment, but we should add more in future PRs.
2018-11-01 22:23:38 +01:00
Baptiste Gelez
25b7399e7f
Only list images for possible covers
2018-10-31 15:07:40 +01:00
Baptiste Gelez
4a2f5aeeeb
Display article covers
2018-10-31 15:07:40 +01:00
Baptiste Gelez
95326c09e0
Federate article covers
2018-10-31 15:07:40 +01:00
Baptiste Gelez
485aac2e20
Add an interface to select an article illustration
2018-10-31 15:07:40 +01:00
Baptiste Gelez
ab5edbc6a5
Add a cover field to posts
...
Referencing the media to use to illustrate the article
2018-10-31 15:07:40 +01:00
Baptiste Gelez
e26a150164
Make Authorization optional for read routes
...
Only require it when reading draft articles.
2018-10-30 18:13:49 +01:00
Baptiste Gelez
c341179150
ApiToken: rename what to scope
2018-10-30 18:13:49 +01:00
Baptiste Gelez
28fbf35779
Use PhantomData intead of two Options useless for Authorization
...
And remove some warnings about unused parameters
2018-10-30 18:13:49 +01:00
Baptiste Gelez
0dbf9f519e
AppEndpoint.name is required for both the client and server
2018-10-30 18:13:49 +01:00
Baptiste Gelez
31641b1ea1
New request guard: Authorization<Action, Scope>
...
Filter requests that don't have an API token authorized to read or write
a specific scope;
2018-10-30 18:13:49 +01:00
Baptiste Gelez
9a13d804c5
impl FromRequest for ApiToken
...
and use it for the posts API
2018-10-30 18:13:49 +01:00
Baptiste Gelez
2394ff424b
Add an ApiToken model, and an endpoint to get one
2018-10-30 18:13:49 +01:00
Baptiste Gelez
f2190adfc2
Add an API endpoint to register apps
2018-10-30 18:13:49 +01:00
Baptiste Gelez
4c8a727e9e
Add a model for external apps
...
Stores their name, website, and credentials
2018-10-30 18:13:49 +01:00
Trinity Pointard and Baptiste Gelez
76ca76f068
Update tags and hashtags on remote post edition
2018-10-29 20:54:27 +01:00
Trinity Pointard and Baptiste Gelez
c4fc656809
Update mentions on remote post edition
2018-10-29 20:54:27 +01:00
Trinity Pointard and Baptiste Gelez
f147885f08
Detect if tags are hashtags when receiving new posts
2018-10-29 20:54:27 +01:00
Trinity Pointard and Baptiste Gelez
9d7ae694a8
Delete notification on post deletion
2018-10-29 20:54:27 +01:00
Trinity Pointard and Baptiste Gelez
2523f3b523
Prevent duplication of mention on post update
...
and delete mentions and notifications of user no longer mentioned
2018-10-29 20:54:27 +01:00
Trinity Pointard
0bb719830a
Fix incorrect media link
...
Fix #292
2018-10-27 19:21:50 +02:00
Baptiste Gelez
fcf911fac9
ActivityPub: don't delete anything if the actor is not authorized
2018-10-22 16:29:25 +01:00
Baptiste Gelez and GitHub
fc5acac861
Merge pull request #283 from Plume-org/hashtags
...
Support hashtags
2018-10-21 13:53:15 +01:00
Trinity Pointard
95ea248518
Add support for hashtag on user interface
...
Add migration to fix typo
Add support for linking hashtags with posts
Rework tag search page so it says a nicer message than page not found
when no post use that tag
Add new string to translation
2018-10-20 19:27:49 +02:00
Trinity Pointard
4fa3a0f6ee
Add support for hashtags in md parser
2018-10-20 16:38:16 +02:00
Trinity Pointard
eca458b0e5
Add support for blog deletion
...
fix #181
2018-10-20 15:03:59 +02:00
Trinity Pointard
a6e73f4667
Allow tag deletion
...
Fix #232
2018-10-20 14:05:41 +02:00
Trinity Pointard
4e6f3209d5
Normalize panic message
...
Change all unwrap to expect
Normalize expect's messages
Don't panic where it could be avoided easily
2018-10-20 08:44:33 +02:00
Trinity Pointard
ed5bafbbc4
Update webfinger and reqwest
...
Update webfinger to 0.3.1
Update reqwest to 0.9
Fix #257
2018-10-11 13:51:45 +02:00
Baptiste Gelez and GitHub
8fdb55a501
Merge pull request #256 from Plume-org/verify-signature
...
Verify activity's signature
2018-10-10 21:31:11 +01:00
Baptiste Gelez
09e7226c23
Don't lowercase URL for requests signatures
2018-10-10 20:23:39 +00: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
3f18cdd38b
Add .swp to .gitignore
2018-10-08 20:42:40 +01:00
Bat
4f84b2a3ed
Impl SQL traits for SafeString only for the selected backend
...
Fixes #269
2018-10-08 18:58:15 +01:00
Baptiste Gelez and GitHub
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
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
387efbf3e9
Change default license to CC-BY-SA
...
Fixes #258
2018-10-06 18:19:45 +01:00
Bat
d08c21d58d
Delete posts when deleting account
2018-10-06 12:37:28 +01: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
07f2c979ec
Make the REST API compatible with SQlite
2018-09-30 14:21:07 +01:00