Skip to content

Commit efb3f1d

Browse files
Prevent resubscribe to previously subscribed entities (#385)
* Updated swift dependency * Added missing params to HereNow for JS/Swift * Updated JS lib * PubNub SDK v12.0.2 release. --------- Co-authored-by: PubNub Release Bot <[email protected]>
1 parent bdcdeb1 commit efb3f1d

File tree

11 files changed

+47
-118
lines changed

11 files changed

+47
-118
lines changed

.pubnub.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: kotlin
2-
version: 12.0.1
2+
version: 12.0.2
33
schema: 1
44
scm: github.com/pubnub/kotlin
55
files:
6-
- build/libs/pubnub-kotlin-12.0.1-all.jar
6+
- build/libs/pubnub-kotlin-12.0.2-all.jar
77
sdks:
88
-
99
type: library
@@ -23,8 +23,8 @@ sdks:
2323
-
2424
distribution-type: library
2525
distribution-repository: maven
26-
package-name: pubnub-kotlin-12.0.1
27-
location: https://repo.maven.apache.org/maven2/com/pubnub/pubnub-kotlin/12.0.1/pubnub-kotlin-12.0.1.jar
26+
package-name: pubnub-kotlin-12.0.2
27+
location: https://repo.maven.apache.org/maven2/com/pubnub/pubnub-kotlin/12.0.2/pubnub-kotlin-12.0.2.jar
2828
supported-platforms:
2929
supported-operating-systems:
3030
Android:
@@ -121,6 +121,11 @@ sdks:
121121
license-url: https://www.apache.org/licenses/LICENSE-2.0.txt
122122
is-required: Required
123123
changelog:
124+
- date: 2025-12-09
125+
version: v12.0.2
126+
changes:
127+
- type: bug
128+
text: "Prevent resubscribe to previously subscribed entities."
124129
- date: 2025-11-19
125130
version: v12.0.1
126131
changes:

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## v12.0.2
2+
December 09 2025
3+
4+
#### Fixed
5+
- Prevent resubscribe to previously subscribed entities.
6+
17
## v12.0.1
28
November 19 2025
39

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ You will need the publish and subscribe keys to authenticate your app. Get your
2020
<dependency>
2121
<groupId>com.pubnub</groupId>
2222
<artifactId>pubnub-kotlin</artifactId>
23-
<version>12.0.1</version>
23+
<version>12.0.2</version>
2424
</dependency>
2525
```
2626

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ RELEASE_SIGNING_ENABLED=true
1818
SONATYPE_HOST=DEFAULT
1919
SONATYPE_AUTOMATIC_RELEASE=false
2020
GROUP=com.pubnub
21-
VERSION_NAME=12.0.1
21+
VERSION_NAME=12.0.2
2222
POM_PACKAGING=jar
2323

2424
POM_NAME=PubNub SDK

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ ktlint = "12.1.0"
1212
dokka = "2.0.0"
1313
kotlinx_datetime = "0.6.2"
1414
kotlinx_coroutines = "1.10.2"
15-
pubnub_js = "10.1.0"
16-
pubnub_swift = "9.3.5"
15+
pubnub_js = "10.2.4"
16+
pubnub_swift = "10.1.0"
1717

1818
[libraries]
1919
retrofit2 = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit2" }

pubnub-kotlin/pubnub-kotlin-api/config/ktlint/baseline.xml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,20 @@
1616
<error line="474" column="15" source="standard:class-naming" />
1717
<error line="490" column="15" source="standard:class-naming" />
1818
<error line="503" column="15" source="standard:class-naming" />
19-
<error line="855" column="13" source="standard:property-naming" />
20-
<error line="1040" column="15" source="standard:class-naming" />
21-
<error line="1046" column="15" source="standard:class-naming" />
22-
<error line="1169" column="13" source="standard:property-naming" />
23-
<error line="1177" column="13" source="standard:property-naming" />
24-
<error line="1179" column="13" source="standard:property-naming" />
25-
<error line="1242" column="39" source="standard:comment-wrapping" />
26-
<error line="1317" column="15" source="standard:class-naming" />
27-
<error line="1343" column="42" source="standard:comment-wrapping" />
28-
<error line="1393" column="37" source="standard:comment-wrapping" />
29-
<error line="1414" column="13" source="standard:property-naming" />
30-
<error line="1415" column="13" source="standard:property-naming" />
19+
<error line="859" column="13" source="standard:property-naming" />
20+
<error line="1044" column="15" source="standard:class-naming" />
21+
<error line="1050" column="15" source="standard:class-naming" />
22+
<error line="1173" column="13" source="standard:property-naming" />
23+
<error line="1181" column="13" source="standard:property-naming" />
24+
<error line="1183" column="13" source="standard:property-naming" />
25+
<error line="1246" column="39" source="standard:comment-wrapping" />
26+
<error line="1321" column="15" source="standard:class-naming" />
27+
<error line="1347" column="42" source="standard:comment-wrapping" />
28+
<error line="1397" column="37" source="standard:comment-wrapping" />
29+
<error line="1418" column="13" source="standard:property-naming" />
3130
<error line="1419" column="13" source="standard:property-naming" />
32-
<error line="1420" column="13" source="standard:property-naming" />
33-
<error line="1439" column="9" source="standard:property-naming" />
34-
<error line="1440" column="9" source="standard:property-naming" />
35-
<error line="1441" column="9" source="standard:property-naming" />
36-
<error line="1442" column="9" source="standard:property-naming" />
31+
<error line="1423" column="13" source="standard:property-naming" />
32+
<error line="1424" column="13" source="standard:property-naming" />
3733
<error line="1443" column="9" source="standard:property-naming" />
3834
<error line="1444" column="9" source="standard:property-naming" />
3935
<error line="1445" column="9" source="standard:property-naming" />
@@ -42,10 +38,10 @@
4238
<error line="1448" column="9" source="standard:property-naming" />
4339
<error line="1449" column="9" source="standard:property-naming" />
4440
<error line="1450" column="9" source="standard:property-naming" />
41+
<error line="1451" column="9" source="standard:property-naming" />
42+
<error line="1452" column="9" source="standard:property-naming" />
43+
<error line="1453" column="9" source="standard:property-naming" />
4544
<error line="1454" column="9" source="standard:property-naming" />
46-
<error line="1455" column="9" source="standard:property-naming" />
47-
<error line="1456" column="9" source="standard:property-naming" />
48-
<error line="1457" column="9" source="standard:property-naming" />
4945
<error line="1458" column="9" source="standard:property-naming" />
5046
<error line="1459" column="9" source="standard:property-naming" />
5147
<error line="1460" column="9" source="standard:property-naming" />
@@ -78,5 +74,9 @@
7874
<error line="1487" column="9" source="standard:property-naming" />
7975
<error line="1488" column="9" source="standard:property-naming" />
8076
<error line="1489" column="9" source="standard:property-naming" />
77+
<error line="1490" column="9" source="standard:property-naming" />
78+
<error line="1491" column="9" source="standard:property-naming" />
79+
<error line="1492" column="9" source="standard:property-naming" />
80+
<error line="1493" column="9" source="standard:property-naming" />
8181
</file>
8282
</baseline>

pubnub-kotlin/pubnub-kotlin-api/src/appleMain/kotlin/com/pubnub/api/endpoints/presence/HereNow.ios.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.pubnub.kmp.onFailureHandler
1515
import com.pubnub.kmp.onSuccessHandler
1616
import com.pubnub.kmp.safeCast
1717
import kotlinx.cinterop.ExperimentalForeignApi
18+
import platform.Foundation.NSNumber
1819

1920
/**
2021
* @see [PubNub.hereNow]
@@ -37,9 +38,8 @@ class HereNowImpl(
3738
channelGroups = channelGroups,
3839
includeState = includeState,
3940
includeUUIDs = includeUUIDs,
40-
// todo pass limit and offset once available
41-
// limit = limit,
42-
// offset = offset,
41+
limit = limit.toLong(),
42+
offset = offset?.let { NSNumber(it) },
4343
onSuccess = callback.onSuccessHandler {
4444
PNHereNowResult(
4545
totalChannels = it?.totalChannels()?.toInt() ?: 0,

pubnub-kotlin/pubnub-kotlin-api/src/jsMain/kotlin/Pubnub.d.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,10 @@ open external class PubNub(config: Any /* UUID | UserId */) {
763763
var includeUUIDs: Boolean?
764764

765765
var includeState: Boolean?
766+
767+
var limit: Number?
768+
769+
var offset: Number?
766770
}
767771

768772
interface HereNowOccupantData {
Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,3 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<baseline version="1.0">
3-
<file name="src/main/kotlin/com/pubnub/docs/accessManager/ParseTokenOther.kt">
4-
<error line="12" column="27" source="standard:argument-list-wrapping" />
5-
<error line="12" column="273" source="standard:argument-list-wrapping" />
6-
</file>
7-
<file name="src/main/kotlin/com/pubnub/docs/accessManager/SetTokenOther.kt">
8-
<error line="12" column="25" source="standard:argument-list-wrapping" />
9-
<error line="12" column="271" source="standard:argument-list-wrapping" />
10-
</file>
11-
<file name="src/main/kotlin/com/pubnub/docs/appContext/GetAllUUIDMetadataMain.kt">
12-
<error line="97" column="31" source="standard:no-multi-spaces" />
13-
<error line="98" column="29" source="standard:no-multi-spaces" />
14-
<error line="137" column="26" source="standard:no-multi-spaces" />
15-
<error line="138" column="21" source="standard:no-multi-spaces" />
16-
<error line="139" column="31" source="standard:no-multi-spaces" />
17-
<error line="140" column="29" source="standard:no-multi-spaces" />
18-
</file>
19-
<file name="src/main/kotlin/com/pubnub/docs/fileSharing/FileSharingMain.kt">
20-
<error line="53" column="44" source="standard:no-multi-spaces" />
21-
<error line="54" column="45" source="standard:no-multi-spaces" />
22-
<error line="55" column="40" source="standard:no-multi-spaces" />
23-
<error line="56" column="30" source="standard:no-multi-spaces" />
24-
<error line="61" column="27" source="standard:no-multi-spaces" />
25-
</file>
26-
<file name="src/main/kotlin/com/pubnub/docs/messageReactions/MessageReactionsMain.kt">
27-
<error line="101" column="28" source="standard:no-multi-spaces" />
28-
<error line="102" column="32" source="standard:no-multi-spaces" />
29-
<error line="103" column="45" source="standard:no-multi-spaces" />
30-
</file>
313
</baseline>

pubnub-kotlin/pubnub-kotlin-impl/config/ktlint/baseline.xml

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<baseline version="1.0">
3-
<file name="src/main/kotlin/com/pubnub/internal/PubNubImpl.kt">
4-
<error line="726" column="1" source="standard:indent" />
5-
<error line="727" column="1" source="standard:indent" />
6-
<error line="729" column="1" source="standard:indent" />
7-
<error line="730" column="1" source="standard:indent" />
8-
<error line="731" column="1" source="standard:indent" />
9-
<error line="732" column="1" source="standard:indent" />
10-
<error line="733" column="1" source="standard:indent" />
11-
<error line="735" column="1" source="standard:indent" />
12-
<error line="788" column="1" source="standard:indent" />
13-
<error line="789" column="1" source="standard:indent" />
14-
<error line="790" column="1" source="standard:indent" />
15-
<error line="791" column="1" source="standard:indent" />
16-
<error line="792" column="1" source="standard:indent" />
17-
<error line="793" column="1" source="standard:indent" />
18-
<error line="794" column="1" source="standard:indent" />
19-
<error line="1169" column="1" source="standard:indent" />
20-
<error line="1170" column="1" source="standard:indent" />
21-
<error line="1173" column="1" source="standard:indent" />
22-
<error line="1174" column="1" source="standard:indent" />
23-
<error line="1199" column="1" source="standard:indent" />
24-
<error line="1200" column="1" source="standard:indent" />
25-
<error line="1201" column="1" source="standard:indent" />
26-
<error line="1202" column="1" source="standard:indent" />
27-
<error line="1217" column="1" source="standard:indent" />
28-
<error line="1218" column="1" source="standard:indent" />
29-
<error line="1221" column="1" source="standard:indent" />
30-
<error line="1250" column="1" source="standard:indent" />
31-
<error line="1251" column="1" source="standard:indent" />
32-
<error line="1254" column="1" source="standard:indent" />
33-
<error line="1278" column="1" source="standard:indent" />
34-
<error line="1279" column="1" source="standard:indent" />
35-
<error line="1282" column="1" source="standard:indent" />
36-
<error line="1283" column="1" source="standard:indent" />
37-
<error line="1285" column="1" source="standard:indent" />
38-
<error line="1357" column="1" source="standard:indent" />
39-
<error line="1358" column="1" source="standard:indent" />
40-
<error line="1361" column="1" source="standard:indent" />
41-
<error line="1531" column="1" source="standard:indent" />
42-
<error line="1532" column="1" source="standard:indent" />
43-
<error line="1533" column="1" source="standard:indent" />
44-
<error line="1534" column="1" source="standard:indent" />
45-
<error line="1535" column="1" source="standard:indent" />
46-
<error line="1536" column="1" source="standard:indent" />
47-
<error line="1537" column="1" source="standard:indent" />
48-
<error line="1538" column="1" source="standard:indent" />
49-
<error line="1539" column="1" source="standard:indent" />
50-
<error line="1542" column="1" source="standard:indent" />
51-
<error line="1543" column="1" source="standard:indent" />
52-
<error line="1544" column="1" source="standard:indent" />
53-
<error line="1545" column="1" source="standard:indent" />
54-
<error line="1546" column="1" source="standard:indent" />
55-
</file>
563
<file name="src/main/kotlin/com/pubnub/internal/managers/BasePathManager.kt">
574
<error line="15" column="17" source="standard:property-naming" />
585
<error line="21" column="17" source="standard:property-naming" />
@@ -61,11 +8,6 @@
618
<file name="src/main/kotlin/com/pubnub/internal/subscribe/eventengine/effect/ReconnectionPolicy.kt">
629
<error line="1" column="1" source="standard:no-empty-file" />
6310
</file>
64-
<file name="src/test/kotlin/com/pubnub/api/crypto/CryptoModuleTest.kt">
65-
<error line="3" column="1" source="standard:no-unused-imports" />
66-
<error line="4" column="1" source="standard:no-unused-imports" />
67-
<error line="27" column="1" source="standard:no-wildcard-imports" />
68-
</file>
6911
<file name="src/test/kotlin/com/pubnub/api/legacy/endpoints/files/TestsWithFiles.kt">
7012
<error line="17" column="30" source="standard:property-naming" />
7113
</file>

0 commit comments

Comments
 (0)