Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Jul 13, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jul 13, 2021
@atomist atomist bot added auto-branch-delete:on-close Delete branch when pull request gets closed auto-merge-method:merge Auto-merge with merge commit auto-merge:on-bpr-success Auto-merge on passed branch protection rule labels Jul 13, 2021
client-engineering-bot and others added 25 commits September 8, 2021 12:08
build: switch deployment to GitHub Actions

Switch product deployment to GitHub Actions.
Reconnect restarts subscribe loop regardless of the state

PubNub SDK v5.2.2 release.

Co-authored-by: Client Engineering Bot <Client Engineering Bot@users.noreply.github.com>
Add support for release process notifications.

fix(build): fix docs build

Move `gradlew` call into separate pre-publish script.
SDK-1546 evict transactional HTTP client connection pool

When receiving PNStatusCategory.PNReconnectedCategory users can think that is about the whole
PubNub library and not only about the subscription loop. For better user experience we're going to
evict possibly broken connections for transactional calls

Co-authored-by: Bartek Kępa <bartlomiej.kepa@pubnub.com>
…227)

Return in callback PNReconnectedCategory status for reconnect method
Add Revoke Token
* Update .pubnub.yml

* build(version): change pattern for version bump

Change pattern which is used to update version in `.pubnub.yml` file for `version` field to 
exclude `v` prefix.

Co-authored-by: Serhii Mamontov <parfeon@me.com>
In some circumstances we do two contradicting calls in almost
the same time. One of them is a call to heartbeat endpoint and
the other is to leave endpoint. The reason why those call could
happen in almost the same time is because heartbeat calls are done
periodically on separate thread and leave calls are happening due to
user actions. This means that sooner or later this situation will happen
and pubnub presence system will generate join event and leave event (usually
in this order), but then another timeout event when presence timeout
expires.

To prevent it from happening I've decided to limit the number of concurrent
calls to only those two endpoints to just one. This is done on the okhttp
client level. Because those two calls can be ordered only two ways we can
provide an analysis of why this change might work.

Let's first concentrate on situation when heartbeat call is already happening
and unsubscribe method is being called:

* leave call will go to the internal queue of calls of okhttp client due to
limit of concurrent calls
* unsubscribe method internally will try to cancel the heartbeat call and schedule
timer with another heartbeat call (but with different set of channels)
* heartbeat finishes (either normally, or by being cancelled), this usually
do not generate any events, but it might generate join event
* http leave call can finally proceed, which generates leave event
* because the calls have been done sequentially there's no timeout event

In case when leave call is already ongoing and the schedule heartbeat timer
is trying to make heartbeat request:

* heartbeat request goes to client's internal queue to wait on leave to be finished
* in the meantime usubscribe method internally cancels the timer and cancels the heartbeat
request before it has time to start
* leave request ends, and leave event is being generated
* there's no timeout event, and the presence didn't have chance to be extended
* Upgraded gson to 2.9.0

Following error occurred:
“java.lang.reflect.InaccessibleObjectException: Unable to make private java.util.Collections$EmptyMap() accessible: module java.base does not “opens java.util” to unnamed module @4387b79e”

Explanation:
"The reason why this is causing an exception for JDK 17 is because JDK internals are now strongly encapsulated (see JEP 403).
 In general you should avoid using reflection based serialisation and deserialisation for classes which you do not control because you rely on their implementation details which could change at any point."

* Disable HTML escaping in gson
Extract message processing to simplify the design (and tests)
* Contract tests for UUID against object V2 REST
* Added contract tests for ChannelMetadata, Member and Membership against object V2 REST
* Added STATUS and TYPE where needed as a value for include request parameters for ObjectV2 calls.
kleewho and others added 30 commits December 15, 2022 14:00
Refactor command handler workflow to use bot name from secrets.
test(github-actions): migrate tests to GitHub Actions

Migrate PubNub SDK test suite from Travis to GitHub Actions.

test(github-action): refactor command handler

Refactor command handler workflow to use bot name from secrets.

test(validation): replace `yml` validation script

Replace `.pubnub.yml` validation script with call of custom validation action.

refactor(workflow): refactor tests workflow

Unify integration and acceptance test workflow files into one.

test(github-action): add fast failure

Add ability to cancel whole test workflow if any of jobs failed.
fix: Remove deprecation for Grant Token methods.
* Upgraded jackson-databind lib to remove sec vulnerabilities.
* Upgraded json lib
* PubNub SDK v6.3.4 release.
* Add heartbeat error limit

In case of any problems we should not quit immediately heartbeat calls.
The interval is chosen so it's possible to call heartbeat 3 times
during one presence interval, therefore we should keep trying at least
few more times

* PubNub SDK v6.3.5 release.

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
* Added possibility to set state using heartbeat endpoint.
* PubNub SDK v6.3.6 release.
fix: Improve security of crypto implementation. 

Improved security of crypto implementation by adding enhanced AES-CBC cryptor

feat: Add crypto module

Add crypto module that allows configure SDK to encrypt and decrypt messages. 

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
* updated codeowners.
…nse (#287)

* Changed license type from MIT to PubNub Software Development Kit License

* Updated the JSON library to version 20231013

* PubNub SDK v6.4.1 release.

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
Jacoco and Lombok version bumps to work with JDK 17+
* Don't crash on malformed messages received with crypto enabled

Deliver original message content with error flag.

* Deduplicate message decryption code with subscribe and history
* Remove 'contact support' in case of network error.

* PubNub SDK v6.4.2 release.

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
* Add error field to file result and set on decrypt error

* PubNub SDK v6.4.3 release.

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
* Remove Jackson library

* Emulate Jackson's handling of anonymous collections in GSON mapper

* PubNub SDK v6.4.4 release.

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
* Move kt file to kotlin sourceset

* PubNub SDK v6.4.4 release.

---------

Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
* Add reading message type in FetchMessages
* Modified PNReconnectionPolicy
Added random value 0,001-0,999s to delay between retry both for Linear and Exponential reconnection policies.

* PubNub SDK v6.4.5 release.
---------
Co-authored-by: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com>
build(runner): change runner groups
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⤵️ pull auto-branch-delete:on-close Delete branch when pull request gets closed auto-merge:on-bpr-success Auto-merge on passed branch protection rule auto-merge-method:merge Auto-merge with merge commit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants