[PR #913] [MERGED] Switch to v5 UUIDs as profile GUIDs for the default profiles #24395

Open
opened 2026-01-31 09:03:02 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/913
Author: @DHowett-MSFT
Created: 5/21/2019
Status: Merged
Merged: 5/21/2019
Merged by: @DHowett-MSFT

Base: masterHead: dev/duhowett/uuidv5


📝 Commits (9)

  • 226f6bb Generate UUIDv5s for default profiles
  • fbe1647 add a comment about using memcpy
  • 300d3fa Clean up
  • 242d3ae move to types, add tests, finish almost everything
  • 066edfa vs is good at what it does
  • 395a8c4 Name the test dll something reasonable
  • 74e7eeb Address CR feedback
  • 89f79c7 build it for Windows too
  • e8cef93 more test things, cr

📊 Changes

19 files changed (+285 additions, -13 deletions)

View changed files

📝 OpenConsole.sln (+21 -0)
📝 src/cascadia/TerminalApp/CascadiaSettings.cpp (+28 -4)
📝 src/cascadia/TerminalApp/CascadiaSettings.h (+1 -0)
📝 src/cascadia/TerminalApp/Profile.cpp (+6 -2)
📝 src/cascadia/TerminalApp/Profile.h (+2 -0)
📝 src/common.build.exe.or.dll.props (+1 -1)
📝 src/testlist/Microsoft.Console.Tests.testlist (+1 -0)
📝 src/types/dirs (+1 -1)
📝 src/types/inc/utils.hpp (+30 -0)
📝 src/types/precomp.h (+9 -3)
src/types/ut_types/DefaultResource.rc (+12 -0)
src/types/ut_types/Types.Unit.Tests.vcxproj (+34 -0)
src/types/ut_types/UuidTests.cpp (+46 -0)
src/types/ut_types/product.pbxproj (+4 -0)
src/types/ut_types/sources (+34 -0)
📝 src/types/utils.cpp (+52 -1)
📝 tools/OpenConsole.psm1 (+1 -1)
📝 tools/runut.cmd (+1 -0)
📝 tools/tests.xml (+1 -0)

📄 Description

Summary of the Pull Request

This pull request switches the GUIDs for default profiles from being randomly generated to being version 5 UUIDs. More info in #870.

PR Checklist

Detailed Description of the Pull Request / Additional comments

This pull request has a number of changes that seem ancillary, but they're general goodness. Let me explain:

  • I've added a whole new Types test library with only two tests in
  • Since UUIDv5 generation requires SHA1, we needed to take a dependency on bcrypt
  • I honestly don't think we should have to link bcrypt in conhost, but LTO should take care of that
    • I considered adding a new Terminal-specific Utils/Types library, but that seemed like a waste
  • The best way to link bcrypt turned out to be in line with a discussion @miniksa and I had, where we decided we both love APISets and think that the console should link against them exclusively... so I've added onecore_apiset.lib to the front of the link line, where it will deflect the linker away from most of the other libs automagically.
StartGroup: UuidTests::TestV5UuidU8String
Verify: AreEqual(uuidExpected, uuidActual)
EndGroup: UuidTests::TestV5UuidU8String [Passed]

StartGroup: UuidTests::TestV5UuidU16String
Verify: AreEqual(uuidExpected, uuidActual)
EndGroup: UuidTests::TestV5UuidU16String [Passed]

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/913 **Author:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Created:** 5/21/2019 **Status:** ✅ Merged **Merged:** 5/21/2019 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `dev/duhowett/uuidv5` --- ### 📝 Commits (9) - [`226f6bb`](https://github.com/microsoft/terminal/commit/226f6bbcfadd28c475f2d88cb2d2f569aa118e67) Generate UUIDv5s for default profiles - [`fbe1647`](https://github.com/microsoft/terminal/commit/fbe1647f42cbbf3eb7892656b634314f66e263fc) add a comment about using memcpy - [`300d3fa`](https://github.com/microsoft/terminal/commit/300d3fa25c87b75389bae8f01bd88ac065e2f702) Clean up - [`242d3ae`](https://github.com/microsoft/terminal/commit/242d3aebf6d249c2c5266cdd90fa15c76e9ff7b7) move to types, add tests, finish almost everything - [`066edfa`](https://github.com/microsoft/terminal/commit/066edfa681b1ab8bca7ca99ee2f4ceecaff3f921) vs is good at what it does - [`395a8c4`](https://github.com/microsoft/terminal/commit/395a8c4d3c6f1b0d64c059c49cab150d6f7c4209) Name the test dll something reasonable - [`74e7eeb`](https://github.com/microsoft/terminal/commit/74e7eeb292275f77857d7e4ba9998fabe7bf8b65) Address CR feedback - [`89f79c7`](https://github.com/microsoft/terminal/commit/89f79c7dc9a200f02ba4db6847f34a6956bc5e85) build it for Windows too - [`e8cef93`](https://github.com/microsoft/terminal/commit/e8cef9385630cec008519d7df55811b32e3e288e) more test things, cr ### 📊 Changes **19 files changed** (+285 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `OpenConsole.sln` (+21 -0) 📝 `src/cascadia/TerminalApp/CascadiaSettings.cpp` (+28 -4) 📝 `src/cascadia/TerminalApp/CascadiaSettings.h` (+1 -0) 📝 `src/cascadia/TerminalApp/Profile.cpp` (+6 -2) 📝 `src/cascadia/TerminalApp/Profile.h` (+2 -0) 📝 `src/common.build.exe.or.dll.props` (+1 -1) 📝 `src/testlist/Microsoft.Console.Tests.testlist` (+1 -0) 📝 `src/types/dirs` (+1 -1) 📝 `src/types/inc/utils.hpp` (+30 -0) 📝 `src/types/precomp.h` (+9 -3) ➕ `src/types/ut_types/DefaultResource.rc` (+12 -0) ➕ `src/types/ut_types/Types.Unit.Tests.vcxproj` (+34 -0) ➕ `src/types/ut_types/UuidTests.cpp` (+46 -0) ➕ `src/types/ut_types/product.pbxproj` (+4 -0) ➕ `src/types/ut_types/sources` (+34 -0) 📝 `src/types/utils.cpp` (+52 -1) 📝 `tools/OpenConsole.psm1` (+1 -1) 📝 `tools/runut.cmd` (+1 -0) 📝 `tools/tests.xml` (+1 -0) </details> ### 📄 Description ## Summary of the Pull Request This pull request switches the GUIDs for default profiles from being randomly generated to being version 5 UUIDs. More info in #870. ## PR Checklist * [x] Closes #870 * [x] CLA signed * [x] Tests added/passed * [x] Requires documentation to be updated (#883) * [x] I've discussed this with core contributors already. ## Detailed Description of the Pull Request / Additional comments This pull request has a number of changes that seem ancillary, but they're general goodness. Let me explain: * I've added a whole new Types test library with only two tests in * Since UUIDv5 generation requires SHA1, we needed to take a dependency on bcrypt * I honestly don't think we should have to link bcrypt in conhost, but LTO should take care of that * I considered adding a new Terminal-specific Utils/Types library, but that seemed like a waste * The best way to link bcrypt turned out to be in line with a discussion @miniksa and I had, where we decided we both love APISets and think that the console should link against them exclusively... so I've added `onecore_apiset.lib` to the front of the link line, where it will deflect the linker away from most of the other libs automagically. ``` StartGroup: UuidTests::TestV5UuidU8String Verify: AreEqual(uuidExpected, uuidActual) EndGroup: UuidTests::TestV5UuidU8String [Passed] StartGroup: UuidTests::TestV5UuidU16String Verify: AreEqual(uuidExpected, uuidActual) EndGroup: UuidTests::TestV5UuidU16String [Passed] ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:03:02 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#24395