-
edy authored
Port Feishu channel integration from Windows client: - Add Feishu Mobile config injection (injectFeishuChannelConfig) - Add expert agent injection from manifest (injectExpertAgents) - Add Feishu channel session merging (mergeChannelSessions) - Add isChannelSession flag to ProjectSessionSummary - Add listChannelSessions to gateway-client - Add Feishu guards in sendPrompt/streamPrompt - Add Feishu session tag in sidebar (SessionList.tsx) - Disable composer for channel sessions (ChatComposer.tsx) - Add Feishu Mobile env vars to project model runtime Fix blank assistant replies when model API fails: - gateway-client: keep pending run alive when chat final has empty content - renderer: don't finalize stream on empty completed event - renderer: add 45s timeout fallback if error never arrives - renderer: surface error message in failActiveStream fallback chain Code review fixes: - Add safeClone() helper to prevent original config mutation - Deduplicate concurrent ensureLocalTranscript calls (transcriptInFlight) - Call closeSession for Feishu sessions (server-side cleanup) - Extract isChannelSessionId() helper to replace magic string - Cache expert manifest read once per process lifetime - Parallelize Feishu secret fetches with Promise.all - Reuse resolveExpertPromptsRoot and ExpertManifestRecord from expert-catalog - Use appropriate log levels (console.log/warn vs console.error) - Add diagnostic logging at gateway-client, IPC, and renderer levels Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
0d0a22ea
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| assets/expert-prompts | ||
| bootstrap/prompts | ||
| build | ||
| src | ||
| test | ||
| electron-builder.yml | ||
| package.json | ||
| tsconfig.json | ||
| tsup.config.ts |