Review of "TranslatePlace" version 1

Details Page Preview

Translates selected text through a configured API and optionally replaces the selection. Reads and writes the clipboard when a user-configured translation shortcut is used; sends selected text to the configured server and saves originals and translations in local history. Requires a separately installed translation server, such as Translation API (Ollama): https://github.com/tomasmark79/translation-api Default API address: http://127.0.0.1:5001

Extension Homepage
https://github.com/tomasmark79/TranslatePlace

No comments.

FAQ

Files

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

Shexli (experimental) warning 2 manual_review 1

Shexli found 3 issues that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • extension.js:60
    St.Clipboard.get_default()
  • extension.js:418
    St.Clipboard.get_default()
  • historyDialog.js:40
    St.Clipboard.get_default()
  • historyDialog.js:45
    St.Clipboard.get_default()

EGO-L-002 warning

objects created by extension should be destroyed in disable()

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

Destroy all objects

  • extension.js:248
    this._deleteHistoryItem = new PopupMenu.PopupImageMenuItem('Delete history', 'edit-delete-symbolic')
  • extension.js:231
            this._shortcutLabel = new St.Label({opacity: 180,
                style: `font-size: 0.85em; width: ${width - 60}px;`})

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

  • extension.js:315
            dialog.connect('destroy', () => {
                if (this._detailDialog === dialog)
                    this._detailDialog = null;
            })
  • extension.js:347
            dialog.connect('destroy', () => {
                if (this._detailDialog === dialog)
                    this._detailDialog = null;
            })

All Versions

Version Status
2 Unreviewed
1 Rejected

Previous Reviews on this Version

Tomáš Mark auto- rejected
Auto-rejected because of new version 2 was uploaded