コミットグラフ

104 コミット

作成者 SHA1 メッセージ 日付
Cory Slep 68bc0a2fa5 PostOutbox Accept tests 2018-05-10 17:30:55 +02:00
Cory Slep 9fbd18b53c PostOutbox Follow tests 2018-05-10 17:25:48 +02:00
Cory Slep 7b63dca953 Support Inbox Forwarding.
Client libraries can also filter the collections being targeted for the
inbox forwarding.
2018-05-10 12:49:37 +02:00
Cory Slep c85503011e gofmt 2018-05-10 12:49:26 +02:00
Cory Slep c5dd064b06 PostInbox adds to actor's Inbox OrderedCollection.
Tests were upated and refactored to use common initialization similar to
how PostOutbox has common intialization.
2018-04-29 15:56:38 +02:00
Cory Slep fae166f9dc Add PostOutbox Delete unit tests 2018-04-28 23:09:21 +02:00
Cory Slep da317e0cf7 Add unit tests for PostOutbox Update.
Tests cover the usual plus the major points:
- Updating top-level fields in object
- Updating multiple objects at once
- Removing values that are a null literal in JSON
- Remove sub-fields of objects; this may not be to spec (pending
  response from https://github.com/w3c/activitypub/issues/303)
2018-04-28 17:23:11 +02:00
Cory Slep 2827a4cb1e Do not capture unused IRIs of objects 2018-04-28 17:23:03 +02:00
Cory Slep bcaa3a9059 Fix handling of null JSON literals in vocab
We now recognize an all-empty intermediate value to mean that the
unknown value is really a null one.
2018-04-28 16:22:17 +02:00
Cory Slep e3a72c5274 Apply nulls in JSON in PostOutbox Update
This is a much better solution than trying to do some sort of roll-your-
own JSON parser.
2018-04-28 13:47:33 +02:00
Cory Slep 0a84346ab3 LOL no.
Don't drink and stay up late at night trying to solve nasty problems,
one just might decide writing a from-scratch JSON parser is the right
thing to do. Instead of diving into nuances of existing solutions within
the standard library and leveraging those.

I am only committing this to history so that I can immediately delete it
afterwards. As insurance against anyone trying to glorify this work
as the product of some genius, I can point to this and say "yeah, some
genius this guy is".

Saturday-morning coffee-drinking me is laughing at Friday-night
beer-drinking me.

Note that if this project gets serious I won't pollute the git history
like this. But as the project is young enough that most won't care about
this early history, I feel like enshrining some self-deprecating humor
into deep history is OK.
2018-04-28 13:25:45 +02:00
Cory Slep 4672f6a325 Replace TODO with comment clarification 2018-04-25 00:57:55 +02:00
Cory Slep 07c0392ada Clean up some TODOs. 2018-04-25 00:43:41 +02:00
Cory Slep 2adcc56581 Add PostOutbox Create unit tests.
Fix normalizing the recipents between the object and the activity. Also
allow the handlers to adjust what gets placed in the outbox, since the
client-to-server API allows the server to modify the object before being
delivered.
2018-04-22 14:02:45 +02:00
Cory Slep 19ca5b0975 Add PostOutbox non-callback tests.
Also move some functions out of the generic Application interface into
the specialized SocialApp interface. They will be moved back into the
Application interface if further development needs it when implementing
inbox forwarding, for example.
2018-04-19 20:58:00 +02:00
Cory Slep e9b4c720b2 Add GetOutbox tests 2018-04-17 19:24:18 +02:00
Cory Slep a028bcc302 Add all GetInbox unit tests 2018-04-14 18:20:03 +02:00
Cory Slep c5830e6eff Add PostInbox Like and Undo unit tests 2018-04-14 09:54:30 +02:00
Cory Slep a06ee678e8 Add PostInbox Remove unit tests 2018-04-14 09:36:24 +02:00
Cory Slep 4050d971c4 Add PostInbox Add unit tests. 2018-04-13 22:08:39 +02:00
Cory Slep 7d049ea3d4 Add tests for PostInbox Object/Target requirements
Also fixed my earlier stupidity at requiring a 'type' when I meant to
require a 'target'. Also added the missing checks to the federated
handlers.
2018-04-12 21:55:20 +02:00
Cory Slep 7434f1f9eb Add PostInbox Reject unit test 2018-04-11 20:30:28 +02:00
Cory Slep 589f2a91af Add PostInbox Accept unit tests 2018-04-11 20:13:25 +02:00
Cory Slep a944e2493a Fix pub build. Implement Follow AutoAccept test.
Also refactored the likes/liked add-to-collections logic so that they
are also applicable for following and followers collections. This code
is still as ugly as sin.
2018-04-11 00:10:29 +02:00
Cory Slep f19599cb2c Update actor properties to include collections. 2018-04-09 23:03:55 +02:00
Cory Slep 9f42e8c52c Testing for @context and Follow DoNothing/Reject.
Testing the Follow AutoAccept feature requires implementing it similar
to how the likes collections are implemented.
2018-04-08 19:17:08 +02:00
Cory Slep 3c0e0a89c4 Add PostInbox Delete unit tests 2018-04-05 22:49:32 +02:00
Cory Slep 622a96e6c4 Add PostInbox Create and Update unit tests 2018-04-05 22:08:12 +02:00
Cory Slep c6c350e4d0 Move the DelivererPool out of ActivityPub.
This simplifies testing and allows other implementations to supply a
basic version instead.
2018-04-04 20:36:23 +02:00
Cory Slep bb37850bde Finish first tests for the Social & Federated APIs
Before more tests are to be written, the delivererPool concept needs to
be fully divorced out of the fed library. It is a detail that is
tangential but supplementary. Right now though it is complicating the
tests due to its asynchronous & complex nature. Breaking it out
will simplify the ~90 tests remaining that capture the more nuanced
behavior of this implementation.
2018-04-04 00:29:55 +02:00
Cory Slep 701475b6e0 Fix bugs with delivering messages.
This was uncovered during writing tests where both the Social and
Federative APIs are enabled. The actorObject interface was overused
partially due to my earlier confusion; the introduction of the internal
actor interface resolved this.

Finally, the HttpClient interface was introduced to be able to mock out
calls in testing. It may also prove useful for future applications using
this library.
2018-04-04 00:23:55 +02:00
Cory Slep 4e007b395c Add FederatingPubber tests 2018-04-01 19:06:58 +02:00
Cory Slep ad9baa2f69 Add SocialPubber PostOutbox test 2018-04-01 16:53:32 +02:00
Cory Slep 56e7e842d3 Add AnyObject/Link/Activity callbacks to Deserialize 2018-04-01 16:52:54 +02:00
Cory Slep 981d943e72 Implement more tests, fix test names 2018-04-01 01:12:58 +02:00
Cory Slep f8d65fafde Outline 109 tests to write for Pubber 2018-03-31 23:26:17 +02:00
Cory Slep aede45d546 Don't try to own 'object' for Add/Remove Activities 2018-03-31 23:24:10 +02:00
Cory Slep 6e343f9f45 Support federative Add and Remove 2018-03-30 19:39:07 +02:00
Cory Slep 4efb0a41b2 Add public creation functions 2018-02-21 23:16:10 +01:00
Cory Slep 4368380651 Implement Accept in response to a Follow 2018-02-20 22:50:13 +01:00
Cory Slep 07a04262d9 Support likes, liked, blocking, auto-accept/reject follows. 2018-02-20 00:09:29 +01:00
Cory Slep 683a26f6c1 Overhaul of interfaces, begin detailed Activity handling. 2018-02-15 23:38:58 +01:00
Cory Slep bcec31a2a7 Internalize interfaces that should not be public. 2018-02-12 21:19:35 +01:00
Cory Slep 6448da4ec2 Hook in rest of Activities for ClientReceiver.
There's another iteration of design that can be done that moves
management of actors and collections back into this library, as right
now a lot of the Receiver interfaces put that burden on client
implementations.
2018-02-08 23:55:25 +01:00
Cory Slep ea1a387866 Implement client Create handler 2018-02-08 21:12:52 +01:00
Cory Slep d80d47289a Implement POSTing Activity objects to another server. 2018-02-04 18:50:32 +01:00
Cory Slep 7400a3197f Add support for wrapping objects in Create activity. 2018-02-04 18:32:01 +01:00
Cory Slep fe707109c4 Make substantial progress on ActivityPub client & server implmentation 2018-02-04 17:42:22 +01:00
Cory Slep 3662ac5bf9 Outline support for inbox and outbox handlers and routing. 2018-01-31 22:43:13 +01:00
Cory Slep cd8ee5fb47 Complete basic recipient list inbox algorithm. 2018-01-28 21:29:23 +01:00