@quenty/chatproviderservice 9.70.0 → 9.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [9.72.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.71.0...@quenty/chatproviderservice@9.72.0) (2026-09-02)
7
+
8
+ **Note:** Version bump only for package @quenty/chatproviderservice
9
+
10
+ # [9.71.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.70.0...@quenty/chatproviderservice@9.71.0) (2026-08-28)
11
+
12
+ **Note:** Version bump only for package @quenty/chatproviderservice
13
+
6
14
  # [9.70.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.69.1...@quenty/chatproviderservice@9.70.0) (2026-08-28)
7
15
 
8
16
  **Note:** Version bump only for package @quenty/chatproviderservice
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/chatproviderservice",
3
- "version": "9.70.0",
3
+ "version": "9.72.0",
4
4
  "description": "Provide wrapper around chat system to allow tags to be set",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -28,38 +28,39 @@
28
28
  "Quenty"
29
29
  ],
30
30
  "dependencies": {
31
- "@quenty/attributeutils": "14.37.0",
31
+ "@quenty/attributeutils": "14.38.0",
32
32
  "@quenty/baseobject": "10.16.0",
33
- "@quenty/binder": "14.44.0",
34
- "@quenty/brio": "14.36.0",
35
- "@quenty/clienttranslator": "14.49.0",
36
- "@quenty/cmdrservice": "13.59.0",
37
- "@quenty/color3utils": "11.47.0",
38
- "@quenty/datastore": "13.54.0",
39
- "@quenty/instanceutils": "13.36.0",
33
+ "@quenty/binder": "14.46.0",
34
+ "@quenty/brio": "14.37.0",
35
+ "@quenty/clienttranslator": "14.51.0",
36
+ "@quenty/cmdrservice": "13.61.0",
37
+ "@quenty/color3utils": "11.49.0",
38
+ "@quenty/datastore": "13.56.0",
39
+ "@quenty/instanceutils": "13.37.0",
40
+ "@quenty/jestutils": "1.1.0",
40
41
  "@quenty/loader": "10.11.1",
41
- "@quenty/localizedtextutils": "12.38.0",
42
+ "@quenty/localizedtextutils": "12.39.0",
42
43
  "@quenty/maid": "3.12.0",
43
44
  "@quenty/nevermore-test-runner": "1.6.0",
44
- "@quenty/permissionprovider": "14.50.0",
45
- "@quenty/playerbinder": "14.47.0",
46
- "@quenty/playermock": "1.7.0",
47
- "@quenty/playerutils": "8.42.0",
45
+ "@quenty/permissionprovider": "14.52.0",
46
+ "@quenty/playerbinder": "14.49.0",
47
+ "@quenty/playermock": "1.9.0",
48
+ "@quenty/playerutils": "8.44.0",
48
49
  "@quenty/preferredparentutils": "4.4.2",
49
50
  "@quenty/promise": "10.24.0",
50
- "@quenty/remoting": "12.42.0",
51
+ "@quenty/remoting": "12.44.0",
51
52
  "@quenty/richtext": "1.4.2",
52
53
  "@quenty/rx": "13.34.0",
53
- "@quenty/rxbinderutils": "14.44.0",
54
+ "@quenty/rxbinderutils": "14.46.0",
54
55
  "@quenty/servicebag": "11.21.0",
55
56
  "@quenty/signal": "7.13.2",
56
57
  "@quenty/string": "3.5.0",
57
58
  "@quenty/table": "3.9.2",
58
- "@quenty/valueobject": "13.37.0",
59
+ "@quenty/valueobject": "13.38.0",
59
60
  "@quentystudios/jest-lua": "3.10.0-quenty.2"
60
61
  },
61
62
  "publishConfig": {
62
63
  "access": "public"
63
64
  },
64
- "gitHead": "f75f93d5b2ac51cf7da3b7599788dcce31fd8a29"
65
+ "gitHead": "278f4ca25486a8ba0601704b27a11da8c77499c9"
65
66
  }
@@ -17,12 +17,13 @@ local ChatTagConstants = require("ChatTagConstants")
17
17
  local ChatTagDataUtils = require("ChatTagDataUtils")
18
18
  local HasChatTagsConstants = require("HasChatTagsConstants")
19
19
  local Jest = require("Jest")
20
+ local JestUtils = require("JestUtils")
21
+ local Maid = require("Maid")
20
22
  local PermissionProviderUtils = require("PermissionProviderUtils")
21
23
  local PermissionService = require("PermissionService")
22
24
  local PlayerMockService = require("PlayerMockService")
23
25
  local ServiceBag = require("ServiceBag")
24
26
 
25
- local afterEach = Jest.Globals.afterEach
26
27
  local describe = Jest.Globals.describe
27
28
  local expect = Jest.Globals.expect
28
29
  local it = Jest.Globals.it
@@ -33,20 +34,8 @@ local DEMO_TAG = ChatTagDataUtils.createChatTagData({
33
34
  TagColor = Color3.fromRGB(245, 163, 27),
34
35
  })
35
36
 
36
- local activeController: any = nil
37
-
38
- afterEach(function()
39
- if activeController then
40
- local controller = activeController
41
- activeController = nil
42
- controller.destroy()
43
- end
44
- end)
45
-
46
37
  local remoteNameCounter = 0
47
38
 
48
- -- Polls rather than observes: the tag arrives through a binder, a permission promise and an Rx chain,
49
- -- and the point of these tests is the end state rather than which hop delivered it.
50
39
  local function waitForTagCount(player: Player, expected: number, timeout: number): number
51
40
  local deadline = os.clock() + timeout
52
41
 
@@ -63,10 +52,9 @@ local function waitForTagCount(player: Player, expected: number, timeout: number
63
52
  return if container then #container:GetChildren() else 0
64
53
  end
65
54
 
66
- -- creatorUserId, when given, makes that user the creator so the built-in developer tag actually
67
- -- applies to them. Left nil, both built-in tags are switched off: they resolve through
68
- -- PermissionService, which is a different question than whether a mock can be tagged at all.
69
55
  local function setup(creatorUserId: number?)
56
+ local maid = Maid.new()
57
+
70
58
  local serviceBag = ServiceBag.new()
71
59
  local container = Instance.new("Folder")
72
60
  container.Name = "ChatProviderServiceSpecContainer"
@@ -103,8 +91,18 @@ local function setup(creatorUserId: number?)
103
91
  end
104
92
  end
105
93
 
106
- local controller
107
- controller = {
94
+ maid:GiveTask(function()
95
+ destroyBag()
96
+
97
+ for _, mock in mocks do
98
+ mock:Destroy()
99
+ end
100
+ table.clear(mocks)
101
+
102
+ container:Destroy()
103
+ end)
104
+
105
+ local controller = {
108
106
  chatProviderService = chatProviderService,
109
107
  newMock = function(userId: number?): Player
110
108
  local mock = playerMockService:CreatePlayer(if userId then { UserId = userId } else nil)
@@ -113,19 +111,13 @@ local function setup(creatorUserId: number?)
113
111
  return mock
114
112
  end,
115
113
  destroyBag = destroyBag,
116
- destroy = function()
117
- destroyBag()
118
-
119
- for _, mock in mocks do
120
- mock:Destroy()
121
- end
122
- table.clear(mocks)
123
-
124
- container:Destroy()
114
+ Destroy = function(_self)
115
+ maid:DoCleaning()
125
116
  end,
126
117
  }
127
118
 
128
- activeController = controller
119
+ maid:GiveTask(JestUtils.afterThis(controller))
120
+
129
121
  return controller
130
122
  end
131
123