From 1b5f7a8cfca0101488bcbfe8bf4bfc8073226880 Mon Sep 17 00:00:00 2001 From: teegoood Date: Sat, 30 Mar 2024 18:07:43 +0700 Subject: [PATCH 01/14] change: qecode.svg --- apps/web/public/user/qrcode.svg | 4 ++-- .../src/app/(screen)/screen/components/Display.tsx | 2 ++ apps/web/src/app/(screen)/screen/page.tsx | 7 ++++--- apps/web/src/app/(user)/shake/[university]/page.tsx | 12 +++++++++++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/apps/web/public/user/qrcode.svg b/apps/web/public/user/qrcode.svg index ba5efa7..246f04b 100644 --- a/apps/web/public/user/qrcode.svg +++ b/apps/web/public/user/qrcode.svg @@ -2,9 +2,9 @@ QR Code - https://cutu-2024.vercel.app/user + https://cutu2024.sgcu.in.th/user - + diff --git a/apps/web/src/app/(screen)/screen/components/Display.tsx b/apps/web/src/app/(screen)/screen/components/Display.tsx index 6eef029..61cb637 100644 --- a/apps/web/src/app/(screen)/screen/components/Display.tsx +++ b/apps/web/src/app/(screen)/screen/components/Display.tsx @@ -19,6 +19,8 @@ const Display= ({ data }: DisplayProps) => { const [state, setState] = useState<'cu' | 'tu' | 'none'>('none'); const { status, tu, cu } = data; + + useEffect(() => { if (status == 'stop') { if (tu > cu) { diff --git a/apps/web/src/app/(screen)/screen/page.tsx b/apps/web/src/app/(screen)/screen/page.tsx index 12a8666..0f4a128 100644 --- a/apps/web/src/app/(screen)/screen/page.tsx +++ b/apps/web/src/app/(screen)/screen/page.tsx @@ -23,6 +23,7 @@ const Screen = () => { setTimeout(() => { console.log('Subscribing'); socket.emit('subscribe', '123'); + console.log(data.status) }, 3000); }; @@ -34,7 +35,7 @@ const Screen = () => { const tuScore = Math.round(parseFloat(parts[3])); //console.log({cuScore, tuScore} ) - setData({...data, cu: cuScore, tu: tuScore}) + setData(data => ({...data, cu: cuScore, tu: tuScore})) } const handleScreen = (screen: string) => { @@ -54,7 +55,7 @@ const Screen = () => { const handleEvents = (events: string) => { console.log(events) - setData({...data, status: events}) + setData(data => ({...data, status: events})) } const handleDisconnect = () => { @@ -97,10 +98,10 @@ const Screen = () => { socket.on('events', handleEvents); socket.on('screen', handleScreen); - return () => { socket?.disconnect(); }; + })(); }, []); diff --git a/apps/web/src/app/(user)/shake/[university]/page.tsx b/apps/web/src/app/(user)/shake/[university]/page.tsx index cb9639f..80e18fe 100644 --- a/apps/web/src/app/(user)/shake/[university]/page.tsx +++ b/apps/web/src/app/(user)/shake/[university]/page.tsx @@ -21,7 +21,17 @@ export default function Shake() { let fid: string | null = null; //let socket: Socket | null = null; const cookies = new Cookies(); - const [ socketState, setSocketState ] = useState(null) + const [ socketState, setSocketState ] = useState(null) + + /* const temp = setTimeout(() => { + setCount(prevCount => { + const newCount = prevCount + 1; + if (socketState?.connected) { + socketState.emit("submit", `${university} 1`); + } + return newCount; + }); + }, 100) */ useEffect(() => { const handleConnect = () => { From 8e39be8fb6c2167f30eb5e3a853fe33e91307ae4 Mon Sep 17 00:00:00 2001 From: teegoood Date: Sat, 30 Mar 2024 18:28:12 +0700 Subject: [PATCH 02/14] refactor: remove setTimeout --- .../src/app/(screen)/screen/components/Overlay.tsx | 1 - apps/web/src/app/(screen)/screen/page.tsx | 13 +++++-------- apps/web/src/app/(user)/shake/[university]/page.tsx | 1 - 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/apps/web/src/app/(screen)/screen/components/Overlay.tsx b/apps/web/src/app/(screen)/screen/components/Overlay.tsx index a2796e4..9d7fe3b 100644 --- a/apps/web/src/app/(screen)/screen/components/Overlay.tsx +++ b/apps/web/src/app/(screen)/screen/components/Overlay.tsx @@ -10,7 +10,6 @@ interface OverLayProps { } const Page = ({data} : OverLayProps) => { - console.log(data) return (
diff --git a/apps/web/src/app/(screen)/screen/page.tsx b/apps/web/src/app/(screen)/screen/page.tsx index 0f4a128..65f3bd0 100644 --- a/apps/web/src/app/(screen)/screen/page.tsx +++ b/apps/web/src/app/(screen)/screen/page.tsx @@ -11,20 +11,17 @@ const Screen = () => { const [showedPage, setShowPage] = useState<"overlay" | "display">("overlay"); const [ data, setData ] = useState({ status: "waiting", - cu: 0, - tu: 0 + cu: 50, + tu: 50 }) const cookies = new Cookies( null, { path: "/" } ) - //console.log(data) + console.log(data) useEffect(() => { const handleConnect = (socket: Socket) => { console.log('Client has connected to the server!'); - setTimeout(() => { - console.log('Subscribing'); - socket.emit('subscribe', '123'); - console.log(data.status) - }, 3000); + console.log('Subscribing'); + socket.emit('subscribe', '123'); }; const handleScoreBoard = (scoreString: string) => { diff --git a/apps/web/src/app/(user)/shake/[university]/page.tsx b/apps/web/src/app/(user)/shake/[university]/page.tsx index 80e18fe..c0e8a22 100644 --- a/apps/web/src/app/(user)/shake/[university]/page.tsx +++ b/apps/web/src/app/(user)/shake/[university]/page.tsx @@ -19,7 +19,6 @@ function normalize(x: number, y: number, z: number) { export default function Shake() { let fid: string | null = null; - //let socket: Socket | null = null; const cookies = new Cookies(); const [ socketState, setSocketState ] = useState(null) From 1515bea317401ec6e6f7d378d4c11c0bbf88facb Mon Sep 17 00:00:00 2001 From: Thanapat Chotipun <66824385+PatrickChoDev@users.noreply.github.com> Date: Sat, 30 Mar 2024 18:29:16 +0700 Subject: [PATCH 03/14] Feat/api (#16) * feat: perf for scoreboard * feat: improve perf * feat: improve perf * feat: improve socket time * feat: scoreboard weight * fix: scoreboard event when start game * feat: db logging * feat: remove healthz logging * feat: remove pg layer history * feat: scoreboard log * fix: all rooms broadvaster * fix: subClient connect * feat: weight score * feat: weight score clamp * feat: weight score optimizer * fix: async order * perf: order async --- apps/server/src/controller/player.controller.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/server/src/controller/player.controller.ts b/apps/server/src/controller/player.controller.ts index aaac96c..29976fd 100644 --- a/apps/server/src/controller/player.controller.ts +++ b/apps/server/src/controller/player.controller.ts @@ -47,10 +47,11 @@ export class PlayerController { async onConnection(socket: Socket) { this.logger.info(`New connection: ${socket.id}`) - await this.authenticateSocket(socket) - await this.playerService.getGameState().then((game) => { - socket.emit('state', game.id) - socket.emit('events', game.status) + this.authenticateSocket(socket).then(() => { + this.playerService.getGameState().then((game) => { + socket.emit('state', game.id) + socket.emit('events', game.status) + }) }) socket.on('subscribe', (m, cb) => { From b76e0b8df1b7a0e5c255a80343bed3a7606e5306 Mon Sep 17 00:00:00 2001 From: punpunkeshin05 <97283645+punpunkeshin05@users.noreply.github.com> Date: Sat, 30 Mar 2024 18:38:34 +0700 Subject: [PATCH 04/14] feat: add condition to fid --- .../app/(user)/shake/[university]/page.tsx | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/apps/web/src/app/(user)/shake/[university]/page.tsx b/apps/web/src/app/(user)/shake/[university]/page.tsx index c0e8a22..cd13e25 100644 --- a/apps/web/src/app/(user)/shake/[university]/page.tsx +++ b/apps/web/src/app/(user)/shake/[university]/page.tsx @@ -22,7 +22,7 @@ export default function Shake() { const cookies = new Cookies(); const [ socketState, setSocketState ] = useState(null) - /* const temp = setTimeout(() => { + const temp = setTimeout(() => { setCount(prevCount => { const newCount = prevCount + 1; if (socketState?.connected) { @@ -30,7 +30,7 @@ export default function Shake() { } return newCount; }); - }, 100) */ + }, 100) useEffect(() => { const handleConnect = () => { @@ -53,9 +53,15 @@ export default function Shake() { }; (async () => { - const fp = await FingerprintJS.load(); - const result = await fp.get(); - fid = result.visitorId; + fid = cookies.get('fid'); + if (!fid) { + const fp = await FingerprintJS.load(); + const result = await fp.get(); + fid = result.visitorId; + cookies.set('fid', fid); + } + + const savedCid = cookies.get('cid'); const extraHeaders: { [key: string]: string } = { @@ -66,7 +72,7 @@ export default function Shake() { if (savedCid) { extraHeaders.cid = savedCid; } - console.log(extraHeaders); + const socket = io('wss://api.cutu2024.sgcu.in.th', { auth: extraHeaders, path: "/api/ws", @@ -187,14 +193,6 @@ export default function Shake() { <> Loading...
} > - {/* */} ); From 3aa741b8b6461fcfe8fa611e08125cbbc75394d8 Mon Sep 17 00:00:00 2001 From: teegoood Date: Sat, 30 Mar 2024 18:54:27 +0700 Subject: [PATCH 05/14] fix: page change with state --- apps/web/src/app/(screen)/screen/page.tsx | 11 ++++++----- apps/web/src/app/(user)/shake/[university]/page.tsx | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/web/src/app/(screen)/screen/page.tsx b/apps/web/src/app/(screen)/screen/page.tsx index 65f3bd0..464f9bc 100644 --- a/apps/web/src/app/(screen)/screen/page.tsx +++ b/apps/web/src/app/(screen)/screen/page.tsx @@ -14,8 +14,9 @@ const Screen = () => { cu: 50, tu: 50 }) - const cookies = new Cookies( null, { path: "/" } ) + const cookies = new Cookies( null, {httpOnly: true} ) console.log(data) + //console.log('show: ', showedPage) useEffect(() => { const handleConnect = (socket: Socket) => { @@ -31,13 +32,13 @@ const Screen = () => { const cuScore = Math.round(parseFloat(parts[1])); const tuScore = Math.round(parseFloat(parts[3])); - //console.log({cuScore, tuScore} ) + //console.log({cuScore, tuScore}) setData(data => ({...data, cu: cuScore, tu: tuScore})) } const handleScreen = (screen: string) => { - //console.log(screen); - //setShowPage('full' ? 'overlay' : 'display') + console.log(screen); + setShowPage(screen == 'overlay' ? 'overlay' : 'display') } const handleCid = (serverCid: string) => { @@ -105,7 +106,7 @@ const Screen = () => { return (
{showedPage == "overlay" ? : } - + {/* */}
); } diff --git a/apps/web/src/app/(user)/shake/[university]/page.tsx b/apps/web/src/app/(user)/shake/[university]/page.tsx index cd13e25..9032edd 100644 --- a/apps/web/src/app/(user)/shake/[university]/page.tsx +++ b/apps/web/src/app/(user)/shake/[university]/page.tsx @@ -22,7 +22,7 @@ export default function Shake() { const cookies = new Cookies(); const [ socketState, setSocketState ] = useState(null) - const temp = setTimeout(() => { + /* const temp = setTimeout(() => { setCount(prevCount => { const newCount = prevCount + 1; if (socketState?.connected) { @@ -30,7 +30,7 @@ export default function Shake() { } return newCount; }); - }, 100) + }, 100) */ useEffect(() => { const handleConnect = () => { From 6301f6321289fe4ebc0b6151d1f1bb1a2346f7ee Mon Sep 17 00:00:00 2001 From: Sirawit Chanaburanasak Date: Sat, 30 Mar 2024 18:55:00 +0700 Subject: [PATCH 06/14] feat: increase ball size (#17) Co-authored-by: punpunkeshin05 <97283645+punpunkeshin05@users.noreply.github.com> --- apps/web/src/app/(screen)/display/components/FootBallSlider.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx b/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx index a04fa20..f8dec12 100644 --- a/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx +++ b/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx @@ -52,7 +52,7 @@ const FootBallSlider = (props: FootBallSliderProps) => { transition: "left 0.3s ease", }} > -
Date: Sat, 30 Mar 2024 19:01:31 +0700 Subject: [PATCH 07/14] refactor: footballslider size --- .../src/app/(screen)/display/components/FootBallSlider.tsx | 2 +- apps/web/src/app/(screen)/screen/components/Overlay.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx b/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx index a04fa20..f8dec12 100644 --- a/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx +++ b/apps/web/src/app/(screen)/display/components/FootBallSlider.tsx @@ -52,7 +52,7 @@ const FootBallSlider = (props: FootBallSliderProps) => { transition: "left 0.3s ease", }} > -
{ return ( -
+
{
-
+
Date: Sat, 30 Mar 2024 19:10:02 +0700 Subject: [PATCH 08/14] feat: flexible-cicd (#18) --- .github/workflows/cd.yaml | 16 ++++++++++++++++ .github/workflows/ci.yaml | 9 ++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 7647117..b2031cb 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -2,12 +2,28 @@ name: 'CD' on: workflow_dispatch: + inputs: + tag: + description: 'Tag to change to' + default: 'latest' + required: false + type: string + +env: + IMAGE_NAME: registry.digitalocean.com/cutu2024/cutu2024-backend jobs: deploy: runs-on: ubuntu-latest steps: + - name: Set new image tag + uses: actions-hub/kubectl@master + env: + KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} + with: + args: set image deployment/cutu2024-backend cutu2024-backend=${{ env.IMAGE_NAME }}:${{ inputs.tag }} + - name: Rollout new deployment uses: actions-hub/kubectl@master env: diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c9ff562..b871e56 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,10 +1,13 @@ name: 'CI' on: - push: - branches: - - main workflow_dispatch: + inputs: + tag: + description: 'Image tag' + default: 'latest' + required: false + type: string env: IMAGE_NAME: registry.digitalocean.com/cutu2024/cutu2024-backend From f0a3000278e3f80edfa76769d5abac4e44e96137 Mon Sep 17 00:00:00 2001 From: teegoood Date: Sat, 30 Mar 2024 19:10:21 +0700 Subject: [PATCH 09/14] working --- apps/web/src/app/(screen)/screen/components/Overlay.tsx | 1 + apps/web/src/app/(screen)/screen/page.tsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/(screen)/screen/components/Overlay.tsx b/apps/web/src/app/(screen)/screen/components/Overlay.tsx index 2f8e1b7..2f0a309 100644 --- a/apps/web/src/app/(screen)/screen/components/Overlay.tsx +++ b/apps/web/src/app/(screen)/screen/components/Overlay.tsx @@ -77,6 +77,7 @@ const Page = ({data} : OverLayProps) => { const OverLay = ({data}: OverLayProps) => { + return (
diff --git a/apps/web/src/app/(screen)/screen/page.tsx b/apps/web/src/app/(screen)/screen/page.tsx index 464f9bc..3c9f283 100644 --- a/apps/web/src/app/(screen)/screen/page.tsx +++ b/apps/web/src/app/(screen)/screen/page.tsx @@ -104,7 +104,7 @@ const Screen = () => { }, []); return ( -
+
{showedPage == "overlay" ? : } {/* */}
From 9537880b5bf37f91cae68a86999156f3191ce4a4 Mon Sep 17 00:00:00 2001 From: ImSoZRious <30285202+ImSoZRious@users.noreply.github.com> Date: Sat, 30 Mar 2024 19:17:20 +0700 Subject: [PATCH 10/14] fix: ci --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b871e56..88caf22 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -43,6 +43,6 @@ jobs: with: push: true context: "{{defaultContext}}:apps/server" - tags: ${{ env.IMAGE_NAME }}:latest + tags: ${{ env.IMAGE_NAME }}:${{ inputs.tag }} cache-from: type=gha,ref=${{ env.IMAGE_NAME }}:buildcache cache-to: type=gha,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max From aa99712de8ba0fc50ca03c3ad64e40a7e022f347 Mon Sep 17 00:00:00 2001 From: Sirawit Chanaburanasak Date: Sat, 30 Mar 2024 19:22:23 +0700 Subject: [PATCH 11/14] feat: use uuid instead of fingerprintjs (#20) * feat: use uuid instead of fingerprintjs * feat: remove fingerprintjs from dependencies --------- Co-authored-by: punpunkeshin05 <97283645+punpunkeshin05@users.noreply.github.com> --- apps/web/package.json | 5 ++-- apps/web/pnpm-lock.yaml | 22 ++++++----------- apps/web/src/app/(screen)/screen/page.tsx | 24 +++++++++---------- .../app/(user)/shake/[university]/page.tsx | 9 +++---- 4 files changed, 23 insertions(+), 37 deletions(-) diff --git a/apps/web/package.json b/apps/web/package.json index f2a5512..d37be63 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -13,15 +13,14 @@ "lint": "next lint" }, "dependencies": { - "@fingerprintjs/fingerprintjs": "^4.2.2", "axios": "^1.6.8", "js-cookie": "^3.0.5", "next": "14.1.4", "react": "^18", "react-dom": "^18", "socket.io-client": "^4.7.5", - "uuid": "^9.0.1", - "universal-cookie": "^7.1.0" + "universal-cookie": "^7.1.0", + "uuid": "^9.0.1" }, "devDependencies": { "@types/js-cookie": "^3.0.6", diff --git a/apps/web/pnpm-lock.yaml b/apps/web/pnpm-lock.yaml index fba1781..189a5cb 100644 --- a/apps/web/pnpm-lock.yaml +++ b/apps/web/pnpm-lock.yaml @@ -5,9 +5,6 @@ settings: excludeLinksFromLockfile: false dependencies: - '@fingerprintjs/fingerprintjs': - specifier: ^4.2.2 - version: 4.2.2 axios: specifier: ^1.6.8 version: 1.6.8 @@ -26,12 +23,12 @@ dependencies: socket.io-client: specifier: ^4.7.5 version: 4.7.5 - uuid: - specifier: ^9.0.1 - version: 9.0.1 universal-cookie: specifier: ^7.1.0 version: 7.1.0 + uuid: + specifier: ^9.0.1 + version: 9.0.1 devDependencies: '@types/js-cookie': @@ -69,12 +66,6 @@ packages: engines: {node: '>=10'} dev: true - /@fingerprintjs/fingerprintjs@4.2.2: - resolution: {integrity: sha512-scD+pDgNZW78LuFAr7ms2yxmDx2NWC4+K5iiOjPT2ZlTlHFbLsORUzLJI2rcKicxxLtHbvf3A7BU1drVr4iHGg==} - dependencies: - tslib: 2.6.2 - dev: false - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -240,13 +231,14 @@ packages: tslib: 2.6.2 dev: false - /@types/js-cookie@3.0.6: - resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} - dev: true /@types/cookie@0.6.0: resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: false + /@types/js-cookie@3.0.6: + resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==} + dev: true + /@types/node@20.11.30: resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: diff --git a/apps/web/src/app/(screen)/screen/page.tsx b/apps/web/src/app/(screen)/screen/page.tsx index 3c9f283..3c76fa8 100644 --- a/apps/web/src/app/(screen)/screen/page.tsx +++ b/apps/web/src/app/(screen)/screen/page.tsx @@ -4,10 +4,11 @@ import { useEffect, useState } from "react"; import OverLay from "./components/Overlay"; import Display from "./components/Display"; import Cookies from "universal-cookie"; -import FingerprintJS from "@fingerprintjs/fingerprintjs"; import { Socket, io } from "socket.io-client"; +import { v4 as uuidv4 } from 'uuid'; const Screen = () => { + let fid: string | null = null; const [showedPage, setShowPage] = useState<"overlay" | "display">("overlay"); const [ data, setData ] = useState({ status: "waiting", @@ -61,20 +62,17 @@ const Screen = () => { }; (async () => { - const savedCid = cookies.get('cid'); - - if(!cookies.get('fid')){ - const fp = await FingerprintJS.load(); - const result = await fp.get(); - const fid = result.visitorId; - cookies.set('fid', fid) + fid = cookies.get('fid'); + if (!fid) { + fid = uuidv4(); + cookies.set('fid', fid); } - - const fid = cookies.get('fid') - + + const savedCid = cookies.get('cid'); + const extraHeaders: { [key: string]: string } = { - fid: fid, - name: 'pun1' + fid: fid || '', + name: 'john' }; if (savedCid) { diff --git a/apps/web/src/app/(user)/shake/[university]/page.tsx b/apps/web/src/app/(user)/shake/[university]/page.tsx index 9032edd..ac9d678 100644 --- a/apps/web/src/app/(user)/shake/[university]/page.tsx +++ b/apps/web/src/app/(user)/shake/[university]/page.tsx @@ -7,9 +7,8 @@ import ShakeComponent from '../../../../components/Shake'; import { useParams, useSearchParams } from "next/navigation"; import { Suspense } from 'react'; import { io, Socket } from "socket.io-client"; -import FingerprintJS from '@fingerprintjs/fingerprintjs'; import Cookies from 'universal-cookie'; - +import { v4 as uuidv4 } from 'uuid'; let shaking: { x: number; y: number; z: number } | undefined; function normalize(x: number, y: number, z: number) { @@ -55,9 +54,7 @@ export default function Shake() { (async () => { fid = cookies.get('fid'); if (!fid) { - const fp = await FingerprintJS.load(); - const result = await fp.get(); - fid = result.visitorId; + fid = uuidv4(); cookies.set('fid', fid); } @@ -65,7 +62,7 @@ export default function Shake() { const savedCid = cookies.get('cid'); const extraHeaders: { [key: string]: string } = { - fid: fid, + fid: fid || '', name: 'john' }; From e54bbefbaaec4e4a352398f58459d29bba6ec70b Mon Sep 17 00:00:00 2001 From: Thanapat Chotipun <66824385+PatrickChoDev@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:22:24 +0700 Subject: [PATCH 12/14] Feat/api (#21) * feat: perf for scoreboard * feat: improve perf * feat: improve perf * feat: improve socket time * feat: scoreboard weight * fix: scoreboard event when start game * feat: db logging * feat: remove healthz logging * feat: remove pg layer history * feat: scoreboard log * fix: all rooms broadvaster * fix: subClient connect * feat: weight score * feat: weight score clamp * feat: weight score optimizer * fix: async order * perf: order async * feat: new weight score * feat: abs weight --- apps/server/src/models/history.model.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/apps/server/src/models/history.model.ts b/apps/server/src/models/history.model.ts index 79ee76a..e1b817f 100644 --- a/apps/server/src/models/history.model.ts +++ b/apps/server/src/models/history.model.ts @@ -68,13 +68,10 @@ export class GameHistoryRepository { ) { const total = await this.redis.incrBy(`game::${game_id}::${key}`, vote) this.redis.keys(`game::${game_id}::*`).then(async (keys) => { - const totalVote = await this.redis.mGet(keys).then((votes) => - votes.reduce((acc, v) => acc + parseInt(v || '0'), 0), - ) || 1 keys.forEach(async (k) => { if (k !== `game::${game_id}::${key}`) { const kTotal = parseInt(await this.redis.get(k) || '0') - const decrease = ((Math.floor((total - kTotal) * vote / totalVote))) + const decrease = ((Math.floor(Math.abs(total - kTotal) * vote / 100))) const remain = kTotal - decrease if (remain > 0) this.redis.decrBy(k, decrease) } From f1d33337b6b0973253d5195eb3271f33bb43498c Mon Sep 17 00:00:00 2001 From: Sirawit Chanaburanasak Date: Sat, 30 Mar 2024 20:53:16 +0700 Subject: [PATCH 13/14] fix: shake ui spacing (#22) Co-authored-by: punpunkeshin05 <97283645+punpunkeshin05@users.noreply.github.com> --- apps/web/src/components/Shake.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web/src/components/Shake.tsx b/apps/web/src/components/Shake.tsx index c6ee60f..45e5c15 100644 --- a/apps/web/src/components/Shake.tsx +++ b/apps/web/src/components/Shake.tsx @@ -25,7 +25,7 @@ export default function ShakeComponent({ arrow-back -
+
cu-tu-ball-logo chula-logo

{university == 'cu' ? '#ทีมจุฬาฯ' : '#ทีมมธ.'}

@@ -47,15 +47,15 @@ export default function ShakeComponent({
)}
- <> -
+
+
fire-icon
- +
) From ee88b3cf9f5b92a63e2d7d9f41e0feedd5bc07df Mon Sep 17 00:00:00 2001 From: ISD SGCU <108282198+isd-team-sgcu@users.noreply.github.com> Date: Sat, 30 Mar 2024 22:10:55 +0700 Subject: [PATCH 14/14] feat: update credits to add Tar and GitHub link (#23) * feat: update credits to add Tar and GitHub link * feat: add kk's instagram --------- Co-authored-by: betich --- apps/web/src/app/(user)/credit/page.tsx | 143 +++++++++++++++--------- 1 file changed, 89 insertions(+), 54 deletions(-) diff --git a/apps/web/src/app/(user)/credit/page.tsx b/apps/web/src/app/(user)/credit/page.tsx index 061760d..b12112f 100644 --- a/apps/web/src/app/(user)/credit/page.tsx +++ b/apps/web/src/app/(user)/credit/page.tsx @@ -1,58 +1,93 @@ import Image from "next/image"; import Link from "next/link"; const Credit = () => { - return ( -
- - arrow-back - -
-
- pink-shake-icon -

Credits

-
-
-
-

พัฒนาโดย

- - ฝ่ายพัฒนาระบบสารสนเทศ
องค์การบริหารสโมสรนิสิต
จุฬาลงกรณ์มหาวิทยาลัย -
-
-
-

Project Manager

-
    -
  • ปณิธิ มักเที่ยงตรง
  • -
-
-
-

UX/UI Designer

-
    -
  • พิชญา พูลเพียร
  • -
-
-
-

Developers

-
    -
  • ธนฤต ตรีมหาฤกษ์
  • -
  • สหรัถ นวมจิตร
  • -
  • ชยพล อาภายะธรรม
  • -
  • สิรวิชญ์ ชนะบูรณาศักดิ์
  • -
  • ชโณทัย กระแจ่ม
  • -
  • นันท์นภัส พีรนพวัฒน์
  • -
  • ธนภัทร โชติพันธ์
  • -
-
-
-
+ return ( +
+ + arrow-back + +
+
+ pink-shake-icon +

Credits

+
+
+
+

พัฒนาโดย

+ + ฝ่ายพัฒนาระบบสารสนเทศ
องค์การบริหารสโมสรนิสิต
{" "} + จุฬาลงกรณ์มหาวิทยาลัย +
+
+
+

Project Manager

+ +
+
+

UX/UI Designer

+ +
+
+

Developers

+ +
- ); -} - -export default Credit; \ No newline at end of file +
+
+ ); +}; + +export default Credit;