* fix(tui): repaint composer after macOS input
* feat(tui): add compact conversation history
* fix(tui): repaint messages after streaming and scroll
* fix(tui): polish history focus and scrollbar styling
_start_conductor built DETACHED_PROCESS/CREATE_NEW_PROCESS_GROUP before the
os.name=='nt' branch, causing AttributeError and crashing Conductor autostart
on Ubuntu. Keep those flags Windows-only; Linux uses start_new_session.
Rebuild the compiled renderer from abraxas914/GenericAgent source
commit 9fe5d69b85cfad8778ace84b6f69bc75f9e0d392, refreshing:
- New-chat default model tag: the selected-model badge in Settings
and the composer now read '新会话默认' / 'New chat default'.
- Model selectors display the configured profile name (备注名) so the
same model served by different providers is distinguishable.
- desktop_bridge: syncing mixin llm_nos references when a profile is
renamed, preventing orphan references in the mixin config.
- Release publisher sets GH_REPO so 'gh release create' resolves the
target repository without checking out source, satisfying the
publisher security contract while fixing the prerelease step.
Provenance and verifier updated to the new source commit and the
LF-normalized content manifest (98 generated assets).
Streamlit >=1.62 resets a fragment's outside-container wrapper cursor to 0
on every fragment rerun and GCs children not re-emitted, so incremental
appends (_stream_frozen) lost folded expanders mid-stream. Merge _stream_ls
into the single _stream_fh host and repaint expanders + live tail every
tick; the unconditional write also claims the slot on the initial run
(no 'could not reserve a stable position') and removes the empty
placeholder that pushed the first reply's bubble down.
Add a user-triggered desktop action to copy the current GA workspace to a chosen location and verify the bridge actually switches there before reporting success.
- wrap chatapp_common/continue_cmd/btw_cmd/export_cmd in one try/ImportError
- guard /new /continue /btw; /export help+all still work via agent.log_path
- bus port (19736): WebSocket only, all HTTP returns 404
- panel port (GA_HUB_WEB_PORT, default 19737): token via ?t= or cookie, /ws rejected
- token from GA_HUB_TOKEN or random 6 chars, printed on startup
- drop dead /api/ev HTTP endpoint (zero callers; bus ev goes over WS)
- pet: inline single-instance lock; CJK-aware title width
Expose the backend-supported max reasoning level in the /effort picker and document its protocol mappings.
Co-Authored-By: GenericAgent <bot@gaagent.ai>
Closes#683 — switching to a session whose agent is still
streaming left the viewport pinned near the user's last message
instead of jumping to the latest draft. Mirror the existing
refreshEmptyState(sess); scrollBottom(true) pattern from
sibling render paths so setActiveSession lands at the bottom.