Skip to content
This repository has been archived by the owner on Nov 25, 2024. It is now read-only.

Application Services #358

Closed
turt2live opened this issue Nov 27, 2017 · 10 comments
Closed

Application Services #358

turt2live opened this issue Nov 27, 2017 · 10 comments

Comments

@turt2live
Copy link
Member

turt2live commented Nov 27, 2017

bounty

Currently this is under phase 4 for dendrite, however I'd certainly like to see it in an earlier phase. This includes:

  • Loading application service configurations
  • The application service API
  • Supporting application services on the various client endpoints

An incredibly nice to have feature of this would also be documentation on how this API works.

@anoadragon453
Copy link
Member

anoadragon453 commented Dec 5, 2017

To break the tasks down a bit further:

  • Allow application services to register users in their namepsaces defined in the config files.
  • Look at each event and figure out if it should be sent to the AS, if so do that (with ability to batch requests up while doing so).
  • Make the APIs support the way that AS's interact with the API, which is use their master access_token and specify a user_id= param.

Application Services API docs

@anoadragon453
Copy link
Member

In terms of users, Application Services specifically:

  • Register for a namespace which is a regex pattern which their user's usernames matches. They can say whether they have exclusive rights to their namespace or not.
  • They can register a password-less user as long as the username lies within their namespace.
  • They can then call any API endpoint masquerading as that user with /path?access_token=$token&user_id=$userid.

@turt2live
Copy link
Member Author

turt2live commented Feb 15, 2018

Just for tracking purposes, here's the PR progress so far:

If I'm not mistaken, what's left to do is:

Thanks for your amazing progress so far on this @anoadragon453! It's looking pretty good, and I'm really excited to see it implemented.

Edit: Update with current progress - @anoadragon453

@anoadragon453
Copy link
Member

@turt2live Thanks for summing it all up! I plan to add AS support to endpoints next (hopefully in some transparent fashion that future endpoints can use without hassle), then work on communicating directly the AS's.

And tests, need to start writing those :)

@turt2live
Copy link
Member Author

turt2live commented Jun 2, 2018

@anoadragon453
Copy link
Member

I'm also tracking progress in the spreadsheet fwiw.

@Half-Shot
Copy link
Contributor

Modulo #468 being verified as fixed, I don't know if this issue is very useful going forwards. All the basic AS features have landed and we can track the thirdparty endpoints / misc things as issues.

Any votes for keeping this open?

@anoadragon453
Copy link
Member

Ah memories...

I'm fine with closing it now that basic support is there. @turt2live?

@turt2live
Copy link
Member Author

yea, I think this is done enough. Is there someone who is able to accept the bounty or should I get it moved to another issue? (not sure how many people are involved, and whether it would count as conflict of interest/non-compete)

@Half-Shot
Copy link
Contributor

I think the PRs have come over several years, some of which have since been broken and unbroken. Suggest you move the bounty, unless I am forgetting someone (please ping loudly).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants