From d4b0996ea8e03d4f47864e60e5ee5d7cc1bffa32 Mon Sep 17 00:00:00 2001 From: Nikhil Narayana Date: Sun, 29 Aug 2021 15:49:46 -0700 Subject: [PATCH 1/4] feat: check nintendont version and display notif --- src/console/mirrorManager.ts | 2 ++ src/console/types.ts | 1 + src/renderer/containers/Console/SavedConnectionItem.tsx | 5 +++++ src/renderer/containers/Console/SavedConnectionsList.tsx | 1 + src/renderer/lib/hooks/useConsoleDiscovery.ts | 5 ++++- 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/console/mirrorManager.ts b/src/console/mirrorManager.ts index b3e7c6c18..8a7514cb3 100644 --- a/src/console/mirrorManager.ts +++ b/src/console/mirrorManager.ts @@ -96,6 +96,7 @@ export class MirrorManager extends EventEmitter { ip: config.ipAddress, info: { nickname: details.consoleNick, + nintendontVersion: details.version, }, }); }); @@ -197,6 +198,7 @@ export class MirrorManager extends EventEmitter { status: ConnectionStatus.DISCONNECTED, isMirroring: false, filename: null, + nintendontVersion: null, }, }); } diff --git a/src/console/types.ts b/src/console/types.ts index 1e19f9983..59ac4fe18 100644 --- a/src/console/types.ts +++ b/src/console/types.ts @@ -8,6 +8,7 @@ export interface ConsoleMirrorStatusUpdate { isMirroring: boolean; filename: string | null; nickname: string; + nintendontVersion: string | null; } export interface MirrorConfig { diff --git a/src/renderer/containers/Console/SavedConnectionItem.tsx b/src/renderer/containers/Console/SavedConnectionItem.tsx index 70e67d747..77276a0e1 100644 --- a/src/renderer/containers/Console/SavedConnectionItem.tsx +++ b/src/renderer/containers/Console/SavedConnectionItem.tsx @@ -14,6 +14,7 @@ import { StoredConnection } from "@settings/types"; import { ConnectionStatus, Ports } from "@slippi/slippi-js"; import React from "react"; import { useToasts } from "react-toast-notifications"; +import { lt } from "semver"; import { LabelledText } from "@/components/LabelledText"; import { connectToConsole, disconnectFromConsole, startConsoleMirror } from "@/lib/consoleConnection"; @@ -26,6 +27,7 @@ export interface SavedConnectionItemProps { isMirroring: boolean; nickname?: string; currentFilename: string | null; + nintendontVersion: string | null; connection: StoredConnection; onOpenMenu: (index: number, element: HTMLElement) => void; } @@ -39,6 +41,7 @@ export const SavedConnectionItem: React.FC = ({ nickname, isAvailable, currentFilename, + nintendontVersion, }) => { const { addToast } = useToasts(); const onConnect = () => connectToConsole(connection); @@ -53,6 +56,7 @@ export const SavedConnectionItem: React.FC = ({ const statusName = status === ConnectionStatus.DISCONNECTED && isAvailable ? "Available" : renderStatusName(status); const isConnected = status !== ConnectionStatus.DISCONNECTED; const title = nickname ? `${connection.ipAddress} (${nickname})` : connection.ipAddress; + const oldNintendont = lt(nintendontVersion ?? "1.8.0", "1.9.1"); return ( = ({ )} + {oldNintendont && "You are using an old Nintendont version, please update it."}