Skip to content

1.34: browser_set_group_label - name your tab group (#91) - #96

Draft
GLouv wants to merge 6 commits into
fix/1.34-get-new-tabfrom
feat/1.34-group-label
Draft

GLouv wants to merge 6 commits into
fix/1.34-get-new-tabfrom
feat/1.34-group-label

Conversation

@GLouv

@GLouv GLouv commented Oct 29, 2026

Copy link
Copy Markdown
Member

Closes #91. Stacked on #94 (which is stacked on #77); retarget as those merge.

Before. Every session's tab group was titled Claude N, and the title was rebuilt as Claude N whenever Chrome restarted the extension in the background, so a rename in Chrome did not last and no tool could set it.

Now. browser_set_group_label({ label, color? }):

  • sets the session's title (up to 30 characters, control characters removed) and optionally its colour (Chrome's nine group colours; anything else is refused and nothing changes),
  • updates the group right away if it exists, otherwise the name is used when the first tab is grouped,
  • is saved with a mark so the name is kept on restore; an empty label gives Claude N back. Default names are still rebuilt from the session number.

That makes 42 tools: every current count moved from 41 (README tables and counts, manifests, registry files, llms, content and generated docs, image sources), and the tools page and install pages list the new tool. The store images need re-rendering with 42 before the 1.34 store draft.

Tests. test/gruppenavn.test.mjs: 6 tests, red before. 5 of 5 mutants killed. 1589/1589 in the extension harness and the text guards; docs gate and competitor guard green; the server lists 42 tools.

🤖 Generated with Claude Code

Gustav Louv and others added 6 commits October 30, 2026 00:51
…e name survives a restart (#91)

With several agents, every group said Claude 1, Claude 2, and restoreSessions rebuilt the title as Claude N after Chrome
restarted the extension, so a rename did not last. The new tool sets the session's label (up to 30 characters, control
characters removed) and optionally its colour (Chrome's nine group colours), updates the group if it exists, and saves an
egetNavn mark so restore keeps it. An empty label gives Claude N back; default names are still rebuilt from the number (22/8).

42 tools: every current count moved from 41 (README tables and counts, manifests, registry files, llms, content and the
generated docs, image sources); tools page and install pages list the tool. Tests: test/gruppenavn.test.mjs (6, red before);
5 of 5 mutants killed; 1589/1589 in the harness and text guards; docs gate and competitor guard green; server lists 42 tools.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es into egetNavnFraLager

CI on c772ce0: test/sessioner.test.mjs's source guard (22/8: default names follow the session number) was red, because restore's
label/color lines were rewritten. They are back as they were; a helper spread after them overrides label and colour only when
the session carries the egetNavn mark. Full suite locally 1900/1900; gruppenavn 6/6, helper mutant killed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ion keeps the name, flow covers the 42nd tool

Opus R186 (GODKENDT MED RETTELSER):
- popup.js put session.label, the action log's session/method and tab titles into innerHTML raw; with #91 the label is the
  agent's text (CSP blocks scripts, not styles or images). All are escaped now; a source guard in installation-og-popup.
- hydrerSessionerRaat dropped egetNavn, so a tab the user closed while the worker slept lost the name. Kept now; a test
  restarts twice and closes a tab in between (also kills the 'tool does not save' and 'restore drops the mark' mutants).
- test/flow/run.mjs probes browser_set_group_label, so the flow gate's coverage is 42 of 42 again.
- The last five sources with 41 in a form the docs gate did not see now say 42 tools; CONTRIBUTING too.
- The name drops format characters, turns control/space runs into one space and cuts at 30 characters, not UTF-16 units;
  a name like another session's Claude N is refused (reserved-label); errors carry ok:false; an empty name resets the colour.
- Texts: the no-group note and the tool description say a session without tabs is not kept; CHANGELOG wording corrected.

Full suite locally 1906/1906; docs gate and competitor guard green.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ult, not an own name; the popup test runs the popup

Opus R187 (GODKENDT MED RETTELSER): {label:'claude 1'} on session 1 was stored as an own name and restored verbatim, so after
a renumbering two groups were called Claude 1 in blue again (22/8). The session's own default form now resets to the default;
lone surrogates in the input are dropped. New tests (red before): two groups never share a name after renumbering; a lone
surrogate never reaches Chrome; the popup is executed with hostile labels, addresses and log entries and shows them as text.
Docs and CHANGELOG say tab addresses (not titles) and list reserved-label.

Full suite locally 1909/1909; docs gate green.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant