diff --git a/Cargo.lock b/Cargo.lock index 46845409..94346cd2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,207 +2,6 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "actix-codec" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8" -dependencies = [ - "bitflags 1.3.2", - "bytes", - "futures-core", - "futures-sink", - "memchr", - "pin-project-lite", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "actix-http" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92ef85799cba03f76e4f7c10f533e66d87c9a7e7055f3391f09000ad8351bc9" -dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-tls", - "actix-utils", - "ahash", - "base64", - "bitflags 2.4.1", - "brotli", - "bytes", - "bytestring", - "derive_more", - "encoding_rs", - "flate2", - "futures-core", - "h2", - "http", - "httparse", - "httpdate", - "itoa", - "language-tags", - "local-channel", - "mime", - "percent-encoding", - "pin-project-lite", - "rand", - "sha1", - "smallvec", - "tokio", - "tokio-util", - "tracing", - "zstd", -] - -[[package]] -name = "actix-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" -dependencies = [ - "quote", - "syn 2.0.41", -] - -[[package]] -name = "actix-router" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" -dependencies = [ - "bytestring", - "http", - "regex", - "serde", - "tracing", -] - -[[package]] -name = "actix-rt" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28f32d40287d3f402ae0028a9d54bef51af15c8769492826a69d28f81893151d" -dependencies = [ - "futures-core", - "tokio", -] - -[[package]] -name = "actix-server" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb13e7eef0423ea6eab0e59f6c72e7cb46d33691ad56a726b3cd07ddec2c2d4" -dependencies = [ - "actix-rt", - "actix-service", - "actix-utils", - "futures-core", - "futures-util", - "mio", - "socket2 0.5.5", - "tokio", - "tracing", -] - -[[package]] -name = "actix-service" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a" -dependencies = [ - "futures-core", - "paste", - "pin-project-lite", -] - -[[package]] -name = "actix-tls" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72616e7fbec0aa99c6f3164677fa48ff5a60036d0799c98cab894a44f3e0efc3" -dependencies = [ - "actix-rt", - "actix-service", - "actix-utils", - "futures-core", - "impl-more", - "pin-project-lite", - "rustls 0.21.10", - "rustls-webpki", - "tokio", - "tokio-rustls 0.23.4", - "tokio-util", - "tracing", - "webpki-roots", -] - -[[package]] -name = "actix-utils" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" -dependencies = [ - "local-waker", - "pin-project-lite", -] - -[[package]] -name = "actix-web" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4a5b5e29603ca8c94a77c65cf874718ceb60292c5a5c3e5f4ace041af462b9" -dependencies = [ - "actix-codec", - "actix-http", - "actix-macros", - "actix-router", - "actix-rt", - "actix-server", - "actix-service", - "actix-tls", - "actix-utils", - "actix-web-codegen", - "ahash", - "bytes", - "bytestring", - "cfg-if", - "derive_more", - "encoding_rs", - "futures-core", - "futures-util", - "itoa", - "language-tags", - "log", - "mime", - "once_cell", - "pin-project-lite", - "regex", - "serde", - "serde_json", - "serde_urlencoded", - "smallvec", - "socket2 0.5.5", - "time", - "url", -] - -[[package]] -name = "actix-web-codegen" -version = "4.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1f50ebbb30eca122b188319a4398b3f7bb4a8cdf50ecfb73bfc6a3c3ce54f5" -dependencies = [ - "actix-router", - "proc-macro2", - "quote", - "syn 2.0.41", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -218,19 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "ahash" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.2" @@ -240,21 +26,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - [[package]] name = "ammonia" version = "3.3.0" @@ -285,22 +56,19 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" -dependencies = [ - "backtrace", -] +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -342,63 +110,18 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "brotli" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - [[package]] name = "bumpalo" version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" -[[package]] -name = "bytestring" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72" -dependencies = [ - "bytes", -] - [[package]] name = "cairo-rs" version = "0.17.10" @@ -430,15 +153,14 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", ] [[package]] name = "cfg-expr" -version = "0.15.5" +version = "0.15.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" +checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a" dependencies = [ "smallvec", "target-lexicon", @@ -465,12 +187,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.4" @@ -487,34 +203,6 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" -[[package]] -name = "cpufeatures" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - [[package]] name = "darling" version = "0.20.3" @@ -536,7 +224,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -547,56 +235,52 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "deranged" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", "serde", ] [[package]] -name = "derive_more" -version = "0.99.17" +name = "either" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 1.0.109", -] +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] -name = "digest" -version = "0.10.7" +name = "encoding_rs" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ - "block-buffer", - "crypto-common", - "subtle", + "cfg-if", ] [[package]] -name = "either" -version = "1.9.0" +name = "enum-map" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" +dependencies = [ + "enum-map-derive", +] [[package]] -name = "encoding_rs" -version = "0.8.33" +name = "enum-map-derive" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ - "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.48", ] [[package]] @@ -615,12 +299,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - [[package]] name = "fastrand" version = "2.0.1" @@ -637,22 +315,6 @@ dependencies = [ "rustc_version", ] -[[package]] -name = "finl_unicode" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" - -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flume" version = "0.10.14" @@ -663,7 +325,7 @@ dependencies = [ "futures-sink", "nanorand", "pin-project", - "spin 0.9.8", + "spin", ] [[package]] @@ -714,9 +376,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -729,9 +391,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -739,15 +401,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -756,38 +418,38 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "futures-sink" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-util" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -861,16 +523,6 @@ dependencies = [ "system-deps", ] -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - [[package]] name = "getrandom" version = "0.2.11" @@ -1142,15 +794,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - [[package]] name = "html2pango" version = "0.5.0" @@ -1217,9 +860,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -1232,7 +875,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2", "tokio", "tower-service", "tracing", @@ -1254,9 +897,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1291,12 +934,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "impl-more" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206ca75c9c03ba3d4ace2460e57b189f39f43de612c2f85836e65c929701bb2d" - [[package]] name = "indexmap" version = "1.9.3" @@ -1349,29 +986,14 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" -[[package]] -name = "jobserver" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "language-tags" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" +dependencies = [ + "wasm-bindgen", +] [[package]] name = "lazy_static" @@ -1381,43 +1003,36 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "lemmy_api_common" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121a60ecb6fe2a059c6903befa931c52cd17a26e55e0eb61ffc50ff15bba15f7" +checksum = "bed97d80c606745807e7a41d2e7a54912e6dc73b17f847453717cfa1e6693b31" dependencies = [ - "actix-web", - "anyhow", - "futures", + "chrono", + "enum-map", + "getrandom", "lemmy_db_schema", "lemmy_db_views", "lemmy_db_views_actor", "lemmy_db_views_moderator", "regex", - "reqwest", "serde", "serde_with", - "tokio", "url", - "uuid", ] [[package]] name = "lemmy_db_schema" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfb3654f7907595357f3f8a7b6552baa2e142d6e922948363b806920042aa06" +checksum = "5a17c613a84befef3daadc179e2069e02848b83dfd80d7955ca825bdca92869b" dependencies = [ "async-trait", "chrono", "futures-util", - "rustls 0.21.10", "serde", "serde_with", "strum", "strum_macros", - "tokio", - "tokio-postgres", - "tokio-postgres-rustls", "tracing", "typed-builder", "url", @@ -1426,33 +1041,34 @@ dependencies = [ [[package]] name = "lemmy_db_views" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754b11430ba192caea3c1ab35cef365bdcf0900034977fa81ed6f2b9e4f935c5" +checksum = "e360aaee508cb057c6df0160b27aeb8b845a3725127b2d7e4e4c877397418539" dependencies = [ "lemmy_db_schema", "serde", "serde_with", - "typed-builder", ] [[package]] name = "lemmy_db_views_actor" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4517dfbee8ceb1a4c99837937d9088ef2916d996c9f49af2309c9e3cf984f7c" +checksum = "606962be1df35bf9214a22cea819cec181ecd4e71dfe693b92428291b69a7cd6" dependencies = [ + "chrono", "lemmy_db_schema", "serde", "serde_with", - "typed-builder", + "strum", + "strum_macros", ] [[package]] name = "lemmy_db_views_moderator" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd6e90d17d307f28c7100b8313ddcd8f204e9b5488995180b340da973ee5752" +checksum = "0e64669a695c855143be2a9d4a662d481d235d7470621793db0607f60190be80" dependencies = [ "lemmy_db_schema", "serde", @@ -1532,23 +1148,6 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" -[[package]] -name = "local-channel" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" -dependencies = [ - "futures-core", - "futures-sink", - "local-waker", -] - -[[package]] -name = "local-waker" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" - [[package]] name = "lock_api" version = "0.4.11" @@ -1614,21 +1213,11 @@ dependencies = [ "xml5ever", ] -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -1671,7 +1260,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", - "log", "wasi", "windows-sys 0.48.0", ] @@ -1730,9 +1318,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] @@ -1745,9 +1333,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "openssl" -version = "0.10.61" +version = "0.10.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b8419dc8cc6d866deb801274bba2e6f8f6108c1bb7fcc10ee5ab864931dbb45" +checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" dependencies = [ "bitflags 2.4.1", "cfg-if", @@ -1766,7 +1354,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1777,9 +1365,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.97" +version = "0.9.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3eaad34cdd97d81de97964fc7f29e2d104f483840d906ef56daa1912338460b" +checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" dependencies = [ "cc", "libc", @@ -1836,12 +1424,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - [[package]] name = "percent-encoding" version = "2.3.1" @@ -1921,7 +1503,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -1944,38 +1526,9 @@ checksum = "d15b6607fa632996eb8a17c9041cb6071cb75ac057abd45dece578723ea8c7c0" [[package]] name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "postgres-protocol" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520" -dependencies = [ - "base64", - "byteorder", - "bytes", - "fallible-iterator", - "hmac", - "md-5", - "memchr", - "rand", - "sha2", - "stringprep", -] - -[[package]] -name = "postgres-types" -version = "0.2.6" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c" -dependencies = [ - "bytes", - "fallible-iterator", - "postgres-protocol", -] +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "powerfmt" @@ -2031,18 +1584,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -2153,14 +1706,14 @@ checksum = "9340e2553c0a184a80a0bfa1dcf73c47f3d48933aa6be90724b202f9fbd24735" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" dependencies = [ "base64", "bytes", @@ -2195,35 +1748,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" -dependencies = [ - "cc", - "getrandom", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.48.0", -] - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2252,40 +1776,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" -dependencies = [ - "log", - "ring 0.16.20", - "sct", - "webpki", -] - -[[package]] -name = "rustls" -version = "0.21.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" -dependencies = [ - "log", - "ring 0.17.7", - "rustls-webpki", - "sct", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", -] - [[package]] name = "rustversion" version = "1.0.14" @@ -2300,11 +1790,11 @@ checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2313,16 +1803,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", -] - [[package]] name = "security-framework" version = "2.9.2" @@ -2348,35 +1828,35 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" dependencies = [ "itoa", "ryu", @@ -2385,9 +1865,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -2430,38 +1910,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.41", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", + "syn 2.0.48", ] [[package]] @@ -2485,16 +1934,6 @@ version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.5.5" @@ -2505,12 +1944,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -2546,17 +1979,6 @@ dependencies = [ "quote", ] -[[package]] -name = "stringprep" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" -dependencies = [ - "finl_unicode", - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "strsim" version = "0.10.0" @@ -2579,15 +2001,9 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.41", + "syn 2.0.48", ] -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - [[package]] name = "syn" version = "1.0.109" @@ -2601,9 +2017,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.41" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -2646,21 +2062,21 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "tempfile" -version = "3.8.1" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if", "fastrand", "redox_syscall", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2676,29 +2092,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] name = "time" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", "itoa", @@ -2716,9 +2132,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" dependencies = [ "time-core", ] @@ -2750,34 +2166,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot", "pin-project-lite", - "signal-hook-registry", - "socket2 0.5.5", - "tokio-macros", + "socket2", "windows-sys 0.48.0", ] -[[package]] -name = "tokio-macros" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.41", -] - [[package]] name = "tokio-native-tls" version = "0.3.1" @@ -2788,67 +2190,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-postgres" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8" -dependencies = [ - "async-trait", - "byteorder", - "bytes", - "fallible-iterator", - "futures-channel", - "futures-util", - "log", - "parking_lot", - "percent-encoding", - "phf 0.11.2", - "pin-project-lite", - "postgres-protocol", - "postgres-types", - "rand", - "socket2 0.5.5", - "tokio", - "tokio-util", - "whoami", -] - -[[package]] -name = "tokio-postgres-rustls" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5831152cb0d3f79ef5523b357319ba154795d64c7078b2daa95a803b54057f" -dependencies = [ - "futures", - "ring 0.16.20", - "rustls 0.21.10", - "tokio", - "tokio-postgres", - "tokio-rustls 0.24.1", -] - -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.9", - "tokio", - "webpki", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.10", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.10" @@ -2920,7 +2261,6 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -2934,7 +2274,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -2963,7 +2303,7 @@ checksum = "ca029746fbe0efda3298205de77bf759d7fef23ac97902641e0b49a623b0455f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] [[package]] @@ -2974,30 +2314,24 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typed-builder" -version = "0.15.2" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe83c85a85875e8c4cb9ce4a890f05b23d38cd0d47647db7895d3d2a79566d2" +checksum = "e47c0496149861b7c95198088cbf36645016b1a0734cf350c50e2a38e070f38a" dependencies = [ "typed-builder-macro", ] [[package]] name = "typed-builder-macro" -version = "0.15.2" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a3151c41d0b13e3d011f98adc24434560ef06673a155a6c7f66b9879eecce2" +checksum = "982ee4197351b5c9782847ef5ec1fdcaf50503fb19d68f9771adae314e72b492" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", ] -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - [[package]] name = "unicase" version = "2.7.0" @@ -3028,18 +2362,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - [[package]] name = "url" version = "2.5.0" @@ -3122,7 +2444,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", "wasm-bindgen-shared", ] @@ -3156,7 +2478,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.41", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3177,35 +2499,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" -dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", -] - -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - -[[package]] -name = "whoami" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - [[package]] name = "winapi" version = "0.3.9" @@ -3230,11 +2523,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] @@ -3371,9 +2664,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.28" +version = "0.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" +checksum = "8434aeec7b290e8da5c3f0d628cb0eac6cabcb31d14bb74f779a08109a5914d6" dependencies = [ "memchr", ] @@ -3398,52 +2691,3 @@ dependencies = [ "mac", "markup5ever", ] - -[[package]] -name = "zerocopy" -version = "0.7.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.41", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.9+zstd.1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/Cargo.toml b/Cargo.toml index c25571ad..e86fff63 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ relm4-components = { version = "0.6.2", features = ["web"] } reqwest = { version = "0.11", features = ["json", "blocking", "multipart"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -lemmy_api_common = "0.18" +lemmy_api_common = "0.19" markdown = "0.3" html2pango = "0.5" rand = "0.8" diff --git a/src/api/comment.rs b/src/api/comment.rs index a3eb0f0a..7a5d2328 100644 --- a/src/api/comment.rs +++ b/src/api/comment.rs @@ -6,8 +6,6 @@ use lemmy_api_common::{ lemmy_db_schema::newtypes::{CommentId, PostId}, }; -use crate::settings; - pub fn create_comment( post_id: PostId, content: String, @@ -17,7 +15,6 @@ pub fn create_comment( post_id, content, parent_id, - auth: settings::get_current_account().jwt.unwrap(), ..Default::default() }; super::post("/comment", ¶ms) @@ -25,11 +22,7 @@ pub fn create_comment( // see posts.rs for possible score parameters pub fn like_comment(comment_id: CommentId, score: i16) -> Result { - let params = CreateCommentLike { - comment_id, - score, - auth: settings::get_current_account().jwt.unwrap(), - }; + let params = CreateCommentLike { comment_id, score }; super::post("/comment/like", ¶ms) } @@ -40,7 +33,6 @@ pub fn edit_comment( let params = EditComment { content: Some(body), comment_id, - auth: settings::get_current_account().jwt.unwrap(), ..Default::default() }; super::put("/post", ¶ms) @@ -50,17 +42,12 @@ pub fn delete_comment(comment_id: CommentId) -> Result Result { - let params = SaveComment { - auth: settings::get_current_account().jwt.unwrap(), - comment_id, - save, - }; + let params = SaveComment { comment_id, save }; super::put("/comment/save", ¶ms) } @@ -68,10 +55,6 @@ pub fn report_comment( comment_id: CommentId, reason: String, ) -> Result { - let params = CreateCommentReport { - comment_id, - reason, - auth: settings::get_current_account().jwt.unwrap(), - }; + let params = CreateCommentReport { comment_id, reason }; super::post("/comment/report", ¶ms) } diff --git a/src/api/communities.rs b/src/api/communities.rs index 457902a6..74591666 100644 --- a/src/api/communities.rs +++ b/src/api/communities.rs @@ -5,7 +5,6 @@ use lemmy_api_common::{ }; use super::search; -use crate::settings; pub fn fetch_communities( page: i64, @@ -17,7 +16,6 @@ pub fn fetch_communities( type_: listing_type, sort: Some(SortType::TopMonth), page: Some(page), - auth: settings::get_current_account().jwt, ..Default::default() }; diff --git a/src/api/community.rs b/src/api/community.rs index b0de72aa..0f5432ca 100644 --- a/src/api/community.rs +++ b/src/api/community.rs @@ -6,12 +6,9 @@ use lemmy_api_common::{ lemmy_db_schema::newtypes::CommunityId, }; -use crate::settings; - pub fn get_community(id: CommunityId) -> std::result::Result { let params = GetCommunity { id: Some(id), - auth: settings::get_current_account().jwt, ..Default::default() }; @@ -25,7 +22,6 @@ pub fn follow_community( let params = FollowCommunity { community_id, follow, - auth: settings::get_current_account().jwt.unwrap(), }; super::post("/community/follow", ¶ms) } @@ -41,7 +37,6 @@ pub fn block_community( let params = BlockCommunity { community_id, block, - auth: settings::get_current_account().jwt.unwrap(), }; super::post("/community/block", ¶ms) diff --git a/src/api/instances.rs b/src/api/instances.rs index 620fdcae..6bdee3bc 100644 --- a/src/api/instances.rs +++ b/src/api/instances.rs @@ -1,19 +1,11 @@ -use crate::settings; -use lemmy_api_common::{ - lemmy_db_schema::source::instance::Instance, - site::{GetFederatedInstances, GetFederatedInstancesResponse}, -}; - -pub fn fetch_instances(query_filter: &str) -> std::result::Result, reqwest::Error> { - // TODO: Update code to use the Instance views from lemmy 0.18.0 - let params = GetFederatedInstances { - auth: settings::get_current_account().jwt, - }; +use lemmy_api_common::site::{GetFederatedInstancesResponse, InstanceWithFederationState}; +pub fn fetch_instances( + query_filter: &str, +) -> std::result::Result, reqwest::Error> { // we fetch the instances from the official instance because the instance is likely unset on first startup let instances = super::CLIENT .get("https://lemmy.ml/api/v3/federated_instances".to_owned()) - .query(¶ms) .send()? .json::()?; @@ -23,11 +15,15 @@ pub fn fetch_instances(query_filter: &str) -> std::result::Result, .linked .iter() .filter(|instance| { - instance.software == Some("lemmy".to_owned()) - && instance.domain.clone().contains(&lowercase_query_filter) + instance.instance.software == Some("lemmy".to_owned()) + && instance + .instance + .domain + .clone() + .contains(&lowercase_query_filter) }) .cloned() - .collect::>()), + .collect::>()), None => Ok(vec![]), } } diff --git a/src/api/mod.rs b/src/api/mod.rs index d276b573..19b3352b 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -1,6 +1,9 @@ use serde::{de::DeserializeOwned, Serialize}; -use crate::{config, settings::get_current_account}; +use crate::{ + config, + settings::{self, get_current_account}, +}; pub mod auth; pub mod comment; @@ -19,7 +22,7 @@ pub mod user; static API_VERSION: &str = "v3"; use relm4::once_cell::sync::Lazy; -use reqwest::blocking::Client; +use reqwest::{blocking::Client, header::HeaderMap, header::HeaderValue}; pub static CLIENT: Lazy = Lazy::new(|| { let user_agent = format!("{}/{}", config::NAME, config::VERSION); @@ -37,12 +40,31 @@ fn get_url(path: &str) -> String { format!("{}{}", get_api_url(), path) } +fn get_auth_header() -> HeaderMap { + let mut headers = HeaderMap::new(); + + if let Some(jwt) = settings::get_current_account().jwt { + let auth_string = "Bearer ".to_string() + &jwt.into_inner(); + headers.insert( + "Authorization", + HeaderValue::from_str(&auth_string).unwrap(), + ); + } + + headers +} + fn get(path: &str, params: &Params) -> Result where T: DeserializeOwned, Params: Serialize + std::fmt::Debug, { - CLIENT.get(get_url(path)).query(¶ms).send()?.json() + CLIENT + .get(get_url(path)) + .headers(get_auth_header()) + .query(¶ms) + .send()? + .json() } fn post(path: &str, params: &Params) -> Result @@ -50,7 +72,12 @@ where T: DeserializeOwned, Params: Serialize + std::fmt::Debug, { - CLIENT.post(get_url(path)).json(¶ms).send()?.json() + CLIENT + .post(get_url(path)) + .headers(get_auth_header()) + .json(¶ms) + .send()? + .json() } fn put(path: &str, params: &Params) -> Result @@ -58,5 +85,10 @@ where T: DeserializeOwned, Params: Serialize + std::fmt::Debug, { - CLIENT.put(get_url(path)).json(¶ms).send()?.json() + CLIENT + .put(get_url(path)) + .headers(get_auth_header()) + .json(¶ms) + .send()? + .json() } diff --git a/src/api/moderation.rs b/src/api/moderation.rs index e9a1a83d..e813e7d9 100644 --- a/src/api/moderation.rs +++ b/src/api/moderation.rs @@ -2,33 +2,22 @@ use lemmy_api_common::{ comment::{CommentResponse, RemoveComment}, lemmy_db_schema::newtypes::{CommentId, PostId}, post::{PostResponse, RemovePost}, - sensitive::Sensitive, }; -pub fn remove_post( - post_id: i32, - reason: String, - auth: Sensitive, -) -> Result { +pub fn remove_post(post_id: i32, reason: String) -> Result { let params = RemovePost { post_id: PostId(post_id), removed: true, reason: Some(reason), - auth, }; super::post("/post/remove", ¶ms) } -pub fn remove_comment( - comment_id: i32, - reason: String, - auth: Sensitive, -) -> Result { +pub fn remove_comment(comment_id: i32, reason: String) -> Result { let params = RemoveComment { comment_id: CommentId(comment_id), removed: true, reason: Some(reason), - auth, }; super::post("/comment/remove", ¶ms) } diff --git a/src/api/post.rs b/src/api/post.rs index 2fa6b422..7bcf659e 100644 --- a/src/api/post.rs +++ b/src/api/post.rs @@ -1,4 +1,3 @@ -use crate::settings; use itertools::Itertools; use lemmy_api_common::{ comment::{GetComments, GetCommentsResponse}, @@ -18,7 +17,6 @@ pub fn get_post(id: PostId) -> Result { let params = GetPost { id: Some(id), comment_id: None, - auth: settings::get_current_account().jwt, }; super::get("/post", ¶ms) @@ -30,7 +28,6 @@ pub fn get_comments(post_id: PostId) -> Result, reqwest::Error> sort: Some(CommentSortType::Hot), type_: Some(ListingType::All), max_depth: Some(8), - auth: settings::get_current_account().jwt, ..Default::default() }; @@ -70,7 +67,6 @@ pub fn create_post( body: Some(body), url, community_id: CommunityId(community_id), - auth: settings::get_current_account().jwt.unwrap(), ..Default::default() }; super::post("/post", ¶ms) @@ -87,7 +83,6 @@ pub fn edit_post( body: Some(body), url, post_id: PostId(post_id), - auth: settings::get_current_account().jwt.unwrap(), ..Default::default() }; super::put("/post", ¶ms) @@ -95,11 +90,7 @@ pub fn edit_post( // for score, use 1 to upvote, -1 to vote down and 0 to reset the user's voting pub fn like_post(post_id: PostId, score: i16) -> Result { - let params = CreatePostLike { - post_id, - score, - auth: settings::get_current_account().jwt.unwrap(), - }; + let params = CreatePostLike { post_id, score }; super::post("/post/like", ¶ms) } @@ -107,34 +98,25 @@ pub fn delete_post(post_id: PostId) -> Result { let params = DeletePost { post_id, deleted: true, - auth: settings::get_current_account().jwt.unwrap(), }; super::post("/post/delete", ¶ms) } pub fn save_post(post_id: PostId, save: bool) -> Result { - let params = SavePost { - auth: settings::get_current_account().jwt.unwrap(), - post_id, - save, - }; + let params = SavePost { post_id, save }; super::put("/post/save", ¶ms) } pub fn report_post(post_id: PostId, reason: String) -> Result { - let params = CreatePostReport { - post_id, - reason, - auth: settings::get_current_account().jwt.unwrap(), - }; + let params = CreatePostReport { post_id, reason }; super::post("/post/report", ¶ms) } pub fn mark_post_as_read(post_id: PostId, read: bool) -> Result { let params = MarkPostAsRead { - post_id, + post_id: Some(post_id), read, - auth: settings::get_current_account().jwt.unwrap(), + ..Default::default() }; super::post("/post/mark_as_read", ¶ms) } diff --git a/src/api/posts.rs b/src/api/posts.rs index d2f65330..b1d9d1a5 100644 --- a/src/api/posts.rs +++ b/src/api/posts.rs @@ -4,8 +4,6 @@ use lemmy_api_common::{ post::{GetPosts, GetPostsResponse}, }; -use crate::settings; - pub fn list_posts( page: i64, community_name: Option, @@ -17,7 +15,6 @@ pub fn list_posts( type_: listing_type, sort: sort_type, community_name, - auth: settings::get_current_account().jwt, ..Default::default() }; diff --git a/src/api/private_message.rs b/src/api/private_message.rs index 14466e06..863cde0a 100644 --- a/src/api/private_message.rs +++ b/src/api/private_message.rs @@ -11,7 +11,6 @@ pub fn create_private_message( recipient_id: PersonId, ) -> std::result::Result { let params = CreatePrivateMessage { - auth: crate::settings::get_current_account().jwt.unwrap(), recipient_id, content, }; @@ -23,7 +22,6 @@ pub fn edit_private_message( private_message_id: PrivateMessageId, ) -> std::result::Result { let params = EditPrivateMessage { - auth: crate::settings::get_current_account().jwt.unwrap(), private_message_id, content, }; @@ -37,7 +35,6 @@ pub fn list_private_messages( let params = GetPrivateMessages { unread_only: Some(unread_only), page: Some(page), - auth: crate::settings::get_current_account().jwt.unwrap(), ..Default::default() }; super::get("/private_message/list", ¶ms) diff --git a/src/api/search.rs b/src/api/search.rs index 2cdea0bc..34bdb600 100644 --- a/src/api/search.rs +++ b/src/api/search.rs @@ -3,8 +3,6 @@ use lemmy_api_common::{ site::{Search, SearchResponse}, }; -use crate::settings; - pub fn fetch_search( page: i64, query: String, @@ -15,7 +13,6 @@ pub fn fetch_search( sort: Some(SortType::TopMonth), page: Some(page), type_: search_type, - auth: settings::get_current_account().jwt, ..Default::default() }; diff --git a/src/api/site.rs b/src/api/site.rs index f2ab553a..b16ba2ce 100644 --- a/src/api/site.rs +++ b/src/api/site.rs @@ -1,12 +1,7 @@ -use lemmy_api_common::site::{GetSite, GetSiteResponse}; - -use crate::settings; +use lemmy_api_common::site::GetSiteResponse; pub fn fetch_site() -> std::result::Result { - let params = GetSite { - auth: settings::get_current_account().jwt, - }; - super::get("/site", ¶ms) + super::get("/site", &()) } pub fn default_site_info() -> GetSiteResponse { diff --git a/src/api/user.rs b/src/api/user.rs index 78b2374b..30b4dc1d 100644 --- a/src/api/user.rs +++ b/src/api/user.rs @@ -3,12 +3,9 @@ use lemmy_api_common::{ person::{ BlockPerson, BlockPersonResponse, GetPersonDetails, GetPersonDetailsResponse, GetPersonMentions, GetPersonMentionsResponse, GetReplies, GetRepliesResponse, - MarkAllAsRead, }, }; -use crate::settings; - pub fn get_user( id: PersonId, page: i64, @@ -17,7 +14,6 @@ pub fn get_user( let params = GetPersonDetails { page: Some(page), person_id: Some(id), - auth: settings::get_current_account().jwt, saved_only: Some(saved_only), ..Default::default() }; @@ -29,11 +25,7 @@ pub fn block_user( person_id: PersonId, block: bool, ) -> std::result::Result { - let params = BlockPerson { - person_id, - block, - auth: settings::get_current_account().jwt.unwrap(), - }; + let params = BlockPerson { person_id, block }; super::post("/user/block", ¶ms) } @@ -47,7 +39,6 @@ pub fn get_mentions( unread_only: bool, ) -> std::result::Result { let params = GetPersonMentions { - auth: settings::get_current_account().jwt.unwrap(), unread_only: Some(unread_only), page: Some(page), sort: Some(CommentSortType::New), @@ -61,7 +52,6 @@ pub fn get_replies( unread_only: bool, ) -> std::result::Result { let params = GetReplies { - auth: settings::get_current_account().jwt.unwrap(), page: Some(page), unread_only: Some(unread_only), sort: Some(CommentSortType::New), @@ -71,8 +61,5 @@ pub fn get_replies( } pub fn mark_all_as_read() -> std::result::Result { - let params = MarkAllAsRead { - auth: settings::get_current_account().jwt.unwrap(), - }; - super::post("/user/mark_all_as_read", ¶ms) + super::post("/user/mark_all_as_read", &()) } diff --git a/src/components/instances_page.rs b/src/components/instances_page.rs index e34a55ae..bc656cfb 100644 --- a/src/components/instances_page.rs +++ b/src/components/instances_page.rs @@ -1,5 +1,5 @@ use gtk::prelude::*; -use lemmy_api_common::lemmy_db_schema::source::instance::Instance; +use lemmy_api_common::site::InstanceWithFederationState; use relm4::{factory::FactoryVecDeque, prelude::*}; use crate::{api, settings}; @@ -14,7 +14,7 @@ pub struct InstancesPage { #[derive(Debug)] pub enum InstancesPageInput { FetchInstances, - DoneFetchInstances(Vec), + DoneFetchInstances(Vec), SetInstance(String), } @@ -133,7 +133,7 @@ impl SimpleComponent for InstancesPage { InstancesPageInput::DoneFetchInstances(instances) => { self.instances.guard().clear(); for instance in instances { - self.instances.guard().push_back(instance); + self.instances.guard().push_back(instance.instance); } } InstancesPageInput::SetInstance(instance_url) => { diff --git a/src/components/login_page.rs b/src/components/login_page.rs index 7636a078..1d2365dd 100644 --- a/src/components/login_page.rs +++ b/src/components/login_page.rs @@ -102,6 +102,7 @@ impl SimpleComponent for LoginPage { let mut account = settings::get_current_account(); account.jwt = Some(token); settings::update_current_account(account.clone()); + if let Ok(site) = api::site::fetch_site() { let user = site.my_user.unwrap().local_user_view.person; account.name = user.name; diff --git a/src/components/voting_row.rs b/src/components/voting_row.rs index 9ad43539..d5c72081 100644 --- a/src/components/voting_row.rs +++ b/src/components/voting_row.rs @@ -15,8 +15,6 @@ pub struct VotingStats { downvotes: i64, score: i64, own_vote: Option, - #[allow(dead_code)] - id: i32, post_id: Option, comment_id: Option, } @@ -28,7 +26,6 @@ impl VotingStats { downvotes: counts.downvotes, own_vote: my_vote, post_id: Some(counts.post_id.0), - id: counts.id, score: counts.score, comment_id: None, } @@ -40,7 +37,6 @@ impl VotingStats { downvotes: counts.downvotes, own_vote: my_vote, post_id: None, - id: counts.id, score: counts.score, comment_id: Some(counts.comment_id.0), } diff --git a/src/examples/community.json b/src/examples/community.json index 9aa9baa4..241b8021 100644 --- a/src/examples/community.json +++ b/src/examples/community.json @@ -1,218 +1 @@ -{ - "community_view": { - "community": { - "id": 8, - "name": "asklemmy", - "title": "asklemmy", - "description": "A loosely moderated place to ask open ended questions\n\nIf your post is\n\n1. Open ended \n2. Not offensive (At this point, I do not have the bandwidth to moderate partisan political discussions)\n3. **Not regarding lemmy support** ([!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) )\n4. not ad nauseam inducing (please make sure its a question that would be new to most members)\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nit’s welcome here!", - "removed": false, - "published": "2019-04-25T04:58:33.886275", - "updated": "2023-06-14T00:05:37.871496", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/asklemmy", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/UsuGsKF2fl.png", - "banner": "https://lemmy.ml/pictrs/image/XKAjSZCX2P.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "subscribed": "NotSubscribed", - "blocked": false, - "counts": { - "id": 424, - "community_id": 8, - "subscribers": 18954, - "posts": 1820, - "comments": 35171, - "published": "2019-04-25T04:58:33.886275", - "users_active_day": 913, - "users_active_week": 3241, - "users_active_month": 7600, - "users_active_half_year": 7785, - "hot_rank": 0 - } - }, - "moderators": [ - { - "community": { - "id": 8, - "name": "asklemmy", - "title": "asklemmy", - "description": "A loosely moderated place to ask open ended questions\n\nIf your post is\n\n1. Open ended \n2. Not offensive (At this point, I do not have the bandwidth to moderate partisan political discussions)\n3. **Not regarding lemmy support** ([!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) )\n4. not ad nauseam inducing (please make sure its a question that would be new to most members)\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nit’s welcome here!", - "removed": false, - "published": "2019-04-25T04:58:33.886275", - "updated": "2023-06-14T00:05:37.871496", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/asklemmy", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/UsuGsKF2fl.png", - "banner": "https://lemmy.ml/pictrs/image/XKAjSZCX2P.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "moderator": { - "id": 12911, - "name": "Cloak", - "display_name": "Evan", - "avatar": "https://lemmy.ml/pictrs/image/e659146a-e628-44a1-ba8b-6fd2fe542544.png", - "banned": false, - "published": "2020-07-05T16:11:40.290179", - "updated": "2022-02-01T02:01:10.936854", - "actor_id": "https://lemmy.ml/u/Cloak", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 394 - } - }, - { - "community": { - "id": 8, - "name": "asklemmy", - "title": "asklemmy", - "description": "A loosely moderated place to ask open ended questions\n\nIf your post is\n\n1. Open ended \n2. Not offensive (At this point, I do not have the bandwidth to moderate partisan political discussions)\n3. **Not regarding lemmy support** ([!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) )\n4. not ad nauseam inducing (please make sure its a question that would be new to most members)\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nit’s welcome here!", - "removed": false, - "published": "2019-04-25T04:58:33.886275", - "updated": "2023-06-14T00:05:37.871496", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/asklemmy", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/UsuGsKF2fl.png", - "banner": "https://lemmy.ml/pictrs/image/XKAjSZCX2P.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "moderator": { - "id": 32030, - "name": "14specks", - "display_name": "OrangeSlice", - "avatar": "https://lemmy.ml/pictrs/image/155ebbd4-38a0-4d99-8104-11be9c695cad.jpeg", - "banned": false, - "published": "2021-07-19T19:34:39.739022", - "actor_id": "https://lemmy.ml/u/14specks", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 394 - } - }, - { - "community": { - "id": 8, - "name": "asklemmy", - "title": "asklemmy", - "description": "A loosely moderated place to ask open ended questions\n\nIf your post is\n\n1. Open ended \n2. Not offensive (At this point, I do not have the bandwidth to moderate partisan political discussions)\n3. **Not regarding lemmy support** ([!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) )\n4. not ad nauseam inducing (please make sure its a question that would be new to most members)\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nit’s welcome here!", - "removed": false, - "published": "2019-04-25T04:58:33.886275", - "updated": "2023-06-14T00:05:37.871496", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/asklemmy", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/UsuGsKF2fl.png", - "banner": "https://lemmy.ml/pictrs/image/XKAjSZCX2P.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "moderator": { - "id": 32603, - "name": "mekhos", - "display_name": "mekhos", - "avatar": "https://lemmy.ml/pictrs/image/d2b98e44-3728-44a8-8b10-96d771a0f159.png", - "banned": false, - "published": "2021-07-28T10:54:22.350381", - "updated": "2022-04-14T10:03:57.643726", - "actor_id": "https://lemmy.ml/u/mekhos", - "bio": "only here for the lemmy bucks", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 394 - } - }, - { - "community": { - "id": 8, - "name": "asklemmy", - "title": "asklemmy", - "description": "A loosely moderated place to ask open ended questions\n\nIf your post is\n\n1. Open ended \n2. Not offensive (At this point, I do not have the bandwidth to moderate partisan political discussions)\n3. **Not regarding lemmy support** ([!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) )\n4. not ad nauseam inducing (please make sure its a question that would be new to most members)\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nit’s welcome here!", - "removed": false, - "published": "2019-04-25T04:58:33.886275", - "updated": "2023-06-14T00:05:37.871496", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/asklemmy", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/UsuGsKF2fl.png", - "banner": "https://lemmy.ml/pictrs/image/XKAjSZCX2P.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "moderator": { - "id": 36323, - "name": "tmpod", - "display_name": "Tmpod", - "avatar": "https://lemmy.pt/pictrs/image/gIPQUt3mxw.png", - "banned": false, - "published": "2021-09-10T19:37:20.367073", - "updated": "2022-08-04T16:23:06.747838", - "actor_id": "https://lemmy.pt/u/tmpod", - "bio": "Estudante de Engenharia Informática apaixonado pela área; algures em Portugal.\n\nAdministrador da instância lemmy.pt.\n\n---\n\nComputer Science student, passionate about the field; somewhere in Portugal.\n\nlemmy.pt instance administrator.\n\n---\n\nhttps://tmpod.dev", - "local": false, - "banner": "https://lemmy.pt/pictrs/image/iLIlqIIuaW.jpg", - "deleted": false, - "matrix_user_id": "@tmpod:matrix.org", - "admin": false, - "bot_account": false, - "instance_id": 9 - } - }, - { - "community": { - "id": 8, - "name": "asklemmy", - "title": "asklemmy", - "description": "A loosely moderated place to ask open ended questions\n\nIf your post is\n\n1. Open ended \n2. Not offensive (At this point, I do not have the bandwidth to moderate partisan political discussions)\n3. **Not regarding lemmy support** ([!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) )\n4. not ad nauseam inducing (please make sure its a question that would be new to most members)\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nit’s welcome here!", - "removed": false, - "published": "2019-04-25T04:58:33.886275", - "updated": "2023-06-14T00:05:37.871496", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/asklemmy", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/UsuGsKF2fl.png", - "banner": "https://lemmy.ml/pictrs/image/XKAjSZCX2P.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "moderator": { - "id": 687022, - "name": "hsl", - "display_name": "HSL", - "avatar": "https://wayfarershaven.eu/pictrs/image/2a0b9789-4247-49df-827b-07cbbe88c51c.jpeg", - "banned": false, - "published": "2023-06-11T10:35:20.772540", - "actor_id": "https://wayfarershaven.eu/u/hsl", - "bio": "World citizen based outside of Stockholm, Sweden.", - "local": false, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 137395 - } - } - ], - "discussion_languages": [] -} +{"community_view":{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"subscribed":"NotSubscribed","blocked":false,"counts":{"community_id":8,"subscribers":40444,"posts":4315,"comments":209976,"published":"2019-04-25T04:58:33.886275Z","users_active_day":1701,"users_active_week":6334,"users_active_month":13779,"users_active_half_year":56653}},"moderators":[{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":12911,"name":"Cloak","display_name":"Evan","avatar":"https://lemmy.ml/pictrs/image/e659146a-e628-44a1-ba8b-6fd2fe542544.png","banned":false,"published":"2020-07-05T16:11:40.290179Z","updated":"2022-02-01T02:01:10.936854Z","actor_id":"https://lemmy.ml/u/Cloak","local":true,"deleted":false,"bot_account":false,"instance_id":394}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":32603,"name":"mekhos","display_name":"mekhos","avatar":"https://lemmy.ml/pictrs/image/d2b98e44-3728-44a8-8b10-96d771a0f159.png","banned":false,"published":"2021-07-28T10:54:22.350381Z","updated":"2022-04-14T10:03:57.643726Z","actor_id":"https://lemmy.ml/u/mekhos","bio":"only here for the lemmy bucks","local":true,"deleted":false,"bot_account":false,"instance_id":394}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":36323,"name":"tmpod","display_name":"Tmpod","avatar":"https://lemmy.pt/pictrs/image/gIPQUt3mxw.png","banned":false,"published":"2021-09-10T19:37:20.367073Z","updated":"2022-08-04T16:23:06.747838Z","actor_id":"https://lemmy.pt/u/tmpod","bio":"Estudante de Engenharia Informática apaixonado pela área; algures em Portugal.\n\nAdministrador da instância lemmy.pt.\n\n---\n\nComputer Science student, passionate about the field; somewhere in Portugal.\n\nlemmy.pt instance administrator.\n\n---\n\nhttps://tmpod.dev","local":false,"banner":"https://lemmy.pt/pictrs/image/iLIlqIIuaW.jpg","deleted":false,"matrix_user_id":"@tmpod:matrix.org","bot_account":false,"instance_id":9}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":32030,"name":"14specks","display_name":"OrangeSlice","avatar":"https://lemmy.ml/pictrs/image/155ebbd4-38a0-4d99-8104-11be9c695cad.jpeg","banned":false,"published":"2021-07-19T19:34:39.739022Z","actor_id":"https://lemmy.ml/u/14specks","local":true,"deleted":false,"bot_account":false,"instance_id":394}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":340150,"name":"ada","display_name":"Ada","avatar":"https://lemmy.blahaj.zone/pictrs/image/b0c2cac2-059d-4aa1-ac08-7b78b8a2a301.jpeg","banned":false,"published":"2023-01-02T14:30:13.763098Z","updated":"2023-01-29T09:58:06.345998Z","actor_id":"https://lemmy.blahaj.zone/u/ada","bio":"Admin of lemmy.blahaj.zone\n\nI can also be found on the microblog fediverse at @ada@blahaj.zone or on matrix at @ada:chat.blahaj.zone","local":false,"banner":"https://lemmy.blahaj.zone/pictrs/image/6e12e97a-1178-40e5-a088-408937a50117.jpeg","deleted":false,"matrix_user_id":"@ada:chat.blahaj.zone","bot_account":false,"instance_id":1709}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":290295,"name":"AdaShovelace","display_name":"Ada","avatar":"https://lemmy.ml/pictrs/image/7914b6eb-2a64-4ce7-b35d-406a26902e03.jpeg","banned":false,"published":"2022-12-06T09:56:59.547044Z","updated":"2023-01-29T20:18:56.531891Z","actor_id":"https://lemmy.ml/u/AdaShovelace","bio":"This is my backup lemmy profile. My main lemmy profile is @ada@lemmy.blahaj.zone. \n\nMy main fediverse account is @ada@blahaj.zone","local":true,"banner":"https://lemmy.ml/pictrs/image/b1a64104-8656-46a0-84a5-544668bf6189.jpeg","deleted":false,"matrix_user_id":"@adamacey:matrix.org","bot_account":false,"instance_id":394}}],"discussion_languages":[]} \ No newline at end of file diff --git a/src/examples/person.json b/src/examples/person.json index af8824ab..68a25d49 100644 --- a/src/examples/person.json +++ b/src/examples/person.json @@ -1,937 +1 @@ -{ - "person_view": { - "person": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1, - "inbox_url": "https://programming.dev/user/bnyro" - }, - "counts": { - "id": 30597, - "person_id": 57561, - "post_count": 1, - "post_score": 157, - "comment_count": 10, - "comment_score": 32 - } - }, - "comments": [ - { - "comment": { - "id": 281217, - "creator_id": 57561, - "post_id": 91261, - "content": "Oh well, looks like I just misunderstood you then. No worries!", - "removed": false, - "published": "2023-06-22T11:53:30.544357", - "deleted": false, - "ap_id": "https://programming.dev/comment/281217", - "local": true, - "path": "0.203688.232877.260859.277839.281217", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 254518, - "comment_id": 281217, - "score": 1, - "upvotes": 1, - "downvotes": 0, - "published": "2023-06-22T11:53:30.544357", - "child_count": 0, - "hot_rank": 5 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 244934, - "creator_id": 57561, - "post_id": 91261, - "content": "There now are instructions how to build it using Docker in the Readme :)", - "removed": false, - "published": "2023-06-20T20:05:28.263782", - "deleted": false, - "ap_id": "https://programming.dev/comment/244934", - "local": true, - "path": "0.228971.244934", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 221493, - "comment_id": 244934, - "score": 2, - "upvotes": 2, - "downvotes": 0, - "published": "2023-06-20T20:05:28.263782", - "child_count": 1, - "hot_rank": 2 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 256831, - "creator_id": 57561, - "post_id": 91261, - "content": "Yes, likely. I have never published an app there before so it'll be kinda interesting to get it working, but I guess that'll be fine (I'll probably try it in two weeks or so).\nI'll also try to add it to Void Linux's repos once it's stable, hope we'll get accepted there too", - "removed": false, - "published": "2023-06-21T10:32:55.127470", - "deleted": false, - "ap_id": "https://programming.dev/comment/256831", - "local": true, - "path": "0.206380.256831", - "distinguished": false, - "language_id": 0 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 232326, - "comment_id": 256831, - "score": 1, - "upvotes": 1, - "downvotes": 0, - "published": "2023-06-21T10:32:55.127470", - "child_count": 1, - "hot_rank": 2 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 256787, - "creator_id": 57561, - "post_id": 91261, - "content": "Hmm, I've symlinked the gtk-4.0 folder to catppuccin, but some apps like Nautilus don't seem to get themed (not even sure if it uses libadwaita though). Some others do work.", - "removed": false, - "published": "2023-06-21T10:29:37.474107", - "deleted": false, - "ap_id": "https://programming.dev/comment/256787", - "local": true, - "path": "0.209202.213065.246390.256787", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 232287, - "comment_id": 256787, - "score": 1, - "upvotes": 1, - "downvotes": 0, - "published": "2023-06-21T10:29:37.474107", - "child_count": 1, - "hot_rank": 2 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 260859, - "creator_id": 57561, - "post_id": 91261, - "content": "As already stated out, the project is still in alpha. Apart from that, there is a screenshot in the post ...", - "removed": false, - "published": "2023-06-21T14:38:50.455100", - "deleted": false, - "ap_id": "https://programming.dev/comment/260859", - "local": true, - "path": "0.203688.232877.260859", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 236023, - "comment_id": 260859, - "score": 1, - "upvotes": 1, - "downvotes": 0, - "published": "2023-06-21T14:38:50.455100", - "child_count": 2, - "hot_rank": 2 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 213065, - "creator_id": 57561, - "post_id": 91261, - "content": "Yes, that's also the reason why the app uses gtk4 without libadwaita, I want to be able to use Catppuccin on it :)", - "removed": false, - "published": "2023-06-19T04:54:09.617058", - "deleted": false, - "ap_id": "https://programming.dev/comment/213065", - "local": true, - "path": "0.209202.213065", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 192398, - "comment_id": 213065, - "score": 2, - "upvotes": 2, - "downvotes": 0, - "published": "2023-06-19T04:54:09.617058", - "child_count": 3, - "hot_rank": 1 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 203490, - "creator_id": 57561, - "post_id": 91261, - "content": "Please keep in mind it's still at a very early stage, so if things sometimes don't work out perfectly yet, that's matter to change in the future :)", - "removed": false, - "published": "2023-06-18T19:38:48.217219", - "deleted": false, - "ap_id": "https://programming.dev/comment/203490", - "local": true, - "path": "0.203453.203490", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 183731, - "comment_id": 203490, - "score": 4, - "upvotes": 4, - "downvotes": 0, - "published": "2023-06-18T19:38:48.217219", - "child_count": 0, - "hot_rank": 1 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 203846, - "creator_id": 57561, - "post_id": 91261, - "content": "Yes, I totally agree with you!\nI didn't yet add screenshots to the README since some parts of the app are still matter to be changed in the near future. The development started actually just four days ago, so there's still room for UI improvements.\nI'll make sure to add screenshots to the README once it's more mature.", - "removed": false, - "published": "2023-06-18T19:59:26.580276", - "deleted": false, - "ap_id": "https://programming.dev/comment/203846", - "local": true, - "path": "0.203688.203846", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 184058, - "comment_id": 203846, - "score": 8, - "upvotes": 8, - "downvotes": 0, - "published": "2023-06-18T19:59:26.580276", - "child_count": 4, - "hot_rank": 1 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 205183, - "creator_id": 57561, - "post_id": 91261, - "content": "Hey, thanks for your interest!\nWhat's probably needed the most currently is someone spending some time to get all the things that require authentication done, but of course other things like adding screenshots to the README, adding CI via GitHub actions, etc would be useful too! :)", - "removed": false, - "published": "2023-06-18T20:58:21.315295", - "deleted": false, - "ap_id": "https://programming.dev/comment/205183", - "local": true, - "path": "0.203688.203846.204306.205183", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 185278, - "comment_id": 205183, - "score": 6, - "upvotes": 6, - "downvotes": 0, - "published": "2023-06-18T20:58:21.315295", - "child_count": 0, - "hot_rank": 1 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - }, - { - "comment": { - "id": 205130, - "creator_id": 57561, - "post_id": 91261, - "content": "I don't mind if someone creates a PR with some screenshots, however I would rather wait one or two weeks so that there's no need to create a newscreenshots when a new feature is added.", - "removed": false, - "published": "2023-06-18T20:55:40.995043", - "deleted": false, - "ap_id": "https://programming.dev/comment/205130", - "local": true, - "path": "0.203688.203846.204952.205130", - "distinguished": false, - "language_id": 37 - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "counts": { - "id": 185230, - "comment_id": 205130, - "score": 6, - "upvotes": 6, - "downvotes": 0, - "published": "2023-06-18T20:55:40.995043", - "child_count": 0, - "hot_rank": 1 - }, - "creator_banned_from_community": false, - "subscribed": "NotSubscribed", - "saved": false, - "creator_blocked": false - } - ], - "posts": [ - { - "post": { - "id": 91261, - "name": "Lemoa - A Gtk client for Lemmy", - "url": "https://github.com/lemmy-gtk/lemoa", - "body": "Hello everyone,\nI recently started working on a Gtk client for Lemmy written in Rust, called [Lemoa](https://github.com/lemmy-gtk/lemoa) and the awesome Relm4 crate.\n\nSo far, it supports most of the basic things that do not require a login, like viewing trending posts, browsing communities, viewing profiles, etc...\nLogin features are planned to become added within the next one or two weeks, so that Lemoa can be used as a replacement for the web UI on a desktop.\n\nScreenshot of an example community page:\n![](https://programming.dev/pictrs/image/0515ec44-c83c-4929-9ced-1d4c7645e5e9.png)\n\nId you want to feel free to already try it at \"alpha stage\" (installation instructions are in the Readme).\n\nFeedback and any kind of contributions welcome!\n\nPS: I'm sorry if that's the wrong place to post about it, I didn't know where else to.", - "creator_id": 57561, - "community_id": 3, - "removed": false, - "locked": false, - "published": "2023-06-18T19:22:51.244313", - "updated": "2023-06-18T20:02:42.852752", - "deleted": false, - "nsfw": false, - "embed_title": "GitHub - lemmy-gtk/lemoa: Native Gtk client for Lemmy", - "embed_description": "Native Gtk client for Lemmy. Contribute to lemmy-gtk/lemoa development by creating an account on GitHub.", - "thumbnail_url": "https://programming.dev/pictrs/image/61170b78-ea0f-40b1-9446-eef96184d0c7.png", - "ap_id": "https://programming.dev/post/91261", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 57561, - "name": "bnyro", - "avatar": "https://programming.dev/pictrs/image/eae629c1-36e7-4707-b1d5-b56dd4987810.png", - "banned": false, - "published": "2023-06-13T20:49:52.684593", - "actor_id": "https://programming.dev/u/bnyro", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1 - }, - "community": { - "id": 3, - "name": "programming", - "title": "Programming", - "description": "A general purpose programming community for English speakers", - "removed": false, - "published": "2023-06-06T06:54:33.621165", - "updated": "2023-06-23T03:45:17.904810", - "deleted": false, - "nsfw": false, - "actor_id": "https://programming.dev/c/programming", - "local": true, - "icon": "https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png", - "banner": "https://programming.dev/pictrs/image/d7711fb2-cb17-41cd-b06e-a6de83db25b7.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1 - }, - "creator_banned_from_community": false, - "counts": { - "id": 31854, - "post_id": 91261, - "comments": 28, - "score": 157, - "upvotes": 157, - "downvotes": 0, - "published": "2023-06-18T19:22:51.244313", - "newest_comment_time_necro": "2023-06-20T18:50:51.945264", - "newest_comment_time": "2023-06-22T11:53:30.544357", - "featured_community": false, - "featured_local": false, - "hot_rank": 3, - "hot_rank_active": 6 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 28 - } - ], - "moderates": [] -} +{"person_view":{"person":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"counts":{"person_id":6918015,"post_count":1,"comment_count":44},"is_admin":false},"comments":[{"comment":{"id":7117360,"creator_id":6918015,"post_id":10034634,"content":"You agreed to a TOS. Not reading it was your fault. I'll admit that extremely long TOSes are kind of a dark pattern, but you did agree to them.","removed":false,"published":"2024-01-06T01:59:37.881441Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6020495","local":false,"path":"0.7016312.7016615.7021817.7022162.7022604.7028229.7042352.7049923.7117360","distinguished":false,"language_id":37},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10034634,"name":"Steam no longer supports Windows 7, 8, and 8.1","url":"https://www.neowin.net/news/steam-no-longer-supports-windows-7-8-and-81/","body":"Steam no longer supports Windows 7, 8, and 8.1::Customers sticking to the good-old (and dead) Windows 7 now have one more reason to ditch the operating system: as of January 1, 2024, Steam no longer supports Windows 7, 8, and 8.1.","creator_id":969690,"community_id":92449,"removed":false,"locked":false,"published":"2024-01-02T16:00:14.314875Z","deleted":false,"nsfw":false,"embed_title":"Steam no longer supports Windows 7, 8, and 8.1","embed_description":"Customers sticking to the good-old (and dead) Windows 7 now have one more reason to ditch the operating system: as of January 1, 2024, Steam no longer supports Windows 7, 8, and 8.1.","thumbnail_url":"https://lemmy.world/pictrs/image/ff9bcf97-c2b1-4040-b484-1d8e4b936a57.jpeg","ap_id":"https://lemmy.world/post/10237528","local":false,"language_id":37,"featured_community":false,"featured_local":false},"community":{"id":92449,"name":"technology","title":"Technology","description":"This is a [most excellent](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExN3N0NmhuODNib3d3Nzg0OHU2bTFqMXAzNW42Y2JsOTVmenNsNG8ycSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/l46CDHTqbmnGZyxKo/giphy.gif) place for technology news and articles.\n \n---\n \n## Our Rules\n \n---\n \n1. Follow the [lemmy.world rules.](https://mastodon.world/about) \n2. Only tech related content.\n3. Be [excellent to each another!](https://www.youtube.com/watch?v=rph_1DODXDU)\n4. Mod approved content bots can post up to 10 articles per day.\n5. Threads asking for personal tech support may be deleted.\n6. Politics threads may be removed.\n7. No memes allowed as posts, OK to post as comments.\n8. Only approved bots from the list below, to ask if your bot can be added please contact us.\n9. Check for duplicates before posting, duplicates may be removed\n \n---\n \n## Approved Bots\n \n---\n \n- [@L4s@lemmy.world](https://lemmy.world/u/L4s) \n- [@autotldr@lemmings.world](https://lemmings.world/u/autotldr) \n- [@PipedLinkBot@feddit.rocks](https://feddit.rocks/u/PipedLinkBot) \n- [@wikibot@lemmy.world](https://lemmy.world/u/wikibot) ","removed":false,"published":"2023-06-11T02:16:17.173483Z","updated":"2023-12-22T12:58:41.476133Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/technology","local":false,"icon":"https://fry.gs/pictrs/image/c6832070-8625-4688-b9e5-5d519541e092.png","banner":"https://fry.gs/pictrs/image/1a1e9226-87cb-4499-94a7-d43b1e520e50.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7117360,"score":1,"upvotes":1,"downvotes":0,"published":"2024-01-06T01:59:37.881441Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7117193,"creator_id":6918015,"post_id":10034634,"content":"Linux gaming is *good* now.","removed":false,"published":"2024-01-06T01:49:22.641229Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6020316","local":false,"path":"0.7016312.7019082.7021936.7022875.7028388.7117193","distinguished":false,"language_id":37},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10034634,"name":"Steam no longer supports Windows 7, 8, and 8.1","url":"https://www.neowin.net/news/steam-no-longer-supports-windows-7-8-and-81/","body":"Steam no longer supports Windows 7, 8, and 8.1::Customers sticking to the good-old (and dead) Windows 7 now have one more reason to ditch the operating system: as of January 1, 2024, Steam no longer supports Windows 7, 8, and 8.1.","creator_id":969690,"community_id":92449,"removed":false,"locked":false,"published":"2024-01-02T16:00:14.314875Z","deleted":false,"nsfw":false,"embed_title":"Steam no longer supports Windows 7, 8, and 8.1","embed_description":"Customers sticking to the good-old (and dead) Windows 7 now have one more reason to ditch the operating system: as of January 1, 2024, Steam no longer supports Windows 7, 8, and 8.1.","thumbnail_url":"https://lemmy.world/pictrs/image/ff9bcf97-c2b1-4040-b484-1d8e4b936a57.jpeg","ap_id":"https://lemmy.world/post/10237528","local":false,"language_id":37,"featured_community":false,"featured_local":false},"community":{"id":92449,"name":"technology","title":"Technology","description":"This is a [most excellent](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExN3N0NmhuODNib3d3Nzg0OHU2bTFqMXAzNW42Y2JsOTVmenNsNG8ycSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/l46CDHTqbmnGZyxKo/giphy.gif) place for technology news and articles.\n \n---\n \n## Our Rules\n \n---\n \n1. Follow the [lemmy.world rules.](https://mastodon.world/about) \n2. Only tech related content.\n3. Be [excellent to each another!](https://www.youtube.com/watch?v=rph_1DODXDU)\n4. Mod approved content bots can post up to 10 articles per day.\n5. Threads asking for personal tech support may be deleted.\n6. Politics threads may be removed.\n7. No memes allowed as posts, OK to post as comments.\n8. Only approved bots from the list below, to ask if your bot can be added please contact us.\n9. Check for duplicates before posting, duplicates may be removed\n \n---\n \n## Approved Bots\n \n---\n \n- [@L4s@lemmy.world](https://lemmy.world/u/L4s) \n- [@autotldr@lemmings.world](https://lemmings.world/u/autotldr) \n- [@PipedLinkBot@feddit.rocks](https://feddit.rocks/u/PipedLinkBot) \n- [@wikibot@lemmy.world](https://lemmy.world/u/wikibot) ","removed":false,"published":"2023-06-11T02:16:17.173483Z","updated":"2023-12-22T12:58:41.476133Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/technology","local":false,"icon":"https://fry.gs/pictrs/image/c6832070-8625-4688-b9e5-5d519541e092.png","banner":"https://fry.gs/pictrs/image/1a1e9226-87cb-4499-94a7-d43b1e520e50.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7117193,"score":1,"upvotes":1,"downvotes":0,"published":"2024-01-06T01:49:22.641229Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7117187,"creator_id":6918015,"post_id":10034634,"content":"Linux?","removed":false,"published":"2024-01-06T01:48:51.143193Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6020309","local":false,"path":"0.7016312.7019082.7021936.7117187","distinguished":false,"language_id":37},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10034634,"name":"Steam no longer supports Windows 7, 8, and 8.1","url":"https://www.neowin.net/news/steam-no-longer-supports-windows-7-8-and-81/","body":"Steam no longer supports Windows 7, 8, and 8.1::Customers sticking to the good-old (and dead) Windows 7 now have one more reason to ditch the operating system: as of January 1, 2024, Steam no longer supports Windows 7, 8, and 8.1.","creator_id":969690,"community_id":92449,"removed":false,"locked":false,"published":"2024-01-02T16:00:14.314875Z","deleted":false,"nsfw":false,"embed_title":"Steam no longer supports Windows 7, 8, and 8.1","embed_description":"Customers sticking to the good-old (and dead) Windows 7 now have one more reason to ditch the operating system: as of January 1, 2024, Steam no longer supports Windows 7, 8, and 8.1.","thumbnail_url":"https://lemmy.world/pictrs/image/ff9bcf97-c2b1-4040-b484-1d8e4b936a57.jpeg","ap_id":"https://lemmy.world/post/10237528","local":false,"language_id":37,"featured_community":false,"featured_local":false},"community":{"id":92449,"name":"technology","title":"Technology","description":"This is a [most excellent](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExN3N0NmhuODNib3d3Nzg0OHU2bTFqMXAzNW42Y2JsOTVmenNsNG8ycSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/l46CDHTqbmnGZyxKo/giphy.gif) place for technology news and articles.\n \n---\n \n## Our Rules\n \n---\n \n1. Follow the [lemmy.world rules.](https://mastodon.world/about) \n2. Only tech related content.\n3. Be [excellent to each another!](https://www.youtube.com/watch?v=rph_1DODXDU)\n4. Mod approved content bots can post up to 10 articles per day.\n5. Threads asking for personal tech support may be deleted.\n6. Politics threads may be removed.\n7. No memes allowed as posts, OK to post as comments.\n8. Only approved bots from the list below, to ask if your bot can be added please contact us.\n9. Check for duplicates before posting, duplicates may be removed\n \n---\n \n## Approved Bots\n \n---\n \n- [@L4s@lemmy.world](https://lemmy.world/u/L4s) \n- [@autotldr@lemmings.world](https://lemmings.world/u/autotldr) \n- [@PipedLinkBot@feddit.rocks](https://feddit.rocks/u/PipedLinkBot) \n- [@wikibot@lemmy.world](https://lemmy.world/u/wikibot) ","removed":false,"published":"2023-06-11T02:16:17.173483Z","updated":"2023-12-22T12:58:41.476133Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/technology","local":false,"icon":"https://fry.gs/pictrs/image/c6832070-8625-4688-b9e5-5d519541e092.png","banner":"https://fry.gs/pictrs/image/1a1e9226-87cb-4499-94a7-d43b1e520e50.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7117187,"score":1,"upvotes":1,"downvotes":0,"published":"2024-01-06T01:48:51.143193Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7106909,"creator_id":6918015,"post_id":10158362,"content":"Didn't his base become angry when DeSantis did the same thing?","removed":false,"published":"2024-01-05T16:41:32.006339Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6009509","local":false,"path":"0.7106909","distinguished":false,"language_id":0},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10158362,"name":"Trump Shares Messianic Video About God Sending Him To Save World","url":"https://www.mediaite.com/trump/trump-shares-messianic-video-about-god-sending-him-to-save-world/","body":">Former President Donald Trump is now at the “go to any lengths necessary” stage of his public career to get attention. To wit? He just posted a satirical version of Paul Harvey’s famous “So God Made a Farmer” video in which HE is the subject.\n>\n>And yes, it’s just as creepy and a messianic bit of messaging that will cause many to cringe but others to fall to their knees in supplication.\n>\n>The former president shared the video on his Truth Social account and was included in a slew of “joking but not joking” and over-the-top political videos for which Trump is known.","creator_id":1089528,"community_id":95200,"removed":false,"locked":false,"published":"2024-01-05T16:28:49.932711Z","deleted":false,"nsfw":false,"embed_title":"Trump Shares Messianic Video About God Sending Him To Save World","embed_description":"Trump posted a version of Paul Harvey's famous \"So God Made a Farmer\" video in which HE is the subject. It's just as weird and messianic as you'd think.","thumbnail_url":"https://lemmy.world/pictrs/image/b429c63d-3cd9-4829-bafe-7ea6e6e74a05.jpeg","ap_id":"https://lemmy.world/post/10353126","local":false,"language_id":0,"featured_community":false,"featured_local":false},"community":{"id":95200,"name":"politics","title":"politics ","description":"Under construction. Stay tuned. \n\nWe are no longer restricted to US politics only. Political articles and discussions from around the world are welcome. \n\n**Rules:**\n1. *Post only links to articles, Title must fairly describe link contents. If your title differs from the site’s, it should only be to add context or be more descriptive. **Do not post entire articles in the body or in the comments**.*\n2. *Articles must be relevant to politics. Links must be to quality and original content. Articles should be worth reading. Clickbait, stub articles, and rehosted or stolen content are not allowed. [Check your source for Reliability and Bias here](https://adfontesmedia.com/interactive-media-bias-chart/).*\n3. *Be civil, No violations of [TOS](https://mastodon.world/about).*\n4. *No memes, trolling, or low-effort comments.*\n5. *Vote based on comment quality, not agreement. This community aims to foster discussion; please reward people for putting effort into articulating their viewpoint, even if you disagree with it.*\n6. *No hate speech, slurs, celebrating death, or abusive language. This will result in a ban. Usernames containing racist, or inappropriate slurs will be banned without warning*\n\n*That's all the rules!*\n\n**Civic Links**\n\n• [Register To Vote](https://www.rockthevote.org)\n\n• [Citizenship Resource Center](https://www.uscis.gov/citizenship)\n\n• [Congressional Awards Program](http://www.congressionalaward.org/congress/)\n\n• [Federal Government Agencies](http://www.firstgov.gov/Agencies/Federal/All_Agencies/index.shtml)\n\n• [Library of Congress Legislative Resources](https://www.loc.gov/research-centers/law-library-of-congress/researcher-resources/)\n\n• [The White House](http://www.whitehouse.gov/)\n\n• [U.S. House of Representatives](http://www.house.gov/)\n\n• [U.S. Senate](http://www.senate.gov/)\n\n**Partnered Communities:**\n\n• [News](https://lemmy.world/c/news)\n\n• [World News](https://lemmy.world/c/world)\n\n• [Business News](https://lemmy.world/c/business)\n\n• [Military News](https://lemmy.world/c/military)\n\n• [Global Politics](https://lemmy.world/c/globalpolitics)\n\n• [Moderate Politics](https://lemmy.world/c/moderate_politics)\n\n• [Progressive Politics](https://lemmy.world/c/progressivepolitics)\n\n• [UK Politics](https://lemmy.world/c/ukpolitics@lemm.ee)\n\n• [Canadian Politics](https://lemmy.world/c/canadapolitics@lemmy.ca)\n\n• [Australian Politics](https://lemmy.world/c/australianpolitics@aussie.zone)\n\n• [New Zealand Politics](https://lemmy.world/c/politics@lemmy.nz)\n\n\n\n","removed":false,"published":"2023-06-09T19:15:12.764950Z","updated":"2023-12-30T22:16:29.780045Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/politics","local":false,"hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7106909,"score":15,"upvotes":16,"downvotes":1,"published":"2024-01-05T16:41:32.006339Z","child_count":1},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7114329,"creator_id":6918015,"post_id":10127908,"content":"> Examples of third places include churches, **cafes, bars, clubs, community centres, public libraries, gyms, bookstores, makerspaces, stoops, and parks.**","removed":false,"published":"2024-01-05T23:16:54.460495Z","updated":"2024-01-05T23:17:11.096850Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6017330","local":false,"path":"0.7080077.7108775.7111380.7112720.7114329","distinguished":false,"language_id":0},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10127908,"name":"Islamic State Takes Responsibility for Deadly Bombings in Iran","url":"https://www.nytimes.com/2024/01/04/world/middleeast/us-isis-iran-general-suleimani.html","body":"The Islamic State claimed responsibility on Thursday for the bombing attack that killed 84 people in Kerman, Iran, a day before, during a memorial procession for Maj. Gen. Qassim Suleimani, according to a post on the extremist group’s official Telegram account.\n\nThe extremist group called the attack a “dual martyrdom operation,” and described how two militants approached a ceremony at the tomb of General Suleimani and detonated explosive belts strapped to their bodies “near the grave of the hypocrite leader.”\n\nThe general, a widely revered and feared Iranian military officer who was the architect of an Iranian-led and -funded alliance of Shiite groups across the Middle East, was assassinated four years ago in an American drone attack.\n\nThe Islamic State, a Sunni Muslim organization, considers its mission to kill apostate Muslims, including Shiites. Iran, a majority-Shiite country, is led by a theocratic government in which Shiite clerics are in charge.\n\n[Archive](https://archive.is/GTrAW)","creator_id":4437340,"community_id":93234,"removed":false,"locked":false,"published":"2024-01-04T22:31:28.237997Z","updated":"2024-01-04T22:32:50.527250Z","deleted":false,"nsfw":false,"embed_title":"Islamic State Takes Responsibility for Deadly Bombings in Iran","embed_description":"The group, which has struck before in Iran, has a long history of division with the country.","thumbnail_url":"https://lemmy.ca/pictrs/image/764c32b9-a35c-4c1c-9792-5af3174bbbbb.jpeg","ap_id":"https://lemmy.ca/post/12656817","local":false,"language_id":0,"featured_community":false,"featured_local":false},"community":{"id":93234,"name":"news","title":"News","description":"Welcome to the News community! \n\nRules: \n\n::: spoiler 1. Be civil\n___\nAttack the argument, not the person. No racism/sexism/bigotry. Good faith argumentation only. Trolling is uncivil and is grounds for removal and/or a community ban.\n___\n:::\n\n::: spoiler 2. All posts should contain a source (url) that is as reliable and unbiased as possible and must only contain one link. \n___\nObvious right or left wing sources will be removed at the mods discretion. We have an actively updated blocklist, which you can see here: https://lemmy.world/post/2246130 if you feel like any website is missing, contact the mods. Supporting links can be added in comments or posted seperately but not to the post body.\n___\n:::\n\n::: spoiler 3. No bots, spam or self-promotion.\n___\nOnly approved bots, which follow the guidelines for bots set by the instance, are allowed.\n___\n:::\n\n::: spoiler 4. Post titles should be the same as the article used as source.\n___\nPosts which titles don’t match the source won’t be removed, but the autoMod will notify you, and if your title misrepresents the original article, the post will be deleted. If the site changed their headline, the bot might still contact you, just ignore it, we won’t delete your post.\n___\n:::\n\n\n\n::: spoiler 5. Only recent news is allowed.\n___\nPosts must be news from the most recent 30 days.\n___\n:::\n\n::: spoiler 6. All posts must be news articles.\n___\nNo opinion pieces, Listicles, editorials or celebrity gossip is allowed. All posts will be judged on a case-by-case basis.\n___\n:::\n\n\n::: spoiler 7. No duplicate posts.\n___\nIf a source you used was already posted by someone else, the autoMod will leave a message. Please remove your post if the autoMod is correct. If the post that matches your post is very old, we refer you to rule 5.\n___\n:::\n\n\n::: spoiler 8. Misinformation is prohibited.\n___\nMisinformation / propaganda is strictly prohibited. Any comment or post containing or linking to misinformation will be removed. If you feel that your post has been removed in error, credible sources must be provided.\n___\n:::\n\n::: spoiler 9. No link shorteners.\n___\nThe auto mod will contact you if a link shortener is detected, please delete your post if they are right.\n___\n:::\n\n\n\n::: spoiler 10. Don't copy entire article in your post body\n___\nFor copyright reasons, you are not allowed to copy an entire article into your post body. This is an instance wide rule, that is strictly enforced in this community.\n:::\n","removed":false,"published":"2023-06-09T20:29:47.599964Z","updated":"2023-11-13T00:32:36.679722Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/news","local":false,"icon":"https://lemmy.world/pictrs/image/8f2046ae-5d2e-495f-b467-f7b14ccb4152.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7114329,"score":1,"upvotes":1,"downvotes":0,"published":"2024-01-05T23:16:54.460495Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7115746,"creator_id":6918015,"post_id":10161995,"content":"They just added the homophobic (or at least the CEO) Brave browser's search engine as a source and I don't know whether to feel unhappy. I'm paying a bit to Brave monthly, but then again I was paying API fees to Google too.","removed":false,"published":"2024-01-06T00:30:33.995545Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6018796","local":false,"path":"0.7115746","distinguished":false,"language_id":37},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10161995,"name":"Kagi Search releases first version of a Lemmy/Kbin search lens","url":"https://kagifeedback.org/d/2856-jan-5-2024-lemmy-search-lens-and-safari-extension-update","body":"I've been using Kagi for a while and it's nice to see them embrace the Threadiverse.","creator_id":653045,"community_id":92449,"removed":false,"locked":false,"published":"2024-01-05T18:26:54.864166Z","deleted":false,"nsfw":false,"ap_id":"https://dormi.zone/post/1047155","local":false,"language_id":37,"featured_community":false,"featured_local":false},"community":{"id":92449,"name":"technology","title":"Technology","description":"This is a [most excellent](https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExN3N0NmhuODNib3d3Nzg0OHU2bTFqMXAzNW42Y2JsOTVmenNsNG8ycSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/l46CDHTqbmnGZyxKo/giphy.gif) place for technology news and articles.\n \n---\n \n## Our Rules\n \n---\n \n1. Follow the [lemmy.world rules.](https://mastodon.world/about) \n2. Only tech related content.\n3. Be [excellent to each another!](https://www.youtube.com/watch?v=rph_1DODXDU)\n4. Mod approved content bots can post up to 10 articles per day.\n5. Threads asking for personal tech support may be deleted.\n6. Politics threads may be removed.\n7. No memes allowed as posts, OK to post as comments.\n8. Only approved bots from the list below, to ask if your bot can be added please contact us.\n9. Check for duplicates before posting, duplicates may be removed\n \n---\n \n## Approved Bots\n \n---\n \n- [@L4s@lemmy.world](https://lemmy.world/u/L4s) \n- [@autotldr@lemmings.world](https://lemmings.world/u/autotldr) \n- [@PipedLinkBot@feddit.rocks](https://feddit.rocks/u/PipedLinkBot) \n- [@wikibot@lemmy.world](https://lemmy.world/u/wikibot) ","removed":false,"published":"2023-06-11T02:16:17.173483Z","updated":"2023-12-22T12:58:41.476133Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/technology","local":false,"icon":"https://fry.gs/pictrs/image/c6832070-8625-4688-b9e5-5d519541e092.png","banner":"https://fry.gs/pictrs/image/1a1e9226-87cb-4499-94a7-d43b1e520e50.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7115746,"score":-1,"upvotes":5,"downvotes":6,"published":"2024-01-06T00:30:33.995545Z","child_count":1},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7102603,"creator_id":6918015,"post_id":10133939,"content":"I've heard before Graphene is toxic. What did they do?","removed":false,"published":"2024-01-05T12:20:17.415629Z","deleted":false,"ap_id":"https://lemmy.zip/comment/6004999","local":false,"path":"0.7096356.7102603","distinguished":false,"language_id":0},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10133939,"name":"What are some items that really aren't worth paying the expensive version for?","body":"I saw [this](https://lemmy.world/post/10314727) post and wanted to ask the opposite. What are some items that really aren't worth paying the expensive version for? Preferably more extreme or unexpected examples.","creator_id":6918015,"community_id":8,"removed":false,"locked":false,"published":"2024-01-05T01:31:15.817052Z","deleted":false,"nsfw":false,"ap_id":"https://lemmy.zip/post/7918663","local":false,"language_id":0,"featured_community":false,"featured_local":false},"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"counts":{"comment_id":7102603,"score":8,"upvotes":8,"downvotes":0,"published":"2024-01-05T12:20:17.415629Z","child_count":6},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7082531,"creator_id":6918015,"post_id":10127423,"content":"It's requiring her to list what her deadname is, which is a far cry from using her deadname.","removed":false,"published":"2024-01-05T01:42:06.594399Z","deleted":false,"ap_id":"https://lemmy.zip/comment/5984426","local":false,"path":"0.7077036.7077128.7077673.7080262.7080714.7081118.7082531","distinguished":false,"language_id":0},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10127423,"name":"Transgender woman is disqualified from Ohio House race for not using her former name","url":"https://www.nbcnews.com/nbc-out/out-politics-and-policy/transgender-woman-disqualified-ohio-house-race-not-using-former-name-rcna132325","creator_id":1172797,"community_id":93234,"removed":false,"locked":false,"published":"2024-01-04T22:19:15.572924Z","deleted":false,"nsfw":false,"embed_title":"Transgender woman is disqualified from Ohio House race for not using her former name","embed_description":"Vanessa Joy was ruled ineligible under a state law that requires prospective candidates to put their former names on their candidate petitions.","thumbnail_url":"https://lemmy.world/pictrs/image/b35a9a84-3639-4eb7-97c5-117e791c3a40.jpeg","ap_id":"https://lemmy.world/post/10324760","local":false,"language_id":0,"featured_community":false,"featured_local":false},"community":{"id":93234,"name":"news","title":"News","description":"Welcome to the News community! \n\nRules: \n\n::: spoiler 1. Be civil\n___\nAttack the argument, not the person. No racism/sexism/bigotry. Good faith argumentation only. Trolling is uncivil and is grounds for removal and/or a community ban.\n___\n:::\n\n::: spoiler 2. All posts should contain a source (url) that is as reliable and unbiased as possible and must only contain one link. \n___\nObvious right or left wing sources will be removed at the mods discretion. We have an actively updated blocklist, which you can see here: https://lemmy.world/post/2246130 if you feel like any website is missing, contact the mods. Supporting links can be added in comments or posted seperately but not to the post body.\n___\n:::\n\n::: spoiler 3. No bots, spam or self-promotion.\n___\nOnly approved bots, which follow the guidelines for bots set by the instance, are allowed.\n___\n:::\n\n::: spoiler 4. Post titles should be the same as the article used as source.\n___\nPosts which titles don’t match the source won’t be removed, but the autoMod will notify you, and if your title misrepresents the original article, the post will be deleted. If the site changed their headline, the bot might still contact you, just ignore it, we won’t delete your post.\n___\n:::\n\n\n\n::: spoiler 5. Only recent news is allowed.\n___\nPosts must be news from the most recent 30 days.\n___\n:::\n\n::: spoiler 6. All posts must be news articles.\n___\nNo opinion pieces, Listicles, editorials or celebrity gossip is allowed. All posts will be judged on a case-by-case basis.\n___\n:::\n\n\n::: spoiler 7. No duplicate posts.\n___\nIf a source you used was already posted by someone else, the autoMod will leave a message. Please remove your post if the autoMod is correct. If the post that matches your post is very old, we refer you to rule 5.\n___\n:::\n\n\n::: spoiler 8. Misinformation is prohibited.\n___\nMisinformation / propaganda is strictly prohibited. Any comment or post containing or linking to misinformation will be removed. If you feel that your post has been removed in error, credible sources must be provided.\n___\n:::\n\n::: spoiler 9. No link shorteners.\n___\nThe auto mod will contact you if a link shortener is detected, please delete your post if they are right.\n___\n:::\n\n\n\n::: spoiler 10. Don't copy entire article in your post body\n___\nFor copyright reasons, you are not allowed to copy an entire article into your post body. This is an instance wide rule, that is strictly enforced in this community.\n:::\n","removed":false,"published":"2023-06-09T20:29:47.599964Z","updated":"2023-11-13T00:32:36.679722Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.world/c/news","local":false,"icon":"https://lemmy.world/pictrs/image/8f2046ae-5d2e-495f-b467-f7b14ccb4152.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":136816},"counts":{"comment_id":7082531,"score":19,"upvotes":22,"downvotes":3,"published":"2024-01-05T01:42:06.594399Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7082227,"creator_id":6918015,"post_id":10123894,"content":"The post mentioned this, and argues that a super a key is basically just a windows key","removed":false,"published":"2024-01-05T01:33:20.294966Z","deleted":false,"ap_id":"https://lemmy.zip/comment/5984128","local":false,"path":"0.7076225.7077633.7080696.7082227","distinguished":false,"language_id":0},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10123894,"name":"Microsoft says a Copilot key is coming to keyboards on Windows PCs starting this month","url":"https://www.cnbc.com/2024/01/04/microsoft-says-a-copilot-key-is-coming-soon-to-windows-pc-keyboards.html","creator_id":443631,"community_id":14701,"removed":false,"locked":false,"published":"2024-01-04T20:45:50.151625Z","deleted":false,"nsfw":false,"embed_title":"Microsoft says a Copilot key is coming to keyboards on Windows PCs starting this month","embed_description":"Microsoft sees 2024 as the year of the artificial intelligence personal computer. A new key on Surface PCs and other devices might help.","thumbnail_url":"https://lemmy.ml/pictrs/image/5f352aff-27ec-4706-a63a-7ac467461ef9.jpeg","ap_id":"https://lemmy.ml/post/10123894","local":true,"language_id":0,"featured_community":false,"featured_local":false},"community":{"id":14701,"name":"linux","title":"Linux","description":"From Wikipedia, the free encyclopedia\n\nLinux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n\nDistributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word \"Linux\" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n\n\n### Rules\n* Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n* No misinformation\n* No NSFW content\n* No hate speech, bigotry, etc \n\n### Related Communities\n* [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n* [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture) \n* [!technology@lemmy.ml](https://lemmy.ml/c/technology) \n* [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware) \n\nCommunity icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)","removed":false,"published":"2019-06-01T15:07:36.179766Z","updated":"2022-06-18T17:36:20.924834Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/linux","local":true,"icon":"https://lemmy.ml/pictrs/image/q98XK4sKtw.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"counts":{"comment_id":7082227,"score":4,"upvotes":4,"downvotes":0,"published":"2024-01-05T01:33:20.294966Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false},{"comment":{"id":7068107,"creator_id":6918015,"post_id":10086356,"content":"??? Conflating Jews with Israel isn't anti-semetic?","removed":false,"published":"2024-01-04T15:18:33.202537Z","deleted":false,"ap_id":"https://lemmy.zip/comment/5969397","local":false,"path":"0.7053086.7053121.7060482.7060484.7061085.7068107","distinguished":false,"language_id":0},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"post":{"id":10086356,"name":"waterule","url":"https://lemmy.blahaj.zone/pictrs/image/2e3fd1da-8a34-40a1-8097-3d5f726ff223.jpeg","creator_id":1853265,"community_id":89739,"removed":false,"locked":false,"published":"2024-01-03T22:32:32.082695Z","deleted":false,"nsfw":false,"thumbnail_url":"https://lemmy.blahaj.zone/pictrs/image/5268df8a-b758-4eb8-b2a9-74040ca321ac.jpeg","ap_id":"https://lemmy.blahaj.zone/post/7185151","local":false,"language_id":0,"featured_community":false,"featured_local":false},"community":{"id":89739,"name":"196","title":"196","description":"Be sure to follow the rule before you head out. \n\nRule: You must post before you leave.","removed":false,"published":"2023-06-11T15:16:24.408540Z","updated":"2023-06-30T02:31:55.661064Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.blahaj.zone/c/196","local":false,"icon":"https://lemmy.blahaj.zone/pictrs/image/fwrQkf9edg.png","banner":"https://lemmy.blahaj.zone/pictrs/image/zD2rqIgqTY.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":1709},"counts":{"comment_id":7068107,"score":5,"upvotes":5,"downvotes":0,"published":"2024-01-04T15:18:33.202537Z","child_count":0},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"subscribed":"NotSubscribed","saved":false,"creator_blocked":false}],"posts":[{"post":{"id":10133939,"name":"What are some items that really aren't worth paying the expensive version for?","body":"I saw [this](https://lemmy.world/post/10314727) post and wanted to ask the opposite. What are some items that really aren't worth paying the expensive version for? Preferably more extreme or unexpected examples.","creator_id":6918015,"community_id":8,"removed":false,"locked":false,"published":"2024-01-05T01:31:15.817052Z","deleted":false,"nsfw":false,"ap_id":"https://lemmy.zip/post/7918663","local":false,"language_id":0,"featured_community":false,"featured_local":false},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"counts":{"post_id":10133939,"comments":416,"score":268,"upvotes":271,"downvotes":3,"published":"2024-01-05T01:31:15.817052Z"},"subscribed":"NotSubscribed","saved":false,"read":false,"creator_blocked":false,"unread_comments":416}],"moderates":[]} \ No newline at end of file diff --git a/src/examples/post.json b/src/examples/post.json index 4eda5bf2..61360c65 100644 --- a/src/examples/post.json +++ b/src/examples/post.json @@ -1,854 +1 @@ -{ - "post_view": { - "post": { - "id": 1465740, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "## What is Lemmy?\n\nLemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n\n## Major Changes\n\n### HTTP API instead of Websocket\n\nUntil now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n\nHTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n\n### Two-Factor Authentication\n\nNew support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\nhttps://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n\n### Custom Emojis\n\nInstance admins can add different images as emojis which can be referenced by users when posting.\n\n### Other changes\n\n#### Progressive Web App\n\nLemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n\n**Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n\n#### Error Pages\n\nLemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n\n#### Route Changes\n\nPages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n\n```\nhttps://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n```\n\nThe new route would look like this:\n\n```\nhttps://lemmy.ml?listingType=All\n```\nNote that you now only have to specify parameters you want instead of all of them.\n\n#### Searchable select redesign\nThe searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n\n#### Share button\n\nPosts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n\n#### Lemmy-UI Overall look and feel\n\nlemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n\nSpecial thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n\n#### Database optimizations\n\nSpecial thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n\nQuery speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n\n#### Captchas\n\nCaptchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n\n## Upgrade instructions\n\nFollow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n\nIf you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n\n## Support development\n\nWe (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n\nIf you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n", - "creator_id": 34, - "community_id": 2, - "removed": false, - "locked": false, - "published": "2023-06-23T13:58:47.746304", - "updated": "2023-06-23T14:01:35.997494", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.ml/post/1465740", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": true - }, - "creator": { - "id": 34, - "name": "dessalines", - "display_name": "Dessalines", - "avatar": "https://lemmy.ml/pictrs/image/fac94410-decc-4d55-be6d-648a3bd67aa9.webp", - "banned": false, - "published": "2019-04-17T23:34:40.912940", - "updated": "2022-09-15T13:41:47.087316", - "actor_id": "https://lemmy.ml/u/dessalines", - "local": true, - "banner": "https://lemmy.ml/pictrs/image/d69b9c2a-c1db-4483-ba34-349561a290b5.jpeg", - "deleted": false, - "matrix_user_id": "@happydooby:matrix.org", - "admin": true, - "bot_account": false, - "instance_id": 394 - }, - "community": { - "id": 2, - "name": "announcements", - "title": "Announcements", - "description": "Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.\n\nYou can also find major news on [join-lemmy.org](https://join-lemmy.org/news)", - "removed": false, - "published": "2019-06-02T16:43:50.799554", - "updated": "2023-06-20T09:04:28.814065", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/announcements", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/waqyZwLAy4.webp", - "hidden": false, - "posting_restricted_to_mods": true, - "instance_id": 394 - }, - "creator_banned_from_community": false, - "counts": { - "id": 230246, - "post_id": 1465740, - "comments": 109, - "score": 606, - "upvotes": 608, - "downvotes": 2, - "published": "2023-06-23T13:58:47.746304", - "newest_comment_time_necro": "2023-06-24T10:08:48.214496", - "newest_comment_time": "2023-06-24T10:08:48.214496", - "featured_community": false, - "featured_local": true, - "hot_rank": 101, - "hot_rank_active": 5604 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 109 - }, - "community_view": { - "community": { - "id": 2, - "name": "announcements", - "title": "Announcements", - "description": "Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.\n\nYou can also find major news on [join-lemmy.org](https://join-lemmy.org/news)", - "removed": false, - "published": "2019-06-02T16:43:50.799554", - "updated": "2023-06-20T09:04:28.814065", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/announcements", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/waqyZwLAy4.webp", - "hidden": false, - "posting_restricted_to_mods": true, - "instance_id": 394 - }, - "subscribed": "NotSubscribed", - "blocked": false, - "counts": { - "id": 1297, - "community_id": 2, - "subscribers": 19984, - "posts": 375, - "comments": 3207, - "published": "2019-06-02T16:43:50.799554", - "users_active_day": 73, - "users_active_week": 99, - "users_active_month": 124, - "users_active_half_year": 179, - "hot_rank": 0 - } - }, - "moderators": [ - { - "community": { - "id": 2, - "name": "announcements", - "title": "Announcements", - "description": "Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.\n\nYou can also find major news on [join-lemmy.org](https://join-lemmy.org/news)", - "removed": false, - "published": "2019-06-02T16:43:50.799554", - "updated": "2023-06-20T09:04:28.814065", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/announcements", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/waqyZwLAy4.webp", - "hidden": false, - "posting_restricted_to_mods": true, - "instance_id": 394 - }, - "moderator": { - "id": 34, - "name": "dessalines", - "display_name": "Dessalines", - "avatar": "https://lemmy.ml/pictrs/image/fac94410-decc-4d55-be6d-648a3bd67aa9.webp", - "banned": false, - "published": "2019-04-17T23:34:40.912940", - "updated": "2022-09-15T13:41:47.087316", - "actor_id": "https://lemmy.ml/u/dessalines", - "local": true, - "banner": "https://lemmy.ml/pictrs/image/d69b9c2a-c1db-4483-ba34-349561a290b5.jpeg", - "deleted": false, - "matrix_user_id": "@happydooby:matrix.org", - "admin": true, - "bot_account": false, - "instance_id": 394 - } - }, - { - "community": { - "id": 2, - "name": "announcements", - "title": "Announcements", - "description": "Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.\n\nYou can also find major news on [join-lemmy.org](https://join-lemmy.org/news)", - "removed": false, - "published": "2019-06-02T16:43:50.799554", - "updated": "2023-06-20T09:04:28.814065", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/announcements", - "local": true, - "icon": "https://lemmy.ml/pictrs/image/waqyZwLAy4.webp", - "hidden": false, - "posting_restricted_to_mods": true, - "instance_id": 394 - }, - "moderator": { - "id": 8169, - "name": "nutomic", - "avatar": "https://lemmy.ml/pictrs/image/24716431-8f92-417a-8492-06d5d3fe9fab.jpeg", - "banned": false, - "published": "2020-01-17T01:38:22.348392", - "updated": "2022-09-14T09:59:20.428102", - "actor_id": "https://lemmy.ml/u/nutomic", - "bio": "Lemmy maintainer. Like programming in Rust.\n\nAlso posting at https://fedibb.ml/view_profile?u=2", - "local": true, - "deleted": false, - "admin": true, - "bot_account": false, - "instance_id": 394 - } - } - ], - "cross_posts": [ - { - "post": { - "id": 1469537, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "cross-posted from: https://lemmy.ml/post/1465740\n\n> ## What is Lemmy?\n> \n> Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n> \n> ## Major Changes\n> \n> ### HTTP API instead of Websocket\n> \n> Until now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n> \n> HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n> \n> ### Two-Factor Authentication\n> \n> New support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\n> https://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n> \n> ### Custom Emojis\n> \n> Instance admins can add different images as emojis which can be referenced by users when posting.\n> \n> ### Other changes\n> \n> #### Progressive Web App\n> \n> Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n> \n> **Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n> \n> #### Error Pages\n> \n> Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n> \n> #### Route Changes\n> \n> Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n> \n> ```\n> https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n> ```\n> \n> The new route would look like this:\n> \n> ```\n> https://lemmy.ml?listingType=All\n> ```\n> Note that you now only have to specify parameters you want instead of all of them.\n> \n> #### Searchable select redesign\n> The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n> \n> #### Share button\n> \n> Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n> \n> #### Lemmy-UI Overall look and feel\n> \n> lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n> \n> Special thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n> \n> #### Database optimizations\n> \n> Special thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n> \n> Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n> \n> #### Captchas\n> \n> Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n> \n> ## Upgrade instructions\n> \n> Follow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n> \n> If you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n> \n> ## Support development\n> \n> We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n> \n> If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n> ", - "creator_id": 629726, - "community_id": 49771, - "removed": false, - "locked": false, - "published": "2023-06-23T18:07:48.846002", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://beehaw.org/post/723906", - "local": false, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 629726, - "name": "ericjmorey", - "banned": false, - "published": "2023-06-02T06:03:44.692840", - "actor_id": "https://beehaw.org/u/ericjmorey", - "local": false, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 1520 - }, - "community": { - "id": 49771, - "name": "foss", - "title": "Free and Open Source Software", - "description": "If it's free and open source and it's also software, it can be discussed here. Subcommunity of [Technology](https://beehaw.org/c/technology).\n\n---\n\nThis community's icon was made by Aaron Schneider, under the [CC-BY-NC-SA 4.0 license](https://creativecommons.org/licenses/by-nc-sa/4.0/).", - "removed": false, - "published": "2022-09-02T16:49:00.964477", - "updated": "2023-06-15T17:26:25.768075", - "deleted": false, - "nsfw": false, - "actor_id": "https://beehaw.org/c/foss", - "local": false, - "icon": "https://beehaw.org/pictrs/image/1be75b15-2f18-429d-acf7-dcea8e512a4b.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1520 - }, - "creator_banned_from_community": false, - "counts": { - "id": 231455, - "post_id": 1469537, - "comments": 11, - "score": 42, - "upvotes": 43, - "downvotes": 1, - "published": "2023-06-23T18:07:48.846002", - "newest_comment_time_necro": "2023-06-24T02:01:09.770156", - "newest_comment_time": "2023-06-24T02:01:09.770156", - "featured_community": false, - "featured_local": false, - "hot_rank": 86, - "hot_rank_active": 237 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 11 - }, - { - "post": { - "id": 1467679, - "name": "Lemmy v0.18.0 Release – tchncs has been updated", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "Crossposted from: https://lemmy.ml/post/1465740\n\n> ## What is Lemmy?\n> \n> Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n> \n> ## Major Changes\n> \n> ### HTTP API instead of Websocket\n> \n> Until now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n> \n> HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n> \n> ### Two-Factor Authentication\n> \n> New support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\n> https://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n> \n> ### Custom Emojis\n> \n> Instance admins can add different images as emojis which can be referenced by users when posting.\n> \n> ### Other changes\n> \n> #### Progressive Web App\n> \n> Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n> \n> **Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n> \n> #### Error Pages\n> \n> Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n> \n> #### Route Changes\n> \n> Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n> \n> ```\n> https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n> ```\n> \n> The new route would look like this:\n> \n> ```\n> https://lemmy.ml?listingType=All\n> ```\n> Note that you now only have to specify parameters you want instead of all of them.\n> \n> #### Searchable select redesign\n> The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n> \n> #### Share button\n> \n> Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n> \n> #### Lemmy-UI Overall look and feel\n> \n> lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n> \n> Special thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n> \n> #### Database optimizations\n> \n> Special thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n> \n> Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n> \n> #### Captchas\n> \n> Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n> \n> ## Upgrade instructions\n> \n> Follow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n> \n> If you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n> \n> ## Support development\n> \n> We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n> \n> If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n> ", - "creator_id": 628005, - "community_id": 85043, - "removed": false, - "locked": false, - "published": "2023-06-23T16:09:39.034126", - "updated": "2023-06-23T16:10:17.232240", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://discuss.tchncs.de/post/256266", - "local": false, - "language_id": 0, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 628005, - "name": "milan", - "display_name": "Milan", - "avatar": "https://discuss.tchncs.de/pictrs/image/5bea8d5d-fa3b-4f84-a2ed-9f8e390b5478.jpeg", - "banned": false, - "published": "2023-06-01T19:49:12.233431", - "actor_id": "https://discuss.tchncs.de/u/milan", - "bio": "Your friendly tchncs.de admin", - "local": false, - "banner": "https://discuss.tchncs.de/pictrs/image/cfcc25a3-72dd-434a-af5a-0f9babd6dc3b.jpeg", - "deleted": false, - "matrix_user_id": "@Milan:tchncs.de", - "admin": false, - "bot_account": false, - "instance_id": 136752 - }, - "community": { - "id": 85043, - "name": "tchncs", - "title": "..:: tchncs ::..", - "description": "Your friendly https://tchncs.de community! Discuss whats happening in the tchncs world and/or just use it as a community forum.\n\nGerman and english allowed.\n\nIf you are looking for a way to support tchncs, please check out https://tchncs.de/donate\n****", - "removed": false, - "published": "2023-06-01T19:53:14.608676", - "updated": "2023-06-02T18:08:06.962976", - "deleted": false, - "nsfw": false, - "actor_id": "https://discuss.tchncs.de/c/tchncs", - "local": false, - "icon": "https://discuss.tchncs.de/pictrs/image/cd599a51-9de5-467d-aec2-c5a090b919b6.png", - "banner": "https://discuss.tchncs.de/pictrs/image/21f3bb06-22a5-4f4f-b8d5-8b377ce49715.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 136752 - }, - "creator_banned_from_community": false, - "counts": { - "id": 230905, - "post_id": 1467679, - "comments": 16, - "score": 86, - "upvotes": 86, - "downvotes": 0, - "published": "2023-06-23T16:09:39.034126", - "newest_comment_time_necro": "2023-06-24T10:27:02.263606", - "newest_comment_time": "2023-06-24T10:27:02.263606", - "featured_community": false, - "featured_local": false, - "hot_rank": 85, - "hot_rank_active": 4973 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 16 - }, - { - "post": { - "id": 1465742, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "creator_id": 34, - "community_id": 15016, - "removed": false, - "locked": false, - "published": "2023-06-23T13:59:21.783691", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.ml/post/1465742", - "local": true, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 34, - "name": "dessalines", - "display_name": "Dessalines", - "avatar": "https://lemmy.ml/pictrs/image/fac94410-decc-4d55-be6d-648a3bd67aa9.webp", - "banned": false, - "published": "2019-04-17T23:34:40.912940", - "updated": "2022-09-15T13:41:47.087316", - "actor_id": "https://lemmy.ml/u/dessalines", - "local": true, - "banner": "https://lemmy.ml/pictrs/image/d69b9c2a-c1db-4483-ba34-349561a290b5.jpeg", - "deleted": false, - "matrix_user_id": "@happydooby:matrix.org", - "admin": true, - "bot_account": false, - "instance_id": 394 - }, - "community": { - "id": 15016, - "name": "lemmy", - "title": "Lemmy", - "description": "Everything about Lemmy; bugs, gripes, praises, and advocacy.\n\nFor discussion about the lemmy.ml instance, go to [!meta@lemmy.ml](https://lemmy.ml/c/meta).", - "removed": false, - "published": "2020-03-16T13:55:00.695055", - "updated": "2023-03-30T15:18:12.792099", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.ml/c/lemmy", - "local": true, - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 394 - }, - "creator_banned_from_community": false, - "counts": { - "id": 230248, - "post_id": 1465742, - "comments": 54, - "score": 184, - "upvotes": 184, - "downvotes": 0, - "published": "2023-06-23T13:59:21.783691", - "newest_comment_time_necro": "2023-06-24T10:28:51.811543", - "newest_comment_time": "2023-06-24T10:28:51.811543", - "featured_community": false, - "featured_local": false, - "hot_rank": 83, - "hot_rank_active": 5963 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 54 - }, - { - "post": { - "id": 1472982, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "cross-posted from: https://lemmy.ml/post/1465740\n\n> ## What is Lemmy?\n> \n> Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n> \n> ## Major Changes\n> \n> ### HTTP API instead of Websocket\n> \n> Until now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n> \n> HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n> \n> ### Two-Factor Authentication\n> \n> New support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\n> https://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n> \n> ### Custom Emojis\n> \n> Instance admins can add different images as emojis which can be referenced by users when posting.\n> \n> ### Other changes\n> \n> #### Progressive Web App\n> \n> Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n> \n> **Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n> \n> #### Error Pages\n> \n> Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n> \n> #### Route Changes\n> \n> Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n> \n> ```\n> https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n> ```\n> \n> The new route would look like this:\n> \n> ```\n> https://lemmy.ml?listingType=All\n> ```\n> Note that you now only have to specify parameters you want instead of all of them.\n> \n> #### Searchable select redesign\n> The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n> \n> #### Share button\n> \n> Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n> \n> #### Lemmy-UI Overall look and feel\n> \n> lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n> \n> Special thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n> \n> #### Database optimizations\n> \n> Special thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n> \n> Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n> \n> #### Captchas\n> \n> Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n> \n> ## Upgrade instructions\n> \n> Follow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n> \n> If you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n> \n> ## Support development\n> \n> We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n> \n> If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n> ", - "creator_id": 748787, - "community_id": 96975, - "removed": false, - "locked": false, - "published": "2023-06-23T21:48:30.093841", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.sdf.org/post/253225", - "local": false, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 748787, - "name": "randombit", - "banned": false, - "published": "2023-06-14T11:52:06.216152", - "actor_id": "https://lemmy.sdf.org/u/randombit", - "bio": "Formerly [@RandomBit@sh.itjust.works](https://sh.itjust.works/u/RandomBit)", - "local": false, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 137017 - }, - "community": { - "id": 96975, - "name": "sdfpubnix", - "title": "sdfpubnix", - "description": "A hangout for members of the SDF Public Access UNIX System", - "removed": false, - "published": "2023-06-06T20:51:57.981858", - "updated": "2023-06-06T20:59:43.091698", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.sdf.org/c/sdfpubnix", - "local": false, - "icon": "https://lemmy.sdf.org/pictrs/image/8f4b88d6-dde1-4060-bc8b-8b0e961c2085.png", - "banner": "https://lemmy.sdf.org/pictrs/image/13964425-57a8-4fb7-a300-0504c72a176f.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 137017 - }, - "creator_banned_from_community": false, - "counts": { - "id": 232088, - "post_id": 1472982, - "comments": 2, - "score": 8, - "upvotes": 8, - "downvotes": 0, - "published": "2023-06-23T21:48:30.093841", - "newest_comment_time_necro": "2023-06-24T06:36:13.218034", - "newest_comment_time": "2023-06-24T06:36:13.218034", - "featured_community": false, - "featured_local": false, - "hot_rank": 81, - "hot_rank_active": 416 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 2 - }, - { - "post": { - "id": 1469473, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "cross-posted from: https://lemmy.ml/post/1465740\n\n> ## What is Lemmy?\n> \n> Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n> \n> ## Major Changes\n> \n> ### HTTP API instead of Websocket\n> \n> Until now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n> \n> HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n> \n> ### Two-Factor Authentication\n> \n> New support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\n> https://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n> \n> ### Custom Emojis\n> \n> Instance admins can add different images as emojis which can be referenced by users when posting.\n> \n> ### Other changes\n> \n> #### Progressive Web App\n> \n> Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n> \n> **Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n> \n> #### Error Pages\n> \n> Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n> \n> #### Route Changes\n> \n> Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n> \n> ```\n> https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n> ```\n> \n> The new route would look like this:\n> \n> ```\n> https://lemmy.ml?listingType=All\n> ```\n> Note that you now only have to specify parameters you want instead of all of them.\n> \n> #### Searchable select redesign\n> The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n> \n> #### Share button\n> \n> Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n> \n> #### Lemmy-UI Overall look and feel\n> \n> lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n> \n> Special thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n> \n> #### Database optimizations\n> \n> Special thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n> \n> Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n> \n> #### Captchas\n> \n> Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n> \n> ## Upgrade instructions\n> \n> Follow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n> \n> If you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n> \n> ## Support development\n> \n> We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n> \n> If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n> ", - "creator_id": 635056, - "community_id": 87689, - "removed": false, - "locked": false, - "published": "2023-06-23T18:03:54.910272", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.world/post/477487", - "local": false, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 635056, - "name": "ericjmorey", - "banned": false, - "published": "2023-06-02T18:41:09.905246", - "actor_id": "https://lemmy.world/u/ericjmorey", - "bio": "I created a space for people to make connections and learn from each other. I call it Grok.Town and plan to start up a Lemmy instance at that domain, but for now it's a space on Matrix with a few rooms to chat and get to know one another. Check it out @ https://matrix.to/#/#groktown:matrix.org", - "local": false, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 136816 - }, - "community": { - "id": 87689, - "name": "selfhosted", - "title": "Selfhosted", - "description": "A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.\n\nResources: \n* [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n* [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n* [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n\n> Any issues on the community? Report it using the report flag.\n\n> Questions? DM the mods!", - "removed": false, - "published": "2023-06-05T11:23:43.291224", - "updated": "2023-06-12T13:21:50.819782", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.world/c/selfhosted", - "local": false, - "icon": "https://lemmy.world/pictrs/image/8286e071-7449-4413-a084-1eb5242e2cf4.png", - "banner": "https://lemmy.world/pictrs/image/9111ecb9-344c-4836-bbda-a87c27f3bdb9.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 136816 - }, - "creator_banned_from_community": false, - "counts": { - "id": 231440, - "post_id": 1469473, - "comments": 4, - "score": 19, - "upvotes": 19, - "downvotes": 0, - "published": "2023-06-23T18:03:54.910272", - "newest_comment_time_necro": "2023-06-23T21:07:31.324676", - "newest_comment_time": "2023-06-23T18:35:48.816183", - "featured_community": false, - "featured_local": false, - "hot_rank": 70, - "hot_rank_active": 97 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 4 - }, - { - "post": { - "id": 1466251, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "creator_id": 638516, - "community_id": 33582, - "removed": false, - "locked": false, - "published": "2023-06-23T14:31:26.043197", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.ml/post/1466251", - "local": true, - "language_id": 0, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 638516, - "name": "ColonelPanic", - "banned": false, - "published": "2023-06-04T14:11:18.837539", - "actor_id": "https://lemmy.ml/u/ColonelPanic", - "local": true, - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 394 - }, - "community": { - "id": 33582, - "name": "technology", - "title": "Technology", - "description": "Rumors, happenings, and innovations in the technology sphere. If it's technological news, it probably belongs here.\n\nSubcommunities on Beehaw:\n- [Free and Open Source Software](https://beehaw.org/c/foss)\n- [Programming](https://beehaw.org/c/programming)\n- [Operating Systems](https://beehaw.org/c/operating_systems)\n\n\n---\n\nThis community's icon was made by Aaron Schneider, under the [CC-BY-NC-SA 4.0 license](https://creativecommons.org/licenses/by-nc-sa/4.0/).", - "removed": false, - "published": "2022-01-28T13:11:37.712220", - "updated": "2023-06-15T16:57:12.295243", - "deleted": false, - "nsfw": false, - "actor_id": "https://beehaw.org/c/technology", - "local": false, - "icon": "https://beehaw.org/pictrs/image/c0e83ceb-b7e5-41b4-9b76-bfd152dd8d00.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1520 - }, - "creator_banned_from_community": false, - "counts": { - "id": 230412, - "post_id": 1466251, - "comments": 4, - "score": 42, - "upvotes": 42, - "downvotes": 0, - "published": "2023-06-23T14:31:26.043197", - "newest_comment_time_necro": "2023-06-23T18:23:30.945458", - "newest_comment_time": "2023-06-23T18:23:30.945458", - "featured_community": false, - "featured_local": false, - "hot_rank": 63, - "hot_rank_active": 89 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 4 - }, - { - "post": { - "id": 1467781, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "Would be great to get upgraded soon! Lots of UI improvements.", - "creator_id": 634658, - "community_id": 45703, - "removed": false, - "locked": false, - "published": "2023-06-23T16:25:00.584014", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://beehaw.org/post/722299", - "local": false, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 634658, - "name": "jay", - "display_name": "Jay", - "avatar": "https://beehaw.org/pictrs/image/c30633d1-487d-4380-95b7-272e892d8c1d.png", - "banned": false, - "published": "2023-06-03T10:42:30.670028", - "actor_id": "https://beehaw.org/u/jay", - "bio": "[@jsit@social.coop](https://social.coop/@jsit)", - "local": false, - "banner": "https://beehaw.org/pictrs/image/db248a37-508f-4ddf-a283-3a064813294d.jpeg", - "deleted": false, - "matrix_user_id": "@jsit:matrix.org", - "admin": false, - "bot_account": false, - "instance_id": 1520 - }, - "community": { - "id": 45703, - "name": "support", - "title": "Beehaw Support", - "description": "Support and meta community for Beehaw. Ask your questions about the community, technical issues, and other such things here.\n\nA brief FAQ for lurkers and new users can be found [here](https://docs.beehaw.org/docs/faq/).\n\nOur [June 2023 financial update is here](https://beehaw.org/post/428209).\n\nFor a refresher on our philosophy, see also [What is Beehaw?](https://docs.beehaw.org/docs/core-principles/what-is-beehaw/), [The spirit of the rules](https://docs.beehaw.org/docs/core-principles/the-spirit-of-beehaw/), and [Beehaw is a Community](https://docs.beehaw.org/docs/core-principles/beehaw-is-a-community/)\n\n---\n\nThis community's icon was made by Aaron Schneider, under the [CC-BY-NC-SA 4.0 license](https://creativecommons.org/licenses/by-nc-sa/4.0/).", - "removed": false, - "published": "2022-01-28T12:49:35.450320", - "updated": "2023-06-20T22:03:41.412607", - "deleted": false, - "nsfw": false, - "actor_id": "https://beehaw.org/c/support", - "local": false, - "icon": "https://beehaw.org/pictrs/image/b101eefc-9ec4-4c03-8913-78a4ebacd206.png", - "banner": "https://beehaw.org/pictrs/image/439dfc09-d740-4a9c-a03e-a41d627d342b.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 1520 - }, - "creator_banned_from_community": false, - "counts": { - "id": 230984, - "post_id": 1467781, - "comments": 12, - "score": 22, - "upvotes": 22, - "downvotes": 0, - "published": "2023-06-23T16:25:00.584014", - "newest_comment_time_necro": "2023-06-23T23:58:34.647589", - "newest_comment_time": "2023-06-23T23:58:34.647589", - "featured_community": false, - "featured_local": false, - "hot_rank": 62, - "hot_rank_active": 146 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 12 - }, - { - "post": { - "id": 1470059, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "cross-posted from: https://beehaw.org/post/723906\n\n> cross-posted from: https://lemmy.ml/post/1465740\n> \n> > ## What is Lemmy?\n> > \n> > Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n> > \n> > ## Major Changes\n> > \n> > ### HTTP API instead of Websocket\n> > \n> > Until now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n> > \n> > HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n> > \n> > ### Two-Factor Authentication\n> > \n> > New support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\n> > https://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n> > \n> > ### Custom Emojis\n> > \n> > Instance admins can add different images as emojis which can be referenced by users when posting.\n> > \n> > ### Other changes\n> > \n> > #### Progressive Web App\n> > \n> > Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n> > \n> > **Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n> > \n> > #### Error Pages\n> > \n> > Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n> > \n> > #### Route Changes\n> > \n> > Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n> > \n> > ```\n> > https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n> > ```\n> > \n> > The new route would look like this:\n> > \n> > ```\n> > https://lemmy.ml?listingType=All\n> > ```\n> > Note that you now only have to specify parameters you want instead of all of them.\n> > \n> > #### Searchable select redesign\n> > The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n> > \n> > #### Share button\n> > \n> > Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n> > \n> > #### Lemmy-UI Overall look and feel\n> > \n> > lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n> > \n> > Special thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n> > \n> > #### Database optimizations\n> > \n> > Special thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n> > \n> > Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n> > \n> > #### Captchas\n> > \n> > Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n> > \n> > ## Upgrade instructions\n> > \n> > Follow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n> > \n> > If you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n> > \n> > ## Support development\n> > \n> > We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n> > \n> > If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n> > ", - "creator_id": 724565, - "community_id": 94575, - "removed": false, - "locked": false, - "published": "2023-06-23T19:09:41.189030", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.linuxuserspace.show/post/4758", - "local": false, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 724565, - "name": "monetaryabyss", - "display_name": "Dan Simmons", - "avatar": "https://lemmy.linuxuserspace.show/pictrs/image/5bdf55d7-bf7a-41e2-acfa-04fb138e2448.png", - "banned": false, - "published": "2023-06-13T01:36:22.522336", - "actor_id": "https://lemmy.linuxuserspace.show/u/monetaryabyss", - "bio": "LUS Host", - "local": false, - "deleted": false, - "matrix_user_id": "@kc2bez:matrix.org", - "admin": false, - "bot_account": false, - "instance_id": 137704 - }, - "community": { - "id": 94575, - "name": "news", - "title": "Linux, Open Source and Tech News", - "description": "This is where all the News about all the things Linux and Linux adjacent goes.", - "removed": false, - "published": "2023-06-13T18:37:21.585477", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.linuxuserspace.show/c/news", - "local": false, - "icon": "https://lemmy.linuxuserspace.show/pictrs/image/64541d2a-1873-4648-a492-adf034b5e3e8.png", - "banner": "https://lemmy.linuxuserspace.show/pictrs/image/4fcb1175-d8f9-47e1-a849-a516d36b6549.png", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 137704 - }, - "creator_banned_from_community": false, - "counts": { - "id": 231574, - "post_id": 1470059, - "comments": 0, - "score": 1, - "upvotes": 1, - "downvotes": 0, - "published": "2023-06-23T19:09:41.189030", - "newest_comment_time_necro": "2023-06-23T19:09:41.189030", - "newest_comment_time": "2023-06-23T19:09:41.189030", - "featured_community": false, - "featured_local": false, - "hot_rank": 35, - "hot_rank_active": 35 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 0 - }, - { - "post": { - "id": 1466143, - "name": "Lemmy v0.18.0 Release", - "url": "https://join-lemmy.org/news/2023-06-23_-_Lemmy_Release_v0.18.0", - "body": "cross-posted from: https://lemmy.ml/post/1465740\n\n> ## What is Lemmy?\n> \n> Lemmy is a self-hosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.\n> \n> ## Major Changes\n> \n> ### HTTP API instead of Websocket\n> \n> Until now Lemmy-UI used websocket for all API requests. This has [many disadvantages](https://github.com/LemmyNet/lemmy/issues/2841#issuecomment-1535469357), like making the code harder to maintain, and causing live updates to the site which many users dislike. Most importantly, it requires keeping a connection open between server and client at all times, which causes increased load and makes scaling difficult. That's why we decided to rip out websocket entirely, and switch to HTTP instead. This change was made much more urgent by the sudden influx of new users. [@CannotSleep420](https://lemmygrad.ml/u/CannotSleep420) and [@dessalines](https://lemmy.ml/u/dessalines) have been working hard for the past weeks to implement this change in lemmy-ui.\n> \n> HTTP on its own is already more lightweight than websocket. Additionally it also allows for caching of server responses which can decrease load on the database. Here is an [experimental nginx config](https://github.com/LemmyNet/lemmy-ansible/pull/75) which enables response caching. Note that Lemmy doesn't send any cache-control headers yet, so there is a chance that private data gets cached and served to other users. Test carefully and use at your own risk. \n> \n> ### Two-Factor Authentication\n> \n> New support for two-factor authentication. Use an app like [andOTP](https://f-droid.org/es/packages/org.shadowice.flocke.andotp/) or [Authenticator Pro](\n> https://f-droid.org/packages/me.jmh.authenticatorpro/) to store a secret for your account. This secret needs to be entered every time you login. It ensures that an attacker can't access your account with the password alone.\n> \n> ### Custom Emojis\n> \n> Instance admins can add different images as emojis which can be referenced by users when posting.\n> \n> ### Other changes\n> \n> #### Progressive Web App\n> \n> Lemmy's web client can now be installed on browsers that support PWAs, both on desktop and mobile. It will use an instance's icon and name for the app if they are set, making it look like a given instance is an app.\n> \n> **Note for desktop Firefox users**: the desktop version of Firefox does not have built in support for PWAs. If you would like to use a Lemmy instance as a PWA, use [use this extension](https://addons.mozilla.org/en-US/firefox/addon/pwas-for-firefox/).\n> \n> #### Error Pages\n> \n> Lemmy's web client now has error pages that include resources to use if the problem persists. This should be much less jarring for users than displaying a white screen with the text \"404 *error message here*\".\n> \n> #### Route Changes\n> \n> Pages that took arguments in the route now take query parameters instead. For example, a link to lemmy.ml's home page with a few options used to look like this:\n> \n> ```\n> https://lemmy.ml/home/data_type/Post/listing_type/All/sort/Active/page/1\n> ```\n> \n> The new route would look like this:\n> \n> ```\n> https://lemmy.ml?listingType=All\n> ```\n> Note that you now only have to specify parameters you want instead of all of them.\n> \n> #### Searchable select redesign\n> The searchable selects, such as those used on the search page, have a new look and feel. No more inexplicable green selects when using the lightly themes!\n> \n> #### Share button\n> \n> Posts on the web client now have a share button on supported browsers. This can be used to share posts to other applications quickly and easily.\n> \n> #### Lemmy-UI Overall look and feel\n> \n> lemmy-ui is now upgraded to bootstrap 5, and every component is now much cleaner.\n> \n> Special thanks to [sleepless](https://github.com/SleeplessOne1917), [alectrocute](https://github.com/alectrocute), [jsit](https://github.com/jsit), and many others for their great work on improving and re-organizing lemmy-ui.\n> \n> #### Database optimizations\n> \n> Special thanks to [johanndt](https://github.com/johanndt), for suggesting improvements to Lemmy's database queries. Some of these suggestions have already been implemented, and more are on the way. \n> \n> Query speed is Lemmy's main performance bottleneck, so we really appreciate any help database experts can provide.\n> \n> #### Captchas\n> \n> Captchas are not available in this version, as they need to be reimplemented in a different way. They will be back in 0.18.1, so wait with upgrading if you rely on them.\n> \n> ## Upgrade instructions\n> \n> Follow the upgrade instructions for [ansible](https://github.com/LemmyNet/lemmy-ansible#upgrading) or [docker](https://join-lemmy.org/docs/en/administration/install_docker.html#updating).\n> \n> If you need help with the upgrade, you can ask in our [support forum](https://lemmy.ml/c/lemmy_support) or on the [Matrix Chat](https://matrix.to/#/!OwmdVYiZSXrXbtCNLw:matrix.org).\n> \n> ## Support development\n> \n> We (@dessalines and @nutomic) have been working full-time on Lemmy for almost three years. This is largely thanks to support from [NLnet foundation](https://nlnet.nl/). \n> \n> If you like using Lemmy, and want to make sure that we will always be available to work full time building it, consider [donating to support its development](https://join-lemmy.org/donate). No one likes recurring donations, but they've proven to be the only way that open-source software like Lemmy can stay independent and alive.\n> ", - "creator_id": 699011, - "community_id": 87926, - "removed": false, - "locked": false, - "published": "2023-06-23T14:27:23.790681", - "deleted": false, - "nsfw": false, - "embed_title": "News", - "ap_id": "https://lemmy.world/post/469356", - "local": false, - "language_id": 37, - "featured_community": false, - "featured_local": false - }, - "creator": { - "id": 699011, - "name": "PancitCantot", - "display_name": "Pancit Canton", - "avatar": "https://lemmy.world/pictrs/image/8a7e141f-72d9-4938-8db0-13e3da8b0f04.png", - "banned": false, - "published": "2023-06-12T05:26:03.978663", - "actor_id": "https://lemmy.world/u/PancitCantot", - "bio": "In 1991, Lucky Me! introduced the first dry stir-fry pouched noodles in the Philippine market, called Lucky Me! Pancit Canton. Lucky Me! Pancit Canton is arguably the country's most popular pouched noodles sold in the Philippine market.\n\nThis is an **unofficial** Lemmy account, so don't get fooled. ", - "local": false, - "banner": "https://lemmy.world/pictrs/image/81dae25a-0076-4993-bfc6-d740aa5fa7f2.jpeg", - "deleted": false, - "admin": false, - "bot_account": false, - "instance_id": 136816 - }, - "community": { - "id": 87926, - "name": "philippines", - "title": "Philippines", - "description": "***A community for the Philippines and all things Filipino!***\n\n![Image](https://i.imgur.com/UZES4iw.jpg)\n\n# Rules\n\n1. Follow [Code of Conduct](https://mastodon.world/about)\n2. Posts should be PH relevant\n3. No flaming or name-calling\n4. No editorialized titles\n5. Use screenshots for FB posts\n6. Censor personal information\n7. No pornography\n8. Go to [thevisoria](https://lemmy.world/c/thevisoria) for classifieds\n9. Tag spoilers\n10. Provide sources for any claims\n11. No reposts\n12. Use [Teddit](https://teddit.net/) for Reddit links\n\n# PH Fediverse\n\n* [thevisoria](https://lemmy.world/c/thevisoria)\n\n# Credits\n\n* Banner by [Jeriel Jan del Prado](https://unsplash.com/photos/0RAHb5oWwbA)\n* Daily pixel art by [adroitcell](https://www.instagram.com/adroitcell.pxl/)\n", - "removed": false, - "published": "2023-06-09T10:56:24.159941", - "updated": "2023-06-24T06:13:42.647855", - "deleted": false, - "nsfw": false, - "actor_id": "https://lemmy.world/c/philippines", - "local": false, - "icon": "https://lemmy.world/pictrs/image/064ea535-8d40-4a92-ac87-72bbed187213.png", - "banner": "https://lemmy.world/pictrs/image/cc2de825-5eab-41df-af43-e48f4134fb91.jpeg", - "hidden": false, - "posting_restricted_to_mods": false, - "instance_id": 136816 - }, - "creator_banned_from_community": false, - "counts": { - "id": 230391, - "post_id": 1466143, - "comments": 10, - "score": 3, - "upvotes": 3, - "downvotes": 0, - "published": "2023-06-23T14:27:23.790681", - "newest_comment_time_necro": "2023-06-24T07:00:44.986806", - "newest_comment_time": "2023-06-24T07:00:44.986806", - "featured_community": false, - "featured_local": false, - "hot_rank": 29, - "hot_rank_active": 353 - }, - "subscribed": "NotSubscribed", - "saved": false, - "read": false, - "creator_blocked": false, - "unread_comments": 10 - } - ] -} +{"post_view":{"post":{"id":10133939,"name":"What are some items that really aren't worth paying the expensive version for?","body":"I saw [this](https://lemmy.world/post/10314727) post and wanted to ask the opposite. What are some items that really aren't worth paying the expensive version for? Preferably more extreme or unexpected examples.","creator_id":6918015,"community_id":8,"removed":false,"locked":false,"published":"2024-01-05T01:31:15.817052Z","deleted":false,"nsfw":false,"ap_id":"https://lemmy.zip/post/7918663","local":false,"language_id":0,"featured_community":false,"featured_local":false},"creator":{"id":6918015,"name":"kzhe","display_name":"Keith","banned":false,"published":"2023-12-29T00:03:58.365542Z","actor_id":"https://lemmy.zip/u/kzhe","bio":"FOSS enthusiast, Linux user, Android enthusiast, Transformers fan (he/him)","local":false,"deleted":false,"bot_account":false,"instance_id":137292},"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"creator_banned_from_community":false,"creator_is_moderator":false,"creator_is_admin":false,"counts":{"post_id":10133939,"comments":416,"score":268,"upvotes":271,"downvotes":3,"published":"2024-01-05T01:31:15.817052Z"},"subscribed":"NotSubscribed","saved":false,"read":false,"creator_blocked":false,"unread_comments":416},"community_view":{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"subscribed":"NotSubscribed","blocked":false,"counts":{"community_id":8,"subscribers":40444,"posts":4315,"comments":209976,"published":"2019-04-25T04:58:33.886275Z","users_active_day":1701,"users_active_week":6334,"users_active_month":13779,"users_active_half_year":56653}},"moderators":[{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":12911,"name":"Cloak","display_name":"Evan","avatar":"https://lemmy.ml/pictrs/image/e659146a-e628-44a1-ba8b-6fd2fe542544.png","banned":false,"published":"2020-07-05T16:11:40.290179Z","updated":"2022-02-01T02:01:10.936854Z","actor_id":"https://lemmy.ml/u/Cloak","local":true,"deleted":false,"bot_account":false,"instance_id":394}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":32603,"name":"mekhos","display_name":"mekhos","avatar":"https://lemmy.ml/pictrs/image/d2b98e44-3728-44a8-8b10-96d771a0f159.png","banned":false,"published":"2021-07-28T10:54:22.350381Z","updated":"2022-04-14T10:03:57.643726Z","actor_id":"https://lemmy.ml/u/mekhos","bio":"only here for the lemmy bucks","local":true,"deleted":false,"bot_account":false,"instance_id":394}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":36323,"name":"tmpod","display_name":"Tmpod","avatar":"https://lemmy.pt/pictrs/image/gIPQUt3mxw.png","banned":false,"published":"2021-09-10T19:37:20.367073Z","updated":"2022-08-04T16:23:06.747838Z","actor_id":"https://lemmy.pt/u/tmpod","bio":"Estudante de Engenharia Informática apaixonado pela área; algures em Portugal.\n\nAdministrador da instância lemmy.pt.\n\n---\n\nComputer Science student, passionate about the field; somewhere in Portugal.\n\nlemmy.pt instance administrator.\n\n---\n\nhttps://tmpod.dev","local":false,"banner":"https://lemmy.pt/pictrs/image/iLIlqIIuaW.jpg","deleted":false,"matrix_user_id":"@tmpod:matrix.org","bot_account":false,"instance_id":9}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":32030,"name":"14specks","display_name":"OrangeSlice","avatar":"https://lemmy.ml/pictrs/image/155ebbd4-38a0-4d99-8104-11be9c695cad.jpeg","banned":false,"published":"2021-07-19T19:34:39.739022Z","actor_id":"https://lemmy.ml/u/14specks","local":true,"deleted":false,"bot_account":false,"instance_id":394}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":340150,"name":"ada","display_name":"Ada","avatar":"https://lemmy.blahaj.zone/pictrs/image/b0c2cac2-059d-4aa1-ac08-7b78b8a2a301.jpeg","banned":false,"published":"2023-01-02T14:30:13.763098Z","updated":"2023-01-29T09:58:06.345998Z","actor_id":"https://lemmy.blahaj.zone/u/ada","bio":"Admin of lemmy.blahaj.zone\n\nI can also be found on the microblog fediverse at @ada@blahaj.zone or on matrix at @ada:chat.blahaj.zone","local":false,"banner":"https://lemmy.blahaj.zone/pictrs/image/6e12e97a-1178-40e5-a088-408937a50117.jpeg","deleted":false,"matrix_user_id":"@ada:chat.blahaj.zone","bot_account":false,"instance_id":1709}},{"community":{"id":8,"name":"asklemmy","title":"Asklemmy","description":"A loosely moderated place to ask open-ended questions\n\n**[Search asklemmy](https://lemmy.ml/search?q=&type=Posts&listingType=All&communityId=8&page=1&sort=TopAll) 🔍**\n\nIf your post meets the following criteria, it's welcome here!\n\n1. Open-ended question\n2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.\n3. **Not regarding using or support for Lemmy**: [context](https://lemmy.ml/post/1223478), see the list of support communities and tools for finding communities below\n4. Not ad nauseam inducing: please make sure it is a question that would be new to most members\n5. [An actual topic of discussion](https://lemmy.ml/post/1239589)\n\nLooking for support? \n\n* [!lemmy_support@lemmy.ml](https://lemmy.ml/c/lemmy_support) \n* [!fediverse@lemmy.ml](https://lemmy.ml/c/fediverse) \n* [!selfhosted@lemmy.world](https://lemmy.world/c/selfhosted) \n\nLooking for a community? \n\n* [Lemmyverse](https://lemmyverse.net/communities): community search \n* [sub.rehab](https://sub.rehab/): maps old subreddits to fediverse options, marks official as such \n* [!lemmy411@lemmy.ca](https://lemmy.ca/c/lemmy411): a community for finding communities \n\n~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~","removed":false,"published":"2019-04-25T04:58:33.886275Z","updated":"2023-07-27T08:58:41.602101Z","deleted":false,"nsfw":false,"actor_id":"https://lemmy.ml/c/asklemmy","local":true,"icon":"https://lemmy.ml/pictrs/image/d3d059e3-fa3d-45af-ac93-ac894beba378.png","banner":"https://lemmy.ml/pictrs/image/36d2d6b4-9133-43eb-a980-5aa44939b904.png","hidden":false,"posting_restricted_to_mods":false,"instance_id":394},"moderator":{"id":290295,"name":"AdaShovelace","display_name":"Ada","avatar":"https://lemmy.ml/pictrs/image/7914b6eb-2a64-4ce7-b35d-406a26902e03.jpeg","banned":false,"published":"2022-12-06T09:56:59.547044Z","updated":"2023-01-29T20:18:56.531891Z","actor_id":"https://lemmy.ml/u/AdaShovelace","bio":"This is my backup lemmy profile. My main lemmy profile is @ada@lemmy.blahaj.zone. \n\nMy main fediverse account is @ada@blahaj.zone","local":true,"banner":"https://lemmy.ml/pictrs/image/b1a64104-8656-46a0-84a5-544668bf6189.jpeg","deleted":false,"matrix_user_id":"@adamacey:matrix.org","bot_account":false,"instance_id":394}}],"cross_posts":[]} \ No newline at end of file diff --git a/src/examples/site.json b/src/examples/site.json index c1cefebb..5b542c08 100644 --- a/src/examples/site.json +++ b/src/examples/site.json @@ -1,379 +1 @@ -{ - "site_view": { - "site": { - "id": 1, - "name": "programming.dev", - "sidebar": "# Welcome Programmers\n[programming.dev](https://programming.dev) is a collection of programming communities aimed at topics relevant to software engineers, hackers, hardware and software enthusiasts, script kiddies, cryptographers, researchers, roboticists, and more.\n\nTo begin with this site we will have a limited number of communities. Please visit[/c/community_request](https://programming.dev/c/community_request) to request more communities, and upvote those you see there so we can make a decision on which to choose next. \n\nThe instance is primarily english with some communities in other languages\n\n# Donations \nIf you would like to help support the server you can donate on [@snowe](https://programming.dev/u/snowe)'s [GitHub Sponsors page](https://github.com/sponsors/snowe2010/). We will be setting up a different method to donate later, but for now, we've been getting asked a ton for how to donate. \n\n# Finding Communities\n\nYou can find communities on other instances by using one of the following:\n\n- [lemmyverse](https://lemmyverse.net/)\n- [sub.rehab](https://sub.rehab/?visibleServices=lemmy)\n- [feddit](https://browse.feddit.de/)\n- [redditmigration](https://redditmigration.com/)\n\n### Notice: MAJOR BUG\n\nCurrently there is a major bug with TOTP. Please see the discord #user-help page or the matrix for more information. \n\n", - "published": "2023-06-06T06:35:12.365276", - "updated": "2023-07-29T18:02:56.713573", - "icon": "https://programming.dev/pictrs/image/1e947440-0f0d-4768-ba4b-1480551e7cc9.png", - "banner": "https://programming.dev/pictrs/image/52f986a9-7020-4442-8224-6499d5e84ed2.png", - "description": "A collection of programming communities", - "actor_id": "https://programming.dev/", - "last_refreshed_at": "2023-06-06T06:35:12.362138", - "inbox_url": "https://programming.dev/site_inbox", - "public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtNaplH0kO+ic1Fusl/oS\nTnhReaHPmafik2tsa/YM3jlp2FRjESKPsWMuedvyWQZklSATI3SI0q305vU4fSRM\ncz/r/gjhmE2tlQA9I8qMTAk1LGhutmAcGUeSWxQRmG9DVhHOW9RE/7goPF7q+o+4\nQ1N+FpIsxAeHZDYxDyJQAOdLnmuo/Y5FdueXzG6MV8iiZ0FoCYQ7q41b4PjLzCkY\npPeDaNuMqAD3eHnjLUCBKOYnAxtnAhpFbqyA0JKhWHjDTlwfdrHXQrejaPQutIy/\nYg5rCnMxq6IBefNlr68o2CkRBlmX01N7GJzuIsbRvr/Fdbe+/M/C7aTcnxJt3S4t\nzQIDAQAB\n-----END PUBLIC KEY-----\n", - "instance_id": 1 - }, - "local_site": { - "id": 1, - "site_id": 1, - "site_setup": true, - "enable_downvotes": true, - "enable_nsfw": true, - "community_creation_admin_only": true, - "require_email_verification": false, - "application_question": "to verify that you are human, please explain why you want to create an account on this site\n\nFor issues join the [discord](https://discord.com/invite/kwyxvYEYt4) or [matrix](https://matrix.to/#/#programming.dev:matrix.org)", - "private_instance": false, - "default_theme": "browser", - "default_post_listing_type": "Local", - "legal_information": "Logo is created using `Fira Code`, used under the OFL-1.1", - "hide_modlog_mod_names": true, - "application_email_admins": false, - "actor_name_max_length": 50, - "federation_enabled": true, - "captcha_enabled": false, - "captcha_difficulty": "medium", - "published": "2023-06-06T06:35:12.436871", - "updated": "2023-07-29T18:02:56.714758", - "registration_mode": "RequireApplication", - "reports_email_admins": true - }, - "local_site_rate_limit": { - "id": 1, - "local_site_id": 1, - "message": 999, - "message_per_second": 60, - "post": 999, - "post_per_second": 600, - "register": 999, - "register_per_second": 3600, - "image": 999, - "image_per_second": 3600, - "comment": 999, - "comment_per_second": 600, - "search": 999, - "search_per_second": 600, - "published": "2023-06-06T06:35:12.438204" - }, - "counts": { - "id": 1, - "site_id": 1, - "users": 5977, - "posts": 3426, - "comments": 23673, - "communities": 152, - "users_active_day": 191, - "users_active_week": 543, - "users_active_month": 1096, - "users_active_half_year": 1641 - } - }, - "admins": [ - { - "person": { - "id": 2, - "name": "snowe", - "display_name": "snowe", - "avatar": "https://programming.dev/pictrs/image/234e8715-6cb9-465f-ab9b-08bc736f19e9.jpeg", - "banned": false, - "published": "2023-06-06T06:35:11.863885", - "actor_id": "https://programming.dev/u/snowe", - "bio": "I'm a staff software engineer at Sunrun, the USA's largest residential solar installer. \n\nI mostly work with kotlin, but also java, python, ruby, javascript, typescript. My hobby is picking up new hobbies. Currently bird photography and camping. ", - "local": true, - "deleted": false, - "matrix_user_id": "@snowe:matrix.org", - "admin": true, - "bot_account": false, - "instance_id": 1 - }, - "counts": { - "id": 1, - "person_id": 2, - "post_count": 17, - "post_score": 219, - "comment_count": 273, - "comment_score": 454 - } - }, - { - "person": { - "id": 6720, - "name": "erlingur", - "display_name": "Erlingur", - "avatar": "https://programming.dev/pictrs/image/b6bbaea7-9e3e-4210-97ca-cbaded5c320f.jpeg", - "banned": false, - "published": "2023-06-08T23:20:19.502444", - "actor_id": "https://programming.dev/u/erlingur", - "local": true, - "deleted": false, - "admin": true, - "bot_account": false, - "instance_id": 1 - }, - "counts": { - "id": 4998, - "person_id": 6720, - "post_count": 36, - "post_score": 29, - "comment_count": 69, - "comment_score": 93 - } - }, - { - "person": { - "id": 6861, - "name": "Ategon", - "display_name": "Ategon", - "avatar": "https://programming.dev/pictrs/image/8c68e034-020a-4513-9567-574c26f76a9d.png", - "banned": false, - "published": "2023-06-08T23:54:01.599070", - "actor_id": "https://programming.dev/u/Ategon", - "bio": "Indie game developer 🇨🇦\n\nWorking on some games for game jams in my free time\n\nSocials: https://ategon.carrd.co/", - "local": true, - "banner": "https://programming.dev/pictrs/image/2ba1df13-1d16-4a36-bb88-647b5d4c165c.png", - "deleted": false, - "matrix_user_id": "@ategon:matrix.org", - "admin": true, - "bot_account": false, - "instance_id": 1 - }, - "counts": { - "id": 5117, - "person_id": 6861, - "post_count": 176, - "post_score": 1207, - "comment_count": 442, - "comment_score": 399 - } - }, - { - "person": { - "id": 16482, - "name": "nibblebit", - "avatar": "https://programming.dev/pictrs/image/31de4d67-90fd-43cd-9266-d902c14237fd.png", - "banned": false, - "published": "2023-06-10T08:28:18.077456", - "actor_id": "https://programming.dev/u/nibblebit", - "bio": "Azure | .NET | Godot | nibble.blog\n ", - "local": true, - "banner": "https://programming.dev/pictrs/image/83dde52d-0bb6-4f47-8248-d01c6245236e.png", - "deleted": false, - "matrix_user_id": "@nibblebit:matrix.org", - "admin": true, - "bot_account": false, - "instance_id": 1 - }, - "counts": { - "id": 11496, - "person_id": 16482, - "post_count": 15, - "post_score": 31, - "comment_count": 107, - "comment_score": 100 - } - } - ], - "version": "0.18.3", - "all_languages": [ - { "id": 0, "code": "und", "name": "Undetermined" }, - { "id": 1, "code": "aa", "name": "Afaraf" }, - { "id": 2, "code": "ab", "name": "аҧсуа бызшәа" }, - { "id": 3, "code": "ae", "name": "avesta" }, - { "id": 4, "code": "af", "name": "Afrikaans" }, - { "id": 5, "code": "ak", "name": "Akan" }, - { "id": 6, "code": "am", "name": "አማርኛ" }, - { "id": 7, "code": "an", "name": "aragonés" }, - { "id": 8, "code": "ar", "name": "اَلْعَرَبِيَّةُ" }, - { "id": 9, "code": "as", "name": "অসমীয়া" }, - { "id": 10, "code": "av", "name": "авар мацӀ" }, - { "id": 11, "code": "ay", "name": "aymar aru" }, - { "id": 12, "code": "az", "name": "azərbaycan dili" }, - { "id": 13, "code": "ba", "name": "башҡорт теле" }, - { "id": 14, "code": "be", "name": "беларуская мова" }, - { "id": 15, "code": "bg", "name": "български език" }, - { "id": 16, "code": "bi", "name": "Bislama" }, - { "id": 17, "code": "bm", "name": "bamanankan" }, - { "id": 18, "code": "bn", "name": "বাংলা" }, - { "id": 19, "code": "bo", "name": "བོད་ཡིག" }, - { "id": 20, "code": "br", "name": "brezhoneg" }, - { "id": 21, "code": "bs", "name": "bosanski jezik" }, - { "id": 22, "code": "ca", "name": "Català" }, - { "id": 23, "code": "ce", "name": "нохчийн мотт" }, - { "id": 24, "code": "ch", "name": "Chamoru" }, - { "id": 25, "code": "co", "name": "corsu" }, - { "id": 26, "code": "cr", "name": "ᓀᐦᐃᔭᐍᐏᐣ" }, - { "id": 27, "code": "cs", "name": "čeština" }, - { "id": 28, "code": "cu", "name": "ѩзыкъ словѣньскъ" }, - { "id": 29, "code": "cv", "name": "чӑваш чӗлхи" }, - { "id": 30, "code": "cy", "name": "Cymraeg" }, - { "id": 31, "code": "da", "name": "dansk" }, - { "id": 32, "code": "de", "name": "Deutsch" }, - { "id": 33, "code": "dv", "name": "ދިވެހި" }, - { "id": 34, "code": "dz", "name": "རྫོང་ཁ" }, - { "id": 35, "code": "ee", "name": "Eʋegbe" }, - { "id": 36, "code": "el", "name": "Ελληνικά" }, - { "id": 37, "code": "en", "name": "English" }, - { "id": 38, "code": "eo", "name": "Esperanto" }, - { "id": 39, "code": "es", "name": "Español" }, - { "id": 40, "code": "et", "name": "eesti" }, - { "id": 41, "code": "eu", "name": "euskara" }, - { "id": 42, "code": "fa", "name": "فارسی" }, - { "id": 43, "code": "ff", "name": "Fulfulde" }, - { "id": 44, "code": "fi", "name": "suomi" }, - { "id": 45, "code": "fj", "name": "vosa Vakaviti" }, - { "id": 46, "code": "fo", "name": "føroyskt" }, - { "id": 47, "code": "fr", "name": "Français" }, - { "id": 48, "code": "fy", "name": "Frysk" }, - { "id": 49, "code": "ga", "name": "Gaeilge" }, - { "id": 50, "code": "gd", "name": "Gàidhlig" }, - { "id": 51, "code": "gl", "name": "galego" }, - { "id": 52, "code": "gn", "name": "Avañe'ẽ" }, - { "id": 53, "code": "gu", "name": "ગુજરાતી" }, - { "id": 54, "code": "gv", "name": "Gaelg" }, - { "id": 55, "code": "ha", "name": "هَوُسَ" }, - { "id": 56, "code": "he", "name": "עברית" }, - { "id": 57, "code": "hi", "name": "हिन्दी" }, - { "id": 58, "code": "ho", "name": "Hiri Motu" }, - { "id": 59, "code": "hr", "name": "Hrvatski" }, - { "id": 60, "code": "ht", "name": "Kreyòl ayisyen" }, - { "id": 61, "code": "hu", "name": "magyar" }, - { "id": 62, "code": "hy", "name": "Հայերեն" }, - { "id": 63, "code": "hz", "name": "Otjiherero" }, - { "id": 64, "code": "ia", "name": "Interlingua" }, - { "id": 65, "code": "id", "name": "Bahasa Indonesia" }, - { "id": 66, "code": "ie", "name": "Interlingue" }, - { "id": 67, "code": "ig", "name": "Asụsụ Igbo" }, - { "id": 68, "code": "ii", "name": "ꆈꌠ꒿ Nuosuhxop" }, - { "id": 69, "code": "ik", "name": "Iñupiaq" }, - { "id": 70, "code": "io", "name": "Ido" }, - { "id": 71, "code": "is", "name": "Íslenska" }, - { "id": 72, "code": "it", "name": "Italiano" }, - { "id": 73, "code": "iu", "name": "ᐃᓄᒃᑎᑐᑦ" }, - { "id": 74, "code": "ja", "name": "日本語" }, - { "id": 75, "code": "jv", "name": "basa Jawa" }, - { "id": 76, "code": "ka", "name": "ქართული" }, - { "id": 77, "code": "kg", "name": "Kikongo" }, - { "id": 78, "code": "ki", "name": "Gĩkũyũ" }, - { "id": 79, "code": "kj", "name": "Kuanyama" }, - { "id": 80, "code": "kk", "name": "қазақ тілі" }, - { "id": 81, "code": "kl", "name": "kalaallisut" }, - { "id": 82, "code": "km", "name": "ខេមរភាសា" }, - { "id": 83, "code": "kn", "name": "ಕನ್ನಡ" }, - { "id": 84, "code": "ko", "name": "한국어" }, - { "id": 85, "code": "kr", "name": "Kanuri" }, - { "id": 86, "code": "ks", "name": "कश्मीरी" }, - { "id": 87, "code": "ku", "name": "Kurdî" }, - { "id": 88, "code": "kv", "name": "коми кыв" }, - { "id": 89, "code": "kw", "name": "Kernewek" }, - { "id": 90, "code": "ky", "name": "Кыргызча" }, - { "id": 91, "code": "la", "name": "latine" }, - { "id": 92, "code": "lb", "name": "Lëtzebuergesch" }, - { "id": 93, "code": "lg", "name": "Luganda" }, - { "id": 94, "code": "li", "name": "Limburgs" }, - { "id": 95, "code": "ln", "name": "Lingála" }, - { "id": 96, "code": "lo", "name": "ພາສາລາວ" }, - { "id": 97, "code": "lt", "name": "lietuvių kalba" }, - { "id": 98, "code": "lu", "name": "Kiluba" }, - { "id": 99, "code": "lv", "name": "latviešu valoda" }, - { "id": 100, "code": "mg", "name": "fiteny malagasy" }, - { "id": 101, "code": "mh", "name": "Kajin M̧ajeļ" }, - { "id": 102, "code": "mi", "name": "te reo Māori" }, - { "id": 103, "code": "mk", "name": "македонски јазик" }, - { "id": 104, "code": "ml", "name": "മലയാളം" }, - { "id": 105, "code": "mn", "name": "Монгол хэл" }, - { "id": 106, "code": "mr", "name": "मराठी" }, - { "id": 107, "code": "ms", "name": "Bahasa Melayu" }, - { "id": 108, "code": "mt", "name": "Malti" }, - { "id": 109, "code": "my", "name": "ဗမာစာ" }, - { "id": 110, "code": "na", "name": "Dorerin Naoero" }, - { "id": 111, "code": "nb", "name": "Norsk bokmål" }, - { "id": 112, "code": "nd", "name": "isiNdebele" }, - { "id": 113, "code": "ne", "name": "नेपाली" }, - { "id": 114, "code": "ng", "name": "Owambo" }, - { "id": 115, "code": "nl", "name": "Nederlands" }, - { "id": 116, "code": "nn", "name": "Norsk nynorsk" }, - { "id": 117, "code": "no", "name": "Norsk" }, - { "id": 118, "code": "nr", "name": "isiNdebele" }, - { "id": 119, "code": "nv", "name": "Diné bizaad" }, - { "id": 120, "code": "ny", "name": "chiCheŵa" }, - { "id": 121, "code": "oc", "name": "occitan" }, - { "id": 122, "code": "oj", "name": "ᐊᓂᔑᓈᐯᒧᐎᓐ" }, - { "id": 123, "code": "om", "name": "Afaan Oromoo" }, - { "id": 124, "code": "or", "name": "ଓଡ଼ିଆ" }, - { "id": 125, "code": "os", "name": "ирон æвзаг" }, - { "id": 126, "code": "pa", "name": "ਪੰਜਾਬੀ" }, - { "id": 127, "code": "pi", "name": "पाऴि" }, - { "id": 128, "code": "pl", "name": "Polski" }, - { "id": 129, "code": "ps", "name": "پښتو" }, - { "id": 130, "code": "pt", "name": "Português" }, - { "id": 131, "code": "qu", "name": "Runa Simi" }, - { "id": 132, "code": "rm", "name": "rumantsch grischun" }, - { "id": 133, "code": "rn", "name": "Ikirundi" }, - { "id": 134, "code": "ro", "name": "Română" }, - { "id": 135, "code": "ru", "name": "Русский" }, - { "id": 136, "code": "rw", "name": "Ikinyarwanda" }, - { "id": 137, "code": "sa", "name": "संस्कृतम्" }, - { "id": 138, "code": "sc", "name": "sardu" }, - { "id": 139, "code": "sd", "name": "सिन्धी" }, - { "id": 140, "code": "se", "name": "Davvisámegiella" }, - { "id": 141, "code": "sg", "name": "yângâ tî sängö" }, - { "id": 142, "code": "si", "name": "සිංහල" }, - { "id": 143, "code": "sk", "name": "slovenčina" }, - { "id": 144, "code": "sl", "name": "slovenščina" }, - { "id": 145, "code": "sm", "name": "gagana fa'a Samoa" }, - { "id": 146, "code": "sn", "name": "chiShona" }, - { "id": 147, "code": "so", "name": "Soomaaliga" }, - { "id": 148, "code": "sq", "name": "Shqip" }, - { "id": 149, "code": "sr", "name": "српски језик" }, - { "id": 150, "code": "ss", "name": "SiSwati" }, - { "id": 151, "code": "st", "name": "Sesotho" }, - { "id": 152, "code": "su", "name": "Basa Sunda" }, - { "id": 153, "code": "sv", "name": "Svenska" }, - { "id": 154, "code": "sw", "name": "Kiswahili" }, - { "id": 155, "code": "ta", "name": "தமிழ்" }, - { "id": 156, "code": "te", "name": "తెలుగు" }, - { "id": 157, "code": "tg", "name": "тоҷикӣ" }, - { "id": 158, "code": "th", "name": "ไทย" }, - { "id": 159, "code": "ti", "name": "ትግርኛ" }, - { "id": 160, "code": "tk", "name": "Türkmençe" }, - { "id": 161, "code": "tl", "name": "Wikang Tagalog" }, - { "id": 162, "code": "tn", "name": "Setswana" }, - { "id": 163, "code": "to", "name": "faka Tonga" }, - { "id": 164, "code": "tr", "name": "Türkçe" }, - { "id": 165, "code": "ts", "name": "Xitsonga" }, - { "id": 166, "code": "tt", "name": "татар теле" }, - { "id": 167, "code": "tw", "name": "Twi" }, - { "id": 168, "code": "ty", "name": "Reo Tahiti" }, - { "id": 169, "code": "ug", "name": "ئۇيغۇرچە‎" }, - { "id": 170, "code": "uk", "name": "Українська" }, - { "id": 171, "code": "ur", "name": "اردو" }, - { "id": 172, "code": "uz", "name": "Ўзбек" }, - { "id": 173, "code": "ve", "name": "Tshivenḓa" }, - { "id": 174, "code": "vi", "name": "Tiếng Việt" }, - { "id": 175, "code": "vo", "name": "Volapük" }, - { "id": 176, "code": "wa", "name": "walon" }, - { "id": 177, "code": "wo", "name": "Wollof" }, - { "id": 178, "code": "xh", "name": "isiXhosa" }, - { "id": 179, "code": "yi", "name": "ייִדיש" }, - { "id": 180, "code": "yo", "name": "Yorùbá" }, - { "id": 181, "code": "za", "name": "Saɯ cueŋƅ" }, - { "id": 182, "code": "zh", "name": "中文" }, - { "id": 183, "code": "zu", "name": "isiZulu" } - ], - "discussion_languages": [ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183 - ], - "taglines": [], - "custom_emojis": [] -} +{"site_view":{"site":{"id":1,"name":"Lemmy","sidebar":"[What is Lemmy.ml](https://lemmy.ml/post/70280)\n\n# Rules\n1. No bigotry - including racism, sexism, ableism, homophobia, transphobia, or xenophobia. [Code of Conduct](https://join-lemmy.org/docs/en/code_of_conduct.html).\n1. Be respectful, [especially when disagreeing](https://lemmy.ml/post/1140303). Everyone should feel welcome here.\n1. No porn.\n1. No Ads / Spamming.\n\n\nFeel free to ask questions over in:\n- [!lemmy_support](https://lemmy.ml/c/lemmy_support)\n- [Matrix Chat](https://matrix.to/#/#lemmy-space:matrix.org)\n- [Mastodon @LemmyDev](https://mastodon.social/@LemmyDev)","published":"2019-04-20T18:53:54.608882Z","updated":"2023-12-02T14:14:25.133853Z","icon":"https://lemmy.ml/pictrs/image/fa6d9660-4f1f-4e90-ac73-b897216db6f3.png","description":"A community of privacy and FOSS enthusiasts, run by Lemmy’s developers","actor_id":"https://lemmy.ml/","last_refreshed_at":"2022-07-09T17:56:21.988295Z","inbox_url":"https://lemmy.ml/inbox","public_key":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5hFY2e7ltFZtoWEAW4/o\nTWEUS8i76KNhQIyuzCQBELB5tajA6WzHjeX4pOLVXc5l5dwSbFHL/98S4k9ZRA0Z\nLyJ7lUfnAYilR21qH+HPmw1QxPvaHJMc1USs+bhapz0+jlZASxXztDvr8xcXf5RR\nPTlfp4zDeQJYsgp2PRS6gRspLJ/9LqFCn05mrnuSTw6CGTDWRteaxO7gXWbQ69vP\nYrwY0Pmd6T9SX4yPsyPN3e2FPGuEhxR44rg8zTdvZje/jkDhdrQfEUQRiCDl39j2\nBJAh/DVPByffCT5283SKtasoAKENalYgJD9rAMRPlctK9t6pvK7iaM5tfsRpk5/e\nRQIDAQAB\n-----END PUBLIC KEY-----\n","instance_id":394},"local_site":{"id":1,"site_id":1,"site_setup":true,"enable_downvotes":true,"enable_nsfw":true,"community_creation_admin_only":false,"require_email_verification":false,"application_question":"To combat brigading, we have restricted user registration on this instance. Please write a short description containing:\n\n* Why you would like to join Lemmy.ml\n* What communities you would most like to participate in, and\n* How or why you chose the username you did.\n* What is six minus two? \n\nWe use these questions to screen for and discourage spammers and trolls. We will try our best to review your application as soon as possible.","private_instance":false,"default_theme":"browser","default_post_listing_type":"Local","hide_modlog_mod_names":true,"application_email_admins":false,"slur_filter_regex":"(fag(g|got|tard)?\\b|cock\\s?sucker(s|ing)?|ni((g{2,}|q)+|[gq]{2,})[e3r]+(s|z)?|mudslime?s?|kikes?|\\bspi(c|k)s?\\b|\\bchinks?|gooks?|bitch(es|ing|y)?|whor(es?|ing)|\\btr(a|@)nn?(y|ies?)|\\b(b|re|r)tard(ed)?s?)","actor_name_max_length":20,"federation_enabled":true,"captcha_enabled":false,"captcha_difficulty":"medium","published":"2019-04-20T18:53:54.608882Z","updated":"2023-12-02T14:14:25.138133Z","registration_mode":"RequireApplication","reports_email_admins":false,"federation_signed_fetch":false},"local_site_rate_limit":{"local_site_id":1,"message":180,"message_per_second":60,"post":6,"post_per_second":600,"register":3,"register_per_second":3600,"image":6,"image_per_second":3600,"comment":6,"comment_per_second":600,"search":60,"search_per_second":600,"published":"2023-02-01T07:21:12.099368Z","import_user_settings":1,"import_user_settings_per_second":86400},"counts":{"site_id":1,"users":50098,"posts":109947,"comments":413350,"communities":4034,"users_active_day":890,"users_active_week":1740,"users_active_month":2610,"users_active_half_year":9215}},"admins":[{"person":{"id":34,"name":"dessalines","display_name":"Dessalines","avatar":"https://lemmy.ml/pictrs/image/fac94410-decc-4d55-be6d-648a3bd67aa9.webp","banned":false,"published":"2019-04-17T23:34:40.912940Z","updated":"2022-09-15T13:41:47.087316Z","actor_id":"https://lemmy.ml/u/dessalines","local":true,"banner":"https://lemmy.ml/pictrs/image/d69b9c2a-c1db-4483-ba34-349561a290b5.jpeg","deleted":false,"matrix_user_id":"@happydooby:matrix.org","bot_account":false,"instance_id":394},"counts":{"person_id":34,"post_count":571,"comment_count":5049},"is_admin":true},{"person":{"id":8169,"name":"nutomic","avatar":"https://lemmy.ml/pictrs/image/24716431-8f92-417a-8492-06d5d3fe9fab.jpeg","banned":false,"published":"2020-01-17T01:38:22.348392Z","updated":"2022-09-14T09:59:20.428102Z","actor_id":"https://lemmy.ml/u/nutomic","bio":"Lemmy maintainer. Like programming in Rust.","local":true,"deleted":false,"bot_account":false,"instance_id":394},"counts":{"person_id":8169,"post_count":411,"comment_count":2692},"is_admin":true},{"person":{"id":45138,"name":"JoeBidet","display_name":"Joe Bidet","avatar":"https://lemmy.ml/pictrs/image/Rjuz1poIub.png","banned":false,"published":"2021-11-28T02:05:53.722646Z","updated":"2022-05-05T11:40:21.721174Z","actor_id":"https://lemmy.ml/u/JoeBidet","bio":"Random Joe, or should I say... GNU/Joe","local":true,"deleted":false,"bot_account":false,"instance_id":394},"counts":{"person_id":45138,"post_count":33,"comment_count":404},"is_admin":true},{"person":{"id":59509,"name":"cypherpunks","display_name":"Arthur Besse","avatar":"https://lemmy.ml/pictrs/image/a146cb96-f93f-4dc6-a584-5b37adb9d7f8.png","banned":false,"published":"2022-01-17T13:13:29.911261Z","updated":"2022-09-08T10:37:07.550482Z","actor_id":"https://lemmy.ml/u/cypherpunks","bio":"hello","local":true,"banner":"https://lemmy.ml/pictrs/image/894f9300-0088-41c7-82fb-2e0b0d9dc5cb.jpeg","deleted":false,"bot_account":false,"instance_id":394},"counts":{"person_id":59509,"post_count":772,"comment_count":1335},"is_admin":true}],"version":"0.19.1","all_languages":[{"id":0,"code":"und","name":"Undetermined"},{"id":1,"code":"aa","name":"Afaraf"},{"id":2,"code":"ab","name":"аҧсуа бызшәа"},{"id":3,"code":"ae","name":"avesta"},{"id":4,"code":"af","name":"Afrikaans"},{"id":5,"code":"ak","name":"Akan"},{"id":6,"code":"am","name":"አማርኛ"},{"id":7,"code":"an","name":"aragonés"},{"id":8,"code":"ar","name":"اَلْعَرَبِيَّةُ"},{"id":9,"code":"as","name":"অসমীয়া"},{"id":10,"code":"av","name":"авар мацӀ"},{"id":11,"code":"ay","name":"aymar aru"},{"id":12,"code":"az","name":"azərbaycan dili"},{"id":13,"code":"ba","name":"башҡорт теле"},{"id":14,"code":"be","name":"беларуская мова"},{"id":15,"code":"bg","name":"български език"},{"id":16,"code":"bi","name":"Bislama"},{"id":17,"code":"bm","name":"bamanankan"},{"id":18,"code":"bn","name":"বাংলা"},{"id":19,"code":"bo","name":"བོད་ཡིག"},{"id":20,"code":"br","name":"brezhoneg"},{"id":21,"code":"bs","name":"bosanski jezik"},{"id":22,"code":"ca","name":"Català"},{"id":23,"code":"ce","name":"нохчийн мотт"},{"id":24,"code":"ch","name":"Chamoru"},{"id":25,"code":"co","name":"corsu"},{"id":26,"code":"cr","name":"ᓀᐦᐃᔭᐍᐏᐣ"},{"id":27,"code":"cs","name":"čeština"},{"id":28,"code":"cu","name":"ѩзыкъ словѣньскъ"},{"id":29,"code":"cv","name":"чӑваш чӗлхи"},{"id":30,"code":"cy","name":"Cymraeg"},{"id":31,"code":"da","name":"dansk"},{"id":32,"code":"de","name":"Deutsch"},{"id":33,"code":"dv","name":"ދިވެހި"},{"id":34,"code":"dz","name":"རྫོང་ཁ"},{"id":35,"code":"ee","name":"Eʋegbe"},{"id":36,"code":"el","name":"Ελληνικά"},{"id":37,"code":"en","name":"English"},{"id":38,"code":"eo","name":"Esperanto"},{"id":39,"code":"es","name":"Español"},{"id":40,"code":"et","name":"eesti"},{"id":41,"code":"eu","name":"euskara"},{"id":42,"code":"fa","name":"فارسی"},{"id":43,"code":"ff","name":"Fulfulde"},{"id":44,"code":"fi","name":"suomi"},{"id":45,"code":"fj","name":"vosa Vakaviti"},{"id":46,"code":"fo","name":"føroyskt"},{"id":47,"code":"fr","name":"Français"},{"id":48,"code":"fy","name":"Frysk"},{"id":49,"code":"ga","name":"Gaeilge"},{"id":50,"code":"gd","name":"Gàidhlig"},{"id":51,"code":"gl","name":"galego"},{"id":52,"code":"gn","name":"Avañe'ẽ"},{"id":53,"code":"gu","name":"ગુજરાતી"},{"id":54,"code":"gv","name":"Gaelg"},{"id":55,"code":"ha","name":"هَوُسَ"},{"id":56,"code":"he","name":"עברית"},{"id":57,"code":"hi","name":"हिन्दी"},{"id":58,"code":"ho","name":"Hiri Motu"},{"id":59,"code":"hr","name":"Hrvatski"},{"id":60,"code":"ht","name":"Kreyòl ayisyen"},{"id":61,"code":"hu","name":"magyar"},{"id":62,"code":"hy","name":"Հայերեն"},{"id":63,"code":"hz","name":"Otjiherero"},{"id":64,"code":"ia","name":"Interlingua"},{"id":65,"code":"id","name":"Bahasa Indonesia"},{"id":66,"code":"ie","name":"Interlingue"},{"id":67,"code":"ig","name":"Asụsụ Igbo"},{"id":68,"code":"ii","name":"ꆈꌠ꒿ Nuosuhxop"},{"id":69,"code":"ik","name":"Iñupiaq"},{"id":70,"code":"io","name":"Ido"},{"id":71,"code":"is","name":"Íslenska"},{"id":72,"code":"it","name":"Italiano"},{"id":73,"code":"iu","name":"ᐃᓄᒃᑎᑐᑦ"},{"id":74,"code":"ja","name":"日本語"},{"id":75,"code":"jv","name":"basa Jawa"},{"id":76,"code":"ka","name":"ქართული"},{"id":77,"code":"kg","name":"Kikongo"},{"id":78,"code":"ki","name":"Gĩkũyũ"},{"id":79,"code":"kj","name":"Kuanyama"},{"id":80,"code":"kk","name":"қазақ тілі"},{"id":81,"code":"kl","name":"kalaallisut"},{"id":82,"code":"km","name":"ខេមរភាសា"},{"id":83,"code":"kn","name":"ಕನ್ನಡ"},{"id":84,"code":"ko","name":"한국어"},{"id":85,"code":"kr","name":"Kanuri"},{"id":86,"code":"ks","name":"कश्मीरी"},{"id":87,"code":"ku","name":"Kurdî"},{"id":88,"code":"kv","name":"коми кыв"},{"id":89,"code":"kw","name":"Kernewek"},{"id":90,"code":"ky","name":"Кыргызча"},{"id":91,"code":"la","name":"latine"},{"id":92,"code":"lb","name":"Lëtzebuergesch"},{"id":93,"code":"lg","name":"Luganda"},{"id":94,"code":"li","name":"Limburgs"},{"id":95,"code":"ln","name":"Lingála"},{"id":96,"code":"lo","name":"ພາສາລາວ"},{"id":97,"code":"lt","name":"lietuvių kalba"},{"id":98,"code":"lu","name":"Kiluba"},{"id":99,"code":"lv","name":"latviešu valoda"},{"id":100,"code":"mg","name":"fiteny malagasy"},{"id":101,"code":"mh","name":"Kajin M̧ajeļ"},{"id":102,"code":"mi","name":"te reo Māori"},{"id":103,"code":"mk","name":"македонски јазик"},{"id":104,"code":"ml","name":"മലയാളം"},{"id":105,"code":"mn","name":"Монгол хэл"},{"id":106,"code":"mr","name":"मराठी"},{"id":107,"code":"ms","name":"Bahasa Melayu"},{"id":108,"code":"mt","name":"Malti"},{"id":109,"code":"my","name":"ဗမာစာ"},{"id":110,"code":"na","name":"Dorerin Naoero"},{"id":111,"code":"nb","name":"Norsk bokmål"},{"id":112,"code":"nd","name":"isiNdebele"},{"id":113,"code":"ne","name":"नेपाली"},{"id":114,"code":"ng","name":"Owambo"},{"id":115,"code":"nl","name":"Nederlands"},{"id":116,"code":"nn","name":"Norsk nynorsk"},{"id":117,"code":"no","name":"Norsk"},{"id":118,"code":"nr","name":"isiNdebele"},{"id":119,"code":"nv","name":"Diné bizaad"},{"id":120,"code":"ny","name":"chiCheŵa"},{"id":121,"code":"oc","name":"occitan"},{"id":122,"code":"oj","name":"ᐊᓂᔑᓈᐯᒧᐎᓐ"},{"id":123,"code":"om","name":"Afaan Oromoo"},{"id":124,"code":"or","name":"ଓଡ଼ିଆ"},{"id":125,"code":"os","name":"ирон æвзаг"},{"id":126,"code":"pa","name":"ਪੰਜਾਬੀ"},{"id":127,"code":"pi","name":"पाऴि"},{"id":128,"code":"pl","name":"Polski"},{"id":129,"code":"ps","name":"پښتو"},{"id":130,"code":"pt","name":"Português"},{"id":131,"code":"qu","name":"Runa Simi"},{"id":132,"code":"rm","name":"rumantsch grischun"},{"id":133,"code":"rn","name":"Ikirundi"},{"id":134,"code":"ro","name":"Română"},{"id":135,"code":"ru","name":"Русский"},{"id":136,"code":"rw","name":"Ikinyarwanda"},{"id":137,"code":"sa","name":"संस्कृतम्"},{"id":138,"code":"sc","name":"sardu"},{"id":139,"code":"sd","name":"सिन्धी"},{"id":140,"code":"se","name":"Davvisámegiella"},{"id":141,"code":"sg","name":"yângâ tî sängö"},{"id":142,"code":"si","name":"සිංහල"},{"id":143,"code":"sk","name":"slovenčina"},{"id":144,"code":"sl","name":"slovenščina"},{"id":145,"code":"sm","name":"gagana fa'a Samoa"},{"id":146,"code":"sn","name":"chiShona"},{"id":147,"code":"so","name":"Soomaaliga"},{"id":148,"code":"sq","name":"Shqip"},{"id":149,"code":"sr","name":"српски језик"},{"id":150,"code":"ss","name":"SiSwati"},{"id":151,"code":"st","name":"Sesotho"},{"id":152,"code":"su","name":"Basa Sunda"},{"id":153,"code":"sv","name":"Svenska"},{"id":154,"code":"sw","name":"Kiswahili"},{"id":155,"code":"ta","name":"தமிழ்"},{"id":156,"code":"te","name":"తెలుగు"},{"id":157,"code":"tg","name":"тоҷикӣ"},{"id":158,"code":"th","name":"ไทย"},{"id":159,"code":"ti","name":"ትግርኛ"},{"id":160,"code":"tk","name":"Türkmençe"},{"id":161,"code":"tl","name":"Wikang Tagalog"},{"id":162,"code":"tn","name":"Setswana"},{"id":163,"code":"to","name":"faka Tonga"},{"id":164,"code":"tr","name":"Türkçe"},{"id":165,"code":"ts","name":"Xitsonga"},{"id":166,"code":"tt","name":"татар теле"},{"id":167,"code":"tw","name":"Twi"},{"id":168,"code":"ty","name":"Reo Tahiti"},{"id":169,"code":"ug","name":"ئۇيغۇرچە‎"},{"id":170,"code":"uk","name":"Українська"},{"id":171,"code":"ur","name":"اردو"},{"id":172,"code":"uz","name":"Ўзбек"},{"id":173,"code":"ve","name":"Tshivenḓa"},{"id":174,"code":"vi","name":"Tiếng Việt"},{"id":175,"code":"vo","name":"Volapük"},{"id":176,"code":"wa","name":"walon"},{"id":177,"code":"wo","name":"Wollof"},{"id":178,"code":"xh","name":"isiXhosa"},{"id":179,"code":"yi","name":"ייִדיש"},{"id":180,"code":"yo","name":"Yorùbá"},{"id":181,"code":"za","name":"Saɯ cueŋƅ"},{"id":182,"code":"zh","name":"中文"},{"id":183,"code":"zu","name":"isiZulu"}],"discussion_languages":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],"taglines":[],"custom_emojis":[]} \ No newline at end of file diff --git a/src/util.rs b/src/util.rs index e8568177..310c7d67 100644 --- a/src/util.rs +++ b/src/util.rs @@ -21,9 +21,8 @@ pub fn markdown_to_pango_markup(text: String) -> String { html2pango::markup_html(&markdown::to_html(&text)).unwrap_or(text) } -pub fn format_elapsed_time(time: chrono::NaiveDateTime) -> String { +pub fn format_elapsed_time(time: chrono::DateTime) -> String { let formatter = timeago::Formatter::new(); let current_time = chrono::Utc::now(); - let published = time.and_utc(); - formatter.convert_chrono(published, current_time) + formatter.convert_chrono(time, current_time) } diff --git a/update-defaults.sh b/update-defaults.sh new file mode 100755 index 00000000..25187f48 --- /dev/null +++ b/update-defaults.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +BASE_URL="https://lemmy.ml/api/v3" + +curl "$BASE_URL/user?username=kzhe@lemmy.zip" > src/examples/person.json +curl "$BASE_URL/community?name=asklemmy" > src/examples/community.json +curl "$BASE_URL/post?id=10133939" > src/examples/post.json +curl "$BASE_URL/site" > src/examples/site.json