Skip to content

Unify social and social2 APIs #272

@bemasc

Description

@bemasc

The freedom social interface assumes that your buddy list is managed using some other client. This makes sense for traditional chat networks, but makes less sense as we try to expand the range of supported communications systems (e.g. e-mail, Google Sheets). It would be nice if the buddy list could be managed directly on the freedom client.

Proposed new methods:

  • boolean hasRosterControl()
    • Returns false for all current social network implementations.
  • boolean addContact(string introductionToken)
    • Adds a remote user, represented by a string in a format proprietary to this social provider. Returns false if the action failed (e.g. contactToken was malformed)
    • For e-mail, the introductionToken is the e-mail address, which is also the userId
    • For Google Sheets, this might be the URL of a spreadsheet that your friend has made available.
  • string getIntroductionToken()
    • Gets a token that a friend can pass to addContact for this social provider. This token may be single-use or reusable.
  • boolean removeContact(string userId)
    • Removes the specified remote user from the roster

@dborkan PTAL

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions