From 4e0ed18db05519cc374c7c4c589db74113298c8d Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Sat, 27 Apr 2024 12:31:36 +0000 Subject: [PATCH 01/13] Adjust profile activity tab margin for visual spacing --- apps/web/app/[locale]/profile/[memberId]/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/app/[locale]/profile/[memberId]/page.tsx b/apps/web/app/[locale]/profile/[memberId]/page.tsx index 4416c877f..d5c3762c6 100644 --- a/apps/web/app/[locale]/profile/[memberId]/page.tsx +++ b/apps/web/app/[locale]/profile/[memberId]/page.tsx @@ -107,7 +107,7 @@ const Profile = React.memo(function ProfilePage({ params }: { params: { memberId
{hook.tab == 'worked' && canSeeActivity && ( -
+
{Object.keys(activityScreens).map((filter, i) => (
{i !== 0 && } From 6a5886b8239c5ab137e2820e497b9cf3a2ad675e Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Sat, 27 Apr 2024 12:31:54 +0000 Subject: [PATCH 02/13] Refine fullWidthState to use boolean type --- apps/web/app/stores/fullWidth.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/app/stores/fullWidth.ts b/apps/web/app/stores/fullWidth.ts index 85485c666..ace0453fd 100644 --- a/apps/web/app/stores/fullWidth.ts +++ b/apps/web/app/stores/fullWidth.ts @@ -1,6 +1,6 @@ import { atom } from 'recoil'; -export const fullWidthState = atom({ +export const fullWidthState = atom({ key: 'fullWidth', default: true }); From af5fe99ccd0caaad702e2ed10516936555d719d7 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Sat, 27 Apr 2024 12:32:12 +0000 Subject: [PATCH 03/13] Adjusted dropdown max height for scroll consistency --- apps/web/lib/components/dropdown.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/lib/components/dropdown.tsx b/apps/web/lib/components/dropdown.tsx index a428e36ca..5f129cd23 100644 --- a/apps/web/lib/components/dropdown.tsx +++ b/apps/web/lib/components/dropdown.tsx @@ -115,7 +115,7 @@ export function Dropdown({
)} -
+
{items.map((Item, index) => ( Date: Sat, 27 Apr 2024 12:32:42 +0000 Subject: [PATCH 04/13] Optimize member list reordering --- apps/web/lib/features/team-members-card-view.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/web/lib/features/team-members-card-view.tsx b/apps/web/lib/features/team-members-card-view.tsx index 6411f4d8c..38f0ad379 100644 --- a/apps/web/lib/features/team-members-card-view.tsx +++ b/apps/web/lib/features/team-members-card-view.tsx @@ -4,7 +4,7 @@ import { InviteFormModal } from './team/invite/invite-form-modal'; import { InvitedCard, InviteUserTeamCard } from './team/invite/user-invite-card'; import { InviteUserTeamSkeleton, UserTeamCard, UserTeamCardSkeleton } from '.'; import { OT_Member } from '@app/interfaces'; -import React from 'react'; +import React, { useEffect } from 'react'; interface Props { teamMembers: OT_Member[]; @@ -30,6 +30,8 @@ const TeamMembersCardView: React.FC = ({ const dragTeamMember = React.useRef(0); const draggedOverTeamMember = React.useRef(0); + useEffect(() => setMemberOrdereds(members), [members]); + function handleSort() { const peopleClone = [...memberOrdereds]; const temp = peopleClone[dragTeamMember.current]; From 6130a0eb621ca192e38a05b270bdb83601974eee Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 07:44:44 +0000 Subject: [PATCH 05/13] Updated dependencies and devDependencies for web app --- apps/web/package.json | 8 ++++---- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/apps/web/package.json b/apps/web/package.json index c079b71ef..c3544b9ec 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -51,7 +51,7 @@ "clsx": "^2.0.0", "cmdk": "^0.2.0", "cookie": "^0.5.0", - "cookies-next": "^4.1.0", + "cookies-next": "^4.1.1", "date-fns": "^2.30.0", "domhandler": "^5.0.3", "embla-carousel-react": "^8.0.0-rc11", @@ -102,6 +102,7 @@ "tailwindcss-animate": "^1.0.6" }, "devDependencies": { + "@svgr/webpack": "^8.1.0", "@tailwindcss/typography": "^0.5.9", "@types/cookie": "^0.5.1", "@types/js-cookie": "^3.0.2", @@ -112,11 +113,10 @@ "@types/react-beautiful-dnd": "^13.1.6", "@types/react-dom": "18.0.6", "@types/react-google-recaptcha": "^2.1.5", - "@svgr/webpack": "^8.1.0", + "dotenv": "^16.4.1", "eslint": "^8.28.0", - "eslint-plugin-unused-imports": "^3.0.0", "eslint-config-next": "^14.0.4", - "dotenv": "^16.4.1", + "eslint-plugin-unused-imports": "^3.0.0", "typescript": "^4.9.4" }, "prettier": { diff --git a/yarn.lock b/yarn.lock index c4c5e04cc..ace3186df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6312,16 +6312,16 @@ resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.8.tgz#6742a5971f490dc41e59d277eee71361fea0b537" integrity sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg== -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - "@types/cookie@^0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.5.1.tgz#b29aa1f91a59f35e29ff8f7cb24faf1a3a750554" integrity sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g== +"@types/cookie@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" + integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== + "@types/cookies@*": version "0.7.10" resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.10.tgz#c4881dca4dd913420c488508d192496c46eb4fd0" @@ -9712,19 +9712,19 @@ cookie@0.5.0, cookie@^0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -cookie@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -cookies-next@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cookies-next/-/cookies-next-4.1.0.tgz#1ecf2e4a65abe2ad3ffb3f4ad3d303ae008303c3" - integrity sha512-BREVc4TJT4NwXfyKjdjnYFXM6iRns+MYpCd34ClXuYqeisXnkPkbq7Ok9xaqi9mHmV6H2rwPE+p3EpMz4pF/kQ== +cookies-next@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/cookies-next/-/cookies-next-4.1.1.tgz#54498efe867bb5c1a47b5a99a7ea8563601c2413" + integrity sha512-20QaN0iQSz87Os0BhNg9M71eM++gylT3N5szTlhq2rK6QvXn1FYGPB4eAgU4qFTunbQKhD35zfQ95ZWgzUy3Cg== dependencies: - "@types/cookie" "^0.4.1" + "@types/cookie" "^0.6.0" "@types/node" "^16.10.2" - cookie "^0.4.0" + cookie "^0.6.0" copy-anything@^2.0.1: version "2.0.6" From 0c8d05afec157a2e01080db42c62d3df64fbf622 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 07:45:12 +0000 Subject: [PATCH 06/13] Optimize import order and improve variable naming --- apps/web/app/api/auth/register/route.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/web/app/api/auth/register/route.ts b/apps/web/app/api/auth/register/route.ts index c5ae81330..30aa95656 100644 --- a/apps/web/app/api/auth/register/route.ts +++ b/apps/web/app/api/auth/register/route.ts @@ -8,8 +8,8 @@ import { createTenantRequest, createTenantSmtpRequest, loginUserRequest, - registerUserRequest, - refreshTokenRequest + refreshTokenRequest, + registerUserRequest } from '@app/services/server/requests'; import { setAuthCookies } from '@app/helpers/cookies'; import { recaptchaVerification } from '@app/services/server/recaptcha'; @@ -18,7 +18,7 @@ import { NextResponse } from 'next/server'; export async function POST(req: Request) { const url = new URL(req.url); - const res = new NextResponse(); + const response = new NextResponse(); const appEmailConfirmationUrl = `${url.origin}${VERIFY_EMAIL_CALLBACK_PATH}`; @@ -137,8 +137,8 @@ export async function POST(req: Request) { languageId: 'en', // TODO: not sure what should be here userId: user.id }, - { req, res } + { req, res: response } ); - return NextResponse.json({ loginRes, team, employee }); + return response; } From 585f1b836e4a06765210b658c8996447c99b0b67 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 07:45:36 +0000 Subject: [PATCH 07/13] Refactor cookie utilities for Next.js context --- apps/web/app/helpers/cookies/index.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/web/app/helpers/cookies/index.ts b/apps/web/app/helpers/cookies/index.ts index 431e42694..44629f59a 100644 --- a/apps/web/app/helpers/cookies/index.ts +++ b/apps/web/app/helpers/cookies/index.ts @@ -40,8 +40,7 @@ type NextCtx = { export const setLargeStringInCookies = ( COOKIE_NAME: string, largeString: string, - req: any, - res: any, + ctx: NextCtx | undefined, crossSite = false ) => { const chunkSize = 4000; @@ -50,10 +49,10 @@ export const setLargeStringInCookies = ( chunks.forEach((chunk, index) => { const cookieValue = chunk.join(''); - setCookie(`${COOKIE_NAME}${index}`, cookieValue, { res, req }, crossSite); + setCookie(`${COOKIE_NAME}${index}`, cookieValue, ctx, crossSite); }); - setCookie(`${COOKIE_NAME}_totalChunks`, chunks.length, { res, req }, crossSite); + setCookie(`${COOKIE_NAME}_totalChunks`, chunks.length, ctx, crossSite); }; export const getLargeStringFromCookies = (COOKIE_NAME: string, ctx?: NextCtx) => { @@ -95,12 +94,12 @@ export function setAuthCookies(datas: DataParams, ctx?: NextCtx) { // Handle Large Access Token // Cookie can support upto 4096 characters only! if (access_token.length <= 4096) { - setCookie(TOKEN_COOKIE_NAME, access_token, ctx, true); // cross site cookie + setCookie(TOKEN_COOKIE_NAME, access_token, ctx); // cross site cookie } else { - setLargeStringInCookies(TOKEN_COOKIE_NAME, access_token, ctx?.req, ctx?.res, true); // cross site cookie + setLargeStringInCookies(TOKEN_COOKIE_NAME, access_token, ctx); // cross site cookie } - setCookie(REFRESH_TOKEN_COOKIE_NAME, refresh_token.token, ctx, true); // cross site cookie + setCookie(REFRESH_TOKEN_COOKIE_NAME, refresh_token.token, ctx); // cross site cookie setCookie(ACTIVE_TEAM_COOKIE_NAME, teamId, ctx); setCookie(TENANT_ID_COOKIE_NAME, tenantId, ctx); setCookie(ORGANIZATION_ID_COOKIE_NAME, organizationId, ctx); From ff3632e654ad81c03f693ae9ffa42373c8e6b388 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 07:45:52 +0000 Subject: [PATCH 08/13] Optimize navigation post-authentication --- apps/web/app/hooks/auth/useAuthenticationTeam.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/web/app/hooks/auth/useAuthenticationTeam.ts b/apps/web/app/hooks/auth/useAuthenticationTeam.ts index eebec90fe..d43ace7dc 100644 --- a/apps/web/app/hooks/auth/useAuthenticationTeam.ts +++ b/apps/web/app/hooks/auth/useAuthenticationTeam.ts @@ -9,7 +9,7 @@ import { AxiosError } from 'axios'; import { useCallback, useMemo, useState } from 'react'; import { useQuery } from '../useQuery'; import { RECAPTCHA_SITE_KEY } from '@app/constants'; -import { useSearchParams } from 'next/navigation'; +import { useRouter, useSearchParams } from 'next/navigation'; const FIRST_STEP = 'STEP1' as const; const SECOND_STEP = 'STEP2' as const; @@ -25,15 +25,17 @@ const initialValues: IRegisterDataAPI = RECAPTCHA_SITE_KEY email: '', team: '', recaptcha: '' - } + } : { name: '', email: '', team: '' - }; + }; export function useAuthenticationTeam() { const query = useSearchParams(); + const router = useRouter(); + const queryEmail = useMemo(() => { let localEmail: null | string = null; @@ -78,7 +80,7 @@ export function useAuthenticationTeam() { infiniteLoading.current = true; queryCall(formValues) - .then(() => window.location.reload()) + .then(() => router.push('/')) .catch((err: AxiosError) => { if (err.response?.status === 400) { setErrors((err.response?.data as any)?.errors || {}); From 8e770f3f25ba80b14a8b2c27bce4a8113ae32afe Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 07:47:49 +0000 Subject: [PATCH 09/13] Refactor cookie imports and auth header setup --- apps/web/app/services/client/axios.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/apps/web/app/services/client/axios.ts b/apps/web/app/services/client/axios.ts index a940e724f..5b4af5a0e 100644 --- a/apps/web/app/services/client/axios.ts +++ b/apps/web/app/services/client/axios.ts @@ -1,11 +1,6 @@ /* eslint-disable no-mixed-spaces-and-tabs */ import { API_BASE_URL, DEFAULT_APP_PATH, GAUZY_API_BASE_SERVER_URL } from '@app/constants'; -import { - getAccessTokenCookie, - getActiveTeamIdCookie, - getOrganizationIdCookie, - getTenantIdCookie -} from '@app/helpers/cookies'; +import { getAccessTokenCookie, getOrganizationIdCookie, getTenantIdCookie } from '@app/helpers/cookies'; import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'; const api = axios.create({ @@ -13,9 +8,10 @@ const api = axios.create({ withCredentials: true, timeout: 60 * 1000 }); + api.interceptors.request.use( async (config: any) => { - const cookie = getActiveTeamIdCookie(); + const cookie = getAccessTokenCookie(); if (cookie) { config.headers['Authorization'] = `Bearer ${cookie}`; @@ -27,6 +23,7 @@ api.interceptors.request.use( Promise.reject(error); } ); + api.interceptors.response.use( (response: AxiosResponse) => response, async (error: { response: AxiosResponse }) => { From 94f18071657ec4a49e2ccdcb220b51ce527ea371 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 08:24:39 +0000 Subject: [PATCH 10/13] Align email verification text and icon for better readability --- apps/web/lib/features/unverified-email.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/lib/features/unverified-email.tsx b/apps/web/lib/features/unverified-email.tsx index 104c6a73c..dab1cf4e5 100644 --- a/apps/web/lib/features/unverified-email.tsx +++ b/apps/web/lib/features/unverified-email.tsx @@ -45,7 +45,7 @@ export function UnverifiedEmail() { 'border dark:border-[#28292F] dark:shadow-lg dark:bg-[#1B1D22]' )} > - + {t('pages.home.SENT_EMAIL_VERIFICATION_YOU_NEED_TO')} {t('common.VERIFY')} From b956ab62d778eef1591f35e4c812f7ce0ebc1d07 Mon Sep 17 00:00:00 2001 From: Paradoxe Ngwasi Date: Mon, 29 Apr 2024 08:43:54 +0000 Subject: [PATCH 11/13] Fix task filter logic and adjust UI padding --- apps/web/lib/features/task/task-filters.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/lib/features/task/task-filters.tsx b/apps/web/lib/features/task/task-filters.tsx index bf70e7db8..a94d77ebd 100644 --- a/apps/web/lib/features/task/task-filters.tsx +++ b/apps/web/lib/features/task/task-filters.tsx @@ -152,7 +152,7 @@ export function useTaskFilter(profile: I_UserProfilePage) { ? intersection( statusFilters[k], task['tags'].map((item) => item.name) - ).length === statusFilters[k].length + ).length === statusFilters[k].length : statusFilters[k].includes(task[k]); }); }); @@ -346,7 +346,7 @@ export function TaskStatusFilter({ hook }: { hook: I_TaskFilter }) { const t = useTranslations(); return ( -
+
Date: Mon, 29 Apr 2024 09:23:57 +0000 Subject: [PATCH 12/13] fixed timer status indicator --- .../components/UserProfileTasks.tsx | 2 +- .../app/services/interfaces/IEmployee.ts | 1 + apps/web/app/interfaces/IEmployee.ts | 1 + apps/web/lib/features/timer/timer-status.tsx | 45 ++++++++++++------- apps/web/lib/features/user-profile-tasks.tsx | 4 +- 5 files changed, 34 insertions(+), 19 deletions(-) diff --git a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/UserProfileTasks.tsx b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/UserProfileTasks.tsx index ac2e127c0..e7d029532 100644 --- a/apps/mobile/app/screens/Authenticated/ProfileScreen/components/UserProfileTasks.tsx +++ b/apps/mobile/app/screens/Authenticated/ProfileScreen/components/UserProfileTasks.tsx @@ -41,7 +41,7 @@ const UserProfileTasks: FC = observer(({ profile, content }) > {content.tab === 'worked' && profile.activeUserTeamTask && - (profile.member?.timerStatus === 'running' || (profile.isAuthUser && timerStatus?.running)) ? ( + (profile.member?.employee?.isTrackingTime || (profile.isAuthUser && timerStatus?.running)) ? ( <> !member?.employee?.isActive && !publicTeam; + const isPaused = () => member?.timerStatus === 'pause'; + const shouldPauseDueToTimerStatus = () => { + return ( + !timerStatus?.running && + timerStatus?.lastLog?.startedAt && + timerStatus?.lastLog?.employeeId === member?.employeeId && + moment().diff(moment(timerStatus?.lastLog?.startedAt), 'hours') < 24 && + timerStatus?.lastLog?.source !== 'TEAMS' + ); + }; + const isOnline = () => member?.employee?.isOnline && member?.employee?.isTrackingTime; + const isIdle = () => !member?.totalTodayTasks?.length; + + let status: ITimerStatusEnum; + + if (isOnline()) { + status = 'online'; + } else if (isIdle()) { + status = 'idle'; + } else if (isPaused() || shouldPauseDueToTimerStatus()) { + status = 'pause'; + } else if (isSuspended()) { + status = 'suspended'; + } else { + status = member?.timerStatus || 'idle'; + } + + return status; } diff --git a/apps/web/lib/features/user-profile-tasks.tsx b/apps/web/lib/features/user-profile-tasks.tsx index 5fb45f85d..623afdc3e 100644 --- a/apps/web/lib/features/user-profile-tasks.tsx +++ b/apps/web/lib/features/user-profile-tasks.tsx @@ -35,7 +35,7 @@ export function UserProfileTask({ profile, tabFiltered }: Props) { return (
{tabFiltered.tab === 'worked' && - (profile.member?.timerStatus === 'running' || (profile.isAuthUser && timerStatus?.running)) && + (profile.member?.employee?.isTrackingTime || (profile.isAuthUser && timerStatus?.running)) && otherTasks.length > 0 && ( /* Displaying the current time. */
@@ -55,7 +55,7 @@ export function UserProfileTask({ profile, tabFiltered }: Props) { )} {tabFiltered.tab === 'worked' && - (profile.member?.timerStatus === 'running' || (profile.isAuthUser && timerStatus?.running)) && ( + (profile.member?.employee?.isTrackingTime || (profile.isAuthUser && timerStatus?.running)) && ( Date: Mon, 29 Apr 2024 10:10:40 +0000 Subject: [PATCH 13/13] build(deps): update yarn.lock --- yarn.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/yarn.lock b/yarn.lock index ace3186df..c4c5e04cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6312,16 +6312,16 @@ resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.8.tgz#6742a5971f490dc41e59d277eee71361fea0b537" integrity sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg== +"@types/cookie@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + "@types/cookie@^0.5.1": version "0.5.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.5.1.tgz#b29aa1f91a59f35e29ff8f7cb24faf1a3a750554" integrity sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g== -"@types/cookie@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" - integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== - "@types/cookies@*": version "0.7.10" resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.10.tgz#c4881dca4dd913420c488508d192496c46eb4fd0" @@ -9712,19 +9712,19 @@ cookie@0.5.0, cookie@^0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -cookie@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== +cookie@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -cookies-next@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/cookies-next/-/cookies-next-4.1.1.tgz#54498efe867bb5c1a47b5a99a7ea8563601c2413" - integrity sha512-20QaN0iQSz87Os0BhNg9M71eM++gylT3N5szTlhq2rK6QvXn1FYGPB4eAgU4qFTunbQKhD35zfQ95ZWgzUy3Cg== +cookies-next@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cookies-next/-/cookies-next-4.1.0.tgz#1ecf2e4a65abe2ad3ffb3f4ad3d303ae008303c3" + integrity sha512-BREVc4TJT4NwXfyKjdjnYFXM6iRns+MYpCd34ClXuYqeisXnkPkbq7Ok9xaqi9mHmV6H2rwPE+p3EpMz4pF/kQ== dependencies: - "@types/cookie" "^0.6.0" + "@types/cookie" "^0.4.1" "@types/node" "^16.10.2" - cookie "^0.6.0" + cookie "^0.4.0" copy-anything@^2.0.1: version "2.0.6"