[[package]]
name = "actix-http"
-version = "3.0.0-beta.14"
+version = "3.0.0-beta.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "055b723746f19534fc5c9a210788686542986d6f1b9cb2900a297bb4c6619f3b"
+checksum = "a1ff7b149cc1b99967c22cb81c2c31f128ac88ed12bbf80c29c55a7511d46edb"
dependencies = [
"actix-codec",
"actix-rt",
[[package]]
name = "actix-tls"
-version = "3.0.0-rc.1"
+version = "3.0.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a78e066ef965e3501b0710f0722d0741e025b09e01f1af13afba0774efc2f40"
+checksum = "bcebfd4a6255a2a75b7b87c1a3a723c57f08293ca9a7fade692e94515585f7a6"
dependencies = [
"actix-codec",
"actix-rt",
[[package]]
name = "actix-web"
-version = "4.0.0-beta.13"
+version = "4.0.0-beta.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1657eb2ed5e8ef246b6e951bafb38644ca433042a65a44f02e5601083b71b895"
+checksum = "9387ea044357f12b606b8fad0652d3804ba498954f66ae5c677236cb0bd47db4"
dependencies = [
"actix-codec",
"actix-http",
[[package]]
name = "actix-web-actors"
-version = "4.0.0-beta.7"
+version = "4.0.0-beta.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b43c8e03f1877bc010316de455ee479aa0de0ae0717d49041db5f38fa192de"
+checksum = "3852495307c5b7a314ccd414ca0cdcdd8db21c9a95001eea057d36e22d8da327"
dependencies = [
"actix",
"actix-codec",
"bytes",
"bytestring",
"futures-core",
- "pin-project",
+ "pin-project-lite",
"tokio",
]
[[package]]
name = "actix-web-codegen"
-version = "0.5.0-beta.5"
+version = "0.5.0-beta.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfe80a8828fa88a0420dc8fdd4c16b8207326c917f17701881b063eadc2a8d3b"
+checksum = "30a90b7f6c2fde9a1fe3df4da758c2c3c9d620dfa3eae4da0b6925dc0a13444a"
dependencies = [
"actix-router",
"proc-macro2 1.0.33",
[[package]]
name = "async-trait"
-version = "0.1.51"
+version = "0.1.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e"
+checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3"
dependencies = [
"proc-macro2 1.0.33",
"quote 1.0.10",
[[package]]
name = "atom_syndication"
-version = "0.9.1"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d5016bf52ff4f3ed28bf3ec1fed96b53daf4b137d5e6b9f97a8cfae7b57a3a2"
+checksum = "21fb6a0b39c6517edafe46f8137e53c51742425a4dae1c73ee12264a37ad7541"
dependencies = [
"chrono",
"derive_builder",
"diligent-date-parser",
+ "never",
"quick-xml",
]
"generic-array 0.14.4",
]
+[[package]]
+name = "block-buffer"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
+dependencies = [
+ "generic-array 0.14.4",
+]
+
[[package]]
name = "block-padding"
version = "0.1.5"
"lazy_static",
]
+[[package]]
+name = "crypto-common"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567569e659735adb39ff2d4c20600f7cd78be5471f8c58ab162bce3c03fdbc5f"
+dependencies = [
+ "generic-array 0.14.4",
+]
+
[[package]]
name = "darling"
-version = "0.10.2"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"
+checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c"
dependencies = [
- "darling_core 0.10.2",
- "darling_macro 0.10.2",
+ "darling_core 0.12.4",
+ "darling_macro 0.12.4",
]
[[package]]
name = "darling"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "757c0ded2af11d8e739c4daea1ac623dd1624b06c844cf3f5a39f1bdbd99bb12"
+checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4"
dependencies = [
- "darling_core 0.13.0",
- "darling_macro 0.13.0",
+ "darling_core 0.13.1",
+ "darling_macro 0.13.1",
]
[[package]]
name = "darling_core"
-version = "0.10.2"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
+checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36"
dependencies = [
"fnv",
"ident_case",
"proc-macro2 1.0.33",
"quote 1.0.10",
- "strsim 0.9.3",
+ "strsim",
"syn 1.0.82",
]
[[package]]
name = "darling_core"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c34d8efb62d0c2d7f60ece80f75e5c63c1588ba68032740494b0b9a996466e3"
+checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324"
dependencies = [
"fnv",
"ident_case",
"proc-macro2 1.0.33",
"quote 1.0.10",
- "strsim 0.10.0",
+ "strsim",
"syn 1.0.82",
]
[[package]]
name = "darling_macro"
-version = "0.10.2"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
+checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a"
dependencies = [
- "darling_core 0.10.2",
+ "darling_core 0.12.4",
"quote 1.0.10",
"syn 1.0.82",
]
[[package]]
name = "darling_macro"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ade7bff147130fe5e6d39f089c6bd49ec0250f35d70b2eebf72afdfc919f15cc"
+checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b"
dependencies = [
- "darling_core 0.13.0",
+ "darling_core 0.13.1",
"quote 1.0.10",
"syn 1.0.82",
]
[[package]]
name = "derive_builder"
-version = "0.9.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0"
+checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
dependencies = [
- "darling 0.10.2",
- "derive_builder_core",
- "proc-macro2 1.0.33",
- "quote 1.0.10",
- "syn 1.0.82",
+ "derive_builder_macro",
]
[[package]]
name = "derive_builder_core"
-version = "0.9.0"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef"
+checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
dependencies = [
- "darling 0.10.2",
+ "darling 0.12.4",
"proc-macro2 1.0.33",
"quote 1.0.10",
"syn 1.0.82",
]
+[[package]]
+name = "derive_builder_macro"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
+dependencies = [
+ "derive_builder_core",
+ "syn 1.0.82",
+]
+
[[package]]
name = "derive_more"
version = "0.99.17"
"generic-array 0.14.4",
]
+[[package]]
+name = "digest"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8549e6bfdecd113b7e221fe60b433087f6957387a20f8118ebca9b12af19143d"
+dependencies = [
+ "block-buffer 0.10.0",
+ "crypto-common",
+ "generic-array 0.14.4",
+]
+
[[package]]
name = "diligent-date-parser"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "366b1ae88672638e08f97cc9037ce4e5dca6c2b37699a50c72b846a4c654d4bb"
dependencies = [
- "darling 0.13.0",
+ "darling 0.13.1",
"proc-macro2 1.0.33",
"quote 1.0.10",
"syn 1.0.82",
[[package]]
name = "encoding_rs"
-version = "0.8.29"
+version = "0.8.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746"
+checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df"
dependencies = [
"cfg-if",
]
[[package]]
name = "h2"
-version = "0.3.7"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55"
+checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd"
dependencies = [
"bytes",
"fnv",
[[package]]
name = "http-signature-normalization-actix"
-version = "0.5.0-beta.12"
+version = "0.5.0-beta.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91a487879a4f765fb8c7d070f75ab0d5f5c744fc52443d8e7df99d32829dfe55"
+checksum = "f5aa97e6c2ee1450ccb3a6d8edbb91fb8423ea6d5650bc234245b5ff7a599084"
dependencies = [
"actix-http",
"actix-rt",
[[package]]
name = "http-signature-normalization-reqwest"
-version = "0.3.1"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d1bd8bf2ade1c7952db9df49b776d867172903231ac8ff9bc9961663878fef7"
+checksum = "2688d50434bf8a95fd848e54f63debd80e7711e4fd164ede3456ff74ec655b76"
dependencies = [
"base64 0.13.0",
"bytes",
[[package]]
name = "hyper"
-version = "0.14.15"
+version = "0.14.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436ec0091e4f20e655156a30a0df3770fe2900aa301e548e08446ec794b6953c"
+checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55"
dependencies = [
"bytes",
"futures-channel",
[[package]]
name = "libc"
-version = "0.2.109"
+version = "0.2.111"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01"
+checksum = "8e167738f1866a7ec625567bae89ca0d44477232a4f7c52b1c7f2adc2c98804f"
[[package]]
name = "local-channel"
"tempfile",
]
+[[package]]
+name = "never"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c96aba5aa877601bb3f6dd6a63a969e1f82e60646e81e71b14496995e9853c91"
+
[[package]]
name = "new_debug_unreachable"
version = "1.0.4"
[[package]]
name = "openssl-sys"
-version = "0.9.71"
+version = "0.9.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73"
+checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb"
dependencies = [
"autocfg",
"cc",
[[package]]
name = "pkg-config"
-version = "0.3.23"
+version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1a3ea4f0dd7f1f3e512cf97bf100819aa547f36a6eccac8dbaae839eb92363e"
+checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
[[package]]
name = "png"
[[package]]
name = "quick-xml"
-version = "0.20.0"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26aab6b48e2590e4a64d1ed808749ba06257882b461d01ca71baeb747074a6dd"
+checksum = "8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b"
dependencies = [
"encoding_rs",
"memchr",
[[package]]
name = "rgb"
-version = "0.8.29"
+version = "0.8.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a27fa03bb1e3e2941f52d4a555a395a72bf79b0a85fbbaab79447050c97d978c"
+checksum = "08a9852b34c4628f8ad76797a933577059163651ec5a7dace462adc365bee66c"
dependencies = [
"bytemuck",
]
[[package]]
name = "rss"
-version = "1.10.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e70d6ae72f8a4333af8ce9dce58942020528430eb0d46ee2fcb5e8d4d16377"
+checksum = "36e19e299f301be17927a7c05b8fa1c621e3227e6c3a0da65492701642901ff7"
dependencies = [
"atom_syndication",
"derive_builder",
+ "never",
"quick-xml",
]
[[package]]
name = "ryu"
-version = "1.0.6"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568"
+checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
[[package]]
name = "same-file"
[[package]]
name = "serde"
-version = "1.0.130"
+version = "1.0.131"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
+checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.130"
+version = "1.0.131"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
+checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2"
dependencies = [
"proc-macro2 1.0.33",
"quote 1.0.10",
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12e47be9471c72889ebafb5e14d5ff930d89ae7a67bbdb5f8abb564f845a927e"
dependencies = [
- "darling 0.13.0",
+ "darling 0.13.1",
"proc-macro2 1.0.33",
"quote 1.0.10",
"syn 1.0.82",
[[package]]
name = "sha2"
-version = "0.9.8"
+version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa"
+checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6"
dependencies = [
- "block-buffer 0.9.0",
"cfg-if",
"cpufeatures",
- "digest 0.9.0",
- "opaque-debug 0.3.0",
+ "digest 0.10.0",
]
[[package]]
"quote 1.0.10",
]
-[[package]]
-name = "strsim"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"
-
[[package]]
name = "strsim"
version = "0.10.0"
[[package]]
name = "strum"
-version = "0.21.0"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
+checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb"
[[package]]
name = "strum_macros"
-version = "0.21.1"
+version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
+checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38"
dependencies = [
"heck",
"proc-macro2 1.0.33",
"quote 1.0.10",
+ "rustversion",
"syn 1.0.82",
]
[[package]]
name = "tracing-actix-web"
-version = "0.5.0-beta.4"
+version = "0.5.0-beta.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a90ef8ed903a84ce2c0cf35bd2896e55e22eaa5e2b49c4f16167f4615bb204ac"
+checksum = "13030b85c40d37169eee20eec527f7e87724e6128efa2ae791d6ffdd4046d32f"
dependencies = [
"actix-web",
"pin-project",
diesel = "1.4.8"
diesel_migrations = "1.4.0"
chrono = { version = "0.4.19", features = ["serde"] }
-serde = { version = "1.0.130", features = ["derive"] }
+serde = { version = "1.0.131", features = ["derive"] }
actix = "0.12.0"
-actix-web = { version = "4.0.0-beta.9", default-features = false, features = ["rustls"] }
+actix-web = { version = "4.0.0-beta.14", default-features = false, features = ["rustls"] }
tracing = "0.1.29"
-tracing-actix-web = { version = "0.5.0-beta.3", default-features = false }
+tracing-actix-web = { version = "0.5.0-beta.5", default-features = false }
tracing-error = "0.2.0"
tracing-log = "0.1.2"
-tracing-subscriber = { version = "0.3.2", features = ["env-filter"] }
-strum = "0.21.0"
+tracing-subscriber = { version = "0.3.3", features = ["env-filter"] }
+strum = "0.23.0"
url = { version = "2.2.2", features = ["serde"] }
-openssl = "0.10.36"
-http-signature-normalization-actix = { version = "0.5.0-beta.10", default-features = false, features = ["sha-2"] }
-tokio = { version = "1.12.0", features = ["sync"] }
-anyhow = "1.0.44"
-reqwest = { version = "0.11.4", features = ["json"] }
-reqwest-middleware = "0.1.2"
+openssl = "0.10.38"
+http-signature-normalization-actix = { version = "0.5.0-beta.14", default-features = false, features = ["sha-2"] }
+tokio = { version = "1.14.0", features = ["sync"] }
+anyhow = "1.0.51"
+reqwest = { version = "0.11.7", features = ["json"] }
+reqwest-middleware = "0.1.3"
reqwest-tracing = "0.2.0"
-activitystreams = "0.7.0-alpha.11"
-actix-rt = { version = "2.2.0", default-features = false }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
+activitystreams = "0.7.0-alpha.14"
+actix-rt = { version = "2.5.0", default-features = false }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
clokwerk = "0.3.5"
-doku = "0.10.1"
+doku = "0.10.2"
[dev-dependencies.cargo-husky]
version = "1.5.0"
diesel = "1.4.8"
bcrypt = "0.10.1"
chrono = { version = "0.4.19", features = ["serde"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
-serde = { version = "1.0.130", features = ["derive"] }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
+serde = { version = "1.0.131", features = ["derive"] }
actix = "0.12.0"
-actix-web = { version = "4.0.0-beta.9", default-features = false }
-actix-rt = { version = "2.2.0", default-features = false }
+actix-web = { version = "4.0.0-beta.14", default-features = false }
+actix-rt = { version = "2.5.0", default-features = false }
rand = "0.8.4"
-strum = "0.21.0"
-strum_macros = "0.21.1"
+strum = "0.23.0"
+strum_macros = "0.23.1"
url = { version = "2.2.2", features = ["serde"] }
-openssl = "0.10.36"
+openssl = "0.10.38"
http = "0.2.5"
-http-signature-normalization-actix = { version = "0.5.0-beta.10", default-features = false, features = ["sha-2"] }
+http-signature-normalization-actix = { version = "0.5.0-beta.14", default-features = false, features = ["sha-2"] }
base64 = "0.13.0"
-tokio = "1.12.0"
-futures = "0.3.17"
-itertools = "0.10.1"
+tokio = "1.14.0"
+futures = "0.3.18"
+itertools = "0.10.3"
uuid = { version = "0.8.2", features = ["serde", "v4"] }
-sha2 = "0.9.8"
-async-trait = "0.1.51"
+sha2 = "0.10.0"
+async-trait = "0.1.52"
captcha = "0.0.8"
-anyhow = "1.0.44"
-thiserror = "1.0.29"
+anyhow = "1.0.51"
+thiserror = "1.0.30"
tracing = "0.1.29"
background-jobs = "0.11.0"
-reqwest = { version = "0.11.4", features = ["json"] }
+reqwest = { version = "0.11.7", features = ["json"] }
lemmy_db_views_actor = { version = "=0.14.4-rc.4", path = "../db_views_actor" }
lemmy_db_schema = { version = "=0.14.4-rc.4", path = "../db_schema" }
lemmy_utils = { version = "=0.14.4-rc.4", path = "../utils" }
-serde = { version = "1.0.130", features = ["derive"] }
+serde = { version = "1.0.131", features = ["derive"] }
diesel = "1.4.8"
-actix-web = { version = "4.0.0-beta.9", default-features = false, features = ["cookies"] }
+actix-web = { version = "4.0.0-beta.14", default-features = false, features = ["cookies"] }
chrono = { version = "0.4.19", features = ["serde"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
tracing = "0.1.29"
url = "2.2.2"
diesel = "1.4.8"
bcrypt = "0.10.1"
chrono = { version = "0.4.19", features = ["serde"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
-serde = { version = "1.0.130", features = ["derive"] }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
+serde = { version = "1.0.131", features = ["derive"] }
actix = "0.12.0"
-actix-web = { version = "4.0.0-beta.9", default-features = false }
-actix-rt = { version = "2.2.0", default-features = false }
+actix-web = { version = "4.0.0-beta.14", default-features = false }
+actix-rt = { version = "2.5.0", default-features = false }
tracing = "0.1.29"
rand = "0.8.4"
-strum = "0.21.0"
-strum_macros = "0.21.1"
+strum = "0.23.0"
+strum_macros = "0.23.1"
url = { version = "2.2.2", features = ["serde"] }
-openssl = "0.10.36"
+openssl = "0.10.38"
http = "0.2.5"
-http-signature-normalization-actix = { version = "0.5.0-beta.10", default-features = false, features = ["sha-2"] }
+http-signature-normalization-actix = { version = "0.5.0-beta.14", default-features = false, features = ["sha-2"] }
base64 = "0.13.0"
-tokio = "1.12.0"
-futures = "0.3.17"
-itertools = "0.10.1"
+tokio = "1.14.0"
+futures = "0.3.18"
+itertools = "0.10.3"
uuid = { version = "0.8.2", features = ["serde", "v4"] }
-sha2 = "0.9.8"
-async-trait = "0.1.51"
-anyhow = "1.0.44"
-thiserror = "1.0.29"
+sha2 = "0.10.0"
+async-trait = "0.1.52"
+anyhow = "1.0.51"
+thiserror = "1.0.30"
background-jobs = "0.11.0"
-reqwest = { version = "0.11.4", features = ["json"] }
+reqwest = { version = "0.11.7", features = ["json"] }
webmention = "0.4.0"
activitystreams-kinds = "0.1.2"
bcrypt = "0.10.1"
chrono = { version = "0.4.19", features = ["serde"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
-serde = { version = "1.0.130", features = ["derive"] }
-serde_with = "1.10.0"
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
+serde = { version = "1.0.131", features = ["derive"] }
+serde_with = "1.11.0"
actix = "0.12.0"
-actix-web = { version = "4.0.0-beta.9", default-features = false }
-actix-rt = { version = "2.2.0", default-features = false }
+actix-web = { version = "4.0.0-beta.14", default-features = false }
+actix-rt = { version = "2.5.0", default-features = false }
tracing = "0.1.29"
rand = "0.8.4"
-strum = "0.21.0"
-strum_macros = "0.21.1"
+strum = "0.23.0"
+strum_macros = "0.23.1"
url = { version = "2.2.2", features = ["serde"] }
percent-encoding = "2.1.0"
http = "0.2.5"
-http-signature-normalization-actix = { version = "0.5.0-beta.10", default-features = false, features = ["server", "sha-2"] }
-tokio = "1.12.0"
-futures = "0.3.17"
-itertools = "0.10.1"
+http-signature-normalization-actix = { version = "0.5.0-beta.14", default-features = false, features = ["server", "sha-2"] }
+tokio = "1.14.0"
+futures = "0.3.18"
+itertools = "0.10.3"
uuid = { version = "0.8.2", features = ["serde", "v4"] }
-sha2 = "0.9.8"
-async-trait = "0.1.51"
-anyhow = "1.0.44"
-thiserror = "1.0.29"
+sha2 = "0.10.0"
+async-trait = "0.1.52"
+anyhow = "1.0.51"
+thiserror = "1.0.30"
background-jobs = "0.11.0"
-reqwest = { version = "0.11.4", features = ["json"] }
+reqwest = { version = "0.11.7", features = ["json"] }
html2md = "0.2.13"
once_cell = "1.8.0"
[dev-dependencies]
serial_test = "0.5.1"
assert-json-diff = "2.0.1"
-reqwest-middleware = "0.1.2"
+reqwest-middleware = "0.1.3"
http::{create_apub_response, create_apub_tombstone_response},
objects::comment::ApubComment,
};
-use actix_web::{body::AnyBody, web, web::Path, HttpResponse};
+use actix_web::{web, web::Path, HttpResponse};
use diesel::result::Error::NotFound;
use lemmy_api_common::blocking;
use lemmy_apub_lib::traits::ApubObject;
pub(crate) async fn get_apub_comment(
info: Path<CommentQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let id = CommentId(info.comment_id.parse::<i32>()?);
let comment: ApubComment = blocking(context.pool(), move |conn| Comment::read(conn, id))
.await??
collections::group_followers::GroupFollowers,
},
};
-use actix_web::{body::AnyBody, web, web::Payload, HttpRequest, HttpResponse};
+use actix_web::{web, web::Payload, HttpRequest, HttpResponse};
use lemmy_api_common::blocking;
use lemmy_apub_lib::{object_id::ObjectId, traits::ApubObject};
use lemmy_db_schema::source::community::Community;
pub(crate) async fn get_apub_community_http(
info: web::Path<CommunityQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let community: ApubCommunity = blocking(context.pool(), move |conn| {
Community::read_from_name(conn, &info.community_name)
})
pub(crate) async fn get_apub_community_followers(
info: web::Path<CommunityQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let community = blocking(context.pool(), move |conn| {
Community::read_from_name(conn, &info.community_name)
})
pub(crate) async fn get_apub_community_outbox(
info: web::Path<CommunityQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let community = blocking(context.pool(), move |conn| {
Community::read_from_name(conn, &info.community_name)
})
pub(crate) async fn get_apub_community_moderators(
info: web::Path<CommunityQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let community: ApubCommunity = blocking(context.pool(), move |conn| {
Community::read_from_name(conn, &info.community_name)
})
insert_activity,
};
use actix_web::{
- body::AnyBody,
web,
web::{Bytes, BytesMut, Payload},
HttpRequest,
/// Convert the data to json and turn it into an HTTP Response with the correct ActivityPub
/// headers.
-fn create_apub_response<T>(data: &T) -> HttpResponse<AnyBody>
+fn create_apub_response<T>(data: &T) -> HttpResponse
where
T: Serialize,
{
.json(WithContext::new(data))
}
-fn create_json_apub_response(data: serde_json::Value) -> HttpResponse<AnyBody> {
+fn create_json_apub_response(data: serde_json::Value) -> HttpResponse {
HttpResponse::Ok()
.content_type(APUB_JSON_CONTENT_TYPE)
.json(data)
}
-fn create_apub_tombstone_response<T>(data: &T) -> HttpResponse<AnyBody>
+fn create_apub_tombstone_response<T>(data: &T) -> HttpResponse
where
T: Serialize,
{
pub(crate) async fn get_activity(
info: web::Path<ActivityQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let settings = context.settings();
let activity_id = Url::parse(&format!(
"{}/activities/{}/{}",
objects::person::ApubPerson,
protocol::collections::person_outbox::PersonOutbox,
};
-use actix_web::{body::AnyBody, web, web::Payload, HttpRequest, HttpResponse};
+use actix_web::{web, web::Payload, HttpRequest, HttpResponse};
use lemmy_api_common::blocking;
use lemmy_apub_lib::traits::ApubObject;
use lemmy_db_schema::source::person::Person;
pub(crate) async fn get_apub_person_http(
info: web::Path<PersonQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let user_name = info.into_inner().user_name;
// TODO: this needs to be able to read deleted persons, so that it can send tombstones
let person: ApubPerson = blocking(context.pool(), move |conn| {
pub(crate) async fn get_apub_person_outbox(
info: web::Path<PersonQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let person = blocking(context.pool(), move |conn| {
Person::find_by_name(conn, &info.user_name)
})
http::{create_apub_response, create_apub_tombstone_response},
objects::post::ApubPost,
};
-use actix_web::{body::AnyBody, web, HttpResponse};
+use actix_web::{web, HttpResponse};
use diesel::result::Error::NotFound;
use lemmy_api_common::blocking;
use lemmy_apub_lib::traits::ApubObject;
pub(crate) async fn get_apub_post(
info: web::Path<PostQuery>,
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let id = PostId(info.post_id.parse::<i32>()?);
let post: ApubPost = blocking(context.pool(), move |conn| Post::read(conn, id))
.await??
use serde::{Deserialize, Serialize};
-use strum_macros::ToString;
+use strum_macros::Display;
pub mod community;
pub mod create_or_update;
pub mod private_message;
pub mod voting;
-#[derive(Clone, Debug, ToString, Deserialize, Serialize, PartialEq)]
+#[derive(Clone, Debug, Display, Deserialize, Serialize, PartialEq)]
pub enum CreateOrUpdateType {
Create,
Update,
use lemmy_utils::LemmyError;
use serde::{Deserialize, Serialize};
use std::convert::TryFrom;
-use strum_macros::ToString;
+use strum_macros::Display;
use url::Url;
#[derive(Clone, Debug, Deserialize, Serialize)]
pub(crate) unparsed: Unparsed,
}
-#[derive(Clone, Debug, ToString, Deserialize, Serialize)]
+#[derive(Clone, Debug, Display, Deserialize, Serialize)]
pub enum VoteType {
Like,
Dislike,
[dependencies]
lemmy_utils = { version = "=0.14.4-rc.4", path = "../utils" }
lemmy_apub_lib_derive = { version = "=0.14.4-rc.4", path = "../apub_lib_derive" }
-activitystreams = "0.7.0-alpha.11"
-serde = { version = "1.0.130", features = ["derive"] }
-async-trait = "0.1.51"
+activitystreams = "0.7.0-alpha.14"
+serde = { version = "1.0.131", features = ["derive"] }
+async-trait = "0.1.52"
url = { version = "2.2.2", features = ["serde"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
-anyhow = "1.0.44"
-reqwest = { version = "0.11.4", features = ["json"] }
-reqwest-middleware = "0.1.2"
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
+anyhow = "1.0.51"
+reqwest = { version = "0.11.7", features = ["json"] }
+reqwest-middleware = "0.1.3"
tracing = "0.1.29"
base64 = "0.13.0"
-openssl = "0.10.36"
+openssl = "0.10.38"
once_cell = "1.8.0"
http = "0.2.5"
-sha2 = "0.9.8"
-actix-web = { version = "4.0.0-beta.9", default-features = false }
-http-signature-normalization-actix = { version = "0.5.0-beta.10", default-features = false, features = ["server", "sha-2"] }
-http-signature-normalization-reqwest = { version = "0.3.0", default-features = false, features = ["sha-2", "middleware"] }
+sha2 = "0.10.0"
+actix-web = { version = "4.0.0-beta.14", default-features = false }
+http-signature-normalization-actix = { version = "0.5.0-beta.14", default-features = false, features = ["server", "sha-2"] }
+http-signature-normalization-reqwest = { version = "0.4.0", default-features = false, features = ["sha-2", "middleware"] }
background-jobs = "0.11.0"
diesel = "1.4.8"
proc-macro = true
[dev-dependencies]
-trybuild = { version = "1.0.45", features = ["diff"] }
+trybuild = { version = "1.0.53", features = ["diff"] }
[dependencies]
-proc-macro2 = "1.0.29"
-syn = "1.0.77"
-quote = "1.0.9"
+proc-macro2 = "1.0.33"
+syn = "1.0.82"
+quote = "1.0.10"
diesel = { version = "1.4.8", features = ["postgres","chrono","r2d2","serde_json"] }
diesel_migrations = "1.4.0"
chrono = { version = "0.4.19", features = ["serde"] }
-serde = { version = "1.0.130", features = ["derive"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
+serde = { version = "1.0.131", features = ["derive"] }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
url = { version = "2.2.2", features = ["serde"] }
diesel-derive-newtype = "0.1.2"
regex = "1.5.4"
once_cell = "1.8.0"
-strum = "0.21.0"
-strum_macros = "0.21.1"
-sha2 = "0.9.8"
+strum = "0.23.0"
+strum_macros = "0.23.1"
+sha2 = "0.10.0"
bcrypt = "0.10.1"
[dev-dependencies]
env::var("LEMMY_DATABASE_URL")
}
-#[derive(EnumString, ToString, Debug, Serialize, Deserialize, Clone, Copy)]
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
pub enum SortType {
Active,
Hot,
NewComments,
}
-#[derive(EnumString, ToString, Debug, Serialize, Deserialize, Clone, Copy)]
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
pub enum ListingType {
All,
Local,
Community,
}
-#[derive(EnumString, ToString, Debug, Serialize, Deserialize, Clone, Copy)]
+#[derive(EnumString, Display, Debug, Serialize, Deserialize, Clone, Copy)]
pub enum SearchType {
All,
Comments,
[dependencies]
lemmy_db_schema = { version = "=0.14.4-rc.4", path = "../db_schema" }
diesel = { version = "1.4.8", features = ["postgres","chrono","r2d2","serde_json"] }
-serde = { version = "1.0.130", features = ["derive"] }
+serde = { version = "1.0.131", features = ["derive"] }
tracing = "0.1.29"
url = "2.2.2"
[dependencies]
lemmy_db_schema = { version = "=0.14.4-rc.4", path = "../db_schema" }
diesel = { version = "1.4.8", features = ["postgres","chrono","r2d2","serde_json"] }
-serde = { version = "1.0.130", features = ["derive"] }
+serde = { version = "1.0.131", features = ["derive"] }
[dependencies]
lemmy_db_schema = { version = "=0.14.4-rc.4", path = "../db_schema" }
diesel = { version = "1.4.8", features = ["postgres","chrono","r2d2","serde_json"] }
-serde = { version = "1.0.130", features = ["derive"] }
+serde = { version = "1.0.131", features = ["derive"] }
lemmy_apub = { version = "=0.14.4-rc.4", path = "../apub" }
diesel = "1.4.8"
actix = "0.12.0"
-actix-web = { version = "4.0.0-beta.9", default-features = false, features = ["rustls"] }
-actix-web-actors = { version = "4.0.0-beta.7", default-features = false }
-actix-http = "3.0.0-beta.10"
-sha2 = "0.9.8"
-anyhow = "1.0.44"
+actix-web = { version = "4.0.0-beta.14", default-features = false, features = ["rustls"] }
+actix-web-actors = { version = "4.0.0-beta.8", default-features = false }
+actix-http = "3.0.0-beta.15"
+sha2 = "0.10.0"
+anyhow = "1.0.51"
chrono = { version = "0.4.19", features = ["serde"] }
futures = "0.3.18"
reqwest = { version = "0.11.7", features = ["stream"] }
-reqwest-middleware = "0.1.2"
-rss = "1.10.0"
-serde = { version = "1.0.130", features = ["derive"] }
+reqwest-middleware = "0.1.3"
+rss = "2.0.0"
+serde = { version = "1.0.131", features = ["derive"] }
url = { version = "2.2.2", features = ["serde"] }
-strum = "0.21.0"
+strum = "0.23.0"
once_cell = "1.8.0"
tracing = "0.1.29"
-tokio = { version = "1", features = ["sync"] }
+tokio = { version = "1.14.0", features = ["sync"] }
ItemBuilder,
};
use serde::Deserialize;
-use std::{collections::HashMap, str::FromStr};
+use std::{collections::BTreeMap, str::FromStr};
use strum::ParseError;
#[derive(Deserialize)]
.route("/feeds/local.xml", web::get().to(get_local_feed));
}
-static RSS_NAMESPACE: Lazy<HashMap<String, String>> = Lazy::new(|| {
- let mut h = HashMap::new();
+static RSS_NAMESPACE: Lazy<BTreeMap<String, String>> = Lazy::new(|| {
+ let mut h = BTreeMap::new();
h.insert(
"dc".to_string(),
rss::extension::dublincore::NAMESPACE.to_string(),
channel_builder.description(&site_desc);
}
- let rss = channel_builder.build().map_err(|e| anyhow!(e))?.to_string();
+ let rss = channel_builder.build().to_string();
Ok(
HttpResponse::Ok()
.content_type("application/rss+xml")
.await?
.map_err(ErrorBadRequest)?;
- let rss = builder.build().map_err(ErrorBadRequest)?.to_string();
+ let rss = builder.build().to_string();
Ok(
HttpResponse::Ok()
let dt = DateTime::<Utc>::from_utc(*published, Utc);
i.pub_date(dt.to_rfc2822());
i.comments(url.to_owned());
- let guid = GuidBuilder::default()
- .permalink(true)
- .value(url)
- .build()
- .map_err(|e| anyhow!(e))?;
+ let guid = GuidBuilder::default().permalink(true).value(url).build();
i.guid(guid);
i.link(url.to_owned());
// TODO add images
let html = markdown_to_html(&content.to_string());
i.description(html);
- Ok(i.build().map_err(|e| anyhow!(e))?)
+ Ok(i.build())
}
#[tracing::instrument(skip_all)]
let guid = GuidBuilder::default()
.permalink(true)
.value(&post_url)
- .build()
- .map_err(|e| anyhow!(e))?;
+ .build();
i.guid(guid);
let community_url = format!("{}/c/{}", protocol_and_hostname, p.community.name);
i.description(description);
- i.dublin_core_ext(dc_extension.build().map_err(|e| anyhow!(e))?);
- items.push(i.build().map_err(|e| anyhow!(e))?);
+ i.dublin_core_ext(dc_extension.build());
+ items.push(i.build());
}
Ok(items)
-use actix_http::{
- header::{HeaderName, HOST},
- http::header::ACCEPT_ENCODING,
-};
+use actix_http::header::{HeaderName, ACCEPT_ENCODING, HOST};
use actix_web::{body::BodyStream, http::StatusCode, web::Data, *};
use anyhow::anyhow;
use futures::stream::{Stream, StreamExt};
-use actix_web::{body::AnyBody, error::ErrorBadRequest, *};
+use actix_web::{error::ErrorBadRequest, *};
use anyhow::anyhow;
use lemmy_api_common::blocking;
use lemmy_db_views::site_view::SiteView;
async fn node_info_well_known(
context: web::Data<LemmyContext>,
-) -> Result<HttpResponse<AnyBody>, LemmyError> {
+) -> Result<HttpResponse, LemmyError> {
let node_info = NodeInfoWellKnown {
links: vec![NodeInfoWellKnownLinks {
rel: Url::parse("http://nodeinfo.diaspora.software/ns/schema/2.0")?,
[dependencies]
regex = "1.5.4"
chrono = { version = "0.4.19", features = ["serde"] }
-lettre = "0.10.0-rc.3"
+lettre = "0.10.0-rc.4"
tracing = "0.1.29"
tracing-error = "0.2.0"
-itertools = "0.10.1"
+itertools = "0.10.3"
rand = "0.8.4"
percent-encoding = "2.1.0"
-serde = { version = "1.0.130", features = ["derive"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
-thiserror = "1.0.29"
+serde = { version = "1.0.131", features = ["derive"] }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
+thiserror = "1.0.30"
comrak = { version = "0.12.1", default-features = false }
once_cell = "1.8.0"
-openssl = "0.10.36"
+openssl = "0.10.38"
url = { version = "2.2.2", features = ["serde"] }
-actix-web = { version = "4.0.0-beta.9", default-features = false, features = ["rustls"] }
-actix-rt = { version = "2.2.0", default-features = false }
-anyhow = "1.0.44"
-reqwest = { version = "0.11.4", features = ["json"] }
-reqwest-middleware = "0.1.2"
-tokio = { version = "1.12.0", features = ["sync"] }
-strum = "0.21.0"
-strum_macros = "0.21.1"
-futures = "0.3.17"
+actix-web = { version = "4.0.0-beta.14", default-features = false, features = ["rustls"] }
+actix-rt = { version = "2.5.0", default-features = false }
+anyhow = "1.0.51"
+reqwest = { version = "0.11.7", features = ["json"] }
+reqwest-middleware = "0.1.3"
+tokio = { version = "1.14.0", features = ["sync"] }
+strum = "0.23.0"
+strum_macros = "0.23.1"
+futures = "0.3.18"
diesel = "1.4.8"
http = "0.2.5"
deser-hjson = "1.0.2"
smart-default = "0.6.0"
webpage = { version = "1.4.0", default-features = false, features = ["serde"] }
jsonwebtoken = "7.2.0"
-doku = "0.10.1"
+doku = "0.10.2"
uuid = { version = "0.8.2", features = ["serde", "v4"] }
lemmy_db_schema = { version = "=0.14.4-rc.4", path = "../db_schema" }
lemmy_db_views = { version = "=0.14.4-rc.4", path = "../db_views" }
lemmy_db_views_actor = { version = "=0.14.4-rc.4", path = "../db_views_actor" }
-reqwest = { version = "0.11.4", features = ["json"] }
-reqwest-middleware = "0.1.2"
+reqwest = { version = "0.11.7", features = ["json"] }
+reqwest-middleware = "0.1.3"
tracing = "0.1.29"
rand = "0.8.4"
-serde = { version = "1.0.130", features = ["derive"] }
-serde_json = { version = "1.0.68", features = ["preserve_order"] }
+serde = { version = "1.0.131", features = ["derive"] }
+serde_json = { version = "1.0.72", features = ["preserve_order"] }
actix = "0.12.0"
-anyhow = "1.0.44"
+anyhow = "1.0.51"
diesel = "1.4.8"
background-jobs = "0.11.0"
-tokio = "1.12.0"
-strum = "0.21.0"
-strum_macros = "0.21.1"
+tokio = "1.14.0"
+strum = "0.23.0"
+strum_macros = "0.23.1"
chrono = { version = "0.4.19", features = ["serde"] }
-actix-web = { version = "4.0.0-beta.9", default-features = false, features = ["rustls"] }
-actix-web-actors = { version = "4.0.0-beta.7", default-features = false }
+actix-web = { version = "4.0.0-beta.14", default-features = false, features = ["rustls"] }
+actix-web-actors = { version = "4.0.0-beta.8", default-features = false }
Ok(serde_json::to_string(&response)?)
}
-#[derive(EnumString, ToString, Debug, Clone)]
+#[derive(EnumString, Display, Debug, Clone)]
pub enum UserOperation {
Login,
GetCaptcha,
BlockPerson,
}
-#[derive(EnumString, ToString, Debug, Clone)]
+#[derive(EnumString, Display, Debug, Clone)]
pub enum UserOperationCrud {
// Site
CreateSite,