mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-19 21:14:21 +08:00
9f2bf644b5
- Created AUTH/OAUTH_FLOW.MD to detail the OAuth 2.0 authorization process for SECTL Auth, including flow diagrams, detailed steps, token management, and security recommendations. - Added AUTH/TROUBLESHOOTING.md to provide a comprehensive troubleshooting guide for common issues encountered during the OAuth process, covering authorization, token exchange, user info retrieval, remote logout, platform management, and network/CORS issues. - Implemented OAuthCallback and OAuthLogin components in React to handle OAuth login flow, including deep linking and token exchange.
1 line
24 KiB
Plaintext
1 line
24 KiB
Plaintext
[{"E:\\Document\\Coding\\SecScore\\eslint.config.mjs":"1","E:\\Document\\Coding\\SecScore\\src\\App.tsx":"2","E:\\Document\\Coding\\SecScore\\src\\ClientContext.ts":"3","E:\\Document\\Coding\\SecScore\\src\\components\\BoardManager.tsx":"4","E:\\Document\\Coding\\SecScore\\src\\components\\ContentArea.tsx":"5","E:\\Document\\Coding\\SecScore\\src\\components\\EventHistory.tsx":"6","E:\\Document\\Coding\\SecScore\\src\\components\\Home.tsx":"7","E:\\Document\\Coding\\SecScore\\src\\components\\Leaderboard.tsx":"8","E:\\Document\\Coding\\SecScore\\src\\components\\OAuthCallback.tsx":"9","E:\\Document\\Coding\\SecScore\\src\\components\\OAuthLogin.tsx":"10","E:\\Document\\Coding\\SecScore\\src\\components\\OOBE\\OOBE.tsx":"11","E:\\Document\\Coding\\SecScore\\src\\components\\OOBE\\OOBEBackground.tsx":"12","E:\\Document\\Coding\\SecScore\\src\\components\\ReasonManager.tsx":"13","E:\\Document\\Coding\\SecScore\\src\\components\\RewardExchange.tsx":"14","E:\\Document\\Coding\\SecScore\\src\\components\\RewardSettings.tsx":"15","E:\\Document\\Coding\\SecScore\\src\\components\\ScoreManager.tsx":"16","E:\\Document\\Coding\\SecScore\\src\\components\\Settings.tsx":"17","E:\\Document\\Coding\\SecScore\\src\\components\\SettlementHistory.tsx":"18","E:\\Document\\Coding\\SecScore\\src\\components\\Sidebar.tsx":"19","E:\\Document\\Coding\\SecScore\\src\\components\\StudentManager.tsx":"20","E:\\Document\\Coding\\SecScore\\src\\components\\TagEditorDialog.tsx":"21","E:\\Document\\Coding\\SecScore\\src\\components\\ThemeEditor.tsx":"22","E:\\Document\\Coding\\SecScore\\src\\components\\ThemeQuickSettings.tsx":"23","E:\\Document\\Coding\\SecScore\\src\\components\\TitleBar.tsx":"24","E:\\Document\\Coding\\SecScore\\src\\components\\Versions.tsx":"25","E:\\Document\\Coding\\SecScore\\src\\components\\WindowControls.tsx":"26","E:\\Document\\Coding\\SecScore\\src\\components\\Wizard.tsx":"27","E:\\Document\\Coding\\SecScore\\src\\contexts\\ServiceContext.tsx":"28","E:\\Document\\Coding\\SecScore\\src\\contexts\\ThemeContext.tsx":"29","E:\\Document\\Coding\\SecScore\\src\\contexts\\ThemeEditorContext.tsx":"30","E:\\Document\\Coding\\SecScore\\src\\env.d.ts":"31","E:\\Document\\Coding\\SecScore\\src\\hooks\\useResponsive.ts":"32","E:\\Document\\Coding\\SecScore\\src\\i18n\\index.ts":"33","E:\\Document\\Coding\\SecScore\\src\\main.tsx":"34","E:\\Document\\Coding\\SecScore\\src\\preload\\types.ts":"35","E:\\Document\\Coding\\SecScore\\src\\react-19-patch.ts":"36","E:\\Document\\Coding\\SecScore\\src\\services\\StudentService.ts":"37","E:\\Document\\Coding\\SecScore\\src\\shared\\kernel.ts":"38","E:\\Document\\Coding\\SecScore\\src\\shared\\mobileNavigation.ts":"39","E:\\Document\\Coding\\SecScore\\src\\utils\\color.ts":"40","E:\\Document\\Coding\\SecScore\\src\\utils\\studentAvatar.ts":"41","E:\\Document\\Coding\\SecScore\\src\\workers\\xlsxWorker.ts":"42","E:\\Document\\Coding\\SecScore\\vite.config.ts":"43"},{"size":1413,"mtime":1774084765386,"results":"44","hashOfConfig":"45"},{"size":38217,"mtime":1774773410827,"results":"46","hashOfConfig":"47"},{"size":124,"mtime":1774084765537,"results":"48","hashOfConfig":"47"},{"size":47714,"mtime":1774704827018,"results":"49","hashOfConfig":"47"},{"size":12490,"mtime":1774773413504,"results":"50","hashOfConfig":"47"},{"size":2044,"mtime":1774084765557,"results":"51","hashOfConfig":"47"},{"size":90881,"mtime":1774704827750,"results":"52","hashOfConfig":"47"},{"size":8101,"mtime":1774084765561,"results":"53","hashOfConfig":"47"},{"size":1047,"mtime":1774772479779,"results":"54","hashOfConfig":"47"},{"size":4948,"mtime":1774780673579,"results":"55","hashOfConfig":"47"},{"size":36271,"mtime":1774176288912,"results":"56","hashOfConfig":"47"},{"size":4203,"mtime":1774084765566,"results":"57","hashOfConfig":"47"},{"size":5983,"mtime":1774084765569,"results":"58","hashOfConfig":"47"},{"size":9360,"mtime":1774084765571,"results":"59","hashOfConfig":"47"},{"size":6151,"mtime":1774084765572,"results":"60","hashOfConfig":"47"},{"size":12301,"mtime":1774084765573,"results":"61","hashOfConfig":"47"},{"size":55529,"mtime":1774779133310,"results":"62","hashOfConfig":"47"},{"size":5950,"mtime":1774084765578,"results":"63","hashOfConfig":"47"},{"size":10335,"mtime":1774675242424,"results":"64","hashOfConfig":"47"},{"size":79058,"mtime":1774704830361,"results":"65","hashOfConfig":"47"},{"size":6331,"mtime":1774084765584,"results":"66","hashOfConfig":"47"},{"size":8079,"mtime":1774084765586,"results":"67","hashOfConfig":"47"},{"size":10954,"mtime":1774084765587,"results":"68","hashOfConfig":"47"},{"size":3858,"mtime":1774084765589,"results":"69","hashOfConfig":"47"},{"size":431,"mtime":1774084765590,"results":"70","hashOfConfig":"47"},{"size":2367,"mtime":1774084765592,"results":"71","hashOfConfig":"47"},{"size":1560,"mtime":1774084765594,"results":"72","hashOfConfig":"47"},{"size":362,"mtime":1774084765604,"results":"73","hashOfConfig":"47"},{"size":5985,"mtime":1774084765606,"results":"74","hashOfConfig":"47"},{"size":2824,"mtime":1774084765608,"results":"75","hashOfConfig":"47"},{"size":38,"mtime":1774084765611,"results":"76","hashOfConfig":"47"},{"size":2097,"mtime":1774084765613,"results":"77","hashOfConfig":"47"},{"size":1533,"mtime":1774084765616,"results":"78","hashOfConfig":"47"},{"size":6919,"mtime":1774704831300,"results":"79","hashOfConfig":"47"},{"size":17900,"mtime":1774779134852,"results":"80","hashOfConfig":"47"},{"size":1150,"mtime":1774084765630,"results":"81","hashOfConfig":"47"},{"size":667,"mtime":1774084765638,"results":"82","hashOfConfig":"47"},{"size":3061,"mtime":1774176077013,"results":"83","hashOfConfig":"47"},{"size":1716,"mtime":1774772796302,"results":"84","hashOfConfig":"47"},{"size":3256,"mtime":1774084765655,"results":"85","hashOfConfig":"47"},{"size":1115,"mtime":1774084765658,"results":"86","hashOfConfig":"47"},{"size":947,"mtime":1774084765660,"results":"87","hashOfConfig":"47"},{"size":709,"mtime":1774665241507,"results":"88","hashOfConfig":"47"},{"filePath":"89","messages":"90","suppressedMessages":"91","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"oyxevq",{"filePath":"92","messages":"93","suppressedMessages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"f6a32r",{"filePath":"95","messages":"96","suppressedMessages":"97","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"98","messages":"99","suppressedMessages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"101","messages":"102","suppressedMessages":"103","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"104","messages":"105","suppressedMessages":"106","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"107","messages":"108","suppressedMessages":"109","errorCount":3,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"110","messages":"111","suppressedMessages":"112","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"113","messages":"114","suppressedMessages":"115","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"116","messages":"117","suppressedMessages":"118","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"119","messages":"120","suppressedMessages":"121","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"122","messages":"123","suppressedMessages":"124","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"137","messages":"138","suppressedMessages":"139","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"140","messages":"141","suppressedMessages":"142","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"143","messages":"144","suppressedMessages":"145","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"146","messages":"147","suppressedMessages":"148","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"149","messages":"150","suppressedMessages":"151","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"152","messages":"153","suppressedMessages":"154","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"155","messages":"156","suppressedMessages":"157","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"158","messages":"159","suppressedMessages":"160","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","suppressedMessages":"169","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"170","messages":"171","suppressedMessages":"172","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"173","messages":"174","suppressedMessages":"175","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","suppressedMessages":"178","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"179","messages":"180","suppressedMessages":"181","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"182","messages":"183","suppressedMessages":"184","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"185","messages":"186","suppressedMessages":"187","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","suppressedMessages":"190","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"191","messages":"192","suppressedMessages":"193","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"194","messages":"195","suppressedMessages":"196","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"197","messages":"198","suppressedMessages":"199","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"200","messages":"201","suppressedMessages":"202","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"203","messages":"204","suppressedMessages":"205","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","suppressedMessages":"208","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"209","messages":"210","suppressedMessages":"211","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"212","messages":"213","suppressedMessages":"214","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"215","messages":"216","suppressedMessages":"217","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"E:\\Document\\Coding\\SecScore\\eslint.config.mjs",[],[],"E:\\Document\\Coding\\SecScore\\src\\App.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\ClientContext.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\BoardManager.tsx",["218","219"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\ContentArea.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\EventHistory.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\Home.tsx",["220","221","222","223","224","225"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\Leaderboard.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\OAuthCallback.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\OAuthLogin.tsx",["226"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\OOBE\\OOBE.tsx",["227","228"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\OOBE\\OOBEBackground.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\ReasonManager.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\RewardExchange.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\RewardSettings.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\ScoreManager.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\Settings.tsx",["229"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\SettlementHistory.tsx",["230","231"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\Sidebar.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\StudentManager.tsx",["232"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\TagEditorDialog.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\ThemeEditor.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\ThemeQuickSettings.tsx",["233"],[],"E:\\Document\\Coding\\SecScore\\src\\components\\TitleBar.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\Versions.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\WindowControls.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\components\\Wizard.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\contexts\\ServiceContext.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\contexts\\ThemeContext.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\contexts\\ThemeEditorContext.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\env.d.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\hooks\\useResponsive.ts",["234"],[],"E:\\Document\\Coding\\SecScore\\src\\i18n\\index.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\main.tsx",[],[],"E:\\Document\\Coding\\SecScore\\src\\preload\\types.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\react-19-patch.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\services\\StudentService.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\shared\\kernel.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\shared\\mobileNavigation.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\utils\\color.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\utils\\studentAvatar.ts",[],[],"E:\\Document\\Coding\\SecScore\\src\\workers\\xlsxWorker.ts",[],[],"E:\\Document\\Coding\\SecScore\\vite.config.ts",[],[],{"ruleId":"235","severity":1,"message":"236","line":626,"column":6,"nodeType":"237","endLine":626,"endColumn":44,"suggestions":"238"},{"ruleId":"235","severity":1,"message":"236","line":634,"column":6,"nodeType":"237","endLine":634,"endColumn":59,"suggestions":"239"},{"ruleId":"235","severity":1,"message":"240","line":532,"column":6,"nodeType":"237","endLine":532,"endColumn":76,"suggestions":"241"},{"ruleId":"242","severity":2,"message":"243","line":544,"column":34,"nodeType":null,"endLine":556,"endColumn":4},{"ruleId":"242","severity":2,"message":"243","line":544,"column":34,"nodeType":null,"endLine":556,"endColumn":4},{"ruleId":"235","severity":1,"message":"244","line":556,"column":6,"nodeType":"237","endLine":556,"endColumn":15,"suggestions":"245"},{"ruleId":"242","severity":2,"message":"246","line":1627,"column":5,"nodeType":null,"endLine":1650,"endColumn":6},{"ruleId":"235","severity":1,"message":"247","line":1710,"column":6,"nodeType":"237","endLine":1710,"endColumn":8,"suggestions":"248"},{"ruleId":"235","severity":1,"message":"249","line":119,"column":6,"nodeType":"237","endLine":119,"endColumn":8,"suggestions":"250"},{"ruleId":"235","severity":1,"message":"251","line":160,"column":6,"nodeType":"237","endLine":160,"endColumn":20,"suggestions":"252"},{"ruleId":"235","severity":1,"message":"253","line":334,"column":5,"nodeType":"237","endLine":334,"endColumn":27,"suggestions":"254"},{"ruleId":"235","severity":1,"message":"255","line":239,"column":6,"nodeType":"237","endLine":239,"endColumn":8,"suggestions":"256"},{"ruleId":"235","severity":1,"message":"257","line":54,"column":6,"nodeType":"237","endLine":54,"endColumn":18,"suggestions":"258"},{"ruleId":"235","severity":1,"message":"244","line":106,"column":5,"nodeType":"237","endLine":106,"endColumn":7,"suggestions":"259"},{"ruleId":"235","severity":1,"message":"260","line":1351,"column":6,"nodeType":"237","endLine":1351,"endColumn":50,"suggestions":"261"},{"ruleId":"235","severity":1,"message":"251","line":100,"column":6,"nodeType":"237","endLine":100,"endColumn":20,"suggestions":"262"},{"ruleId":"235","severity":1,"message":"263","line":25,"column":9,"nodeType":"264","endLine":25,"endColumn":70},"react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'activeBoard'. Either include it or remove the dependency array.","ArrayExpression",["265"],["266"],"React Hook useMemo has an unnecessary dependency: 'layoutType'. Either exclude it or remove the dependency array.",["267"],"react-hooks/preserve-manual-memoization","Compilation Skipped: Existing memoization could not be preserved\n\nReact Compiler has skipped optimizing this component because the existing manual memoization could not be preserved. The inferred dependencies did not match the manually specified dependencies, which could cause the value to change more or less frequently than expected. The inferred dependency was `t`, but the source dependencies were [reasons]. Inferred different dependency than source.\n\nE:\\Document\\Coding\\SecScore\\src\\components\\Home.tsx:544:34\n 542 | }, [groupedStudents])\n 543 |\n> 544 | const groupedReasons = useMemo(() => {\n | ^^^^^^^\n> 545 | const groups: Record<string, reason[]> = {}\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n> 546 | reasons.forEach((r) => {\n …\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n> 555 | })\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n> 556 | }, [reasons])\n | ^^^^ Could not preserve existing manual memoization\n 557 |\n 558 | const selectedStudents = useMemo(() => {\n 559 | if (selectedStudentIds.length === 0) return []","React Hook useMemo has a missing dependency: 't'. Either include it or remove the dependency array.",["268"],"Compilation Skipped: Existing memoization could not be preserved\n\nReact Compiler has skipped optimizing this component because the existing manual memoization could not be preserved. This value was memoized in source but not in compilation output.\n\nE:\\Document\\Coding\\SecScore\\src\\components\\Home.tsx:1627:5\n 1625 |\n 1626 | const handleNavAction = useCallback(\n> 1627 | (clientY: number) => {\n | ^^^^^^^^^^^^^^^^^^^^^^\n> 1628 | if (!navContainerRef.current) return\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n> 1629 | const rect = navContainerRef.current.getBoundingClientRect()\n …\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n> 1649 | }\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n> 1650 | },\n | ^^^^^^ Could not preserve existing memoization\n 1651 | [groupedStudents, quickNavLayout.itemSize, quickNavLayout.paddingY, triggerNavHaptic]\n 1652 | )\n 1653 |","React Hook useEffect has missing dependencies: 'onGlobalMouseMove' and 'onGlobalMouseUp'. Either include them or remove the dependency array.",["269"],"React Hook useEffect has a missing dependency: 'handleDeepLink'. Either include it or remove the dependency array.",["270"],"React Hook useEffect has a missing dependency: 't'. Either include it or remove the dependency array.",["271"],"React Hook useCallback has missing dependencies: 'showOobeMessage' and 't'. Either include them or remove the dependency array.",["272"],"React Hook useEffect has a missing dependency: 'loadAll'. Either include it or remove the dependency array.",["273"],"React Hook useCallback has a missing dependency: 't'. Either include it or remove the dependency array.",["274"],["275"],"React Hook useMemo has missing dependencies: 'handleDelete', 'handleOpenAvatarEditor', 'handleOpenGroupEditor', and 'handleOpenTagEditor'. Either include them or remove the dependency array.",["276"],["277"],"The 'breakpoints' object makes the dependencies of useEffect Hook (at line 49) change on every render. Move it inside the useEffect callback. Alternatively, wrap the initialization of 'breakpoints' in its own useMemo() Hook.","VariableDeclarator",{"desc":"278","fix":"279"},{"desc":"280","fix":"281"},{"desc":"282","fix":"283"},{"desc":"284","fix":"285"},{"desc":"286","fix":"287"},{"desc":"288","fix":"289"},{"desc":"290","fix":"291"},{"desc":"292","fix":"293"},{"desc":"294","fix":"295"},{"desc":"296","fix":"297"},{"desc":"298","fix":"299"},{"desc":"300","fix":"301"},{"desc":"290","fix":"302"},"Update the dependencies array to be: [activeBoard, activeBoard.id, activeBoard.layout]",{"range":"303","text":"304"},"Update the dependencies array to be: [activeBoard, activeBoard.id, listConfigSignature, runAllInBoard]",{"range":"305","text":"306"},"Update the dependencies array to be: [sortedStudents, sortType, searchKeyword, getGroupName, t]",{"range":"307","text":"308"},"Update the dependencies array to be: [reasons, t]",{"range":"309","text":"310"},"Update the dependencies array to be: [onGlobalMouseMove, onGlobalMouseUp]",{"range":"311","text":"312"},"Update the dependencies array to be: [handleDeepLink]",{"range":"313","text":"314"},"Update the dependencies array to be: [currentTheme, t]",{"range":"315","text":"316"},"Update the dependencies array to be: [students, showOobeMessage, t]",{"range":"317","text":"318"},"Update the dependencies array to be: [loadAll]",{"range":"319","text":"320"},"Update the dependencies array to be: [messageApi, t]",{"range":"321","text":"322"},"Update the dependencies array to be: [t]",{"range":"323","text":"324"},"Update the dependencies array to be: [t, isMobile, canEdit, handleOpenTagEditor, handleOpenGroupEditor, handleOpenAvatarEditor, handleDelete]",{"range":"325","text":"326"},{"range":"327","text":"316"},[18048,18086],"[activeBoard, activeBoard.id, activeBoard.layout]",[18296,18349],"[activeBoard, activeBoard.id, listConfigSignature, runAllInBoard]",[16069,16139],"[sortedStudents, sortType, searchKeyword, getGroupName, t]",[16914,16923],"[reasons, t]",[53173,53175],"[onGlobalMouseMove, onGlobalMouseUp]",[3088,3090],"[handleDeepLink]",[4674,4688],"[currentTheme, t]",[10389,10411],"[students, showOobeMessage, t]",[7646,7648],"[loadAll]",[1697,1709],"[messageApi, t]",[3343,3345],"[t]",[45580,45624],"[t, isMobile, canEdit, handleOpenTagEditor, handleOpenGroupEditor, handleOpenAvatarEditor, handleDelete]",[3185,3199]] |