mirror of
https://github.com/PretendoNetwork/website.git
synced 2026-08-22 08:36:46 -05:00
Merge branch 'master' into patch-1
This commit is contained in:
44
blogposts/11-14-21.md
Normal file
44
blogposts/11-14-21.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: "[Recap] October-November"
|
||||
author: "Jon"
|
||||
author_image: "https://www.github.com/jonbarrow.png"
|
||||
date: "November 14, 2021"
|
||||
caption: "Progress made in the month of October"
|
||||
cover_image: "/assets/images/blogposts/11-14-21.jpg"
|
||||
---
|
||||
|
||||
### If you want to see more frequent updates, consider supporting us on [**Patreon**](https://patreon.com/PretendoNetwork)
|
||||
|
||||
# Introduction
|
||||
Welcome to the October monthly recap. While not a lot of updates happened, the ones which did were important!
|
||||
|
||||
## RSS
|
||||
Small update to the website, we now have an RSS feed for blog posts! Use your favorite reader to keep up to date on all our blog posts
|
||||
|
||||
## Stability
|
||||
Both `nex-go` and `nex-protocols-go` recieved several stability, code quality, and feature updates. These include, but are not limited to, RMC Request creation, fixing packet fragment IDs not being used, many new types being supported in our `StreamIn` and `StreamOut` structs, and a server ping timeout to properly close connections when a client leaves. These all make the network work much better and feel much more cohesive
|
||||
|
||||
## Where is everyone?
|
||||
The core of online multiplayer is connecting users together. On the Wii U and 3DS, multiplayer is handled via a p2p (peer-to-peer) connection, where one use is assigned as the "host" allowing other users to directly connect to their game session. The technology behind allowing users to connect to other users using arbitrary ports is called `NAT Traversal`. Until now, `NAT Traversal` was not working correctly and clients needed to open all ports to connect. Thanks to developer [shutterbug](https://github.com/shutterbug2000) `NAT` now properly works!
|
||||
|
||||

|
||||
|
||||
## Rev your engines!
|
||||
Both Mario Kart 7 and Mario Kart 8 have started going online and can play matches. These games are far from complete but this is a great stepping stone. Patrons can access the beta servers for Mario Kart 8 right now, Mario Kart 7 has no servers available however. [CTGP-7](https://ctgp-7.github.io/) is also confirmed working for Mario Kart 7, and [CTGP-Café](https://rambo6glaz.github.io/CTGP-Cafe/) being planned for testing as well with full integration planned for both
|
||||
|
||||

|
||||
|
||||
[yt-iframe](W974FEDIoAA)
|
||||
|
||||
## Hello YouTube!
|
||||
An unintended side effect of working on Miiverse support in Mario Kart 8 was YouTube uploading being re-enabled! You can now upload race clips from Mario Kart 8 to YouTube again. Patrons who run the Miiverse patch can try this feature out right now
|
||||
|
||||
[yt-iframe](d3Bq7auupV0)
|
||||
|
||||
## Squid Game
|
||||
Splatoon multiplayer battles now works! As of now only private friend battles have been tested, but they seem to be working without issue
|
||||
|
||||
[yt-iframe](d_qFnXrP7a4)
|
||||
|
||||
## Friendship is magic
|
||||
The friends server received some big updates. You can now properly set your privacy settings, add friends, and receive notifications from the server on what your friends are playing
|
||||
@@ -4,7 +4,7 @@ author: "Jon"
|
||||
author_image: "https://www.github.com/jonbarrow.png"
|
||||
date: "September 26, 2021"
|
||||
caption: "First ever progress recap"
|
||||
cover_image: "https://cdn.discordapp.com/attachments/881855727830978580/891805956424495105/Frame_1_1.png"
|
||||
cover_image: "/assets/images/blogposts/9-26-21.png"
|
||||
---
|
||||
|
||||
### If you want to see more frequent updates, consider supporting us on [**Patreon**](https://patreon.com/pretendonetwork)
|
||||
|
||||
@@ -4,7 +4,7 @@ author: "Jemma"
|
||||
author_image: "https://www.github.com/caramelkat.png"
|
||||
date: "September 29, 2021"
|
||||
caption: "What's Juxtaposition and where it's headed"
|
||||
cover_image: "https://cdn.discordapp.com/attachments/881694875391774770/892859459666325534/unknown.png"
|
||||
cover_image: "/assets/images/blogposts/9-29-21.png"
|
||||
---
|
||||
|
||||
### If you want to see more frequent updates, consider supporting us on [**Patreon**](https://patreon.com/pretendonetwork)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "Test"
|
||||
author: "Monty"
|
||||
author_image: "https://www.github.com/montylion.png"
|
||||
author_image: "https://www.github.com/ashmonty.png"
|
||||
date: "January 20, 2038"
|
||||
caption: "A post to test the styling of the various elements we might use (rename to _test.md before deploying the blog section)"
|
||||
cover_image: "https://media.discordapp.net/attachments/413884110667251722/886474243662037062/image1.jpg"
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "مطور الويب",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"progress": {
|
||||
"title": "Progresso",
|
||||
"paragraphs": [
|
||||
"Atualmente estamos trabalhando no Miiverse, assinm como no nossos servidores de contas e suas integrações com os serviços.",
|
||||
"Atualmente estamos trabalhando no Miiverse, assim como no nossos servidores de contas e suas integrações com os serviços.",
|
||||
"Para o Nintendo 3DS também estamos trabalhando no Mario Kart 7, pretendemos trabalhar em outros jogos quando possível."
|
||||
]
|
||||
},
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Desenvolvimento web",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
@@ -121,8 +121,8 @@
|
||||
]
|
||||
},
|
||||
"specialThanks": {
|
||||
"title": "Special thanks",
|
||||
"text": "Without them, Pretendo wouldn't be where it is today.",
|
||||
"title": "Agradecimentos especiais",
|
||||
"text": "Sem eles, Pretendo não estaria onde está hoje.",
|
||||
"people": [
|
||||
{
|
||||
"name": "superwhiskers",
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Webentwicklung",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Desarrollo web",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -111,8 +111,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Développement Web",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -109,12 +109,12 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Sviluppo web",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
"caption": "Desigmer",
|
||||
"caption": "Designer",
|
||||
"picture": "https://github.com/mrjvs.png",
|
||||
"github": "https://github.com/mrjvs"
|
||||
}
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "웹 개발",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
"hero": {
|
||||
"subtitle": "Servere de Jocuri",
|
||||
"title": "Recreate",
|
||||
"text": "Pretendo este un înlocuitor gratuit pentru serverele Nintendo pentru 3DS și Wii U, permițând conectivitate pentru toți, chiar și după ce serverele oficiale sunt oprite",
|
||||
"text": "Pretendo este un înlocuitor gratuit al serverelor Nintendo pentru 3DS și Wii U, permițând conectivitate pentru toți, chiar și după ce serverele oficiale sunt oprite",
|
||||
"buttons": {
|
||||
"readMore": "Citiți mai multe"
|
||||
}
|
||||
@@ -34,7 +34,7 @@
|
||||
"QAs": [
|
||||
{
|
||||
"question": "Ce este Pretendo?",
|
||||
"answer": "Pretendo este un înlocuitor open source al Nintendo Network ce are ca scop să construiască servere private pentru consolele Nintendo 3DS și Wii U. Scopul nostru este să prezervăm funcționalitatea online a acestor console, pentru a permite jucătorilor să joace în continuare jocurile lor preferate de pe Wii U și 3DS la capacitatea lor maximă."
|
||||
"answer": "Pretendo este un înlocuitor gratuit al Nintendo Network ce are ca scop să construiască servere private pentru consolele Nintendo 3DS și Wii U. Scopul nostru este să prezervăm funcționalitatea online a acestor console, pentru a permite jucătorilor să joace în continuare jocurile lor preferate de pe Wii U și 3DS la capacitatea lor maximă."
|
||||
},
|
||||
{
|
||||
"question": "Va merge NNID-ul meu pe Pretendo?",
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Dezvoltare web",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Web-разработка",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Web sayfası geliştirme",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
{
|
||||
"name": "Monty",
|
||||
"caption": "Web development",
|
||||
"picture": "https://github.com/montylion.png",
|
||||
"github": "https://github.com/montylion"
|
||||
"picture": "https://github.com/ashmonty.png",
|
||||
"github": "https://github.com/ashmonty"
|
||||
},
|
||||
{
|
||||
"name": "mrjvs",
|
||||
|
||||
205
package-lock.json
generated
205
package-lock.json
generated
@@ -156,6 +156,56 @@
|
||||
"integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==",
|
||||
"dev": true
|
||||
},
|
||||
"@sindresorhus/is": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
|
||||
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
|
||||
},
|
||||
"@szmarczak/http-timer": {
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
|
||||
"integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
|
||||
"requires": {
|
||||
"defer-to-connect": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@types/cacheable-request": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
|
||||
"integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
|
||||
"requires": {
|
||||
"@types/http-cache-semantics": "*",
|
||||
"@types/keyv": "*",
|
||||
"@types/node": "*",
|
||||
"@types/responselike": "*"
|
||||
}
|
||||
},
|
||||
"@types/http-cache-semantics": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
|
||||
"integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
|
||||
},
|
||||
"@types/keyv": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz",
|
||||
"integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.1.tgz",
|
||||
"integrity": "sha512-PYGcJHL9mwl1Ek3PLiYgyEKtwTMmkMw4vbiyz/ps3pfdRYLVv+SN7qHVAImrjdAXxgluDEw6Ph4lyv+m9UpRmA=="
|
||||
},
|
||||
"@types/responselike": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
|
||||
"integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"accepts": {
|
||||
"version": "1.3.7",
|
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
|
||||
@@ -283,6 +333,25 @@
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
|
||||
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
|
||||
},
|
||||
"cacheable-lookup": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
|
||||
"integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="
|
||||
},
|
||||
"cacheable-request": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
|
||||
"integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
|
||||
"requires": {
|
||||
"clone-response": "^1.0.2",
|
||||
"get-stream": "^5.1.0",
|
||||
"http-cache-semantics": "^4.0.0",
|
||||
"keyv": "^4.0.0",
|
||||
"lowercase-keys": "^2.0.0",
|
||||
"normalize-url": "^6.0.1",
|
||||
"responselike": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"callsites": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||
@@ -299,6 +368,14 @@
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"clone-response": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
|
||||
"integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
|
||||
"requires": {
|
||||
"mimic-response": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"cluster-key-slot": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
|
||||
@@ -386,12 +463,32 @@
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"decompress-response": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
|
||||
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
|
||||
"requires": {
|
||||
"mimic-response": "^3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"mimic-response": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
|
||||
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"deep-is": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
|
||||
"dev": true
|
||||
},
|
||||
"defer-to-connect": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
|
||||
"integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
|
||||
},
|
||||
"define-properties": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||
@@ -440,6 +537,14 @@
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
||||
},
|
||||
"end-of-stream": {
|
||||
"version": "1.4.4",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
||||
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
|
||||
"requires": {
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"enquirer": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
|
||||
@@ -794,6 +899,14 @@
|
||||
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
|
||||
"dev": true
|
||||
},
|
||||
"get-stream": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"requires": {
|
||||
"pump": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
|
||||
@@ -825,6 +938,24 @@
|
||||
"type-fest": "^0.20.2"
|
||||
}
|
||||
},
|
||||
"got": {
|
||||
"version": "11.8.2",
|
||||
"resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz",
|
||||
"integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==",
|
||||
"requires": {
|
||||
"@sindresorhus/is": "^4.0.0",
|
||||
"@szmarczak/http-timer": "^4.0.5",
|
||||
"@types/cacheable-request": "^6.0.1",
|
||||
"@types/responselike": "^1.0.0",
|
||||
"cacheable-lookup": "^5.0.3",
|
||||
"cacheable-request": "^7.0.1",
|
||||
"decompress-response": "^6.0.0",
|
||||
"http2-wrapper": "^1.0.0-beta.5.2",
|
||||
"lowercase-keys": "^2.0.0",
|
||||
"p-cancelable": "^2.0.0",
|
||||
"responselike": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
|
||||
@@ -864,6 +995,11 @@
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
|
||||
"integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
|
||||
},
|
||||
"http-cache-semantics": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
|
||||
"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
|
||||
@@ -876,6 +1012,15 @@
|
||||
"toidentifier": "1.0.0"
|
||||
}
|
||||
},
|
||||
"http2-wrapper": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
|
||||
"integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
|
||||
"requires": {
|
||||
"quick-lru": "^5.1.1",
|
||||
"resolve-alpn": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
@@ -1004,6 +1149,11 @@
|
||||
"esprima": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"json-buffer": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
|
||||
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
@@ -1025,6 +1175,14 @@
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"keyv": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz",
|
||||
"integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==",
|
||||
"requires": {
|
||||
"json-buffer": "3.0.1"
|
||||
}
|
||||
},
|
||||
"kind-of": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||
@@ -1068,6 +1226,11 @@
|
||||
"integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
|
||||
"dev": true
|
||||
},
|
||||
"lowercase-keys": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
|
||||
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
@@ -1115,6 +1278,11 @@
|
||||
"mime-db": "1.44.0"
|
||||
}
|
||||
},
|
||||
"mimic-response": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
|
||||
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
@@ -1168,6 +1336,11 @@
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
|
||||
"integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
|
||||
},
|
||||
"normalize-url": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
|
||||
"integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
@@ -1224,6 +1397,11 @@
|
||||
"word-wrap": "^1.2.3"
|
||||
}
|
||||
},
|
||||
"p-cancelable": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
|
||||
"integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
|
||||
},
|
||||
"p-map": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
|
||||
@@ -1288,6 +1466,15 @@
|
||||
"ipaddr.js": "1.9.1"
|
||||
}
|
||||
},
|
||||
"pump": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
||||
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
||||
"requires": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"once": "^1.3.1"
|
||||
}
|
||||
},
|
||||
"punycode": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
@@ -1299,6 +1486,11 @@
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
|
||||
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
|
||||
},
|
||||
"quick-lru": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
|
||||
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
|
||||
},
|
||||
"range-parser": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
@@ -1350,12 +1542,25 @@
|
||||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||
"dev": true
|
||||
},
|
||||
"resolve-alpn": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
|
||||
"integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
|
||||
},
|
||||
"resolve-from": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
||||
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
|
||||
"dev": true
|
||||
},
|
||||
"responselike": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
|
||||
"integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
|
||||
"requires": {
|
||||
"lowercase-keys": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"restler": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/restler/-/restler-3.3.0.tgz",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"express-handlebars": "^4.0.4",
|
||||
"express-locale": "^2.0.0",
|
||||
"fs-extra": "^9.1.0",
|
||||
"got": "^11.8.2",
|
||||
"gray-matter": "^4.0.3",
|
||||
"ioredis": "^4.26.0",
|
||||
"marked": "^3.0.4",
|
||||
|
||||
BIN
public/assets/images/blogposts/11-14-21.jpg
Normal file
BIN
public/assets/images/blogposts/11-14-21.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 90 KiB |
BIN
public/assets/images/blogposts/9-26-21.png
Normal file
BIN
public/assets/images/blogposts/9-26-21.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.5 KiB |
BIN
public/assets/images/blogposts/9-29-21.png
Normal file
BIN
public/assets/images/blogposts/9-29-21.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 211 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
@@ -1,20 +1,20 @@
|
||||
const Trello =require('trello');
|
||||
const Redis = require('ioredis');
|
||||
const JSONCache = require('redis-json');
|
||||
const got = require('got');
|
||||
const config = require('../config.json');
|
||||
|
||||
const trello = new Trello(config.trello.api_key, config.trello.api_token);
|
||||
const redis = new Redis();
|
||||
const trelloCache = new JSONCache(redis, { prefix: 'trello:' });
|
||||
let cache;
|
||||
|
||||
async function getTrelloCache() {
|
||||
let cache = await trelloCache.get('latest');
|
||||
if (!cache) {
|
||||
cache = await updateTrelloCache();
|
||||
}
|
||||
|
||||
if (cache.update_time < Date.now() - (1000 * 60 * 60)) {
|
||||
cache = await updateTrelloCache();
|
||||
const available = await trelloAPIAvailable();
|
||||
if (available) {
|
||||
cache = await updateTrelloCache();
|
||||
}
|
||||
}
|
||||
|
||||
return cache;
|
||||
@@ -60,10 +60,14 @@ async function updateTrelloCache() {
|
||||
}
|
||||
}
|
||||
|
||||
await trelloCache.set('latest', progressData);
|
||||
return progressData;
|
||||
}
|
||||
|
||||
async function trelloAPIAvailable() {
|
||||
const { status } = await got('https://trello.status.atlassian.com/api/v2/status.json').json();
|
||||
return status.description === 'All Systems Operational';
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getTrelloCache,
|
||||
updateTrelloCache
|
||||
|
||||
Reference in New Issue
Block a user