Skip to content

Tags: PlugFox/spinify

Tags

0.3.0

Toggle 0.3.0's commit message
Update CHANGELOG for version 0.3.0 with protobuf update

0.2.0

Toggle 0.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Feature/headers emulation (#19)

* Add headers emulation

* Update centrifuge at benchmark

* Update web benhmarks

* Update benchmark

0.1.0

Toggle 0.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Feature/add benchmark tables (#16)

* Add benchmarks

* Update table formatting in README.md for improved readability

* Consolidate Flutter and Dart versions in README.md for better clarity

* Add benchmark information

* Add benchmark description

* Update example

* Add custom configuration for Spinify client in README.md and example

* Add subscription example and update README for clarity

* Clarify JSON codec support limitation in README

* Update README.md

* Update README.md

* Update package info

0.1.0-pre.2

Toggle 0.1.0-pre.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Feature/custom http client (#15)

* Bump version to 0.1.0-pre.2

* Add transport adapter options to WebSocket connection methods

* Update JWT claims

* Update benchmark project metadata and dependencies

0.1.0-pre.1

Toggle 0.1.0-pre.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Large scale refactoring (#14)

* Update CI

* Add example

* Update launch.json and Makefile

* Update Spinify implementation and deprecate old version

* Refactor deprecated transport files

* Refactor nested exception visitor in SpinifyException

* Refactor health check and connection timers

* Change transport

* Refactor transport implementation and WebSocket connection

- Refactor the transport implementation in Spinify to use the WebSocket interface.
- Add a new method `_webSocketConnect` to handle WebSocket connection.
- Remove the deprecated `web_socket_stub.dart` file.

Closes #123

* Refactor transport implementation and WebSocket connection

* Update version and dependencies in pubspec.yaml.g.dart

* Add mockito

* Refactor WebSocket connection and transport implementation

* Refactor WebSocket connection and transport implementation

* Add codec test

* Refactor encoding benchmarks for protobuf commands

* Refactor _doOnReady method to handle different Spinify connection states

* Refactor _setState method to handle different Spinify connection states

* Refactor SpinifyReplyException constructor to include error parameter

* Add configuration file for issue templates

* Refactor WebSocket$JS to use synchronous StreamController

* Refactor SpinifyMetrics class to include getters for messagesSent and messagesReceived

* Refactor SpinifyMetrics class to include getters for messagesSent and messagesReceived

* Refactor SpinifyMetrics class to remove unused import

* Refactor SpinifyMetrics class to remove unused import and include getters for messagesSent and messagesReceived
Refactor WebSocket$JS to use synchronous StreamController

* Refactor SpinifyMetrics class to include handleDone method for handling WebSocket disconnection

* Add close codes

* Added missing literal

* Refactor SpinifyMetrics class to include handleDone method for handling WebSocket disconnection

* Normalize disconnect code and reason in SpinifyDisconnectCode

* Refactor error handling in Spinify connect method

* Update tests

* Normalize disconnect code and reason in SpinifyDisconnectCode

* Add test for server subscriptions

* Refactor SpinifyReplyResult mixin and add test for server subscriptions

* Refactor Spinify connect method error handling

* Refactor Makefile to generate coverage report for unit tests only

* Refactor Spinify connect method to enforce channel validation

* Refactor Spinify presence and presenceStats methods to handle subscription not found

* Refactor Spinify.dart to use synchronous broadcasting for state and event controllers

* Refactor Spinify.dart to remove unused code and add internal annotation

* Refactor codec_test.dart to remove unused import

* Refactor Pubspec.dart to update timestamp

* Refactor Spinify.dart to use synchronous broadcasting for state and event controllers

* Check ping - pong

* Refactor Spinify.dart to start refresh connection timer and expect ping messages

* Refactor exception.dart to add SpinifyRPCException

* Refactor Spinify_test.dart to update exception types in client.send and client.rpc

* Refactor Spinify.dart to handle subscription errors and prevent duplicate subscriptions

* Refactor Spinify.dart to handle subscription removal and error handling

* Refactor Spinify.dart to handle subscription removal and error handling

* Refactor SpinifyProtobufReplyDecoder to handle error messages in Spinify.dart

* Cover protobuf codec

* Refactor SpinifyServerSubscription test to use a fake WebSocket and handle server subscription

* Refactor SpinifyServerSubscription test to include additional assertions

* Refactor Spinify.dart to handle subscription removal and error handling

* Refactor Spinify.dart to handle subscription removal and error handling

* Refactor Spinify.dart to handle subscription removal, error handling, and token refresh

* Refactor Spinify.dart to handle invalid ping interval

* Refactor WebSocket$Fake and Spinify to improve null safety and connection handling

* Update .gitignore to exclude reports and .reports directories

* Refactor Makefile to simplify build pipeline and add CI support

* Refactor Spinify.dart to improve null safety, connection handling, and error handling

* Refactor Spinify_test.dart to handle disconnection during connection

* Refactor Spinify_test.dart to remove skipped test case

* Refactor Spinify_test.dart to remove redundant try-catch block and improve disconnection handling

* Refactor asyncGuarded function to add optional error ignoring capability

* Refactor Spinify.dart to improve null safety, connection handling, and error handling

* Refactor Spinify.dart to improve null safety, connection handling, and error handling

* Refactor Spinify.dart to improve error handling and connection handling

* Refactor unit tests and improve asyncGuarded error handling

* Add utility functions for map and list equality checks; enhance equality and hashCode implementations in model classes

* Add hasId property to SpinifyReply subclasses to indicate ID presence; enhance unit tests for reply instances

* Implement Comparable for SpinifyStateBase and add comprehensive unit tests for state instances

* Enhance unit tests for SpinifyState by adding comprehensive mapping checks for all state types

* Add unit tests for SpinifyStatesStream to validate stream behavior for all state types

* Add metric test

* Add subscription test

* Refactor guarded functions to remove debugger calls and add unit tests for utility functions

* Add mutex benchmark for measuring performance of different mutex implementations

* Refactor mutex benchmark to use different mutex implementations

* Refactor mutex benchmark to use different mutex implementations

* Refactor mutex benchmark to use different mutex implementations and add a new mutex implementation called _MutexEncapsulated

* Refactor mutex benchmark to include new mutex implementation and remove commented code

* Refactor mutex benchmark to use different mutex implementations and add new mutex implementation

* Refactor mutex implementation to introduce _Mutex$Request class and update locking mechanisms

* Add mutex lock for all spinify interactives methods

* Add tests for multiple connections and closure behavior in spinify client

* Refactor Spinify interface and exception handling; remove deprecated transport and enhance mutex release logic

* Enhance mutex handling in Spinify close and removeSubscription methods; improve error handling and clean up test cases

* Refactor mutex test cases to improve value handling and ensure correct locking behavior

* Refactor value handling in util test cases to ensure correct order of operations during locking

* Enhance disconnect method in Spinify to support forced disconnection; improve mutex handling and ensure all operations complete before disconnecting

* Update tests

* Enhance Spinify error handling during connection retries; improve test cases for temporary and permanent connection errors

* Update Spinify tests to verify connection retry behavior and state transitions; adjust expected retry and disconnect metrics

* Refactor Spinify subscriptions: remove unused server subscription test and update test imports; enhance ping timer management in spinify_test

* Update test

* Check server subscriptions

* Enhance SpinifyChannelEvent: add copyWith method for channel modification; update event handling in _SpinifyClientSubscriptionImpl

* Refactor Spinify subscription states: add toString methods for better debugging; enhance unsubscribe logic in Spinify and _SpinifyClientSubscriptionImpl

* Disable echo server and smoke test at CI

* Update GitHub Actions workflow: modify pub-cache environment variable and improve caching logic for dependencies

* Update smoke tests

0.0.4

Toggle 0.0.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update state (#13)

* Update state

* Bump linter

0.0.2

Toggle 0.0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Feature/more tests (#10)

* feat: Add CORS middleware to handle cross-origin requests

* feat: Update launch.json and SpinifyInterface to improve WebSocket handling and add support for Protobuf transport

* feat: Improve WebSocket handling and add Protobuf transport support

* Example of rpc disconnect

* feat: Add support for reconnecting in RPC disconnect method

This commit modifies the RPC disconnect method in the `echo.go` file to add support for reconnecting. It checks if the data parameter contains the string "reconnect" and disconnects the client with reconnection if true. Otherwise, it disconnects the client without reconnection. This enhancement improves the flexibility of the RPC disconnect functionality.

* feat: Add support for reconnecting in RPC disconnect method

* feat: Update timeouts in smoke_test.dart to improve RPC testing

This commit updates the timeouts in the smoke_test.dart file to improve RPC testing. The previous timeouts were [1000, 100, 10, 100, 0], and they have been changed to [200, 50, 10, 25, 0]. This change ensures that the RPC requests are sent and received within the specified time intervals, enhancing the reliability and performance of the RPC functionality.

* feat: Improve WebSocket handling and add Protobuf transport support

* refactor: Update WebSocket handling and Protobuf transport in smoke_test.dart

This commit refactors the WebSocket handling and adds support for Protobuf transport in the smoke_test.dart file. It improves the RPC testing by updating the timeouts from [1000, 100, 10, 100, 0] to [200, 50, 10, 25, 0]. Additionally, it introduces reconnecting functionality in the RPC disconnect method in the echo.go file. The client is now disconnected with reconnection if the data parameter contains the string "reconnect". This enhancement improves the flexibility and reliability of the RPC functionality.

* refactor: Create event queue for socket events

* feat: Add support for reconnecting in RPC disconnect method

* refactor: Update WebSocket handling and Protobuf transport in transport_ws_pb_js.dart

* refactor: Create event queue for socket events

* refactor: Update WebSocket handling and Protobuf transport in transport_ws_pb_js.dart

* refactor: Update WebSocket handling and Protobuf transport in transport_ws_pb_js.dart

* refactor: Update WebSocket handling and Protobuf transport in transport_ws_pb_js.dart

* refactor: Update async_test.dart to improve caching performance

This commit updates the async_test.dart file to improve caching performance. It introduces a cache timer that clears the cache after 5 minutes of inactivity. This enhancement ensures that the cache remains up-to-date and avoids unnecessary memory usage.

* refactor: Update screenshot description in pubspec.yaml

* Fix dart tests

* Add benchmark app

* refactor: Update launch configuration for benchmark in VSCode

This commit updates the launch configuration in the `.vscode/launch.json` file to set up debugging for the benchmark app instead of the example app. The `name` field is changed to "[Flutter] Benchmark" and the `cwd` field is updated to "${workspaceFolder}/benchmark". This change ensures that the correct app is launched and debugged when running the benchmark.

* refactor: Update payload size and message count UI in benchmark app

This commit updates the UI of the benchmark app to improve the user experience when setting the payload size and message count. It adds labels for the payload size and message count sliders, making it easier for users to understand their purpose. Additionally, it adjusts the layout and padding of the UI elements for better visual consistency. These changes enhance the usability of the benchmark app and make it more intuitive for users to configure the payload size and message count.

* refactor: Update BenchmarkController to use abstract base class

This commit updates the `BenchmarkController` class to use an abstract base class called `BenchmarkControllerBase`. This change allows for better code organization and separation of concerns. The `BenchmarkControllerBase` class contains common properties and methods that are shared by different benchmark implementations. By using an abstract base class, it becomes easier to add new benchmark implementations in the future. This refactor improves the maintainability and extensibility of the codebase.

* refactor: Update payload size and message count UI in benchmark app

* refactor: Update payload size and message count UI in benchmark app

* refactor: Update benchmark app UI and status handling

This commit refactors the benchmark app to improve the user interface and status handling. It updates the UI to enhance the user experience when setting the payload size and message count, adding labels for the sliders and adjusting the layout for better visual consistency. Additionally, it introduces a new status property in the `BenchmarkControllerBase` class to track the status of the benchmark, allowing for better communication with the user. These changes improve the usability and clarity of the benchmark app.

* refactor: Update benchmark app UI and status handling

* ```text
refactor: Add constants for JWT token and WebSocket endpoint

This commit adds two constants to the benchmark app: `tokenHmacSecretKey` for the JWT token HMAC key and `defaultEndpoint` for the default WebSocket connection endpoint. These constants provide a centralized and easily configurable way to manage these values throughout the app. By using constants, it improves code readability and maintainability.

* refactor: Add HelpTab to benchmark app UI

This commit adds the HelpTab component to the benchmark app UI. The HelpTab provides helpful information and instructions for using the app, including steps for setting up the benchmark environment and running the benchmark. This addition enhances the usability and user experience of the benchmark app.

* refactor: Update benchmark app UI and status handling

* refactor: Update launch configuration for benchmark in VSCode

* refactor: Update benchmark app UI and status handling

* refactor: Update firebase.json hosting ignore rules

This commit updates the `firebase.json` file to modify the hosting ignore rules. The previous rules were spread across multiple lines, which made the file harder to read and maintain. This change consolidates the ignore rules into a single line, improving the readability and maintainability of the file.

* refactor: Update app titles to include "Spinify"

This commit updates the titles of the benchmark app to include "Spinify" for better branding consistency. The app titles were changed from "Benchmark" to "Spinify Benchmark" in both the main app and the app bar. This change improves the branding and recognition of the app.

* refactor: Update app titles to include "Spinify"

* refactor: Update timestamp in pubspec.yaml.g.dart

This commit updates the timestamp in the pubspec.yaml.g.dart file to reflect the correct build date and time. The previous values were incorrect and have been corrected to ensure accurate tracking of build information. This change improves the reliability and integrity of the build process.

* refactor: Update version to 0.0.2 in pubspec.yaml

* refactor: Update pubspec.yaml to add Protobuf support for WebSockets

* refactor: Update description in pubspec.yaml for Dart and Flutter compatibility

* Update version

0.0.1-pre.7

Toggle 0.0.1-pre.7's commit message
chore: Bump SDK version to 3.4.0