rrit
(Ayke)
07.Февраль.2022 20:33:55
14
Флаг функции реализован.
Я совсем не разработчик на Ruby — здесь мне определённо нужна помощь.
Возможно, стоит выгрузить мой POC в новую ветку репозитория discourse/discourse, прежде чем делать PR на main?
Вот мой PR по этой функции:
main ← rr-it:dev/javascript-defer
closed 12:51PM - 09 Mar 22 UTC
Implement experimental feature flags for "static topic content" and " javascript… defer"
### static topic content
`SiteSetting.enable_experimental_static_topic_content`
Can be set via settings dashboard.
Show static content in topic view for a faster Largest Contentful Paint (LCP).
Warning: visitors might see disconcerting jumping of content!"
### javascript defer
`SiteSetting.enable_experimental_javascript_defer`
Can be set via settings dashboard.
Defer loading of JavaScripts to show static content even faster in combination with 'enable_experimental_javascript_defer'. Warning: the discourse frontend, themes, components and/or plugins might fail!
---
The vendor-javascript and all preceding javascripts are not deferred right now.
@see: https://github.com/rr-it/discourse/commit/49405c353a31180933aed9dca7697dce05227707
Ideas on how to solve this are very welcome.
---
For more information see also:
https://meta.discourse.org/t/defer-javascript-and-show-interim-content-on-initial-page-load/216458
@david , не могли бы вы помочь мне с разработкой RSpec-тестов для этих изменений:
app/helpers/application_helper.rb : spec/helpers/application_helper_spec.rb
Здесь я не вижу возможности написать модульные тесты. Похоже, это можно проверить только с помощью интеграционных тестов.
app/models/theme.rb
app/models/theme_field.rb
Мне пришлось отключить тег defer для QUnit Test Runner: app/views/qunit/index.html.erb
Ранее QUnit-тесты всё ещё работали с флагом функции "javascript defer" = false. А теперь тесты работают и при "javascript defer" = true.