Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Federation with Hubzilla #121

Open
Eldarendil opened this issue Jun 13, 2019 · 29 comments

Comments

Projects
None yet
5 participants
@Eldarendil
Copy link

commented Jun 13, 2019

Describe the bug

New posts not shown in Hubzilla

Steps to reproduce (if necessary)

Steps to reproduce the behavior:

  1. In Hubzilla, add a new connection to a write.as account
  2. On the write.as account, add a new post
  3. Check that this new post is visible elsewhere (ex: from misskey), but not on Hubzilla

Expected behavior

I should see the new post in Hubzilla

Application configuration

Tested in qua.name instance
Version or last commit: v0.9.1-49-g901bf14

@thebaer

This comment has been minimized.

Copy link
Member

commented Jun 13, 2019

Thanks for reporting this. If anyone runs a Hubzilla instance and can help debug what's happening, that would be much appreciated!

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 13, 2019

Hey @Eldarendil I'm new to Hubzilla.

I've set up an instance and enabled Activity Pub support. I followed an account on write.as but am not sure where the stream should show up. Should it be in my channel home?

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 13, 2019

I also found this issue on their tracker which seems to be related: https://framagit.org/hubzilla/addons/issues/123

@Eldarendil

This comment has been minimized.

Copy link
Author

commented Jun 14, 2019

@robjloranger
It should appear on your "stream", which has the URL "/network"
You can try with some other ActivityPub accounts (on Mastodon, Pleroma, Misskey...) and you'll see that those posts show up as expected.
The issue you link is invalid since other ActivityPub software federate finely.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

@Eldarendil I will try to do some more debugging today. I need to find the logs for my hub instance and look around.

edit: I have something misconfigured perhaps. It appears to work following others outside my hub but even mastodon isn't populating my stream.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

I figured out logging.. it was in the admin UI... 🤕

This may be related to zot:

2019-06-14T15:47:26Z:LOG_INFO:410e9a88e3:Finger.php:82:run: zot_finger: rob at https://development.write.as
2019-06-14T15:47:26Z:LOG_INFO:410e9a88e3:network.php:382:z_post_url: z_post_url: error: https://development.write.as/.well-known/zot-info: 
2019-06-14T15:47:26Z:LOG_INFO:410e9a88e3:Finger.php:107:run: zot_finger: https failed. falling back to http
2019-06-14T15:47:26Z:LOG_INFO:410e9a88e3:network.php:382:z_post_url: z_post_url: error: https://development.write.as/.well-known/zot-info: 
2019-06-14T15:47:26Z:LOG_INFO:410e9a88e3:Finger.php:125:run: zot_finger: no results
2019-06-14T15:47:26Z:LOG_INFO:410e9a88e3:network.php:1203:webfinger_rfc7033: fetching url from resource: development.write.as:rob@development.write.as
2019-06-14T15:47:27Z:LOG_INFO:410e9a88e3:pubcrawl.php:166:pubcrawl_discover_channel_webfinger: probing: activitypub
2019-06-14T15:47:27Z:LOG_INFO:410e9a88e3:photo_driver.php:197:import_xchan_photo: Updating channel photo from https://write.as/img/avatars/r.png for https://write.as/api/collections/rob
@thebaer

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

Ah, and there might be ActivityPub issues with our development.write.as instance... The base URL for AP requests is wrong right now (notice it's looking for https://write.as/api/collections/rob instead of https://development.write.as/api/collections/rob)

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

I'm getting the same with my production instance:

2019-06-14T16:35:03Z:LOG_INFO:410e9a88e3:zot.php:3249:build_sync_packet: build_sync_packet
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:Finger.php:82:run: zot_finger: rob at https://loranger.xyz
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:network.php:382:z_post_url: z_post_url: error: https://loranger.xyz/.well-known/zot-info: 
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:Finger.php:107:run: zot_finger: https failed. falling back to http
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:network.php:382:z_post_url: z_post_url: error: https://loranger.xyz/.well-known/zot-info: 
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:Finger.php:125:run: zot_finger: no results
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:network.php:1203:webfinger_rfc7033: fetching url from resource: loranger.xyz:rob@loranger.xyz
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:pubcrawl.php:166:pubcrawl_discover_channel_webfinger: probing: activitypub
2019-06-14T16:35:14Z:LOG_INFO:410e9a88e3:zot.php:3249:build_sync_packet: build_sync_packet
2019-06-14T16:35:14Z:LOG_INFO:2030f7711b:Notifier.php:89:run: notifier: invoked: Array
(
    [0] => Notifier
    [1] => permission_create
    [2] => 15
)

And the same with following a mastodon account.

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

When I tried this some time ago (last year) there wasn't any problem discovering the writeas activitypub profile. What I recall happening was we found it and sent a follow request and the follow request returned a hard (4xx or 5xx) HTTP error from the writeas server. I don't really work on federation or hubzilla these days so I'm not likely to be much help to you but I do know that 90% of the AP projects with which we had federation problems turned out to be because hubzilla supplies an actor document with an array for the url field, and not a single url.

Notifier.php:89:run: notifier: invoked: Array
(
    [0] => Notifier
    [1] => permission_create
    [2] => 15
)

This indicates the probe was successful. It is invoking the message delivery system to deliver a "permissions_create" message. For ActivityPub this is a follow request. From the Hubzilla UI you should see that a new connection was created. So the interesting logs will be further down past this point. We will create a follow request and send it to the other end and should report whether or not this succeeded (at a minimum we usually report if it failed). You can increase the log level and get a lot more detail but also a lot more noise. I also recommend turning on the 'logrot' addon to rotate these logfiles in 10M chunks if you are doing any serious debugging. It will save your disk filling up.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

Oh! That helps, I remember seeing a TODO in the codebase about this.. now which of our repos..

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

@redmatrix do you know off hand where that is in the hubzilla code? Or for certain if the JSON field URL is an array or an object.

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

I just sent this packet and received a 500 error from loranger.xyz. The signature might be mangled from copy/paste. I can try again if you think that's the problem, but our signatures have been pretty reliable.

{
  "@context":[
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    "https://hz.macgirvin.com/apschema/v1.5"
  ],
  "id":"https://hz.macgirvin.com/follow/332",
  "type":"Follow",
  "actor":"https://hz.macgirvin.com/channel/ziggy",
  "object":"https://loranger.xyz/api/collections/rob",
  "to":[
    "https://loranger.xyz/api/collections/rob"
  ],
  "signature":{
    "@context":[
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1"
    ],
    "type":"RsaSignature2017",
    "nonce":"c722d7505e2034ed6783d45e287d55b5cdf474363ef80354af3e5384f2f72ac5",
    "creator":"https://hz.macgirvin.com/channel/ziggy/public_key_pem",
    "created":"2019-06-14T10:48:16Z",
    "signatureValue":"Y955QKtPvEy0jxk/gKt9qe3QqZfbAQqJFz9NbVWqUum+wlSxw5N0GJT+wa56nuF8HUgIuIy5keEoOkfKEhoakIRqDiecICTO1hpB6euQ7p9lvlst1tfhbQh60d03PLvRzmzXZ5TYGjm49fRUBWzoPobbm4oFzqUTHlpce/IAKiVSwsWvJvNV/MeBFtuhPVyw6c1P+DIcYEkZ/qWZVu0UsW1y4CENR7CwueiKWOCBIlc3qvPRP2fMxKo2gya3orcUBhPlwZyeJgszEolbAsocAriWuJfgWoItTIavP63YNR7OXb7sa97XQIbqr+I2w9+Y1/vkVY67ElnlM0AtG2mXT0GMbjPDJ2w1lDFnu3sPTYyG4nhHyjcBjixQvg0mchM0wkdf6kiffQSznlJyGYqLG3j47cCojYUmwtC2XLWknNvKjU51mjPJsEpVTg73NMoWf2kO96LKdioynNmSc5ngG1Jq9HBP1fcwPHErAV6cwoYFXYVpH4hQafud1BtchWJreXfJIm8pVJJJxU3x+/fYKqRD+U1E13i+QJAoOZiPQSQFmJBv5dYUa4f3zX5na73GRMv3am6RK+436sBqBhopQO0yioWG0RAhS08S1nC9bYHE5JddjM2soSNR/Ee44cxd1G8r6JSFXe8oQow5vPqbKEmqAcEhh0s4h4MLxV3KM="
  }
}

loranger.xyz did retrieve the actor record at https://hz.macgirvin.com/channel/ziggy before returning 500.

{
  "@context":[
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    "https://hz.macgirvin.com/apschema/v1.5"
  ],
  "type":"Person",
  "id":"https://hz.macgirvin.com/channel/ziggy",
  "preferredUsername":"ziggy",
  "name":"ziggy",
  "icon":{
    "type":"Image",
    "mediaType":"image/png",
    "url":"https://hz.macgirvin.com/photo/profile/l/8?_rnd=66bcc8e0",
    "height":300,
    "width":300
  },
  "image":{
    "type":"Image",
    "mediaType":"image/png",
    "url":"https://hz.macgirvin.com/photo/731294298d994b1f984d8755d77755a4-7",
    "height":435,
    "width":1200
  },
  "url":{
    "type":"Link",
    "mediaType":"text/html",
    "href":"https://hz.macgirvin.com/channel/ziggy"
  },
  "inbox":"https://hz.macgirvin.com/inbox/ziggy",
  "outbox":"https://hz.macgirvin.com/outbox/ziggy",
  "followers":"https://hz.macgirvin.com/followers/ziggy",
  "following":"https://hz.macgirvin.com/following/ziggy",
  "endpoints":{
    "sharedInbox":"https://hz.macgirvin.com/inbox"
  },
  "publicKey":{
    "id":"https://hz.macgirvin.com/channel/ziggy/public_key_pem",
    "owner":"https://hz.macgirvin.com/channel/ziggy",
    "publicKeyPem":"-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAs+/jJyGbcVyWHa5ZRrJz
fbXoc1Ws43RHbdd3zVLuUyJl0zGzgtuzvqLCrxYkJKiDwKWL+cLv7NLYV6Iw0sJk
on1lRqugrUAPyPSkqUNEstVO/Bxy01Lp80aUKF+wNB721qvdd8xP64VEsovehCfv
94m64GkDca+EEZqybQHH+sFq2tjV/yo/RlCfnc2ezE/Nv/EWAH0q13zK9cGYmb4z
CkexJHbHKD59SsWFBmOWs+qJp5Hzettb5ZGaNPDYi9xThXM/93kpUKF9mC/RAIm3
2J3Ec9F2lMJGG8gGkQhSsnogJIzg0mYUINWnHe1wNHt7FfsHv+hgfixoldwvWtON
P38OpjB3X/DZHAfeh+wKxIjJrN6PcyahUPwCni6Cw0PEQrKVoWddL6GNb9FZmWAw
JTbWYaUEUc98Uue2aD02Yo7jqcxEG3Empmw3dyL9a58HO3TvdfplHwar1U0566ot
iop5W4OyWzci9quIhaen1C+zKmhziHIC1VykWIeFFyNQF9vg2D2qB/ALs1RKTX1M
91Ld1qO1TGyFR9L8jES8T38kYbT0EvO5LkkFbfl3XHnGHTfX1kipmkkkoE1NtWNc
m3frIqRJpYKGTOj1/UvPO5+7V4bvw1LbFBlNNbtAH83yvqIUfooaUhoUDLIzaC8T
BZbGXMm2Ksrr/2y2yYx6eS0CAwEAAQ==
-----END PUBLIC KEY-----
"
  },
  "nomadicLocations":[
    {
      "id":"http://hz.macgirvin.com/locs/ziggy",
      "type":"nomadicLocation",
      "locationAddress":"acct:ziggy@hz.macgirvin.com",
      "locationPrimary":false,
      "locationDeleted":false
    },
    {
      "id":"https://hz.macgirvin.com/locs/ziggy",
      "type":"nomadicLocation",
      "locationAddress":"acct:ziggy@hz.macgirvin.com",
      "locationPrimary":true,
      "locationDeleted":false
    },
    {
      "id":"https://z2.macgirvin.com/locs/ziggy",
      "type":"nomadicLocation",
      "locationAddress":"acct:ziggy@z2.macgirvin.com",
      "locationPrimary":false,
      "locationDeleted":false
    }
  ],
  "signature":{
    "@context":[
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1"
    ],
    "type":"RsaSignature2017",
    "nonce":"2fa2605194b2ccac6b5108ff3b140627bc240792b4dd7c55a4b09a554e5114e4",
    "creator":"https://hz.macgirvin.com/channel/ziggy/public_key_pem",
    "created":"2019-06-14T10:53:05Z",
    "signatureValue":"qyZO9ipJHQtBBKQbyoT+xQxh+sbXUkHcTmDJiXgTIJOj6Pf0LP7GVaCv02NPHWe5lMlQJSTMDZ/IurpIBplbftUtYCDvrMgN93ITrD+QeQSnbiC5r7bwLnFJeeXxJD+WZ4UKo7I+Mv+nzuVUuxPkRGdaYsoJiFTrJ4MjT1THJs68OPYygAqRHso5JdZGbySGOlrkEEfYnvFZKjlEsN5Qvp2vSTmGrDWwcecIXa7H19dJNoP1UAXYRCAhc83iGQ4XM2NXrJPvYLtpfGChq50Ea6RbpEh05UA94LUBcnys43VdEzYVWYxZrkL0Le6xtjzP79Lixg2A1f+aZEknapvBk4SsxNlynPRk8T1lC0JT5DPqfnWdskb2kIKYegRXzgIgv2JWxmV7U9v/SnzhiEuSPHJYc44X8+GJmna1b0flaxUJfSNaGMLYvzzgF9ZajZxOwHkWvQLYiIfh1ek/1LY2P/CMynMZatO1y9Am1F/QnpZQieAQy5Q7L44g2GPasPzE76oVwF1XIkWH7broVIznEIYbqVkZKiyFEsE621ZEJGV/GJD4P8RKy0s3M/r6LCiYCmJLPCjCfD1H1MUaSRs63oMbqGw4YLDm+h6ag94bAqJJrGUu4WjFMshYl1pT7yH8mvxl2TxCvyApy307ETBQVbk5LynZW/8z74j2NdRAxcE="
  }
}
@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

can you try against @log@rob.writefreely.dev? that one has the potential fix.

Looking at my hubzilla logs I see a lot more info now but still the 404 on .well_known/zot-info

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

In previous Hubzilla versions the url element held two links - the text/html and another Zot specific link. It looks as if the devs removed the second one, but I'm mentioning because it can theoretically hold any number of links and probably requires enumerating and looking for a text/html mediaType if the url field isn't a simple string.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

Ya my attempt just assumes the first one in the list is correct. Wouldn't it be nice if all the activity pub implementation followed the exact same protocol?

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

I just tried again and got another 500. Don't worry about the zot-info failures. We always try our protocol first because it has better privacy controls. Anyway I can't help much more right now. I've got a farm to run. Hopefully there's enough info here to move forward.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 14, 2019

No problem, thanks so much for your help and input @redmatrix. It is greatly appreciated.

pinging @thebaer to see how far to go with this

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

Hang on - I had just tried your channel again. I'll try the other one you mentioned and then I gotta run.

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

Sadly the same result.

2019-06-14T23:15:31Z:LOG_INFO:9d386a8134:pubcrawl.php:1235:pubcrawl_queue_deliver: pubcrawl_queue_deliver: queue post returned 500 from https://rob.writefreely.dev/api/collections/log/inbox

@redmatrix

This comment has been minimized.

Copy link

commented Jun 14, 2019

Just tried one more thing in between feeding horses and cows. If I send the url as a string the follow request goes through successfully. Going forward we actually do need the ability for an array here so I do not plan on checking in this change, but tried it to pinpoint that this probably was in fact the major issue.

@git-marijus

This comment has been minimized.

Copy link

commented Jun 15, 2019

Please note that hubzilla changed the actor from object to string type since version 4.0.3
This was done because many AP projects still can not handle actors as objects.

@redmatrix

This comment has been minimized.

Copy link

commented Jun 15, 2019

@git-marijus Yes but we're discussing an issue with the actor->url and not the actor itself. Actor->url did change (in hubzilla) from a sequential array to an object during this time, but just like the actor many projects expect only a string (URI) and cannot handle either an object or array. The AS spec allows all of these types and in many places support of all these types is required - for instance selecting the best candidate from arrays of different image sizes or video encoding urls, which are frequently encountered in the fediverse today. The only unique thing Hubzilla is doing here is using object/array in the actor->url whereas most other projects typically use these additional constructs in the object->url.

@redmatrix

This comment has been minimized.

Copy link

commented Jun 16, 2019

https://framagit.org/hubzilla/addons/merge_requests/263

This should resolve the issue (against my better judgement and once it works its way through the system to a release) but I would still encourage other projects to be a bit more flexible with spec-compliant content.

@git-marijus

This comment has been minimized.

Copy link

commented Jun 16, 2019

With this https://framagit.org/hubzilla/addons/merge_requests/263 change it seems writefreely fetches the actor after receiving the follow and than returns 500:

2019-06-16T09:48:05Z:LOG_INFO:2b5057dfb7:pubcrawl.php:622:pubcrawl_queue_message: URL: https://rob.writefreely.dev/api/collections/log/inbox
2019-06-16T09:48:05Z:LOG_INFO:2b5057dfb7:pubcrawl.php:623:pubcrawl_queue_message: DATA: {
  "@context":[
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    "https://hub.somaton.com/apschema/v1.5"
  ],
  "id":"https://hub.somaton.com/follow/1576",
  "type":"Follow",
  "actor":"https://hub.somaton.com/channel/testc1",
  "object":"https://rob.writefreely.dev/api/collections/log",
  "to":[
    "https://rob.writefreely.dev/api/collections/log"
  ],
  "signature":{
    "@context":[
      "https://www.w3.org/ns/activitystreams",
      "https://w3id.org/security/v1"
    ],
    "type":"RsaSignature2017",
    "nonce":"ebd0350d6d47a972e7c7ef68785acddaab4c7a1a6adfd8777bdd635cb540dd33",
    "creator":"https://hub.somaton.com/channel/testc1/public_key_pem",
    "created":"2019-06-16T09:48:04Z",
    "signatureValue":"LgyVeiZDwc/AMl8R+7LDpuZVpKGlCorGrjOuzXcGOMBH40a+XmiMRoVTPG8rv2Ri6MNHnf4mlEmGIsg9dbXrAeaniGfq75uuLlaq0YpX/Jdlc2h3yb1cknVygV6fsMgCUC4/caK5swDlDZdaV9jqm8/u3mv1siqfVAeFt0KBYHDyFcYpfCSo6VTka1fJfe8aDJ9uPFJ1fRy24T61bRuh2uG0Uzkfif0+qOycAOf7MJBWPwVvPXnhlZ1ERLXssJ4eeIPb0F0vBd99dTXHqSGV5hOONcP1wKBj59i8wYW/QihMx9iRpD1wY4slDtUgDqL47lVb5jMeBk4or7Bie1BVN1IEfsvnG++eHIE+o3S4w/v1MehkLJ/k6Z6hCzHr1/J+KOZftYZ5JzekhVsUpX6lpOryFRleILzU6ZhJY7549LcuRIpJg7f4OGIVzQyAHI5qV0D6g+oQ/Q+usuOjzO8ewJ5JfGWmQ3SyjKPuQ0CLkAluxe4Vm/zZNO8LJQ7kCZ9BJcHbhgKVQO0yB/nxVRCerACsIV2G/0oFi6QHvIIsIjTtHUT03tat+K3VtkusNY7MXiaWv8q6DnZoR5uYetgIKYl+qdGHuXXJqSqJJMxhKg09qjmrLq6SSpOQLh3UjMWgkRC4MB1ss7PxE6K/V/YgX2YOkugW3bNg8U6NUMPTO94="
  }
}
2019-06-16T09:48:05Z:LOG_INFO:2b5057dfb7:pubcrawl.php:632:pubcrawl_queue_message: queue: a37f3464d0e915e62178db74d2b7c5ce262c9654440726f292887b8033db51bb https://rob.writefreely.dev/api/collections/log/inbox
2019-06-16T09:48:05Z:LOG_INFO:2b5057dfb7:queueworker.php:371:Process: Master: Worker Thread: queue items processed:1
2019-06-16T09:48:05Z:LOG_INFO:6158ac3cb7:queueworker.php:265:MasterRelease: INSERTED: {"argc":2,"argv":["Deliver","a37f3464d0e915e62178db74d2b7c5ce262c9654440726f292887b8033db51bb"]}
2019-06-16T09:48:07Z:LOG_INFO:6158ac3cb7:queueworker.php:351:Process: Master: process: ["Deliver","a37f3464d0e915e62178db74d2b7c5ce262c9654440726f292887b8033db51bb"]
2019-06-16T09:48:07Z:LOG_INFO:6158ac3cb7:Deliver.php:18:run: deliver: invoked: Array
(
    [0] => Deliver
    [1] => a37f3464d0e915e62178db74d2b7c5ce262c9654440726f292887b8033db51bb
)

2019-06-16T09:48:08Z:LOG_INFO:a21a4f096d:pubcrawl.php:333:pubcrawl_is_as_request: Accept: application/activity+json
2019-06-16T09:48:08Z:LOG_INFO:a21a4f096d:pubcrawl.php:418:pubcrawl_channel_mod_init: channel: {"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1","https://hub.somaton.com/apschema/v1.5"],"type":"Person","id":"https://hub.somaton.com/channel/testc1","preferredUsername":"testc1","name":"testc1","icon":{"type":"Image","mediaType":"image/png","url":"https://hub.somaton.com/photo/profile/l/28?_rnd=e9744a5f","height":300,"width":300},"image":{"type":"Image","mediaType":"image/png","url":"https://hub.somaton.com/photo/eaef12886d45355e1f7805ab85d7e66e-7","height":435,"width":1200},"url":"https://hub.somaton.com/channel/testc1","inbox":"https://hub.somaton.com/inbox/testc1","outbox":"https://hub.somaton.com/outbox/testc1","followers":"https://hub.somaton.com/followers/testc1","following":"https://hub.somaton.com/following/testc1","endpoints":{"sharedInbox":"https://hub.somaton.com/inbox"},"publicKey":{"id":"https://hub.somaton.com/channel/testc1/public_key_pem","owner":"https://hub.somaton.com/channel/testc1","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAu2rdf4ZVT5ScPr2epmBw\nKodj+PFwwlFmlK7bgovKVlTkyUoM8Uv4nGnzmtt3ew8J2DAXicqISjiRBI/0pNCq\nPMJqTtN8+aELtnUnWivSCOar5GuGeZRHoLtJp9nI3T7iG07NrMnAXjwVaRNm0+Wk\nOv7ht6645EeksGRIbRgbKZnx5liL/Shd9Dxx5sqZy4GM0dUcibxO0SDnauhM7JJR\nn43QBgK/8T3g6ZiO4jYiztCQRzrdLgWhAPvX290AMtO8UBhwBm5a2vIsMAZvdVLs\nvbTReJj8X2N+GArAcFdCSaARWN9mlpKyN5PJn2ItMWmcbCchwDcEI45edgDSWSNx\nALKyqqboCgI71nFHGD8Ws+LE77a4wJGGRYX8mb7J3xUCd4lHSqsp1z9wQ88Jvfwk\nDAmVX6buyiBR0gTlmBzIEwHjUUFrqKOnK2xQj0kD6Mi6TrSNlil6R6YzVGr06gYL\nL5fWvonMk836/FOTB4QDfacDnBmyKezSivLUPyN5+fUt9fuDW0BX8dEVCvow/dIc\nKWWem+1OzqoetT5p02QLsE8JS/ZEI5uQ6uFy17S3HCCT5DHQvKXnNDimqK4aaaQU\ngWMZQ+2C2GHoi9QaLtlwsA0EKWxH8zWmMFJ41mR2J8/WnTQJLYtOB4ifcsi53tZw\nnY8kD4uCu7ntlWLdvw8omGsCAwEAAQ==\n-----END PUBLIC KEY-----\n"},"nomadicLocations":[{"id":"https://hub.somaton.com/locs/testc1","type":"nomadicLocation","locationAddress":"acct:testc1@hub.somaton.com","locationPrimary":true,"locationDeleted":false}],"signature":{"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1"],"type":"RsaSignature2017","nonce":"533d7220a054239d687c4cc2b59ee8db9975a079f789bb2b714d95adfd827ddb","creator":"https://hub.somaton.com/channel/testc1/public_key_pem","created":"2019-06-16T09:48:08Z","signatureValue":"J/a/++QylsChF3FLKpmm8BIpclMn9Q13R1R+0gpx+j8kDRAdg9WC0tS8FAyICivccrZm7INZMbQqqS7TDf9vYmsqwuDu9MBRmBGUF+mAsYGjYFjWaKyaK4GTUc3phq2F8XAPCof231NZ6QOxDV383X6qJmDUhjLWnU2uBZ53P7dlF2GdVCEhFMznPt5CYLYDW5phAoTSlX642WWQETD72Fp1+eXf3LMEImFZmDVb2FLX0HW3tRJR4cReB5/3sPprIZM8SDWOOTlCylMJMHBqeLsZdcn/0IGd6HSqJSkqpczOTNNrMdLmMsCUoGsD8eXmsWWthRwbShhHLVB4gHuB0VtliuxGnsHa/pXBIx0Qx4sBGAfbXKwS0/dgpqHZD3cetk2fBEtKMCZblPzY2x0pfQ1eoYxsjesvm2jTeWngTvuZx6kj2D2vwL3bCudFrhpwIhuqXOEvsey/V3nmxkK7Q12TPdK3n5K6Vx85ip9EpmsWNYkzsCYFPp7Sx0r+S4C6hN2i+E0qHGR3q/IaVbzVJ8/TeGqp3PseXihS8k62XsK7aK2wCKbxmqSh/iaGWP3XRsvuZ8GaoPY8230QicrEaMBYfzV8mQw4I9ZuBYVLk7QyTGSOwZZEuF/F4P/FULTvbtALvX4wZBaDPGe3ZDvFvukwHd4eEF4yIrG4u94Hfyw="}}
2019-06-16T09:48:08Z:LOG_INFO:6158ac3cb7:network.php:382:z_post_url: z_post_url: error: https://rob.writefreely.dev/api/collections/log/inbox: 
2019-06-16T09:48:08Z:LOG_INFO:6158ac3cb7:network.php:383:z_post_url: z_post_url: debug: Array
(
    [url] => https://rob.writefreely.dev/api/collections/log/inbox
    [content_type] => application/json; charset=UTF-8
    [http_code] => 500
    [header_size] => 222
    [request_size] => 1126
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 1.311684
    [namelookup_time] => 0.007605
    [connect_time] => 0.10961
    [pretransfer_time] => 0.356375
    [size_upload] => 1351
    [size_download] => 61
    [speed_download] => 46
    [speed_upload] => 1030
    [download_content_length] => 61
    [upload_content_length] => 1351
    [starttransfer_time] => 0.460465
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 159.89.239.164
    [certinfo] => Array
        (
        )

    [primary_port] => 443
    [local_ip] => 192.168.0.10
    [local_port] => 38280
    [http_version] => 2
    [protocol] => 2
    [ssl_verifyresult] => 0
    [scheme] => HTTPS
    [appconnect_time_us] => 356183
    [connect_time_us] => 109610
    [namelookup_time_us] => 7605
    [pretransfer_time_us] => 356375
    [redirect_time_us] => 0
    [starttransfer_time_us] => 460465
    [total_time_us] => 1311684
    [request_header] => POST /api/collections/log/inbox HTTP/1.1
Host: rob.writefreely.dev
User-Agent: Mozilla/5.0 (compatible; zot)
Accept: */*
Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"
Digest: SHA-256=opq29A+mO4ylYI6tj2qjnI9VhgfA+8BCbYYF4iLsgbQ=
Signature: keyId="https://hub.somaton.com/channel/testc1",algorithm="rsa-sha256",headers="content-type digest",signature="IfD9xJeXZngjWV36MwxuNPaXKB6S/RA6Rkl3JZ8G2nz2TU6lKeOnwmrWdFS2Gb6ecQkgEeZx1aO8vRKWnLiCf3WGS7J4LV2KXGh4YVcNyZcQUoseKdEnIthlDet1vcb7fcUc7W/B/1PdJCsA63PnI2MWffkQp6OjuVB4u87x+EzmZHoMNnMRJFHutUG8WnEF8yQyXG5SFySSzW25KrxObOPMuhQPh3aKTTXESutEaHTrNArUEkGwTVGGuFs7nV/ue37CZj4e3KARS432v+uQlNwtqS3amWz4oFLEsNC3eyG2E7HTX44P9jWydX5qIQAclsbM9u9TsO3xrFiBW7rSvDLoFYmIQtPaXY5SwGCyAy0pAKt7NSxQaJxubwi7w3z5GPSxSA0DAKYrRuq7GIEPGw8LXH/JNbjcoaE51WXgPDk0sCWXFoxMc8v0JRfixkKtsqWkddb6ZL5mNtTtqCnOsZ0/JtrvBDnGgQzoaUC6EXnffS/crgYvRPXaSDmHgwRhQN+I5QF3MQW1VJNlvoQDIsf0+M+zi8aHM/jY07ikmNM3X9oPQ0C7dH9K3y+LoTtZjc7tXJphcwgr3dx/YuHSp3Tg8p6EMKNM192peXlrqxtPRCJvGYrYAfMSbO8qKz5O1usty88ymfJvg1a3AZhdkeWzvMrIlkXUPNWB/jHgE7Q="
Content-Length: 1351
Expect: 100-continue


)
@Eldarendil

This comment has been minimized.

Copy link
Author

commented Jun 16, 2019

URL can be an array : https://www.w3.org/TR/activitystreams-vocabulary/#dfn-url
So here, Hubzilla is doing the right choice. I think the fix must be for writeas in order to respect the spec.

@git-marijus

This comment has been minimized.

Copy link

commented Jun 16, 2019

The problem is that any project tries to be compliant with mastodon first. Mastodon uses URIs for almost anything so everybody only implemented URI handling.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 16, 2019

I agree, we need to work on handling the different allowable data types.

@git-marijus

This comment has been minimized.

Copy link

commented Jun 18, 2019

I can now confirm that with hubzilla 4.2.1 i could sucessfully connect and receive blogs posts at write.as and pencil.writefree.ly

Still not working with log@rob.writefreely.dev that instance might have issues though as it's a dev instance.

@robjloranger

This comment has been minimized.

Copy link
Member

commented Jun 18, 2019

@git-marijus yes, my dev instance is running an arbitrary commit of a develop branch.

I'm glad it is working as expected now, however I intend to begin work on proper support for activity streams soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.