You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -13,37 +13,18 @@ Made with SvelteKit, TailwindCSS & shadcn-svelte.
13
13
- Dynamically computed badges to indicate whether a package is the Latest, a Major version, a Prerelease, or a Maintenance version
14
14
- Hover popups at multiple places across the site
15
15
- "What's new" banner to keep users updated about the latest changes to the website
16
-
- Authenticate with GitHub to bypass rate limits and get access to more features
17
-
- Optional use of a GitHub token to avoid rate limiting in dev mode in a `.env` file (see `.env.example`)
16
+
- ...and more!
18
17
19
18
## How does it work?
20
19
21
-
The site makes requests to the GitHub API on the client side to get the latest releases for all the packages.
22
-
As such, the data is fresh from GitHub every time you refresh the page.
20
+
The site makes requests to the GitHub API on the server side to get the latest releases for all the packages.
21
+
It smartly caches the data, frequently invalidating it to always be up to date while avoiding hitting GitHub as
22
+
much as possible.
23
23
24
24
Some computations are made to generate the badges, but everything else is a simple cosmetic
25
25
wrapper around GitHub releases.
26
26
**No data alteration is performed by the site other than for styling and rendering purposes**.
27
27
28
-
### What is that "Log in with GitHub" button?
29
-
30
-
With the growing amount of features and supported packages, the site went from requesting the GitHub API
31
-
very few times to request it a lot.
32
-
As such, the rate limit of the GitHub API was quickly reached, and the site became hard to browse.
33
-
34
-
To solve this issue, I [initially implemented](https://github.com/WarningImHack3r/svelte-changelog/commit/f28218cbf3d57d509e771520e8c02a610dab4b95) a way to input a GitHub token in the website settings.
35
-
This became [the next week](https://github.com/WarningImHack3r/svelte-changelog/pull/27) a full-fledged authentication system with GitHub OAuth, which is what you see today.
36
-
37
-
**By logging in with GitHub, you can browse the site (almost) without any rate limit issues**.
38
-
You will also get access to more features, such as the ability to see the details of a pull request
39
-
or issue directly on the site.
40
-
41
-
The site does not store any data about you. The only thing the login system does is store the token given
42
-
by the GitHub authentication process in the browser's local storage to use it for the GitHub API requests.
43
-
44
-
Logging in is entirely optional but highly recommended. You can remove the token from the website at any time
45
-
by clicking the "Log out" button in your avatar dropdown.
46
-
47
28
## Missing a package?
48
29
49
30
If you think I missed a package, you can either open an issue or directly contribute.
0 commit comments