commit ca9fd52ee3a29fcec3b7396a8750b7374df439a2
parent d23acdce232c36488f51095640faf28ea9406678
Author: MTRNord <mtrnord1@gmail.com>
Date: Thu, 17 Dec 2020 22:54:50 +0100
feat: Prepare Matrix and Layers
Took 2 hours 28 minutes
Diffstat:
15 files changed, 2605 insertions(+), 248 deletions(-)
diff --git a/.idea/LaunchpadSwayControler.iml b/.idea/LaunchpadSwayControler.iml
@@ -5,6 +5,7 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/launchpad_sway_controler/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/lsc_example_plugin/src" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/lsc_matrix_presets/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
@@ -6,8 +6,20 @@
</component>
<component name="ChangeListManager">
<list default="true" id="cfc5721f-cc06-4df2-8555-3745919e4c56" name="Default Changelist" comment="">
+ <change afterPath="$PROJECT_DIR$/Requirements.md" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/mappings/mod.rs" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/utils/globals.rs" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/utils/mod.rs" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/utils/numbers.rs" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/lsc_matrix_presets/Cargo.toml" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/lsc_matrix_presets/src/main.rs" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/LaunchpadSwayControler.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/LaunchpadSwayControler.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/Cargo.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Cargo.lock" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/Cargo.toml" beforeDir="false" afterPath="$PROJECT_DIR$/Cargo.toml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/launchpad_sway_controler/Cargo.toml" beforeDir="false" afterPath="$PROJECT_DIR$/launchpad_sway_controler/Cargo.toml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/launchpad_sway_controler/src/main.rs" beforeDir="false" afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/main.rs" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/launchpad_sway_controler/src/plugin_actions/mod.rs" beforeDir="false" afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/plugin_actions/mod.rs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/launchpad_sway_controler/src/sway/mod.rs" beforeDir="false" afterPath="$PROJECT_DIR$/launchpad_sway_controler/src/sway/mod.rs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@@ -16,7 +28,7 @@
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="DarkyenusTimeTracker">
- <option name="totalTimeSeconds" value="4498" />
+ <option name="totalTimeSeconds" value="13297" />
<option name="idleThresholdMs" value="60000" />
<option name="autoCountIdleSeconds" value="0" />
<option name="stopWhenIdleRatherThanPausing" value="true" />
@@ -42,33 +54,47 @@
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="org.rust.cargo.project.model.PROJECT_DISCOVERY" value="true" />
<property name="project.structure.last.edited" value="Project" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="settings.editor.selected.configurable" value="language.rust.rustfmt" />
</component>
+ <component name="RecentsManager">
+ <key name="CopyFile.RECENT_KEYS">
+ <recent name="$PROJECT_DIR$" />
+ </key>
+ <key name="MoveFile.RECENT_KEYS">
+ <recent name="$PROJECT_DIR$/launchpad_sway_controler/src/sway" />
+ <recent name="$PROJECT_DIR$/launchpad_sway_controler/src/utils" />
+ </key>
+ </component>
<component name="RunManager" selected="Cargo.Run">
<configuration name="Run lsc_example_plugin" type="CargoCommandRunConfiguration" factoryName="Cargo Command" temporary="true">
- <option name="channel" value="DEFAULT" />
<option name="command" value="run --package lsc_example_plugin --bin lsc_example_plugin" />
+ <option name="workingDirectory" value="file://$PROJECT_DIR$/lsc_example_plugin" />
+ <option name="channel" value="DEFAULT" />
<option name="allFeatures" value="false" />
<option name="emulateTerminal" value="false" />
<option name="backtrace" value="SHORT" />
- <option name="workingDirectory" value="file://$PROJECT_DIR$/lsc_example_plugin" />
<envs />
+ <option name="isRedirectInput" value="false" />
+ <option name="redirectInputPath" value="" />
<method v="2">
<option name="CARGO.BUILD_TASK_PROVIDER" enabled="true" />
</method>
</configuration>
<configuration name="Run" type="CargoCommandRunConfiguration" factoryName="Cargo Command" nameIsGenerated="true">
- <option name="channel" value="DEFAULT" />
<option name="command" value="run -p launchpad_sway_controler --release" />
+ <option name="workingDirectory" value="file://$PROJECT_DIR$" />
+ <option name="channel" value="DEFAULT" />
<option name="allFeatures" value="false" />
<option name="emulateTerminal" value="false" />
<option name="backtrace" value="SHORT" />
- <option name="workingDirectory" value="file://$PROJECT_DIR$" />
<envs />
+ <option name="isRedirectInput" value="false" />
+ <option name="redirectInputPath" value="" />
<method v="2">
<option name="CARGO.BUILD_TASK_PROVIDER" enabled="true" />
</method>
@@ -99,7 +125,17 @@
<updated>1607182424184</updated>
<workItem from="1607182426972" duration="523000" />
<workItem from="1607182962786" duration="7425000" />
- <workItem from="1607203029545" duration="2954000" />
+ <workItem from="1607203029545" duration="5407000" />
+ <workItem from="1607288434655" duration="1399000" />
+ <workItem from="1607705539184" duration="14000" />
+ <workItem from="1607710292802" duration="1356000" />
+ <workItem from="1607711840578" duration="461000" />
+ <workItem from="1607712988488" duration="799000" />
+ <workItem from="1607714679105" duration="1299000" />
+ <workItem from="1607716945713" duration="4563000" />
+ <workItem from="1607936162789" duration="15000" />
+ <workItem from="1608061205255" duration="763000" />
+ <workItem from="1608229569199" duration="7540000" />
</task>
<task id="LOCAL-00001" summary="refactor: Use Workspace setup">
<created>1607182699156</created>
@@ -122,14 +158,22 @@
<option name="project" value="LOCAL" />
<updated>1607188704601</updated>
</task>
- <option name="localTasksCounter" value="4" />
+ <task id="LOCAL-00004" summary="fix: reset colors when moving away from known workspaces">
+ <created>1607209625887</created>
+ <option name="number" value="00004" />
+ <option name="presentableId" value="LOCAL-00004" />
+ <option name="project" value="LOCAL" />
+ <updated>1607209625887</updated>
+ </task>
+ <option name="localTasksCounter" value="5" />
<servers />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="refactor: Use Workspace setup" />
<MESSAGE value="feat: Add ability to have multiple actions beyond workspace managment" />
<MESSAGE value="fix: on reset also disable LEDs again" />
- <option name="LAST_COMMIT_MESSAGE" value="fix: on reset also disable LEDs again" />
+ <MESSAGE value="fix: reset colors when moving away from known workspaces" />
+ <option name="LAST_COMMIT_MESSAGE" value="fix: reset colors when moving away from known workspaces" />
</component>
<component name="XSLT-Support.FileAssociations.UIState">
<expand />
diff --git a/Cargo.lock b/Cargo.lock
@@ -16,6 +16,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
[[package]]
+name = "aes-ctr"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64c3b03608ea1c077228520a167cca2514dc7cd8100a81b30a2b38be985234e5"
+dependencies = [
+ "aes-soft",
+ "aesni",
+ "ctr",
+ "stream-cipher",
+]
+
+[[package]]
+name = "aes-soft"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6"
+dependencies = [
+ "block-cipher",
+ "byteorder",
+ "opaque-debug",
+]
+
+[[package]]
+name = "aesni"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6a4d655ae633a96d0acaf0fd7e76aafb8ca5732739bba37aac6f882c8fce656"
+dependencies = [
+ "block-cipher",
+ "opaque-debug",
+ "stream-cipher",
+]
+
+[[package]]
+name = "ahash"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
+dependencies = [
+ "const-random",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
name = "alsa"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -43,10 +95,22 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
+name = "arrayvec"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+
+[[package]]
+name = "assign"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4af5687fe33aec5e70ef14caac5e0d363e335e5e5d6385fb75978d0c241b1d67"
+
+[[package]]
name = "async-channel"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -74,7 +138,19 @@ dependencies = [
"polling",
"vec-arena",
"waker-fn",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "async-native-tls"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e9e7a929bd34c68a82d58a4de7f86fffdaf97fb2af850162a7bb19dd7269b33"
+dependencies = [
+ "native-tls",
+ "thiserror",
+ "tokio 0.2.24",
+ "url",
]
[[package]]
@@ -90,7 +166,28 @@ dependencies = [
"futures-lite",
"once_cell",
"signal-hook",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "async-stream"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22068c0c19514942eefcfd4daf8976ef1aad84e61539f95cd200c35202f80af5"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25f9db3b38af870bf7e5cc649167533b493928e50744e2c30ae350230b414670"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
@@ -100,6 +197,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"
[[package]]
+name = "async-trait"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d3a45e77e34375a7923b1e8febb049bb011f064714a8e17a1a616fef01da13d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "atomic"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
name = "atomic-waker"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -126,12 +243,60 @@ dependencies = [
]
[[package]]
+name = "base-x"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
+
+[[package]]
+name = "base64"
+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"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]]
+name = "bitvec"
+version = "0.19.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7ba35e9565969edb811639dbebfe34edc0368e472c5018474c8eb2543397f81"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-cipher"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f337a3e6da609650eb74e02bc9fac7b735049f7623ab12f2e4c719316fcc7e80"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
name = "blocking"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -159,6 +324,12 @@ checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
[[package]]
name = "bytes"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
+
+[[package]]
+name = "bytes"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0dcbc35f504eb6fc275a6d20e4ebcda18cf50d40ba6fabff8c711fa16cb3b16"
@@ -196,8 +367,30 @@ dependencies = [
"libc",
"num-integer",
"num-traits",
- "time",
- "winapi",
+ "serde",
+ "time 0.1.44",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "cjson"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2b601fb350e2fdbbd2ffb19aef2141fa90864d8fdca83d64466cb9bdb5694a7"
+dependencies = [
+ "itoa",
+ "serde",
+ "serde_derive",
+ "serde_json",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb6210b637171dfba4cda12e579ac6dc73f5165ad56133e5d72ef3131f320855"
+dependencies = [
+ "cc",
]
[[package]]
@@ -237,12 +430,60 @@ dependencies = [
]
[[package]]
+name = "console_error_panic_hook"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
+dependencies = [
+ "cfg-if 0.1.10",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "const-random"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f590d95d011aa80b063ffe3253422ed5aa462af4e9867d43ce8337562bac77c4"
+dependencies = [
+ "const-random-macro",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "615f6e27d000a2bffbc7f2f6a8669179378fa27ee4d0a509e985dfc0a7defb40"
+dependencies = [
+ "getrandom 0.2.0",
+ "lazy_static",
+ "proc-macro-hack",
+ "tiny-keccak",
+]
+
+[[package]]
+name = "const_fn"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd51eab21ab4fd6a3bf889e2d0958c0a6e3a61ad04260325e919e652a2a62826"
+
+[[package]]
name = "core-foundation"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
dependencies = [
- "core-foundation-sys",
+ "core-foundation-sys 0.2.3",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
+dependencies = [
+ "core-foundation-sys 0.8.2",
"libc",
]
@@ -256,15 +497,21 @@ dependencies = [
]
[[package]]
+name = "core-foundation-sys"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
+
+[[package]]
name = "coremidi"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99f92de5534f182bad5f91cad85611ab222cb6e237a0555e06c65a24936c3173"
dependencies = [
- "core-foundation",
- "core-foundation-sys",
+ "core-foundation 0.2.3",
+ "core-foundation-sys 0.2.3",
"coremidi-sys",
- "time",
+ "time 0.1.44",
]
[[package]]
@@ -273,151 +520,572 @@ version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07f05827cebb30dcd539ff1ac9bf6764f574a15fa147f8572f99d7617142f95e"
dependencies = [
- "core-foundation-sys",
+ "core-foundation-sys 0.2.3",
]
[[package]]
-name = "event-listener"
-version = "2.5.1"
+name = "cpuid-bool"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
+checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
[[package]]
-name = "eyre"
-version = "0.6.3"
+name = "crossbeam-queue"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f29abf4740a4778632fe27a4f681ef5b7a6f659aeba3330ac66f48e20cfa3b7"
+checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
dependencies = [
- "indenter",
- "once_cell",
+ "cfg-if 0.1.10",
+ "crossbeam-utils",
+ "maybe-uninit",
]
[[package]]
-name = "fastrand"
-version = "1.4.0"
+name = "crossbeam-utils"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca5faf057445ce5c9d4329e382b2ce7ca38550ef3b73a5348362d5f24e0c7fe3"
+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
dependencies = [
- "instant",
+ "autocfg",
+ "cfg-if 0.1.10",
+ "lazy_static",
]
[[package]]
-name = "futures-core"
-version = "0.3.8"
+name = "crunchy"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
-name = "futures-io"
-version = "0.3.8"
+name = "crypto-mac"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611834ce18aaa1bd13c4b374f5d653e1027cf99b6b502584ff8c9a64413b30bb"
+checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca"
+dependencies = [
+ "generic-array",
+ "subtle",
+]
[[package]]
-name = "futures-lite"
-version = "1.11.2"
+name = "ctr"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e6c079abfac3ab269e2927ec048dabc89d009ebfdda6b8ee86624f30c689658"
+checksum = "cc03dee3a2843ac6eb4b5fb39cfcf4cb034d078555d1f4a0afbed418b822f3c2"
dependencies = [
- "fastrand",
- "futures-core",
- "futures-io",
- "memchr",
- "parking",
- "pin-project-lite 0.1.11",
- "waker-fn",
+ "stream-cipher",
]
[[package]]
-name = "futures-macro"
-version = "0.3.8"
+name = "dashmap"
+version = "3.11.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556"
+checksum = "0f260e2fc850179ef410018660006951c1b55b79e8087e87111a2c388994b9b5"
dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn",
+ "ahash",
+ "cfg-if 0.1.10",
+ "num_cpus",
]
[[package]]
-name = "futures-task"
-version = "0.3.8"
+name = "digest"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
dependencies = [
- "once_cell",
+ "generic-array",
]
[[package]]
-name = "futures-util"
-version = "0.3.8"
+name = "discard"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
+
+[[package]]
+name = "displaydoc"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adc2ab4d5a16117f9029e9a6b5e4e79f4c67f6519bc134210d4d4a04ba31f41b"
dependencies = [
- "futures-core",
- "futures-macro",
- "futures-task",
- "pin-project",
- "pin-utils",
- "proc-macro-hack",
- "proc-macro-nested",
- "slab",
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
-name = "generator"
-version = "0.6.23"
+name = "dotenv"
+version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cdc09201b2e8ca1b19290cf7e65de2246b8e91fb6874279722189c4de7b94dc"
+checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "801bbab217d7f79c0062f4f7205b5d4427c6d1a7bd7aafdd1475f7c59d62b283"
dependencies = [
- "cc",
- "libc",
- "log",
- "rustc_version",
- "winapi",
+ "cfg-if 1.0.0",
]
[[package]]
-name = "gimli"
-version = "0.23.0"
+name = "event-listener"
+version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
+checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
[[package]]
-name = "heck"
-version = "0.3.1"
+name = "eyre"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+checksum = "5f29abf4740a4778632fe27a4f681ef5b7a6f659aeba3330ac66f48e20cfa3b7"
dependencies = [
- "unicode-segmentation",
+ "indenter",
+ "once_cell",
]
[[package]]
-name = "hermit-abi"
-version = "0.1.17"
+name = "fastrand"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
+checksum = "ca5faf057445ce5c9d4329e382b2ce7ca38550ef3b73a5348362d5f24e0c7fe3"
dependencies = [
- "libc",
+ "instant",
]
[[package]]
-name = "indenter"
-version = "0.3.0"
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foreign-types"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+dependencies = [
+ "foreign-types-shared",
+]
+
+[[package]]
+name = "foreign-types-shared"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00"
+dependencies = [
+ "matches",
+ "percent-encoding",
+]
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "funty"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ba62103ce691c2fd80fbae2213dfdda9ce60804973ac6b6e97de818ea7f52c8"
+
+[[package]]
+name = "futures"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b3b0c040a1fe6529d30b3c5944b280c7f0dcb2930d2c3062bca967b602583d0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b7109687aa4e177ef6fe84553af6280ef2778bdb7783ba44c9dc3399110fe64"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4caa2b2b68b880003057c1dd49f1ed937e38f22fcf6c212188a121f08cf40a65"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "611834ce18aaa1bd13c4b374f5d653e1027cf99b6b502584ff8c9a64413b30bb"
+
+[[package]]
+name = "futures-lite"
+version = "1.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e6c079abfac3ab269e2927ec048dabc89d009ebfdda6b8ee86624f30c689658"
+dependencies = [
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite 0.1.11",
+ "waker-fn",
+]
+
+[[package]]
+name = "futures-locks"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50c4e684ddb2d8a4db5ca8a02b35156da129674ba4412b6f528698d58c594954"
+dependencies = [
+ "futures",
+]
+
+[[package]]
+name = "futures-macro"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f878195a49cee50e006b02b93cf7e0a95a38ac7b776b4c4d9cc1207cd20fcb3d"
+
+[[package]]
+name = "futures-task"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "futures-timer"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
+dependencies = [
+ "gloo-timers",
+ "send_wrapper",
+]
+
+[[package]]
+name = "futures-util"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project 1.0.2",
+ "pin-utils",
+ "proc-macro-hack",
+ "proc-macro-nested",
+ "slab",
+]
+
+[[package]]
+name = "generator"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cdc09201b2e8ca1b19290cf7e65de2246b8e91fb6874279722189c4de7b94dc"
+dependencies = [
+ "cc",
+ "libc",
+ "log",
+ "rustc_version",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee8025cf36f917e6a52cce185b7c7177689b838b7ec138364e50cc2277a56cf4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "gimli"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
+
+[[package]]
+name = "gloo-timers"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "h2"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535"
+dependencies = [
+ "bytes 0.5.6",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio 0.2.24",
+ "tokio-util",
+ "tracing",
+ "tracing-futures",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
+
+[[package]]
+name = "heck"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hex"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35"
+
+[[package]]
+name = "hmac"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff"
+dependencies = [
+ "crypto-mac",
+ "digest",
+]
+
+[[package]]
+name = "http"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9"
+dependencies = [
+ "bytes 0.5.6",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
+dependencies = [
+ "bytes 0.5.6",
+ "http",
+]
+
+[[package]]
+name = "httparse"
+version = "1.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+
+[[package]]
+name = "httpdate"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
+
+[[package]]
+name = "hyper"
+version = "0.13.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ad767baac13b44d4529fcf58ba2cd0995e36e7b435bc5b039de6f47e880dbf"
+dependencies = [
+ "bytes 0.5.6",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project 1.0.2",
+ "socket2",
+ "tokio 0.2.24",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-tls"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed"
+dependencies = [
+ "bytes 0.5.6",
+ "hyper",
+ "native-tls",
+ "tokio 0.2.24",
+ "tokio-tls",
+]
+
+[[package]]
+name = "idna"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indenter"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0bd112d44d9d870a6819eb505d04dd92b5e4d94bb8c304924a0872ae7016fb5"
[[package]]
+name = "indexmap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55e2e4c765aa53a0424761bf9f41aa7a6ac1efa87238f59560640e27fca028f2"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
name = "instant"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec"
dependencies = [
"cfg-if 1.0.0",
+ "js-sys",
+ "time 0.2.23",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
]
[[package]]
+name = "ipnet"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"
+
+[[package]]
name = "itoa"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -433,6 +1101,25 @@ dependencies = [
]
[[package]]
+name = "js_int"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b96797f53235a1d6dc985f244a69de54b04c45b7e0e357a35c85a45a847d92f2"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
name = "launchpad_sway_controler"
version = "0.1.0"
dependencies = [
@@ -440,9 +1127,11 @@ dependencies = [
"color-eyre",
"futures-util",
"midir",
- "strum",
+ "once_cell",
+ "strum 0.20.0",
"swayipc-async",
- "tokio",
+ "thirtyfour",
+ "tokio 0.2.24",
"tracing",
"tracing-subscriber",
]
@@ -454,12 +1143,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
+name = "lexical-core"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db65c6da02e61f55dae90a0ae427b2a5f6b3e8db09f58d10efab23af92592616"
+dependencies = [
+ "arrayvec",
+ "bitflags",
+ "cfg-if 0.1.10",
+ "ryu",
+ "static_assertions",
+]
+
+[[package]]
name = "libc"
version = "0.2.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614"
[[package]]
+name = "libsqlite3-sys"
+version = "0.17.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56d90181c2904c287e5390186be820e5ef311a3c62edebb7d6ca3d6a48ce041d"
+dependencies = [
+ "cc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
name = "lock_api"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -496,12 +1209,33 @@ version = "0.1.0"
dependencies = [
"color-eyre",
"futures-util",
- "tokio",
+ "tokio 0.3.5",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "lsc_matrix_presets"
+version = "0.1.0"
+dependencies = [
+ "async-trait",
+ "color-eyre",
+ "futures-util",
+ "matrix-sdk",
+ "matrix-sdk-common-macros",
+ "tokio 0.2.24",
"tracing",
"tracing-subscriber",
+ "url",
]
[[package]]
+name = "maplit"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+
+[[package]]
name = "matchers"
version = "0.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -511,6 +1245,110 @@ dependencies = [
]
[[package]]
+name = "matches"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+
+[[package]]
+name = "matrix-sdk"
+version = "0.1.0"
+source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8f99180c99ccd74803565fb36098389198091ded#8f99180c99ccd74803565fb36098389198091ded"
+dependencies = [
+ "async-trait",
+ "dashmap",
+ "futures-timer",
+ "http",
+ "matrix-sdk-base",
+ "matrix-sdk-common",
+ "matrix-sdk-common-macros",
+ "mime",
+ "reqwest",
+ "serde_json",
+ "thiserror",
+ "tokio 0.2.24",
+ "tracing",
+ "tracing-futures",
+ "url",
+ "zeroize",
+]
+
+[[package]]
+name = "matrix-sdk-base"
+version = "0.1.0"
+source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8f99180c99ccd74803565fb36098389198091ded#8f99180c99ccd74803565fb36098389198091ded"
+dependencies = [
+ "async-trait",
+ "matrix-sdk-common",
+ "matrix-sdk-common-macros",
+ "matrix-sdk-crypto",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio 0.2.24",
+ "tracing",
+ "zeroize",
+]
+
+[[package]]
+name = "matrix-sdk-common"
+version = "0.1.0"
+source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8f99180c99ccd74803565fb36098389198091ded#8f99180c99ccd74803565fb36098389198091ded"
+dependencies = [
+ "assign",
+ "futures-locks",
+ "instant",
+ "js_int",
+ "ruma",
+ "tokio 0.2.24",
+ "uuid",
+]
+
+[[package]]
+name = "matrix-sdk-common-macros"
+version = "0.1.0"
+source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8f99180c99ccd74803565fb36098389198091ded#8f99180c99ccd74803565fb36098389198091ded"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "matrix-sdk-crypto"
+version = "0.1.0"
+source = "git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8f99180c99ccd74803565fb36098389198091ded#8f99180c99ccd74803565fb36098389198091ded"
+dependencies = [
+ "aes-ctr",
+ "async-trait",
+ "atomic",
+ "base64 0.13.0",
+ "byteorder",
+ "cjson",
+ "dashmap",
+ "getrandom 0.2.0",
+ "hmac",
+ "matrix-sdk-common",
+ "matrix-sdk-common-macros",
+ "olm-rs",
+ "pbkdf2",
+ "serde",
+ "serde_json",
+ "sha2",
+ "sqlx",
+ "thiserror",
+ "tracing",
+ "tracing-futures",
+ "url",
+ "zeroize",
+]
+
+[[package]]
+name = "maybe-uninit"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+
+[[package]]
name = "memalloc"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -537,7 +1375,23 @@ dependencies = [
"nix",
"wasm-bindgen",
"web-sys",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
+dependencies = [
+ "mime",
+ "unicase",
]
[[package]]
@@ -551,16 +1405,70 @@ dependencies = [
]
[[package]]
-name = "mio"
-version = "0.7.6"
+name = "mio"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log",
+ "miow 0.2.2",
+ "net2",
+ "slab",
+ "winapi 0.2.8",
+]
+
+[[package]]
+name = "mio"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f33bc887064ef1fd66020c9adfc45bb9f33d75a42096c81e7c56c65b75dd1a8b"
+dependencies = [
+ "libc",
+ "log",
+ "miow 0.3.6",
+ "ntapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "mio-named-pipes"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
+dependencies = [
+ "log",
+ "mio 0.6.23",
+ "miow 0.3.6",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "mio-uds"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
+dependencies = [
+ "iovec",
+ "libc",
+ "mio 0.6.23",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f33bc887064ef1fd66020c9adfc45bb9f33d75a42096c81e7c56c65b75dd1a8b"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
dependencies = [
- "libc",
- "log",
- "miow",
- "ntapi",
- "winapi",
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8",
+ "ws2_32-sys",
]
[[package]]
@@ -570,7 +1478,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897"
dependencies = [
"socket2",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "native-tls"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fcc7939b5edc4e4f86b1b4a04bb1498afaaf871b1a6691838ed06fcb48d3a3f"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "log",
+ "openssl",
+ "openssl-probe",
+ "openssl-sys",
+ "schannel",
+ "security-framework",
+ "security-framework-sys",
+ "tempfile",
]
[[package]]
@@ -580,7 +1506,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8123a81538e457d44b933a02faf885d3fe8408806b23fa700e8f01c6c3a98998"
dependencies = [
"libc",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "net2"
+version = "0.2.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "winapi 0.3.9",
]
[[package]]
@@ -597,12 +1534,24 @@ dependencies = [
]
[[package]]
+name = "nom"
+version = "6.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88034cfd6b4a0d54dd14f4a507eceee36c0b70e5a02236c4e4df571102be17f0"
+dependencies = [
+ "bitvec",
+ "lexical-core",
+ "memchr",
+ "version_check",
+]
+
+[[package]]
name = "ntapi"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44"
dependencies = [
- "winapi",
+ "winapi 0.3.9",
]
[[package]]
@@ -641,12 +1590,73 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397"
[[package]]
+name = "olm-rs"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "daab4abdd728e5e77ec15888fc12688c0b821c81fca621f1bb28dbe489cbc404"
+dependencies = [
+ "getrandom 0.2.0",
+ "olm-sys",
+ "serde",
+ "serde_json",
+ "zeroize",
+]
+
+[[package]]
+name = "olm-sys"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0823939cee8b6f39ed0e39d8abf98919099f999ebef3eae2c67d9cd2e93ea008"
+dependencies = [
+ "cmake",
+]
+
+[[package]]
name = "once_cell"
version = "1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
+name = "openssl"
+version = "0.10.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d008f51b1acffa0d3450a68606e6a51c123012edaacb0f4e1426bd978869187"
+dependencies = [
+ "bitflags",
+ "cfg-if 1.0.0",
+ "foreign-types",
+ "lazy_static",
+ "libc",
+ "openssl-sys",
+]
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de52d8eabd217311538a39bba130d7dea1f1e118010fee7a033d966845e7d5fe"
+dependencies = [
+ "autocfg",
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
name = "owo-colors"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -680,7 +1690,31 @@ dependencies = [
"libc",
"redox_syscall",
"smallvec",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "pbkdf2"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7170d73bf11f39b4ce1809aabc95bf5c33564cdc16fc3200ddda17a5f6e5e48b"
+dependencies = [
+ "crypto-mac",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+
+[[package]]
+name = "pin-project"
+version = "0.4.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ffbc8e94b38ea3d2d8ba92aea2983b503cd75d0888d75b86bb37970b5698e15"
+dependencies = [
+ "pin-project-internal 0.4.27",
]
[[package]]
@@ -689,7 +1723,18 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7"
dependencies = [
- "pin-project-internal",
+ "pin-project-internal 1.0.2",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "0.4.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65ad2ae56b6abe3a1ee25f15ee605bacadb9a764edaba9c2bf4103800d4a1895"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
@@ -704,104 +1749,402 @@ dependencies = [
]
[[package]]
-name = "pin-project-lite"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b"
+name = "pin-project-lite"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b063f57ec186e6140e2b8b6921e5f1bd89c7356dda5b33acc5401203ca6131c"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
+
+[[package]]
+name = "polling"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2a7bc6b2a29e632e45451c941832803a18cce6781db04de8a04696cdca8bde4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "log",
+ "wepoll-sys",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
+
+[[package]]
+name = "proc-macro-crate"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
+dependencies = [
+ "toml",
+]
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro-nested"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
+dependencies = [
+ "proc-macro2",
+]
+
+[[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"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.15",
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[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",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.15",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.1.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
+
+[[package]]
+name = "regex"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+ "thread_local",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
+dependencies = [
+ "byteorder",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "reqwest"
+version = "0.10.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb15d6255c792356a0f578d8a645c677904dc02e862bebe2ecc18e0c01b9a0ce"
+dependencies = [
+ "base64 0.13.0",
+ "bytes 0.5.6",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "lazy_static",
+ "log",
+ "mime",
+ "mime_guess",
+ "native-tls",
+ "percent-encoding",
+ "pin-project-lite 0.2.0",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio 0.2.24",
+ "tokio-tls",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-bindgen-test",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "ruma"
+version = "0.0.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "assign",
+ "js_int",
+ "ruma-api",
+ "ruma-appservice-api",
+ "ruma-client-api",
+ "ruma-common",
+ "ruma-events",
+ "ruma-federation-api",
+ "ruma-identifiers",
+ "ruma-serde",
+]
+
+[[package]]
+name = "ruma-api"
+version = "0.17.0-alpha.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "http",
+ "percent-encoding",
+ "ruma-api-macros",
+ "ruma-common",
+ "ruma-identifiers",
+ "ruma-serde",
+ "serde",
+ "serde_json",
+ "strum 0.19.5",
+ "thiserror",
+]
+
+[[package]]
+name = "ruma-api-macros"
+version = "0.17.0-alpha.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "ruma-appservice-api"
+version = "0.2.0-alpha.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "ruma-api",
+ "ruma-common",
+ "ruma-events",
+ "ruma-identifiers",
+ "serde",
+ "serde_json",
+]
[[package]]
-name = "pin-project-lite"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b063f57ec186e6140e2b8b6921e5f1bd89c7356dda5b33acc5401203ca6131c"
+name = "ruma-client-api"
+version = "0.10.0-alpha.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "assign",
+ "http",
+ "js_int",
+ "maplit",
+ "percent-encoding",
+ "ruma-api",
+ "ruma-common",
+ "ruma-events",
+ "ruma-identifiers",
+ "ruma-serde",
+ "serde",
+ "serde_json",
+ "strum 0.19.5",
+]
[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+name = "ruma-common"
+version = "0.2.0"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "js_int",
+ "ruma-common-macros",
+ "ruma-identifiers",
+ "ruma-serde",
+ "serde",
+ "serde_json",
+ "strum 0.19.5",
+]
[[package]]
-name = "pkg-config"
-version = "0.3.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
+name = "ruma-common-macros"
+version = "0.2.0"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
[[package]]
-name = "polling"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2a7bc6b2a29e632e45451c941832803a18cce6781db04de8a04696cdca8bde4"
+name = "ruma-events"
+version = "0.22.0-alpha.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
dependencies = [
- "cfg-if 0.1.10",
- "libc",
- "log",
- "wepoll-sys",
- "winapi",
+ "js_int",
+ "ruma-common",
+ "ruma-events-macros",
+ "ruma-identifiers",
+ "ruma-serde",
+ "serde",
+ "serde_json",
+ "strum 0.19.5",
]
[[package]]
-name = "proc-macro-hack"
-version = "0.5.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+name = "ruma-events-macros"
+version = "0.22.0-alpha.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
[[package]]
-name = "proc-macro-nested"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"
+name = "ruma-federation-api"
+version = "0.0.3"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
+dependencies = [
+ "js_int",
+ "ruma-api",
+ "ruma-common",
+ "ruma-events",
+ "ruma-identifiers",
+ "ruma-serde",
+ "serde",
+ "serde_json",
+]
[[package]]
-name = "proc-macro2"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
+name = "ruma-identifiers"
+version = "0.17.4"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
dependencies = [
- "unicode-xid",
+ "ruma-identifiers-macros",
+ "ruma-identifiers-validation",
+ "serde",
+ "strum 0.19.5",
]
[[package]]
-name = "quote"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
+name = "ruma-identifiers-macros"
+version = "0.17.4"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
dependencies = [
"proc-macro2",
+ "quote",
+ "ruma-identifiers-validation",
+ "syn",
]
[[package]]
-name = "redox_syscall"
-version = "0.1.57"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
-[[package]]
-name = "regex"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"
+name = "ruma-identifiers-validation"
+version = "0.1.1"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
dependencies = [
- "regex-syntax",
+ "serde",
+ "strum 0.19.5",
]
[[package]]
-name = "regex-automata"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"
+name = "ruma-serde"
+version = "0.2.3"
+source = "git+https://github.com/ruma/ruma?rev=50eb700571480d1440e15a387d10f98be8abab59#50eb700571480d1440e15a387d10f98be8abab59"
dependencies = [
- "byteorder",
- "regex-syntax",
+ "form_urlencoded",
+ "itoa",
+ "js_int",
+ "serde",
+ "serde_json",
]
[[package]]
-name = "regex-syntax"
-version = "0.6.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
-
-[[package]]
name = "rustc-demangle"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -823,6 +2166,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
[[package]]
+name = "schannel"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
+dependencies = [
+ "lazy_static",
+ "winapi 0.3.9",
+]
+
+[[package]]
name = "scoped-tls"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -835,6 +2188,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
+name = "security-framework"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1759c2e3c8580017a484a7ac56d3abc5a6c1feadf88db2f3633f12ae4268c69"
+dependencies = [
+ "bitflags",
+ "core-foundation 0.9.1",
+ "core-foundation-sys 0.8.2",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f99b9d5e26d2a71633cc4f2ebae7cc9f874044e0c351a27e17892d76dce5678b"
+dependencies = [
+ "core-foundation-sys 0.8.2",
+ "libc",
+]
+
+[[package]]
name = "semver"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -850,6 +2226,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]]
+name = "send_wrapper"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0"
+
+[[package]]
name = "serde"
version = "1.0.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -875,12 +2257,55 @@ version = "1.0.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1500e84d27fe482ed1dc791a56eddc2f230046a040fa908c08bda1d9fb615779"
dependencies = [
+ "indexmap",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dc6b7951b17b051f3210b063f12cc17320e2fe30ae05b0fe2a3abb068551c76"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
+dependencies = [
+ "form_urlencoded",
"itoa",
"ryu",
"serde",
]
[[package]]
+name = "sha1"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
+
+[[package]]
+name = "sha2"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e7aab86fe2149bad8c507606bdb3f4ef5e7b2380eb92350f56122cca72a42a8"
+dependencies = [
+ "block-buffer",
+ "cfg-if 1.0.0",
+ "cpuid-bool",
+ "digest",
+ "opaque-debug",
+]
+
+[[package]]
name = "sharded-slab"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -930,7 +2355,157 @@ dependencies = [
"cfg-if 1.0.0",
"libc",
"redox_syscall",
- "winapi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "sqlformat"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74c70f0235b9925cbb106c52af1a28b5ea4885a8b851e328b8562e257a389c2d"
+dependencies = [
+ "lazy_static",
+ "maplit",
+ "nom",
+ "regex",
+ "unicode_categories",
+]
+
+[[package]]
+name = "sqlx"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8974cacd80085fbe49e778708d660dec6fb351604dc34c3905b26efb2803b038"
+dependencies = [
+ "sqlx-core",
+ "sqlx-macros",
+]
+
+[[package]]
+name = "sqlx-core"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ac5a436f941c42eac509471a730df5c3c58e1450e68cd39afedbd948206273"
+dependencies = [
+ "async-native-tls",
+ "async-stream",
+ "bitflags",
+ "byteorder",
+ "crossbeam-queue",
+ "crossbeam-utils",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "hex",
+ "libc",
+ "libsqlite3-sys",
+ "log",
+ "memchr",
+ "percent-encoding",
+ "sqlformat",
+ "tokio 0.2.24",
+ "url",
+]
+
+[[package]]
+name = "sqlx-macros"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de2ae78b783af5922d811b14665a5a3755e531c3087bb805cf24cf71f15e6780"
+dependencies = [
+ "dotenv",
+ "futures",
+ "heck",
+ "lazy_static",
+ "proc-macro2",
+ "quote",
+ "sqlx-core",
+ "syn",
+ "tokio 0.2.24",
+ "url",
+]
+
+[[package]]
+name = "standback"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf906c8b8fc3f6ecd1046e01da1d8ddec83e48c8b08b84dcc02b585a6bedf5a8"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha1",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
+[[package]]
+name = "stream-cipher"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c80e15f898d8d8f25db24c253ea615cc14acf418ff307822995814e7d42cfa89"
+dependencies = [
+ "block-cipher",
+ "generic-array",
+]
+
+[[package]]
+name = "strum"
+version = "0.19.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b89a286a7e3b5720b9a477b23253bc50debac207c8d21505f8e70b36792f11b5"
+dependencies = [
+ "strum_macros 0.19.4",
]
[[package]]
@@ -939,7 +2514,19 @@ version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c"
dependencies = [
- "strum_macros",
+ "strum_macros 0.20.1",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.19.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e61bb0be289045cb80bfce000512e32d09f8337e54c186725da381377ad1f8d5"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
@@ -955,6 +2542,12 @@ dependencies = [
]
[[package]]
+name = "subtle"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2"
+
+[[package]]
name = "swayipc-async"
version = "2.0.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -991,6 +2584,59 @@ dependencies = [
]
[[package]]
+name = "synstructure"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unicode-xid",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36474e732d1affd3a6ed582781b3683df3d0563714c59c39591e8ff707cf078e"
+
+[[package]]
+name = "tempfile"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "rand",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "thirtyfour"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b53af2ed05f53cad3489dd46988f3b108f8aa50221abffa1ef5c7eb3cd41139"
+dependencies = [
+ "async-trait",
+ "base64 0.12.3",
+ "chrono",
+ "displaydoc",
+ "futures",
+ "log",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "thiserror",
+ "tokio 0.2.24",
+ "urlparse",
+]
+
+[[package]]
name = "thiserror"
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1026,8 +2672,94 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
dependencies = [
"libc",
- "wasi",
- "winapi",
+ "wasi 0.10.0+wasi-snapshot-preview1",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "time"
+version = "0.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcdaeea317915d59b2b4cd3b5efcd156c309108664277793f5351700c02ce98b"
+dependencies = [
+ "const_fn",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros",
+ "version_check",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "time-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+dependencies = [
+ "proc-macro-hack",
+ "time-macros-impl",
+]
+
+[[package]]
+name = "time-macros-impl"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5c3be1edfad6027c69f5491cf4cb310d1a71ecd6af742788c6ff8bced86b8fa"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "standback",
+ "syn",
+]
+
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccf8dbc19eb42fba10e8feaaec282fb50e2c14b2726d6301dbfeed0f73306a6f"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "tokio"
+version = "0.2.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099837d3464c16a808060bb3f02263b412f6fafcb5d01c533d309985fbeebe48"
+dependencies = [
+ "bytes 0.5.6",
+ "fnv",
+ "futures-core",
+ "iovec",
+ "lazy_static",
+ "libc",
+ "memchr",
+ "mio 0.6.23",
+ "mio-named-pipes",
+ "mio-uds",
+ "num_cpus",
+ "pin-project-lite 0.1.11",
+ "signal-hook-registry",
+ "slab",
+ "tokio-macros 0.2.6",
+ "winapi 0.3.9",
]
[[package]]
@@ -1037,19 +2769,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a12a3eb39ee2c231be64487f1fcbe726c8f2514876a55480a5ab8559fc374252"
dependencies = [
"autocfg",
- "bytes",
+ "bytes 0.6.0",
"futures-core",
"lazy_static",
"libc",
"memchr",
- "mio",
+ "mio 0.7.6",
"num_cpus",
"parking_lot",
"pin-project-lite 0.2.0",
"signal-hook-registry",
"slab",
- "tokio-macros",
- "winapi",
+ "tokio-macros 0.3.1",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
]
[[package]]
@@ -1064,12 +2807,52 @@ dependencies = [
]
[[package]]
+name = "tokio-tls"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343"
+dependencies = [
+ "native-tls",
+ "tokio 0.2.24",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499"
+dependencies = [
+ "bytes 0.5.6",
+ "futures-core",
+ "futures-sink",
+ "log",
+ "pin-project-lite 0.1.11",
+ "tokio 0.2.24",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "tower-service"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860"
+
+[[package]]
name = "tracing"
version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f47026cdc4080c07e49b37087de021820269d996f581aac150ef9e5583eefe3"
dependencies = [
"cfg-if 1.0.0",
+ "log",
"pin-project-lite 0.2.0",
"tracing-attributes",
"tracing-core",
@@ -1106,6 +2889,16 @@ dependencies = [
]
[[package]]
+name = "tracing-futures"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c"
+dependencies = [
+ "pin-project 0.4.27",
+ "tracing",
+]
+
+[[package]]
name = "tracing-log"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1149,6 +2942,45 @@ dependencies = [
]
[[package]]
+name = "try-lock"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+
+[[package]]
+name = "typenum"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
+
+[[package]]
+name = "unicase"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+dependencies = [
+ "matches",
+]
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
name = "unicode-segmentation"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1161,12 +2993,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
[[package]]
+name = "unicode_categories"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
+
+[[package]]
+name = "url"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "matches",
+ "percent-encoding",
+]
+
+[[package]]
+name = "urlparse"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "110352d4e9076c67839003c7788d8604e24dcded13e0b375af3efaa8cf468517"
+
+[[package]]
+name = "uuid"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11"
+dependencies = [
+ "rand",
+ "serde",
+]
+
+[[package]]
+name = "vcpkg"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
+
+[[package]]
name = "vec-arena"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eafc1b9b2dfc6f5529177b62cf806484db55b32dc7c9658a118e11bbeb33061d"
[[package]]
+name = "version_check"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
+
+[[package]]
name = "void"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1179,6 +3057,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
[[package]]
+name = "want"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+dependencies = [
+ "log",
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
name = "wasi"
version = "0.10.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1191,6 +3085,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cd364751395ca0f68cafb17666eee36b63077fb5ecd972bbcd74c90c4bf736e"
dependencies = [
"cfg-if 1.0.0",
+ "serde",
+ "serde_json",
"wasm-bindgen-macro",
]
@@ -1210,6 +3106,18 @@ dependencies = [
]
[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fe9756085a84584ee9457a002b7cdfe0bfff169f45d2591d8be1345a6780e35"
+dependencies = [
+ "cfg-if 1.0.0",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
name = "wasm-bindgen-macro"
version = "0.2.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1239,6 +3147,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e7811dd7f9398f14cc76efd356f98f03aa30419dea46aa810d71e819fc97158"
[[package]]
+name = "wasm-bindgen-test"
+version = "0.3.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0355fa0c1f9b792a09b6dcb6a8be24d51e71e6d74972f9eb4a44c4c004d24a25"
+dependencies = [
+ "console_error_panic_hook",
+ "js-sys",
+ "scoped-tls",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-bindgen-test-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-test-macro"
+version = "0.3.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "27e07b46b98024c2ba2f9e83a10c2ef0515f057f2da299c1762a2017de80438b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
name = "web-sys"
version = "0.3.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1259,6 +3191,12 @@ dependencies = [
[[package]]
name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
@@ -1268,6 +3206,12 @@ dependencies = [
]
[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1278,3 +3222,49 @@ name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "winreg"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "wyz"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
+
+[[package]]
+name = "zeroize"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81a974bcdd357f0dca4d41677db03436324d45a4c9ed2d0b873a5a360ce41c36"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3f369ddb18862aba61aa49bf31e74d29f0f162dec753063200e1dc084345d16"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
diff --git a/Cargo.toml b/Cargo.toml
@@ -1,7 +1,8 @@
[workspace]
members = [
"launchpad_sway_controler",
- "lsc_example_plugin"
+ "lsc_example_plugin",
+ "lsc_matrix_presets"
]
[profile.dev.package.backtrace]
diff --git a/Requirements.md b/Requirements.md
@@ -0,0 +1,6 @@
+# Requirements
+
+## Browser Control
+
+* Requires selenium
+* Requires selenium drivers to be installed
+\ No newline at end of file
diff --git a/launchpad_sway_controler/Cargo.toml b/launchpad_sway_controler/Cargo.toml
@@ -9,10 +9,12 @@ edition = "2018"
[dependencies]
midir = "0.7"
swayipc-async = "2.0.0-alpha.1"
-tokio = { version = "0.3.2", features = ["full"] }
+tokio = { version = "0.2", features = ["full"] } #TODO Update blocked by thirtyfour
futures-util = "0.3.7"
color-eyre = "0.5"
alsa = "0.4.3"
strum = { version = "0.20", features = ["derive"] }
tracing = "0.1"
tracing-subscriber = "0.2"
+thirtyfour = "0.21"
+once_cell = "1.4.1"
+\ No newline at end of file
diff --git a/launchpad_sway_controler/src/main.rs b/launchpad_sway_controler/src/main.rs
@@ -1,68 +1,23 @@
+use crate::mappings::LaunchpadMapping;
use crate::plugin_actions::PluginActions;
use crate::sway::{get_workspaces, listen_for_workspace_changes};
+use crate::utils::globals::CURRENT_WORKSPACE;
use color_eyre::Result;
use midir::{Ignore, MidiInput, MidiOutputConnection};
use std::convert::{TryFrom, TryInto};
use std::env;
use std::io::stdin;
use std::process::exit;
-use strum::EnumIter;
+use std::sync::atomic::Ordering;
use strum::IntoEnumIterator;
use swayipc_async::Connection;
use tokio::runtime::Runtime;
use tracing::*;
+mod mappings;
mod plugin_actions;
mod sway;
-
-#[non_exhaustive]
-#[derive(Debug, Copy, Clone, EnumIter)]
-pub enum LaunchpadMapping {
- Firefox = 119,
- Chats = 118,
- Email = 117,
- Coding = 116,
- Steam = 115,
- Games = 114,
- Youtube = 113,
- Spotify = 112,
- Test = 0,
-}
-
-impl Into<PluginActions<'_>> for LaunchpadMapping {
- fn into(self) -> PluginActions<'static> {
- match self {
- LaunchpadMapping::Firefox => PluginActions::SwayWorkspace("1:\u{e007}"),
- LaunchpadMapping::Chats => PluginActions::SwayWorkspace("2:\u{f086}"),
- LaunchpadMapping::Email => PluginActions::SwayWorkspace("3:\u{f0e0}"),
- LaunchpadMapping::Coding => PluginActions::SwayWorkspace("5:\u{f1c9}"),
- LaunchpadMapping::Steam => PluginActions::SwayWorkspace("11:\u{f1b6}"),
- LaunchpadMapping::Games => PluginActions::SwayWorkspace("12:\u{f11b}"),
- LaunchpadMapping::Youtube => PluginActions::SwayWorkspace("13:\u{f167}"),
- LaunchpadMapping::Spotify => PluginActions::SwayWorkspace("42:\u{f001}"),
- LaunchpadMapping::Test => PluginActions::ExamplePlugin,
- }
- }
-}
-
-impl TryFrom<i32> for LaunchpadMapping {
- type Error = ();
-
- fn try_from(input: i32) -> Result<LaunchpadMapping, Self::Error> {
- match input {
- 119 => Ok(LaunchpadMapping::Firefox),
- 118 => Ok(LaunchpadMapping::Chats),
- 117 => Ok(LaunchpadMapping::Email),
- 116 => Ok(LaunchpadMapping::Coding),
- 115 => Ok(LaunchpadMapping::Steam),
- 114 => Ok(LaunchpadMapping::Games),
- 113 => Ok(LaunchpadMapping::Youtube),
- 112 => Ok(LaunchpadMapping::Spotify),
- 0 => Ok(LaunchpadMapping::Test),
- _ => Err(()),
- }
- }
-}
+mod utils;
fn reset_colors(conn_out: &mut MidiOutputConnection) {
conn_out.send(&[176, 0, 0]).unwrap();
@@ -71,12 +26,19 @@ fn reset_colors(conn_out: &mut MidiOutputConnection) {
.send(&[144, (value as i32).try_into().unwrap(), 15])
.unwrap();
}
+ if let Ok(workspace) =
+ sway::WorkspaceLaunchpadMapping::try_from(CURRENT_WORKSPACE.load(Ordering::SeqCst) as i32)
+ {
+ conn_out
+ .send(&[144, (workspace as i32).try_into().unwrap(), 28])
+ .unwrap();
+ }
}
#[tokio::main]
async fn main() -> Result<()> {
color_eyre::install()?;
- if let Err(_) = env::var("RUST_LOG") {
+ if env::var("RUST_LOG").is_err() {
env::set_var("RUST_LOG", "INFO");
}
tracing_subscriber::fmt::init();
@@ -94,17 +56,13 @@ async fn main() -> Result<()> {
midi_in.ignore(Ignore::None);
let midi_in_ports = midi_in.ports();
- /*for (i, p) in midi_in_ports.iter().enumerate() {
- println!("{}: {}", i, midi_in.port_name(p)?);
- // TODO get by name
- }*/
let in_port = midi_in_ports.get(1).unwrap();
info!("Opening connections");
// Create the runtime
- let rt = Runtime::new()?;
+ let mut rt = Runtime::new()?;
// One could get the log back here out of the error
let conn_in = midi_in
diff --git a/launchpad_sway_controler/src/mappings/mod.rs b/launchpad_sway_controler/src/mappings/mod.rs
@@ -0,0 +1,80 @@
+use crate::plugin_actions::PluginActions;
+use crate::utils::globals::PRESELECTED_LAYER_NUMBER;
+use std::convert::TryFrom;
+use std::sync::atomic::Ordering;
+use strum::EnumIter;
+
+// TODO make array for layers
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, EnumIter)]
+pub enum LaunchpadMapping {
+ Back = 120,
+ Firefox = 119,
+ Chats = 118,
+ Email = 117,
+ Coding = 116,
+ Steam = 115,
+ Games = 114,
+ Youtube = 113,
+ Spotify = 112,
+ Test = 0,
+ FirefoxWebdriver = 1,
+ IncreaseLayer = 8,
+ DecreaseLayer = 24,
+ SelectLayer = 40,
+}
+
+impl Into<PluginActions<'_>> for LaunchpadMapping {
+ fn into(self) -> PluginActions<'static> {
+ match self {
+ LaunchpadMapping::Back => PluginActions::SwayBack,
+ LaunchpadMapping::Firefox => PluginActions::SwayWorkspace("1:\u{e007}"),
+ LaunchpadMapping::Chats => PluginActions::SwayWorkspace("2:\u{f086}"),
+ LaunchpadMapping::Email => PluginActions::SwayWorkspace("3:\u{f0e0}"),
+ LaunchpadMapping::Coding => PluginActions::SwayWorkspace("5:\u{f1c9}"),
+ LaunchpadMapping::Steam => PluginActions::SwayWorkspace("11:\u{f1b6}"),
+ LaunchpadMapping::Games => PluginActions::SwayWorkspace("12:\u{f11b}"),
+ LaunchpadMapping::Youtube => PluginActions::SwayWorkspace("13:\u{f167}"),
+ LaunchpadMapping::Spotify => PluginActions::SwayWorkspace("42:\u{f001}"),
+ LaunchpadMapping::Test => PluginActions::ExamplePlugin,
+ LaunchpadMapping::FirefoxWebdriver => PluginActions::SelectMatrixRoomByID(""),
+ LaunchpadMapping::IncreaseLayer => {
+ if PRESELECTED_LAYER_NUMBER.load(Ordering::SeqCst) < 9 {
+ PRESELECTED_LAYER_NUMBER.fetch_add(1, Ordering::SeqCst);
+ }
+ PluginActions::ShowNumber(PRESELECTED_LAYER_NUMBER.load(Ordering::SeqCst) as usize)
+ }
+ LaunchpadMapping::DecreaseLayer => {
+ if PRESELECTED_LAYER_NUMBER.load(Ordering::SeqCst) > 0 {
+ PRESELECTED_LAYER_NUMBER.fetch_sub(1, Ordering::SeqCst);
+ }
+ PluginActions::ShowNumber(PRESELECTED_LAYER_NUMBER.load(Ordering::SeqCst) as usize)
+ }
+ LaunchpadMapping::SelectLayer => PluginActions::SelectLayer,
+ }
+ }
+}
+
+impl TryFrom<i32> for LaunchpadMapping {
+ type Error = ();
+
+ fn try_from(input: i32) -> Result<LaunchpadMapping, Self::Error> {
+ match input {
+ 120 => Ok(LaunchpadMapping::Back),
+ 119 => Ok(LaunchpadMapping::Firefox),
+ 118 => Ok(LaunchpadMapping::Chats),
+ 117 => Ok(LaunchpadMapping::Email),
+ 116 => Ok(LaunchpadMapping::Coding),
+ 115 => Ok(LaunchpadMapping::Steam),
+ 114 => Ok(LaunchpadMapping::Games),
+ 113 => Ok(LaunchpadMapping::Youtube),
+ 112 => Ok(LaunchpadMapping::Spotify),
+ 0 => Ok(LaunchpadMapping::Test),
+ 1 => Ok(LaunchpadMapping::FirefoxWebdriver),
+ 8 => Ok(LaunchpadMapping::IncreaseLayer),
+ 24 => Ok(LaunchpadMapping::DecreaseLayer),
+ 40 => Ok(LaunchpadMapping::SelectLayer),
+ _ => Err(()),
+ }
+ }
+}
diff --git a/launchpad_sway_controler/src/plugin_actions/mod.rs b/launchpad_sway_controler/src/plugin_actions/mod.rs
@@ -1,15 +1,29 @@
+use crate::reset_colors;
+use crate::utils::globals::{LAYER_NUMBER, PRESELECTED_LAYER_NUMBER, SHOWING_NUMBER};
+use crate::utils::show_number;
use color_eyre::Result;
+use midir::MidiOutput;
+use std::sync::atomic::Ordering;
use swayipc_async::Connection;
use tokio::io::AsyncWriteExt;
use tokio::net::UnixStream;
pub enum PluginActions<'a> {
SwayWorkspace(&'a str),
+ SwayBack,
ExamplePlugin,
+ SelectMatrixRoomByID(&'a str),
+ RunMatrixPreset(&'a str),
+ ShowNumber(usize),
+ SelectLayer,
}
impl PluginActions<'_> {
pub async fn run(&self) -> Result<()> {
+ let midi_out = MidiOutput::new("My Test Output")?;
+ let midi_out_ports = midi_out.ports();
+ let out_port = midi_out_ports.get(1).unwrap();
+ let mut conn_out = midi_out.connect(out_port, "midir-test").unwrap();
match self {
PluginActions::SwayWorkspace(workspace) => {
let mut connection = Connection::new().await?;
@@ -18,11 +32,43 @@ impl PluginActions<'_> {
.await
.unwrap();
}
+ PluginActions::SwayBack => {
+ let mut connection = Connection::new().await?;
+ connection
+ .run_command("workspace back_and_forth")
+ .await
+ .unwrap();
+ }
PluginActions::ExamplePlugin => {
let mut socket = UnixStream::connect("/run/lsc_example_plugin.sock").await?;
socket.write(b"test\n").await?;
}
+ PluginActions::SelectMatrixRoomByID(room_id) => {
+ let mut socket = UnixStream::connect("/run/lsc_matrix_presets.sock").await?;
+
+ socket
+ .write(format!("select {}\n", room_id).as_bytes())
+ .await?;
+ }
+ PluginActions::RunMatrixPreset(preset_id) => {
+ let mut socket = UnixStream::connect("/run/lsc_matrix_presets.sock").await?;
+
+ socket
+ .write(format!("do {}\n", preset_id).as_bytes())
+ .await?;
+ }
+ PluginActions::ShowNumber(number) => {
+ show_number(&mut conn_out, *number);
+ }
+ PluginActions::SelectLayer => {
+ LAYER_NUMBER.store(
+ PRESELECTED_LAYER_NUMBER.load(Ordering::SeqCst),
+ Ordering::SeqCst,
+ );
+ SHOWING_NUMBER.store(false, Ordering::SeqCst);
+ reset_colors(&mut conn_out);
+ }
}
Ok(())
}
diff --git a/launchpad_sway_controler/src/sway/mod.rs b/launchpad_sway_controler/src/sway/mod.rs
@@ -1,8 +1,10 @@
use crate::reset_colors;
+use crate::utils::globals::{CURRENT_WORKSPACE, SHOWING_NUMBER};
use color_eyre::Result;
use futures_util::stream::StreamExt;
use midir::MidiOutput;
-use std::convert::{TryFrom, TryInto};
+use std::convert::TryFrom;
+use std::sync::atomic::Ordering;
use swayipc_async::{Connection, Event, EventType, WorkspaceChange};
use tracing::*;
@@ -16,11 +18,9 @@ pub async fn get_workspaces(connection: &mut Connection) -> Result<()> {
let midi_out_ports = midi_out.ports();
let out_port = midi_out_ports.get(1).unwrap();
let mut conn_out = midi_out.connect(out_port, "midir-test").unwrap();
- if let Ok(workspace) = WorkspaceLaunchpadMapping::try_from(space.num) {
+ CURRENT_WORKSPACE.store(space.num as i64, Ordering::SeqCst);
+ if !SHOWING_NUMBER.load(Ordering::SeqCst) {
reset_colors(&mut conn_out);
- conn_out
- .send(&[144, (workspace as i32).try_into().unwrap(), 28])
- .unwrap();
}
}
}
@@ -62,7 +62,7 @@ pub async fn listen_for_workspace_changes() -> Result<()> {
// subscribe to a workspace events.
let subs = [EventType::Workspace];
let mut events = Connection::new().await?.subscribe(&subs).await?;
- let midi_out = MidiOutput::new("My Test Output")?;
+ let midi_out = MidiOutput::new("My Test Output").unwrap();
let midi_out_ports = midi_out.ports();
let out_port = midi_out_ports.get(1).unwrap();
let mut conn_out = midi_out.connect(out_port, "midir-test").unwrap();
@@ -72,12 +72,10 @@ pub async fn listen_for_workspace_changes() -> Result<()> {
if w.change == WorkspaceChange::Focus {
if let Some(v) = &w.current {
if let Some(num) = v.num {
+ CURRENT_WORKSPACE.store(num as i64, Ordering::SeqCst);
// TODO make ? work
- reset_colors(&mut conn_out);
- if let Ok(workspace) = WorkspaceLaunchpadMapping::try_from(num) {
- conn_out
- .send(&[144, (workspace as i32).try_into().unwrap(), 28])
- .unwrap();
+ if !SHOWING_NUMBER.load(Ordering::SeqCst) {
+ reset_colors(&mut conn_out);
}
}
}
diff --git a/launchpad_sway_controler/src/utils/globals.rs b/launchpad_sway_controler/src/utils/globals.rs
@@ -0,0 +1,6 @@
+use std::sync::atomic::{AtomicBool, AtomicI64};
+
+pub static SHOWING_NUMBER: AtomicBool = AtomicBool::new(false);
+pub static PRESELECTED_LAYER_NUMBER: AtomicI64 = AtomicI64::new(0);
+pub static LAYER_NUMBER: AtomicI64 = AtomicI64::new(0);
+pub static CURRENT_WORKSPACE: AtomicI64 = AtomicI64::new(0);
diff --git a/launchpad_sway_controler/src/utils/mod.rs b/launchpad_sway_controler/src/utils/mod.rs
@@ -0,0 +1,30 @@
+use crate::utils::globals::SHOWING_NUMBER;
+use crate::utils::numbers::{INNER_KEYS, NUMBERS};
+use midir::MidiOutputConnection;
+use std::convert::TryInto;
+use std::sync::atomic::Ordering;
+
+pub mod globals;
+mod numbers;
+
+pub fn show_number(conn_out: &mut MidiOutputConnection, number: usize) {
+ SHOWING_NUMBER.store(true, Ordering::SeqCst);
+ conn_out.send(&[176, 0, 0]).unwrap();
+ show_array(conn_out, NUMBERS[number]);
+ conn_out.send(&[144, 24, 47]).unwrap();
+ conn_out.send(&[144, 8, 47]).unwrap();
+ conn_out.send(&[144, 40, 47]).unwrap();
+}
+
+pub fn show_array(conn_out: &mut MidiOutputConnection, array: [[bool; 8]; 8]) {
+ for (row_n, row) in array.iter().enumerate() {
+ for (column_n, column) in row.iter().enumerate() {
+ if *column {
+ let key = INNER_KEYS[row_n][column_n];
+ conn_out
+ .send(&[144, (key as i32).try_into().unwrap(), 15])
+ .unwrap();
+ }
+ }
+ }
+}
diff --git a/launchpad_sway_controler/src/utils/numbers.rs b/launchpad_sway_controler/src/utils/numbers.rs
@@ -0,0 +1,123 @@
+pub static NUMBERS: &[[[bool; 8]; 8]; 10] = &[
+ //0
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, false, true, true, true, true, false, false],
+ [false, false, true, false, false, true, false, false],
+ [false, false, true, false, false, true, false, false],
+ [false, false, true, false, false, true, false, false],
+ [false, false, true, false, false, true, false, false],
+ [false, false, true, true, true, true, false, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //1
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, false, false, false, false, true, false, false],
+ [false, false, false, false, false, true, false, false],
+ [false, false, false, false, false, true, false, false],
+ [false, false, false, false, false, true, false, false],
+ [false, false, false, false, false, true, false, false],
+ [false, false, false, false, false, true, false, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //2
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //3
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ ],
+ //4
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //5
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, false, false],
+ [false, true, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //6
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, false, false],
+ [false, true, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //7
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+ //8
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ ],
+ //9
+ [
+ [false, false, false, false, false, false, false, false],
+ [false, true, true, true, true, true, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, false, false, false, false, true, false],
+ [false, true, true, true, true, true, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, true, false],
+ [false, false, false, false, false, false, false, false],
+ ],
+];
+
+pub static INNER_KEYS: &[[i64; 8]; 8] = &[
+ [0, 1, 2, 3, 4, 5, 6, 7],
+ [16, 17, 18, 19, 20, 21, 22, 23],
+ [32, 33, 34, 35, 36, 37, 38, 39],
+ [48, 49, 50, 51, 52, 53, 54, 55],
+ [64, 65, 66, 67, 68, 69, 70, 71],
+ [80, 81, 82, 83, 84, 85, 86, 87],
+ [96, 97, 98, 99, 100, 101, 102, 103],
+ [12, 113, 114, 115, 116, 117, 118, 119],
+];
diff --git a/lsc_matrix_presets/Cargo.toml b/lsc_matrix_presets/Cargo.toml
@@ -0,0 +1,18 @@
+[package]
+name = "lsc_matrix_presets"
+version = "0.1.0"
+authors = ["MTRNord <mtrnord1@gmail.com>"]
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+matrix-sdk = {git = "https://github.com/matrix-org/matrix-rust-sdk.git", rev = "8f99180c99ccd74803565fb36098389198091ded"}
+matrix-sdk-common-macros = {git = "https://github.com/matrix-org/matrix-rust-sdk.git", rev = "8f99180c99ccd74803565fb36098389198091ded"}
+url = "2.1.1"
+async-trait = "0.1.41"
+tracing = "0.1"
+tracing-subscriber = "0.2"
+tokio = { version = "0.2", features = ["full"] }
+futures-util = "0.3.7"
+color-eyre = "0.5"
+\ No newline at end of file
diff --git a/lsc_matrix_presets/src/main.rs b/lsc_matrix_presets/src/main.rs
@@ -0,0 +1,51 @@
+use color_eyre::Result;
+use futures_util::StreamExt;
+//use std::os::unix::fs::PermissionsExt;
+use std::path::Path;
+use std::{env, fs};
+use tokio::io::{AsyncBufReadExt, BufStream};
+use tokio::net::UnixListener;
+use tracing::*;
+
+#[tokio::main]
+async fn main() -> Result<()> {
+ // Enable the logging crates
+ color_eyre::install()?;
+ if env::var("RUST_LOG").is_err() {
+ env::set_var("RUST_LOG", "INFO");
+ }
+ tracing_subscriber::fmt::init();
+
+ let socket_path = Path::new("/run/user/lsc_matrix_presets.sock");
+ if socket_path.exists() {
+ fs::remove_file(socket_path)?;
+ }
+
+ // First we create a unix socket. This is required to be a) The same as the crate name and b) to be in /run
+ let mut listener = UnixListener::bind(socket_path).unwrap();
+
+ //let mut perms = fs::metadata(socket_path)?.permissions();
+ //perms.set_mode(0o666);
+ //fs::set_permissions(socket_path, perms)?;
+ // This listens for new connections
+ while let Some(stream) = listener.next().await {
+ match stream {
+ Ok(stream) => {
+ tokio::spawn(async move {
+ println!("new client!");
+ let buffer = BufStream::new(stream);
+ let mut lines = buffer.lines();
+ while let Ok(line) = lines.next_line().await {
+ if let Some(line) = line {
+ println!("{}", line);
+ }
+ }
+ });
+ }
+ Err(e) => {
+ error!("Unix socket connection failed: {}", e);
+ }
+ }
+ }
+ Ok(())
+}