Merge branch 'fix-self-reply' into 'develop'
Move status normalizer code into its own module See merge request soapbox-pub/soapbox-fe!1046
This commit is contained in:
commit
dc979a8039
28 changed files with 989 additions and 0 deletions
127
app/soapbox/__fixtures__/alex.json
Normal file
127
app/soapbox/__fixtures__/alex.json
Normal file
|
@ -0,0 +1,127 @@
|
|||
{
|
||||
"acct": "alex",
|
||||
"avatar": "https://media.gleasonator.com/6d64aecb17348b23aaff78db4687b9476cb0da1c07cc6a819c2e6ec7144c18b1.png",
|
||||
"avatar_static": "https://media.gleasonator.com/6d64aecb17348b23aaff78db4687b9476cb0da1c07cc6a819c2e6ec7144c18b1.png",
|
||||
"bot": false,
|
||||
"created_at": "2020-01-08T01:25:43.000Z",
|
||||
"display_name": "Alex Gleason",
|
||||
"emojis": [],
|
||||
"fields": [
|
||||
{
|
||||
"name": "Website",
|
||||
"value": "<a href=\"https://alexgleason.me\" rel=\"ugc\">https://alexgleason.me</a>"
|
||||
},
|
||||
{
|
||||
"name": "Soapbox",
|
||||
"value": "<a href=\"https://soapbox.pub\" rel=\"ugc\">https://soapbox.pub</a>"
|
||||
},
|
||||
{
|
||||
"name": "Email",
|
||||
"value": "alex@alexgleason.me"
|
||||
},
|
||||
{
|
||||
"name": "Gender identity",
|
||||
"value": "Soyboy"
|
||||
},
|
||||
{
|
||||
"name": "Donate (PayPal)",
|
||||
"value": "<a href=\"https://paypal.me/gleasonator\" rel=\"ugc\">https://paypal.me/gleasonator</a>"
|
||||
},
|
||||
{
|
||||
"name": "$BTC",
|
||||
"value": "bc1q9cx35adpm73aq2fw40ye6ts8hfxqzjr5unwg0n"
|
||||
},
|
||||
{
|
||||
"name": "$ETH",
|
||||
"value": "0xAc9aB5Fc04Dc1cB1789Af75b523Bd23C70B2D717"
|
||||
},
|
||||
{
|
||||
"name": "$DOGE",
|
||||
"value": "D5zVZs6jrRakaPVGiErkQiHt9sayzm6V5D"
|
||||
},
|
||||
{
|
||||
"name": "$XMR",
|
||||
"value": "45JDCLrjJ4bgVUSbbs2yjy9m5Mf4VLPW8fG7jw9sq5u69rXZZopQogZNeyYkMBnXpkaip4p4QwaaJNhdTotPa9g44DBCzdK"
|
||||
}
|
||||
],
|
||||
"followers_count": 2378,
|
||||
"following_count": 1571,
|
||||
"fqn": "alex@gleasonator.com",
|
||||
"header": "https://media.gleasonator.com/accounts/headers/000/000/001/original/9d0e4dbf1c9dbc8f.png",
|
||||
"header_static": "https://media.gleasonator.com/accounts/headers/000/000/001/original/9d0e4dbf1c9dbc8f.png",
|
||||
"id": "9v5bmRalQvjOy0ECcC",
|
||||
"last_status_at": "2022-02-20T04:14:49",
|
||||
"locked": false,
|
||||
"note": "I create Fediverse software that empowers people online.<br/><br/>I'm vegan btw<br/><br/>Note: If you have a question for me, please tag me publicly. This gives the opportunity for others to chime in, and bystanders to learn.",
|
||||
"pleroma": {
|
||||
"accepts_chat_messages": true,
|
||||
"also_known_as": [
|
||||
"https://mitra.social/users/alex"
|
||||
],
|
||||
"ap_id": "https://gleasonator.com/users/alex",
|
||||
"background_image": null,
|
||||
"birthday": "1993-07-03",
|
||||
"favicon": "https://gleasonator.com/favicon.png",
|
||||
"hide_favorites": true,
|
||||
"hide_followers": false,
|
||||
"hide_followers_count": false,
|
||||
"hide_follows": false,
|
||||
"hide_follows_count": false,
|
||||
"is_admin": true,
|
||||
"is_confirmed": true,
|
||||
"is_moderator": false,
|
||||
"is_suggested": true,
|
||||
"relationship": {},
|
||||
"skip_thread_containment": false,
|
||||
"tags": []
|
||||
},
|
||||
"source": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "Website",
|
||||
"value": "https://alexgleason.me"
|
||||
},
|
||||
{
|
||||
"name": "Soapbox",
|
||||
"value": "https://soapbox.pub"
|
||||
},
|
||||
{
|
||||
"name": "Email",
|
||||
"value": "alex@alexgleason.me"
|
||||
},
|
||||
{
|
||||
"name": "Gender identity",
|
||||
"value": "Soyboy"
|
||||
},
|
||||
{
|
||||
"name": "Donate (PayPal)",
|
||||
"value": "https://paypal.me/gleasonator"
|
||||
},
|
||||
{
|
||||
"name": "$BTC",
|
||||
"value": "bc1q9cx35adpm73aq2fw40ye6ts8hfxqzjr5unwg0n"
|
||||
},
|
||||
{
|
||||
"name": "$ETH",
|
||||
"value": "0xAc9aB5Fc04Dc1cB1789Af75b523Bd23C70B2D717"
|
||||
},
|
||||
{
|
||||
"name": "$DOGE",
|
||||
"value": "D5zVZs6jrRakaPVGiErkQiHt9sayzm6V5D"
|
||||
},
|
||||
{
|
||||
"name": "$XMR",
|
||||
"value": "45JDCLrjJ4bgVUSbbs2yjy9m5Mf4VLPW8fG7jw9sq5u69rXZZopQogZNeyYkMBnXpkaip4p4QwaaJNhdTotPa9g44DBCzdK"
|
||||
}
|
||||
],
|
||||
"note": "I create Fediverse software that empowers people online.\r\n\r\nI'm vegan btw\r\n\r\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.",
|
||||
"pleroma": {
|
||||
"actor_type": "Person",
|
||||
"discoverable": false
|
||||
},
|
||||
"sensitive": false
|
||||
},
|
||||
"statuses_count": 23477,
|
||||
"url": "https://gleasonator.com/users/alex",
|
||||
"username": "alex"
|
||||
}
|
185
app/soapbox/__fixtures__/fedibird-instance.json
Normal file
185
app/soapbox/__fixtures__/fedibird-instance.json
Normal file
|
@ -0,0 +1,185 @@
|
|||
{
|
||||
"uri": "fedibird.com",
|
||||
"title": "Fedibird",
|
||||
"short_description": "多くの独自機能を備えた、連合志向の汎用Mastodonサーバです。Fediverseの活動拠点としてご利用ください。",
|
||||
"description": "多くの独自機能を備えた、連合志向の汎用Mastodonサーバです。Fediverseの活動拠点としてご利用ください。",
|
||||
"email": "support@fedibird.com",
|
||||
"version": "3.4.1",
|
||||
"urls": {
|
||||
"streaming_api": "wss://fedibird.com"
|
||||
},
|
||||
"stats": {
|
||||
"user_count": 1964,
|
||||
"status_count": 4590304,
|
||||
"domain_count": 9024
|
||||
},
|
||||
"thumbnail": "https://s3.fedibird.com/site_uploads/files/000/000/001/original/fedibird_hero_image.png",
|
||||
"languages": [
|
||||
"ja"
|
||||
],
|
||||
"registrations": true,
|
||||
"approval_required": false,
|
||||
"invites_enabled": true,
|
||||
"configuration": {
|
||||
"statuses": {
|
||||
"max_characters": 500,
|
||||
"max_media_attachments": 4,
|
||||
"characters_reserved_per_url": 23,
|
||||
"min_expiration": 60,
|
||||
"max_expiration": 37152000,
|
||||
"supported_expires_actions": [
|
||||
"delete",
|
||||
"mark"
|
||||
]
|
||||
},
|
||||
"media_attachments": {
|
||||
"supported_mime_types": [
|
||||
"image/jpeg",
|
||||
"image/png",
|
||||
"image/gif",
|
||||
"image/webp",
|
||||
"image/heif",
|
||||
"image/heic",
|
||||
"video/webm",
|
||||
"video/mp4",
|
||||
"video/quicktime",
|
||||
"video/ogg",
|
||||
"audio/wave",
|
||||
"audio/wav",
|
||||
"audio/x-wav",
|
||||
"audio/x-pn-wave",
|
||||
"audio/ogg",
|
||||
"audio/mpeg",
|
||||
"audio/mp3",
|
||||
"audio/webm",
|
||||
"audio/flac",
|
||||
"audio/aac",
|
||||
"audio/m4a",
|
||||
"audio/x-m4a",
|
||||
"audio/mp4",
|
||||
"audio/3gpp",
|
||||
"video/x-ms-asf"
|
||||
],
|
||||
"image_size_limit": 10485760,
|
||||
"image_matrix_limit": 16777216,
|
||||
"video_size_limit": 41943040,
|
||||
"video_frame_rate_limit": 60,
|
||||
"video_matrix_limit": 2304000
|
||||
},
|
||||
"polls": {
|
||||
"max_options": 4,
|
||||
"max_characters_per_option": 50,
|
||||
"min_expiration": 300,
|
||||
"max_expiration": 2629746
|
||||
},
|
||||
"emoji_reactions": {
|
||||
"max_reactions": 20
|
||||
}
|
||||
},
|
||||
"feature_quote": true,
|
||||
"fedibird_capabilities": [
|
||||
"favourite_hashtag",
|
||||
"favourite_domain",
|
||||
"favourite_list",
|
||||
"status_expire",
|
||||
"follow_no_delivery",
|
||||
"follow_hashtag",
|
||||
"subscribe_account",
|
||||
"subscribe_domain",
|
||||
"subscribe_keyword",
|
||||
"timeline_home_visibility",
|
||||
"timeline_no_local",
|
||||
"timeline_domain",
|
||||
"timeline_group",
|
||||
"timeline_group_directory",
|
||||
"visibility_mutual",
|
||||
"visibility_limited",
|
||||
"emoji_reaction",
|
||||
"misskey_birthday",
|
||||
"misskey_location"
|
||||
],
|
||||
"contact_account": {
|
||||
"id": "1",
|
||||
"username": "noellabo",
|
||||
"acct": "noellabo",
|
||||
"display_name": "のえる",
|
||||
"locked": false,
|
||||
"bot": false,
|
||||
"cat": false,
|
||||
"discoverable": true,
|
||||
"group": false,
|
||||
"created_at": "2019-08-15T00:00:00.000Z",
|
||||
"note": "<p>主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。</p><p>Mastodonサーバ『Fedibird』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては <a href=\"https://fedibird.com/about/more\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">fedibird.com/about/more</span><span class=\"invisible\"></span></a> と <span class=\"h-card\"><a href=\"https://fedibird.com/@info\" class=\"u-url mention\">@<span>info</span></a></span> を参照してください。</p>",
|
||||
"url": "https://fedibird.com/@noellabo",
|
||||
"avatar": "https://s3.fedibird.com/accounts/avatars/000/000/001/original/6ef3b7f18f726755.png",
|
||||
"avatar_static": "https://s3.fedibird.com/accounts/avatars/000/000/001/original/6ef3b7f18f726755.png",
|
||||
"header": "https://s3.fedibird.com/accounts/headers/000/000/001/original/6a5a51722c094835.jpg",
|
||||
"header_static": "https://s3.fedibird.com/accounts/headers/000/000/001/original/6a5a51722c094835.jpg",
|
||||
"followers_count": 1560,
|
||||
"following_count": 758,
|
||||
"subscribing_count": 121,
|
||||
"statuses_count": 61325,
|
||||
"last_status_at": "2022-02-24",
|
||||
"emojis": [
|
||||
{
|
||||
"shortcode": "liberapay",
|
||||
"url": "https://s3.fedibird.com/custom_emojis/images/000/025/634/original/5b8620742973f844.png",
|
||||
"static_url": "https://s3.fedibird.com/custom_emojis/images/000/025/634/static/5b8620742973f844.png",
|
||||
"visible_in_picker": true
|
||||
},
|
||||
{
|
||||
"shortcode": "mastodon",
|
||||
"url": "https://s3.fedibird.com/custom_emojis/images/000/008/396/original/1317b6f8efcf8318.png",
|
||||
"static_url": "https://s3.fedibird.com/custom_emojis/images/000/008/396/static/1317b6f8efcf8318.png",
|
||||
"visible_in_picker": true
|
||||
}
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
"name": ":liberapay: Liberapay",
|
||||
"value": "<a href=\"https://liberapay.com/noellabo\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">liberapay.com/noellabo</span><span class=\"invisible\"></span></a>",
|
||||
"verified_at": "2020-10-22T03:04:43.206+00:00"
|
||||
},
|
||||
{
|
||||
"name": ":mastodon: DTP-Mstdn.jp",
|
||||
"value": "<a class=\"account-url-link\" data-account-acct=\"noellabo@dtp-mstdn.jp\" data-account-actor-type=\"Person\" data-account-id=\"55\" href=\"https://dtp-mstdn.jp/@noellabo\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">dtp-mstdn.jp/@noellabo</span><span class=\"invisible\"></span></a>",
|
||||
"verified_at": "2020-05-23T00:14:02.232+00:00"
|
||||
},
|
||||
{
|
||||
"name": "別宅",
|
||||
"value": "<a class=\"account-url-link\" data-account-acct=\"noellabo@gorone.xyz\" data-account-actor-type=\"Person\" data-account-id=\"14504\" href=\"https://gorone.xyz/@noellabo\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">gorone.xyz/@noellabo</span><span class=\"invisible\"></span></a>",
|
||||
"verified_at": "2021-08-11T07:48:53.479+00:00"
|
||||
},
|
||||
{
|
||||
"name": "bluesky community",
|
||||
"value": "<a class=\"account-url-link\" data-account-acct=\"noellabo@mastodon.blueskycommunity.net\" data-account-actor-type=\"Person\" data-account-id=\"107267866207603606\" href=\"https://mastodon.blueskycommunity.net/@noellabo\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mastodon.blueskycommunity.net/</span><span class=\"invisible\">@noellabo</span></a>",
|
||||
"verified_at": "2021-11-13T04:28:30.593+00:00"
|
||||
}
|
||||
],
|
||||
"other_settings": {
|
||||
"birthday": null,
|
||||
"location": "埼玉県",
|
||||
"cat_ears_color": "#d5c5c0",
|
||||
"noindex": false,
|
||||
"hide_network": false,
|
||||
"hide_statuses_count": false,
|
||||
"hide_following_count": false,
|
||||
"hide_followers_count": false,
|
||||
"enable_reaction": true
|
||||
}
|
||||
},
|
||||
"rules": [
|
||||
{
|
||||
"id": "2",
|
||||
"text": "日本の法律と社会規範に従った行動を心がけてください"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"text": "不快や脅威に対してはブロック・ミュート・フィルターで距離をとってください"
|
||||
},
|
||||
{
|
||||
"id": "1",
|
||||
"text": "投稿する際は、適切な公開範囲・CW・閲覧注意を使用してください"
|
||||
}
|
||||
]
|
||||
}
|
46
app/soapbox/__fixtures__/friendica-instance.json
Normal file
46
app/soapbox/__fixtures__/friendica-instance.json
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"uri": "https://ica.mkljczk.pl",
|
||||
"title": "Friendica Social Network",
|
||||
"short_description": "",
|
||||
"description": "",
|
||||
"email": "me@mkljczk.pl",
|
||||
"version": "2022.05-dev",
|
||||
"urls": null,
|
||||
"stats": {
|
||||
"user_count": 0,
|
||||
"status_count": 0,
|
||||
"domain_count": 0
|
||||
},
|
||||
"thumbnail": "https://ica.mkljczk.plimages/friendica-32.png",
|
||||
"languages": [
|
||||
"pl"
|
||||
],
|
||||
"max_toot_chars": 200000,
|
||||
"registrations": true,
|
||||
"approval_required": false,
|
||||
"invites_enabled": false,
|
||||
"contact_account": {
|
||||
"id": "2",
|
||||
"username": "nofriend",
|
||||
"acct": "nofriend",
|
||||
"display_name": "marcin mikołajczak",
|
||||
"locked": true,
|
||||
"bot": false,
|
||||
"discoverable": true,
|
||||
"group": false,
|
||||
"created_at": "2022-02-19T14:51:00.000Z",
|
||||
"note": "",
|
||||
"url": "https://ica.mkljczk.pl/profile/nofriend",
|
||||
"avatar": "https://ica.mkljczk.pl/photo/contact/300/68a16c11-1262-1103-d40b-806159848009?ts=1645292106",
|
||||
"avatar_static": "https://ica.mkljczk.pl/photo/contact/300/68a16c11-1262-1103-d40b-806159848009?ts=1645292106",
|
||||
"header": "https://ica.mkljczk.pl/photo/header/68a16c11-1262-1103-d40b-806159848009?ts=1645292106",
|
||||
"header_static": "https://ica.mkljczk.pl/photo/header/68a16c11-1262-1103-d40b-806159848009?ts=1645292106",
|
||||
"followers_count": 0,
|
||||
"following_count": 1,
|
||||
"statuses_count": 0,
|
||||
"last_status_at": "2022-02-20",
|
||||
"emojis": [],
|
||||
"fields": []
|
||||
},
|
||||
"rules": []
|
||||
}
|
53
app/soapbox/__fixtures__/friendica-status.json
Normal file
53
app/soapbox/__fixtures__/friendica-status.json
Normal file
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"id": "106",
|
||||
"created_at": "2022-02-19T18:19:40.000Z",
|
||||
"in_reply_to_id": null,
|
||||
"in_reply_to_account_id": null,
|
||||
"sensitive": false,
|
||||
"spoiler_text": "",
|
||||
"visibility": "public",
|
||||
"language": "fa",
|
||||
"uri": "https://ica.mkljczk.pl/objects/68a16c11-4262-1134-bc4e-0db298374337",
|
||||
"url": "https://ica.mkljczk.pl/display/68a16c11-4262-1134-bc4e-0db298374337",
|
||||
"replies_count": 0,
|
||||
"reblogs_count": 0,
|
||||
"favourites_count": 0,
|
||||
"favourited": false,
|
||||
"reblogged": false,
|
||||
"muted": false,
|
||||
"bookmarked": true,
|
||||
"content": "Hello to Friendica from fe.soapbox.pub!",
|
||||
"reblog": null,
|
||||
"application": {
|
||||
"name": "Soapbox FE"
|
||||
},
|
||||
"account": {
|
||||
"id": "95",
|
||||
"username": "alex",
|
||||
"acct": "alex",
|
||||
"display_name": "Alex Gleason",
|
||||
"locked": true,
|
||||
"bot": false,
|
||||
"discoverable": false,
|
||||
"group": false,
|
||||
"created_at": "2022-02-19T18:17:43.000Z",
|
||||
"note": "",
|
||||
"url": "https://ica.mkljczk.pl/profile/alex",
|
||||
"avatar": "https://ica.mkljczk.pl/photo/contact/300/68a16c11-1862-1134-4779-f98088458845?ts=1645294804",
|
||||
"avatar_static": "https://ica.mkljczk.pl/photo/contact/300/68a16c11-1862-1134-4779-f98088458845?ts=1645294804",
|
||||
"header": "https://ica.mkljczk.pl/photo/header/68a16c11-1862-1134-4779-f98088458845?ts=1645294804",
|
||||
"header_static": "https://ica.mkljczk.pl/photo/header/68a16c11-1862-1134-4779-f98088458845?ts=1645294804",
|
||||
"followers_count": 0,
|
||||
"following_count": 0,
|
||||
"statuses_count": 2,
|
||||
"last_status_at": "2022-02-19",
|
||||
"emojis": [],
|
||||
"fields": []
|
||||
},
|
||||
"media_attachments": [],
|
||||
"mentions": [],
|
||||
"tags": [],
|
||||
"emojis": [],
|
||||
"card": null,
|
||||
"poll": null
|
||||
}
|
27
app/soapbox/__fixtures__/gotosocial-account.json
Normal file
27
app/soapbox/__fixtures__/gotosocial-account.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"id": "00YSECR4P7E64BD5MBA639PRVT",
|
||||
"username": "alex",
|
||||
"acct": "alex",
|
||||
"display_name": "Alex Gleason",
|
||||
"locked": false,
|
||||
"bot": false,
|
||||
"created_at": "2022-02-23T22:43:55Z",
|
||||
"note": "<p>My GoToSocial profile</p>",
|
||||
"url": "http://localhost/@alex",
|
||||
"avatar": "",
|
||||
"avatar_static": "",
|
||||
"header": "",
|
||||
"header_static": "",
|
||||
"followers_count": 0,
|
||||
"following_count": 0,
|
||||
"statuses_count": 1,
|
||||
"last_status_at": "2022-02-23T22:54:14Z",
|
||||
"emojis": [],
|
||||
"fields": [],
|
||||
"source": {
|
||||
"privacy": "unlisted",
|
||||
"language": "en",
|
||||
"note": "<p>My GoToSocial profile</p>",
|
||||
"fields": []
|
||||
}
|
||||
}
|
42
app/soapbox/__fixtures__/gotosocial-instance.json
Normal file
42
app/soapbox/__fixtures__/gotosocial-instance.json
Normal file
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"uri": "http://localhost",
|
||||
"title": "localhost",
|
||||
"description": "",
|
||||
"short_description": "",
|
||||
"email": "",
|
||||
"version": "0.2.0 31935ee",
|
||||
"registrations": true,
|
||||
"approval_required": true,
|
||||
"invites_enabled": false,
|
||||
"urls": {
|
||||
"streaming_api": "wss://localhost"
|
||||
},
|
||||
"stats": {
|
||||
"domain_count": 0,
|
||||
"status_count": 1,
|
||||
"user_count": 1
|
||||
},
|
||||
"thumbnail": "",
|
||||
"contact_account": {
|
||||
"id": "",
|
||||
"username": "",
|
||||
"acct": "",
|
||||
"display_name": "",
|
||||
"locked": false,
|
||||
"bot": false,
|
||||
"created_at": "",
|
||||
"note": "",
|
||||
"url": "",
|
||||
"avatar": "",
|
||||
"avatar_static": "",
|
||||
"header": "",
|
||||
"header_static": "",
|
||||
"followers_count": 0,
|
||||
"following_count": 0,
|
||||
"statuses_count": 0,
|
||||
"last_status_at": "",
|
||||
"emojis": null,
|
||||
"fields": null
|
||||
},
|
||||
"max_toot_chars": 5000
|
||||
}
|
50
app/soapbox/__fixtures__/gotosocial-status.json
Normal file
50
app/soapbox/__fixtures__/gotosocial-status.json
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"id": "01FWMCNM07GGDV8HF40NZ9YTGR",
|
||||
"created_at": "2022-02-23T22:54:14Z",
|
||||
"sensitive": false,
|
||||
"spoiler_text": "",
|
||||
"visibility": "public",
|
||||
"language": "en",
|
||||
"uri": "http://localhost/users/alex/statuses/01FWMCNM07GGDV8HF40NZ9YTGR",
|
||||
"url": "http://localhost/@alex/statuses/01FWMCNM07GGDV8HF40NZ9YTGR",
|
||||
"replies_count": 0,
|
||||
"reblogs_count": 0,
|
||||
"favourites_count": 0,
|
||||
"favourited": false,
|
||||
"reblogged": false,
|
||||
"muted": false,
|
||||
"bookmarked": false,
|
||||
"content": "<p>Hello GoToSocial!</p>",
|
||||
"application": {
|
||||
"name": "Soapbox FE",
|
||||
"website": "https://soapbox.pub/"
|
||||
},
|
||||
"account": {
|
||||
"id": "00YSECR4P7E64BD5MBA639PRVT",
|
||||
"username": "alex",
|
||||
"acct": "alex",
|
||||
"display_name": "alex",
|
||||
"locked": false,
|
||||
"bot": false,
|
||||
"created_at": "2022-02-23T22:43:55Z",
|
||||
"note": "",
|
||||
"url": "http://localhost/@alex",
|
||||
"avatar": "",
|
||||
"avatar_static": "",
|
||||
"header": "",
|
||||
"header_static": "",
|
||||
"followers_count": 0,
|
||||
"following_count": 0,
|
||||
"statuses_count": 1,
|
||||
"last_status_at": "2022-02-23T22:54:14Z",
|
||||
"emojis": [],
|
||||
"fields": []
|
||||
},
|
||||
"media_attachments": [],
|
||||
"mentions": [],
|
||||
"tags": [],
|
||||
"emojis": [],
|
||||
"card": null,
|
||||
"poll": null,
|
||||
"text": "Hello GoToSocial!"
|
||||
}
|
51
app/soapbox/__fixtures__/mastodon-reply-to-self.json
Normal file
51
app/soapbox/__fixtures__/mastodon-reply-to-self.json
Normal file
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
"id": "107828148293766288",
|
||||
"created_at": "2022-02-20T03:16:09.812Z",
|
||||
"in_reply_to_id": "107828147870368566",
|
||||
"in_reply_to_account_id": "106801667066418367",
|
||||
"sensitive": false,
|
||||
"spoiler_text": "",
|
||||
"visibility": "public",
|
||||
"language": "en",
|
||||
"uri": "https://mastodon.social/users/benis911/statuses/107828148293766288",
|
||||
"url": "https://mastodon.social/@benis911/107828148293766288",
|
||||
"replies_count": 0,
|
||||
"reblogs_count": 0,
|
||||
"favourites_count": 0,
|
||||
"edited_at": null,
|
||||
"content": "<p>test reply to self</p>",
|
||||
"reblog": null,
|
||||
"application": {
|
||||
"name": "Soapbox FE",
|
||||
"website": "https://soapbox.pub/"
|
||||
},
|
||||
"account": {
|
||||
"id": "106801667066418367",
|
||||
"username": "benis911",
|
||||
"acct": "benis911",
|
||||
"display_name": "",
|
||||
"locked": false,
|
||||
"bot": false,
|
||||
"discoverable": null,
|
||||
"group": false,
|
||||
"created_at": "2021-08-22T00:00:00.000Z",
|
||||
"note": "<p></p>",
|
||||
"url": "https://mastodon.social/@benis911",
|
||||
"avatar": "https://mastodon.social/avatars/original/missing.png",
|
||||
"avatar_static": "https://mastodon.social/avatars/original/missing.png",
|
||||
"header": "https://mastodon.social/headers/original/missing.png",
|
||||
"header_static": "https://mastodon.social/headers/original/missing.png",
|
||||
"followers_count": 0,
|
||||
"following_count": 0,
|
||||
"statuses_count": 3,
|
||||
"last_status_at": "2022-02-20",
|
||||
"emojis": [],
|
||||
"fields": []
|
||||
},
|
||||
"media_attachments": [],
|
||||
"mentions": [],
|
||||
"tags": [],
|
||||
"emojis": [],
|
||||
"card": null,
|
||||
"poll": null
|
||||
}
|
13
app/soapbox/__fixtures__/mitra-instance.json
Normal file
13
app/soapbox/__fixtures__/mitra-instance.json
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"uri": "mitra.social",
|
||||
"title": "Mitra",
|
||||
"short_description": "Federated social network with smart contracts",
|
||||
"description": "This is an instance of [Mitra](https://codeberg.org/silverpill/mitra), federated social network built on [ActivityPub](https://activitypub.rocks/) protocol.\nRegistration is invitation-only.\nAdmin:\n - [@silverpill@mitra.social](https://mitra.social/profile/dd4ebc18-269d-4c7b-a310-03d29c6ab551)\n - Matrix: @silverpill:poa.st\n",
|
||||
"version": "3.0.0 (compatible; Mitra 0.4.0)",
|
||||
"registrations": false,
|
||||
"login_message": "Sign this message to log in to https://mitra.social. Do not sign this message on other sites!",
|
||||
"post_character_limit": 5000,
|
||||
"blockchain_explorer_url": null,
|
||||
"blockchain_contract_address": null,
|
||||
"ipfs_gateway_url": "https://ipfs.mitra.social"
|
||||
}
|
126
app/soapbox/__fixtures__/status-custom-emoji.json
Normal file
126
app/soapbox/__fixtures__/status-custom-emoji.json
Normal file
|
@ -0,0 +1,126 @@
|
|||
{
|
||||
"account": {
|
||||
"acct": "benis911",
|
||||
"avatar": "https://gleasonator.com/images/avi.png",
|
||||
"avatar_static": "https://gleasonator.com/images/avi.png",
|
||||
"bot": false,
|
||||
"created_at": "2021-03-26T20:42:11.000Z",
|
||||
"display_name": "benis911",
|
||||
"emojis": [],
|
||||
"fields": [],
|
||||
"followers_count": 0,
|
||||
"following_count": 0,
|
||||
"fqn": "benis911@gleasonator.com",
|
||||
"header": "https://media.gleasonator.com/fc595bbbcf5aabefecd1c2adfe5b7f5457db59847992881668653a0338ba25bd.jpg",
|
||||
"header_static": "https://media.gleasonator.com/fc595bbbcf5aabefecd1c2adfe5b7f5457db59847992881668653a0338ba25bd.jpg",
|
||||
"id": "A5c5LK7EJTFR0u26Pg",
|
||||
"last_status_at": "2022-02-23T17:31:08",
|
||||
"locked": true,
|
||||
"note": "hello world 2",
|
||||
"pleroma": {
|
||||
"accepts_chat_messages": true,
|
||||
"also_known_as": [
|
||||
"https://gleasonator.com/users/alex",
|
||||
"https://poa.st/users/alex"
|
||||
],
|
||||
"ap_id": "https://gleasonator.com/users/benis911",
|
||||
"background_image": null,
|
||||
"birthday": "2000-01-25",
|
||||
"favicon": "https://gleasonator.com/favicon.png",
|
||||
"hide_favorites": true,
|
||||
"hide_followers": true,
|
||||
"hide_followers_count": true,
|
||||
"hide_follows": true,
|
||||
"hide_follows_count": true,
|
||||
"is_admin": false,
|
||||
"is_confirmed": true,
|
||||
"is_moderator": false,
|
||||
"is_suggested": false,
|
||||
"relationship": {},
|
||||
"skip_thread_containment": false,
|
||||
"tags": []
|
||||
},
|
||||
"source": {
|
||||
"fields": [],
|
||||
"note": "hello world 2",
|
||||
"pleroma": {
|
||||
"actor_type": "Person",
|
||||
"discoverable": false
|
||||
},
|
||||
"sensitive": false
|
||||
},
|
||||
"statuses_count": 152,
|
||||
"url": "https://gleasonator.com/users/benis911",
|
||||
"username": "benis911"
|
||||
},
|
||||
"application": {
|
||||
"name": "Soapbox FE",
|
||||
"website": "https://soapbox.pub/"
|
||||
},
|
||||
"bookmarked": false,
|
||||
"card": null,
|
||||
"content": "Hello :ablobcathyper: :ageblobcat: 😂 world 😋 test :blobcatphoto:",
|
||||
"created_at": "2022-02-23T17:31:07.000Z",
|
||||
"emojis": [
|
||||
{
|
||||
"shortcode": "ablobcathyper",
|
||||
"static_url": "https://gleasonator.com/emoji/blobcat/ablobcathyper.png",
|
||||
"url": "https://gleasonator.com/emoji/blobcat/ablobcathyper.png",
|
||||
"visible_in_picker": false
|
||||
},
|
||||
{
|
||||
"shortcode": "ageblobcat",
|
||||
"static_url": "https://gleasonator.com/emoji/blobcat/ageblobcat.png",
|
||||
"url": "https://gleasonator.com/emoji/blobcat/ageblobcat.png",
|
||||
"visible_in_picker": false
|
||||
},
|
||||
{
|
||||
"shortcode": "blobcatphoto",
|
||||
"static_url": "https://gleasonator.com/emoji/blobcat/blobcatphoto.png",
|
||||
"url": "https://gleasonator.com/emoji/blobcat/blobcatphoto.png",
|
||||
"visible_in_picker": false
|
||||
}
|
||||
],
|
||||
"favourited": false,
|
||||
"favourites_count": 0,
|
||||
"id": "AGm7uC9DaAIGUa4KYK",
|
||||
"in_reply_to_account_id": null,
|
||||
"in_reply_to_id": null,
|
||||
"language": null,
|
||||
"media_attachments": [],
|
||||
"mentions": [],
|
||||
"muted": false,
|
||||
"pinned": false,
|
||||
"pleroma": {
|
||||
"content": {
|
||||
"text/plain": "Hello :ablobcathyper: :ageblobcat: 😂 world 😋 test :blobcatphoto:"
|
||||
},
|
||||
"conversation_id": "AGm7uC3BwZTOBtFW9w",
|
||||
"direct_conversation_id": null,
|
||||
"emoji_reactions": [],
|
||||
"expires_at": null,
|
||||
"in_reply_to_account_acct": null,
|
||||
"local": true,
|
||||
"parent_visible": false,
|
||||
"pinned_at": null,
|
||||
"quote": null,
|
||||
"quote_url": null,
|
||||
"quote_visible": false,
|
||||
"spoiler_text": {
|
||||
"text/plain": ""
|
||||
},
|
||||
"thread_muted": false
|
||||
},
|
||||
"poll": null,
|
||||
"reblog": null,
|
||||
"reblogged": false,
|
||||
"reblogs_count": 0,
|
||||
"replies_count": 0,
|
||||
"sensitive": false,
|
||||
"spoiler_text": "",
|
||||
"tags": [],
|
||||
"text": null,
|
||||
"uri": "https://gleasonator.com/objects/2dc79219-aed6-40c0-8818-0c2d26ed3436",
|
||||
"url": "https://gleasonator.com/notice/AGm7uC9DaAIGUa4KYK",
|
||||
"visibility": "public"
|
||||
}
|
63
app/soapbox/__fixtures__/status-cw.json
Normal file
63
app/soapbox/__fixtures__/status-cw.json
Normal file
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
"id": "107831528995252317",
|
||||
"created_at": "2022-02-20T17:35:55.224Z",
|
||||
"in_reply_to_id": null,
|
||||
"in_reply_to_account_id": null,
|
||||
"sensitive": true,
|
||||
"spoiler_text": "testing",
|
||||
"visibility": "public",
|
||||
"language": "en",
|
||||
"uri": "https://fedibird.com/users/alex/statuses/107831528995252317",
|
||||
"url": "https://fedibird.com/@alex/107831528995252317",
|
||||
"replies_count": 0,
|
||||
"reblogs_count": 0,
|
||||
"favourites_count": 0,
|
||||
"emoji_reactions_count": 0,
|
||||
"emoji_reactions": [],
|
||||
"content": "<p>hello world</p>",
|
||||
"reblog": null,
|
||||
"application": {
|
||||
"name": "Web",
|
||||
"website": null
|
||||
},
|
||||
"account": {
|
||||
"id": "66768",
|
||||
"username": "alex",
|
||||
"acct": "alex",
|
||||
"display_name": "",
|
||||
"locked": false,
|
||||
"bot": false,
|
||||
"cat": false,
|
||||
"discoverable": null,
|
||||
"group": false,
|
||||
"created_at": "2020-01-27T00:00:00.000Z",
|
||||
"note": "<p></p>",
|
||||
"url": "https://fedibird.com/@alex",
|
||||
"avatar": "https://fedibird.com/avatars/original/missing.png",
|
||||
"avatar_static": "https://fedibird.com/avatars/original/missing.png",
|
||||
"header": "https://fedibird.com/headers/original/missing.png",
|
||||
"header_static": "https://fedibird.com/headers/original/missing.png",
|
||||
"followers_count": 1,
|
||||
"following_count": 1,
|
||||
"subscribing_count": 0,
|
||||
"statuses_count": 5,
|
||||
"last_status_at": "2022-02-20",
|
||||
"emojis": [],
|
||||
"fields": [],
|
||||
"other_settings": {
|
||||
"noindex": false,
|
||||
"hide_network": false,
|
||||
"hide_statuses_count": false,
|
||||
"hide_following_count": false,
|
||||
"hide_followers_count": false,
|
||||
"enable_reaction": true
|
||||
}
|
||||
},
|
||||
"media_attachments": [],
|
||||
"mentions": [],
|
||||
"tags": [],
|
||||
"emojis": [],
|
||||
"card": null,
|
||||
"poll": null,
|
||||
"quote": null
|
||||
}
|
201
app/soapbox/__fixtures__/status-with-poll.json
Normal file
201
app/soapbox/__fixtures__/status-with-poll.json
Normal file
|
@ -0,0 +1,201 @@
|
|||
{
|
||||
"account": {
|
||||
"acct": "alex",
|
||||
"avatar": "https://media.gleasonator.com/6d64aecb17348b23aaff78db4687b9476cb0da1c07cc6a819c2e6ec7144c18b1.png",
|
||||
"avatar_static": "https://media.gleasonator.com/6d64aecb17348b23aaff78db4687b9476cb0da1c07cc6a819c2e6ec7144c18b1.png",
|
||||
"bot": false,
|
||||
"created_at": "2020-01-08T01:25:43.000Z",
|
||||
"display_name": "Alex Gleason",
|
||||
"emojis": [],
|
||||
"fields": [
|
||||
{
|
||||
"name": "Website",
|
||||
"value": "<a href=\"https://alexgleason.me\" rel=\"ugc\">https://alexgleason.me</a>"
|
||||
},
|
||||
{
|
||||
"name": "Soapbox",
|
||||
"value": "<a href=\"https://soapbox.pub\" rel=\"ugc\">https://soapbox.pub</a>"
|
||||
},
|
||||
{
|
||||
"name": "Email",
|
||||
"value": "alex@alexgleason.me"
|
||||
},
|
||||
{
|
||||
"name": "Gender identity",
|
||||
"value": "Soyboy"
|
||||
},
|
||||
{
|
||||
"name": "Donate (PayPal)",
|
||||
"value": "<a href=\"https://paypal.me/gleasonator\" rel=\"ugc\">https://paypal.me/gleasonator</a>"
|
||||
},
|
||||
{
|
||||
"name": "$BTC",
|
||||
"value": "bc1q9cx35adpm73aq2fw40ye6ts8hfxqzjr5unwg0n"
|
||||
},
|
||||
{
|
||||
"name": "$ETH",
|
||||
"value": "0xAc9aB5Fc04Dc1cB1789Af75b523Bd23C70B2D717"
|
||||
},
|
||||
{
|
||||
"name": "$DOGE",
|
||||
"value": "D5zVZs6jrRakaPVGiErkQiHt9sayzm6V5D"
|
||||
},
|
||||
{
|
||||
"name": "$XMR",
|
||||
"value": "45JDCLrjJ4bgVUSbbs2yjy9m5Mf4VLPW8fG7jw9sq5u69rXZZopQogZNeyYkMBnXpkaip4p4QwaaJNhdTotPa9g44DBCzdK"
|
||||
}
|
||||
],
|
||||
"followers_count": 2390,
|
||||
"following_count": 1574,
|
||||
"fqn": "alex@gleasonator.com",
|
||||
"header": "https://media.gleasonator.com/accounts/headers/000/000/001/original/9d0e4dbf1c9dbc8f.png",
|
||||
"header_static": "https://media.gleasonator.com/accounts/headers/000/000/001/original/9d0e4dbf1c9dbc8f.png",
|
||||
"id": "9v5bmRalQvjOy0ECcC",
|
||||
"last_status_at": "2022-02-23T17:54:41",
|
||||
"locked": false,
|
||||
"note": "I create Fediverse software that empowers people online.<br/><br/>I'm vegan btw<br/><br/>Note: If you have a question for me, please tag me publicly. This gives the opportunity for others to chime in, and bystanders to learn.",
|
||||
"pleroma": {
|
||||
"accepts_chat_messages": true,
|
||||
"also_known_as": [
|
||||
"https://mitra.social/users/alex"
|
||||
],
|
||||
"ap_id": "https://gleasonator.com/users/alex",
|
||||
"background_image": null,
|
||||
"birthday": "1993-07-03",
|
||||
"favicon": "https://gleasonator.com/favicon.png",
|
||||
"hide_favorites": true,
|
||||
"hide_followers": false,
|
||||
"hide_followers_count": false,
|
||||
"hide_follows": false,
|
||||
"hide_follows_count": false,
|
||||
"is_admin": true,
|
||||
"is_confirmed": true,
|
||||
"is_moderator": false,
|
||||
"is_suggested": true,
|
||||
"relationship": {},
|
||||
"skip_thread_containment": false,
|
||||
"tags": []
|
||||
},
|
||||
"source": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "Website",
|
||||
"value": "https://alexgleason.me"
|
||||
},
|
||||
{
|
||||
"name": "Soapbox",
|
||||
"value": "https://soapbox.pub"
|
||||
},
|
||||
{
|
||||
"name": "Email",
|
||||
"value": "alex@alexgleason.me"
|
||||
},
|
||||
{
|
||||
"name": "Gender identity",
|
||||
"value": "Soyboy"
|
||||
},
|
||||
{
|
||||
"name": "Donate (PayPal)",
|
||||
"value": "https://paypal.me/gleasonator"
|
||||
},
|
||||
{
|
||||
"name": "$BTC",
|
||||
"value": "bc1q9cx35adpm73aq2fw40ye6ts8hfxqzjr5unwg0n"
|
||||
},
|
||||
{
|
||||
"name": "$ETH",
|
||||
"value": "0xAc9aB5Fc04Dc1cB1789Af75b523Bd23C70B2D717"
|
||||
},
|
||||
{
|
||||
"name": "$DOGE",
|
||||
"value": "D5zVZs6jrRakaPVGiErkQiHt9sayzm6V5D"
|
||||
},
|
||||
{
|
||||
"name": "$XMR",
|
||||
"value": "45JDCLrjJ4bgVUSbbs2yjy9m5Mf4VLPW8fG7jw9sq5u69rXZZopQogZNeyYkMBnXpkaip4p4QwaaJNhdTotPa9g44DBCzdK"
|
||||
}
|
||||
],
|
||||
"note": "I create Fediverse software that empowers people online.\r\n\r\nI'm vegan btw\r\n\r\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.",
|
||||
"pleroma": {
|
||||
"actor_type": "Person",
|
||||
"discoverable": false
|
||||
},
|
||||
"sensitive": false
|
||||
},
|
||||
"statuses_count": 23502,
|
||||
"url": "https://gleasonator.com/users/alex",
|
||||
"username": "alex"
|
||||
},
|
||||
"application": null,
|
||||
"bookmarked": false,
|
||||
"card": null,
|
||||
"content": "<p>What is tolerance?</p>",
|
||||
"created_at": "2020-03-23T19:33:06.000Z",
|
||||
"emojis": [],
|
||||
"favourited": false,
|
||||
"favourites_count": 47,
|
||||
"id": "103874034847713213",
|
||||
"in_reply_to_account_id": null,
|
||||
"in_reply_to_id": null,
|
||||
"language": null,
|
||||
"media_attachments": [],
|
||||
"mentions": [],
|
||||
"muted": false,
|
||||
"pinned": true,
|
||||
"pleroma": {
|
||||
"content": {
|
||||
"text/plain": "What is tolerance?"
|
||||
},
|
||||
"conversation_id": "3023268",
|
||||
"direct_conversation_id": null,
|
||||
"emoji_reactions": [
|
||||
{
|
||||
"count": 3,
|
||||
"me": false,
|
||||
"name": "❤️"
|
||||
}
|
||||
],
|
||||
"expires_at": null,
|
||||
"in_reply_to_account_acct": null,
|
||||
"local": true,
|
||||
"parent_visible": false,
|
||||
"pinned_at": "2021-11-23T01:38:44.000Z",
|
||||
"quote": null,
|
||||
"quote_url": null,
|
||||
"quote_visible": false,
|
||||
"spoiler_text": {
|
||||
"text/plain": ""
|
||||
},
|
||||
"thread_muted": false
|
||||
},
|
||||
"poll": {
|
||||
"emojis": [],
|
||||
"expired": true,
|
||||
"expires_at": "2020-03-24T19:33:06.000Z",
|
||||
"id": "4930",
|
||||
"multiple": false,
|
||||
"options": [
|
||||
{
|
||||
"title": "Banning, censoring, and deplatforming anyone you disagree with",
|
||||
"votes_count": 2
|
||||
},
|
||||
{
|
||||
"title": "Promoting free speech, even for people and ideas you dislike",
|
||||
"votes_count": 36
|
||||
}
|
||||
],
|
||||
"voters_count": 2,
|
||||
"votes_count": 38
|
||||
},
|
||||
"reblog": null,
|
||||
"reblogged": false,
|
||||
"reblogs_count": 26,
|
||||
"replies_count": 14,
|
||||
"sensitive": false,
|
||||
"spoiler_text": "",
|
||||
"tags": [],
|
||||
"text": null,
|
||||
"uri": "https://gleasonator.com/users/alex/statuses/103874034847713213",
|
||||
"url": "https://gleasonator.com/notice/103874034847713213",
|
||||
"visibility": "public"
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
app/soapbox/normalizers/__tests__/status-test.js
Normal file
BIN
app/soapbox/normalizers/__tests__/status-test.js
Normal file
Binary file not shown.
BIN
app/soapbox/normalizers/status.js
Normal file
BIN
app/soapbox/normalizers/status.js
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -63,6 +63,11 @@
|
|||
}
|
||||
}
|
||||
|
||||
&__version {
|
||||
font-size: 12px;
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
p.help-text {
|
||||
text-align: left;
|
||||
font-style: italic;
|
||||
|
|
Loading…
Reference in a new issue