Skip to content

PR #30

PR #30 #51

Triggered via dynamic May 5, 2026 18:27
Status Success
Total duration 1m 28s
Artifacts

codeql

on: dynamic
Matrix: analyze
Fit to window
Zoom out
Zoom in

Annotations

89 warnings and 71 notices
Import can be shortened: src/utils/player/index.ts#L25
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L7
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L28
Import can be shortened
Import can be shortened: electron/plugins/types.ts#L10
Import can be shortened
Import can be shortened: electron/main/index.ts#L39
Import can be shortened
Import can be shortened: electron/main/index.ts#L55
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L8
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L30
Import can be shortened
Import can be shortened: src/platform/music/index.ts#L3
Import can be shortened
Import can be shortened: src/platform/music/index.ts#L4
Import can be shortened
Import can be shortened: electron/plugins/PluginCatalog.ts#L3
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L26
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L9
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L27
Import can be shortened
Import can be shortened: electron/plugins/types.ts#L9
Import can be shortened
Import can be shortened: electron/ipc/utils/gatewayCache.ts#L5
Import can be shortened
Import can be shortened: src/utils/player/index.ts#L29
Import can be shortened
Exception used for local control-flow: src/store/player/playbackActions.ts#L361
'throw' of exception caught locally
Exception used for local control-flow: src/store/player/playbackActions.ts#L329
'throw' of exception caught locally
Exception used for local control-flow: src/components/QQLoginModal.vue#L174
'throw' of exception caught locally
Exception used for local control-flow: src/services/apiService.ts#L90
'throw' of exception caught locally
Exception used for local control-flow: src/services/apiService.ts#L104
'throw' of exception caught locally
Exception used for local control-flow: src/store/player/playbackActions.ts#L383
'throw' of exception caught locally
Exception used for local control-flow: electron/ipc/IpcService.ts#L192
'throw' of exception caught locally
Exception used for local control-flow: src/components/LoginModal.vue#L74
'throw' of exception caught locally
Exception used for local control-flow: src/components/QQLoginModal.vue#L235
'throw' of exception caught locally
Exception used for local control-flow: src/store/player/playbackActions.ts#L371
'throw' of exception caught locally
Exception used for local control-flow: src/store/searchStore.ts#L271
'throw' of exception caught locally
Exception used for local control-flow: src/api/song.ts#L78
'throw' of exception caught locally
Exception used for local control-flow: src/components/LoginModal.vue#L85
'throw' of exception caught locally
Mismatched JSDoc and function signature: src/store/player/lyricSync.ts#L51
Parameter store is not described in JSDoc
Mismatched JSDoc and function signature: electron/ipc/handlers/player.handler.ts#L287
Parameter serviceManager is not described in JSDoc
Mismatched JSDoc and function signature: src/store/player/lyricSync.ts#L92
Parameter store is not described in JSDoc
Mismatched query and update of collection: electron/sandbox/services/configProxy.ts#L38
Contents of collection `changeListeners` are updated, but never queried
Unused local symbol: src/utils/player/core/playbackController.ts#L6
Unused field progressTimer
Unused local symbol: src/platform/contracts/ipc.ts#L618
Unused type alias _AssertReceiveChannelMapKeys
Unused local symbol: src/store/player/playbackActions.ts#L77
Unused method shouldFetchFreshSongUrl
Unused local symbol: electron/ipc/middleware/performance.ts#L22
Unused constant _METRICS_RETENTION_TIME
Unused local symbol: src/platform/contracts/ipc.ts#L614
Unused type alias _AssertSendChannelMapKeys
Unused local symbol: src/platform/contracts/ipc.ts#L615
Unused type alias _AssertInvokeChannelMapKeys
Unused local symbol: src/utils/player/core/playbackController.ts#L7
Unused field _lastProgressUpdate
Pointless statement or boolean expression: src/components/home/HomeHeader.vue#L117
Can be simplified to props.showBrand
Pointless statement or boolean expression: src/components/ProgressWaveform.vue#L292
Can be simplified to playing \&\& active
Pointless statement or boolean expression: src/services/registry.ts#L51
Can be simplified to typeof instance === 'object'
Pointless statement or boolean expression: src/components/ProgressWaveform.vue#L241
Can be simplified to !isVisible \|\| !props.active
Redundant character escape: src/utils/player/core/lyric.ts#L180
Redundant character escape `\]` in RegExp
Redundant character escape: src/utils/player/core/lyric.ts#L182
Redundant character escape `\]` in RegExp
Redundant character escape: src/components/LyricFloat.vue#L101
Redundant character escape `\]` in RegExp
Unsound type guard check: src/store/playerStore.ts#L1192
'typeof' check is always false: 'volume' always has type 'number'
Unsound type guard check: electron/plugins/ExternalPluginHost.ts#L401
Redundant 'typeof' check: 'value' always has type 'string'
Unsound type guard check: src/store/recentPlayStore.ts#L35
Redundant 'typeof' check: 'playedAt' always has type 'number'
Unsound type guard check: src/composables/home/mediaPanelShared.ts#L72
Redundant 'typeof' check: 'duration' always has type 'number'
Unsound type guard check: src/utils/player/core/lyric.ts#L172
'typeof' check is always false: 'text' always has type 'string'
Unsound type guard check: src/composables/useMediaSession.ts#L468
Invalid 'typeof' check: 'previousProgress' cannot have type 'number'
Unsound type guard check: src/store/searchStore.ts#L325
Redundant 'typeof' check: 'total' always has type 'number'
Unsound type guard check: src/components/QQLoginModal.vue#L140
Redundant 'typeof' check: 'value' always has type 'string'
Unsound type guard check: electron/local-library/protocol.ts#L254
Redundant 'typeof' check: 'O_NOFOLLOW' always has type 'number'
Unsound type guard check: src/utils/http/electronIpcRequest.ts#L49
Redundant 'typeof' check: 'message' always has type 'string'
Unsound type guard check: electron/ipc/utils/gatewayCache.ts#L233
Redundant 'typeof' check: 'message' always has type 'string'
Unsound type guard check: src/composables/useNeteaseLoginProfile.ts#L19
'typeof' check is always false: 'cookie' always has type 'string'
Unsound type guard check: api/[...netease].ts#L103
Redundant 'typeof' check: 'segment' always has type 'string'
Unsound type guard check: src/store/searchStore.ts#L275
Redundant 'typeof' check: 'total' always has type 'number'
Unsound type guard check: src/store/playerStore.ts#L1203
'typeof' check is always false: 'playMode' always has type 'number'
Unsound type guard check: src/components/LyricFloat.vue#L261
'typeof' check is always false: 'locked' always has type 'boolean'
Unsound type guard check: src/components/user/FavoriteAlbumsView.vue#L23
Redundant 'typeof' check: 'artistName' always has type 'string'
Unsound type guard check: electron/utils/paths.ts#L18
Redundant 'typeof' check: 'resourcesPath' always has type 'string'
Unsound type guard check: src/utils/player/helpers/timeFormatter.ts#L23
'typeof' check is always false: 'timeStr' always has type 'string'
Unsound type guard check: src/utils/error/normalize.ts#L37
Redundant 'typeof' check: 'message' always has type 'string'
Redundant 'if' statement: src/composables/useKeyboardShortcuts.ts#L67
`if` statement can be simplified
Unnecessary 'continue' statement: electron/plugins/PluginInstaller.ts#L138
`continue` is unnecessary as the last statement in a loop
Redundant local variable: electron/utils/paths.ts#L34
Local variable scriptPath is redundant
Redundant local variable: src/api/song.ts#L84
Local variable fallbackRes is redundant
Redundant local variable: src/utils/player/core/playerCore.ts#L364
Local variable cancelPendingPlay is redundant
Redundant local variable: src/composables/useLikedSongs.ts#L214
Local variable sessionId is redundant
Redundant local variable: src/composables/useMediaSession.ts#L259
Local variable metadata is redundant
Missing await for an async function call: src/platform/index.ts#L166
Missing await for an async function call
Missing await for an async function call: src/store/player/playbackActions.ts#L303
Missing await for an async function call
Missing await for an async function call: src/store/player/playbackActions.ts#L311
Missing await for an async function call
Missing await for an async function call: src/platform/core/electron.ts#L63
Missing await for an async function call
Missing await for an async function call: src/composables/useUserDataQuery.ts#L57
Missing await for an async function call
Missing await for an async function call: src/store/player/playbackActions.ts#L315
Missing await for an async function call
Missing await for an async function call: src/platform/core/electron.ts#L59
Missing await for an async function call
Missing await for an async function call: src/composables/useUserDataQuery.ts#L71
Missing await for an async function call
Missing await for an async function call: src/store/player/playbackActions.ts#L314
Missing await for an async function call
Missing await for an async function call: src/composables/useUserDataQuery.ts#L64
Missing await for an async function call
Redundant 'await' expression: electron/ipc/handlers/service.handler.ts#L114
Redundant 'await' for a non-promise type
Redundant 'await' expression: config/vite.analyze.web.js#L10
Redundant 'return await'
Redundant 'await' expression: config/vite.analyze.web.js#L7
Redundant 'return await'
Deprecated symbol used: electron/vite.config.ts#L153
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: electron/vite.config.ts#L105
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: electron/vite.config.ts#L144
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: electron/vite.config.ts#L189
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: src/components/user/UserProfileHeader.vue#L62
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: electron/vite.config.ts#L123
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: src/utils/monitoring/sentryRenderer.ts#L69
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: .config/vite.config.ts#L50
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: electron/main/tray.ts#L37
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: src/components/user/UserProfileHeader.vue#L73
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: electron/main/tray.ts#L14
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: .config/vite.config.ts#L48
Deprecated symbol used, consult docs for better alternative
Deprecated symbol used: .config/vite.config.ts#L54
Deprecated symbol used, consult docs for better alternative
Abstract class constructor can be made protected: src/platform/music/interface.ts#L34
Abstract class constructor can be made protected
Field can be readonly: src/utils/player/core/lyric.ts#L237
Field can be readonly
Redundant type arguments: src/services/registry.ts#L30
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L164
Explicit type argument unknown can be removed
Redundant type arguments: electron/sandbox/legacyElectronApi.ts#L79
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L105
Explicit type argument unknown can be removed
Redundant type arguments: src/services/types.ts#L29
Explicit type argument unknown can be removed
Redundant type arguments: src/services/injector.ts#L145
Explicit type argument unknown can be removed
Redundant type arguments: src/services/index.ts#L236
Explicit type argument unknown can be removed
Redundant type arguments: src/services/types.ts#L125
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L296
Explicit type argument unknown can be removed
Redundant type arguments: src/services/injector.ts#L36
Explicit type argument unknown can be removed
Redundant type arguments: api/qq/[...qq].ts#L8
Explicit type argument IncomingMessage can be removed
Redundant type arguments: src/services/index.ts#L165
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L32
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L287
Explicit type argument unknown can be removed
Redundant type arguments: src/services/types.ts#L163
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L29
Explicit type argument unknown can be removed
Redundant type arguments: src/services/types.ts#L143
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L118
Explicit type argument unknown can be removed
Redundant type arguments: src/services/injector.ts#L11
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L28
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L31
Explicit type argument unknown can be removed
Redundant type arguments: src/services/types.ts#L63
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L90
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L109
Explicit type argument unknown can be removed
Redundant type arguments: api/[...netease].ts#L14
Explicit type argument IncomingMessage can be removed
Redundant type arguments: src/services/registry.ts#L319
Explicit type argument unknown can be removed
Redundant type arguments: src/services/registry.ts#L98
Explicit type argument unknown can be removed