Mina Galić
850b3c1337
add async/.await until all our errors are the same:
...
that our Connection is not Send-safe.
once we get there, we can start thinking about restructing the way we
pass along our connection, or consider using #[database].
2020-05-22 21:41:33 +02:00
Igor Galić
44ebce516c
fix some, break some compiling by adding async/await in front of it
...
i forgot that we can't `Send` diesel connections over threads, so this
is going to require some rethinking.
2020-05-16 12:06:58 +02:00
Igor Galić
3c830ab0ce
move towards using #[rocket::async_trait]
...
this also upgrades some dependencies
some of that fixes stuff, others breaks stuff.
2020-05-15 22:38:21 +02:00
Igor Galić
097d0ea9ce
make plume-models async (again)
2020-05-06 22:33:10 +02:00
Igor Galić
6fe16c9f84
upgrade and use futures… then block_on .await in a trait?
2020-05-06 22:32:59 +02:00
Igor Galić
43cb9f700c
update webfinger
...
as requested in https://github.com/Plume-org/webfinger/issues/8
and provided in https://github.com/Plume-org/webfinger/pull/9
```
meena@76ix ~/s/a/plume (go/async) [101]> cargo update --package webfinger
Updating crates.io index
Updating git repository `https://github.com/Plume-org/webfinger `
Removing bytes v0.4.12
Removing cookie v0.12.0
Removing cookie_store v0.7.0
Removing crossbeam-deque v0.7.2
Removing crossbeam-epoch v0.8.0
Removing crossbeam-queue v0.1.2
Removing crossbeam-utils v0.7.0
Removing h2 v0.1.26
Removing http v0.1.21
Removing http-body v0.1.0
Removing hyper v0.12.35
Removing hyper-tls v0.3.2
Removing publicsuffix v1.5.4
Removing reqwest v0.9.24
Removing serde_urlencoded v0.5.5
Removing string v0.2.1
Removing tokio v0.1.22
Removing tokio-buf v0.1.1
Removing tokio-current-thread v0.1.6
Removing tokio-executor v0.1.9
Removing tokio-io v0.1.12
Removing tokio-reactor v0.1.11
Removing tokio-sync v0.1.7
Removing tokio-tcp v0.1.3
Removing tokio-threadpool v0.1.17
Removing tokio-timer v0.2.12
Removing try_from v0.3.2
Removing want v0.2.0
Adding webfinger v0.5.0 (https://github.com/Plume-org/webfinger?rev=update-deps#cdaab95e )
Removing webfinger v0.5.0
meena@76ix ~/s/a/plume (go/async)>
```
2020-05-06 22:30:33 +02:00
Igor Galić
2c285b9aca
start async-ifying routes
...
template utils and error routes
2020-05-06 22:29:36 +02:00
Igor Galić
e4bb73d22e
cargo clippy
2020-05-06 22:29:36 +02:00
Igor Galić
e9c7259ffb
cargo fmt
2020-05-06 22:29:35 +02:00
Igor Galić
be8c67ee9a
move reqwest client out of thread spawning
...
this way, we only spawn one, and reuse that.
2020-05-06 22:29:34 +02:00
Igor Galić
65b2c38c29
.await? result from read_to_string()
2020-05-06 22:29:33 +02:00
Jeb Rosen
8aa99cea35
move signature outside the spawning
...
this allows us to actually move stuff into the async block
and we can drop the 'static life-time.
2020-05-06 22:29:32 +02:00
Igor Galić
a010025074
asyncify reqwest calls (again?)
2020-05-06 22:29:32 +02:00
Igor Galić
82088596a8
asyncify from_activity calls (i.e.: block_on())
2020-05-06 22:29:31 +02:00
Igor Galić
87ce3a7b51
asyncify plume-models: media upload is now async
...
including the use of tokio!
2020-05-06 22:29:27 +02:00
Igor Galić
3472a58299
move ClientBuilder into thread, since we cannot Copy it
2020-05-06 22:26:37 +02:00
Igor Galić
a3f165f9f4
Use blocking reqwest API in defer
...
defer, or, trait functions such as it in general(?) cannot be async (yet)
2020-05-06 22:26:32 +02:00
Igor Galić
25c5da1a7c
add tokio (0.2) as dependency to further async-ify our FromData code
...
i'm using this opportunity to also update reqwest (0.10), but it's
turning out to be a little trickier, as it requires more modern async
setup, and that appears to need a lot of thinking…
2020-05-06 22:23:35 +02:00
Igor Galić
022e037eea
when using macros!() we need to import the things that they use
2020-05-06 22:20:49 +02:00
Igor Galić
45c335e17b
"manually" create ETag and Cache-Control headers
2020-05-06 22:20:48 +02:00
Igor Galić
b51551973a
start fixing tests in plume-models
2020-05-06 22:20:47 +02:00
Igor Galić
59e5c49aa8
convert plume-models to all async
...
where sensible! note that State has no asynchronous work to do, so
wrapping it up in async makes no sense.
2020-05-06 22:20:47 +02:00
Igor Galić
ce119ffe50
start making PlumeRocket async
2020-05-06 22:20:46 +02:00
Igor Galić
944f8c42fa
plume-models: convert api-tokens. use DbConn::from_request() directly
...
there doesn't seem to be a request.guard_async (yet?)
2020-05-06 22:17:25 +02:00
Igor Galić
909f677bdd
plume-models: convert admin & api-tokens to async
...
n.b.: I do *not* like the error handling in api_tokens 😒 ️
2020-05-06 22:17:24 +02:00
Igor Galić
fd9764ff17
plume-common: also make requests async
2020-05-06 22:17:24 +02:00
Igor Galić
75722abc9e
rocket does not need decl_macro anymore
2020-05-06 22:17:23 +02:00
Igor Galić
ec9b699c6e
convert plume-common to rocket async
...
it only took 3 hours of @jebrosen's patient help.
2020-05-06 22:17:22 +02:00
Igor Galić
bb5c2b69a7
update rocket* everywhere!
...
and run cargo update
2020-05-06 22:17:17 +02:00
Igor Galić
e52944e477
update rocket*; which gets us stuck in dependency conflicts
2020-05-06 21:01:25 +02:00
Igor Galić
928470610e
remove csrf for now, so we can update the rest
2020-05-06 21:01:18 +02:00
KITAITI Makoto
3be842c653
Make database connections configurable by environment variables ( #768 )
...
* Make env DB_MAX_SIZE and DB_MIN_IDLE recognizable
* Make database max size and minimum idle configurable
* Restore file permission
* Fail fast
2020-05-06 19:27:59 +02:00
KITAITI Makoto
dabe904642
Escape expressions in @Html ( #767 )
2020-05-05 23:48:29 +02:00
KITAITI Makoto
180e34b07c
Fix Atom feed datetime format ( #766 )
2020-05-04 23:46:59 +02:00
KITAITI Makoto
847d6f7fac
Fix Atom feed ( #764 )
...
* Percent-encode URI segments in ap_url
* Fix invalid Atoms
* Remove redundant clone according to cargo clippy
* Revert "Percent-encode URI segments in ap_url"
This reverts commit 8253aa79bd
.
ActivityPub(JSON-LD) accepts URI.
See https://github.com/Plume-org/Plume/pull/764#issuecomment-623105734
* Use absolute IRI for IDs in Atom
* Reuse formatted string
* Use parent element's creation date for Atom updated if there's no post
* Remove uncecessary UTC conversion
* Extract routes::build_atom_feed function
2020-05-04 15:28:52 +02:00
KITAITI Makoto
6a3f210dfc
Keep atmarks and hashes in link ( #765 )
...
* [REFACTORING]Use DocumentContext during parsing Markdown
* Add test case for hash in link
* Make DocumentContext derive Debug
* Add in_link field in DocumentContext
* Don't make hash words tags in link
* Add test for atmark in link
* Don't make atmark words in link mentions
2020-05-03 14:50:32 +02:00
KITAITI Makoto
73aa301d4a
Fix user subscription URI so that plume::routes:interact accept it ( #762 )
2020-05-02 12:07:45 +02:00
KITAITI Makoto
b3d367b174
Use plural form for 0 in French ( #760 )
...
See https://github.com/Plume-org/Plume/issues/745
2020-04-30 15:35:12 +02:00
KITAITI Makoto
edaccd1a31
Fixes #757 Allow Unicode hashtags ( #758 )
...
* Add test for Persian language hashtags
See https://github.com/Plume-org/Plume/issues/757
* Add regex-syntax with unicode-perl feature to dependencies
* Install regex-syntax
* Allow hashtag to use Unicode word characters
* Run cargo fmt
2020-04-29 15:13:31 +02:00
Floréal Toumikian
e1bd2eab75
Updated: Cargo.lock ( #753 )
2020-04-19 09:34:05 +02:00
KITAITI Makoto
ac7a05b09a
Make blocklist deletion possible ( #750 )
2020-04-18 11:46:10 +02:00
KITAITI Makoto
71e0a35e06
Use LenientForm instead Form for CSRF protected pages ( #751 )
2020-04-18 11:45:28 +02:00
KITAITI Makoto
c217e5e9b3
Move stylesheets for header from _global.sccss to _header.scss ( #749 )
2020-04-14 23:32:27 +02:00
KITAITI Makoto
8ba0c17db5
Build app and po files before upload pos to Crowdin ( #748 )
2020-04-14 20:51:53 +02:00
Floréal Toumikian
4e43c676b4
Fixed : #713 : Disply likes and boosts on post cards ( #744 )
...
This is a basic and simple way to display them. No interaction possible.
Alos, this patch is not optimised. as everytime a partial post_card is
called, `Post::count_likes()` and `Post::count_reshares()` are called
which means quite a few more quesies are sent to database unless diesel
uses some cache mechanisem.
A way to enhance this this would be to keep a count of likes and reshares
are kept in Post model / table.
2020-04-12 21:29:48 +02:00
KITAITI Makoto
b834d1c282
Fix #701 Preferable default theme ( #746 )
...
* Make it possible to update users.preferred_theme to NULL
* Make preferred them null when 'Default theme' is selected
* Run cargo fmt
2020-04-12 17:36:00 +02:00
Kenneth Steimel
506fe9955d
Fixed #734 , passowrds are now hidden on the remote_interact pages ( #741 )
...
* Fixed #734 , passowrds are now hidden on the remote_interact pages
* Update templates/remote_interact_base.rs.html
Co-Authored-By: Floréal Toumikian <floreal+github@nimukaito.net>
Co-authored-by: Floréal Toumikian <floreal+github@nimukaito.net>
2020-04-09 20:55:22 +02:00
KemoNine
02c528cae4
Bump llvm -> 9.0.0 (fixes arm builds) ( #737 )
2020-01-29 21:37:54 +01:00
Christopher James Halse Rogers
2a58835f92
Snapcraft updates ( #731 )
...
* snap: Update rust compiler
* snap: Fix the build.
We now need libclang
* snap: Fix the non-x86 builds.
The goddamned environment variable is SNAPCRAFT_ARCH_TRIPLE*T*
* snap: Mark as stable.
The snap works fine; we don't need to warn people away
2020-01-22 14:10:49 +02:00
Ana Gelez
5f8d6b8e0e
Rust 2018! ( #726 )
2020-01-21 07:02:03 +01:00