Giter VIP home page Giter VIP logo

activity's People

Contributors

benlubar avatar cjslep avatar kissen avatar komarov avatar muesli avatar ppwfx avatar sevki avatar sigafoos avatar tsmethurst avatar walfie avatar weex avatar zauberstuhl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

activity's Issues

Integrate with vgo

Use golang's proposed semantic versioning package management for the initial release.

Redesign APIs consumed in Pub

Right now, with the usage of vocab.ObjectType and cousins, they are overly-specific. Hard for other semantic layers and serialization/deserialization layer combinations to plug in, besides the provided vocab or stream packages.

Broken out of issue #48.

Unofficial Implementation Reports

This is where I will post unofficial implementation reports of this library generated by the thin server wrapper around this library at https://github.com/go-fed/report.

Since I am tackling the implementation report one step at a time, as it is very comprehensive, I wanted to provide insight along the way.

Once an official version is available, I will close this issue and refer to that in the README.

Compile Time & Resources (Formerly: Cannot compile on Raspberry Pi 3)

Both go build and go install fail for streams and vocab on a Raspberry Pi 3 due to running out of memory. (I can get specifics later today if needed; the pi is so upset with me it's no longer responding to ssh)

I understand why: the packages are huge, with good reason. A simple fix would potentially be to offer releases for major/minor versions.

(users can also compile on a better machine with env GOOS=linux GOARCH=arm go build and then copy the binary)

Audit all setting-objects instead of setting-IRIs

When going through the implementation report, it seems like my choice to favor adding the full object if able to other collections, objects, etc. is probably not the correct one for consistency reasons. Implementations won't want to manage an object and its value within a collection if the full object is added within the collection.

Go back through and prefer IRIs instead.

Pass `go vet`

Since go 1.10, go vet is now default run on go test. Make sure everything passes go vet.

Support Oauth fields

I am not sure what, if any, authentication schemes are in place. Or if it is simply to have a server verify (via HTTP AP GET) that the Update or Create object is indeed truly at the origin, and therefore the entire Activity message delivered is trustworthy.

In practice this may just be deferred to the library user, who must satisfy some sort of interface that is TBD.

README updates

  • Mention that this library follows semantic versioning.
  • Have a patch notes document
  • Create and link to a CONTRIBUTING doc
  • Add section How can I get help? which links to the relevant section in the CONTRIBUTING file
  • Include links to unofficial or official implementation reports.

Code-generate a golang semantic layer on top of arbitrary JSON-LD contexts (Formerly: compile time)

Hey,

I had a look into vocab.go. On my machine it adds about 40s of compile time.

I have a couple of questions and ideas how to reduce the file size, but Im not exactly sure how they impact the compile time actually.

Why are there interfaces for all the types? Are there more than one implementation for them?

What about adding more generic interfaces, like Serializer and Deserializer?

e.g.

type AltitudeTrait interface {
	IsAltitude() (ok bool)
	GetAltitude() (v float64)
	SetAltitude(v float64)
	IsAltitudeIRI() (ok bool)
	GetAltitudeIRI() (v *url.URL)
	SetAltitudeIRI(v *url.URL)
}

What about dumping all the types that can be represented as an Object (like Note, Page)?

Allow clients to add HTTP caching support

HTTP caching mechanisms [RFC7234] SHOULD be respected when appropriate, both when receiving responses from other servers as well as sending responses to other servers.

Client can provide a caching solution, lib would just use it.

Generate to multiple files

Hey,

can you generate multiple smaller files than rather than having a huge one? Github wont render it and my IDE goland would go totally crazy when Id try to open it.

Bugifxes for implementation report

This is a catch-all bug for things I am fixing related to generating the implementation report for this library at https://test.activitypub.rocks. I haven't pushed the commits yet so I wanted to create this for visibility.

These fixes are API compatible with the 0.1.0 release:

  • Better header detection for determining whether a request is an ActivityPub request.
  • Outbox activities are now Set in addition to the outbox OrderedCollection itself.
  • A mixup with handling bcc/bto is no more, preventing a panic.

These commits aren't yet pushed to this repo; expect them within 24 hours.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.