{"id":27382474,"url":"https://github.com/apwhitehat/gsoc_work_report","last_synced_at":"2026-01-20T09:34:40.132Z","repository":{"id":104784558,"uuid":"144611930","full_name":"APwhitehat/GSoC_Work_report","owner":"APwhitehat","description":"Report of work done as part of the Google Summer of Code 2018 in Matrix.org","archived":false,"fork":false,"pushed_at":"2018-08-13T17:34:51.000Z","size":1,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T15:37:53.891Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/APwhitehat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-13T17:26:49.000Z","updated_at":"2019-01-12T01:07:45.000Z","dependencies_parsed_at":"2023-05-29T20:00:32.054Z","dependency_job_id":null,"html_url":"https://github.com/APwhitehat/GSoC_Work_report","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/APwhitehat/GSoC_Work_report","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APwhitehat%2FGSoC_Work_report","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APwhitehat%2FGSoC_Work_report/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APwhitehat%2FGSoC_Work_report/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APwhitehat%2FGSoC_Work_report/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/APwhitehat","download_url":"https://codeload.github.com/APwhitehat/GSoC_Work_report/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APwhitehat%2FGSoC_Work_report/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28600684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T08:51:33.170Z","status":"ssl_error","status_checked_at":"2026-01-20T08:51:10.855Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-13T15:28:04.655Z","updated_at":"2026-01-20T09:34:40.127Z","avatar_url":"https://github.com/APwhitehat.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"My work focused mainly on [Dendrite](https://github.com/matrix-org/dendrite), Matrix server\nwritten in Go.\n\n### Federation\n\nLarge chunk of the work involved implementing left-over [Federation APIs](https://matrix.org/docs/spec/server_server/unstable.html).\nThese form the core of Matrix's decentralized approach to communication. Federation is\nbasically a fancy term for server-server communication, using which two Matrix servers stay in sync.\n\n##### Things worked on:\n- State APIs: This is used by Matrix servers to query each other for determining\nthe state of a room at some point of history. [#486](https://github.com/matrix-org/dendrite/pull/486)\n- GetMissingEvents API: Sometimes two federating servers get gaps in their event graph,\\\n  this is used to fill in the gaps.[#516](https://github.com/matrix-org/dendrite/pull/516)\n- User Query API: This is used to query the devices for an user. [#498](https://github.com/matrix-org/dendrite/pull/498)\n- Leave API: This is used when an remote user leaves a local room. [#535](https://github.com/matrix-org/dendrite/pull/535)\n\nThis was accompanied by small fixes to improve code consistency \u0026 error responses.\n\n### Typing Notifications\n\nTyping notifications are ephemeral events which are generated when user types in a room.\nThese are sent of to all members of the room.\n\n##### Things worked on:\n- Authenticate typing requests from client and send it off to Typing Server. [#550](https://github.com/matrix-org/dendrite/pull/550)\n- Build the Typing Server, maintain current list of typing users in all (local) rooms. [#559](https://github.com/matrix-org/dendrite/pull/559) \u0026 [#567](https://github.com/matrix-org/dendrite/pull/567)\n- Send Typing events to other federating servers. [#572](https://github.com/matrix-org/dendrite/pull/572)\n\n##### Things left to do:\n- Accept typing events via federation API. [issue #573](https://github.com/matrix-org/dendrite/issues/573)\n- Send Typing events to clients via syncapi. [issue #574](https://github.com/matrix-org/dendrite/issues/574)\n- Forwarding typing events to AS. [issue #578](https://github.com/matrix-org/dendrite/issues/578)\n\n### Miscellaneous Work\n- Build a transactions cache, to make clientapi idempotent.\n\t[#440](https://github.com/matrix-org/dendrite/pull/440) \u0026 [#444](https://github.com/matrix-org/dendrite/pull/444)\n- Store transaction IDs in roomserver to prevent reprocessing of events. [#446](https://github.com/matrix-org/dendrite/pull/446)\n- [[gomatrixserverlib](https://github.com/matrix-org/gomatrixserverlib)] Add token library based on macaroons.\n\t[#89](https://github.com/matrix-org/gomatrixserverlib/pull/89)\n- Username auto generation. [#470](https://github.com/matrix-org/dendrite/pull/470)\n- Handle application services in clientapi authentication.\n\t[#433](https://github.com/matrix-org/dendrite/pull/433) \u0026 [#427](https://github.com/matrix-org/dendrite/pull/427)\n- Add internal API to query membership for an user in roomserver. [#544](https://github.com/matrix-org/dendrite/pull/544)\n\nAlso varoius other fixes and code quality improvements.\n\n#### [See commits in Dendrite](https://github.com/matrix-org/dendrite/commits?author=APwhitehat)\n#### [See commits in gomatrixserverlib](https://github.com/matrix-org/gomatrixserverlib/commits?author=APwhitehat)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapwhitehat%2Fgsoc_work_report","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapwhitehat%2Fgsoc_work_report","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapwhitehat%2Fgsoc_work_report/lists"}