Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
558 commits
Select commit Hold shift + click to select a range
93dc6d8
chewie, version 1.8.0. Addresses #814, #815, #821, and #824.
diegotori Apr 1, 2024
da7d07f
Upgraded wakelock_plus to version 1.2.2.
diegotori Apr 2, 2024
1cfc5e1
Merge pull request #825 from diegotori/wakelock_plus_1.2.2_upgrade
diegotori Apr 2, 2024
a4b0233
chewie, version 1.8.1. Addresses Issue #825.
diegotori Apr 2, 2024
502dd0b
chore: export MaterialVideoProgressBar widget.
yujunetee Apr 3, 2024
52bcf75
chore: add barHeight and handleHeight properties.
yujunetee Apr 3, 2024
2836461
fix: isFinished is true only if initialized else false
EmreDET Apr 12, 2024
7772acd
chore: make progress bar independent on chewie controller.
yujunetee May 10, 2024
516d2bf
Add bufferingBuilder
daniellamplnine41 Jun 5, 2024
ce44206
Update compileSdkVersion and dependencies
vaishnavi-2301 Jul 3, 2024
73f5836
Update build.gradle and settings.gradle files, and fix color scheme i…
vaishnavi-2301 Jul 6, 2024
1562d5d
Update build.gradle and settings.gradle files according to the reference
vaishnavi-2301 Jul 17, 2024
3946787
Update minSdk version from 24 to 21
vaishnavi-2307 Jul 30, 2024
16a0659
Merge pull request #842 from vaishnavi-2301/master
diegotori Jul 30, 2024
1fa89df
chewie, version 1.8.2. Package upgrades.
diegotori Jul 30, 2024
e891f9f
Update material_controls.dart
EmreDET Jul 31, 2024
6969744
recreate ios project to make it runnable again
EmreDET Aug 1, 2024
b02e415
add fix for cupertino & desktop
EmreDET Aug 1, 2024
f10054c
add small test for verification
EmreDET Aug 1, 2024
b73ff8e
Merge branch 'master' into fix-is-finished-bug
EmreDET Aug 1, 2024
957c067
format
EmreDET Aug 2, 2024
ac05d15
Updated workflows so that they now run tests as a result of this PR.
diegotori Aug 5, 2024
039c793
Merge pull request #828 from EmreDET/fix-is-finished-bug
diegotori Aug 5, 2024
f58a650
chewie, version 1.8.3. Adds PR #828.
diegotori Aug 5, 2024
1383b60
Merge branch 'fluttercommunity:master' into master
daniellampl Aug 27, 2024
b4c3a0c
Merge pull request #838 from daniellampl/master
Ahmadre Sep 3, 2024
75085dc
chewie, version 1.8.4. Addresses Issue #838.
diegotori Sep 3, 2024
ecd76ac
chore: pass draggableProgressBar from chewieController.
yujunetee Sep 4, 2024
7ba611a
Merge pull request #826 from yujune/master
Ahmadre Sep 7, 2024
34d7b5f
Merge pull request #703 from GyanendroKh/master
diegotori Sep 10, 2024
432f943
Fixed a stray lint issue due to recent PR.
diegotori Sep 10, 2024
c7665a3
chewie, version 1.8.5. Addresses Issue #615.
diegotori Sep 10, 2024
09fdd18
Update README.md
AlexanderThiele Nov 6, 2024
9fde0da
fix: fixed closing when options are opened
Nov 19, 2024
de3e76b
fix: added _buildOptions
Nov 19, 2024
ac17970
refactor: refactored
Nov 19, 2024
9b65ccf
feat: Add `showSubtitlesPerDefault` flag to control subtitles (#648)
floodoo Nov 20, 2024
d07a5de
feat: Add `showSubtitlesPerDefault` flag to control subtitles (#648)
floodoo Nov 20, 2024
e971bdd
- Add devtools_options.yaml configuration files
MoRmdn Dec 15, 2024
7416359
Add keyboard controls seek forward and backward and fullscreen escape
Ortes Dec 15, 2024
8a40655
Add init and dispose focuseNode keyboard controls
Ortes Dec 16, 2024
3df5e00
Fix focusNode dispose issue
Ortes Dec 16, 2024
8a92a7c
Fixed dart lint issues.
diegotori Jan 6, 2025
b2cea03
Merge pull request #874 from MoRmdn/feature/fix_rtl
diegotori Jan 6, 2025
07b1e0a
chewie, version 1.8.6. Addresses Issue #874.
diegotori Jan 6, 2025
56bbc24
Merge branch 'master' into keyboard-controls
diegotori Jan 6, 2025
d8af8fe
Merge pull request #869 from AlexanderThiele/patch-1
diegotori Jan 6, 2025
6cab13d
Formatted PR files.
diegotori Jan 6, 2025
9c7a8a1
Merge pull request #876 from Ortes/keyboard-controls
diegotori Jan 6, 2025
7f636de
chewie, version 1.8.7. Addresses Issue #876.
diegotori Jan 6, 2025
398c1ad
chewie, version 1.9.0. Upgraded minimum Flutter version to 3.27.
diegotori Jan 6, 2025
fcfa7a0
refactor: removed unused parameter
Jan 9, 2025
afa4171
Merge branch 'fluttercommunity:master' into master
floodoo Jan 13, 2025
77798a5
Rename showSubtitlesPerDefault flag to showSubtitles
floodoo Jan 14, 2025
d5d66ea
Merge pull request #872 from floodoo/master
diegotori Jan 15, 2025
d8b4036
Added withOpacityCompact extension to ensure compatibility with Flutt…
diegotori Jan 15, 2025
bc53041
Updated readme.
diegotori Jan 15, 2025
12aebcc
Ignoring withOpacity for the entire Dart extensions file.
diegotori Jan 15, 2025
746795d
Added revamped workflow that now tests this library against both the …
diegotori Jan 15, 2025
48eea7d
Added default flutter version inputs to use with the job matrix.
diegotori Jan 15, 2025
a29521f
Added more descriptive name to new task.
diegotori Jan 15, 2025
0d2516b
Added more descriptive name to new task, take two.
diegotori Jan 15, 2025
5a214f1
Added minimum Dart version supported by minimum Flutter version.
diegotori Jan 15, 2025
acaf684
Added more descriptive name to new task, take three.
diegotori Jan 15, 2025
8ac8700
Added Github Workflow concurrency.
diegotori Jan 15, 2025
411f29b
Merge pull request #890 from diegotori/fix_issue_888
diegotori Jan 15, 2025
43cc200
chewie, version 1.9.1. Fixes issue #888.
diegotori Jan 15, 2025
3df878f
Fixed broken Table of Contents links in README.md.
diegotori Jan 15, 2025
6ad118a
chewie, version 1.9.1+1. Fixed broken Table of Contents links in READ…
diegotori Jan 15, 2025
8431262
Fixed broken Table of Contents links in README.md, take two.
diegotori Jan 15, 2025
c2a54c3
chewie, version 1.9.2. Fixed broken Table of Contents links in README…
diegotori Jan 15, 2025
4238c69
refactor: fixed formatting and made onTap not null
Jan 16, 2025
39f06c5
Merge branch 'fluttercommunity:master' into fix-pop
akmalova Jan 16, 2025
3b6271a
Merge pull request #871 from akmalova/fix-pop
diegotori Jan 16, 2025
6806424
chewie, version 1.10.0. Addresses Issue #618.
diegotori Jan 27, 2025
b7d2442
Added support for Flutter 3.29 while maintaining minimum support for …
diegotori Mar 13, 2025
d172b64
Reverted Flutter 3.29 minimum on the example app due to CI conflicts.
diegotori Mar 13, 2025
f5d99ea
Merge pull request #900 from diegotori/flutter_3.29_upgrade
diegotori Mar 13, 2025
483e22b
chewie, version 1.11.0. Addresses #900.
diegotori Mar 13, 2025
ade5079
Fixed allowMute being ignored on Desktop
mpoimer Feb 27, 2025
4da460a
reverted formatting
mpoimer Mar 14, 2025
2aca16e
formatted with dart 3.27
mpoimer Mar 27, 2025
cafa5cf
Merge pull request #896 from mpoimer/bugfix/mute-on-desktop
diegotori Apr 1, 2025
9c375bd
Add background tap to pause
Ortes Apr 1, 2025
b0ccd83
Fix example on web
Ortes Apr 2, 2025
3a3cf05
Merge pull request #910 from Ortes/fix-example-web
diegotori Apr 2, 2025
1a64333
Merge pull request #875 from Ortes/pause-on-tap
diegotori Apr 2, 2025
0a390f9
chewie, version 1.11.1. Addresses Issues #875, #896, and #910.
diegotori Apr 2, 2025
a05a72d
Add workaround for invalid buffering info on android
timoxd7 Apr 2, 2025
ecea260
Workaround loading spinner after video finished not disappearing on a…
timoxd7 Apr 2, 2025
45c7fca
Moved buffer detection logic for andorid into shared function
timoxd7 Apr 7, 2025
7eacc09
Added workaround information for android to README
timoxd7 Apr 7, 2025
0750c0e
Added additional instructions for android buffering workaround
timoxd7 Apr 7, 2025
4474b31
Removed usage of dart:io
timoxd7 Apr 7, 2025
3515ca1
Fixed README links
timoxd7 Apr 7, 2025
a01ef87
Added information about getIsBuffering
timoxd7 Apr 7, 2025
85cddc5
Updated comment
timoxd7 Apr 8, 2025
fbb60cb
fix: ios subtitleOn flag not working
Apr 8, 2025
25a0d9d
Merge pull request #912 from AerofoilsGmbH/android-buffering-workaround
diegotori Apr 9, 2025
da3e082
chewie, version 1.11.2. Adds PR #912.
diegotori Apr 17, 2025
1cf5881
Merge pull request #917 from alideep5/fix-ios-subtitleOn-not-working
diegotori Apr 17, 2025
4340bc1
chewie, version 1.11.3. Fixes issue #914.
diegotori Apr 17, 2025
3767380
Fix zoomAndPan not having an effect.
abalmagd Apr 30, 2025
c59e4fa
refactor(player-with-controls): Remove interactive viewer from tree i…
abalmagd Jun 30, 2025
67de9c8
refactor(player-with-controls): replace provider call to context.read
abalmagd Jun 30, 2025
bb509b5
Raised the minimum supported Flutter version to 3.29.
diegotori Jun 30, 2025
9580d03
Added more fixes related to supporting Flutter 3.29.
diegotori Jun 30, 2025
e176704
Added more fixes to the Github workflow.
diegotori Jun 30, 2025
ad2e289
Merge pull request #923 from diegotori/flutter_3.29_minimum
diegotori Jun 30, 2025
1369e9d
chewie, version 1.12.0. Fixes issue #923.
diegotori Jun 30, 2025
9738157
Merge remote-tracking branch 'master/master'
abalmagd Jun 30, 2025
94a630b
Added improvements to the Github workflow.
diegotori Jul 1, 2025
f227c50
Ran dart format on library.
diegotori Jul 1, 2025
d51d4e5
Upgraded iOS example project.
diegotori Jul 1, 2025
0b5d1b1
Merge pull request #920 from abalmagd/master
diegotori Jul 1, 2025
c094ed8
chewie, version 1.12.1. Addresses Issue #920.
diegotori Jul 1, 2025
6d2abba
fix(web): keep playback when entering/exiting fullscreen on web
victorspringer Sep 9, 2025
6ceb832
restore changelog
victorspringer Sep 9, 2025
b8b967b
Merge pull request #927 from victorspringer/fix/web-fullscreen-resume
diegotori Sep 9, 2025
d8032dd
Fixed formatting.
diegotori Sep 9, 2025
e5e67ad
Moved the minimum Flutter version to 3.32.
diegotori Sep 9, 2025
8e25a9e
Merge pull request #928 from diegotori/flutter_3.35_upgrade
diegotori Sep 9, 2025
d228479
Fixed CI workflow error syntax issue.
diegotori Sep 9, 2025
c54f4be
Merge pull request #929 from diegotori/github_workflow_fix
diegotori Sep 9, 2025
8b11166
chewie, version 1.13.0. Addresses Issue #927.
diegotori Sep 9, 2025
bec9326
fix: add mounted check in _startHideTimer to prevent setState after d…
Cleparr Mar 11, 2026
7005a65
Merge pull request #940 from Cleparr/fix/start-hide-timer-mounted-check
diegotori Mar 11, 2026
6a50696
chewie, version 1.13.1. Adds PR #940.
diegotori Apr 14, 2026
3e503fd
Upgraded codebase to Flutter 3.41.
diegotori Apr 14, 2026
d3c7b20
Merge pull request #944 from diegotori/flutter_3.41_upgrade
diegotori Apr 22, 2026
b981427
chewie, version 1.14.0. Addresses PR #944.
diegotori Apr 22, 2026
69a8fc7
Downgraded the minimum Flutter version to 3.38.
diegotori May 16, 2026
acb0552
Merge pull request #945 from diegotori/flutter_3.38_downgrade
diegotori May 16, 2026
1bc03f4
chewie, version 1.14.1. Addresses PR #945.
diegotori May 16, 2026
86d9425
feat: native browser fullscreen on web
Ortes May 31, 2026
79472b7
Gate native web fullscreen behind useNativeFullScreenOnWeb flag
Ortes May 31, 2026
05b5e59
Address review: abstract web fullscreen import, drop lint ignore
Ortes May 31, 2026
115e7cb
Merge remote-tracking branch 'upstream/master' into feat/web-native-f…
Ortes May 31, 2026
20ff4cc
feat: show click cursor on hover over Material controls and progress bar
Ortes May 31, 2026
750cd50
feat: render inline markup in subtitle cue text
Ortes Jul 25, 2026
fcfd4ba
Merge pull request #946 from Ortes/feat/web-native-fullscreen
diegotori Aug 11, 2026
63e1d88
Upgraded to Flutter 3.44.
diegotori Aug 11, 2026
665eadf
Codecov workflow won't fail CI if there are errors.
diegotori Aug 11, 2026
0d75a1c
Fixed slight issue due to previous commit.
diegotori Aug 11, 2026
8053a97
Forgot to move minimum version of Flutter in the workflow.
diegotori Aug 11, 2026
ebc34e3
Downgraded video_player to the most recent version compatible with Fl…
diegotori Aug 11, 2026
7c2ece2
Merge pull request #960 from diegotori/flutter_3.44_upgrade
diegotori Aug 11, 2026
7a4631c
test: cover non-markup cue text and parser edge cases
Ortes Aug 11, 2026
4290255
Merge pull request #950 from Ortes/feat/click-cursor-controls
diegotori Aug 11, 2026
831b123
Merge pull request #958 from Ortes/feat/subtitle-markup-rendering
diegotori Aug 11, 2026
b58444c
chewie, version 1.15.0. Addresses PR #946, #950, #958, and #960.
diegotori Aug 12, 2026
ec42778
feat: Expose showPlayButton on ChewieController (#494)
ibrahim-iqbal Aug 28, 2026
9fceaed
Keep the requested position painted while a seek is in flight
Ortes Aug 28, 2026
7bf9164
Merge pull request #966 from Ortes/feat/progress-bar-seek-snapback
diegotori Sep 1, 2026
b7b33dd
Upgraded minimum supported Flutter version to 3.44 as a result of 3.47.
diegotori Sep 1, 2026
425d0b7
Merge pull request #967 from diegotori/flutter_3.47_upgrade
diegotori Sep 1, 2026
855c16b
chewie, version 1.16.0. Address PR #967.
diegotori Sep 1, 2026
55d7bde
chewie, version 1.16.0+1. Fixed lingering dart lint issues from previ…
diegotori Sep 1, 2026
95a1866
Merge pull request #962 from ibrahim-iqbal/feat/494-show-center-play-…
diegotori Sep 1, 2026
50d4bae
chewie, version 1.16.1. Addresses PR #962.
diegotori Sep 1, 2026
c1d3fc0
Reformat _PlaybackSpeedDialog to satisfy dart format
Ortes Sep 1, 2026
d4c7c49
Merge pull request #968 from Ortes/fix/dart-format-cupertino-controls
diegotori Sep 1, 2026
2ba933a
Add chapter segments and hover/scrub chapter title to the progress bar
Ortes Aug 5, 2026
6ae97f6
Show click cursor when hovering the seekable progress bar
Ortes Aug 6, 2026
631ed56
test: cover chapter segments, hover/scrub label, and controller plumbing
Ortes Aug 6, 2026
969acb1
test: call super.dispose in the fake video controller
Ortes Aug 6, 2026
b677edf
Drop the duplicated click cursor now that #950 is merged
Ortes Aug 12, 2026
67731aa
Assert that chapters are sorted by ascending start time
Ortes Aug 12, 2026
bcef2c4
docs: document the chapters API in dartdoc, README and changelog
Ortes Aug 12, 2026
e3d0474
Merge pull request #959 from Ortes/feat/progress-bar-chapters-upstream
diegotori Sep 2, 2026
029d03b
chewie, version 1.16.2. Addresses PRs #959 and #968.
diegotori Sep 2, 2026
18dadd8
fix: use the video element's fullscreen where the browser has no Full…
Ortes Sep 7, 2026
cc862ba
docs: add CHANGELOG entry for #970
Ortes Sep 7, 2026
a3b7ab3
test: cover the video-element fullscreen branch
Ortes Sep 7, 2026
0a3125f
Merge pull request #970 from Fullphysio/fix/fullscreen-route-pop-upst…
diegotori Sep 11, 2026
9025e3e
chewie, version 1.16.3. Addresses PR #970.
diegotori Sep 11, 2026
e591d02
feat: casting support (Chromecast, AirPlay or anything else)
a1rwulf Aug 18, 2026
88830fb
feat: additionalControls, for control-bar widgets
a1rwulf Aug 18, 2026
a3c8955
feat: let control bars style the widgets they are given
a1rwulf Aug 18, 2026
232097e
docs(example): demonstrate additionalControls and ChewieControlStyle
a1rwulf Aug 18, 2026
afd0989
fix: keep supplied Cupertino controls apart
a1rwulf Aug 18, 2026
c53833a
fix: adopt a cast session that is already running
a1rwulf Aug 18, 2026
c2b88da
docs: changelog for the control-bar and session-adoption work
a1rwulf Aug 18, 2026
4e1003b
refactor: extract CupertinoCastButton from a build method
a1rwulf Sep 1, 2026
f99ae11
refactor: extract CupertinoAdditionalControls and the frosted pill
a1rwulf Sep 1, 2026
2435371
feat: present the device picker in the skin's own idiom
a1rwulf Sep 1, 2026
9d29c6b
fix(example): dispose the players a source switch replaces
a1rwulf Sep 2, 2026
86a3ff9
fix: no buffering spinner while casting
a1rwulf Sep 2, 2026
3aea4ec
feat: externalPlayback, for video that left the device by other means
a1rwulf Sep 2, 2026
41314c1
fix: no centre play or seek buttons while playback is remote
a1rwulf Sep 3, 2026
0e06ad1
fix: show the casting overlay from the moment a device is picked
a1rwulf Sep 3, 2026
141aa7e
fix: treat connecting as remote, so the controls stop decorating the …
a1rwulf Sep 3, 2026
9c458b3
Merge pull request #961 from a1rwulf/feat/cast-api
diegotori Sep 14, 2026
df509b1
chewie, version 1.17.0. Addresses PR #961.
diegotori Sep 14, 2026
bec8436
feat: toggle fullscreen with the F key on desktop
Ortes Jul 9, 2026
6a24741
test: cover F-key fullscreen toggle and allowFullScreen gate
Ortes Jul 9, 2026
1c3f3a6
Add documentation about pauseOnBackgroundTap feature
Ortes Apr 2, 2025
239ed5a
Add disableFullScreenRoute to let the embedder own fullscreen
May 31, 2026
c6c093d
test: cover disableFullScreenRoute behavior and copyWith
Ortes Jun 1, 2026
1239f69
style: dart format after rebase onto master
Ortes Aug 12, 2026
cfedc5d
feat: auto-hide the mouse cursor while idle in fullscreen
Ortes Jul 9, 2026
f71dfc5
test: cover hideCursorInFullScreen default, copyWith and idle gate
Ortes Jul 9, 2026
dfa3f2d
style: dart format after rebase onto master
Ortes Sep 14, 2026
67edc87
feat: show a hover-time indicator on the progress bar
Ortes Sep 9, 2026
a438969
Merge pull request #954 from Fullphysio/feat/hide-cursor-in-fullscreen
diegotori Sep 14, 2026
9434e09
Merge pull request #955 from Fullphysio/feat/keyboard-fullscreen-toggle
diegotori Sep 14, 2026
a34f816
feat: show the controls when play/pause comes from outside the controls
Ortes Sep 14, 2026
f1c4a3a
Add ChewieController.swapVideoSource
Ortes Aug 28, 2026
f81dfe8
Test listener re-targeting when Chewie is rebuilt with a new controller
Ortes Aug 28, 2026
d7b3e7e
Merge pull request #956 from Fullphysio/feat/progress-bar-hover-time
diegotori Sep 14, 2026
1ddf799
Merge pull request #957 from Fullphysio/feat/external-playpause-controls
diegotori Sep 14, 2026
5692641
Merge pull request #947 from Fullphysio/feat/disable-fullscreen-route…
diegotori Sep 14, 2026
b8486f8
chewie, version 1.17.1. Addresses PR #947, #954, #955, #956, and #957.
diegotori Sep 14, 2026
71a35d4
Add swipedown exists fullscreen feature
Ortes Sep 19, 2025
ab4bb9a
Make swipe down to exit fullscreen an option
Ortes Sep 22, 2025
cc0c4d0
test: cover swipe to exit fullscreen
Ortes Aug 27, 2026
e776ce7
style: dart format after rebase onto master
Ortes Sep 14, 2026
a2052b6
Merge pull request #930 from Fullphysio/feat/swipe-down-exit-fullscreen
diegotori Sep 14, 2026
251f420
Merge pull request #911 from Fullphysio/pauseOnBackgroundTap-doc
diegotori Sep 14, 2026
e0924ef
feat: YouTube-style keyboard seek indicator
Ortes Jul 9, 2026
c8c7cce
test: cover keyboard seek indicator accumulation and option
Ortes Jul 9, 2026
ba793f3
feat: make the keyboard seek amount configurable
Ortes Jul 9, 2026
f69907f
style: dart format after rebase onto master
Ortes Sep 14, 2026
7fb5885
style: dart format after rebase onto master
Ortes Sep 14, 2026
2d80324
Merge pull request #953 from Fullphysio/feat/keyboard-seek-indicator
diegotori Sep 16, 2026
f71ef95
Merge pull request #963 from Fullphysio/feat/swap-video-source
diegotori Sep 16, 2026
a18604d
Add typed video-quality selection to the options menu
Ortes Aug 28, 2026
c3d422a
Cover the quality menu in the Cupertino and desktop skins
Ortes Aug 28, 2026
00d4b3a
style: dart format after rebase onto master
Ortes Sep 14, 2026
858771f
Merge pull request #965 from Fullphysio/feat/video-quality-selection
diegotori Sep 16, 2026
ac295b9
feat: YouTube-style tap gestures for the Material controls
Ortes Sep 14, 2026
62d9d8f
test: cover the double-tap hit area's regular tap-handling branches
Ortes Sep 16, 2026
c135ffd
Add multi-track audio selection
Ortes May 29, 2026
1af0eb4
style: apply dart format
Ortes Jun 1, 2026
094554f
test: cover multi-track audio selection
Ortes Jun 1, 2026
be69fcd
fix: use initializing formals in AudioTrackDialog
Ortes Sep 1, 2026
c008294
style: dart format after rebase onto master
Ortes Sep 16, 2026
b34b338
fixup: keep the swapVideoSource getter, drop the superseded final field
Ortes Sep 16, 2026
a0ddf90
fixup: close the quality option item before the audio one
Ortes Sep 16, 2026
3ce7dd9
Merge pull request #964 from Fullphysio/feat/yt-tap-gestures
diegotori Sep 16, 2026
875d4c1
Merge pull request #949 from Fullphysio/feat/audio-tracks-upstream
diegotori Sep 16, 2026
5bc2eb3
Add multi-track subtitle selection
Ortes May 29, 2026
5981e58
test: cover multi-track subtitle selection
Ortes Jun 1, 2026
0e42890
fix: thread translated off-label into desktop subtitle picker
Ortes Jun 1, 2026
c873d9e
fix: use initializing formals in SubtitleTrackDialog
Ortes Sep 1, 2026
c47c422
fixup: fold liveSubtitle disposal into the controller's dispose
Ortes Sep 14, 2026
6322ce2
fix: sync the subtitle toggle with programmatic track selection
Ortes Aug 12, 2026
d568acf
fixup: keep the swapVideoSource getter, drop the superseded final field
Ortes Sep 16, 2026
3fb93a3
Merge pull request #948 from Fullphysio/feat/subtitle-tracks-upstream
diegotori Sep 16, 2026
1b620d4
chewie, version 1.17.2. Addresses PR #911, #930, #948, #949, #953, #9…
diegotori Sep 16, 2026
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
99 changes: 99 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: CI

on:
pull_request:
types: [opened, synchronize, reopened]
paths-ignore:
- '**.md'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
# Define global environment variables for the workflow
# The version of Flutter to use should use the minimum Dart SDK version supported by the package,
# refer to https://docs.flutter.dev/development/tools/sdk/releases.
# Note: The version below should be manually updated to the latest second most recent version
# after a new stable version comes out.
# Current minimum is set to Flutter 3.44. Make the next version the new minimum once the next
# stable version is released
FLUTTER_VERSION_MINIMUM_DEFAULT: "3.44.7"
FLUTTER_VERSION_LATEST_STABLE_CHANNEL_DEFAULT: "3.x"

jobs:
setup_matrix:
name: Determine Flutter Test Versions # Name for the setup_matrix job
runs-on: ubuntu-latest
outputs:
flutter_versions_json: ${{ steps.set_versions.outputs.versions_json }}
flutter_version_minimum: ${{ steps.set_versions.outputs.version_min }}
steps:
- name: Determine Flutter versions
id: set_versions
run: |
MIN_VERSION_VALUE="${{ env.FLUTTER_VERSION_MINIMUM_DEFAULT }}"
LATEST_VERSION_VALUE="${{ env.FLUTTER_VERSION_LATEST_STABLE_CHANNEL_DEFAULT }}"

echo "version_min=$MIN_VERSION_VALUE" >> $GITHUB_OUTPUT
echo "version_latest=$LATEST_VERSION_VALUE" >> $GITHUB_OUTPUT

VERSIONS_JSON=$(jq -c --null-input '$ARGS.positional' --args "$MIN_VERSION_VALUE" "$LATEST_VERSION_VALUE")
echo "versions_json=$VERSIONS_JSON" >> $GITHUB_OUTPUT

echo "Determined Min Version: $MIN_VERSION_VALUE"
echo "Determined Latest Version: $LATEST_VERSION_VALUE"
echo "Determined JSON: $VERSIONS_JSON"

# Does a sanity check that packages at least pass analysis on the N-1
# versions of Flutter stable if the package claims to support that version.
# This is to minimize accidentally making changes that break old versions
# (which we don't commit to supporting, but don't want to actively break)
# without updating the constraints.
lint_and_build:
name: Flutter Version ${{ matrix.flutter-version }} Lint and Build.
needs: setup_matrix # Ensures this job runs after setup_matrix completes
runs-on: ubuntu-latest
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
FLUTTER_VERSION_MINIMUM: ${{ needs.setup_matrix.outputs.flutter_version_minimum }}
strategy:
matrix:
flutter-version: ${{ fromJSON(needs.setup_matrix.outputs.flutter_versions_json) }}
fail-fast: false
steps:
- name: 📚 Git Checkout
uses: actions/checkout@v6

- name: 🐦 Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.flutter-version }}
channel: stable
cache: true
cache-key: flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}

- name: 📦 Install Dependencies
run: flutter packages get

- name: ✨ Check Formatting
run: dart format --set-exit-if-changed lib
# Only continue on error if this is the job for the MINIMUM Flutter version
# This allows formatting issues to be warnings on older supported versions
# but enforces them on the latest stable or primary development version.
continue-on-error: "${{ matrix.flutter-version == env.FLUTTER_VERSION_MINIMUM }}"

- name: 🕵️ Analyze
run: flutter analyze lib

- name: 🧪 Run Tests
run: flutter test --no-pub --coverage --test-randomize-ordering-seed random

- name: 📁 Upload coverage to Codecov
uses: codecov/codecov-action@v7
with:
fail_ci_if_error: false
handle_no_reports_found: true
# TODO: Remove the below once we have adequate tests for this library.
continue-on-error: true
28 changes: 28 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Create release

on:
workflow_dispatch:

jobs:
changelog:
name: Create changelog
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Conventional Changelog Action
id: changelog
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
version-file: ./pubspec.yaml
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.changelog.outputs.tag }}
release_name: ${{ steps.changelog.outputs.tag }}
body: ${{ steps.changelog.outputs.clean_changelog }}
12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,14 @@ build/

.project
.classpath
.settings
.settings

coverage/*

# AI Agents
.artifacts/
.agent/
.cursor/
.windsurf/
.aide/
*.artifact.md
Loading