Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
77c2b1f
Update CI
PlugFox Oct 23, 2024
27e4f43
Add example
PlugFox Oct 23, 2024
e3429f4
Update launch.json and Makefile
PlugFox Oct 23, 2024
903a175
Update Spinify implementation and deprecate old version
PlugFox Oct 23, 2024
cae08ee
Refactor deprecated transport files
PlugFox Oct 23, 2024
9b49c4f
Refactor nested exception visitor in SpinifyException
PlugFox Oct 23, 2024
21b8e8e
Refactor health check and connection timers
PlugFox Oct 23, 2024
95ff859
Change transport
PlugFox Oct 23, 2024
e1a8361
Refactor transport implementation and WebSocket connection
PlugFox Oct 23, 2024
ba1d21f
Refactor transport implementation and WebSocket connection
PlugFox Oct 23, 2024
dd9ae73
Update version and dependencies in pubspec.yaml.g.dart
PlugFox Oct 23, 2024
6051bb1
Add mockito
PlugFox Oct 23, 2024
d0a7cb4
Refactor WebSocket connection and transport implementation
PlugFox Oct 23, 2024
b65cc71
Refactor WebSocket connection and transport implementation
PlugFox Oct 23, 2024
0c59178
Add codec test
PlugFox Oct 24, 2024
9fe73fc
Refactor encoding benchmarks for protobuf commands
PlugFox Oct 24, 2024
d55f6cb
Refactor _doOnReady method to handle different Spinify connection states
PlugFox Oct 24, 2024
aa5c301
Refactor _setState method to handle different Spinify connection states
PlugFox Oct 24, 2024
2484abc
Refactor SpinifyReplyException constructor to include error parameter
PlugFox Oct 24, 2024
99121c0
Add configuration file for issue templates
PlugFox Oct 24, 2024
a19c036
Refactor WebSocket$JS to use synchronous StreamController
PlugFox Oct 25, 2024
5aaaa44
Merge branch 'feature/check-reconnection' of ssh://github.com/PlugFox…
PlugFox Oct 25, 2024
3df6e7a
Refactor SpinifyMetrics class to include getters for messagesSent and…
PlugFox Oct 25, 2024
2c499c0
Refactor SpinifyMetrics class to include getters for messagesSent and…
PlugFox Oct 25, 2024
935f2c7
Refactor SpinifyMetrics class to remove unused import
PlugFox Oct 25, 2024
384ad08
Refactor SpinifyMetrics class to remove unused import and include get…
PlugFox Oct 25, 2024
05c3333
Refactor SpinifyMetrics class to include handleDone method for handli…
PlugFox Oct 25, 2024
269a0b4
Add close codes
PlugFox Oct 26, 2024
8ba7ffc
Added missing literal
PlugFox Oct 26, 2024
662c569
Refactor SpinifyMetrics class to include handleDone method for handli…
PlugFox Oct 26, 2024
9853708
Normalize disconnect code and reason in SpinifyDisconnectCode
PlugFox Oct 26, 2024
47c309c
Refactor error handling in Spinify connect method
PlugFox Oct 26, 2024
274b132
Update tests
PlugFox Oct 26, 2024
5aac508
Normalize disconnect code and reason in SpinifyDisconnectCode
PlugFox Oct 26, 2024
8164606
Add test for server subscriptions
PlugFox Oct 26, 2024
14b857b
Refactor SpinifyReplyResult mixin and add test for server subscriptions
PlugFox Oct 26, 2024
12ae7d5
Refactor Spinify connect method error handling
PlugFox Oct 26, 2024
ef7bad1
Refactor Makefile to generate coverage report for unit tests only
PlugFox Oct 26, 2024
b31c9b2
Refactor Spinify connect method to enforce channel validation
PlugFox Oct 30, 2024
4b02d55
Refactor Spinify presence and presenceStats methods to handle subscri…
PlugFox Oct 30, 2024
c897f21
Refactor Spinify.dart to use synchronous broadcasting for state and e…
PlugFox Oct 30, 2024
ce2dbc5
Refactor Spinify.dart to remove unused code and add internal annotation
PlugFox Oct 30, 2024
ddf3d4c
Refactor codec_test.dart to remove unused import
PlugFox Oct 30, 2024
7b65fc1
Refactor Pubspec.dart to update timestamp
PlugFox Oct 30, 2024
ae86543
Refactor Spinify.dart to use synchronous broadcasting for state and e…
PlugFox Oct 30, 2024
3940134
Check ping - pong
PlugFox Oct 30, 2024
1a6d3b3
Refactor Spinify.dart to start refresh connection timer and expect pi…
PlugFox Oct 30, 2024
51e38d2
Refactor exception.dart to add SpinifyRPCException
PlugFox Oct 30, 2024
d0e79dd
Refactor Spinify_test.dart to update exception types in client.send a…
PlugFox Oct 30, 2024
1ec10ac
Refactor Spinify.dart to handle subscription errors and prevent dupli…
PlugFox Oct 30, 2024
96a8eb7
Refactor Spinify.dart to handle subscription removal and error handling
PlugFox Oct 30, 2024
d72894a
Refactor Spinify.dart to handle subscription removal and error handling
PlugFox Oct 30, 2024
26544f1
Refactor SpinifyProtobufReplyDecoder to handle error messages in Spin…
PlugFox Oct 30, 2024
a1a01e6
Cover protobuf codec
PlugFox Oct 30, 2024
987c58b
Refactor SpinifyServerSubscription test to use a fake WebSocket and h…
PlugFox Oct 30, 2024
1d879f8
Refactor SpinifyServerSubscription test to include additional assertions
PlugFox Oct 30, 2024
c758ade
Refactor Spinify.dart to handle subscription removal and error handling
PlugFox Oct 30, 2024
49b2bfb
Refactor Spinify.dart to handle subscription removal and error handling
PlugFox Oct 30, 2024
55e04a8
Refactor Spinify.dart to handle subscription removal, error handling,…
PlugFox Oct 30, 2024
cf9e0f6
Refactor Spinify.dart to handle invalid ping interval
PlugFox Oct 30, 2024
72eb3fb
Refactor WebSocket$Fake and Spinify to improve null safety and connec…
PlugFox Nov 4, 2024
8dab277
Update .gitignore to exclude reports and .reports directories
PlugFox Nov 4, 2024
e26ed44
Refactor Makefile to simplify build pipeline and add CI support
PlugFox Nov 7, 2024
25a0086
Refactor Spinify.dart to improve null safety, connection handling, an…
PlugFox Nov 7, 2024
c87744a
Refactor Spinify_test.dart to handle disconnection during connection
PlugFox Nov 7, 2024
496867f
Refactor Spinify_test.dart to remove skipped test case
PlugFox Nov 7, 2024
8c4091c
Refactor Spinify_test.dart to remove redundant try-catch block and im…
PlugFox Nov 7, 2024
c95ddf0
Refactor asyncGuarded function to add optional error ignoring capability
PlugFox Nov 7, 2024
9094a64
Refactor Spinify.dart to improve null safety, connection handling, an…
PlugFox Nov 7, 2024
262ccea
Refactor Spinify.dart to improve null safety, connection handling, an…
PlugFox Nov 7, 2024
33fe5ad
Refactor Spinify.dart to improve error handling and connection handling
PlugFox Nov 7, 2024
d5018d0
Refactor unit tests and improve asyncGuarded error handling
PlugFox Nov 7, 2024
e5ff8d4
Add utility functions for map and list equality checks; enhance equal…
PlugFox Nov 8, 2024
59e34e9
Add hasId property to SpinifyReply subclasses to indicate ID presence…
PlugFox Nov 8, 2024
482b791
Implement Comparable for SpinifyStateBase and add comprehensive unit …
PlugFox Nov 8, 2024
f7e946d
Enhance unit tests for SpinifyState by adding comprehensive mapping c…
PlugFox Nov 8, 2024
7c7d9ea
Add unit tests for SpinifyStatesStream to validate stream behavior fo…
PlugFox Nov 8, 2024
cce7c24
Add metric test
PlugFox Nov 9, 2024
2cd7e8e
Add subscription test
PlugFox Nov 9, 2024
237096c
Refactor guarded functions to remove debugger calls and add unit test…
PlugFox Nov 9, 2024
c74ebd1
Add mutex benchmark for measuring performance of different mutex impl…
PlugFox Nov 11, 2024
dc66db2
Merge branch 'feature/check-reconnection' of ssh://github.com/PlugFox…
PlugFox Nov 11, 2024
5c33d7b
Refactor mutex benchmark to use different mutex implementations
PlugFox Nov 11, 2024
68cb067
Refactor mutex benchmark to use different mutex implementations
PlugFox Nov 11, 2024
c1f6ac6
Refactor mutex benchmark to use different mutex implementations and a…
PlugFox Nov 11, 2024
e571ee9
Refactor mutex benchmark to include new mutex implementation and remo…
PlugFox Nov 11, 2024
49a1048
Refactor mutex benchmark to use different mutex implementations and a…
PlugFox Nov 11, 2024
e6ca7c9
Refactor mutex implementation to introduce _Mutex$Request class and u…
PlugFox Nov 11, 2024
207ac31
Add mutex lock for all spinify interactives methods
PlugFox Nov 11, 2024
0dc581c
Add tests for multiple connections and closure behavior in spinify cl…
PlugFox Nov 11, 2024
e1136ad
Refactor Spinify interface and exception handling; remove deprecated …
PlugFox Nov 11, 2024
7255e54
Enhance mutex handling in Spinify close and removeSubscription method…
PlugFox Nov 11, 2024
c7bad95
Refactor mutex test cases to improve value handling and ensure correc…
PlugFox Nov 11, 2024
0da4c94
Refactor value handling in util test cases to ensure correct order of…
PlugFox Nov 11, 2024
dc981d7
Enhance disconnect method in Spinify to support forced disconnection;…
PlugFox Nov 11, 2024
fe404c4
Update tests
PlugFox Nov 11, 2024
54b7ebf
Enhance Spinify error handling during connection retries; improve tes…
PlugFox Nov 14, 2024
e9a8a54
Update Spinify tests to verify connection retry behavior and state tr…
PlugFox Nov 14, 2024
b67a2f0
Refactor Spinify subscriptions: remove unused server subscription tes…
PlugFox Nov 14, 2024
1e3a2d0
Update test
PlugFox Nov 14, 2024
90fec0e
Check server subscriptions
PlugFox Nov 14, 2024
963da0b
Enhance SpinifyChannelEvent: add copyWith method for channel modifica…
PlugFox Nov 18, 2024
85824d7
Refactor Spinify subscription states: add toString methods for better…
PlugFox Nov 18, 2024
4d08105
Disable echo server and smoke test at CI
PlugFox Nov 18, 2024
01f705c
Update GitHub Actions workflow: modify pub-cache environment variable…
PlugFox Nov 18, 2024
fd306df
Update smoke tests
PlugFox Nov 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Questions & Help
url: https://t.me/ru_dart
about: Ask a question about Spinify
47 changes: 38 additions & 9 deletions .github/workflows/checkout.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,23 @@ name: Checkout
on:
workflow_dispatch:
push:
branches:
- "main"
- "master"
#- "dev"
#- "develop"
#- "feature/**"
#- "bugfix/**"
#- "hotfix/**"
#- "support/**"
paths:
- "lib/**.dart"
- "test/**.dart"
- "example/**.dart"
- ".github/workflows/*.yml"
- "pubspec.yaml"
- "analysis_options.yaml"
pull_request:
branches:
- "main"
- "master"
Expand All @@ -16,8 +33,18 @@ on:
- "lib/**.dart"
- "test/**.dart"
- "example/**.dart"
- .github/workflows/*.yml
- ".github/workflows/*.yml"
- "pubspec.yaml"
- "analysis_options.yaml"

permissions:
contents: read
actions: read
checks: write

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
checkout:
Expand All @@ -29,7 +56,7 @@ jobs:
container:
image: dart:stable
env:
pub-cache-name: pub
pub-cache: pub
PUB_CACHE: /github/home/.pub-cache
timeout-minutes: 10
steps:
Expand All @@ -51,8 +78,8 @@ jobs:
uses: actions/cache/restore@v4
with:
path: |
${{ env.PUB_CACHE }}
key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('pubspec.yaml') }}
/home/runner/.pub-cache
key: ${{ runner.os }}-pub-${{ env.pub-cache }}-${{ hashFiles('pubspec.yaml') }}

- name: 👷 Install Dependencies
id: install-dependencies
Expand All @@ -63,16 +90,18 @@ jobs:

- name: 📥 Save Pub modules
id: cache-pub-save
if: steps.cache-pub-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
${{ env.PUB_CACHE }}
key: ${{ runner.os }}-spinify-${{ env.pub-cache-name }}-${{ hashFiles('pubspec.yaml') }}
/home/runner/.pub-cache
key: ${{ steps.cache-pub-restore.outputs.cache-primary-key }}

- name: 🔎 Check format
- name: 🚦 Check code format
id: check-format
timeout-minutes: 1
run: dart format --set-exit-if-changed -l 80 -o none lib/ test/
run: |
find lib test -name "*.dart" ! -name "*.*.dart" -print0 | xargs -0 dart format --set-exit-if-changed --line-length 80 -o none lib/ test/

- name: 📈 Check analyzer
id: check-analyzer
Expand All @@ -99,5 +128,5 @@ jobs:
timeout-minutes: 2
run: |
dart test --color --platform=vm --concurrency=12 \
--timeout=60s --reporter=github --file-reporter=json:coverage/tests.json \
--timeout=60s --reporter=github --file-reporter=json:reports/tests.json \
--coverage=coverage -- test/unit_test.dart
27 changes: 27 additions & 0 deletions .github/workflows/tests-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: "Tests Report"

on:
workflow_run:
workflows: ["Tests"] # runs after "Tests" workflow
types:
- completed

permissions:
contents: read
actions: read
checks: write

jobs:
report:
name: "🚛 Tests report"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Test report
uses: dorny/test-reporter@v1
with:
artifact: test-results
name: Test Report
path: "**/tests.json"
reporter: flutter-json
fail-on-error: false
Loading