You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GNOME parity for the session keepalive feature #12
Feature request: GNOME parity for the session-keepalive feature
Follow-up to #10 / #11, which added an opt-in "keep the Claude 5-hour session window open" feature to the KDE widget only, with GNOME parity explicitly deferred.
Scope
shared/core/keepalive.js (from #11) is already platform-agnostic — the decision logic and the buildShellCommand() PATH-prefixing need no changes. What GNOME needs is its own thin platform layer, mirroring how extension/lib/runtime/fetch.js and fs.js already wrap Soup and Gio.File in Promises for the shared core to consume:
A new extension/lib/runtime/process.js wrapping Gio.Subprocess in a Promise, resolving {exitCode, stderr} — the same shape shared/core/keepalive.js already expects from KDE's ExecReader.qml.
Two new keys in extension/schemas/org.gnome.shell.extensions.brainusage.gschema.xml: keepalive-enabled (boolean, default false) and keepalive-command (string, default the same verified ping command from Keep the Claude 5-hour session window open (opt-in) #10).
Wiring the keepalive controller into the scheduler in extension.js's enable(), reading both settings live off the existing Gio.Settings object.
No new preferences UI: neither this extension's one existing setting (panel-label-mode) has a graphical prefs page, so the two new keys follow the same convention (gsettings set / dconf-editor), documented in the README.
The Claude-card warning line already renders through the shared buildUsageViewModel(), so no GNOME-specific UI work is needed there.
Why a separate issue/PR
shared/core/keepalive.js only exists on the feat/session-keepalive branch (#11) so far, not on main. This work is cut from that branch rather than from main, and the PR targets feat/session-keepalive until #11 merges.
Activity