forked from ringcentral/pubnub-jtools
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from pubnub:master #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pull
wants to merge
48
commits into
2bon:master
Choose a base branch
from
pubnub:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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.
* Added managed channel members test and membership tests.
* Added possibility to add status when setting ChannelMembers
refactor: Upgrade OkHttp lib to 4.9.3 feat: Added acceptance tests for ObjectsV2 feature feat: Added possibility to add status when setting ChannelMembers feat: Added status and type to query parameters for objectV2 REST calls. For membership and member only status
* Updated dependencies, fixed compilation warnings. What is missing is to add sonarList/spotBug as a replacement for Findbug that was removed from gradle in newer version. That would be added gradually as a boy scout rule.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )