12068281e9
Remove unused imports and variables (S1128, S1481, S1854)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 00:18:03 +08:00
a669c8e98e
Return empty array instead of undefined in mapTimestampToAxisTicksByFormat
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 19:39:43 +08:00
01385d798d
Return null for unknown type in getStateData to prevent empty URL request
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 16:31:29 +08:00
57214586a8
Return empty string instead of undefined from getFileName on not-found
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 14:20:21 +08:00
c6d073e119
Fix getYTicksByIndex truncating integers by using toFixed
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 14:10:09 +08:00
9acd722929
Fix splice(-1,1) removing last user when logged-in user not found
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 13:52:08 +08:00
6e3aaca3b1
Extract reusable auth guard decision logic and test router auth behavior against it
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:39:10 +08:00
28fd83242c
Use UTF-8 safe return-to encoding and decoding across router and login
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:35:40 +08:00
28464214bc
Remove refreshToken navigation side effects and let callers handle redirects
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:32:06 +08:00
1670054356
Clear all auth cookies when API token refresh fails before redirecting to login
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:29:04 +08:00
b53f58cb0c
Clear refresh token cookie during logout to enforce full session termination
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:25:53 +08:00
cf45a43a37
Remove obsolete uncaught-exception policy helper and its unit test
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:16:50 +08:00
955e9ceda9
Move auth-entry checks to router guard and simplify MainContainer route logic
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:14:20 +08:00
b3f4ace13f
Enforce requiresAuth routes in global router guard with login return-to redirects
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:07:56 +08:00
a8cd590a11
Require access token presence in MainContainer auth gate before route entry
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 19:01:03 +08:00
0948a82eb5
Align compare navbar state mapping with MAP and PERFORMANCE tabs
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 18:58:01 +08:00
2721aed928
Handle invalid return-to payloads without misclassifying login as failed
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 13:52:47 +08:00
d5464ebc2d
Restrict Cypress uncaught exception suppression to known benign errors
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 13:49:51 +08:00
fc43ca67ca
Rename single-word Vue files to multi-word names and update references
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 13:26:12 +08:00
847904c49b
Apply repository-wide ESLint auto-fix formatting pass
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 12:11:57 +08:00
d7caf08d1f
Fix design file metadata mapping in files store
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 10:47:49 +08:00
8acb1b50de
Persist relative return-to path for post-login redirect
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 10:44:53 +08:00
e275e79a63
Sanitize Cytoscape tooltip labels to prevent XSS
...
Co-Authored-By: Codex <codex@openai.com >
2026-03-08 10:41:48 +08:00
5b3130ea9c
Compute refresh token expiry fresh on each sign-in
...
The expiry date was computed once at store init time and went stale
in long-running SPA sessions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 17:49:14 +08:00
ba7c1c7cd0
Rename allUserAccoutList to allUserAccountList (fix typo)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 17:43:12 +08:00
fe4738b04c
Add encodeURIComponent for username in API URL paths
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 16:58:30 +08:00
eea79c852b
Fix open redirect vulnerability in return-to URL after login
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 08:13:12 +08:00
ddab7b3fe9
Add missing path=/ to setCookieWithoutExpiration
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:59:40 +08:00
eeea16be38
Fix getters mutating state on repeated access
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:31:59 +08:00
4b7c08e2f9
Fix moment format using month token MM instead of minute mm
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:17:09 +08:00
3f1f8fb680
Fix BaseInfiniteFirstCases getter using wrong case for state property
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:10:26 +08:00
702d508d37
Fix incorrect hour/minute calculation in simpleTimeLabel()
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:05:41 +08:00
7fec6cb63f
Add JSDoc documentation and file headers to all source files
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:57:58 +08:00
3b7b6ae859
Migrate all Vue components from Options API to <script setup>
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:57:58 +08:00
a619be7881
Convert all store files from JavaScript to TypeScript
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 14:47:57 +08:00
90048d0505
Standardize store exports to named useXxxStore convention
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 13:25:00 +08:00
147b16ca34
Add centralized API client with axios interceptors, remove vue-axios
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 12:44:33 +08:00
79811435de
Fix typos: updataFilter, updataConformance, setPrevioiusPage, reallyDeldet, tooken, pageAdimin
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 08:43:09 +08:00
c7aa32ef6d
Guard baseResponse.data access when baseLogId is falsy in getAllTrace
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 08:14:07 +08:00
833427b224
Fix deleteFile undefined $toast and reversed delete/fetch order
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 08:09:37 +08:00
6178f09cfe
Fix abbreviateNumber result.trim() return value not assigned back
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 08:08:43 +08:00
2141f514c5
Fix pageAdmin setPrevioiusPageUsingActivePage writing to wrong property
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 08:08:00 +08:00
eac33d4888
Add mapPathStore tests with mock Cytoscape objects
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 08:02:13 +08:00
9eb8881c57
Fix module-level store init in files.js, apiError.js, cytoscapeMap.js and add files store tests
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:59:30 +08:00
5be29ddd51
Add escapeHtml utility and apply to all user-controllable SweetAlert2 html
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:52:26 +08:00
954b41b555
Add Secure and SameSite=Lax flags to all cookie operations
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:51:14 +08:00
64832bb5f9
Fix router guard broken cookie check to use isLuciaLoggedIn cookie
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:45:04 +08:00
fba2efe21e
Fix MainContainer beforeRouteEnter missing try-catch and next() call
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:43:17 +08:00
2768b5d052
Fix refreshToken() undefined config, wrong axios.defaults, and missing re-throw
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:40:48 +08:00
43283aab95
Fix expired calculation to be 6 months from now instead of setting to June
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 07:39:52 +08:00