diff --git a/CHANGELOG.md b/CHANGELOG.md index c42294ea7..bf4a7c390 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,7 +41,8 @@ All user visible changes to this project will be documented in this file. This p - `PeerConnection` renegotiation functionality ([#105]); - Calculate and send call quality score based on RTC stats ([#132]); - Muting/unmuting `MediaTrack`s by receiver ([#127]); - - Send `TrackUpdate::IceRestart` based on RTC stats analysis ([#138]). + - Send `TrackUpdate::IceRestart` based on RTC stats analysis ([#138]); + - Multiple `Room`s served by one RPC connection support ([#147]). - [Coturn] integration: - [Coturn] sessions destroying ([#84]); - [Coturn] stats processing ([#94]). @@ -81,6 +82,7 @@ All user visible changes to this project will be documented in this file. This p [#132]: /../../pull/132 [#135]: /../../pull/135 [#138]: /../../pull/138 +[#147]: /../../pull/147 [#153]: /../../pull/153 diff --git a/Cargo.lock b/Cargo.lock index 85e9e13e4..209f9c7ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,7 +27,7 @@ dependencies = [ "log", "once_cell", "parking_lot 0.11.0", - "pin-project", + "pin-project 0.4.27", "smallvec", "tokio", "tokio-util", @@ -46,7 +46,7 @@ dependencies = [ "futures-core", "futures-sink", "log", - "pin-project", + "pin-project 0.4.27", "tokio", "tokio-util", ] @@ -84,9 +84,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05dd80ba8f27c4a34357c07e338c8f5c38f8520e6d626ca1727d8fecc41b0cab" +checksum = "404df68c297f73b8d36c9c9056404913d25905a8f80127b0e5fe147c9c4b9f02" dependencies = [ "actix-codec", "actix-connect", @@ -94,7 +94,7 @@ dependencies = [ "actix-service", "actix-threadpool", "actix-utils", - "base64", + "base64 0.13.0", "bitflags", "brotli2", "bytes", @@ -118,7 +118,7 @@ dependencies = [ "log", "mime", "percent-encoding", - "pin-project", + "pin-project 1.0.1", "rand 0.7.3", "regex", "serde 1.0.117", @@ -136,7 +136,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a60f9ba7c4e6df97f3aacb14bb5c0cd7d98a49dcbaed0d7f292912ad9a6a3ed2" dependencies = [ "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -194,7 +194,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0052435d581b5be835d11f4eb3bce417c8af18d87ddf8ace99f8e67e595882bb" dependencies = [ "futures-util", - "pin-project", + "pin-project 0.4.27", ] [[package]] @@ -254,15 +254,15 @@ dependencies = [ "futures-sink", "futures-util", "log", - "pin-project", + "pin-project 0.4.27", "slab", ] [[package]] name = "actix-web" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b12fe25e11cd9ed2ef2e428427eb6178a1b363f3f7f0dab8278572f11b2da1" +checksum = "88344b7a5ef27e5e09e73565379f69273dd3e2d29e82afc381b84d170d0a5631" dependencies = [ "actix-codec", "actix-http", @@ -286,7 +286,7 @@ dependencies = [ "fxhash", "log", "mime", - "pin-project", + "pin-project 1.0.1", "regex", "serde 1.0.117", "serde_json", @@ -310,18 +310,18 @@ dependencies = [ "bytes", "futures-channel", "futures-core", - "pin-project", + "pin-project 0.4.27", ] [[package]] name = "actix-web-codegen" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "750ca8fb60bbdc79491991650ba5d2ae7cd75f3fc00ead51390cfe9efda0d4d8" +checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -332,14 +332,14 @@ checksum = "b95aceadaf327f18f0df5962fedc1bde2f870566a0b9f65c89508a3b1f79334c" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] name = "addr2line" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6a2d3371669ab3ca9797670853d61402b03d0b4b9ebf33d677dfa720203072" +checksum = "7c0929d69e78dd9bf5408269919fcbcaeb2e35e5d43e5815517cdc6a8e11a423" dependencies = [ "gimli", ] @@ -388,9 +388,9 @@ checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "async-channel" @@ -419,9 +419,9 @@ dependencies = [ [[package]] name = "async-global-executor" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "124ac8c265e407641c3362b8f4d39cdb4e243885b71eef087be27199790f5a3a" +checksum = "73079b49cd26b8fd5a15f68fc7707fc78698dc2a3d61430f2a7a9430230dfa04" dependencies = [ "async-executor", "async-io", @@ -504,7 +504,7 @@ checksum = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -521,7 +521,7 @@ checksum = "b246867b8b3b6ae56035f1eb1ed557c1d8eae97f0d53696138a50fa0e3a3b8c0" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -549,16 +549,17 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "awc" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "150e00c06683ab44c5f97d033950e5d87a7a042d06d77f5eecb443cbd23d0575" +checksum = "425980a1e58e5030a3e4b065a3d577c8f0e16142ea9d81f30614eae810c98577" dependencies = [ "actix-codec", "actix-http", "actix-rt", "actix-service", - "base64", + "base64 0.13.0", "bytes", + "cfg-if 1.0.0", "derive_more", "futures-core", "log", @@ -572,9 +573,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.53" +version = "0.3.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707b586e0e2f247cbde68cdd2c3ce69ea7b7be43e1c5b426e37c9319c4b9838e" +checksum = "2baad346b2d4e94a24347adeee9c7a93f412ee94b9cc26e5b59dea23848e9f28" dependencies = [ "addr2line", "cfg-if 1.0.0", @@ -596,6 +597,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + [[package]] name = "bitflags" version = "1.2.1" @@ -715,7 +722,7 @@ checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" dependencies = [ "libc", "num-integer", - "num-traits 0.2.12", + "num-traits 0.2.14", "time 0.1.44", "winapi 0.3.9", ] @@ -898,7 +905,7 @@ dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", "strsim 0.9.3", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -909,7 +916,7 @@ checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" dependencies = [ "darling_core", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -935,12 +942,23 @@ dependencies = [ "async-trait", "config", "deadpool", - "futures 0.3.6", + "futures 0.3.7", "log", "redis", "serde 1.0.117", ] +[[package]] +name = "derivative" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.48", +] + [[package]] name = "derive_builder" version = "0.9.0" @@ -951,7 +969,7 @@ dependencies = [ "derive_builder_core", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -963,7 +981,7 @@ dependencies = [ "darling", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -974,7 +992,7 @@ checksum = "41cb0e6161ad61ed084a36ba71fbba9e3ac5aee3606fb607fe08da6acbcf3d8c" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -1045,11 +1063,11 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "encoding_rs" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a51b8cf747471cb9499b6d59e59b0444f4c90eba8968c4e44874e92b5b64ace2" +checksum = "f62bc5e388624f1a13da83b479275dbec9663a876e414df80decf7d2cdab6670" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", ] [[package]] @@ -1061,7 +1079,7 @@ dependencies = [ "heck", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -1088,7 +1106,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "synstructure", ] @@ -1125,7 +1143,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4" dependencies = [ - "num-traits 0.2.12", + "num-traits 0.2.14", ] [[package]] @@ -1190,9 +1208,9 @@ checksum = "4c7e4c2612746b0df8fed4ce0c69156021b704c9aefa360311c04e6e9e002eed" [[package]] name = "futures" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8e3078b7b2a8a671cb7a3d17b4760e4181ea243227776ba83fd043b4ca034e" +checksum = "95314d38584ffbfda215621d723e0a3906f032e03ae5551e650058dac83d4797" dependencies = [ "futures-channel", "futures-core", @@ -1205,9 +1223,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a4d35f7401e948629c9c3d6638fb9bf94e0b2121e96c3b428cc4e631f3eb74" +checksum = "0448174b01148032eed37ac4aed28963aaaa8cfa93569a08e5b479bbc6c2c151" dependencies = [ "futures-core", "futures-sink", @@ -1215,15 +1233,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d674eaa0056896d5ada519900dbf97ead2e46a7b6621e8160d79e2f2e1e2784b" +checksum = "18eaa56102984bed2c88ea39026cff3ce3b4c7f508ca970cedf2450ea10d4e46" [[package]] name = "futures-executor" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc709ca1da6f66143b8c9bec8e6260181869893714e9b5a490b169b0414144ab" +checksum = "f5f8e0c9258abaea85e78ebdda17ef9666d390e987f006be6080dfe354b708cb" dependencies = [ "futures-core", "futures-task", @@ -1232,9 +1250,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc94b64bb39543b4e432f1790b6bf18e3ee3b74653c5449f63310e9a74b123c" +checksum = "6e1798854a4727ff944a7b12aa999f58ce7aa81db80d2dfaaf2ba06f065ddd2b" [[package]] name = "futures-lite" @@ -1253,36 +1271,36 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f57ed14da4603b2554682e9f2ff3c65d7567b53188db96cb71538217fc64581b" +checksum = "e36fccf3fc58563b4a14d265027c627c3b665d7fed489427e88e7cc929559efe" dependencies = [ "proc-macro-hack", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] name = "futures-sink" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8764258ed64ebc5d9ed185cf86a95db5cac810269c5d20ececb32e0088abbd" +checksum = "0e3ca3f17d6e8804ae5d3df7a7d35b2b3a6fe89dac84b31872720fc3060a0b11" [[package]] name = "futures-task" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd26820a9f3637f1302da8bceba3ff33adbe53464b54ca24d4e2d4f1db30f94" +checksum = "96d502af37186c4fef99453df03e374683f8a1eec9dcc1e66b3b82dc8278ce3c" dependencies = [ "once_cell", ] [[package]] name = "futures-util" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a894a0acddba51a2d49a6f4263b1e64b8c579ece8af50fa86503d52cd1eea34" +checksum = "abcb44342f62e6f3e8ac427b8aa815f724fd705dfad060b18ac7866c15bb8e34" dependencies = [ "futures 0.1.30", "futures-channel", @@ -1292,7 +1310,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project", + "pin-project 1.0.1", "pin-utils", "proc-macro-hack", "proc-macro-nested", @@ -1337,9 +1355,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf91faf136cb47367fa430cd46e37a788775e7fa104f8b4bcb3861dc389b724" +checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" [[package]] name = "gloo-timers" @@ -1356,9 +1374,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993f9e0baeed60001cf565546b0d3dbe6a6ad23f2bd31644a133c641eccf6d53" +checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" dependencies = [ "bytes", "fnv", @@ -1371,6 +1389,7 @@ dependencies = [ "tokio", "tokio-util", "tracing", + "tracing-futures", ] [[package]] @@ -1473,7 +1492,7 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project", + "pin-project 0.4.27", "socket2", "tokio", "tower-service", @@ -1510,11 +1529,11 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63312a18f7ea8760cdd0a7c5aac1a619752a246b833545e3e36d1f81f7cd9e66" +checksum = "cb1fc4429a33e1f80d41dc9fea4d108a88bec1de8053878898ae448a0b52f613" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", ] [[package]] @@ -1608,9 +1627,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743" +checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" [[package]] name = "linked-hash-map" @@ -1704,7 +1723,7 @@ dependencies = [ "dotenv", "failure", "function_name", - "futures 0.3.6", + "futures 0.3.7", "humantime-serde", "lazy_static", "medea-client-api-proto", @@ -1789,7 +1808,7 @@ dependencies = [ "bytes", "deadpool", "derive_more", - "futures 0.3.6", + "futures 0.3.7", "once_cell", "regex", "tokio", @@ -1803,10 +1822,11 @@ dependencies = [ "async-trait", "bitflags", "console_error_panic_hook", + "derivative", "derive_more", "downcast", "fragile", - "futures 0.3.6", + "futures 0.3.7", "js-sys", "log", "medea-client-api-proto", @@ -1817,6 +1837,7 @@ dependencies = [ "serde 1.0.117", "serde_json", "tracerr", + "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test", @@ -1834,7 +1855,7 @@ dependencies = [ "medea-jason", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "synstructure", ] @@ -1842,15 +1863,15 @@ dependencies = [ name = "medea-reactive" version = "0.1.0-dev" dependencies = [ - "futures 0.3.6", + "futures 0.3.7", "tokio", ] [[package]] name = "memchr" -version = "2.3.3" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" [[package]] name = "memory_units" @@ -1940,7 +1961,7 @@ dependencies = [ "cfg-if 0.1.10", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -1989,12 +2010,12 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "num-integer" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" dependencies = [ "autocfg", - "num-traits 0.2.12", + "num-traits 0.2.14", ] [[package]] @@ -2003,14 +2024,14 @@ version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" dependencies = [ - "num-traits 0.2.12", + "num-traits 0.2.14", ] [[package]] name = "num-traits" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" dependencies = [ "autocfg", ] @@ -2027,9 +2048,9 @@ dependencies = [ [[package]] name = "object" -version = "0.21.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37fd5004feb2ce328a52b0b3d01dbf4ffff72583493900ed15f22d4111c51693" +checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397" [[package]] name = "once_cell" @@ -2121,7 +2142,16 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ffbc8e94b38ea3d2d8ba92aea2983b503cd75d0888d75b86bb37970b5698e15" dependencies = [ - "pin-project-internal", + "pin-project-internal 0.4.27", +] + +[[package]] +name = "pin-project" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee41d838744f60d959d7074e3afb6b35c7456d0f61cad38a24e35e6553f73841" +dependencies = [ + "pin-project-internal 1.0.1", ] [[package]] @@ -2132,7 +2162,18 @@ checksum = "65ad2ae56b6abe3a1ee25f15ee605bacadb9a764edaba9c2bf4103800d4a1895" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81a4ffa594b66bff340084d4081df649a7dc049ac8d7fc458d8e628bfbbb2f86" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.48", ] [[package]] @@ -2206,9 +2247,9 @@ dependencies = [ [[package]] name = "proc-macro-hack" -version = "0.5.18" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c605b9a0adc77b7211c6b1f722dcb613d68d66859a44f3d485a6da332b0598" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro-nested" @@ -2272,7 +2313,7 @@ dependencies = [ "itertools", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2453,9 +2494,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8963b85b8ce3074fecffde43b4b0dded83ce2f367dc8d363afc56679f3ee820b" +checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c" dependencies = [ "aho-corasick", "memchr", @@ -2465,9 +2506,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.20" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cab7a364d15cde1e505267766a2d3c4e22a843e1a601f0fa7564c0f82ced11c" +checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189" [[package]] name = "remove_dir_all" @@ -2494,7 +2535,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dab61250775933275e84053ac235621dfb739556d5c54a2f2e9313b7cf43a19" dependencies = [ - "base64", + "base64 0.12.3", "blake2b_simd", "constant_time_eq", "crossbeam-utils", @@ -2609,7 +2650,7 @@ checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2663,14 +2704,14 @@ dependencies = [ "darling", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] name = "serde_yaml" -version = "0.8.13" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3e2dd40a7cdc18ca80db804b7f461a39bb721160a85c9a1fa30134bf3c02a5" +checksum = "f7baae0a99f1a324984bcdc5f0718384c1f69775f1c7eec8b859b71b443e3fd7" dependencies = [ "dtoa", "linked-hash-map 0.5.3", @@ -2697,7 +2738,7 @@ checksum = "65f59259be9fc1bf677d06cc1456e97756004a1a5a577480f71430bd7c17ba33" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2721,11 +2762,10 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" [[package]] name = "signal-hook-registry" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035" +checksum = "ce32ea0c6c56d5eacaeb814fbed9960547021d3edd010ded1425f180536b20ab" dependencies = [ - "arc-swap", "libc", ] @@ -2829,7 +2869,7 @@ checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2883,7 +2923,7 @@ dependencies = [ "quote 1.0.7", "serde 1.0.117", "serde_derive", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2899,7 +2939,7 @@ dependencies = [ "serde_derive", "serde_json", "sha1", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -2933,9 +2973,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.46" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad5de3220ea04da322618ded2c42233d02baca219d6f160a3e9c87cda16c942" +checksum = "cc371affeffc477f42a221a1e4297aedcea33d47d19b61455588bd9d8f6b19ac" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", @@ -2950,7 +2990,7 @@ checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "unicode-xid 0.2.1", ] @@ -3010,7 +3050,7 @@ checksum = "cae2447b6282786c3493999f40a9be2a6ad20cb8bd268b0a0dbf5a065535c0ab" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -3077,7 +3117,7 @@ dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", "standback", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -3132,7 +3172,7 @@ checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -3167,7 +3207,7 @@ checksum = "74a5d6e7439ecf910463667080de772a9c7ddf26bc9fb4f3252ac3862e43337d" dependencies = [ "async-stream", "async-trait", - "base64", + "base64 0.12.3", "bytes", "futures-core", "futures-util", @@ -3175,7 +3215,7 @@ dependencies = [ "http-body", "hyper", "percent-encoding", - "pin-project", + "pin-project 0.4.27", "prost", "prost-derive", "tokio", @@ -3198,7 +3238,7 @@ dependencies = [ "proc-macro2 1.0.24", "prost-build", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -3228,7 +3268,7 @@ dependencies = [ "futures-core", "futures-util", "indexmap", - "pin-project", + "pin-project 0.4.27", "rand 0.7.3", "slab", "tokio", @@ -3248,7 +3288,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4887dc2a65d464c8b9b66e0e4d51c2fd6cf5b3373afc72805b0a60bce00446a" dependencies = [ "futures-core", - "pin-project", + "pin-project 0.4.27", "tokio", "tower-layer", "tower-service", @@ -3262,7 +3302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f6b5000c3c54d269cc695dff28136bb33d08cbf1df2c48129e143ab65bf3c2a" dependencies = [ "futures-core", - "pin-project", + "pin-project 0.4.27", "tower-service", ] @@ -3279,7 +3319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92c3040c5dbed68abffaa0d4517ac1a454cd741044f33ab0eefab6b8d1361404" dependencies = [ "futures-core", - "pin-project", + "pin-project 0.4.27", "tokio", "tower-layer", "tower-load", @@ -3294,7 +3334,7 @@ checksum = "8cc79fc3afd07492b7966d7efa7c6c50f8ed58d768a6075dd7ae6591c5d2017b" dependencies = [ "futures-core", "log", - "pin-project", + "pin-project 0.4.27", "tokio", "tower-discover", "tower-service", @@ -3307,7 +3347,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f021e23900173dc315feb4b6922510dae3e79c689b74c089112066c11f0ae4e" dependencies = [ "futures-core", - "pin-project", + "pin-project 0.4.27", "tower-layer", "tower-service", ] @@ -3343,7 +3383,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6727956aaa2f8957d4d9232b308fe8e4e65d99db30f42b225646e86c9b6a952" dependencies = [ "futures-core", - "pin-project", + "pin-project 0.4.27", "tokio", "tower-layer", "tower-service", @@ -3361,7 +3401,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "127b8924b357be938823eaaec0608c482d40add25609481027b96198b2e4b31e" dependencies = [ - "pin-project", + "pin-project 0.4.27", "tokio", "tower-layer", "tower-service", @@ -3375,7 +3415,7 @@ checksum = "d1093c19826d33807c72511e68f73b4a0469a3f22c2bd5f7d5212178b4b89674" dependencies = [ "futures-core", "futures-util", - "pin-project", + "pin-project 0.4.27", "tower-service", ] @@ -3409,7 +3449,7 @@ checksum = "80e0ccfc3378da0cce270c946b676a376943f5cd16aeba64568e7939806f4ada" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", ] [[package]] @@ -3427,7 +3467,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c" dependencies = [ - "pin-project", + "pin-project 0.4.27", "tracing", ] @@ -3446,7 +3486,7 @@ dependencies = [ "async-trait", "backtrace", "enum-as-inner", - "futures 0.3.6", + "futures 0.3.7", "idna", "lazy_static", "log", @@ -3465,7 +3505,7 @@ checksum = "0f23cdfdc3d8300b3c50c9e84302d3bd6d860fb9529af84ace6cf9665f181b77" dependencies = [ "backtrace", "cfg-if 0.1.10", - "futures 0.3.6", + "futures 0.3.7", "ipconfig", "lazy_static", "log", @@ -3611,7 +3651,7 @@ dependencies = [ "log", "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "wasm-bindgen-shared", ] @@ -3645,7 +3685,7 @@ checksum = "f249f06ef7ee334cc3b8ff031bfc11ec99d00f34d86da7498396dc1e3b1498fe" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.46", + "syn 1.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] diff --git a/crates/medea-macro/CHANGELOG.md b/crates/medea-macro/CHANGELOG.md index 59b695e6a..f2a2e3649 100644 --- a/crates/medea-macro/CHANGELOG.md +++ b/crates/medea-macro/CHANGELOG.md @@ -23,12 +23,14 @@ All user visible changes to this project will be documented in this file. This p ### Fixed -- `#[enum_delegate]` macro now works fine on functions with multiple arguments ([#91]). +- `#[enum_delegate]` macro now works fine on functions with multiple arguments ([#91]); +- `#[dispatchable]` handler trait visibility now corresponds to original enum visibility ([#147]). [#66]: /../../pull/66 [#68]: /../../pull/68 [#91]: /../../pull/91 [#112]: /../../pull/112 +[#147]: /../../pull/147 diff --git a/crates/medea-macro/src/dispatchable.rs b/crates/medea-macro/src/dispatchable.rs index 1eb08424c..e3fd9201f 100644 --- a/crates/medea-macro/src/dispatchable.rs +++ b/crates/medea-macro/src/dispatchable.rs @@ -114,12 +114,13 @@ impl Item { let trait_doc = self.handler_trait_doc(); let handler_trait_ident = self.handler_trait_ident.clone(); let maybe_async_trait_macro = args.maybe_async_trait_macro(); + let vis = self.orig_enum.vis.clone(); quote! { #[automatically_derived] #[allow(clippy::needless_arbitrary_self_type)] #[doc = #trait_doc] #maybe_async_trait_macro - pub trait #handler_trait_ident { + #vis trait #handler_trait_ident { /// Output type of all functions from this trait. type Output; diff --git a/crates/medea-reactive/src/field/cell.rs b/crates/medea-reactive/src/field/cell.rs index 6cfaf05fd..89e601d53 100644 --- a/crates/medea-reactive/src/field/cell.rs +++ b/crates/medea-reactive/src/field/cell.rs @@ -122,19 +122,14 @@ where impl ObservableCell where - D: Copy + 'static, + D: Clone + 'static, { /// Returns copy of an underlying data. #[inline] pub fn get(&self) -> D { - **self.0.borrow() + self.0.borrow().data.clone() } -} -impl ObservableCell -where - D: Clone + 'static, -{ /// Returns [`Stream`] into which underlying data updates will be emitted. /// /// [`Stream`]: futures::Stream diff --git a/jason/CHANGELOG.md b/jason/CHANGELOG.md index b4e42fb91..e3d048922 100644 --- a/jason/CHANGELOG.md +++ b/jason/CHANGELOG.md @@ -42,9 +42,10 @@ All user visible changes to this project will be documented in this file. This p - `FacingMode` enum ([#137]). - `MediaKind` enum that provides `MediaTrack` and `InputDeviceInfo` kind ([#146]); - `MediaSourceKind` enum that provides `MediaTrack` media source kind (`Device` or `Display`) ([#146]); - - Room initialization ([#46]): - - `Jason.init_room()`; - - `Room.join()`. + - Room management: + - `Jason.init_room()` ([#46]); + - `Room.join()` ([#46]); + - `Jason.close_room()` ([#147]). - Ability to configure local media stream used by `Room` via `Room.set_local_media_settings()` ([#54], [#97], [#145]); - `Room.on_failed_local_media` callback ([#54], [#143]); - `Room.on_close` callback for WebSocket close initiated by server ([#55]); @@ -112,6 +113,7 @@ All user visible changes to this project will be documented in this file. This p [#144]: /../../pull/144 [#145]: /../../pull/145 [#146]: /../../pull/146 +[#147]: /../../pull/147 diff --git a/jason/Cargo.toml b/jason/Cargo.toml index 1ff187651..b69be03e2 100644 --- a/jason/Cargo.toml +++ b/jason/Cargo.toml @@ -34,6 +34,7 @@ mockable = ["downcast", "fragile", "mockall", "predicates-tree"] async-trait = "0.1" bitflags = "1.2" console_error_panic_hook = { version = "0.1", optional = true } +derivative = "2.1" derive_more = "0.99" downcast = { version = "0.10", optional = true } fragile = { version = "1.0", optional = true } @@ -48,6 +49,7 @@ predicates-tree = { version = "1.0", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" tracerr = "0.1" +url = "2.1" wasm-bindgen = { version = "0.2", features = ["serde-serialize"] } wasm-bindgen-futures = "0.4" wasm-logger = "0.2" diff --git a/jason/demo/index.html b/jason/demo/index.html index ac40d0811..99154b25b 100644 --- a/jason/demo/index.html +++ b/jason/demo/index.html @@ -452,7 +452,7 @@ await init(); jason = new Jason(); - room = await jason.init_room(); + room = jason.init_room(); let userNameFromCookies = getCookie(userNameCookieName); if (userNameFromCookies) { diff --git a/jason/e2e-demo/js/index.js b/jason/e2e-demo/js/index.js index 511383646..8899c2598 100644 --- a/jason/e2e-demo/js/index.js +++ b/jason/e2e-demo/js/index.js @@ -567,7 +567,7 @@ window.onload = async function() { } async function newRoom() { - let room = await jason.init_room(); + let room = jason.init_room(); try { const constraints = await initLocalStream(); diff --git a/jason/e2e-demo/video-call.html b/jason/e2e-demo/video-call.html index 5ce58fe68..ddec963ab 100644 --- a/jason/e2e-demo/video-call.html +++ b/jason/e2e-demo/video-call.html @@ -182,7 +182,7 @@ -