Skip to content

Commit e7ea03c

Browse files
committed
feat(deps): use html2rss in latest development status
Signed-off-by: Gil Desmarais <git@desmarais.de>
1 parent 8e0dea5 commit e7ea03c

10 files changed

Lines changed: 179 additions & 171 deletions

Gemfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ source 'https://rubygems.org'
44

55
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
66

7-
gem 'html2rss', '~> 0.14'
7+
# gem 'html2rss', '~> 0.14'
8+
gem 'html2rss', github: 'html2rss/html2rss'
9+
810
gem 'html2rss-configs', github: 'html2rss/html2rss-configs'
911

1012
# Use these instead of the two above (uncomment them) when developing locally:

Gemfile.lock

Lines changed: 97 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
GIT
2+
remote: https://github.com/html2rss/html2rss
3+
revision: 1f0ac39cee0d88155ee991dfface9d37debba636
4+
specs:
5+
html2rss (0.17.0)
6+
addressable (~> 2.7)
7+
dry-validation
8+
faraday (> 2.0.1, < 3.0)
9+
faraday-follow_redirects
10+
kramdown
11+
mime-types (> 3.0)
12+
nokogiri (>= 1.10, < 2.0)
13+
parallel
14+
puppeteer-ruby
15+
regexp_parser
16+
reverse_markdown (~> 3.0)
17+
rss
18+
sanitize
19+
thor
20+
tzinfo
21+
zeitwerk
22+
123
GIT
224
remote: https://github.com/html2rss/html2rss-configs
325
revision: 6aadc0cf35c10642a4f15022e3ee9902360d3171
@@ -10,20 +32,55 @@ GEM
1032
specs:
1133
addressable (2.8.7)
1234
public_suffix (>= 2.0.2, < 7.0)
13-
ast (2.4.2)
35+
ast (2.4.3)
1436
base64 (0.2.0)
1537
bigdecimal (3.1.9)
16-
byebug (11.1.3)
38+
byebug (12.0.0)
1739
climate_control (1.2.0)
1840
concurrent-ruby (1.3.5)
1941
crack (1.0.0)
2042
bigdecimal
2143
rexml
2244
crass (1.0.6)
23-
diff-lcs (1.6.0)
45+
diff-lcs (1.6.2)
2446
docile (1.4.1)
47+
dry-configurable (1.3.0)
48+
dry-core (~> 1.1)
49+
zeitwerk (~> 2.6)
50+
dry-core (1.1.0)
51+
concurrent-ruby (~> 1.0)
52+
logger
53+
zeitwerk (~> 2.6)
54+
dry-inflector (1.2.0)
55+
dry-initializer (3.2.0)
56+
dry-logic (1.6.0)
57+
bigdecimal
58+
concurrent-ruby (~> 1.0)
59+
dry-core (~> 1.1)
60+
zeitwerk (~> 2.6)
61+
dry-schema (1.14.1)
62+
concurrent-ruby (~> 1.0)
63+
dry-configurable (~> 1.0, >= 1.0.1)
64+
dry-core (~> 1.1)
65+
dry-initializer (~> 3.2)
66+
dry-logic (~> 1.5)
67+
dry-types (~> 1.8)
68+
zeitwerk (~> 2.6)
69+
dry-types (1.8.2)
70+
bigdecimal (~> 3.0)
71+
concurrent-ruby (~> 1.0)
72+
dry-core (~> 1.0)
73+
dry-inflector (~> 1.0)
74+
dry-logic (~> 1.4)
75+
zeitwerk (~> 2.6)
76+
dry-validation (1.11.1)
77+
concurrent-ruby (~> 1.0)
78+
dry-core (~> 1.1)
79+
dry-initializer (~> 3.2)
80+
dry-schema (~> 1.14)
81+
zeitwerk (~> 2.6)
2582
erubi (1.13.1)
26-
faraday (2.12.2)
83+
faraday (2.13.1)
2784
faraday-net_http (>= 2.0, < 3.5)
2885
json
2986
logger
@@ -32,54 +89,41 @@ GEM
3289
faraday-net_http (3.4.0)
3390
net-http (>= 0.5.0)
3491
hashdiff (1.1.2)
35-
html2rss (0.17.0)
36-
addressable (~> 2.7)
37-
faraday (> 2.0.1, < 3.0)
38-
faraday-follow_redirects
39-
kramdown
40-
mime-types (> 3.0)
41-
nokogiri (>= 1.10, < 2.0)
42-
parallel
43-
puppeteer-ruby
44-
regexp_parser
45-
reverse_markdown (~> 3.0)
46-
rss
47-
sanitize (~> 6.0)
48-
thor
49-
tzinfo
50-
zeitwerk
51-
json (2.10.2)
92+
json (2.12.0)
5293
kramdown (2.5.1)
5394
rexml (>= 3.3.9)
54-
language_server-protocol (3.17.0.4)
95+
language_server-protocol (3.17.0.5)
5596
lint_roller (1.1.0)
56-
logger (1.6.6)
57-
mime-types (3.6.0)
97+
logger (1.7.0)
98+
mime-types (3.7.0)
5899
logger
59-
mime-types-data (~> 3.2015)
60-
mime-types-data (3.2025.0304)
61-
mini_portile2 (2.8.8)
100+
mime-types-data (~> 3.2025, >= 3.2025.0507)
101+
mime-types-data (3.2025.0507)
62102
net-http (0.6.0)
63103
uri
64104
nio4r (2.7.4)
65-
nokogiri (1.18.8)
66-
mini_portile2 (~> 2.8.2)
67-
racc (~> 1.4)
68105
nokogiri (1.18.8-aarch64-linux-gnu)
69106
racc (~> 1.4)
107+
nokogiri (1.18.8-aarch64-linux-musl)
108+
racc (~> 1.4)
70109
nokogiri (1.18.8-arm-linux-gnu)
71110
racc (~> 1.4)
111+
nokogiri (1.18.8-arm-linux-musl)
112+
racc (~> 1.4)
72113
nokogiri (1.18.8-arm64-darwin)
73114
racc (~> 1.4)
74115
nokogiri (1.18.8-x86_64-darwin)
75116
racc (~> 1.4)
76117
nokogiri (1.18.8-x86_64-linux-gnu)
77118
racc (~> 1.4)
119+
nokogiri (1.18.8-x86_64-linux-musl)
120+
racc (~> 1.4)
78121
parallel (1.27.0)
79-
parser (3.3.7.1)
122+
parser (3.3.8.0)
80123
ast (~> 2.4.1)
81124
racc
82-
public_suffix (6.0.1)
125+
prism (1.4.0)
126+
public_suffix (6.0.2)
83127
puma (6.6.0)
84128
nio4r (~> 2.0)
85129
puppeteer-ruby (0.45.6)
@@ -108,45 +152,46 @@ GEM
108152
rspec-mocks (~> 3.13.0)
109153
rspec-core (3.13.3)
110154
rspec-support (~> 3.13.0)
111-
rspec-expectations (3.13.3)
155+
rspec-expectations (3.13.4)
112156
diff-lcs (>= 1.2.0, < 2.0)
113157
rspec-support (~> 3.13.0)
114-
rspec-mocks (3.13.2)
158+
rspec-mocks (3.13.4)
115159
diff-lcs (>= 1.2.0, < 2.0)
116160
rspec-support (~> 3.13.0)
117-
rspec-support (3.13.2)
161+
rspec-support (3.13.3)
118162
rss (0.3.1)
119163
rexml
120-
rubocop (1.74.0)
164+
rubocop (1.75.5)
121165
json (~> 2.3)
122166
language_server-protocol (~> 3.17.0.2)
123167
lint_roller (~> 1.1.0)
124168
parallel (~> 1.10)
125169
parser (>= 3.3.0.2)
126170
rainbow (>= 2.2.2, < 4.0)
127171
regexp_parser (>= 2.9.3, < 3.0)
128-
rubocop-ast (>= 1.38.0, < 2.0)
172+
rubocop-ast (>= 1.44.0, < 2.0)
129173
ruby-progressbar (~> 1.7)
130174
unicode-display_width (>= 2.4.0, < 4.0)
131-
rubocop-ast (1.39.0)
132-
parser (>= 3.3.1.0)
133-
rubocop-performance (1.24.0)
175+
rubocop-ast (1.44.1)
176+
parser (>= 3.3.7.2)
177+
prism (~> 1.4)
178+
rubocop-performance (1.25.0)
134179
lint_roller (~> 1.1)
135-
rubocop (>= 1.72.1, < 2.0)
180+
rubocop (>= 1.75.0, < 2.0)
136181
rubocop-ast (>= 1.38.0, < 2.0)
137182
rubocop-rake (0.7.1)
138183
lint_roller (~> 1.1)
139184
rubocop (>= 1.72.1)
140-
rubocop-rspec (3.5.0)
185+
rubocop-rspec (3.6.0)
141186
lint_roller (~> 1.1)
142187
rubocop (~> 1.72, >= 1.72.1)
143188
rubocop-thread_safety (0.7.2)
144189
lint_roller (~> 1.1)
145190
rubocop (~> 1.72, >= 1.72.1)
146191
ruby-progressbar (1.13.0)
147-
sanitize (6.1.3)
192+
sanitize (7.0.0)
148193
crass (~> 1.0.2)
149-
nokogiri (>= 1.12.0)
194+
nokogiri (>= 1.16.8)
150195
sentry-ruby (5.23.0)
151196
bigdecimal
152197
concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -156,7 +201,7 @@ GEM
156201
simplecov_json_formatter (~> 0.1)
157202
simplecov-html (0.13.1)
158203
simplecov_json_formatter (0.1.4)
159-
ssrf_filter (1.2.0)
204+
ssrf_filter (1.3.0)
160205
stackprof (0.2.27)
161206
thor (1.3.2)
162207
tilt (2.6.0)
@@ -180,19 +225,21 @@ GEM
180225
zeitwerk (2.7.2)
181226

182227
PLATFORMS
183-
aarch64-linux
184-
arm-linux
228+
aarch64-linux-gnu
229+
aarch64-linux-musl
230+
arm-linux-gnu
231+
arm-linux-musl
185232
arm64-darwin
186-
x86-linux
187233
x86_64-darwin
188-
x86_64-linux
234+
x86_64-linux-gnu
235+
x86_64-linux-musl
189236

190237
DEPENDENCIES
191238
base64
192239
byebug
193240
climate_control
194241
erubi
195-
html2rss (~> 0.14)
242+
html2rss!
196243
html2rss-configs!
197244
parallel
198245
puma
@@ -217,90 +264,5 @@ DEPENDENCIES
217264
webmock
218265
yard
219266

220-
CHECKSUMS
221-
addressable (2.8.7) sha256=462986537cf3735ab5f3c0f557f14155d778f4b43ea4f485a9deb9c8f7c58232
222-
ast (2.4.2) sha256=1e280232e6a33754cde542bc5ef85520b74db2aac73ec14acef453784447cc12
223-
base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
224-
bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
225-
byebug (11.1.3) sha256=2485944d2bb21283c593d562f9ae1019bf80002143cc3a255aaffd4e9cf4a35b
226-
climate_control (1.2.0) sha256=36b21896193fa8c8536fa1cd843a07cf8ddbd03aaba43665e26c53ec1bd70aa5
227-
concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
228-
crack (1.0.0) sha256=c83aefdb428cdc7b66c7f287e488c796f055c0839e6e545fec2c7047743c4a49
229-
crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
230-
diff-lcs (1.6.0) sha256=a1e7f7b272962f8fc769358ad00001b87cdcf32ba349d6c70c6b544613d2da2e
231-
docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
232-
erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
233-
faraday (2.12.2) sha256=157339c25c7b8bcb739f5cf1207cb0cefe8fa1c65027266bcbc34c90c84b9ad6
234-
faraday-follow_redirects (0.3.0) sha256=d92d975635e2c7fe525dd494fcd4b9bb7f0a4a0ec0d5f4c15c729530fdb807f9
235-
faraday-net_http (3.4.0) sha256=a1f1e4cd6a2cf21599c8221595e27582d9936819977bbd4089a601f24c64e54a
236-
hashdiff (1.1.2) sha256=2c30eeded6ed3dce8401d2b5b99e6963fe5f14ed85e60dd9e33c545a44b71a77
237-
html2rss (0.17.0) sha256=f97c978272212fb9b67dfe8f9712a212ff22c9a812f574e9d64df703a8278370
238-
html2rss-configs (0.2.0)
239-
json (2.10.2) sha256=34e0eada93022b2a0a3345bb0b5efddb6e9ff5be7c48e409cfb54ff8a36a8b06
240-
kramdown (2.5.1) sha256=87bbb6abd9d3cebe4fc1f33e367c392b4500e6f8fa19dd61c0972cf4afe7368c
241-
language_server-protocol (3.17.0.4) sha256=c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669
242-
lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
243-
logger (1.6.6) sha256=dd618d24e637715472732e7eed02e33cfbdf56deaad225edd0f1f89d38024017
244-
mime-types (3.6.0) sha256=6f71db957840ceae44211531eff3e2f7e0dd4645fefb5f535dbaeb6307ab6464
245-
mime-types-data (3.2025.0304) sha256=7ed9385881432d708b7f4e9cf2a4a9e1d4e8bf8abcd08283c23a0d5cd7205097
246-
mini_portile2 (2.8.8) sha256=8e47136cdac04ce81750bb6c09733b37895bf06962554e4b4056d78168d70a75
247-
net-http (0.6.0) sha256=9621b20c137898af9d890556848c93603716cab516dc2c89b01a38b894e259fb
248-
nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9
249-
nokogiri (1.18.8) sha256=8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365
250-
nokogiri (1.18.8-aarch64-linux-gnu) sha256=36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e
251-
nokogiri (1.18.8-arm-linux-gnu) sha256=17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e
252-
nokogiri (1.18.8-arm64-darwin) sha256=483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212
253-
nokogiri (1.18.8-x86_64-darwin) sha256=024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c
254-
nokogiri (1.18.8-x86_64-linux-gnu) sha256=4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc
255-
parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
256-
parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1
257-
public_suffix (6.0.1) sha256=61d44e1cab5cbbbe5b31068481cf16976dd0dc1b6b07bd95617ef8c5e3e00c6f
258-
puma (6.6.0) sha256=f25c06873eb3d5de5f0a4ebc783acc81a4ccfe580c760cfe323497798018ad87
259-
puppeteer-ruby (0.45.6) sha256=cb86f7b4f6f8658a709ae1a305e820bdb009548e6beff6675489926f9ceb5995
260-
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
261-
rack (3.1.14) sha256=84613c2a8df193bb6711d9c14ecc6d5a65a7cb4312379a65e793562608944b44
262-
rack-cache (1.17.0) sha256=49592f3ef2173b0f5524df98bb801fb411e839869e7ce84ac428dc492bf0eb90
263-
rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
264-
rack-timeout (0.7.0) sha256=757337e9793cca999bb73a61fe2a7d4280aa9eefbaf787ce3b98d860749c87d9
265-
rack-unreloader (2.1.0) sha256=18879cf2ced8ca21a01836bca706f65cce6ebe3f7d9d8a5157ce68ca62c7263a
266-
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
267-
rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
268-
regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61
269-
reverse_markdown (3.0.0) sha256=ab228386765a0259835873cd07054b62939c40f620c77c247eafaaa3b23faca4
270-
rexml (3.4.1) sha256=c74527a9a0a04b4ec31dbe0dc4ed6004b960af943d8db42e539edde3a871abca
271-
roda (3.91.0) sha256=7eba67725e2772259308d34527722e688cd628885ed727a50c3167fecb1d20d4
272-
rspec (3.13.0) sha256=d490914ac1d5a5a64a0e1400c1d54ddd2a501324d703b8cfe83f458337bab993
273-
rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4
274-
rspec-expectations (3.13.3) sha256=0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58
275-
rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef
276-
rspec-support (3.13.2) sha256=cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec
277-
rss (0.3.1) sha256=b46234c04551b925180f8bedfc6f6045bf2d9998417feda72f300e7980226737
278-
rubocop (1.74.0) sha256=06138a35d7d11c963d5abc0148b355e3999007cb0225a619940db0e75521379b
279-
rubocop-ast (1.39.0) sha256=b6ba0f677ceced033b81c69405ac8931f4963116c572b8da5e15a03619a8236c
280-
rubocop-performance (1.24.0) sha256=e5bd39ff3e368395b9af886927cc37f5892f43db4bd6c8526594352d5b4440b5
281-
rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
282-
rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c
283-
rubocop-thread_safety (0.7.2) sha256=bd51449c420b1ddda5672b71a39706367402beb55aaf19fc020c1868717f31f6
284-
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
285-
sanitize (6.1.3) sha256=a42ce5f933d82765a8243599d5ab2e8867237e76cf5a699caaddfe60bb944152
286-
sentry-ruby (5.23.0) sha256=8e8bb2f9a56a267a50fcba947f2ae131b6542f45fc3bb5764c2c25ba68f385cc
287-
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
288-
simplecov-html (0.13.1) sha256=5dab0b7ee612e60e9887ad57693832fdf4695b4c0c859eaea5f95c18791ef10b
289-
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
290-
ssrf_filter (1.2.0) sha256=1e22130ada4b4d2c9675ac56a13802cad9c6395338bbd8d2d4c60429a071389f
291-
stackprof (0.2.27) sha256=aff6d28656c852e74cf632cc2046f849033dc1dedffe7cb8c030d61b5745e80c
292-
thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
293-
tilt (2.6.0) sha256=263d748466e0d83e510aa1a2e2281eff547937f0ef06be33d3632721e255f76b
294-
tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
295-
unicode-display_width (3.1.4) sha256=8caf2af1c0f2f07ec89ef9e18c7d88c2790e217c482bfc78aaa65eadd5415ac1
296-
unicode-emoji (4.0.4) sha256=2c2c4ef7f353e5809497126285a50b23056cc6e61b64433764a35eff6c36532a
297-
uri (1.0.3) sha256=e9f2244608eea2f7bc357d954c65c910ce0399ca5e18a7a29207ac22d8767011
298-
vcr (6.3.1) sha256=37b56e157e720446a3f4d2d39919cabef8cb7b6c45936acffd2ef8229fec03ed
299-
webmock (3.25.1) sha256=ab9d5d9353bcbe6322c83e1c60a7103988efc7b67cd72ffb9012629c3d396323
300-
websocket-driver (0.7.7) sha256=056d99f2cd545712cfb1291650fde7478e4f2661dc1db6a0fa3b966231a146b4
301-
websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
302-
yard (0.9.37) sha256=a6e910399e78e613f80ba9add9ba7c394b1a935f083cccbef82903a3d2a26992
303-
zeitwerk (2.7.2) sha256=842e067cb11eb923d747249badfb5fcdc9652d6f20a1f06453317920fdcd4673
304-
305267
BUNDLED WITH
306268
2.6.6

app.rb

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,38 @@ def self.development? = ENV['RACK_ENV'] == 'development'
8484
end
8585

8686
r.on String, String do |folder_name, config_name_with_ext|
87-
handle_html2rss_configs(request, folder_name, config_name_with_ext)
87+
response['Content-Type'] = CONTENT_TYPE_RSS
88+
89+
name = "#{folder_name}/#{File.basename(config_name_with_ext, '.*')}"
90+
config = Html2rss::Configs.find_by_name(name).dup
91+
92+
if (params = request.params).any?
93+
config[:params] ||= {}
94+
config[:params].merge!(params)
95+
end
96+
97+
feed = Html2rss.feed(config)
98+
99+
HttpCache.expires(response, feed.channel.ttl.to_i * 60, cache_control: 'public')
100+
101+
feed.to_xml
88102
end
89103

90104
r.on String do |config_name_with_ext|
91-
handle_local_config_feeds(request, config_name_with_ext)
105+
response['Content-Type'] = CONTENT_TYPE_RSS
106+
107+
config = LocalConfig.find(File.basename(config_name_with_ext, '.*'))
108+
109+
if (params = request.params).any?
110+
config[:params] ||= {}
111+
config[:params].merge!(params)
112+
end
113+
114+
feed = Html2rss.feed(config)
115+
116+
HttpCache.expires(response, feed.channel.ttl.to_i * 60, cache_control: 'public')
117+
118+
feed.to_xml
92119
end
93120
end
94121

0 commit comments

Comments
 (0)