Skip to content

Report of work done as part of the Google Summer of Code 2018 in Matrix.org

Notifications You must be signed in to change notification settings

APwhitehat/GSoC_Work_report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

My work focused mainly on Dendrite, Matrix server written in Go.

Federation

Large chunk of the work involved implementing left-over Federation APIs. These form the core of Matrix's decentralized approach to communication. Federation is basically a fancy term for server-server communication, using which two Matrix servers stay in sync.

Things worked on:
  • State APIs: This is used by Matrix servers to query each other for determining the state of a room at some point of history. #486
  • GetMissingEvents API: Sometimes two federating servers get gaps in their event graph,
    this is used to fill in the gaps.#516
  • User Query API: This is used to query the devices for an user. #498
  • Leave API: This is used when an remote user leaves a local room. #535

This was accompanied by small fixes to improve code consistency & error responses.

Typing Notifications

Typing notifications are ephemeral events which are generated when user types in a room. These are sent of to all members of the room.

Things worked on:
  • Authenticate typing requests from client and send it off to Typing Server. #550
  • Build the Typing Server, maintain current list of typing users in all (local) rooms. #559 & #567
  • Send Typing events to other federating servers. #572
Things left to do:
  • Accept typing events via federation API. issue #573
  • Send Typing events to clients via syncapi. issue #574
  • Forwarding typing events to AS. issue #578

Miscellaneous Work

  • Build a transactions cache, to make clientapi idempotent. #440 & #444
  • Store transaction IDs in roomserver to prevent reprocessing of events. #446
  • [gomatrixserverlib] Add token library based on macaroons. #89
  • Username auto generation. #470
  • Handle application services in clientapi authentication. #433 & #427
  • Add internal API to query membership for an user in roomserver. #544

Also varoius other fixes and code quality improvements.

About

Report of work done as part of the Google Summer of Code 2018 in Matrix.org

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published