<story><title>MS Teams channels cannot contain MS-DOS device names</title><url>https://learn.microsoft.com/en-us/microsoftteams/limits-specifications-teams</url></story><parent_chain><item><author>eastbound</author><text>Those should obviously be UUIDs. Labels and titles should be a simple changeable, internationalizable attribute.&lt;p&gt;Like usernames. You don’t use usernames as primary keys for anything, do you? What happens when people marry?</text></item><item><author>thefz</author><text>&amp;gt; essentially leaking the existence of something terrible inside&lt;p&gt;It&amp;#x27;s just a restriction imposed on SharePoint folder names bubbling up. Nothing fancy.</text></item><item><author>Brian_K_White</author><text>I was about to say &amp;quot;Which is essentially leaking the existence of something terrible inside. They should be embarrassed to say something like this in public. Like saying you can&amp;#x27;t have %s or $PS1. Why the hell not? What are you doing with this user-supplied input?&amp;quot;&lt;p&gt;But maybe it&amp;#x27;s more about what everyone else might do with a channel name. Ie they might cut &amp;amp; paste it anywhere, and I guess windows users aren&amp;#x27;t expected to escape their own strings when pasted into cmd or powershell or wsl.&lt;p&gt;The teams code itself can probably handle it just fine, but maybe not all the unknown janky random things out there that might handle channel names.&lt;p&gt;Other people have pointed out the SharePoint folders associated with the channels. Not sure I would excuse that myself since it&amp;#x27;s easy enough to just escape or modify or encode to create a safe version for the directory, but maybe it&amp;#x27;s important elsewhere for the channel name and the directory name to be identical. Within one app you could simply encode and decode both the channel name and directory name the same way and totally hide the encoding from the user, but if the directory is used outside of the app, then it would look bad with URL encoding or something that everything else will just display as it is, not decoded.&lt;p&gt;So the directory has to be safe for everything else, and so the channel name has to be the same.&lt;p&gt;Essentially choosing to have these limits rather than have directory names that look ugly sometimes. It&amp;#x27;s ultimately not even a safety or breakage thing, just a cosmetic thing. All directories will always look natural and good, because they don&amp;#x27;t allow anything that would have needed to be encoded.</text></item></parent_chain><comment><author>jdwithit</author><text>Extremely relatable post. I worked someplace that had a policy of absolutely never changing your Active Directory username because it was the primary key in like a dozen internal systems. Someone finally made a massive stink about it to HR when their name had legally changed but IT was forcing them to use their old name (and they were absolutely right to complain. It was a ridiculous policy only in place due to terrible architecture). They still defaulted to telling people no but they did at least document all the highly tedious manual steps necessary to change the name in all affected systems if (when) another employee refused to take no for an answer.&lt;p&gt;Was certainly a great lesson in schema design, among other things.</text></comment>
<story><title>MS Teams channels cannot contain MS-DOS device names</title><url>https://learn.microsoft.com/en-us/microsoftteams/limits-specifications-teams</url></story><parent_chain><item><author>eastbound</author><text>Those should obviously be UUIDs. Labels and titles should be a simple changeable, internationalizable attribute.&lt;p&gt;Like usernames. You don’t use usernames as primary keys for anything, do you? What happens when people marry?</text></item><item><author>thefz</author><text>&amp;gt; essentially leaking the existence of something terrible inside&lt;p&gt;It&amp;#x27;s just a restriction imposed on SharePoint folder names bubbling up. Nothing fancy.</text></item><item><author>Brian_K_White</author><text>I was about to say &amp;quot;Which is essentially leaking the existence of something terrible inside. They should be embarrassed to say something like this in public. Like saying you can&amp;#x27;t have %s or $PS1. Why the hell not? What are you doing with this user-supplied input?&amp;quot;&lt;p&gt;But maybe it&amp;#x27;s more about what everyone else might do with a channel name. Ie they might cut &amp;amp; paste it anywhere, and I guess windows users aren&amp;#x27;t expected to escape their own strings when pasted into cmd or powershell or wsl.&lt;p&gt;The teams code itself can probably handle it just fine, but maybe not all the unknown janky random things out there that might handle channel names.&lt;p&gt;Other people have pointed out the SharePoint folders associated with the channels. Not sure I would excuse that myself since it&amp;#x27;s easy enough to just escape or modify or encode to create a safe version for the directory, but maybe it&amp;#x27;s important elsewhere for the channel name and the directory name to be identical. Within one app you could simply encode and decode both the channel name and directory name the same way and totally hide the encoding from the user, but if the directory is used outside of the app, then it would look bad with URL encoding or something that everything else will just display as it is, not decoded.&lt;p&gt;So the directory has to be safe for everything else, and so the channel name has to be the same.&lt;p&gt;Essentially choosing to have these limits rather than have directory names that look ugly sometimes. It&amp;#x27;s ultimately not even a safety or breakage thing, just a cosmetic thing. All directories will always look natural and good, because they don&amp;#x27;t allow anything that would have needed to be encoded.</text></item></parent_chain><comment><author>SoftTalker</author><text>&amp;gt; You don’t use usernames as primary keys for anything, do you?&lt;p&gt;HAHAHAHHHAAHAHA&lt;p&gt;Seen this so many times I literally laughed out loud.</text></comment>