Compare commits
4 commits
bcc3bfc288
...
960eca3b39
Author | SHA1 | Date | |
---|---|---|---|
960eca3b39 | |||
adbd2bbf60 | |||
f066c74b39 | |||
c29fbc8e19 |
7 changed files with 36 additions and 46 deletions
|
@ -96,7 +96,7 @@ Total transitive production dependencies: 137
|
|||
* (31) better-sqlite3: SQLite3 is the best database, and this is the best library for it.
|
||||
* (27) @cloudrac3r/pug: Language for dynamic web pages. This is my fork. (I released code that hadn't made it to npm, and removed the heavy pug-filters feature.)
|
||||
* (16) stream-mime-type@1: This seems like the best option. Version 1 is used because version 2 is ESM-only.
|
||||
* (9) h3: Web server. OOYE needs this for the appservice listener, authmedia proxy, and more. 14 transitive dependencies is on the low end for a web server.
|
||||
* (9) h3: Web server. OOYE needs this for the appservice listener, authmedia proxy, self-service, and more.
|
||||
* (11) sharp: Image resizing and compositing. OOYE needs this for the emoji sprite sheets.
|
||||
|
||||
### <font size="-1">🪱</font>
|
||||
|
|
66
package-lock.json
generated
66
package-lock.json
generated
|
@ -32,11 +32,11 @@
|
|||
"h3": "^1.15.1",
|
||||
"heatsync": "^2.7.2",
|
||||
"htmx.org": "^2.0.4",
|
||||
"lru-cache": "^10.4.3",
|
||||
"lru-cache": "^11.0.2",
|
||||
"minimist": "^1.2.8",
|
||||
"prettier-bytes": "^1.0.4",
|
||||
"sharp": "^0.33.4",
|
||||
"snowtransfer": "^0.12.0",
|
||||
"snowtransfer": "^0.13.1",
|
||||
"stream-mime-type": "^1.0.2",
|
||||
"try-to-catch": "^3.0.1",
|
||||
"uqr": "^0.1.2",
|
||||
|
@ -143,9 +143,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@chriscdn/promise-semaphore": {
|
||||
"version": "2.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@chriscdn/promise-semaphore/-/promise-semaphore-2.0.9.tgz",
|
||||
"integrity": "sha512-kKXJcm5gM8FN8O8U20H19/85b8R33K0Q2u5cnm9mfblK/7QcNChlOhCTWgnrr8wYiuF1ZbYIZcioxW79QfjnmQ=="
|
||||
"version": "2.0.10",
|
||||
"resolved": "https://registry.npmjs.org/@chriscdn/promise-semaphore/-/promise-semaphore-2.0.10.tgz",
|
||||
"integrity": "sha512-NagoHAZEYISDYYprsHe+x2BEcD6GKhTpEreI8BM1qgtHOtCS3lbwRvvTQxzAxU8JVSmw7ep/ROLv3Ng/MPcMHg=="
|
||||
},
|
||||
"node_modules/@cloudcmd/stub": {
|
||||
"version": "4.0.1",
|
||||
|
@ -926,10 +926,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@stackoverflow/stacks": {
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/@stackoverflow/stacks/-/stacks-2.5.4.tgz",
|
||||
"integrity": "sha512-k11SesaE+bZXNoa7IDinkpmu1BgVq7xIV1Gl1fZ5SM00hPi2S/vCyjIupLvJbSt1PAJTlnpBoUIM1ubb0Y7qFg==",
|
||||
"license": "MIT",
|
||||
"version": "2.7.1",
|
||||
"resolved": "https://registry.npmjs.org/@stackoverflow/stacks/-/stacks-2.7.1.tgz",
|
||||
"integrity": "sha512-aKqVyPigMiMUpbGDA3egM2ORmaNGCJQ/e+WJZJgnj0pc/xBpiFdYSojsl/tP3eGKg0cvU7EldGzzvfwFYwUbfA==",
|
||||
"dependencies": {
|
||||
"@hotwired/stimulus": "^3.2.2",
|
||||
"@popperjs/core": "^2.11.8"
|
||||
|
@ -1076,11 +1075,10 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.17.19",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.19.tgz",
|
||||
"integrity": "sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==",
|
||||
"version": "20.17.24",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.24.tgz",
|
||||
"integrity": "sha512-d7fGCyB96w9BnWQrOsJtpyiSaBcAYYr75bnK6ZRjDbql2cGLj/3GsL5OYmLPNq76l7Gf2q4Rv9J2o6h5CrD9sA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.19.2"
|
||||
}
|
||||
|
@ -1426,18 +1424,6 @@
|
|||
"node": ">=16.15.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cloudstorm/node_modules/snowtransfer": {
|
||||
"version": "0.13.1",
|
||||
"resolved": "https://registry.npmjs.org/snowtransfer/-/snowtransfer-0.13.1.tgz",
|
||||
"integrity": "sha512-EMrvqCk0JVcpJILTV9JEvUi3VyC5kohcza9d9l034B+cXwLbOWKFhzKULBPe/VqTdx+aqFpdYCdb1/HDrRiZ1Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"discord-api-types": "^0.37.119"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.15.0"
|
||||
}
|
||||
},
|
||||
"node_modules/color": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
|
||||
|
@ -1872,10 +1858,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/heatsync": {
|
||||
"version": "2.7.2",
|
||||
"resolved": "https://registry.npmjs.org/heatsync/-/heatsync-2.7.2.tgz",
|
||||
"integrity": "sha512-1djRg4eufv5q+CRy5SuZSiV3j53KIDSGkDubJB+vXY1OE+AnTkw5HIJxi+0vEjHjX+wbH5syYQunQ/ElAgoEmg==",
|
||||
"license": "MIT",
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/heatsync/-/heatsync-2.8.1.tgz",
|
||||
"integrity": "sha512-BipRCTh6jqndV5FsebdJFQHRKb5J4ecVA7Kqv0gktb/MorrEwgTEoTNSITjEK59heGyP+QnTSj6LyJDFsnVqvQ==",
|
||||
"dependencies": {
|
||||
"backtracker": "^4.0.0"
|
||||
},
|
||||
|
@ -2081,10 +2066,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "10.4.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
||||
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
||||
"license": "ISC"
|
||||
"version": "11.0.2",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
|
||||
"integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
|
||||
"engines": {
|
||||
"node": "20 || >=22"
|
||||
}
|
||||
},
|
||||
"node_modules/make-dir": {
|
||||
"version": "4.0.0",
|
||||
|
@ -2283,6 +2270,12 @@
|
|||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/path-scurry/node_modules/lru-cache": {
|
||||
"version": "10.4.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
||||
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/peek-readable": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
|
||||
|
@ -2683,10 +2676,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/snowtransfer": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/snowtransfer/-/snowtransfer-0.12.0.tgz",
|
||||
"integrity": "sha512-EmVTAeSXtA7ZlTqwmZxe5JwRTm4FOXEOqMOzGu8fdVSoqXjcWgQ8IfaIRu/54FamOMjOmcxnpTyNPj5MUqWxpA==",
|
||||
"license": "MIT",
|
||||
"version": "0.13.1",
|
||||
"resolved": "https://registry.npmjs.org/snowtransfer/-/snowtransfer-0.13.1.tgz",
|
||||
"integrity": "sha512-EMrvqCk0JVcpJILTV9JEvUi3VyC5kohcza9d9l034B+cXwLbOWKFhzKULBPe/VqTdx+aqFpdYCdb1/HDrRiZ1Q==",
|
||||
"dependencies": {
|
||||
"discord-api-types": "^0.37.119"
|
||||
},
|
||||
|
|
|
@ -41,11 +41,11 @@
|
|||
"h3": "^1.15.1",
|
||||
"heatsync": "^2.7.2",
|
||||
"htmx.org": "^2.0.4",
|
||||
"lru-cache": "^10.4.3",
|
||||
"lru-cache": "^11.0.2",
|
||||
"minimist": "^1.2.8",
|
||||
"prettier-bytes": "^1.0.4",
|
||||
"sharp": "^0.33.4",
|
||||
"snowtransfer": "^0.12.0",
|
||||
"snowtransfer": "^0.13.1",
|
||||
"stream-mime-type": "^1.0.2",
|
||||
"try-to-catch": "^3.0.1",
|
||||
"uqr": "^0.1.2",
|
||||
|
|
|
@ -382,7 +382,7 @@ function defineEchoHandler() {
|
|||
// set profile data on discord...
|
||||
const avatarImageBuffer = await fetch("https://cadence.moe/friends/out_of_your_element.png").then(res => res.arrayBuffer())
|
||||
await discord.snow.user.updateSelf({avatar: "data:image/png;base64," + Buffer.from(avatarImageBuffer).toString("base64")})
|
||||
await discord.snow.requestHandler.request(`/applications/@me`, {}, "patch", "json", {description: "Powered by **Out Of Your Element**\nhttps://gitdab.com/cadence/out-of-your-element"})
|
||||
await discord.snow.bot.updateApplicationInfo({description: "Powered by **Out Of Your Element**\nhttps://gitdab.com/cadence/out-of-your-element"})
|
||||
console.log("✅ Discord profile updated...")
|
||||
|
||||
// set profile data on homeserver...
|
||||
|
|
|
@ -72,7 +72,7 @@ block body
|
|||
button.s-btn.s-btn__filled#invite-button Invite
|
||||
div
|
||||
.s-card.d-flex.ai-center.jc-center(style="min-width: 132px; min-height: 132px;")
|
||||
button.s-btn(class=space_id ? "s-btn__muted" : "s-btn__filled" hx-get=`/qr?guild_id=${guild_id}` hx-indicator="closest button" hx-swap="outerHTML" hx-disabled-elt="this") Show QR
|
||||
button.s-btn(class=space_id ? "s-btn__muted" : "s-btn__filled" hx-get=rel(`/qr?guild_id=${guild_id}`) hx-indicator="closest button" hx-swap="outerHTML" hx-disabled-elt="this") Show QR
|
||||
|
||||
if space_id
|
||||
h3.mt32.fs-category Privacy level
|
||||
|
|
|
@ -6,7 +6,7 @@ block body
|
|||
!= icons.Spots.SpotEmptyXL
|
||||
p You need to log in to manage your servers.
|
||||
.d-flex.jc-center.g8
|
||||
a.s-btn.s-btn__icon.s-btn__blurple.s-btn__filled(href=rel("/oauth"))
|
||||
a.s-btn.s-btn__icon.s-btn__featured.s-btn__filled(href=rel("/oauth"))
|
||||
!= icons.Icons.IconDiscord
|
||||
= ` Log in with Discord`
|
||||
a.s-btn.s-btn__icon.s-btn__matrix.s-btn__filled(href=rel("/log-in-with-matrix"))
|
||||
|
|
|
@ -79,8 +79,6 @@ html(lang="en")
|
|||
.s-btn__dropdown:has(+ :popover-open) {
|
||||
background-color: var(--theme-topbar-item-background-hover, var(--black-200)) !important;
|
||||
}
|
||||
+define-theme("blurple", "236", "84%", "64%")
|
||||
+define-themed-button("blurple", "blurple")
|
||||
+define-themed-button("matrix", "black")
|
||||
body.themed.theme-system
|
||||
header.s-topbar
|
||||
|
@ -97,7 +95,7 @@ html(lang="en")
|
|||
= ` Log in`
|
||||
span(class="sm:d-none")= ` with Matrix`
|
||||
if !session.data.userID
|
||||
a.s-btn.s-btn__icon.s-btn__blurple.s-btn__outlined.as-center(href=rel("/oauth"))
|
||||
a.s-btn.s-btn__icon.s-btn__featured.s-btn__outlined.as-center(href=rel("/oauth"))
|
||||
!= icons.Icons.IconDiscord
|
||||
= ` Log in`
|
||||
span(class="sm:d-none")= ` with Discord`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue