Skip to content

fix(core-storage): drop the 64-character cap on connection group names - #3994

Merged
datlechin merged 2 commits into
mainfrom
fix/core-group-name-length
Nov 2, 2026
Merged

datlechin merged 2 commits into
mainfrom
fix/core-group-name-length

Conversation

@datlechin

@datlechin datlechin commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Summary

  • ConnectionGroupName has no length limit, so a macOS group name round-trips unchanged.
  • Reading a stored group name no longer cuts it at 64 characters. Control characters still become spaces and a blank name is still refused.
  • Removed ConnectionGroupName::MAX_CHARS and GroupNameError::TooLong (code group_name.too_long).
  • name_rules::checked and cleaned take no limit. ConnectionTagName keeps its 32 cap by checking and cutting on its own.
  • Linux New Group dialog accepts names past 64 characters.
  • ADR 0006 and linux/docs/storage.md no longer state the cap.
  • Linux changelog fragment 3994.changed.md.

Test plan

Tests changed on purpose because they pinned the 64 cap:

  • connection_group_name: group_name_rejects_blank_long_and_control_characters is now group_name_rejects_blank_and_control_characters; the_limit_counts_characters_not_bytes is now a_name_of_any_length_is_kept_whole; a_stored_name_is_cleaned_rather_than_refused drops the cut case.
  • group_name_error::each_name_error_has_a_code_of_its_own drops group_name.too_long.
  • connections::a_group_an_earlier_build_wrote_past_the_limits_still_loads is now a_long_group_loads_whole_and_control_characters_are_cleaned.
  • legacy_groups::a_name_too_long_or_with_control_characters_is_cleaned_first is now a_long_name_is_kept_and_control_characters_are_cleaned_first.
  • name_rules::a_name_is_trimmed_and_checked_in_characters and a_stored_name_loses_control_characters_and_the_excess drop the length cases; the tag's character count moved to connection_tag_name::the_limit_counts_characters_not_bytes.
  • Linux new_group_create_response_disabled_until_valid_unique_name: a 200-character name now enables Create.

Checks:

  • cargo test -p tablepro-storage -p tablepro-mcp and clippy on both pass on macOS.
  • The Linux app crate does not build on macOS (glycin-common), so its widget test runs in CI.

@datlechin
datlechin enabled auto-merge (squash) November 2, 2026 16:53
@datlechin
datlechin disabled auto-merge November 2, 2026 20:52
@datlechin
datlechin merged commit a6da602 into main Nov 2, 2026
60 of 63 checks passed
@datlechin
datlechin deleted the fix/core-group-name-length branch November 2, 2026 21:29
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