Skip to content

Commit e1c801f

Browse files
authored
Merge pull request #532 from CyferShepard/unstable
Release V1.1.11
2 parents 3a054d3 + df4cfd2 commit e1c801f

34 files changed

Lines changed: 6588 additions & 22900 deletions

.github/workflows/docker-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,6 @@ jobs:
5454
tags: |
5555
${{ steps.meta.outputs.tags }}
5656
ghcr.io/${{ steps.meta.outputs.tags }}
57-
platforms: linux/amd64,linux/arm64,linux/arm/v7
57+
platforms: linux/amd64,linux/arm64,linux/arm64/v8
5858
cache-from: type=gha
5959
cache-to: type=gha,mode=max

.github/workflows/docker-latest.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
run: |
3636
VERSION=$(node -p "require('./package.json').version")
3737
echo "VERSION=$VERSION" >> $GITHUB_ENV
38-
38+
3939
- name: Set up QEMU
4040
uses: docker/setup-qemu-action@v3
4141

@@ -44,7 +44,7 @@ jobs:
4444
with:
4545
username: ${{ secrets.DOCKER_USERNAME }}
4646
password: ${{ secrets.DOCKER_TOKEN }}
47-
47+
4848
- name: Log in to GitHub Container Registry
4949
uses: docker/login-action@v3
5050
with:
@@ -62,4 +62,4 @@ jobs:
6262
cyfershepard/jellystat:${{ env.VERSION }}
6363
ghcr.io/cyfershepard/jellystat:latest
6464
ghcr.io/cyfershepard/jellystat:${{ env.VERSION }}
65-
platforms: linux/amd64,linux/arm64,linux/arm/v7
65+
platforms: linux/amd64,linux/arm64,linux/arm64/v8

Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Stage 1: Build the application
2-
FROM node:22.21.1-bookworm-slim AS builder
2+
FROM node:26-bookworm-slim AS builder
33

44
WORKDIR /app
55

@@ -14,11 +14,12 @@ COPY entry.sh ./
1414
RUN npm run build
1515

1616
# Stage 2: Create the production image
17-
FROM node:22.21.1-bookworm-slim
17+
FROM node:26-bookworm-slim
1818

1919
RUN apt-get update && \
20+
apt-get upgrade -yqq --no-install-recommends && \
2021
apt-get install -yqq --no-install-recommends wget && \
21-
apt-get autoremove && \
22+
apt-get autoremove -y && \
2223
apt-get clean && \
2324
rm -rf /var/lib/apt/lists/*
2425

backend/version-control.js

Lines changed: 16 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,35 @@
1-
const GitHub = require("github-api");
1+
const axios = require("axios");
22
const packageJson = require("../package.json");
33
const { compareVersions } = require("compare-versions");
44
const memoizee = require("memoizee");
55

6+
const REPO_OWNER = "cyfershepard";
7+
const REPO_NAME = "Jellystat";
8+
69
async function checkForUpdates() {
710
const currentVersion = packageJson.version;
8-
const repoOwner = "cyfershepard";
9-
const repoName = "Jellystat";
10-
const gh = new GitHub();
11-
12-
let result = { current_version: packageJson.version, latest_version: "", message: "", update_available: false };
13-
14-
let latestVersion;
11+
let result = { current_version: currentVersion, latest_version: "", message: "", update_available: false };
1512

1613
try {
17-
const path = "package.json";
18-
19-
const response = await gh.getRepo(repoOwner, repoName).getContents("main", path);
20-
const content = response.data.content;
21-
const decodedContent = Buffer.from(content, "base64").toString();
22-
latestVersion = JSON.parse(decodedContent).version;
14+
const response = await axios.get(
15+
`https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/contents/package.json`,
16+
{ headers: { Accept: "application/vnd.github.raw+json" } }
17+
);
18+
const latestVersion = response.data.version;
2319

2420
if (compareVersions(latestVersion, currentVersion) > 0) {
25-
// console.log(`A new version V.${latestVersion} of ${repoName} is available.`);
26-
result = {
27-
current_version: packageJson.version,
28-
latest_version: latestVersion,
29-
message: `${repoName} has an update ${latestVersion}`,
30-
update_available: true,
31-
};
21+
result = { current_version: currentVersion, latest_version: latestVersion, message: `${REPO_NAME} has an update ${latestVersion}`, update_available: true };
3222
} else if (compareVersions(latestVersion, currentVersion) < 0) {
33-
// console.log(`${repoName} is using a beta version.`);
34-
result = {
35-
current_version: packageJson.version,
36-
latest_version: latestVersion,
37-
message: `${repoName} is using a beta version`,
38-
update_available: false,
39-
};
23+
result = { current_version: currentVersion, latest_version: latestVersion, message: `${REPO_NAME} is using a beta version`, update_available: false };
4024
} else {
41-
// console.log(`${repoName} is up to date.`);
42-
result = {
43-
current_version: packageJson.version,
44-
latest_version: latestVersion,
45-
message: `${repoName} is up to date`,
46-
update_available: false,
47-
};
25+
result = { current_version: currentVersion, latest_version: latestVersion, message: `${REPO_NAME} is up to date`, update_available: false };
4826
}
4927
} catch (error) {
50-
console.error(`Failed to fetch releases for ${repoName}: ${error.message}`);
51-
result = {
52-
current_version: packageJson.version,
53-
latest_version: "N/A",
54-
message: `Failed to fetch releases for ${repoName}: ${error.message}`,
55-
update_available: false,
56-
};
28+
console.error(`Failed to fetch releases for ${REPO_NAME}: ${error.message}`);
29+
result = { current_version: currentVersion, latest_version: "N/A", message: `Failed to fetch releases for ${REPO_NAME}: ${error.message}`, update_available: false };
5730
}
5831

5932
return result;
6033
}
6134

62-
const memoizedCheckForUpdates = memoizee(checkForUpdates, { maxAge: 300000, promise: true });
63-
64-
module.exports = { checkForUpdates: memoizedCheckForUpdates };
35+
module.exports = { checkForUpdates: memoizee(checkForUpdates, { maxAge: 300000, promise: true }) };

0 commit comments

Comments
 (0)