actiontext 7.2.0.beta1 → 7.2.0.beta3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actiontext might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d497d50205633b66005bfcfe850ee8d5404c0b3b9f953a14356bb912c8b3b4d5
4
- data.tar.gz: '099e3d4dca02f13983f06b8ffcf6c49a1bb2f3cb66ae94e8534c0764f8b56700'
3
+ metadata.gz: 65724c998d6b019bb85d677b268775d32c2186626222f56a3020f832adb8927f
4
+ data.tar.gz: 365d4797f49ba681aefd35e8326e88b1aa1a06b1d8809c1f7d52baa7a8fd8708
5
5
  SHA512:
6
- metadata.gz: e9acfe56af6ec22cf0448fc42c7dc3cba769bbbce316efa926869ac083db8491a547366ae5beede3da8a02b75c1cbb6f7a8e252c0519fbd7c282af841835a644
7
- data.tar.gz: 9beaaede36bf8158e2fee2e6d5f2fb02dbaabeb86a279ee7ca0e9ef87b5cc710d3ea454ae3e8723235eb8b2d2bc2586e540f89623c2609fd3620207e2785c042
6
+ metadata.gz: 19644ed4010376665015b5ac97079d66e23f520be347f5e763b78b24633b8be564f26ab5a99443467d6996c20933791be5c433d8bcce13e75182433f47b26057
7
+ data.tar.gz: fd5ad4003f16c44430f2bf320f1b2dc666a063d3e6fd7bba2e81be7b9c672988260f1de1a2a03ee3a0b55ed024a67e4353d53d067dfb4f703dcfc1dd3ec3fdf4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## Rails 7.2.0.beta3 (July 11, 2024) ##
2
+
3
+ * Only sanitize `content` attribute when present in attachments.
4
+
5
+ *Petrik de Heus*
6
+
7
+
8
+ ## Rails 7.2.0.beta2 (June 04, 2024) ##
9
+
10
+ * Sanitize ActionText HTML ContentAttachment in Trix edit view
11
+ [CVE-2024-32464]
12
+
13
+ *Aaron Patterson*, *Zack Deveau*
14
+
15
+
1
16
  ## Rails 7.2.0.beta1 (May 29, 2024) ##
2
17
 
3
18
  * Use `includes` instead of `eager_load` for `with_all_rich_text`.
@@ -771,9 +771,9 @@ function start() {
771
771
  }
772
772
 
773
773
  function didClick(event) {
774
- const {target: target} = event;
775
- if ((target.tagName == "INPUT" || target.tagName == "BUTTON") && target.type == "submit" && target.form) {
776
- submitButtonsByForm.set(target.form, target);
774
+ const button = event.target.closest("button, input");
775
+ if (button && button.type === "submit" && button.form) {
776
+ submitButtonsByForm.set(button.form, button);
777
777
  }
778
778
  }
779
779
 
@@ -753,9 +753,9 @@
753
753
  }
754
754
  }
755
755
  function didClick(event) {
756
- const {target: target} = event;
757
- if ((target.tagName == "INPUT" || target.tagName == "BUTTON") && target.type == "submit" && target.form) {
758
- submitButtonsByForm.set(target.form, target);
756
+ const button = event.target.closest("button, input");
757
+ if (button && button.type === "submit" && button.form) {
758
+ submitButtonsByForm.set(button.form, button);
759
759
  }
760
760
  }
761
761
  function didSubmitForm(event) {
@@ -16,6 +16,15 @@ module ActionText
16
16
  sanitize_action_text_content(render_action_text_attachments(content))
17
17
  end
18
18
 
19
+ def sanitize_content_attachment(content_attachment)
20
+ sanitizer.sanitize(
21
+ content_attachment,
22
+ tags: sanitizer_allowed_tags,
23
+ attributes: sanitizer_allowed_attributes,
24
+ scrubber: scrubber,
25
+ )
26
+ end
27
+
19
28
  def sanitize_action_text_content(content)
20
29
  sanitizer.sanitize(
21
30
  content.to_html,
@@ -22,7 +22,7 @@ module ActionText
22
22
  # body.to_s # => "<h1>Funny times!</h1>"
23
23
  # body.to_plain_text # => "Funny times!"
24
24
  class Content
25
- include Rendering, Serialization
25
+ include Rendering, Serialization, ContentHelper
26
26
 
27
27
  attr_reader :fragment
28
28
 
@@ -97,6 +97,9 @@ module ActionText
97
97
 
98
98
  def render_attachments(**options, &block)
99
99
  content = fragment.replace(ActionText::Attachment.tag_name) do |node|
100
+ if node.key? "content"
101
+ node["content"] = sanitize_content_attachment(node["content"])
102
+ end
100
103
  block.call(attachment_for_node(node, **options))
101
104
  end
102
105
  self.class.new(content, canonicalize: false)
@@ -12,7 +12,7 @@ module ActionText
12
12
  MAJOR = 7
13
13
  MINOR = 2
14
14
  TINY = 0
15
- PRE = "beta1"
15
+ PRE = "beta3"
16
16
 
17
17
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
18
18
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rails/actiontext",
3
- "version": "7.2.0-beta1",
3
+ "version": "7.2.0-beta3",
4
4
  "description": "Edit and display rich text in Rails applications",
5
5
  "module": "app/assets/javascripts/actiontext.esm.js",
6
6
  "main": "app/assets/javascripts/actiontext.js",
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "license": "MIT",
24
24
  "dependencies": {
25
- "@rails/activestorage": ">= 7.1.0-alpha"
25
+ "@rails/activestorage": ">= 7.2.0-alpha"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "trix": "^2.0.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actiontext
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.0.beta1
4
+ version: 7.2.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javan Makhmali
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-05-29 00:00:00.000000000 Z
13
+ date: 2024-07-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -18,56 +18,56 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 7.2.0.beta1
21
+ version: 7.2.0.beta3
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 7.2.0.beta1
28
+ version: 7.2.0.beta3
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: activerecord
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 7.2.0.beta1
35
+ version: 7.2.0.beta3
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 7.2.0.beta1
42
+ version: 7.2.0.beta3
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: activestorage
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 7.2.0.beta1
49
+ version: 7.2.0.beta3
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 7.2.0.beta1
56
+ version: 7.2.0.beta3
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: actionpack
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 7.2.0.beta1
63
+ version: 7.2.0.beta3
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 7.2.0.beta1
70
+ version: 7.2.0.beta3
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: nokogiri
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -163,10 +163,10 @@ licenses:
163
163
  - MIT
164
164
  metadata:
165
165
  bug_tracker_uri: https://github.com/rails/rails/issues
166
- changelog_uri: https://github.com/rails/rails/blob/v7.2.0.beta1/actiontext/CHANGELOG.md
167
- documentation_uri: https://api.rubyonrails.org/v7.2.0.beta1/
166
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.0.beta3/actiontext/CHANGELOG.md
167
+ documentation_uri: https://api.rubyonrails.org/v7.2.0.beta3/
168
168
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
169
- source_code_uri: https://github.com/rails/rails/tree/v7.2.0.beta1/actiontext
169
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.0.beta3/actiontext
170
170
  rubygems_mfa_required: 'true'
171
171
  post_install_message:
172
172
  rdoc_options: []
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubygems_version: 3.5.10
186
+ rubygems_version: 3.5.11
187
187
  signing_key:
188
188
  specification_version: 4
189
189
  summary: Rich text framework.