@mint same shit on mitra lol, except it can't even fetch the thread
Jul 09 20:41:13 mootra mitra[212201]: 2024-07-09T20:41:13 mitra_activitypub::importers [INFO] fetched object https://ryona.agency/objects/1fe7ecba-c779-44be-9365-af9992216676 Jul 09 20:41:16 mootra mitra[212201]: 2024-07-09T20:41:16 mitra::mastodon_api::search::helpers [WARN] error sending request for url (http://[200:fff8:9719:292d:c58e:957d:c3e1:6997]/objects/9377ae0b-1d5e-49df-8122-1787b0d063dd): error trying to connect: tcp connect error: Network is unreachable (os error 101) Jul 09 20:41:16 mootra mitra[212201]: 2024-07-09T20:41:16 mitra_activitypub::importers [INFO] fetched actor https://ryona.agency/objects/1fe7ecba-c779-44be-9365-af9992216676 Jul 09 20:41:16 mootra mitra[212201]: 2024-07-09T20:41:16 mitra::mastodon_api::search::helpers [WARN] invalid actor object Jul 09 20:41:58 mootra mitra[212201]: 2024-07-09T20:41:58 mitra_activitypub::queues [WARN] failed to process activity (error sending request for url (http://[200:fff8:9719:292d:c58e:957d:c3e1:6997]/objects/919fc85b-25b2-4b24-bbfd-e3de365945f7): error trying to connect: tcp connect error: Network is unreachable (os error 101)) (attempt #3): {"@context":["https://www.w3.org/ns/activitystreams","https://ryona.agency/schemas/litepub-0.1.jsonld",{"@language":"und"}],"actor":"https://ryona.agency/users/mint","bto":[],"cc":[],"context":"https://mk.magicka.org/notes/9rs86mzaa9y5012e","id":"https://ryona.agency/activities/ea0b8640-7488-40fe-9b45-f920f8bdc4e6","object":"http://[200:fff8:9719:292d:c58e:957d:c3e1:6997]/objects/919fc85b-25b2-4b24-bbfd-e3de365945f7","published":"2024-07-09T20:21:26.992399Z","to":["http://[200:fff8:9719:292d:c58e:957d:c3e1:6997]/users/flint","https://ryona.agency/users/mint/followers","https://www.w3.org/ns/activitystreams#Public"],"type":"Announce"}@silverpill looks like only 107 entries, starting with this one
Jul 07 13:41:58 wizard.casa mitra[40109]: 2024-07-07T13:41:58 mitra_activitypub::queues [WARN] failed to process activity (error sending request for url (https://detroitriotcity.com/objects/e8f71c97-071b-4aac-b070-9563ec29a357): error trying to connect: tcp connect error: Connection timed out (os error 110)) (attempt #1): {"@context":["https://www.w3.org/ns/activitystreams","https://social.hendrixgames.com/schemas/litepub-0.1.jsonld",{"@language":"und"}],"actor":"https://social.hendrixgames.com/users/thendrix","cc":["https://www.w3.org/ns/activitystreams#Public"],"context":"https://shitposter.world/contexts/065a8481-e0bc-4be3-941e-f263b7a7eee1","directMessage":false,"id":"https://social.hendrixgames.com/activities/60da1d6e-9f5e-481a-8133-87fe9d9f07ca","object":{"actor":"https://social.hendrixgames.com/users/thendrix","attachment":[],"attributedTo":"https://social.hendrixgames.com/users/thendrix","cc":["https://www.w3.org/ns/activitystreams#Public"],"content":"<p>China plays the game best... so not much little people can do when even the elite are captured by them. One of the main reasons the West is deindustiralized now are the new opium wars and the bowed elites cashing in on offshoring everything.</p>","context":"https://shitposter.world/contexts/065a8481-e0bc-4be3-941e-f263b7a7eee1","conversation":"https://shitposter.world/contexts/065a8481-e0bc-4be3-941e-f263b7a7eee1","id":"https://social.hendrixgames.com/objects/c030a4a0-ee41-40a0-82a9-509e66d92164","inReplyTo":"https://shitposter.world/objects/03b6cbed-59b5-4b9e-8827-2193e5c75b9b","published":"2024-07-07T19:21:02.550794Z","sensitive":false,"source":{"content":"China plays the game best... so not much little people can do when even the elite are captured by them. One of the main reasons the West is deindustiralized now are the new opium wars and the bowed elites cashing in on offshoring everything.","mediaType":"text/markdown"},"summary":"","tag":[{"href":"https://detroitriotcity.com/users/ChristiJunior","name":"@ChristiJunior@detroitriotcity.com","type":"Mention"},{"href":"https://shitposter.world/users/augustus","name":"@augustus@shitposter.world","type":"Mention"},{"href":"https://shitposter.world/users/sun","name":"@sun@shitposter.world","type":"Mention"}],"to":["https://shitposter.world/users/sun","https://social.hendrixgames.com/users/thendrix/followers","https://detroitriotcity.com/users/ChristiJunior","https://shitposter.world/users/augustus"],"type":"Note"},"published":"2024-07-07T19:21:02.550688Z","to":["https://shitposter.world/users/sun","https://social.hendrixgames.com/users/thendrix/followers","https://detroitriotcity.com/users/ChristiJunior","https://shitposter.world/users/augustus"],"type":"Create"}
not sure if that's enough to cause the queue to fill up like that
So, I wrote the first thing for Balormo's backend tonight. I wanted to do dice rolls, or really RNG (random number generation) broadly, and in this case I wrote the simplest form of it in the TTRPG space: rolling XdY, take the sum.
I did not write an FE for this yet. That's because I want to discuss the way I designed it. Now would be the time to refactor things or change around how it's structured. This is backend proof of concept phase.
For the time being, you can use curl to try it out once you have an account on dev.iddqd.social:
curl -X POST "https://dev.iddqd.social/api/v1/statuses" \ -H "Authorization: Bearer REDACTED" \ -H "Content-Type: multipart/form-data" \ -F "status=Rolling CON for AD&D 2e style" \ -F "source=Pleroma FE" \ -F "visibility=public" \ -F "content_type=text/plain" \ -F "balormo[rng][system]=dice_sum" \ -F "balormo[rng][denomination]=6" \ -F "balormo[rng][quantity]=3"You can find my commit for it here: https://gitgud.io/thestranjer/balormo/-/commit/483800ea9c2e5f913ecc5f1523625c9ad535917d
Unfortunately, Soapbox and Pleroma seem to drop the balormo object in federation. However, quite fortunately, it delivers the Object URL, which does retain that information:
{ "@context": [ "https://www.w3.org/ns/activitystreams", "https://dev.iddqd.social/schemas/litepub-0.1.jsonld", {"@language": "und"} ], "actor": "https://dev.iddqd.social/users/NEETzsche", "attachment": [], "attributedTo": "https://dev.iddqd.social/users/NEETzsche", "balormo": { "rng": { "denomination": 6, "quantity": 3, "results": [1,1,6], "sum": 8, "system": "dice_sum" } }, "cc": ["https://dev.iddqd.social/users/NEETzsche/followers"], "content": "Rolling CON for AD&D 2e style<br/><i>Rolling 3d6, taking the sum.</i><br/><b>Results:</b> 1, 1, 6<br/><b>Sum:</b> 8", "context": "https://dev.iddqd.social/contexts/c2ceeca0-5369-41b9-8be7-2d0a647a7907", "conversation": "https://dev.iddqd.social/contexts/c2ceeca0-5369-41b9-8be7-2d0a647a7907", "id": "https://dev.iddqd.social/objects/48f97fc0-5a63-406f-8822-3ea4493713d9", "published": "2024-05-10T09:13:21.883623Z", "sensitive": null, "source": { "content": "Rolling CON for AD&D 2e style", "mediaType": "text/plain" }, "summary": "", "tag": [],"to": ["https://www.w3.org/ns/activitystreams#Public"], "type": "Note" }The way I wrote this is you just add more fields to the /api/v1/statuses endpoint and give it extra fields. In this case, the system field can be changed and the pattern matching will pick up on the right one and then generate dice rolls etc in the right fashion. For example, I might write a Shadowrun dice roller that rolls d6s given only a pool value and re-rolls 6s until you don't get anymore.
The reason to bake this into the protocol is so that you can manage the data better and change the way it's displayed in the future. The appended roll text to the status will be put in a <div> with a class on it that's invisible for the FE.
Thoughts on how to improve this before I move on to the FE?
@sun @p @jeffcliff @rees @crunklord420 @caekislove @mint @LukeAlmighty @lain
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.