diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f4cc22ec..59930ed7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,7 @@ check: test: stage: test - script: + script: - sleep 1 && deno task test --coverage=cov_profile - deno coverage cov_profile coverage: /All files[^\|]*\|[^\|]*\s+([\d\.]+)/ @@ -35,4 +35,4 @@ test: paths: - deno-test.xml reports: - junit: deno-test.xml \ No newline at end of file + junit: deno-test.xml diff --git a/.vscode/extensions.json b/.vscode/extensions.json index c4eb3fed..09cf720d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,4 +2,4 @@ "recommendations": [ "denoland.vscode-deno" ] -} \ No newline at end of file +} diff --git a/.vscode/launch.json b/.vscode/launch.json index 71abdef3..298c3be5 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -20,4 +20,4 @@ "attachSimplePort": 9229 } ] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 23baa765..ba5b1bb4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,4 +3,4 @@ "deno.lint": true, "editor.defaultFormatter": "denoland.vscode-deno", "path-intellisense.extensionOnImport": true -} \ No newline at end of file +} diff --git a/deno.json b/deno.json index d86b3f99..4033136b 100644 --- a/deno.json +++ b/deno.json @@ -95,10 +95,6 @@ "~/fixtures/": "./fixtures/" }, "lint": { - "include": [ - "src/", - "scripts/" - ], "rules": { "tags": [ "recommended" @@ -109,10 +105,6 @@ } }, "fmt": { - "include": [ - "src/", - "scripts/" - ], "useTabs": false, "lineWidth": 120, "indentWidth": 2, diff --git a/docs/auth.md b/docs/auth.md index df4ace58..119a7dc2 100644 --- a/docs/auth.md +++ b/docs/auth.md @@ -20,4 +20,4 @@ The main concerns are how to **conveniently log in on multiple devices**, and ** 4. **Custodial**. Apps which make you log you in with a username/password, and then keep Nostr keys for each user in their database. You might not even be able to export your keys. This option may be easier for users at first, but it puts a whole lot of liability on the server, since leaks can cause permanent damage. It also gives up a lot of the benefits of Nostr. -Each of these ideas could be improved upon greatly with new experiments and technical progress. But to Ditto, user freedom matters the most, so we're focusing on non-custodial solution. Even though there are security risks to copying around keys, the onus is on the user. The user may fall victim to a targeted attack (or make a stupid mistake), whereas custodial servers have the ability to wipe out entire demographics of users at once. Therefore we believe that custodial solutions are actually _less_ secure than users copying around keys. Users must take precautions about which apps to trust with their private key until we improve upon the area to make it more secure (likely with better support of browser extensions, OS key management, and more). \ No newline at end of file +Each of these ideas could be improved upon greatly with new experiments and technical progress. But to Ditto, user freedom matters the most, so we're focusing on non-custodial solution. Even though there are security risks to copying around keys, the onus is on the user. The user may fall victim to a targeted attack (or make a stupid mistake), whereas custodial servers have the ability to wipe out entire demographics of users at once. Therefore we believe that custodial solutions are actually _less_ secure than users copying around keys. Users must take precautions about which apps to trust with their private key until we improve upon the area to make it more secure (likely with better support of browser extensions, OS key management, and more). diff --git a/docs/mastodon-api.md b/docs/mastodon-api.md index f12c8760..48684b6f 100644 --- a/docs/mastodon-api.md +++ b/docs/mastodon-api.md @@ -6,4 +6,4 @@ Note that Mastodon API is **not** ActivityPub. It is not the API used to federat Mastodon is built in Ruby on Rails, and its API is inspired by Twitter's legacy REST API. Rails, being an MVC framework, has "models", which it maps directly to "Entities" in its API. -Endpoints return either a single Entity, or an array of Entities. Entities Entities are JSON objects with a specific structure, and are documented in the [Mastodon API documentation](https://docs.joinmastodon.org/api/). +Endpoints return either a single Entity, or an array of Entities. Entities Entities are JSON objects with a specific structure, and are documented in the [Mastodon API documentation](https://docs.joinmastodon.org/api/). diff --git a/fixtures/events/event-0-the-one-who-quote-repost.json b/fixtures/events/event-0-the-one-who-quote-repost.json index 3aabeeb8..35854f55 100644 --- a/fixtures/events/event-0-the-one-who-quote-repost.json +++ b/fixtures/events/event-0-the-one-who-quote-repost.json @@ -6,4 +6,4 @@ "tags": [], "content": "{\"name\":\"patrickReiis\",\"picture\":\"https://void.cat/d/EMs8Qdn5wsAMrZ5T9T44sz.webp\"}", "sig": "cedbd2585c18c9ee8cbafa4e3b1fefbe68cc15deeabcb0519791c6d715f92d1439ca9ac7584185a94d521709f9023fcbafab47a074a7ce8a247d3ce4dfce8af3" -} \ No newline at end of file +} diff --git a/fixtures/events/event-0.json b/fixtures/events/event-0.json index 907e1a11..fecde165 100644 --- a/fixtures/events/event-0.json +++ b/fixtures/events/event-0.json @@ -12,4 +12,4 @@ ], "content": "{\"name\":\"Alex Gleason\",\"about\":\"I create Fediverse software that empowers people online.\\n\\nI'm vegan btw.\\n\\nNote: If you have a question for me, please tag me publicly. This gives the opportunity for others to chime in, and bystanders to learn.\",\"picture\":\"https://media.gleasonator.com/aae0071188681629f200ab41502e03b9861d2754a44c008d3869c8a08b08d1f1.png\",\"banner\":\"https://media.gleasonator.com/e5f6e0e380536780efa774e8d3c8a5a040e3f9f99dbb48910b261c32872ee3a3.gif\",\"nip05\":\"alex_at_gleasonator.com@mostr.pub\",\"lud16\":\"alex@alexgleason.me\"}", "sig": "9d48bbb600aab44abaeee11c97f1753f1d7de08378e9b33d84f9be893a09270aeceecfde3cfb698c555ae1bde3e4e54b3463a61bb99bdf673d64c2202f98b0e9" -} \ No newline at end of file +} diff --git a/fixtures/events/event-1-that-will-be-quote-reposted.json b/fixtures/events/event-1-that-will-be-quote-reposted.json index f9ad396e..8462566e 100644 --- a/fixtures/events/event-1-that-will-be-quote-reposted.json +++ b/fixtures/events/event-1-that-will-be-quote-reposted.json @@ -24,4 +24,4 @@ ], "content": "The Bitcoin Lottery is free to play, and you can win millions! Unlimited tries!\n\nJust guess 12 words mnemonic seed phrase words.", "sig": "b76264f9a7ec0860a9dd3b72f94e81ed6c0d848eee2bc5cc89b78b1cb1b4e00243f0f354c0185824fe16eb16cfcab511275388b6acd29e0d05d97dea1564d5be" -} \ No newline at end of file +} diff --git a/fixtures/events/event-1.json b/fixtures/events/event-1.json index f902786c..33d9fb24 100644 --- a/fixtures/events/event-1.json +++ b/fixtures/events/event-1.json @@ -12,4 +12,4 @@ "created_at": 1691091365, "id": "55920b758b9c7b17854b6e3d44e6a02a83d1cb49e1227e75a30426dea94d4cb2", "sig": "a72f12c08f18e85d98fb92ae89e2fe63e48b8864c5e10fbdd5335f3c9f936397a6b0a7350efe251f8168b1601d7012d4a6d0ee6eec958067cf22a14f5a5ea579" -} \ No newline at end of file +} diff --git a/fixtures/events/kind-0-jack.json b/fixtures/events/kind-0-jack.json index d422377e..332c4b21 100644 --- a/fixtures/events/kind-0-jack.json +++ b/fixtures/events/kind-0-jack.json @@ -1 +1,9 @@ -{"kind":0,"id":"f7b1a3ca3fa77bffded2024568da939e8cd3ed2403004e1ecb56d556f299ad2a","pubkey":"82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2","created_at":1715441226,"tags":[],"content":"{\"banner\":\"https:\\/\\/m.primal.net\\/IBZO.jpg\",\"website\":\"\",\"picture\":\"https:\\/\\/image.nostr.build\\/26867ce34e4b11f0a1d083114919a9f4eca699f3b007454c396ef48c43628315.jpg\",\"lud06\":\"\",\"display_name\":\"\",\"lud16\":\"jack@primal.net\",\"nip05\":\"\",\"name\":\"jack\",\"about\":\"bitcoin \u0026 chill\"}","sig":"9792ceb1e9c73a6c2140540ddbac4279361cae4cc41888019d9dd47d09c1e7cee55948f6e1af824fa0f856d892686352bc757ad157f766f0da656d5e80b38bc7"} +{ + "kind": 0, + "id": "f7b1a3ca3fa77bffded2024568da939e8cd3ed2403004e1ecb56d556f299ad2a", + "pubkey": "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2", + "created_at": 1715441226, + "tags": [], + "content": "{\"banner\":\"https:\\/\\/m.primal.net\\/IBZO.jpg\",\"website\":\"\",\"picture\":\"https:\\/\\/image.nostr.build\\/26867ce34e4b11f0a1d083114919a9f4eca699f3b007454c396ef48c43628315.jpg\",\"lud06\":\"\",\"display_name\":\"\",\"lud16\":\"jack@primal.net\",\"nip05\":\"\",\"name\":\"jack\",\"about\":\"bitcoin \u0026 chill\"}", + "sig": "9792ceb1e9c73a6c2140540ddbac4279361cae4cc41888019d9dd47d09c1e7cee55948f6e1af824fa0f856d892686352bc757ad157f766f0da656d5e80b38bc7" +} diff --git a/fixtures/events/kind-0-patrick.json b/fixtures/events/kind-0-patrick.json index db0defbe..3abf3e35 100644 --- a/fixtures/events/kind-0-patrick.json +++ b/fixtures/events/kind-0-patrick.json @@ -1 +1,9 @@ -{"kind":0,"id":"34bc588a4ff5ca8570a1ad4114485239f83c135b09636dbc16df338f73079e42","pubkey":"47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4","created_at":1726076335,"tags":[],"content":"{\"about\":\"Coding with nature's inspiration, embracing solitude's wisdom. Team Soapbox.\",\"bot\":false,\"lud16\":\"patrickreiis@getalby.com\",\"name\":\"patrickReiis\",\"nip05\":\"patrick@patrickdosreis.com\",\"picture\":\"https://image.nostr.build/2177817a323ed8a58d508fb25160e1c2f38f60256125b764c82c988869916e84.jpg\",\"website\":\"https://patrickdosreis.com/\",\"pubkey\":\"47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4\",\"npub\":\"npub1gujeqakgt7fyp6zjggxhyy7ft623qtcaay5lkc8n8gkry4cvnrzqd3f67z\",\"created_at\":1717600965}","sig":"2780887e58d6e59cc9c03cca8a583bc121d2c74d98cc434d22e65c1f56da1bb09d79fc7cc3c4ee5b829773c17d6f482b114dc951c1683c3908cedff783d785ad"} +{ + "kind": 0, + "id": "34bc588a4ff5ca8570a1ad4114485239f83c135b09636dbc16df338f73079e42", + "pubkey": "47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4", + "created_at": 1726076335, + "tags": [], + "content": "{\"about\":\"Coding with nature's inspiration, embracing solitude's wisdom. Team Soapbox.\",\"bot\":false,\"lud16\":\"patrickreiis@getalby.com\",\"name\":\"patrickReiis\",\"nip05\":\"patrick@patrickdosreis.com\",\"picture\":\"https://image.nostr.build/2177817a323ed8a58d508fb25160e1c2f38f60256125b764c82c988869916e84.jpg\",\"website\":\"https://patrickdosreis.com/\",\"pubkey\":\"47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4\",\"npub\":\"npub1gujeqakgt7fyp6zjggxhyy7ft623qtcaay5lkc8n8gkry4cvnrzqd3f67z\",\"created_at\":1717600965}", + "sig": "2780887e58d6e59cc9c03cca8a583bc121d2c74d98cc434d22e65c1f56da1bb09d79fc7cc3c4ee5b829773c17d6f482b114dc951c1683c3908cedff783d785ad" +} diff --git a/fixtures/events/kind-1-being-zapped.json b/fixtures/events/kind-1-being-zapped.json index 00d33f06..261e552b 100644 --- a/fixtures/events/kind-1-being-zapped.json +++ b/fixtures/events/kind-1-being-zapped.json @@ -1 +1,13 @@ -{"kind":1,"id":"02e52f80e2e6a3ad0993e9c4a7b4e6afc79d067c6ff9c6df3fb2896342dee2df","pubkey":"47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4","created_at":1724609131,"tags":[["e","677c701036eae20632a7677ee6eece0c62e259d5c72864d78a3bbe419c0d2d2c","wss://gleasonator.dev/relay","root"],["e","677c701036eae20632a7677ee6eece0c62e259d5c72864d78a3bbe419c0d2d2c","wss://gleasonator.dev/relay","reply"],["p","82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2"]],"content":"Please I don't want to go back to the shoe factory","sig":"ce6ca329701eec5db0b182bd52c48777b9eccaac298180a6601d8c5156060d944768d71376e7d24c24cefb6619d1467f6a30e0ca574d68f748b38c784e4ced59"} +{ + "kind": 1, + "id": "02e52f80e2e6a3ad0993e9c4a7b4e6afc79d067c6ff9c6df3fb2896342dee2df", + "pubkey": "47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4", + "created_at": 1724609131, + "tags": [ + ["e", "677c701036eae20632a7677ee6eece0c62e259d5c72864d78a3bbe419c0d2d2c", "wss://gleasonator.dev/relay", "root"], + ["e", "677c701036eae20632a7677ee6eece0c62e259d5c72864d78a3bbe419c0d2d2c", "wss://gleasonator.dev/relay", "reply"], + ["p", "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2"] + ], + "content": "Please I don't want to go back to the shoe factory", + "sig": "ce6ca329701eec5db0b182bd52c48777b9eccaac298180a6601d8c5156060d944768d71376e7d24c24cefb6619d1467f6a30e0ca574d68f748b38c784e4ced59" +} diff --git a/fixtures/events/kind-9735-jack-zap-patrick.json b/fixtures/events/kind-9735-jack-zap-patrick.json index 2abe9210..f34ca299 100644 --- a/fixtures/events/kind-9735-jack-zap-patrick.json +++ b/fixtures/events/kind-9735-jack-zap-patrick.json @@ -1 +1,22 @@ -{"kind":9735,"id":"a57d30d59e7442f9a2ad329400a6cbf29c2b34b1e69e4cdce8bc2fe751d9268f","pubkey":"79f00d3f5a19ec806189fcab03c1be4ff81d18ee4f653c88fac41fe03570f432","created_at":1724610766,"tags":[["p","47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4"],["e","02e52f80e2e6a3ad0993e9c4a7b4e6afc79d067c6ff9c6df3fb2896342dee2df"],["P","82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2"],["bolt11","lnbc52250n1pnvk7xvpp5l776w7354zz9mh7sf3dlq8znkfjhysse9dwda9c7se7jwpglng0qhp5jp5cqy7n7wz9jlvd0aa40ws0d3e78l4ug2pzfen2m56mwg0qahrscqzzsxqyz5vqsp5v30pn2u86h3mz69wlvmu9vam9wudlnt4fv9wcxn24s6vrkj842gq9qxpqysgqw9mfxpyce3fhfue8p88exx8g6gn5ut9c2tz8awnw377dmhqymszrsjg49waxprkd6ggdzn90dwpgjwhdtx45052ukylkwvu5q05w5lspyjpg37"],["preimage","18264e7cce0b91bfd2016362e8a239591674c0f51ffa152acf5d73edac675432"],["description","{\"id\":\"092cd6341b42604b8e908f5bed45cbd60d98bff33258ab4f83f24a7fad445065\",\"pubkey\":\"82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2\",\"created_at\":1724610762,\"kind\":9734,\"tags\":[[\"p\",\"47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4\"],[\"e\",\"02e52f80e2e6a3ad0993e9c4a7b4e6afc79d067c6ff9c6df3fb2896342dee2df\"],[\"amount\",\"5225000\"],[\"relays\",\"wss://relay.exit.pub\",\"wss://relay.damus.io\",\"wss://nos.lol\",\"wss://relay.mostr.pub\",\"wss://relay.primal.net\"]],\"content\":\"๐Ÿซ‚\",\"sig\":\"84a36873000d5003c85c56996be856c598e91f66bf2cae9ee9d984892a11774310acf81eae2b40e9fbf25040b91239e840f856c44b68be2d23e4451fa6c5762a\"}"]],"content":"๐Ÿซ‚","sig":"087adfe3c5831e2d760678b2929f35340c35662929acb8050f0956a2a95ba2917bf610f921e3d3fc0c08a123c6f721574eb80ca469fe7e33b6581e976844bfcc"} +{ + "kind": 9735, + "id": "a57d30d59e7442f9a2ad329400a6cbf29c2b34b1e69e4cdce8bc2fe751d9268f", + "pubkey": "79f00d3f5a19ec806189fcab03c1be4ff81d18ee4f653c88fac41fe03570f432", + "created_at": 1724610766, + "tags": [ + ["p", "47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4"], + ["e", "02e52f80e2e6a3ad0993e9c4a7b4e6afc79d067c6ff9c6df3fb2896342dee2df"], + ["P", "82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2"], + [ + "bolt11", + "lnbc52250n1pnvk7xvpp5l776w7354zz9mh7sf3dlq8znkfjhysse9dwda9c7se7jwpglng0qhp5jp5cqy7n7wz9jlvd0aa40ws0d3e78l4ug2pzfen2m56mwg0qahrscqzzsxqyz5vqsp5v30pn2u86h3mz69wlvmu9vam9wudlnt4fv9wcxn24s6vrkj842gq9qxpqysgqw9mfxpyce3fhfue8p88exx8g6gn5ut9c2tz8awnw377dmhqymszrsjg49waxprkd6ggdzn90dwpgjwhdtx45052ukylkwvu5q05w5lspyjpg37" + ], + ["preimage", "18264e7cce0b91bfd2016362e8a239591674c0f51ffa152acf5d73edac675432"], + [ + "description", + "{\"id\":\"092cd6341b42604b8e908f5bed45cbd60d98bff33258ab4f83f24a7fad445065\",\"pubkey\":\"82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2\",\"created_at\":1724610762,\"kind\":9734,\"tags\":[[\"p\",\"47259076c85f9240e852420d7213c95e95102f1de929fb60f33a2c32570c98c4\"],[\"e\",\"02e52f80e2e6a3ad0993e9c4a7b4e6afc79d067c6ff9c6df3fb2896342dee2df\"],[\"amount\",\"5225000\"],[\"relays\",\"wss://relay.exit.pub\",\"wss://relay.damus.io\",\"wss://nos.lol\",\"wss://relay.mostr.pub\",\"wss://relay.primal.net\"]],\"content\":\"๐Ÿซ‚\",\"sig\":\"84a36873000d5003c85c56996be856c598e91f66bf2cae9ee9d984892a11774310acf81eae2b40e9fbf25040b91239e840f856c44b68be2d23e4451fa6c5762a\"}" + ] + ], + "content": "๐Ÿซ‚", + "sig": "087adfe3c5831e2d760678b2929f35340c35662929acb8050f0956a2a95ba2917bf610f921e3d3fc0c08a123c6f721574eb80ca469fe7e33b6581e976844bfcc" +} diff --git a/fixtures/nostrbuild-gif.json b/fixtures/nostrbuild-gif.json index 49a969af..1e79def7 100644 --- a/fixtures/nostrbuild-gif.json +++ b/fixtures/nostrbuild-gif.json @@ -31,4 +31,4 @@ } } ] -} \ No newline at end of file +} diff --git a/fixtures/nostrbuild-mp3.json b/fixtures/nostrbuild-mp3.json index 42a60b44..bd3256fa 100644 --- a/fixtures/nostrbuild-mp3.json +++ b/fixtures/nostrbuild-mp3.json @@ -26,4 +26,4 @@ "dimensionsString": "0x0" } ] -} \ No newline at end of file +} diff --git a/fixtures/stats.json b/fixtures/stats.json index 065ce76e..7a976f4c 100644 --- a/fixtures/stats.json +++ b/fixtures/stats.json @@ -1 +1,102 @@ -{"authors":[{"pubkey":"17538dc2a62769d09443f18c37cbe358fab5bbf981173542aa7c5ff171ed77c4","followers_count":1386,"following_count":2108,"notes_count":805},{"pubkey":"3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d","followers_count":7420,"following_count":478,"notes_count":446},{"pubkey":"3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24","followers_count":6999,"following_count":1428,"notes_count":801},{"pubkey":"7579076d9aff0a4cfdefa7e2045f2486c7e5d8bc63bfc6b45397233e1bbfcb19","followers_count":535,"following_count":962,"notes_count":59},{"pubkey":"97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322","followers_count":4199,"following_count":398,"notes_count":176},{"pubkey":"9be0be0e64d38a29a9cec9a5c8ef5d873c2bfa5362a4b558da5ff69bc3cbb81e","followers_count":695,"following_count":242,"notes_count":49},{"pubkey":"9ca0bd7450742d6a20319c0e3d4c679c9e046a9dc70e8ef55c2905e24052340b","followers_count":614,"following_count":301,"notes_count":566},{"pubkey":"c37b6a82a98de368c104bbc6da365571ec5a263b07057d0a3977b4c05afa7e63","followers_count":270,"following_count":361,"notes_count":589},{"pubkey":"fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52","followers_count":6902,"following_count":1,"notes_count":536}],"events":[{"event_id":"1c9ca83dfdc96bd795e0420904bdfeb81d9434aa69c88ce773f0e6e849b8e6cd","reposts_count":0,"replies_count":0,"reactions_count":3,"reactions":"{\"๐Ÿ”ฅ\":2,\"๐Ÿค™\":1}"},{"event_id":"2a6860b01ac1cb31c081a6cf93d2d83f7bb4a54d669414db61ead5602688a03e","reposts_count":0,"replies_count":0,"reactions_count":2,"reactions":"{\"๐Ÿงก\":1,\"+\":1}"},{"event_id":"b1ed8ea342d0023a8bedcb79de77633f8f550a21e363e707dd260e411977cff4","reposts_count":0,"replies_count":0,"reactions_count":4,"reactions":"{\"๐Ÿ”ฅ\":2,\"+\":2}"},{"event_id":"b8d7eff16cd1ead7c28032f9e36fd4ef2e29682f84e2a89f2fca8c2bec13385d","reposts_count":1,"replies_count":0,"reactions_count":4,"reactions":"{\"๐Ÿค™\":1,\"+\":2,\"๐Ÿ‘Œ\":1}"},{"event_id":"cc127dc2528ad97eaa88ff37d6c5d6bbe94b163ca873701db64f9e1bcfaa40cb","reposts_count":2,"replies_count":0,"reactions_count":5,"reactions":"{\"๐Ÿ’œ\":1,\"๐Ÿค™\":3,\"+\":1}"},{"event_id":"f331dc1c3985cf76b997dc9fadcb46241ba0ccb9d20159b0a3ca6f77f4316f58","reposts_count":0,"replies_count":0,"reactions_count":1,"reactions":"{\"+\":1}"}]} \ No newline at end of file +{ + "authors": [ + { + "pubkey": "17538dc2a62769d09443f18c37cbe358fab5bbf981173542aa7c5ff171ed77c4", + "followers_count": 1386, + "following_count": 2108, + "notes_count": 805 + }, + { + "pubkey": "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d", + "followers_count": 7420, + "following_count": 478, + "notes_count": 446 + }, + { + "pubkey": "3f770d65d3a764a9c5cb503ae123e62ec7598ad035d836e2a810f3877a745b24", + "followers_count": 6999, + "following_count": 1428, + "notes_count": 801 + }, + { + "pubkey": "7579076d9aff0a4cfdefa7e2045f2486c7e5d8bc63bfc6b45397233e1bbfcb19", + "followers_count": 535, + "following_count": 962, + "notes_count": 59 + }, + { + "pubkey": "97c70a44366a6535c145b333f973ea86dfdc2d7a99da618c40c64705ad98e322", + "followers_count": 4199, + "following_count": 398, + "notes_count": 176 + }, + { + "pubkey": "9be0be0e64d38a29a9cec9a5c8ef5d873c2bfa5362a4b558da5ff69bc3cbb81e", + "followers_count": 695, + "following_count": 242, + "notes_count": 49 + }, + { + "pubkey": "9ca0bd7450742d6a20319c0e3d4c679c9e046a9dc70e8ef55c2905e24052340b", + "followers_count": 614, + "following_count": 301, + "notes_count": 566 + }, + { + "pubkey": "c37b6a82a98de368c104bbc6da365571ec5a263b07057d0a3977b4c05afa7e63", + "followers_count": 270, + "following_count": 361, + "notes_count": 589 + }, + { + "pubkey": "fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52", + "followers_count": 6902, + "following_count": 1, + "notes_count": 536 + } + ], + "events": [ + { + "event_id": "1c9ca83dfdc96bd795e0420904bdfeb81d9434aa69c88ce773f0e6e849b8e6cd", + "reposts_count": 0, + "replies_count": 0, + "reactions_count": 3, + "reactions": "{\"๐Ÿ”ฅ\":2,\"๐Ÿค™\":1}" + }, + { + "event_id": "2a6860b01ac1cb31c081a6cf93d2d83f7bb4a54d669414db61ead5602688a03e", + "reposts_count": 0, + "replies_count": 0, + "reactions_count": 2, + "reactions": "{\"๐Ÿงก\":1,\"+\":1}" + }, + { + "event_id": "b1ed8ea342d0023a8bedcb79de77633f8f550a21e363e707dd260e411977cff4", + "reposts_count": 0, + "replies_count": 0, + "reactions_count": 4, + "reactions": "{\"๐Ÿ”ฅ\":2,\"+\":2}" + }, + { + "event_id": "b8d7eff16cd1ead7c28032f9e36fd4ef2e29682f84e2a89f2fca8c2bec13385d", + "reposts_count": 1, + "replies_count": 0, + "reactions_count": 4, + "reactions": "{\"๐Ÿค™\":1,\"+\":2,\"๐Ÿ‘Œ\":1}" + }, + { + "event_id": "cc127dc2528ad97eaa88ff37d6c5d6bbe94b163ca873701db64f9e1bcfaa40cb", + "reposts_count": 2, + "replies_count": 0, + "reactions_count": 5, + "reactions": "{\"๐Ÿ’œ\":1,\"๐Ÿค™\":3,\"+\":1}" + }, + { + "event_id": "f331dc1c3985cf76b997dc9fadcb46241ba0ccb9d20159b0a3ca6f77f4316f58", + "reposts_count": 0, + "replies_count": 0, + "reactions_count": 1, + "reactions": "{\"+\":1}" + } + ] +} diff --git a/grafana/Ditto-Dashboard.json b/grafana/Ditto-Dashboard.json index 3c03f23d..8c020338 100644 --- a/grafana/Ditto-Dashboard.json +++ b/grafana/Ditto-Dashboard.json @@ -4996,4 +4996,4 @@ "uid": "ddps3ap51fv28d", "version": 11, "weekStart": "" -} \ No newline at end of file +}