badges / badges/shields

Caching layer for discardable credentials

Open
#2,547 0 comments 0 reactions 0 assignees View on GitHub
core operations performance-improvement
Dominant language
JavaScript
Stars
27.2k
Forks
5.6k
Avg merge
1d 8h
Merged PRs (30d)
46

Description

API credentials for the Matrix badge work by creating a guest user. It would be better for performance reasons of the badge and the server not to create a guest user for each request, but to create one once and use it for all requests.

In https://github.com/badges/shields/pull/2527#issuecomment-447990925 I described an adaptation of the GitHub `FsTokenPersistence`/`RedisTokenPersistence` storage layer to support Matrix.

The other places caching has arisen are for Gitlab #1838 which is similar to GitHub, and #1545 which is about caching of intermediate API responses. As I think about the Matrix use case some more, it seems possible that it's better to think of these as intermediate responses, since unlike GitHub and Gitlab API keys, they are discardable.

See also this discussion: https://github.com/badges/shields/issues/1848#issuecomment-434898047

Dependencies: #1848 #1806

Contributor guide

Open the contributing guide

Research direction

Start by reading the discussion in PR #2527 and the related threads in issues #1848, #1806, #1838, and #1545. The work is complete when the Matrix badge can reuse a cached guest credential across requests without creating a guest user each time, while treating the cached credential as discardable.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.