Andrew Bulat
Andrew Bulat
Changelog is based on changes between 64caf8e52152a1ed7b0c1ca32689e2e45369dca8...2462e9bfa412284a3c3975ad83a8ea4da9d9e7f4 (latest `main` and `integration/v2` as of end of February 29). PRs that need to be added to the changelog when finished/reviewed and merged:...
This PR is based on https://github.com/ably/ably-js/pull/1633 so review that one first. Removes more code that's supporting older platforms. These commits couldn't be included in https://github.com/ably/ably-js/pull/1629, since it would break CI...
This PR is based on https://github.com/ably/ably-js/pull/1633, review that one first. [Fallback mechanism paragraph](https://github.com/ably/ably-js/blob/64caf8e52152a1ed7b0c1ca32689e2e45369dca8/README.md?plain=1#L41) in README is now misleading after supported platform doc changes done in https://github.com/ably/ably-js/pull/1633, see PR comment https://github.com/ably/ably-js/pull/1633#issuecomment-1968889177...
Resolves #1606 This PR is based on https://github.com/ably/ably-js/pull/1633 so review that one first.
Resolves #1605 Changes: - Use Node.js 20 in github workflows - Run CI tests for node on Node.js 16, 18, 20 - Update engines in package.json to node >=16 -...
`id` can be quite misleading in some cases, for example when used like this: ```javascript useChannel( { channelName: 'your-derived-channel-name', id: 'rob', }, (message) => { updateDerivedChannelMessages((prev) => [...prev, message]); }...
See conversation in `ChannelProvider` PR: https://github.com/ably/ably-js/pull/1620#discussion_r1492422954, and how it was initially done via `hasOptionsChanged` function in `useEffect` hook. This approach had a lot of corner cases and was duplicating existing...
Currently [we call](https://github.com/ably/ably-js/blob/64caf8e52152a1ed7b0c1ca32689e2e45369dca8/src/platform/react-hooks/src/AblyProvider.tsx#L40) `React.createContext` during render in `AblyProvider`, so we can have arbitrary amount of contexts accessible by separate `id` value. It is considered best practice to create a react...
`usePresence` hook is quite opinionated right now - it enters presence and subscribes to presence events automatically on component mount, and there is no documentation on how to modify this...