Review of "Todo.txt" version 55

Details Page Preview

A Gnome shell interface for todo.txt. Todo.txt is a future-proof syntax for tasks (not made by me), for more info: http://todotxt.com/ Some examples: Task: Basic task (A) Task: High priority task Task @project +context: Task is part of project and has a certain context x 2013-08-22 Task: Task was completed on the 22nd of August For more info about the syntax: https://github.com/ginatrapani/todo.txt-cli/wiki/The-Todo.txt-Format Quick start: When you first enable the extension, chances are high you'll see a [X] in your top panel. If you click the [X], you will be able to choose between creating the necessary files automatically or selecting your own existing files to be used with the extension. Please use the issue tracker on the homepage to report bugs and/or file feature requests, this makes tracking easier for me. Thanks! See the included CHANGELOG.md for info about changes between different versions, or see it online: https://gitlab.com/todo.txt-gnome-shell-extension/todo-txt-gnome-shell-extension/-/blob/master/CHANGELOG.md

Extension Homepage
https://gitlab.com/todo.txt-gnome-shell-extension/todo-txt-gnome-shell-extension

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 3

Shexli found 4 issues that may need reviewer attention.

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • libs/jsTextFile.js:38
    file.load_contents(null)

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

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

  • libs/todoTxtManager.js:468
    this.linkMonitor.connect('changed', this._linkChanged.bind(this))
  • libs/todoTxtManager.js:294
                this.menu.connect('open-state-changed', (open) => {
                    if (open) {
                        this.newTask.grab_key_focus();
                    }
                })
  • libs/todoTxtManager.js:608
    this.monitor.connect('changed', this._monitored.bind(this))
  • libs/todoTxtManager.js:580
    this.volumeMonitor.connect('mount-added', this._mountChanged.bind(this))
  • libs/todoTxtManager.js:581
    this.volumeMonitor.connect('mount-removed', this._mountChanged.bind(this))

EGO-M-004 error

metadata shell-version must only include plausible stable releases and at most one development release

Field `shell-version` contains invalid values, more than one development release, or implausible future releases.

metadata.json must be well-formed

  • metadata.json
    shell-version=['51']

All Versions

Previous Reviews on this Version

JustPerfection rejected
Please fix the shexli issues.
BartL posted a review
I cannot find any home page for shexli, could you point me to it, so I can report bugs on it, as it just plain segfaults on all my systems. EGO-M-004 is a false positive, so I cannot fix that The other ones will be fixed with the next update
JustPerfection posted a review
We know about that false positive and should be fixed soon but how did you install it? ```bash sudo dnf install @development-tools python3-dev pip3 pip3 install shexli ``` https://gitlab.gnome.org/Infrastructure/extensions-web/-/work_items/400
BartL posted a review
I installed it in a virtual environment, as you should with experimental tools :) Seems reverting tree-sitter did fix it. Thanks for pointing me to the extensions-web repo, I would never have guessed this contained shaxli ;)