Skip to content

feat(desktop): add QQ settings entry#1241

Merged
esengine merged 1 commit into
esengine:mainfrom
wade19990814-hue:codex/desktop-qq-settings
May 18, 2026
Merged

feat(desktop): add QQ settings entry#1241
esengine merged 1 commit into
esengine:mainfrom
wade19990814-hue:codex/desktop-qq-settings

Conversation

@wade19990814-hue

Copy link
Copy Markdown
Contributor

Closes #1218.

Summary

  • add a QQ Channel row at the bottom of Settings -> General
  • add a second-level desktop configure view for App ID, App Secret, and Sandbox
  • keep desktop aligned with the existing QQ control surface: connect, status, disconnect
  • persist through the existing loadQQConfig / saveQQConfig path with no new desktop secret store

Notes

  • this is a desktop settings front-end only
  • it does not add a desktop QQ session mode or a chat-surface QQ panel
  • it does not change the underlying QQ channel behavior

Verification

  • npm test -- --run tests/qq-config.test.ts tests/desktop-qq-config.test.ts tests/desktop-qq-settings-ui.test.ts
  • npm run typecheck
  • npm run lint
  • npm --prefix desktop run build

Local verify note

  • npm run verify still hits the existing tests/code-prompt.test.ts failure in this environment (expected 30744 to be less than 29387)
  • the QQ desktop changes themselves passed the targeted checks above

@esengine esengine merged commit f9d56f7 into esengine:main May 18, 2026
4 checks passed
@esengine

Copy link
Copy Markdown
Owner

Thanks @wade19990814-hue — this stays exactly inside the scope we agreed on in #1218: a thin desktop front-end over the existing loadQQConfig / saveQQConfig path, no new secret store, no chat-surface bleed, and the underlying channel implementation untouched. The setDesktopQQEnabled guard refusing to flip the flag without credentials is a nice safety net. Tests cover the right boundaries. Merged. Closes #1218.

One small thing for a follow-up only if you feel like it (not blocking): in the desktop context qq_connect flips the persisted enabled flag rather than driving a live websocket (the desktop process doesn't host a QQ runtime today). The "Connected" / "Disconnected" labels mean "enabled in config" — which is the right behaviour for the scope we picked, but if it turns out to confuse users the labels could shift to "Enabled" / "Disabled" later.

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.

desktop: discuss a minimal settings entry for the native QQ channel

2 participants