Limit usage of special characters in status name

Problem Description

Currently, the custom status feature allows unrestricted use of special characters in status names, which can lead to various issues including parsing conflicts, display problems, and user confusion. There's a need to establish clear guidelines and validation for what characters are permitted in status names.

Current Behavior

  • Status names can contain any characters including quotes, special symbols, and potentially problematic characters
  • No validation or restrictions on character usage
  • Can create conflicts with quick action parsing (e.g., quotes in /status commands)
  • May cause display or rendering issues in different contexts

Expected Behavior

  1. Character Validation: Implement restrictions on special characters in status names during creation/editing
  2. Clear Error Messages: Provide helpful feedback when users attempt to use prohibited characters (maybe even while typing, e.g. preventing certain characters)
  3. Consistent Parsing: Ensure allowed characters don't interfere with quick action functionality
  4. Backward Compatibility: Handle existing status names that may contain now-prohibited characters

Proposed Character Restrictions

Prohibited Characters (Examples)

  • Leading/trailing quotes (", also `) - conflicts with quick action parsing
  • Control characters and non-printable characters
  • Characters that could break parsing or display logic
  • Platform-specific problematic characters

Allowed Characters

  • Alphanumeric characters (a-z, A-Z, 0-9)
  • Spaces and common punctuation
  • Emojis and Unicode symbols
  • Commonly used special characters that don't conflict with system parsing

Migration Strategy

For existing status names with prohibited characters:

  • Grandfathering - allow existing names but prevent new ones
Edited by 🤖 GitLab Bot 🤖