Skip to content

feat: add opt-in tray startup with a login-only mode - #1559

Merged
ilysenko merged 1 commit into
ilysenko:mainfrom
Adiker:codex/start-minimized-to-tray
Oct 6, 2026
Merged

ilysenko merged 1 commit into
ilysenko:mainfrom
Adiker:codex/start-minimized-to-tray

Conversation

@Adiker

@Adiker Adiker commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Summary

ChatGPT Community currently opens its main window on startup. Add the disabled-by-default start-minimized-to-tray feature with two opt-in General settings: start hidden in upstream's existing tray on every cold launch, or only at login autostart. The login-only setting takes priority and leaves manual launches visible; it does not enable autostart itself.

A feature-local launcher hook preserves autostart detection across Chromium's systemd scope transition. Tray/second-instance/deep-link activation reveals the window, and unavailable tray setup falls back to visible startup. Includes localized settings, regression tests, and English/Chinese usage updates.

Scope: the optional app feature and its declarative hook, shared by deb/RPM/pacman/AppImage/Nix builds on amd64/arm64. No new dependencies or changes to shared packaging, updater, or the core patch registry.

Validation

  • Real desktop: I tested both modes, including login-autostart-only, successfully on EndeavourOS, KDE Plasma 6.7.5, Wayland, amd64, using the build based on official 26.930.61225.
  • node --test linux-features/start-minimized-to-tray/test.js scripts/patch-linux-window-ui.test.js scripts/lib/linux-features.test.js: 62/62 passed.
  • bash -n install.sh scripts/lib/*.sh launcher/start.sh.template linux-features/start-minimized-to-tray/launcher-hook.sh; bash tests/scripts_smoke.sh; git diff --check: passed. Changed documentation links, Make commands, and feature ID verified.
  • ./install.sh with an isolated feature config containing only start-minimized-to-tray, separate output directories, and CODEX_TARGET_ARCH=amd64 / arm64: both passed against signed stable 26.930.61225; both feature descriptors applied cleanly and the executable hook was staged.
  • Broader node --test scripts/patch-linux-window-ui.test.js scripts/lib/linux-features.test.js linux-features/*/test.js: 1003 passed, 18 failed, 2 skipped on Node 26.10.0. All failures reproduced unchanged in the two affected suites on clean upstream cd362d8c (Watchbound staging and the reaper's Wayland-argument expectation).
  • Not manually verified: arm64 runtime, other real desktop sessions, or rebuilt deb/RPM/pacman/AppImage/Nix packages. Upstream UI drift rejects an enabled-feature build; tray visibility remains desktop-dependent. Remote CI is pending.

Checklist

  • This pull request is ready for review and is no longer a draft.
  • I followed CONTRIBUTING.md, kept the change focused, edited source files rather than generated output, and removed unrelated changes.
  • If this fixes upstream drift, it targets only the latest signed stable OpenAI Linux package and removes obsolete fallback code and tests. (Not an upstream-drift fix; validated against current signed stable.)
  • I added or updated relevant tests, ran the validation listed above, and confirmed that required CI checks pass.
  • I reviewed the final diff with my coding agent using maximum reasoning effort, addressed all findings, and reran the relevant tests.

@ilysenko ilysenko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the opt-in startup/tray integration on the current head. The feature is isolated and disabled by default; signed-stable feature builds, focused regression coverage, reported KDE/Wayland runtime validation, and all required CI checks pass.

@ilysenko
ilysenko merged commit 0e0e9ed into ilysenko:main Oct 6, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants