Battery session timer with record saving for GNOME Shell
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
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()`.
extension.js:572
file.load_contents(null)
extension.js:599
file.load_contents(null)
extension.js:665
file.load_contents(null)
EGO-A-004 warning
extension files should not contain excessive ungated console logging
File contains 14 ungated console.log/warn/error calls (threshold: 5).
extension.js:227
console.warn(`Battery Session Timer: ошибка отключения сигнала UPower: ${error}`)
extension.js:338
console.warn(`Battery Session Timer: logind недоступен, используется монотонный таймер: ${error}`)
extension.js:368
console.warn(`Battery Session Timer: ошибка отключения сигнала logind: ${error}`)
extension.js:575
console.warn(`Battery Session Timer: повреждён файл рекорда ${this._recordFile}`)
extension.js:655
console.warn(`Battery Session Timer: не удалось удалить файл сессии ${this._sessionFile}: ${error}`)
extension.js:668
console.warn(`Battery Session Timer: повреждён файл настроек ${this._settingsFile}`)
extension.js:173
console.error(`Battery Session Timer: не удалось подключиться к UPower: ${error}`)
extension.js:197
console.error(`Battery Session Timer: не удалось получить DisplayDevice: ${error}`)
extension.js:579
console.error(`Battery Session Timer: не удалось загрузить рекорд ${this._recordFile}: ${error}`)
extension.js:613
console.error(`Battery Session Timer: не удалось загрузить сессию ${this._sessionFile}: ${error}`)
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.
extension.js:418
this._icon = new St.Icon({
icon_name: 'battery-good-symbolic',
style_class: 'system-status-icon',
})
extension.js:422
this._label = new St.Label({
text: '',
y_align: Clutter.ActorAlign.CENTER,
})
extension.js:433
this._recordItem = new PopupMenu.PopupMenuItem('', {
reactive: false,
})
extension.js:430
this._sessionItem = new PopupMenu.PopupMenuItem('', {
reactive: false,
})
EGO-M-008 warning
extensions using unlock-dialog must document it in disable() comments
Extensions using `unlock-dialog` should document the reason in `disable()` comments.
extension.js:705
disable() {
if (!this._enabled)
return;
this._tracker.tick(this._nowUs());
const state = this._tracker.snapshot();
this._saveRecordIfDirty();
this._saveSessionState(state);
this._enabled = false;
if (this._timeoutId)
| Version | Status |
|---|---|
| 33 | Unreviewed |
| 32 | Rejected |
| 31 | Rejected |
| 30 | Rejected |
| 29 | Rejected |
| 28 | Rejected |
| 27 | Rejected |
| 26 | Rejected |
| 25 | Rejected |
| 24 | Rejected |
| 23 | Rejected |
| 22 | Rejected |
| 21 | Rejected |
| 20 | Rejected |
| 19 | Rejected |
| 18 | Rejected |
| 17 | Rejected |
| 16 | Rejected |
| 15 | Rejected |
| 14 | Rejected |
| 13 | Rejected |
| 12 | Rejected |
| 11 | Rejected |
| 10 | Rejected |
| 9 | Rejected |
| 8 | Rejected |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |