diff --git a/backend/apps/help/changelog.py b/backend/apps/help/changelog.py index e9c4f1fc..fdafbafd 100644 --- a/backend/apps/help/changelog.py +++ b/backend/apps/help/changelog.py @@ -21,6 +21,23 @@ P_RELEASES: List[ReleaseNote] = [ # Only lines that are true of the built app belong here. This one file feeds the in-app card, the # GitHub body AND the Help agent's context, so a line written for a planned feature becomes the # agent confidently describing something that does not exist. + ReleaseNote( + version="1.7.10-exp.4", + headline="Answers type out steadily, installs show their progress, the dock stays readable with dozens of chats, and Anthropic keys that span workspaces work.", + highlights=[ + "Answers type out steadily instead of arriving in word-sized lumps, and a chat you open while a reply is already being written shows the text so far instead of a blank wait.", + "Installing from the marketplace shows a ring that fills as the package downloads, then Open. An ordinary app installs in one click; only a blocking finding or a key you need to supply asks first.", + "The dock stays readable with dozens of chats: tiles never shrink below a legible size, scrolling settles on whole tiles, and the edges say how many chats are above or below and page there on click.", + "Anthropic API keys that can act in more than one workspace now work. Enter the Workspace ID next to the key in Settings, Models; the chat card names this when a key needs it.", + ], + fixes=[ + "A quiet breathing mark replaces the word Thinking while the model works; a word appears only when there is a real step to name.", + "A streamed reply no longer re-types itself from the start when it finishes, and its actions wait until the text has settled.", + "Moving, zooming and dragging cards on a busy board no longer stutters on the first frame: collapsed tool output leaves the page, hovering no longer restyles a whole card, and screenshots are encoded off the gesture path.", + "App servers left behind by a backend that died are cleaned up again on packaged builds.", + "The marketplace review sheet leads with one line and folds the details; Install, Open and Installed are the only words on a package.", + ], + ), ReleaseNote( version="1.7.10-exp.3", headline="Answers stream smoothly while you scroll, long chats stay alive, and Windows can stop antivirus breaking the app.", diff --git a/backend/tests/test_tool_search_flag_every_lane.py b/backend/tests/test_tool_search_flag_every_lane.py index 0fd04fe2..d9ba6879 100644 --- a/backend/tests/test_tool_search_flag_every_lane.py +++ b/backend/tests/test_tool_search_flag_every_lane.py @@ -36,11 +36,11 @@ def test_it_never_overrides_a_branch_that_set_it_deliberately(): def test_it_survives_a_branch_that_ships_only_one_key(): - """The direct-api-key lane is literally `{"ANTHROPIC_API_KEY": ...}`; that is the shape that - was missing the flag, and the same shape the base-override seam already had to be fixed for.""" + """The direct-api-key lane ships only the key (plus the workspace header when one is set); that is + the shape that was missing the flag, and the same shape the base-override seam already had to be fixed for.""" src = p_src() - assert '{"ANTHROPIC_API_KEY": global_settings.anthropic_api_key}' in src - i = src.index('{"ANTHROPIC_API_KEY": global_settings.anthropic_api_key}') + assert 'options_kwargs["env"] = p_own_key_cli_env_fallback(global_settings)' in src + i = src.index('options_kwargs["env"] = p_own_key_cli_env_fallback(global_settings)') j = src.index('p_env.setdefault("ENABLE_TOOL_SEARCH", "auto")') assert i < j, "the setdefault runs after that branch assigns its env"