@quenty/chatproviderservice 9.53.0 → 9.54.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,16 @@
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.54.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.53.0...@quenty/chatproviderservice@9.54.0) (2026-07-14)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **lint:** resolve selene and moonwave issues from strict conversions ([d427005](https://github.com/Quenty/NevermoreEngine/commit/d42700569ecb085fee4166c5bfdad382dd8442c2))
11
+
12
+ ### Features
13
+
14
+ - **chatproviderservice:** convert package to --!strict ([3edae04](https://github.com/Quenty/NevermoreEngine/commit/3edae04e44a9bcda2cf43367719d67fb08769fa4))
15
+
6
16
  # [9.53.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.52.2...@quenty/chatproviderservice@9.53.0) (2026-06-24)
7
17
 
8
18
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/chatproviderservice",
3
- "version": "9.53.0",
3
+ "version": "9.54.0",
4
4
  "description": "Provide wrapper around chat system to allow tags to be set",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -30,26 +30,26 @@
30
30
  "dependencies": {
31
31
  "@quenty/attributeutils": "14.30.1",
32
32
  "@quenty/baseobject": "10.13.0",
33
- "@quenty/binder": "14.36.1",
33
+ "@quenty/binder": "14.37.0",
34
34
  "@quenty/brio": "14.30.1",
35
- "@quenty/clienttranslator": "14.37.1",
36
- "@quenty/cmdrservice": "13.45.2",
37
- "@quenty/color3utils": "11.36.1",
38
- "@quenty/datastore": "13.39.1",
35
+ "@quenty/clienttranslator": "14.38.0",
36
+ "@quenty/cmdrservice": "13.46.0",
37
+ "@quenty/color3utils": "11.37.0",
38
+ "@quenty/datastore": "13.40.0",
39
39
  "@quenty/instanceutils": "13.30.1",
40
40
  "@quenty/loader": "10.11.0",
41
- "@quenty/localizedtextutils": "12.30.1",
41
+ "@quenty/localizedtextutils": "12.31.0",
42
42
  "@quenty/maid": "3.9.0",
43
43
  "@quenty/nevermore-test-runner": "1.4.0",
44
- "@quenty/permissionprovider": "14.38.2",
45
- "@quenty/playerbinder": "14.36.1",
44
+ "@quenty/permissionprovider": "14.39.0",
45
+ "@quenty/playerbinder": "14.37.0",
46
46
  "@quenty/playerutils": "8.32.1",
47
47
  "@quenty/preferredparentutils": "4.4.2",
48
48
  "@quenty/promise": "10.18.1",
49
49
  "@quenty/remoting": "12.32.1",
50
50
  "@quenty/richtext": "1.4.2",
51
51
  "@quenty/rx": "13.28.3",
52
- "@quenty/rxbinderutils": "14.36.1",
52
+ "@quenty/rxbinderutils": "14.37.0",
53
53
  "@quenty/servicebag": "11.18.1",
54
54
  "@quenty/signal": "7.13.1",
55
55
  "@quenty/string": "3.3.7",
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "a747ded006c16f0cc72dfcdf0256b9f0a9b161bf"
63
+ "gitHead": "13f0162f4971a77378e55e9b7236aea94f0dd3a8"
64
64
  }
@@ -1,4 +1,4 @@
1
- --!nonstrict
1
+ --!strict
2
2
  --[=[
3
3
  @class ChatProviderServiceClient
4
4
  ]=]
@@ -9,6 +9,8 @@ local HttpService = game:GetService("HttpService")
9
9
  local Players = game:GetService("Players")
10
10
  local TextChatService = game:GetService("TextChatService")
11
11
 
12
+ local Binder = require("Binder")
13
+ local HasChatTagsClient = require("HasChatTagsClient")
12
14
  local Maid = require("Maid")
13
15
  local ServiceBag = require("ServiceBag")
14
16
  local Signal = require("Signal")
@@ -18,13 +20,23 @@ local TextChannelUtils = require("TextChannelUtils")
18
20
  local ChatProviderServiceClient = {}
19
21
  ChatProviderServiceClient.ServiceName = "ChatProviderServiceClient"
20
22
 
21
- function ChatProviderServiceClient:Init(serviceBag: ServiceBag.ServiceBag)
22
- assert(not self._serviceBag, "Already initialized")
23
+ export type ChatProviderServiceClient = typeof(setmetatable(
24
+ {} :: {
25
+ _serviceBag: ServiceBag.ServiceBag,
26
+ _maid: Maid.Maid,
27
+ MessageIncoming: Signal.Signal<TextChatMessage>,
28
+ _hasChatTagsBinder: Binder.Binder<HasChatTagsClient.HasChatTagsClient>,
29
+ },
30
+ {} :: typeof({ __index = ChatProviderServiceClient })
31
+ ))
32
+
33
+ function ChatProviderServiceClient.Init(self: ChatProviderServiceClient, serviceBag: ServiceBag.ServiceBag): ()
34
+ assert(not (self :: any)._serviceBag, "Already initialized")
23
35
  self._serviceBag = assert(serviceBag, "No serviceBag")
24
36
  self._maid = Maid.new()
25
37
 
26
38
  -- State
27
- self.MessageIncoming = self._maid:Add(Signal.new())
39
+ self.MessageIncoming = self._maid:Add((Signal.new() :: any) :: Signal.Signal<TextChatMessage>)
28
40
 
29
41
  -- External
30
42
  self._serviceBag:GetService(require("CmdrServiceClient"))
@@ -33,11 +45,11 @@ function ChatProviderServiceClient:Init(serviceBag: ServiceBag.ServiceBag)
33
45
  self._serviceBag:GetService(require("ChatTagClient"))
34
46
  self._serviceBag:GetService(require("ChatProviderTranslator"))
35
47
  self._serviceBag:GetService(require("ChatProviderCommandServiceClient"))
36
- self._hasChatTagsBinder = self._serviceBag:GetService(require("HasChatTagsClient"))
48
+ self._hasChatTagsBinder = self._serviceBag:GetService(HasChatTagsClient)
37
49
  end
38
50
 
39
- function ChatProviderServiceClient:Start()
40
- TextChatService.OnIncomingMessage = function(textChatMessage)
51
+ function ChatProviderServiceClient.Start(self: ChatProviderServiceClient): ()
52
+ TextChatService.OnIncomingMessage = function(textChatMessage): TextChatMessageProperties?
41
53
  self.MessageIncoming:Fire(textChatMessage)
42
54
 
43
55
  local metadata = textChatMessage.Metadata
@@ -63,10 +75,10 @@ function ChatProviderServiceClient:Start()
63
75
 
64
76
  local textSource = textChatMessage.TextSource
65
77
  if not textSource then
66
- return
78
+ return nil
67
79
  end
68
80
 
69
- local tags = self:_renderTags(textSource)
81
+ local tags = ChatProviderServiceClient._renderTags(self, textSource)
70
82
  if tags then
71
83
  local properties = Instance.new("TextChatMessageProperties")
72
84
  local name = String.removePostfix(textChatMessage.PrefixText, ":")
@@ -76,7 +88,7 @@ function ChatProviderServiceClient:Start()
76
88
  return properties
77
89
  end
78
90
 
79
- return
91
+ return nil
80
92
  end
81
93
  end
82
94
 
@@ -85,11 +97,12 @@ end
85
97
  @param encodedMessageData string
86
98
  @param channel TextChannel?
87
99
  ]=]
88
- function ChatProviderServiceClient:SendSystemMessage(
100
+ function ChatProviderServiceClient.SendSystemMessage(
101
+ _self: ChatProviderServiceClient,
89
102
  message: string,
90
103
  encodedMessageData: string?,
91
104
  channel: TextChannel?
92
- )
105
+ ): ()
93
106
  assert(typeof(message) == "string", "[ChatProviderServiceClient.SendSystemMessage] - Bad message")
94
107
 
95
108
  if not channel then
@@ -104,7 +117,7 @@ function ChatProviderServiceClient:SendSystemMessage(
104
117
  channel:DisplaySystemMessage(message, encodedMessageData)
105
118
  end
106
119
 
107
- function ChatProviderServiceClient:_renderTags(textSource)
120
+ function ChatProviderServiceClient._renderTags(self: ChatProviderServiceClient, textSource: TextSource): string?
108
121
  local player = Players:GetPlayerByUserId(textSource.UserId)
109
122
  if not player then
110
123
  return nil
@@ -119,7 +132,7 @@ function ChatProviderServiceClient:_renderTags(textSource)
119
132
  return hasChatTags:GetAsRichText()
120
133
  end
121
134
 
122
- function ChatProviderServiceClient:Destroy()
135
+ function ChatProviderServiceClient.Destroy(self: ChatProviderServiceClient): ()
123
136
  self._maid:DoCleaning()
124
137
  end
125
138