Review of "Dash2Dock Animated" version 93

Details Page Preview

The Animated & Effectful Dock

Extension Homepage
https://github.com/icedman/dash2dock-lite

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) error 1 warning 6 manual_review 1

Shexli found 8 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 6 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • animator.js:152
    console.error('d2da: animator animate', err)
  • animator.js:1258
    console.error('d2da: bounceIcon translateDecor', err)
  • animator.js:1280
    console.error('d2da: bounceIcon frame', err)
  • animator.js:1301
    console.error('d2da: bounceIcon frame', err)
  • animator.js:1346
    console.error('d2da: bounceIcon reset frame', err)
  • animator.js:1359
    console.error('d2da: bounceIcon end frame', err)
  • style.js:30
    console.error('d2da: style unloadAll unload_stylesheet', err)
  • style.js:44
    console.error('d2da: style unloadAll', err)
  • style.js:81
    console.error('d2da: style build unload_stylesheet', err)
  • style.js:93
    console.error('d2da: style build cleanup', err)
  • style.js:102
    console.error('d2da: style build unload_stylesheet', err)
  • style.js:141
    console.log(`${color} ${res}`)

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 10 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • compat.js:29
    console.error('d2da: compat getFavorites', e)
  • compat.js:39
    console.error('d2da: compat getFavoriteMap', e)
  • compat.js:46
    console.error('d2da: compat _getIds fallback', e)
  • compat.js:157
    console.error('d2da: compat showOverviewApps', e)
  • compat.js:177
    console.error('d2da: compat maximizeWindow', e)
  • compat.js:195
    console.error('d2da: compat unmaximizeWindow', e)
  • compat.js:265
    console.error('d2da: compat setupDashProxy', e)
  • compat.js:291
    console.error('d2da: compat setDashOrientation', e)
  • compat.js:313
    console.error('d2da: compat setDashLayoutDirection', e)
  • compat.js:360
    console.error('d2da: compat setOverviewDashVisibility', e)

EGO-C49-004 error

extensions targeting GNOME 49 must not call Meta.Window.get_maximized

This extension explicitly targets GNOME Shell 49 but still calls removed `Meta.Window.get_maximized()`.

Meta.Window

  • dock.js:1722
    focusedWindow.get_maximized()

EGO-A-001 manual_review

extension code must not be minified or obfuscated

File appears obfuscated: 82% of identifiers are 1–2 characters (avg length 2.2).

Code must not be obfuscated

  • effects/easing.js
    short identifier ratio: 82%, identifiers scored: 73

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 12 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • extension.js:290
    console.error('d2da: loadConfig', err)
  • extension.js:482
    console.error('d2da: loadConfig', err)
  • extension.js:549
    console.error('d2da: loadConfig', err)
  • extension.js:620
    console.error(`d2da: msg-to-ext ${value}`, err)
  • extension.js:725
    console.error(`d2da: reaction ${action}`, err)
  • extension.js:623
    console.warn('d2da: unknown command', value)
  • extension.js:334
    console.log('dash2dock-lite enabled')
  • extension.js:394
    console.log('dash2dock-lite disabled')
  • extension.js:526
    console.log(`loading icon ${file.get_path()}`)
  • extension.js:542
    console.log(`loading icon ${file.get_path()}`)
  • services.js:40
    console.error(`d2da: service ${this.name} update`, e)
  • services.js:237
    console.error(`d2da: service ${s.name} update`, e)
  • services.js:414
    console.error('d2da: services emptyTrash child delete', e)
  • services.js:422
    console.error('d2da: services emptyTrash', e)
  • services.js:459
    console.error('d2da: services checkTrash', e)
  • services.js:536
    console.error('d2da: services checkRecentFilesInFolder', e)
  • services.js:674
    console.error('d2da: services load recents', err)
  • services.js:721
    console.error('d2da: services checkDownloads', err)
  • services.js:471
    console.log(`checking ${path}`)
  • services.js:617
    console.log('checking recent manager')

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 8 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • prefs.js:285
    console.error(`d2da: invalid preset ${fn.get_path()}`, err)
  • prefs.js:385
    console.error(`d2da: preset ${p['meta']['title']} key ${k}`, err)
  • prefs.js:106
    console.log(`=======${val}`)
  • prefs.js:118
    console.log(`d2da: select folder: ${err.message}`)
  • prefs.js:122
    console.log(`${target} = ${path}`)
  • prefs.js:126
    console.log('No valid folder selected.')
  • prefs.js:143
    console.log(path)
  • prefs.js:146
    console.log(err)

EGO-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • apps/overlay.js
  • apps/recents.js

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.

Disconnect all signals

  • dockItems.js:116
    dialog.connect('closed', cleanUp)
  • dockItems.js:117
    dialog.connect('destroy', cleanUp)

All Versions

Previous Reviews on this Version

icedman posted a review
While update is quite extensive, no new features were added. AI tooling was used to weed out bugs, potential security risks, probes for leaks. Extensive review was made of all the AI assisted changes, summarized at: https://github.com/icedman/dash2dock-lite/blob/g50/docs/SUMMARY_2026-10.md Dock animations have been updated with AI help, but heavy with my inputs and experiments see: https://github.com/icedman/dash2dock-lite/tree/g50/tests
JustPerfection rejected
Didn't review since I see AI practices here. Please check for: - https://gjs.guide/extensions/review-guidelines/best-practices.html#avoid-unnecessary-try-catch-wrappers - https://gjs.guide/extensions/review-guidelines/best-practices.html#lifecycle-and-destruction-state