@quenty/chatproviderservice 9.69.1 → 9.71.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 +8 -0
- package/package.json +26 -25
- package/src/Server/ChatProviderService.spec.lua +20 -28
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.71.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.70.0...@quenty/chatproviderservice@9.71.0) (2026-08-28)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @quenty/chatproviderservice
|
|
9
|
+
|
|
10
|
+
# [9.70.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.69.1...@quenty/chatproviderservice@9.70.0) (2026-08-28)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @quenty/chatproviderservice
|
|
13
|
+
|
|
6
14
|
## [9.69.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.69.0...@quenty/chatproviderservice@9.69.1) (2026-08-24)
|
|
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.
|
|
3
|
+
"version": "9.71.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.
|
|
32
|
-
"@quenty/baseobject": "10.
|
|
33
|
-
"@quenty/binder": "14.
|
|
34
|
-
"@quenty/brio": "14.
|
|
35
|
-
"@quenty/clienttranslator": "14.
|
|
36
|
-
"@quenty/cmdrservice": "13.
|
|
37
|
-
"@quenty/color3utils": "11.
|
|
38
|
-
"@quenty/datastore": "13.
|
|
39
|
-
"@quenty/instanceutils": "13.
|
|
31
|
+
"@quenty/attributeutils": "14.38.0",
|
|
32
|
+
"@quenty/baseobject": "10.16.0",
|
|
33
|
+
"@quenty/binder": "14.45.0",
|
|
34
|
+
"@quenty/brio": "14.37.0",
|
|
35
|
+
"@quenty/clienttranslator": "14.50.0",
|
|
36
|
+
"@quenty/cmdrservice": "13.60.0",
|
|
37
|
+
"@quenty/color3utils": "11.48.0",
|
|
38
|
+
"@quenty/datastore": "13.55.0",
|
|
39
|
+
"@quenty/instanceutils": "13.37.0",
|
|
40
|
+
"@quenty/jestutils": "1.1.0",
|
|
40
41
|
"@quenty/loader": "10.11.1",
|
|
41
|
-
"@quenty/localizedtextutils": "12.
|
|
42
|
-
"@quenty/maid": "3.
|
|
43
|
-
"@quenty/nevermore-test-runner": "1.
|
|
44
|
-
"@quenty/permissionprovider": "14.
|
|
45
|
-
"@quenty/playerbinder": "14.
|
|
46
|
-
"@quenty/playermock": "1.
|
|
47
|
-
"@quenty/playerutils": "8.
|
|
42
|
+
"@quenty/localizedtextutils": "12.39.0",
|
|
43
|
+
"@quenty/maid": "3.12.0",
|
|
44
|
+
"@quenty/nevermore-test-runner": "1.6.0",
|
|
45
|
+
"@quenty/permissionprovider": "14.51.0",
|
|
46
|
+
"@quenty/playerbinder": "14.48.0",
|
|
47
|
+
"@quenty/playermock": "1.8.0",
|
|
48
|
+
"@quenty/playerutils": "8.43.0",
|
|
48
49
|
"@quenty/preferredparentutils": "4.4.2",
|
|
49
|
-
"@quenty/promise": "10.
|
|
50
|
-
"@quenty/remoting": "12.
|
|
50
|
+
"@quenty/promise": "10.24.0",
|
|
51
|
+
"@quenty/remoting": "12.43.0",
|
|
51
52
|
"@quenty/richtext": "1.4.2",
|
|
52
|
-
"@quenty/rx": "13.
|
|
53
|
-
"@quenty/rxbinderutils": "14.
|
|
54
|
-
"@quenty/servicebag": "11.
|
|
53
|
+
"@quenty/rx": "13.34.0",
|
|
54
|
+
"@quenty/rxbinderutils": "14.45.0",
|
|
55
|
+
"@quenty/servicebag": "11.21.0",
|
|
55
56
|
"@quenty/signal": "7.13.2",
|
|
56
|
-
"@quenty/string": "3.
|
|
57
|
+
"@quenty/string": "3.5.0",
|
|
57
58
|
"@quenty/table": "3.9.2",
|
|
58
|
-
"@quenty/valueobject": "13.
|
|
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": "
|
|
65
|
+
"gitHead": "346201e192e467cb71160f43029863853be855b5"
|
|
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
|
-
|
|
107
|
-
|
|
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
|
-
|
|
117
|
-
|
|
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
|
-
|
|
119
|
+
maid:GiveTask(JestUtils.afterThis(controller))
|
|
120
|
+
|
|
129
121
|
return controller
|
|
130
122
|
end
|
|
131
123
|
|