From d1668e3cc13b7e8fcbbf765d69570bb0af981df0 Mon Sep 17 00:00:00 2001 From: Ernane Date: Fri, 3 Jul 2026 12:49:12 -0300 Subject: [PATCH 1/2] fix: remove hardcoded media: "screen" default from vite_javascript_tag vite_javascript_tag was explicitly passing media: "screen" to stylesheet_link_tag, overriding Rails' own apply_stylesheet_media_default setting. Users who opt out of the legacy media default (by setting apply_stylesheet_media_default = false) were still getting media="screen" on stylesheet link tags generated by vite_javascript_tag. Changing the default to nil defers to stylesheet_link_tag's own behavior: when apply_stylesheet_media_default is true (Rails default), it still adds media="screen"; when it's false, no media attribute is rendered. Callers who need a specific value can still pass media: "screen" (or any other value) explicitly. Fixes #535 --- vite_rails/lib/vite_rails/tag_helpers.rb | 2 +- vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vite_rails/lib/vite_rails/tag_helpers.rb b/vite_rails/lib/vite_rails/tag_helpers.rb index 3cdd2e60..56c6b3c8 100644 --- a/vite_rails/lib/vite_rails/tag_helpers.rb +++ b/vite_rails/lib/vite_rails/tag_helpers.rb @@ -41,7 +41,7 @@ def vite_javascript_tag(*names, skip_preload_tags: false, skip_style_tags: false, crossorigin: "", - media: "screen", + media: nil, **options) entries = vite_manifest.resolve_entries(*names, type: asset_type) tags = javascript_include_tag(*entries.fetch(:scripts), crossorigin: crossorigin, type: type, extname: false, **options) diff --git a/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb b/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb index 04b63848..fa1241fb 100644 --- a/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb +++ b/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb @@ -37,7 +37,7 @@ def vite_javascript_tag(*names, skip_preload_tags: false, skip_style_tags: false, crossorigin: "anonymous", - media: "screen", + media: nil, **options) entries = vite_manifest.resolve_entries(*names, type: asset_type) tags = javascript_include_tag(*entries.fetch(:scripts), crossorigin: crossorigin, type: type, extname: false, **options) From e397ffe4c3bd34907a168386378921e3d0d7a642 Mon Sep 17 00:00:00 2001 From: Maximo Mussini Date: Fri, 3 Jul 2026 13:42:40 -0300 Subject: [PATCH 2/2] chore: revert change to legacy gem --- vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb b/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb index fa1241fb..04b63848 100644 --- a/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb +++ b/vite_rails_legacy/lib/vite_rails_legacy/tag_helpers.rb @@ -37,7 +37,7 @@ def vite_javascript_tag(*names, skip_preload_tags: false, skip_style_tags: false, crossorigin: "anonymous", - media: nil, + media: "screen", **options) entries = vite_manifest.resolve_entries(*names, type: asset_type) tags = javascript_include_tag(*entries.fetch(:scripts), crossorigin: crossorigin, type: type, extname: false, **options)