~vpzom/lotide

e9015d8c4dbaf6b3e7b8c950df4b30f7f85c13c6 — Colin Reeder 23 days ago 1a287e8
Update tokio & related crates
M Cargo.lock => Cargo.lock +431 -191
@@ 83,12 83,6 @@ dependencies = [
]

[[package]]
name = "arc-swap"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d25d88fd6b8041580a654f9d0c581a047baee2b3efee13275f2fc392fc75034"

[[package]]
name = "arrayvec"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 173,6 167,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"

[[package]]
name = "bitvec"
version = "0.19.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321"
dependencies = [
 "funty",
 "radium",
 "tap",
 "wyz",
]

[[package]]
name = "block-buffer"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 234,7 240,7 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa17aa1cf56bdd6bb30518767d00e58019d326f3f05d8c3e0730b549d332ea83"
dependencies = [
 "bytes",
 "bytes 0.5.5",
]

[[package]]


@@ 265,6 271,12 @@ dependencies = [
]

[[package]]
name = "bytes"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"

[[package]]
name = "cc"
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 284,13 296,15 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"

[[package]]
name = "chrono"
version = "0.4.13"
version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c74d84029116787153e02106bf53e66828452a4b325cc8652b788b5967c0a0b6"
checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
dependencies = [
 "libc",
 "num-integer",
 "num-traits",
 "time",
 "winapi 0.3.9",
]

[[package]]


@@ 319,17 333,6 @@ dependencies = [

[[package]]
name = "config"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
dependencies = [
 "lazy_static",
 "nom 5.1.2",
 "serde",
]

[[package]]
name = "config"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369"


@@ 383,32 386,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d375c433320f6c5057ae04a04376eef4d04ce2801448cf8863a78da99107be4"

[[package]]
name = "crossbeam-queue"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
dependencies = [
 "cfg-if 0.1.10",
 "crossbeam-utils",
 "maybe-uninit",
]

[[package]]
name = "crossbeam-utils"
version = "0.7.2"
name = "crypto-mac"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
dependencies = [
 "autocfg",
 "cfg-if 0.1.10",
 "lazy_static",
 "generic-array 0.14.2",
 "subtle",
]

[[package]]
name = "crypto-mac"
version = "0.8.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6"
dependencies = [
 "generic-array 0.14.2",
 "subtle",


@@ 427,32 418,31 @@ dependencies = [

[[package]]
name = "deadpool"
version = "0.5.1"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38ce52b0b1ad88ed0b2be2bc3c65ad39dd1a5d9633b1a8a314fc017fbe0027d2"
checksum = "6284d3fbd2821de00878c70e55e89859c3115c4cacbd63a8dbd56887e88d069f"
dependencies = [
 "async-trait",
 "config 0.10.1",
 "crossbeam-queue",
 "config",
 "num_cpus",
 "serde",
 "tokio",
 "tokio 1.8.0",
]

[[package]]
name = "deadpool-postgres"
version = "0.5.5"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45575d9acf1535dddcfc5841fd8f1776287bdc328f8d9e76531f4dfd2eb9788f"
checksum = "1586368a579e26f158266d0a415bcb5df04a64b65913b2a31715d97987bd4d44"
dependencies = [
 "async-trait",
 "config 0.10.1",
 "config",
 "deadpool",
 "futures",
 "log",
 "serde",
 "tokio",
 "tokio-postgres",
 "tokio 1.8.0",
 "tokio-postgres 0.7.2",
]

[[package]]


@@ 539,6 529,15 @@ dependencies = [
]

[[package]]
name = "fastrand"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77b705829d1e87f762c2df6da140b26af5839e1033aa84aa5f56bb688e4e1bdb"
dependencies = [
 "instant",
]

[[package]]
name = "fluent"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 616,6 615,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"

[[package]]
name = "funty"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"

[[package]]
name = "futf"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 642,9 647,9 @@ dependencies = [

[[package]]
name = "futures-channel"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
dependencies = [
 "futures-core",
 "futures-sink",


@@ 652,9 657,9 @@ dependencies = [

[[package]]
name = "futures-core"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"

[[package]]
name = "futures-executor"


@@ 669,16 674,17 @@ dependencies = [

[[package]]
name = "futures-io"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789"
checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"

[[package]]
name = "futures-macro"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"
dependencies = [
 "autocfg",
 "proc-macro-hack",
 "proc-macro2",
 "quote",


@@ 687,25 693,23 @@ dependencies = [

[[package]]
name = "futures-sink"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"

[[package]]
name = "futures-task"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
dependencies = [
 "once_cell",
]
checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"

[[package]]
name = "futures-util"
version = "0.3.5"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
dependencies = [
 "autocfg",
 "futures-channel",
 "futures-core",
 "futures-io",


@@ 713,7 717,7 @@ dependencies = [
 "futures-sink",
 "futures-task",
 "memchr",
 "pin-project",
 "pin-project-lite 0.2.7",
 "pin-utils",
 "proc-macro-hack",
 "proc-macro-nested",


@@ 804,7 808,7 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "fnv",
 "futures-core",
 "futures-sink",


@@ 813,8 817,8 @@ dependencies = [
 "indexmap",
 "log",
 "slab",
 "tokio",
 "tokio-util",
 "tokio 0.2.22",
 "tokio-util 0.3.1",
]

[[package]]


@@ 836,7 840,7 @@ checksum = "ed18eb2459bf1a09ad2d6b1547840c3e5e62882fa09b9a6a20b1de8e3228848f"
dependencies = [
 "base64 0.12.3",
 "bitflags",
 "bytes",
 "bytes 0.5.5",
 "headers-core",
 "http",
 "mime",


@@ 860,7 864,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6426cea37391e26fd222f13377b524426fc02eefb3d67f20f576cbdebc46dca"
dependencies = [
 "dashmap",
 "tokio",
 "tokio 0.2.22",
]

[[package]]


@@ 878,7 882,17 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"
dependencies = [
 "crypto-mac",
 "crypto-mac 0.8.0",
 "digest 0.9.0",
]

[[package]]
name = "hmac"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
dependencies = [
 "crypto-mac 0.10.0",
 "digest 0.9.0",
]



@@ 913,7 927,7 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "fnv",
 "itoa",
]


@@ 924,15 938,32 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "http",
]

[[package]]
name = "http-body"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9"
dependencies = [
 "bytes 1.0.1",
 "http",
 "pin-project-lite 0.2.7",
]

[[package]]
name = "httparse"
version = "1.3.4"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"

[[package]]
name = "httpdate"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440"

[[package]]
name = "humantime"


@@ 946,21 977,44 @@ version = "0.13.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6e7655b9594024ad0ee439f3b5a7299369dc2a3f459b47c696f9ff676f9aa1f"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "futures-channel",
 "futures-core",
 "futures-util",
 "h2",
 "http",
 "http-body",
 "http-body 0.3.1",
 "httparse",
 "itoa",
 "log",
 "pin-project",
 "socket2",
 "socket2 0.3.12",
 "time",
 "tokio",
 "tokio 0.2.22",
 "tower-service",
 "want",
]

[[package]]
name = "hyper"
version = "0.14.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07d6baa1b441335f3ce5098ac421fb6547c46dda735ca1bc6d0153c838f9dd83"
dependencies = [
 "bytes 1.0.1",
 "futures-channel",
 "futures-core",
 "futures-util",
 "http",
 "http-body 0.4.2",
 "httparse",
 "httpdate",
 "itoa",
 "pin-project-lite 0.2.7",
 "socket2 0.4.0",
 "tokio 1.8.0",
 "tower-service",
 "tracing",
 "want",
]



@@ 970,29 1024,24 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed"
dependencies = [
 "bytes",
 "hyper",
 "bytes 0.5.5",
 "hyper 0.13.6",
 "native-tls",
 "tokio",
 "tokio 0.2.22",
 "tokio-tls",
]

[[package]]
name = "hyperx"
version = "1.1.0"
name = "hyper-tls"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9eae1ec4abdc4530fb001ebf585fd14e52ed17f0aacd3e13de497b71ed451750"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
 "base64 0.12.3",
 "bytes",
 "http",
 "httparse",
 "language-tags",
 "log",
 "mime",
 "percent-encoding",
 "time",
 "unicase",
 "bytes 1.0.1",
 "hyper 0.14.9",
 "native-tls",
 "tokio 1.8.0",
 "tokio-native-tls",
]

[[package]]


@@ 1082,12 1131,6 @@ dependencies = [
]

[[package]]
name = "language-tags"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"

[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 1095,30 1138,27 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"

[[package]]
name = "lettre"
version = "0.10.0-alpha.2"
version = "0.10.0-rc.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ef0e6a22631e37078148cff6ce1ef92984bdc2fbd2cb2cc804836db8196cc57"
checksum = "d8697ded52353bdd6fec234b3135972433397e86d0493d9fc38fbf407b7c106a"
dependencies = [
 "async-trait",
 "base64 0.12.3",
 "base64 0.13.0",
 "fastrand",
 "futures-io",
 "futures-util",
 "hostname",
 "hyperx",
 "httpdate",
 "idna",
 "mime",
 "native-tls",
 "nom 5.1.2",
 "nom 6.2.1",
 "once_cell",
 "quoted_printable",
 "r2d2",
 "rand",
 "regex",
 "serde",
 "serde_json",
 "tokio",
 "tokio 1.8.0",
 "tokio-native-tls",
 "uuid",
]

[[package]]


@@ 1136,9 1176,9 @@ dependencies = [

[[package]]
name = "libc"
version = "0.2.72"
version = "0.2.97"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9f8082297d534141b30c8d39e9b1773713ab50fdbe4ff30f750d063b3bfd701"
checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6"

[[package]]
name = "lock_api"


@@ 1181,10 1221,10 @@ dependencies = [
 "bcrypt",
 "bs58",
 "bumpalo",
 "bytes",
 "bytes 1.0.1",
 "chrono",
 "clap",
 "config 0.11.0",
 "config",
 "deadpool-postgres",
 "either",
 "env_logger",


@@ 1196,8 1236,8 @@ dependencies = [
 "headers",
 "henry",
 "http",
 "hyper",
 "hyper-tls",
 "hyper 0.14.9",
 "hyper-tls 0.5.0",
 "lazy_static",
 "lettre",
 "log",


@@ 1206,18 1246,18 @@ dependencies = [
 "openssl",
 "pdcm-linkify",
 "percent-encoding",
 "postgres-types",
 "postgres-types 0.2.1",
 "pulldown-cmark",
 "rand",
 "rand 0.7.3",
 "reqwest",
 "serde",
 "serde_derive",
 "serde_json",
 "serde_urlencoded",
 "thiserror",
 "tokio",
 "tokio-postgres",
 "tokio-util",
 "tokio 1.8.0",
 "tokio-postgres 0.7.2",
 "tokio-util 0.6.7",
 "trout",
 "unic-char-range",
 "unic-langid",


@@ 1280,10 1320,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"

[[package]]
name = "maybe-uninit"
version = "2.0.0"
name = "md-5"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15"
dependencies = [
 "block-buffer 0.9.0",
 "digest 0.9.0",
 "opaque-debug 0.3.0",
]

[[package]]
name = "md5"


@@ 1364,14 1409,15 @@ dependencies = [
]

[[package]]
name = "mio-named-pipes"
version = "0.1.7"
name = "mio"
version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16"
dependencies = [
 "libc",
 "log",
 "mio",
 "miow 0.3.5",
 "miow 0.3.7",
 "ntapi",
 "winapi 0.3.9",
]



@@ 1383,7 1429,7 @@ checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
dependencies = [
 "iovec",
 "libc",
 "mio",
 "mio 0.6.22",
]

[[package]]


@@ 1400,11 1446,10 @@ dependencies = [

[[package]]
name = "miow"
version = "0.3.5"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e"
checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
dependencies = [
 "socket2",
 "winapi 0.3.9",
]



@@ 1465,6 1510,27 @@ dependencies = [
]

[[package]]
name = "nom"
version = "6.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
dependencies = [
 "bitvec",
 "funty",
 "memchr",
 "version_check 0.9.2",
]

[[package]]
name = "ntapi"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"
dependencies = [
 "winapi 0.3.9",
]

[[package]]
name = "num-integer"
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 1501,9 1567,9 @@ checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397"

[[package]]
name = "once_cell"
version = "1.4.0"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"

[[package]]
name = "opaque-debug"


@@ 1618,7 1684,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
dependencies = [
 "phf_shared",
 "rand",
 "rand 0.7.3",
]

[[package]]


@@ 1657,6 1723,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282adbf10f2698a7a77f8e983a74b2d18176c19a7fd32a45446139ae7b02b715"

[[package]]
name = "pin-project-lite"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"

[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 1674,12 1746,12 @@ version = "0.17.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14d864cf6c2eabf1323afe4145ff273aad1898e4f2a3bcb30347715df8624a07"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "fallible-iterator",
 "futures",
 "log",
 "tokio",
 "tokio-postgres",
 "tokio 0.2.22",
 "tokio-postgres 0.5.5",
]

[[package]]


@@ 1690,12 1762,30 @@ checksum = "81c5b25980f9a9b5ad36e9cdc855530575396d8a57f67e14691a2440ed0d9a90"
dependencies = [
 "base64 0.12.3",
 "byteorder",
 "bytes",
 "bytes 0.5.5",
 "fallible-iterator",
 "hmac",
 "hmac 0.8.1",
 "md5",
 "memchr",
 "rand",
 "rand 0.7.3",
 "sha2",
 "stringprep",
]

[[package]]
name = "postgres-protocol"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff3e0f70d32e20923cabf2df02913be7c1842d4c772db8065c00fcfdd1d1bff3"
dependencies = [
 "base64 0.13.0",
 "byteorder",
 "bytes 1.0.1",
 "fallible-iterator",
 "hmac 0.10.1",
 "md-5",
 "memchr",
 "rand 0.8.4",
 "sha2",
 "stringprep",
]


@@ 1706,10 1796,21 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d14b0a4f433b0e0b565bb0fbc0ac9fc3d79ca338ba265ad0e7eef0f3bcc5e94"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "fallible-iterator",
 "postgres-protocol 0.5.2",
]

[[package]]
name = "postgres-types"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "430f4131e1b7657b0cd9a2b0c3408d77c9a43a042d300b8c77f981dffcc43a2f"
dependencies = [
 "bytes 1.0.1",
 "chrono",
 "fallible-iterator",
 "postgres-protocol",
 "postgres-protocol 0.6.1",
 "serde",
 "serde_json",
 "uuid",


@@ 1729,9 1830,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"

[[package]]
name = "proc-macro-hack"
version = "0.5.16"
version = "0.5.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4"
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"

[[package]]
name = "proc-macro-nested"


@@ 1741,9 1842,9 @@ checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"

[[package]]
name = "proc-macro2"
version = "1.0.18"
version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
dependencies = [
 "unicode-xid",
]


@@ 1787,6 1888,12 @@ dependencies = [
]

[[package]]
name = "radium"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"

[[package]]
name = "rand"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 1794,20 1901,42 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
 "getrandom 0.1.14",
 "libc",
 "rand_chacha",
 "rand_core",
 "rand_hc",
 "rand_chacha 0.2.2",
 "rand_core 0.5.1",
 "rand_hc 0.2.0",
 "rand_pcg",
]

[[package]]
name = "rand"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
dependencies = [
 "libc",
 "rand_chacha 0.3.1",
 "rand_core 0.6.3",
 "rand_hc 0.3.1",
]

[[package]]
name = "rand_chacha"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
dependencies = [
 "ppv-lite86",
 "rand_core",
 "rand_core 0.5.1",
]

[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
 "ppv-lite86",
 "rand_core 0.6.3",
]

[[package]]


@@ 1820,12 1949,30 @@ dependencies = [
]

[[package]]
name = "rand_core"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
dependencies = [
 "getrandom 0.2.0",
]

[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
 "rand_core",
 "rand_core 0.5.1",
]

[[package]]
name = "rand_hc"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
dependencies = [
 "rand_core 0.6.3",
]

[[package]]


@@ 1834,7 1981,7 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
dependencies = [
 "rand_core",
 "rand_core 0.5.1",
]

[[package]]


@@ 1898,14 2045,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12427a5577082c24419c9c417db35cfeb65962efc7675bb6b0d5f1f9d315bfe6"
dependencies = [
 "base64 0.12.3",
 "bytes",
 "bytes 0.5.5",
 "encoding_rs",
 "futures-core",
 "futures-util",
 "http",
 "http-body",
 "hyper",
 "hyper-tls",
 "http-body 0.3.1",
 "hyper 0.13.6",
 "hyper-tls 0.4.3",
 "ipnet",
 "js-sys",
 "lazy_static",


@@ 1914,11 2061,11 @@ dependencies = [
 "mime_guess",
 "native-tls",
 "percent-encoding",
 "pin-project-lite",
 "pin-project-lite 0.1.7",
 "serde",
 "serde_json",
 "serde_urlencoded",
 "tokio",
 "tokio 0.2.22",
 "tokio-tls",
 "url",
 "wasm-bindgen",


@@ 2102,11 2249,10 @@ dependencies = [

[[package]]
name = "signal-hook-registry"
version = "1.2.1"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035"
checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
dependencies = [
 "arc-swap",
 "libc",
]



@@ 2141,6 2287,16 @@ dependencies = [
]

[[package]]
name = "socket2"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2"
dependencies = [
 "libc",
 "winapi 0.3.9",
]

[[package]]
name = "stable_deref_trait"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 2201,9 2357,9 @@ checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1"

[[package]]
name = "syn"
version = "1.0.33"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd"
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
dependencies = [
 "proc-macro2",
 "quote",


@@ 2211,6 2367,12 @@ dependencies = [
]

[[package]]
name = "tap"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"

[[package]]
name = "tempfile"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 2218,7 2380,7 @@ checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
dependencies = [
 "cfg-if 0.1.10",
 "libc",
 "rand",
 "rand 0.7.3",
 "redox_syscall",
 "remove_dir_all",
 "winapi 0.3.9",


@@ 2310,29 2472,44 @@ version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d34ca54d84bf2b5b4d7d31e901a8464f7b60ac145a284fba25ceb801f2ddccd"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "fnv",
 "futures-core",
 "iovec",
 "lazy_static",
 "libc",
 "memchr",
 "mio",
 "mio-named-pipes",
 "mio 0.6.22",
 "mio-uds",
 "num_cpus",
 "pin-project-lite",
 "signal-hook-registry",
 "pin-project-lite 0.1.7",
 "slab",
]

[[package]]
name = "tokio"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "570c2eb13b3ab38208130eccd41be92520388791207fde783bda7c1e8ace28d4"
dependencies = [
 "autocfg",
 "bytes 1.0.1",
 "libc",
 "memchr",
 "mio 0.7.13",
 "num_cpus",
 "once_cell",
 "pin-project-lite 0.2.7",
 "signal-hook-registry",
 "tokio-macros",
 "winapi 0.3.9",
]

[[package]]
name = "tokio-macros"
version = "0.2.5"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389"
checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37"
dependencies = [
 "proc-macro2",
 "quote",


@@ 2341,12 2518,12 @@ dependencies = [

[[package]]
name = "tokio-native-tls"
version = "0.1.0"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd608593a919a8e05a7d1fc6df885e40f6a88d3a70a3a7eff23ff27964eda069"
checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
dependencies = [
 "native-tls",
 "tokio",
 "tokio 1.8.0",
]

[[package]]


@@ 2357,18 2534,41 @@ checksum = "55a2482c9fe4dd481723cf5c0616f34afc710e55dcda0944e12e7b3316117892"
dependencies = [
 "async-trait",
 "byteorder",
 "bytes",
 "bytes 0.5.5",
 "fallible-iterator",
 "futures",
 "log",
 "parking_lot",
 "percent-encoding",
 "phf",
 "pin-project-lite 0.1.7",
 "postgres-protocol 0.5.2",
 "postgres-types 0.1.2",
 "tokio 0.2.22",
 "tokio-util 0.3.1",
]

[[package]]
name = "tokio-postgres"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d2b1383c7e4fb9a09e292c7c6afb7da54418d53b045f1c1fac7a911411a2b8b"
dependencies = [
 "async-trait",
 "byteorder",
 "bytes 1.0.1",
 "fallible-iterator",
 "futures",
 "log",
 "parking_lot",
 "percent-encoding",
 "phf",
 "pin-project-lite",
 "postgres-protocol",
 "postgres-types",
 "tokio",
 "tokio-util",
 "pin-project-lite 0.2.7",
 "postgres-protocol 0.6.1",
 "postgres-types 0.2.1",
 "socket2 0.4.0",
 "tokio 1.8.0",
 "tokio-util 0.6.7",
]

[[package]]


@@ 2378,7 2578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343"
dependencies = [
 "native-tls",
 "tokio",
 "tokio 0.2.22",
]

[[package]]


@@ 2387,12 2587,26 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499"
dependencies = [
 "bytes",
 "bytes 0.5.5",
 "futures-core",
 "futures-sink",
 "log",
 "pin-project-lite 0.1.7",
 "tokio 0.2.22",
]

[[package]]
name = "tokio-util"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592"
dependencies = [
 "bytes 1.0.1",
 "futures-core",
 "futures-sink",
 "log",
 "pin-project-lite",
 "tokio",
 "pin-project-lite 0.2.7",
 "tokio 1.8.0",
]

[[package]]


@@ 2411,12 2625,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860"

[[package]]
name = "tracing"
version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
dependencies = [
 "cfg-if 1.0.0",
 "pin-project-lite 0.2.7",
 "tracing-core",
]

[[package]]
name = "tracing-core"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052"
dependencies = [
 "lazy_static",
]

[[package]]
name = "trout"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c525ebdc306faebb8a191ad8be3fa914d7aaf8e7d724ab0471d1f9d380c4e4e2"
dependencies = [
 "hyper",
 "hyper 0.13.6",
 "percent-encoding",
]



@@ 2553,7 2787,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11"
dependencies = [
 "rand",
 "rand 0.7.3",
]

[[package]]


@@ 2780,6 3014,12 @@ dependencies = [
]

[[package]]
name = "wyz"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"

[[package]]
name = "xml5ever"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

M Cargo.toml => Cargo.toml +9 -9
@@ 8,12 8,12 @@ license = "AGPL-3.0-or-later"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
hyper = "0.13.5"
hyper-tls = "0.4.1"
tokio-postgres = { version = "0.5.3", features = ["with-uuid-0_8", "with-chrono-0_4", "with-serde_json-1"] }
tokio = { version = "0.2.18", features = ["macros"] }
hyper = { version = "0.14.9", features = ["stream", "client", "tcp", "http1", "server"] }
hyper-tls = "0.5.0"
tokio-postgres = { version = "0.7.2", features = ["with-uuid-0_8", "with-chrono-0_4", "with-serde_json-1"] }
tokio = { version = "1.8.0", features = ["macros", "sync", "fs", "time", "rt-multi-thread"] }
trout = "0.2.0"
deadpool-postgres = "0.5.5"
deadpool-postgres = "0.9.0"
serde_json = "1.0.53"
futures = "0.3.5"
bcrypt = "0.8.0"


@@ 23,7 23,6 @@ uuid = { version = "0.8.1", features = ["v4"] }
headers = "0.3.2"
chrono = "0.4.11"
url = { version = "2.1.1", features = ["serde"] }
bytes = "0.5.4"
either = "1.5.3"
openssl = "0.10.29"
hancock = "0.1.0"


@@ 31,7 30,7 @@ serde_urlencoded = "0.6.1"
mime = "0.3.16"
thiserror = "1.0.20"
async-trait = "0.1.36"
postgres-types = "0.1.2"
postgres-types = "0.2.1"
lazy_static = "1.4.0"
unic-char-range = "0.9.0"
http = "0.2.1"


@@ 41,11 40,11 @@ unic-langid = { version = "0.9.0", features = ["macros"] }
activitystreams = "0.7.0-alpha.11"
activitystreams-ext = "0.1.0-alpha.2"
fast_chemail = "0.9.6"
lettre = { version = "0.10.0-alpha.2", features = ["tokio02", "tokio02-native-tls"] }
lettre = { version = "0.10.0-rc.3", features = ["tokio1", "tokio1-native-tls"] }
rand = "0.7.3"
bs58 = "0.3.1"
bumpalo = "3.4.0"
tokio-util = "0.3.1"
tokio-util = "0.6.7"
henry = "0.1.0"
ammonia = "3.1.0"
base64 = "0.13.0"


@@ 57,6 56,7 @@ env_logger = "0.8"
v_htmlescape = "0.12.0"
config = { version = "0.11.0", default-features = false, features = ["ini"] }
clap = "2.33.3"
bytes = "1.0.1"

[dev-dependencies]
rand = "0.7.3"

M src/main.rs => src/main.rs +12 -8
@@ 140,8 140,8 @@ pub type HttpClient = hyper::Client<hyper_tls::HttpsConnector<hyper::client::Htt

pub struct BaseContext {
    pub db_pool: DbPool,
    pub mailer: Option<lettre::AsyncSmtpTransport<lettre::Tokio02Connector>>,
    pub mail_from: Option<lettre::Mailbox>,
    pub mailer: Option<lettre::AsyncSmtpTransport<lettre::Tokio1Executor>>,
    pub mail_from: Option<lettre::message::Mailbox>,
    pub host_url_api: String,
    pub host_url_apub: BaseURL,
    pub http_client: HttpClient,


@@ 449,14 449,18 @@ pub fn get_path_and_query(url: &url::Url) -> Result<String, url::ParseError> {
    Ok(format!("{}{}", url.path(), url.query().unwrap_or("")))
}

fn slice_iter<'a>(
    s: &'a [&'a (dyn postgres_types::ToSql + Sync)],
) -> impl ExactSizeIterator<Item = &'a dyn postgres_types::ToSql> + 'a {
    s.iter().map(|s| *s as _)
}

pub async fn query_stream(
    db: &tokio_postgres::Client,
    statement: &(impl tokio_postgres::ToStatement + ?Sized),
    params: ParamSlice<'_>,
) -> Result<tokio_postgres::RowStream, tokio_postgres::Error> {
    let params = params.iter().map(|s| *s as _);

    db.query_raw(statement, params).await
    db.query_raw(statement, slice_iter(params)).await
}

pub fn common_response_builder() -> http::response::Builder {


@@ 988,9 992,9 @@ async fn run(config: Config) -> Result<(), Box<dyn std::error::Error>> {
            let host = url.host_str().expect("Missing host in SMTP_URL");
            let mut builder = match url.scheme() {
                "smtp" => {
                    lettre::AsyncSmtpTransport::<lettre::Tokio02Connector>::builder_dangerous(host)
                    lettre::AsyncSmtpTransport::<lettre::Tokio1Executor>::builder_dangerous(host)
                }
                "smtps" => lettre::AsyncSmtpTransport::<lettre::Tokio02Connector>::relay(host)
                "smtps" => lettre::AsyncSmtpTransport::<lettre::Tokio1Executor>::relay(host)
                    .expect("Failed to initialize SMTP transport"),
                _ => panic!("Unrecognized scheme for SMTP_URL"),
            };


@@ 1007,7 1011,7 @@ async fn run(config: Config) -> Result<(), Box<dyn std::error::Error>> {
        }
    };

    let mail_from: Option<lettre::Mailbox> = config
    let mail_from: Option<lettre::message::Mailbox> = config
        .smtp_from
        .as_ref()
        .map(|value| value.parse().expect("Failed to parse SMTP_FROM"));

M src/routes/api/communities.rs => src/routes/api/communities.rs +2 -2
@@ 406,7 406,7 @@ async fn route_unstable_communities_follow(
                crate::apub_util::spawn_enqueue_send_community_follow(community, user, ctx);

                if body.try_wait_for_accept {
                    tokio::time::delay_for(std::time::Duration::from_millis(500)).await;
                    tokio::time::sleep(std::time::Duration::from_millis(500)).await;

                    let row = db.query_one(
                    "SELECT accepted FROM community_follow WHERE community=$1 AND follower=$2",


@@ 757,7 757,7 @@ async fn route_unstable_communities_posts_list(
        query.sort.post_sort_sql(),
    );

    let stream = db.query_raw(sql, values.iter().map(|s| *s as _)).await?;
    let stream = crate::query_stream(&db, sql, &values).await?;

    let posts: Vec<serde_json::Value> = stream
        .map_err(crate::Error::from)

M src/routes/api/forgot_password.rs => src/routes/api/forgot_password.rs +4 -7
@@ 1,5 1,4 @@
use crate::UserLocalID;
use lettre::Tokio02Transport;
use serde_derive::Deserialize;
use std::borrow::Cow;
use std::sync::Arc;


@@ 42,7 41,7 @@ async fn route_unstable_forgot_password_keys_create(
    let username: &str = user_row.get(1);
    let user_email: &str = user_row.get(2);

    let user_email = lettre::Mailbox::new(None, user_email.parse()?);
    let user_email = lettre::message::Mailbox::new(None, user_email.parse()?);

    let key = ForgotPasswordKey::generate();
    db.execute(


@@ 63,13 62,11 @@ async fn route_unstable_forgot_password_keys_create(
        .subject("Forgot Password Request")
        .from(ctx.mail_from.as_ref().unwrap().clone())
        .to(user_email)
        .singlepart(
            lettre::message::SinglePart::binary()
                .header(lettre::message::header::ContentType::text_utf8())
                .body(msg_body),
        )?;
        .singlepart(lettre::message::SinglePart::plain(msg_body))?;

    crate::spawn_task(async move {
        use lettre::AsyncTransport;

        ctx.mailer.as_ref().unwrap().send(msg).await?;

        Ok(())

M src/routes/api/users.rs => src/routes/api/users.rs +3 -2
@@ 359,9 359,10 @@ async fn route_unstable_users_following_posts_list(

    let values: &[&(dyn tokio_postgres::types::ToSql + Sync)] = &[&user, &limit];

    let stream = db.query_raw(
    let stream = crate::query_stream(
        &db,
        format!("SELECT {} FROM community, post LEFT OUTER JOIN person ON (person.id = post.author) WHERE post.community = community.id AND post.approved AND post.deleted=FALSE AND community.id IN (SELECT community FROM community_follow WHERE follower=$1 AND accepted) ORDER BY hot_rank((SELECT COUNT(*) FROM post_like WHERE post = post.id AND person != post.author), post.created) DESC LIMIT $2", super::common_posts_list_query(Some(1))).deref(),
        values.iter().map(|s| *s as _)
        values,
    ).await?;

    let posts = super::handle_common_posts_list(stream, &ctx, true).await?;

M src/worker.rs => src/worker.rs +1 -1
@@ 50,7 50,7 @@ async fn run_worker(
            }
        } else {
            match tokio::time::timeout(std::time::Duration::from_secs(60), recv.recv()).await {
                Err(tokio::time::Elapsed { .. }) => {}
                Err(tokio::time::error::Elapsed { .. }) => {}
                Ok(recv_res) => recv_res.ok_or(crate::Error::InternalStrStatic(
                    "Worker trigger senders lost",
                ))?,