pageflow 17.0.5 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +342 -41
  3. data/README.md +3 -5
  4. data/admins/pageflow/accounts.rb +22 -20
  5. data/admins/pageflow/entry.rb +76 -26
  6. data/admins/pageflow/entry_templates.rb +10 -9
  7. data/admins/pageflow/folder.rb +1 -1
  8. data/admins/pageflow/membership.rb +15 -15
  9. data/admins/pageflow/revisions.rb +5 -5
  10. data/admins/pageflow/site_root_entry.rb +64 -0
  11. data/admins/pageflow/sites.rb +12 -3
  12. data/admins/pageflow/translations.rb +75 -0
  13. data/admins/pageflow/user.rb +21 -35
  14. data/app/assets/images/pageflow/admin/icons/comment.svg +1 -0
  15. data/app/assets/javascripts/pageflow/admin/entries.js +30 -5
  16. data/app/assets/javascripts/pageflow/dist/ui.js +4228 -900
  17. data/app/assets/javascripts/pageflow/editor/vendor.js +0 -1
  18. data/app/assets/javascripts/pageflow/ui.js +0 -1
  19. data/app/assets/stylesheets/pageflow/admin/entries/index_table.scss +2 -1
  20. data/app/assets/stylesheets/pageflow/admin/entry_comments_indicator.scss +45 -0
  21. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +8 -0
  22. data/app/assets/stylesheets/pageflow/admin.scss +1 -0
  23. data/app/assets/stylesheets/pageflow/animations/spin.scss +9 -0
  24. data/app/assets/stylesheets/pageflow/animations.scss +1 -0
  25. data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +27 -5
  26. data/app/assets/stylesheets/pageflow/editor/base.scss +11 -1
  27. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +20 -2
  28. data/app/assets/stylesheets/pageflow/editor/edit_configuration_view.scss +5 -0
  29. data/app/assets/stylesheets/pageflow/editor/file_folders.scss +127 -0
  30. data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +5 -2
  31. data/app/assets/stylesheets/pageflow/editor/file_meta_data_overlay.scss +45 -0
  32. data/app/assets/stylesheets/pageflow/editor/file_preview.scss +138 -0
  33. data/app/assets/stylesheets/pageflow/editor/file_references.scss +68 -0
  34. data/app/assets/stylesheets/pageflow/editor/file_settings_dialog.scss +1 -1
  35. data/app/assets/stylesheets/pageflow/editor/file_stage_icons.scss +17 -0
  36. data/app/assets/stylesheets/pageflow/editor/file_stages.scss +25 -32
  37. data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +31 -48
  38. data/app/assets/stylesheets/pageflow/editor/file_type_pills.scss +73 -0
  39. data/app/assets/stylesheets/pageflow/editor/files.scss +242 -50
  40. data/app/assets/stylesheets/pageflow/editor/filtered_files.scss +161 -9
  41. data/app/assets/stylesheets/pageflow/editor/folder_breadcrumb.scss +40 -0
  42. data/app/assets/stylesheets/pageflow/editor/info_box.scss +23 -3
  43. data/app/assets/stylesheets/pageflow/editor/inputs/edit_defaults_button.scss +15 -0
  44. data/app/assets/stylesheets/pageflow/editor/inputs.scss +1 -0
  45. data/app/assets/stylesheets/pageflow/editor/list.scss +89 -37
  46. data/app/assets/stylesheets/pageflow/editor/list_search_field.scss +52 -0
  47. data/app/assets/stylesheets/pageflow/editor/manage_files.scss +9 -0
  48. data/app/assets/stylesheets/pageflow/editor/menu.scss +14 -0
  49. data/app/assets/stylesheets/pageflow/editor/move_to_folder_dialog.scss +83 -0
  50. data/app/assets/stylesheets/pageflow/editor/outline.scss +0 -13
  51. data/app/assets/stylesheets/pageflow/editor/sortable.scss +12 -0
  52. data/app/assets/stylesheets/pageflow/mixins/buttons.scss +4 -4
  53. data/app/assets/stylesheets/pageflow/mixins/pageflow.scss +9 -5
  54. data/app/assets/stylesheets/pageflow/ui/color_picker.scss +230 -0
  55. data/app/assets/stylesheets/pageflow/ui/forms.scss +38 -4
  56. data/app/assets/stylesheets/pageflow/ui/functions.scss +12 -2
  57. data/app/assets/stylesheets/pageflow/ui/input/color_input.scss +9 -8
  58. data/app/assets/stylesheets/pageflow/ui/input/file_name_input.scss +37 -0
  59. data/app/assets/stylesheets/pageflow/ui/input/text_area_input.scss +15 -0
  60. data/app/assets/stylesheets/pageflow/ui/overrides.scss +8 -0
  61. data/app/assets/stylesheets/pageflow/ui/properties.scss +34 -0
  62. data/app/assets/stylesheets/pageflow/ui/tabs_view.scss +8 -3
  63. data/app/assets/stylesheets/pageflow/ui.scss +4 -1
  64. data/app/controllers/concerns/pageflow/controller_delegation.rb +1 -1
  65. data/app/controllers/concerns/pageflow/edit_locking.rb +17 -10
  66. data/app/controllers/concerns/pageflow/entry_password_protection.rb +1 -0
  67. data/app/controllers/concerns/pageflow/public_https_mode.rb +2 -1
  68. data/app/controllers/concerns/pageflow/quota_verification.rb +5 -4
  69. data/app/controllers/pageflow/admin/initial_passwords_controller.rb +1 -0
  70. data/app/controllers/pageflow/application_controller.rb +19 -19
  71. data/app/controllers/pageflow/chapters_controller.rb +3 -2
  72. data/app/controllers/pageflow/edit_locks_controller.rb +3 -2
  73. data/app/controllers/pageflow/editor/encoding_confirmations_controller.rb +1 -0
  74. data/app/controllers/pageflow/editor/entries_controller.rb +3 -1
  75. data/app/controllers/pageflow/editor/entry_publications_controller.rb +1 -0
  76. data/app/controllers/pageflow/editor/file_folders_controller.rb +80 -0
  77. data/app/controllers/pageflow/editor/file_import_controller.rb +4 -3
  78. data/app/controllers/pageflow/editor/files_controller.rb +20 -10
  79. data/app/controllers/pageflow/editor/oembeds_controller.rb +21 -0
  80. data/app/controllers/pageflow/editor/widgets_controller.rb +1 -0
  81. data/app/controllers/pageflow/entries_controller.rb +85 -21
  82. data/app/controllers/pageflow/feeds_controller.rb +1 -1
  83. data/app/controllers/pageflow/files_controller.rb +1 -0
  84. data/app/controllers/pageflow/pages_controller.rb +4 -2
  85. data/app/controllers/pageflow/review/comment_thread_reads_controller.rb +30 -0
  86. data/app/controllers/pageflow/review/comment_threads_controller.rb +60 -0
  87. data/app/controllers/pageflow/review/comments_controller.rb +53 -0
  88. data/app/controllers/pageflow/revisions_controller.rb +5 -1
  89. data/app/controllers/pageflow/sitemaps_controller.rb +1 -1
  90. data/app/controllers/pageflow/storylines_controller.rb +1 -0
  91. data/app/helpers/pageflow/admin/cutoff_modes_helper.rb +12 -0
  92. data/app/helpers/pageflow/admin/entries_helper.rb +41 -1
  93. data/app/helpers/pageflow/admin/entry_translations_helper.rb +18 -0
  94. data/app/helpers/pageflow/admin/features_helper.rb +1 -1
  95. data/app/helpers/pageflow/admin/form_helper.rb +3 -3
  96. data/app/helpers/pageflow/admin/locales_helper.rb +10 -2
  97. data/app/helpers/pageflow/admin/memberships_helper.rb +32 -32
  98. data/app/helpers/pageflow/admin/revisions_helper.rb +1 -1
  99. data/app/helpers/pageflow/admin/sites_helper.rb +22 -0
  100. data/app/helpers/pageflow/admin/users_helper.rb +7 -5
  101. data/app/helpers/pageflow/admin/widgets_helper.rb +5 -5
  102. data/app/helpers/pageflow/asset_urls_helper.rb +1 -1
  103. data/app/helpers/pageflow/audio_files_helper.rb +5 -2
  104. data/app/helpers/pageflow/background_image_helper.rb +7 -6
  105. data/app/helpers/pageflow/common_entry_seed_helper.rb +7 -7
  106. data/app/helpers/pageflow/editor/config_helper.rb +3 -1
  107. data/app/helpers/pageflow/editor/files_helper.rb +1 -1
  108. data/app/helpers/pageflow/embed_code_helper.rb +3 -3
  109. data/app/helpers/pageflow/entries_helper.rb +52 -46
  110. data/app/helpers/pageflow/entry_json_seed_helper.rb +7 -6
  111. data/app/helpers/pageflow/feeds_helper.rb +2 -2
  112. data/app/helpers/pageflow/file_background_images_helper.rb +2 -2
  113. data/app/helpers/pageflow/file_thumbnails_helper.rb +4 -3
  114. data/app/helpers/pageflow/files_helper.rb +5 -4
  115. data/app/helpers/pageflow/folders_helper.rb +8 -5
  116. data/app/helpers/pageflow/help_entries_helper.rb +2 -2
  117. data/app/helpers/pageflow/hreflang_links_helper.rb +37 -0
  118. data/app/helpers/pageflow/info_box_helper.rb +7 -11
  119. data/app/helpers/pageflow/media_query_helper.rb +3 -3
  120. data/app/helpers/pageflow/navigation_bar_helper.rb +1 -1
  121. data/app/helpers/pageflow/overview_helper.rb +1 -1
  122. data/app/helpers/pageflow/page_types_helper.rb +5 -5
  123. data/app/helpers/pageflow/pages_helper.rb +29 -15
  124. data/app/helpers/pageflow/public_i18n_helper.rb +10 -9
  125. data/app/helpers/pageflow/quota_helper.rb +4 -4
  126. data/app/helpers/pageflow/render_json_helper.rb +6 -3
  127. data/app/helpers/pageflow/revision_file_helper.rb +2 -1
  128. data/app/helpers/pageflow/sites_helper.rb +3 -3
  129. data/app/helpers/pageflow/social_share_helper.rb +24 -10
  130. data/app/helpers/pageflow/social_share_links_helper.rb +12 -9
  131. data/app/helpers/pageflow/structured_data_helper.rb +5 -2
  132. data/app/helpers/pageflow/stub_page_configuration.rb +7 -3
  133. data/app/helpers/pageflow/text_direction_helper.rb +1 -1
  134. data/app/helpers/pageflow/themes_helper.rb +2 -4
  135. data/app/helpers/pageflow/video_files_helper.rb +29 -13
  136. data/app/helpers/pageflow/widgets_helper.rb +8 -6
  137. data/app/inputs/pageflow_permalink_input.rb +8 -3
  138. data/app/jobs/pageflow/application_job.rb +1 -0
  139. data/app/jobs/pageflow/entry_export_import/upload_and_publish_file_job.rb +1 -1
  140. data/app/jobs/pageflow/poll_meta_data_from_zencoder_job.rb +1 -0
  141. data/app/jobs/pageflow/poll_zencoder_job.rb +3 -2
  142. data/app/jobs/pageflow/process_image_or_text_track_job.rb +1 -0
  143. data/app/jobs/pageflow/prune_auto_snapshots_job.rb +1 -0
  144. data/app/jobs/pageflow/request_meta_data_from_zencoder_job.rb +1 -0
  145. data/app/jobs/pageflow/submit_file_to_zencoder_job.rb +1 -0
  146. data/app/mailers/pageflow/user_mailer.rb +1 -0
  147. data/app/models/concerns/pageflow/auto_generated_perma_id.rb +20 -1
  148. data/app/models/concerns/pageflow/entry_publication_states.rb +7 -3
  149. data/app/models/concerns/pageflow/feature_target.rb +8 -4
  150. data/app/models/concerns/pageflow/output_source.rb +3 -3
  151. data/app/models/concerns/pageflow/permalinkable.rb +2 -1
  152. data/app/models/concerns/pageflow/reusable_file.rb +24 -24
  153. data/app/models/concerns/pageflow/serialization_blacklist.rb +3 -5
  154. data/app/models/concerns/pageflow/suspendable.rb +5 -3
  155. data/app/models/concerns/pageflow/theme_referencer.rb +1 -1
  156. data/app/models/concerns/pageflow/translatable.rb +62 -0
  157. data/app/models/concerns/pageflow/translated_attributes.rb +101 -0
  158. data/app/models/concerns/pageflow/uploadable_file.rb +6 -6
  159. data/app/models/pageflow/account.rb +6 -5
  160. data/app/models/pageflow/account_member_query.rb +1 -1
  161. data/app/models/pageflow/account_role_query.rb +1 -1
  162. data/app/models/pageflow/application_query.rb +1 -1
  163. data/app/models/pageflow/application_record.rb +1 -1
  164. data/app/models/pageflow/audio_file.rb +4 -4
  165. data/app/models/pageflow/audio_file_url_templates.rb +1 -1
  166. data/app/models/pageflow/authentication_token.rb +2 -2
  167. data/app/models/pageflow/chapter.rb +6 -1
  168. data/app/models/pageflow/chapter_scaffold.rb +2 -4
  169. data/app/models/pageflow/cname_site_request_scope.rb +1 -1
  170. data/app/models/pageflow/comment.rb +30 -0
  171. data/app/models/pageflow/comment_thread.rb +65 -0
  172. data/app/models/pageflow/comment_thread_read.rb +22 -0
  173. data/app/models/pageflow/customized_theme.rb +9 -8
  174. data/app/models/pageflow/draft_entry.rb +49 -9
  175. data/app/models/pageflow/edit_lock.rb +19 -21
  176. data/app/models/pageflow/encoding_confirmation.rb +2 -2
  177. data/app/models/pageflow/entries_feed.rb +2 -2
  178. data/app/models/pageflow/entry.rb +46 -30
  179. data/app/models/pageflow/entry_at_revision.rb +14 -2
  180. data/app/models/pageflow/entry_comment_summary.rb +114 -0
  181. data/app/models/pageflow/entry_duplicate.rb +8 -5
  182. data/app/models/pageflow/entry_publication.rb +2 -2
  183. data/app/models/pageflow/entry_role_query.rb +4 -4
  184. data/app/models/pageflow/entry_template.rb +4 -4
  185. data/app/models/pageflow/entry_title_or_account_name_query.rb +2 -2
  186. data/app/models/pageflow/entry_translation_group.rb +42 -0
  187. data/app/models/pageflow/file_folder.rb +74 -0
  188. data/app/models/pageflow/file_reuse.rb +5 -4
  189. data/app/models/pageflow/file_usage.rb +18 -3
  190. data/app/models/pageflow/folder.rb +2 -2
  191. data/app/models/pageflow/home_button.rb +7 -7
  192. data/app/models/pageflow/image_file.rb +44 -25
  193. data/app/models/pageflow/image_file_url_templates.rb +4 -4
  194. data/app/models/pageflow/invitation_form.rb +2 -1
  195. data/app/models/pageflow/legal_info.rb +38 -0
  196. data/app/models/pageflow/managed_user_query.rb +1 -1
  197. data/app/models/pageflow/membership.rb +5 -5
  198. data/app/models/pageflow/nested_revision_component_copy.rb +263 -0
  199. data/app/models/pageflow/null_user.rb +1 -1
  200. data/app/models/pageflow/overview_button.rb +1 -1
  201. data/app/models/pageflow/page.rb +7 -3
  202. data/app/models/pageflow/permalink.rb +24 -2
  203. data/app/models/pageflow/permalink_directory.rb +7 -0
  204. data/app/models/pageflow/permalink_redirect.rb +7 -0
  205. data/app/models/pageflow/positioned_file.rb +5 -5
  206. data/app/models/pageflow/potential_entry_translations.rb +55 -0
  207. data/app/models/pageflow/potential_memberships.rb +5 -4
  208. data/app/models/pageflow/published_entry.rb +62 -11
  209. data/app/models/pageflow/revision.rb +29 -16
  210. data/app/models/pageflow/roles.rb +14 -18
  211. data/app/models/pageflow/site.rb +46 -3
  212. data/app/models/pageflow/site_root_entry_form.rb +27 -0
  213. data/app/models/pageflow/sitemaps.rb +10 -1
  214. data/app/models/pageflow/storyline.rb +5 -2
  215. data/app/models/pageflow/storyline_scaffold.rb +1 -1
  216. data/app/models/pageflow/text_track_file.rb +1 -1
  217. data/app/models/pageflow/text_track_file_url_templates.rb +1 -1
  218. data/app/models/pageflow/theme_customization_file.rb +3 -2
  219. data/app/models/pageflow/thumbnail_file_resolver.rb +1 -1
  220. data/app/models/pageflow/url_template.rb +1 -1
  221. data/app/models/pageflow/used_file.rb +13 -3
  222. data/app/models/pageflow/user_name_query.rb +2 -2
  223. data/app/models/pageflow/video_file.rb +22 -15
  224. data/app/models/pageflow/video_file_url_templates.rb +6 -4
  225. data/app/models/pageflow/widget.rb +5 -4
  226. data/app/models/pageflow/with_file_usage_extension.rb +1 -1
  227. data/app/models/pageflow/zencoder_attachment.rb +8 -8
  228. data/app/policies/pageflow/account_policy.rb +3 -1
  229. data/app/policies/pageflow/admin/admin_only_tab_policy.rb +1 -0
  230. data/app/policies/pageflow/admin/entry_tab_policy.rb +1 -0
  231. data/app/policies/pageflow/application_policy.rb +2 -0
  232. data/app/policies/pageflow/entry_policy.rb +7 -1
  233. data/app/policies/pageflow/entry_template_policy.rb +2 -1
  234. data/app/policies/pageflow/file_policy.rb +4 -7
  235. data/app/policies/pageflow/folder_policy.rb +18 -8
  236. data/app/policies/pageflow/membership_policy.rb +6 -4
  237. data/app/policies/pageflow/site_policy.rb +10 -3
  238. data/app/policies/pageflow/user_policy.rb +6 -4
  239. data/app/state_machines/pageflow/image_and_text_track_processing_state_machine.rb +3 -2
  240. data/app/state_machines/pageflow/media_encoding_state_machine.rb +5 -4
  241. data/app/views/admin/accounts/_entry_template_details.html.arb +2 -2
  242. data/app/views/admin/entries/_attributes_table.html.arb +6 -5
  243. data/app/views/admin/entries/_form.html.erb +2 -1
  244. data/app/views/admin/entries/_permalink_inputs.html.erb +9 -2
  245. data/app/views/admin/entry_templates/_form.html.erb +1 -3
  246. data/app/views/admin/site_root_entry/choose.html.erb +19 -0
  247. data/app/views/admin/sites/_fields.html.erb +14 -1
  248. data/app/views/admin/translations/_form.html.erb +31 -0
  249. data/app/views/admin/users/_attributes_table.html.arb +13 -0
  250. data/app/views/components/pageflow/admin/add_membership_button.rb +13 -12
  251. data/app/views/components/pageflow/admin/custom_scopes_renderer.rb +1 -0
  252. data/app/views/components/pageflow/admin/embed_code_field.rb +1 -0
  253. data/app/views/components/pageflow/admin/embedded_index_table.rb +9 -10
  254. data/app/views/components/pageflow/admin/entries_tab.rb +1 -0
  255. data/app/views/components/pageflow/admin/entry_publication_state_indicator.rb +6 -5
  256. data/app/views/components/pageflow/admin/entry_templates_tab.rb +2 -1
  257. data/app/views/components/pageflow/admin/entry_translations_tab.rb +102 -0
  258. data/app/views/components/pageflow/admin/entry_user_badge_list.rb +1 -0
  259. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +9 -8
  260. data/app/views/components/pageflow/admin/features_tab.rb +1 -0
  261. data/app/views/components/pageflow/admin/grouped_folder_list.rb +1 -0
  262. data/app/views/components/pageflow/admin/icon_link_to.rb +1 -0
  263. data/app/views/components/pageflow/admin/members_tab.rb +4 -3
  264. data/app/views/components/pageflow/admin/membership_role_with_tooltip.rb +3 -2
  265. data/app/views/components/pageflow/admin/revisions_tab.rb +14 -10
  266. data/app/views/components/pageflow/admin/sites_tab.rb +1 -0
  267. data/app/views/components/pageflow/admin/tabs_view.rb +1 -0
  268. data/app/views/components/pageflow/admin/timestamp.rb +6 -5
  269. data/app/views/components/pageflow/admin/user_account_badge_list.rb +2 -3
  270. data/app/views/components/pageflow/admin/user_accounts_tab.rb +1 -0
  271. data/app/views/components/pageflow/admin/user_entries_tab.rb +1 -0
  272. data/app/views/components/pageflow/admin/users_tab.rb +1 -0
  273. data/app/views/pageflow/audio_files/_audio_file.json.jbuilder +0 -1
  274. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +5 -3
  275. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +2 -1
  276. data/app/views/pageflow/editor/entries/index.json.jbuilder +1 -1
  277. data/app/views/pageflow/editor/entries/seed.json.erb +1 -0
  278. data/app/views/pageflow/editor/entries/show.json.jbuilder +1 -1
  279. data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +2 -2
  280. data/app/views/pageflow/editor/file_folders/_file_folder.json.jbuilder +5 -0
  281. data/app/views/pageflow/editor/file_folders/create.json.jbuilder +1 -0
  282. data/app/views/pageflow/editor/file_folders/index.json.jbuilder +3 -0
  283. data/app/views/pageflow/editor/files/_file.json.jbuilder +7 -14
  284. data/app/views/pageflow/editor/files/create.json.jbuilder +1 -1
  285. data/app/views/pageflow/editor/files/index.json.jbuilder +1 -1
  286. data/app/views/pageflow/editor/image_files/_image_file.json.jbuilder +3 -0
  287. data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
  288. data/app/views/pageflow/editor/video_files/_video_file.json.jbuilder +4 -3
  289. data/app/views/pageflow/entries/share_menu/_bluesky_link.html.erb +8 -0
  290. data/app/views/pageflow/entries/share_menu/_threads_link.html.erb +8 -0
  291. data/app/views/pageflow/files/_file.json.jbuilder +5 -3
  292. data/app/views/pageflow/image_files/_image_file.json.jbuilder +0 -1
  293. data/app/views/pageflow/review/comment_threads/_comment_thread.json.jbuilder +20 -0
  294. data/app/views/pageflow/review/comment_threads/create.json.jbuilder +2 -0
  295. data/app/views/pageflow/review/comment_threads/index.json.jbuilder +13 -0
  296. data/app/views/pageflow/review/comments/_comment.json.jbuilder +13 -0
  297. data/app/views/pageflow/review/comments/create.json.jbuilder +1 -0
  298. data/app/views/pageflow/sitemaps/index.xml.builder +9 -1
  299. data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
  300. data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
  301. data/app/views/pageflow/structured_data/_entry.json.jbuilder +2 -3
  302. data/app/views/pageflow/video_files/_video_file.json.jbuilder +0 -1
  303. data/config/initializers/active_admin_patches.rb +3 -6
  304. data/config/initializers/admin_resource_tabs.rb +3 -0
  305. data/config/initializers/paperclip.rb +1 -0
  306. data/config/initializers/symmetric_encryption.rb +1 -1
  307. data/config/initializers/zencoder.rb +24 -13
  308. data/config/locales/de.yml +256 -12
  309. data/config/locales/en.yml +253 -15
  310. data/config/routes.rb +29 -13
  311. data/config/spring.rb +2 -1
  312. data/db/migrate/20140418225525_setup_schema.rb +2 -2
  313. data/db/migrate/20190306161431_copy_file_attributes_of_failed_uploads.rb +2 -2
  314. data/db/migrate/20190820152900_drop_accounts_themes.rb +2 -1
  315. data/db/migrate/20191202145757_create_pageflow_scrolled_sections.rb +11 -11
  316. data/db/migrate/20191202150657_create_pageflow_scrolled_chapters.rb +1 -1
  317. data/db/migrate/20191202154723_create_pageflow_scrolled_content_elements.rb +9 -9
  318. data/db/migrate/20191219143450_add_position_to_content_elements.rb +2 -1
  319. data/db/migrate/20200117133200_change_revision_appearance_option_default_and_null.rb +2 -1
  320. data/db/migrate/20200122115400_create_pageflow_entry_templates.rb +25 -25
  321. data/db/migrate/20200206134400_convert_legacy_scrolled_content_element_types.rb +3 -3
  322. data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +2 -2
  323. data/db/migrate/20230120092923_create_other_files.rb +2 -1
  324. data/db/migrate/20230419083307_create_pageflow_entry_translation_group.rb +9 -0
  325. data/db/migrate/20240612110434_add_cutoff_mode_name_to_sites.rb +5 -0
  326. data/db/migrate/20240918084059_create_pageflow_permalink_redirects.rb +14 -0
  327. data/db/migrate/20250508172234_ensure_scrolled_entries_have_main_storyline.rb +14 -0
  328. data/db/migrate/20250617090048_add_custom404_entry_to_sites.rb +5 -0
  329. data/db/migrate/20250617100000_add_perma_id_counter_to_entries.rb +28 -0
  330. data/db/migrate/20250722174123_add_perma_id_to_chapters.rb +10 -0
  331. data/db/migrate/20250725080603_add_perma_id_indexes_to_revision_components.rb +13 -0
  332. data/db/migrate/20250726000000_add_display_name_to_file_usages.rb +5 -0
  333. data/db/migrate/20251015000000_add_structured_data_type_name_to_revisions.rb +5 -0
  334. data/db/migrate/20251029142849_convert_legacy_social_embeds_to_unified_social_embed.rb +38 -0
  335. data/db/migrate/20251119083347_fix_main_storyline_positions.rb +16 -0
  336. data/db/migrate/20251119083348_ensure_scrolled_entries_have_excursion_storyline.rb +15 -0
  337. data/db/migrate/20260303000000_add_layout_version_to_revisions.rb +6 -0
  338. data/db/migrate/20260323000000_create_comment_threads_and_comments.rb +30 -0
  339. data/db/migrate/20260414000000_add_subject_range_to_comment_threads.rb +5 -0
  340. data/db/migrate/20260415000000_add_section_perma_id_to_comment_threads.rb +5 -0
  341. data/db/migrate/20260727000000_add_quote_to_comments.rb +5 -0
  342. data/db/migrate/20260728000000_create_file_folders.rb +17 -0
  343. data/db/migrate/20260805000000_add_attribute_translations_to_sites.rb +5 -0
  344. data/db/migrate/20260806000000_add_edited_at_to_comments.rb +5 -0
  345. data/db/migrate/20260810000000_create_pageflow_scrolled_lottie_files.rb +24 -0
  346. data/db/migrate/20260817000000_create_comment_thread_reads.rb +16 -0
  347. data/db/migrate/20260819000000_add_unread_comments_since_at_to_users.rb +18 -0
  348. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +12599 -5398
  349. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +1275 -4560
  350. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +20204 -22
  351. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +18657 -19
  352. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -0
  353. data/entry_types/paged/app/helpers/pageflow_paged/page_background_asset_helper.rb +1 -1
  354. data/entry_types/paged/app/helpers/pageflow_paged/third_party_embed_consent_helper.rb +7 -7
  355. data/entry_types/paged/app/views/pageflow_paged/editor/entries/_seed.json.jbuilder +1 -0
  356. data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
  357. data/entry_types/paged/lib/pageflow_paged/plugin.rb +4 -0
  358. data/entry_types/paged/lib/pageflow_paged/react/page_type.rb +1 -1
  359. data/entry_types/paged/lib/pageflow_paged/react/widget_type.rb +3 -3
  360. data/entry_types/paged/lib/pageflow_paged.rb +1 -1
  361. data/entry_types/scrolled/app/assets/stylesheets/pageflow_scrolled/ui.scss +2 -0
  362. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +5 -3
  363. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +35 -5
  364. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +4 -5
  365. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +23 -2
  366. data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +3 -3
  367. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +8 -5
  368. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +7 -3
  369. data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +72 -10
  370. data/entry_types/scrolled/app/helpers/pageflow_scrolled/i18n_helper.rb +28 -13
  371. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +41 -12
  372. data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +23 -25
  373. data/entry_types/scrolled/app/helpers/pageflow_scrolled/sprockets_helper.rb +16 -0
  374. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +189 -3
  375. data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +15 -14
  376. data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +61 -7
  377. data/entry_types/scrolled/app/models/pageflow_scrolled/lottie_file.rb +6 -0
  378. data/entry_types/scrolled/app/models/pageflow_scrolled/lottie_file_url_templates.rb +16 -0
  379. data/entry_types/scrolled/app/models/pageflow_scrolled/section.rb +12 -1
  380. data/entry_types/scrolled/app/models/pageflow_scrolled/storyline.rb +20 -1
  381. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -0
  382. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +2 -2
  383. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +15 -12
  384. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +45 -17
  385. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry_translations.json.jbuilder +14 -0
  386. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +34 -5
  387. data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +1 -1
  388. data/entry_types/scrolled/app/views/pageflow_scrolled/storylines/_storyline.json.jbuilder +7 -0
  389. data/entry_types/scrolled/config/configuration_schemas/pageflow-scrolled.json +414 -0
  390. data/entry_types/scrolled/config/locales/de.yml +1094 -78
  391. data/entry_types/scrolled/config/locales/en.yml +1083 -78
  392. data/entry_types/scrolled/config/routes.rb +18 -8
  393. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +11 -11
  394. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantDesktop.svg +56 -0
  395. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantMobile.svg +22 -0
  396. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt +26 -11
  397. data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +27 -8
  398. data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +2 -2
  399. data/entry_types/scrolled/lib/pageflow_scrolled/additional_theme_assets.rb +27 -0
  400. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +67 -10
  401. data/entry_types/scrolled/lib/pageflow_scrolled/configuration_schemas.rb +91 -0
  402. data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +1 -1
  403. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +2 -1
  404. data/entry_types/scrolled/lib/pageflow_scrolled/entry_file_reference_locations.rb +71 -0
  405. data/entry_types/scrolled/lib/pageflow_scrolled/entry_structured_data_types/faq_page.rb +58 -0
  406. data/entry_types/scrolled/lib/pageflow_scrolled/file_reference_locations.rb +69 -0
  407. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +222 -19
  408. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +2 -4
  409. data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +76 -54
  410. data/entry_types/scrolled/lib/pageflow_scrolled/theme_options_default_scale.rb +35 -0
  411. data/entry_types/scrolled/lib/pageflow_scrolled.rb +14 -1
  412. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +24 -5
  413. data/entry_types/scrolled/package/config/configurationSchemas.js +70 -0
  414. data/entry_types/scrolled/package/config/rollup/configurationSchemas.js +19 -0
  415. data/entry_types/scrolled/package/config/webpack.js +94 -0
  416. data/entry_types/scrolled/package/contentElements/hotspots-frontend.css +1 -0
  417. data/entry_types/scrolled/package/contentElements/hotspots-frontend.js +1795 -0
  418. data/entry_types/scrolled/package/contentElements/inlineBeforeAfter-frontend.css +1 -0
  419. data/entry_types/scrolled/package/contentElements/inlineBeforeAfter-frontend.js +219 -0
  420. data/entry_types/scrolled/package/contentElements/lottieAnimation-frontend.css +1 -0
  421. data/entry_types/scrolled/package/contentElements/lottieAnimation-frontend.js +244 -0
  422. data/entry_types/scrolled/package/contentElements/socialEmbed-frontend.css +1 -0
  423. data/entry_types/scrolled/package/contentElements/socialEmbed-frontend.js +823 -0
  424. data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.css +1 -0
  425. data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.js +109 -0
  426. data/entry_types/scrolled/package/contentElements/twitterEmbed-frontend.css +1 -0
  427. data/entry_types/scrolled/package/contentElements/twitterEmbed-frontend.js +277 -0
  428. data/entry_types/scrolled/package/contentElements/videoEmbed-frontend.css +1 -0
  429. data/entry_types/scrolled/package/contentElements/videoEmbed-frontend.js +244 -0
  430. data/entry_types/scrolled/package/contentElements-editor.js +3155 -583
  431. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  432. data/entry_types/scrolled/package/contentElements-frontend.js +3375 -1585
  433. data/entry_types/scrolled/package/editor.css +1 -0
  434. data/entry_types/scrolled/package/editor.js +8452 -2867
  435. data/entry_types/scrolled/package/entryState.js +1600 -0
  436. data/entry_types/scrolled/package/frontend/FloatingPortalRootProvider-20c600de.js +1979 -0
  437. data/entry_types/scrolled/package/frontend/FloatingPortalRootProvider-58189220.js +2538 -0
  438. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-4ec6b2de.js → PhonePlatformContext-035a99fa.js} +9 -15
  439. data/entry_types/scrolled/package/frontend/PhonePlatformContext-9da43797.js +33 -0
  440. data/entry_types/scrolled/package/frontend/Placeholder.module-bf0966b4.js +5267 -0
  441. data/entry_types/scrolled/package/frontend/Placeholder.module-d22a9335.js +4180 -0
  442. data/entry_types/scrolled/package/frontend/ThemeIcon-ab834849.js +754 -0
  443. data/entry_types/scrolled/package/frontend/ThemeIcon-f6cb3a8f.js +773 -0
  444. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-30fd1124.js +39 -0
  445. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-61c25224.js +72 -0
  446. data/entry_types/scrolled/package/frontend/Viewer-1074fd59.js +147 -0
  447. data/entry_types/scrolled/package/frontend/Viewer-1482ca34.js +480 -0
  448. data/entry_types/scrolled/package/frontend/Viewer-70504231.js +210 -0
  449. data/entry_types/scrolled/package/frontend/{Viewer-1bb5597c.js → Viewer-cc8d4072.js} +100 -135
  450. data/entry_types/scrolled/package/frontend/Wavesurfer-656e3c36.js +302 -0
  451. data/entry_types/scrolled/package/frontend/Wavesurfer-b753b838.js +385 -0
  452. data/entry_types/scrolled/package/frontend/commenting.css +1 -0
  453. data/entry_types/scrolled/package/frontend/extensions-167ae143.js +1455 -0
  454. data/entry_types/scrolled/package/frontend/extensions-2318f92b.js +5918 -0
  455. data/entry_types/scrolled/package/frontend/extensions-a461fd13.js +4890 -0
  456. data/entry_types/scrolled/package/frontend/extensions-c98269fd.js +1982 -0
  457. data/entry_types/scrolled/package/frontend/i18n-493cd2a6.js +93 -0
  458. data/entry_types/scrolled/package/frontend/i18n-e06cac14.js +100 -0
  459. data/entry_types/scrolled/package/frontend/{index-11f32f10.js → index-2e5546f7.js} +39 -54
  460. data/entry_types/scrolled/package/frontend/index-de2b418d.js +130 -0
  461. data/entry_types/scrolled/package/frontend/index.css +1 -1
  462. data/entry_types/scrolled/package/frontend/index.js +1976 -1367
  463. data/entry_types/scrolled/package/frontend/inlineEditing.css +1 -0
  464. data/entry_types/scrolled/package/frontend/useContentElementEditorState-a084912e.js +25 -0
  465. data/entry_types/scrolled/package/frontend/useDelayedBoolean-a387d85b.js +24 -0
  466. data/entry_types/scrolled/package/frontend/usePhonePlatform-4ecb96d4.js +8 -0
  467. data/entry_types/scrolled/package/frontend/usePhonePlatform-ce9ff08d.js +8 -0
  468. data/entry_types/scrolled/package/frontend-server.js +20 -210
  469. data/entry_types/scrolled/package/package.json +22 -12
  470. data/entry_types/scrolled/package/review.css +1 -0
  471. data/entry_types/scrolled/package/review.js +3306 -0
  472. data/entry_types/scrolled/package/testHelpers.js +952 -239
  473. data/entry_types/scrolled/package/values/widgets.module.css +18 -0
  474. data/entry_types/scrolled/package/widgets/consentBar.css +1 -1
  475. data/entry_types/scrolled/package/widgets/consentBar.js +275 -315
  476. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  477. data/entry_types/scrolled/package/widgets/defaultNavigation.js +961 -432
  478. data/entry_types/scrolled/package/widgets/excursionSheet.css +1 -0
  479. data/entry_types/scrolled/package/widgets/excursionSheet.js +225 -0
  480. data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -1
  481. data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +62 -32
  482. data/entry_types/scrolled/package/widgets/iconScrollIndicator.css +1 -0
  483. data/entry_types/scrolled/package/widgets/iconScrollIndicator.js +67 -0
  484. data/entry_types/scrolled/package/widgets/mainStorylineSheet.css +1 -0
  485. data/entry_types/scrolled/package/widgets/mainStorylineSheet.js +100 -0
  486. data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -1
  487. data/entry_types/scrolled/package/widgets/textInlineFileRights.js +48 -26
  488. data/entry_types/scrolled/package/widgets-server.js +2 -0
  489. data/entry_types/scrolled/spec/factories/chapters.rb +14 -1
  490. data/entry_types/scrolled/spec/factories/content_elements.rb +1 -1
  491. data/entry_types/scrolled/spec/factories/lottie_files.rb +29 -0
  492. data/entry_types/scrolled/spec/fixtures/animation.lottie +0 -0
  493. data/entry_types/scrolled/spec/fixtures/font.woff +0 -0
  494. data/entry_types/scrolled/spec/fixtures/font.woff2 +0 -0
  495. data/lib/generators/pageflow/active_admin_initializer/active_admin_initializer_generator.rb +5 -3
  496. data/lib/generators/pageflow/assets/assets_generator.rb +7 -5
  497. data/lib/generators/pageflow/cancan/cancan_generator.rb +2 -1
  498. data/lib/generators/pageflow/cancan/templates/ability.rb +1 -1
  499. data/lib/generators/pageflow/error_pages/error_pages_generator.rb +2 -1
  500. data/lib/generators/pageflow/initializer/initializer_generator.rb +3 -2
  501. data/lib/generators/pageflow/install/install_generator.rb +2 -2
  502. data/lib/generators/pageflow/procfile/procfile_generator.rb +2 -1
  503. data/lib/generators/pageflow/resque/resque_generator.rb +4 -4
  504. data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
  505. data/lib/generators/pageflow/routes/routes_generator.rb +4 -2
  506. data/lib/generators/pageflow/seeds/seeds_generator.rb +3 -2
  507. data/lib/generators/pageflow/seeds/templates/seeds.rb +6 -6
  508. data/lib/generators/pageflow/theme/theme_generator.rb +2 -1
  509. data/lib/generators/pageflow/user/user_generator.rb +2 -1
  510. data/lib/pageflow/ability_mixin.rb +25 -15
  511. data/lib/pageflow/active_admin_patches/views/attributes_table.rb +1 -0
  512. data/lib/pageflow/active_admin_patches/views/pages/base.rb +3 -2
  513. data/lib/pageflow/active_admin_patches/views/table_for.rb +1 -0
  514. data/lib/pageflow/additional_headers.rb +27 -0
  515. data/lib/pageflow/admin/attributes_table_rows.rb +3 -3
  516. data/lib/pageflow/admin/tabs.rb +1 -1
  517. data/lib/pageflow/built_in_file_type.rb +1 -1
  518. data/lib/pageflow/built_in_page_types_plugin.rb +1 -1
  519. data/lib/pageflow/built_in_widget_type.rb +2 -2
  520. data/lib/pageflow/built_in_widget_types_plugin.rb +2 -1
  521. data/lib/pageflow/configuration.rb +183 -18
  522. data/lib/pageflow/cutoff_modes.rb +39 -0
  523. data/lib/pageflow/deprecation.rb +19 -0
  524. data/lib/pageflow/editor_controller.rb +6 -10
  525. data/lib/pageflow/engine.rb +5 -6
  526. data/lib/pageflow/entries_controller_env_helper.rb +32 -2
  527. data/lib/pageflow/entry_export_import/attachment_files.rb +1 -1
  528. data/lib/pageflow/entry_export_import/entry_serialization.rb +9 -8
  529. data/lib/pageflow/entry_export_import/file_mappings.rb +1 -0
  530. data/lib/pageflow/entry_export_import/page_type_versions.rb +2 -2
  531. data/lib/pageflow/entry_export_import/revision_serialization/import.rb +11 -1
  532. data/lib/pageflow/entry_export_import/revision_serialization.rb +3 -0
  533. data/lib/pageflow/entry_export_import.rb +3 -3
  534. data/lib/pageflow/entry_structured_data_types.rb +43 -0
  535. data/lib/pageflow/entry_type_configuration.rb +1 -0
  536. data/lib/pageflow/entry_types.rb +2 -2
  537. data/lib/pageflow/feature.rb +1 -1
  538. data/lib/pageflow/features.rb +4 -6
  539. data/lib/pageflow/file_importers.rb +4 -4
  540. data/lib/pageflow/file_type.rb +5 -5
  541. data/lib/pageflow/file_types.rb +4 -4
  542. data/lib/pageflow/global_config_api.rb +5 -6
  543. data/lib/pageflow/help_entries.rb +7 -7
  544. data/lib/pageflow/help_entry.rb +1 -1
  545. data/lib/pageflow/hooks.rb +1 -1
  546. data/lib/pageflow/nested_revision_component.rb +9 -27
  547. data/lib/pageflow/news_item_api.rb +1 -1
  548. data/lib/pageflow/oembed_providers.rb +42 -0
  549. data/lib/pageflow/page_type.rb +2 -3
  550. data/lib/pageflow/page_types.rb +3 -3
  551. data/lib/pageflow/paperclip_interpolations/support.rb +1 -1
  552. data/lib/pageflow/paperclip_processors/vtt.rb +1 -0
  553. data/lib/pageflow/paperclip_processors/webp.rb +2 -2
  554. data/lib/pageflow/partial_editor_fragment_renderer.rb +2 -2
  555. data/lib/pageflow/plugin.rb +1 -2
  556. data/lib/pageflow/primary_domain_entry_redirect.rb +6 -0
  557. data/lib/pageflow/quota.rb +9 -5
  558. data/lib/pageflow/quotas.rb +1 -1
  559. data/lib/pageflow/rails_version.rb +14 -2
  560. data/lib/pageflow/react.rb +1 -1
  561. data/lib/pageflow/revision_component.rb +8 -40
  562. data/lib/pageflow/revision_components.rb +16 -6
  563. data/lib/pageflow/seeds.rb +12 -16
  564. data/lib/pageflow/theme.rb +1 -1
  565. data/lib/pageflow/theme_customizations.rb +10 -10
  566. data/lib/pageflow/themes.rb +44 -3
  567. data/lib/pageflow/user_mixin.rb +18 -6
  568. data/lib/pageflow/version.rb +1 -1
  569. data/lib/pageflow/widget_type.rb +4 -4
  570. data/lib/pageflow/widget_types.rb +9 -9
  571. data/lib/pageflow/zencoder_api.rb +32 -42
  572. data/lib/pageflow/zencoder_audio_output_definition.rb +14 -13
  573. data/lib/pageflow/zencoder_meta_data_output_definition.rb +3 -2
  574. data/lib/pageflow/zencoder_output_definition.rb +16 -14
  575. data/lib/pageflow/zencoder_video_output_definition.rb +140 -88
  576. data/lib/pageflow.rb +8 -2
  577. data/lib/tasks/pageflow_tasks.rake +1 -1
  578. data/package/config/eslint-rules/documented-in-toc.js +125 -0
  579. data/package/config/jest/index.js +0 -1
  580. data/package/config/webpack.js +0 -1
  581. data/package/config/webpack5.js +0 -1
  582. data/package/editor.js +4880 -2313
  583. data/package/frontend.js +710 -1223
  584. data/package/package.json +3 -1
  585. data/package/review.js +384 -0
  586. data/package/testHelpers.js +257 -243
  587. data/package/ui.js +1487 -813
  588. data/package/vendor/stubs/wysihtml5.js +2 -0
  589. data/spec/factories/accounts.rb +37 -22
  590. data/spec/factories/audio_files.rb +2 -2
  591. data/spec/factories/authentication_tokens.rb +4 -4
  592. data/spec/factories/chapters.rb +4 -4
  593. data/spec/factories/comment_thread_reads.rb +10 -0
  594. data/spec/factories/comment_threads.rb +10 -0
  595. data/spec/factories/comments.rb +9 -0
  596. data/spec/factories/draft_entries.rb +14 -6
  597. data/spec/factories/edit_locks.rb +1 -1
  598. data/spec/factories/entries.rb +28 -19
  599. data/spec/factories/entry_translation_groups.rb +6 -0
  600. data/spec/factories/file_folders.rb +8 -0
  601. data/spec/factories/file_usages.rb +2 -1
  602. data/spec/factories/folders.rb +1 -1
  603. data/spec/factories/image_files.rb +2 -2
  604. data/spec/factories/pages.rb +3 -3
  605. data/spec/factories/published_entries.rb +28 -8
  606. data/spec/factories/revisions.rb +1 -1
  607. data/spec/factories/sites.rb +6 -0
  608. data/spec/factories/test_multi_attachment_files.rb +1 -1
  609. data/spec/factories/text_track_files.rb +1 -1
  610. data/spec/factories/uploadable_files.rb +1 -1
  611. data/spec/factories/users.rb +6 -6
  612. data/spec/factories/video_files.rb +2 -2
  613. data/spec/factories/widgets.rb +1 -1
  614. data/spec/fixtures/7x15_rotated.jpg +0 -0
  615. data/vendor/assets/javascripts/wysihtml-toolbar.js +19288 -0
  616. metadata +266 -92
  617. data/app/assets/stylesheets/pageflow/editor/select_button.scss +0 -51
  618. data/config/initializers/revision_components.rb +0 -5
  619. data/config/locales/twitter_to_x.de.yml +0 -6
  620. data/config/locales/twitter_to_x.en.yml +0 -6
  621. data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +0 -55
  622. data/entry_types/scrolled/config/locales/twitter_to_x.de.yml +0 -12
  623. data/entry_types/scrolled/config/locales/twitter_to_x.en.yml +0 -12
  624. data/entry_types/scrolled/config/locales/vr_image_projection.de.yml +0 -24
  625. data/entry_types/scrolled/config/locales/vr_image_projection.en.yml +0 -24
  626. data/entry_types/scrolled/package/frontend/EditableInlineText.module-ebd22921.js +0 -5497
  627. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-b79159cc.js +0 -107
  628. data/entry_types/scrolled/package/frontend/Viewer-1ecf3375.js +0 -154
  629. data/entry_types/scrolled/package/frontend/Wavesurfer-7d9cf1b7.js +0 -333
  630. data/entry_types/scrolled/package/frontend/arrowRight-62998af9.js +0 -77
  631. data/entry_types/scrolled/package/frontend/components-024a9893.js +0 -2853
  632. data/entry_types/scrolled/package/frontend/createSuper-d0f30da3.js +0 -115
  633. data/entry_types/scrolled/package/frontend/i18n-ce13a8bf.js +0 -1129
  634. data/entry_types/scrolled/package/frontend/useContentElementEditorState-4f4c3cf6.js +0 -52
  635. data/lib/generators/pageflow/resque/templates/resque_enqueue_after_commit_patch.rb +0 -25
  636. data/package/vendor/jquery.minicolors.js +0 -1108
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0ca132d1d4290aeba26c1faf9cfaf484a5afbee7ce260a1e42176b617062f72
4
- data.tar.gz: 421edda11b9ca614201db5e95d8ce98a088d55721b3fd5e35eb87d5bfba1e9ae
3
+ metadata.gz: 0446a6d345fb2198bda0f10b789df3d3af8102003c742a348fc10d72f3c58780
4
+ data.tar.gz: d72d7cb69568536db7410f1f6de95525e18a5cd3e27cb7e3e714b081110ad27e
5
5
  SHA512:
6
- metadata.gz: 4b9587abf01c70a0e40328108273e28a753add444cb1a3671168448a18ffc1f6e7f8dcfcd2d3363a7c02d3468a69738352927f75fc7e8c8b5f133e4aff7bcb36
7
- data.tar.gz: ad71f54ed57089c1b2d35319a85c1e33922e6b2d28a7f90de337536db6129b66760e17d1f3dd83db0ddfba2643761e901d46d374c278708a8257ad1ce65fb32f
6
+ metadata.gz: 253a364efa783b73193d4e6a1b097ddcbd73e51a8ca1a7a1b2851c201d61bc7e456bf4ebaf0cf037094246aa67c9051351fb9088d1df73febecbf21661e97137
7
+ data.tar.gz: 356df10bc684ba47d519cd2d54a3291a378a18a964589bdabcdbeee17ac4c683e9913ae3e8d79a31e1a56c70ff26e81180bcf212f99d4639f52aa11ff40a85ad
data/CHANGELOG.md CHANGED
@@ -1,70 +1,371 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Version 17.0.5
3
+ ### Version 17.2.0
4
4
 
5
- 2025-08-05
5
+ 2026-09-11
6
6
 
7
- [Compare changes](https://github.com/codevise/pageflow/compare/v17.0.4...v17.0.5)
7
+ [Compare changes](https://github.com/codevise/pageflow/compare/17-1-stable...v17.2.0)
8
8
 
9
- - Include missing JS file from scrolled package in gem
10
- ([#2277](https://github.com/codevise/pageflow/pull/2277))
11
- - Require react-rails version that is compatible with Shakapacker
12
- ([#2276](https://github.com/codevise/pageflow/pull/2276))
13
- - Support entry type specific editor translations for file types
14
- ([#2261](https://github.com/codevise/pageflow/pull/2261))
15
- - Do not depend in src icons in install generator
16
- ([#2260](https://github.com/codevise/pageflow/pull/2260))
17
- - Add classnames as dependency of pageflow-scrolled
18
- ([#2259](https://github.com/codevise/pageflow/pull/2259))
19
- - Replace mentions of Twitter with X
20
- ([#2111](https://github.com/codevise/pageflow/pull/2111))
9
+ #### Core
21
10
 
22
- ### Version 17.0.4
11
+ ##### Published Entry
23
12
 
24
- 2024-01-22
13
+ - Support regional locales via i18n fallback chain
14
+ ([#2416](https://github.com/codevise/pageflow/pull/2416),
15
+ [#2417](https://github.com/codevise/pageflow/pull/2417))
16
+ - Bug fix: Clear stale permalink redirect on slug change
17
+ ([#2403](https://github.com/codevise/pageflow/pull/2403))
25
18
 
26
- [Compare changes](https://github.com/codevise/pageflow/compare/v17.0.3...v17.0.4)
19
+ ##### Admin
27
20
 
28
- - Fix dummy app creation in Rails 7.1.3.
21
+ - Persist selected folder when creating entries
22
+ ([#2366](https://github.com/codevise/pageflow/pull/2366))
23
+ - Break permalink input but not inside base url
24
+ ([#2328](https://github.com/codevise/pageflow/pull/2328))
29
25
 
30
- ### Version 17.0.3
26
+ ##### Editor
31
27
 
32
- 2024-01-12
28
+ - File management improvements with folders and bulk deletion
29
+ ([#2465](https://github.com/codevise/pageflow/pull/2465),
30
+ [#2466](https://github.com/codevise/pageflow/pull/2466),
31
+ [#2467](https://github.com/codevise/pageflow/pull/2467),
32
+ [#2471](https://github.com/codevise/pageflow/pull/2471),
33
+ [#2475](https://github.com/codevise/pageflow/pull/2475))
34
+ - Debounce auto save for rapid config changes
35
+ ([#2365](https://github.com/codevise/pageflow/pull/2365))
36
+ - Make TabsView implement tabslist role
37
+ ([#2297](https://github.com/codevise/pageflow/pull/2297))
38
+ - Bug fix: Restore support for creating generated files without file name
39
+ ([#2293](https://github.com/codevise/pageflow/pull/2293))
33
40
 
34
- [Compare changes](https://github.com/codevise/pageflow/compare/v17.0.2...v17.0.3)
41
+ ##### JavaScript API
35
42
 
36
- - Include wysihtml5 stub in gem
37
- (https://github.com/codevise/pageflow/pull/2052)
43
+ - Trigger seeking/seeked media events
44
+ ([#2413](https://github.com/codevise/pageflow/pull/2413))
45
+ - Allow disabling text area dynamically
46
+ ([#2326](https://github.com/codevise/pageflow/pull/2326))
38
47
 
39
- ### Version 17.0.2
48
+ ##### Rails Engine
40
49
 
41
- 2024-01-12
50
+ - Support Rails 7.2, 8.0 and 8.1
51
+ ([#2288](https://github.com/codevise/pageflow/pull/2288),
52
+ [#2291](https://github.com/codevise/pageflow/pull/2291),
53
+ [#2485](https://github.com/codevise/pageflow/pull/2485),
54
+ [#2486](https://github.com/codevise/pageflow/pull/2486))
55
+ - Support for translated site attributes
56
+ ([#2458](https://github.com/codevise/pageflow/pull/2458),
57
+ [#2464](https://github.com/codevise/pageflow/pull/2464))
58
+ - Allow redirecting additional cnames to primary
59
+ ([#2383](https://github.com/codevise/pageflow/pull/2383))
60
+ - Allow public_entry_redirect in feature blocks
61
+ ([#2334](https://github.com/codevise/pageflow/pull/2334))
62
+ - Stop patching Resque to enqueue after transactions in install generator
63
+ ([#2292](https://github.com/codevise/pageflow/pull/2292))
42
64
 
43
- [Compare changes](https://github.com/codevise/pageflow/compare/v17.0.1...v17.0.2)
65
+ ##### Test Helpers
44
66
 
45
- - Include vendored JS libraries in gem
46
- (https://github.com/codevise/pageflow/pull/2052)
67
+ - Add useFakeFeatures test helper
68
+ ([#2434](https://github.com/codevise/pageflow/pull/2434))
47
69
 
48
- ### Version 17.0.1
70
+ ##### Internal
49
71
 
50
- 2024-01-12
72
+ - Speed up CI with pre-built Docker image
73
+ ([#2397](https://github.com/codevise/pageflow/pull/2397))
74
+ - Make CI lint checks block on errors and warnings
75
+ ([#2387](https://github.com/codevise/pageflow/pull/2387),
76
+ [#2405](https://github.com/codevise/pageflow/pull/2405))
77
+ - Enforce documentation.yml toc coverage via ESLint
78
+ ([#2435](https://github.com/codevise/pageflow/pull/2435))
79
+ - Unify helpers to test Backbone views with dom testing library
80
+ ([#2295](https://github.com/codevise/pageflow/pull/2295))
81
+ - Use Ruby 3.4 and Node 22 in GitHub actions
82
+ ([#2319](https://github.com/codevise/pageflow/pull/2319))
83
+ - Use polling for rollup watch mode
84
+ ([#2400](https://github.com/codevise/pageflow/pull/2400))
85
+ - Update set-output syntax in GitHub actions
86
+ ([#2307](https://github.com/codevise/pageflow/pull/2307))
87
+ - Pin connection_pool < 3
88
+ ([#2330](https://github.com/codevise/pageflow/pull/2330))
89
+ - Bug fix: Only render homepage entry for HTML requests
90
+ ([#2432](https://github.com/codevise/pageflow/pull/2432))
51
91
 
52
- [Compare changes](https://github.com/codevise/pageflow/compare/v17.0.0...v17.0.1)
92
+ #### Scrolled Entry Type
53
93
 
54
- - Explicitly require `sprockets/rails` to make it available
55
- automatically for plugin dummy apps.
94
+ ##### Manual Update Steps
56
95
 
57
- ### Version 17.0.0
96
+ - Social embed content element
97
+ ([#2312](https://github.com/codevise/pageflow/pull/2312))
58
98
 
59
- 2024-01-12
99
+ ##### Published Entry
60
100
 
61
- [Compare changes](https://github.com/codevise/pageflow/compare/16-x-stable...v17.0.0)
101
+ - Excursions
102
+ ([#2289](https://github.com/codevise/pageflow/pull/2289),
103
+ [#2298](https://github.com/codevise/pageflow/pull/2298),
104
+ [#2305](https://github.com/codevise/pageflow/pull/2305),
105
+ [#2314](https://github.com/codevise/pageflow/pull/2314),
106
+ [#2321](https://github.com/codevise/pageflow/pull/2321),
107
+ [#2329](https://github.com/codevise/pageflow/pull/2329))
108
+ - Reduce and defer JavaScript payload
109
+ ([#2445](https://github.com/codevise/pageflow/pull/2445),
110
+ [#2446](https://github.com/codevise/pageflow/pull/2446),
111
+ [#2447](https://github.com/codevise/pageflow/pull/2447),
112
+ [#2448](https://github.com/codevise/pageflow/pull/2448))
113
+ - Inline file rights improvements
114
+ ([#2478](https://github.com/codevise/pageflow/pull/2478),
115
+ [#2482](https://github.com/codevise/pageflow/pull/2482))
116
+ - Outline/shadow element decorations and video element crop/rounded corners
117
+ ([#2378](https://github.com/codevise/pageflow/pull/2378),
118
+ [#2380](https://github.com/codevise/pageflow/pull/2380))
119
+ - Split appearance
120
+ ([#2370](https://github.com/codevise/pageflow/pull/2370),
121
+ [#2371](https://github.com/codevise/pageflow/pull/2371),
122
+ [#2374](https://github.com/codevise/pageflow/pull/2374))
123
+ - Link buttons
124
+ ([#2299](https://github.com/codevise/pageflow/pull/2299),
125
+ [#2315](https://github.com/codevise/pageflow/pull/2315))
126
+ - Add responsive image srcset support
127
+ ([#2367](https://github.com/codevise/pageflow/pull/2367))
128
+ - Improve accessibility of tooltips and player controls
129
+ ([#2290](https://github.com/codevise/pageflow/pull/2290),
130
+ [#2308](https://github.com/codevise/pageflow/pull/2308),
131
+ [#2317](https://github.com/codevise/pageflow/pull/2317))
132
+ - Allow configuring gradient shadow color
133
+ ([#2452](https://github.com/codevise/pageflow/pull/2452))
134
+ - Add option to position first backdrop below nav bar
135
+ ([#2352](https://github.com/codevise/pageflow/pull/2352))
136
+ - Improve sticky position
137
+ ([#2477](https://github.com/codevise/pageflow/pull/2477))
138
+ - Scroll margin
139
+ ([#2376](https://github.com/codevise/pageflow/pull/2376))
140
+ - Allow using FAQPage strucured data type for entries
141
+ ([#2306](https://github.com/codevise/pageflow/pull/2306))
142
+ - Opt in improvements
143
+ ([#2323](https://github.com/codevise/pageflow/pull/2323),
144
+ [#2369](https://github.com/codevise/pageflow/pull/2369))
145
+ - Add target top to external links in embed mode
146
+ ([#2331](https://github.com/codevise/pageflow/pull/2331))
147
+ - Apply width restriction per item in TwoColumn
148
+ ([#2384](https://github.com/codevise/pageflow/pull/2384))
149
+ - Prevent sub/sup from stretching line height
150
+ ([#2454](https://github.com/codevise/pageflow/pull/2454))
151
+ - Load CSS custom property definitions globally
152
+ ([#2373](https://github.com/codevise/pageflow/pull/2373))
153
+ - Do not enable scroll indicator widget by default if feature is enabled
154
+ ([#2294](https://github.com/codevise/pageflow/pull/2294))
155
+ - Remove experimental frontend
156
+ ([#2390](https://github.com/codevise/pageflow/pull/2390))
157
+ - Bug fix: Scroll to section when navigating via URL hash
158
+ ([#2301](https://github.com/codevise/pageflow/pull/2301),
159
+ [#2353](https://github.com/codevise/pageflow/pull/2353))
160
+ - Bug fix: Fix default text tracks on iOS
161
+ ([#2300](https://github.com/codevise/pageflow/pull/2300))
162
+ - Bug fix: Do not pause background video when clicking in section margin
163
+ ([#2296](https://github.com/codevise/pageflow/pull/2296))
62
164
 
63
- #### Breaking Changes
165
+ ##### Editor
64
166
 
65
- - Require Rails 7
66
- ([#2051](https://github.com/codevise/pageflow/pull/2051))
167
+ - Custom section paddings and content element margins
168
+ ([#2335](https://github.com/codevise/pageflow/pull/2335),
169
+ [#2336](https://github.com/codevise/pageflow/pull/2336),
170
+ [#2337](https://github.com/codevise/pageflow/pull/2337),
171
+ [#2338](https://github.com/codevise/pageflow/pull/2338),
172
+ [#2340](https://github.com/codevise/pageflow/pull/2340),
173
+ [#2341](https://github.com/codevise/pageflow/pull/2341),
174
+ [#2344](https://github.com/codevise/pageflow/pull/2344),
175
+ [#2361](https://github.com/codevise/pageflow/pull/2361),
176
+ [#2364](https://github.com/codevise/pageflow/pull/2364))
177
+ - Editing excursions
178
+ ([#2318](https://github.com/codevise/pageflow/pull/2318),
179
+ [#2320](https://github.com/codevise/pageflow/pull/2320),
180
+ [#2322](https://github.com/codevise/pageflow/pull/2322),
181
+ [#2345](https://github.com/codevise/pageflow/pull/2345),
182
+ [#2349](https://github.com/codevise/pageflow/pull/2349))
183
+ - Entry and content element defaults
184
+ ([#2342](https://github.com/codevise/pageflow/pull/2342),
185
+ [#2350](https://github.com/codevise/pageflow/pull/2350),
186
+ [#2451](https://github.com/codevise/pageflow/pull/2451))
187
+ - Actions menus
188
+ ([#2346](https://github.com/codevise/pageflow/pull/2346),
189
+ [#2347](https://github.com/codevise/pageflow/pull/2347),
190
+ [#2348](https://github.com/codevise/pageflow/pull/2348))
191
+ - Motif improvements
192
+ ([#2339](https://github.com/codevise/pageflow/pull/2339),
193
+ [#2343](https://github.com/codevise/pageflow/pull/2343))
194
+ - Show in file list where files are referenced in configurations
195
+ ([#2483](https://github.com/codevise/pageflow/pull/2483))
196
+ - Make UI design tokens available in preview
197
+ ([#2393](https://github.com/codevise/pageflow/pull/2393))
198
+ - Support floating strategy and named portals for editable links
199
+ ([#2358](https://github.com/codevise/pageflow/pull/2358))
200
+ - Support visibility and disabled bindings in sub views
201
+ ([#2357](https://github.com/codevise/pageflow/pull/2357))
202
+ - Increase max length of link urls
203
+ ([#2324](https://github.com/codevise/pageflow/pull/2324))
204
+ - Ensure preview text is visible in typography select
205
+ ([#2381](https://github.com/codevise/pageflow/pull/2381))
206
+ - Fix inline image collapse when file is not ready
207
+ ([#2379](https://github.com/codevise/pageflow/pull/2379))
208
+ - Fix text block selection rect on window resize
209
+ ([#2377](https://github.com/codevise/pageflow/pull/2377))
210
+ - Fix add button hiding in style list
211
+ ([#2363](https://github.com/codevise/pageflow/pull/2363))
212
+ - Fix editor crash for widgets disabled in editor
213
+ ([#2449](https://github.com/codevise/pageflow/pull/2449))
214
+ - Bug fix: Leave content element route after delete
215
+ ([#2484](https://github.com/codevise/pageflow/pull/2484))
216
+ - Bug fix: Prevent duplicate listeners in editor preview controller
217
+ ([#2372](https://github.com/codevise/pageflow/pull/2372))
218
+ - Bug fix: Fix Slate error when deselecting text in Chrome
219
+ ([#2354](https://github.com/codevise/pageflow/pull/2354))
220
+ - Bug fix: Improve section intersection observer
221
+ ([#2333](https://github.com/codevise/pageflow/pull/2333))
222
+
223
+ ##### Review
224
+
225
+ - Comments in preview and editor
226
+ ([#2392](https://github.com/codevise/pageflow/pull/2392),
227
+ [#2394](https://github.com/codevise/pageflow/pull/2394),
228
+ [#2395](https://github.com/codevise/pageflow/pull/2395),
229
+ [#2396](https://github.com/codevise/pageflow/pull/2396),
230
+ [#2398](https://github.com/codevise/pageflow/pull/2398),
231
+ [#2401](https://github.com/codevise/pageflow/pull/2401),
232
+ [#2409](https://github.com/codevise/pageflow/pull/2409),
233
+ [#2410](https://github.com/codevise/pageflow/pull/2410),
234
+ [#2411](https://github.com/codevise/pageflow/pull/2411),
235
+ [#2412](https://github.com/codevise/pageflow/pull/2412),
236
+ [#2414](https://github.com/codevise/pageflow/pull/2414),
237
+ [#2415](https://github.com/codevise/pageflow/pull/2415),
238
+ [#2418](https://github.com/codevise/pageflow/pull/2418),
239
+ [#2419](https://github.com/codevise/pageflow/pull/2419),
240
+ [#2420](https://github.com/codevise/pageflow/pull/2420),
241
+ [#2421](https://github.com/codevise/pageflow/pull/2421),
242
+ [#2423](https://github.com/codevise/pageflow/pull/2423),
243
+ [#2438](https://github.com/codevise/pageflow/pull/2438),
244
+ [#2439](https://github.com/codevise/pageflow/pull/2439),
245
+ [#2440](https://github.com/codevise/pageflow/pull/2440),
246
+ [#2453](https://github.com/codevise/pageflow/pull/2453),
247
+ [#2460](https://github.com/codevise/pageflow/pull/2460),
248
+ [#2476](https://github.com/codevise/pageflow/pull/2476))
249
+ - Resolving comments
250
+ ([#2399](https://github.com/codevise/pageflow/pull/2399))
251
+ - Unread comments
252
+ ([#2474](https://github.com/codevise/pageflow/pull/2474))
253
+ - Editing comments and drafts
254
+ ([#2457](https://github.com/codevise/pageflow/pull/2457),
255
+ [#2462](https://github.com/codevise/pageflow/pull/2462))
256
+ - Preserve the wording each comment refers to
257
+ ([#2456](https://github.com/codevise/pageflow/pull/2456))
258
+ - Allow hiding commenting UI
259
+ ([#2441](https://github.com/codevise/pageflow/pull/2441),
260
+ [#2479](https://github.com/codevise/pageflow/pull/2479))
261
+ - Remember collapsed state of comment toolbar
262
+ ([#2463](https://github.com/codevise/pageflow/pull/2463))
263
+
264
+ ##### Widgets
265
+
266
+ - Extend last section backdrop behind footer
267
+ ([#2327](https://github.com/codevise/pageflow/pull/2327))
268
+ - Allow rendering DefaultNavigation with custom Menu
269
+ ([#2311](https://github.com/codevise/pageflow/pull/2311))
270
+ - Do not display scroll indicator on top of consent bar
271
+ ([#2325](https://github.com/codevise/pageflow/pull/2325))
272
+
273
+ ##### Content Elements
274
+
275
+ - Lottie animation content element
276
+ ([#2468](https://github.com/codevise/pageflow/pull/2468),
277
+ [#2469](https://github.com/codevise/pageflow/pull/2469),
278
+ [#2472](https://github.com/codevise/pageflow/pull/2472),
279
+ [#2473](https://github.com/codevise/pageflow/pull/2473),
280
+ [#2480](https://github.com/codevise/pageflow/pull/2480),
281
+ [#2481](https://github.com/codevise/pageflow/pull/2481))
282
+ - Counter improvements
283
+ ([#2302](https://github.com/codevise/pageflow/pull/2302),
284
+ [#2355](https://github.com/codevise/pageflow/pull/2355),
285
+ [#2356](https://github.com/codevise/pageflow/pull/2356))
286
+ - External link list improvements
287
+ ([#2362](https://github.com/codevise/pageflow/pull/2362),
288
+ [#2404](https://github.com/codevise/pageflow/pull/2404),
289
+ [#2407](https://github.com/codevise/pageflow/pull/2407),
290
+ [#2408](https://github.com/codevise/pageflow/pull/2408))
291
+ - Teaser list improvements
292
+ ([#2313](https://github.com/codevise/pageflow/pull/2313),
293
+ [#2316](https://github.com/codevise/pageflow/pull/2316))
294
+ - Waveform improvements
295
+ ([#2359](https://github.com/codevise/pageflow/pull/2359),
296
+ [#2360](https://github.com/codevise/pageflow/pull/2360))
297
+ - Add fullscreen option to inline video
298
+ ([#2455](https://github.com/codevise/pageflow/pull/2455))
299
+ - Allow autoplaying inline videos only if entry is unmuted
300
+ ([#2303](https://github.com/codevise/pageflow/pull/2303))
301
+ - Improve closing hotspot tooltips
302
+ ([#2332](https://github.com/codevise/pageflow/pull/2332))
303
+ - Do not apply max-width to dynamically resized iframes
304
+ ([#2375](https://github.com/codevise/pageflow/pull/2375))
305
+ - Increase iframe source url max length
306
+ ([#2368](https://github.com/codevise/pageflow/pull/2368))
307
+ - Bug fix: Fix line breaks in info table cells
308
+ ([#2309](https://github.com/codevise/pageflow/pull/2309))
309
+
310
+ ##### Themes
311
+
312
+ - Theme presets background colors
313
+ ([#2437](https://github.com/codevise/pageflow/pull/2437))
314
+ - Theme specific decoration effects
315
+ ([#2424](https://github.com/codevise/pageflow/pull/2424))
316
+ - Allow theming figure caption padding, border and corners
317
+ ([#2470](https://github.com/codevise/pageflow/pull/2470))
318
+ - Theme options for big play button and hotspots pager buttons
319
+ ([#2304](https://github.com/codevise/pageflow/pull/2304))
320
+ - Support size-based typography for counters
321
+ ([#2351](https://github.com/codevise/pageflow/pull/2351))
322
+
323
+ ##### JavaScript API
324
+
325
+ - Improve media events
326
+ ([#2382](https://github.com/codevise/pageflow/pull/2382),
327
+ [#2450](https://github.com/codevise/pageflow/pull/2450))
328
+ - Support custom error boundaries for content elements
329
+ ([#2310](https://github.com/codevise/pageflow/pull/2310))
330
+
331
+ ##### Rails Engine
332
+
333
+ - Support declaring and preloading font faces in theme options
334
+ ([#2459](https://github.com/codevise/pageflow/pull/2459),
335
+ [#2461](https://github.com/codevise/pageflow/pull/2461))
336
+ - Let widgets contribute frontend packs
337
+ ([#2442](https://github.com/codevise/pageflow/pull/2442),
338
+ [#2443](https://github.com/codevise/pageflow/pull/2443),
339
+ [#2444](https://github.com/codevise/pageflow/pull/2444))
340
+
341
+ ##### Internal
342
+
343
+ - Turn inline editing decorators into general extensions API
344
+ ([#2389](https://github.com/codevise/pageflow/pull/2389),
345
+ [#2391](https://github.com/codevise/pageflow/pull/2391),
346
+ [#2429](https://github.com/codevise/pageflow/pull/2429),
347
+ [#2430](https://github.com/codevise/pageflow/pull/2430),
348
+ [#2431](https://github.com/codevise/pageflow/pull/2431))
349
+ - Storybook workflow improvements
350
+ ([#2402](https://github.com/codevise/pageflow/pull/2402),
351
+ [#2422](https://github.com/codevise/pageflow/pull/2422),
352
+ [#2433](https://github.com/codevise/pageflow/pull/2433))
353
+ - Feature specs for editable text and commenting
354
+ ([#2426](https://github.com/codevise/pageflow/pull/2426),
355
+ [#2427](https://github.com/codevise/pageflow/pull/2427),
356
+ [#2428](https://github.com/codevise/pageflow/pull/2428))
357
+ - Improve consistency of scrolled's Jest test suite and document rules
358
+ ([#2436](https://github.com/codevise/pageflow/pull/2436))
359
+ - Bundle entryState as a separate package export
360
+ ([#2406](https://github.com/codevise/pageflow/pull/2406))
361
+ - Run specs without rebuilding packages
362
+ ([#2385](https://github.com/codevise/pageflow/pull/2385),
363
+ [#2386](https://github.com/codevise/pageflow/pull/2386))
364
+ - Align commenting loading
365
+ ([#2425](https://github.com/codevise/pageflow/pull/2425))
366
+ - Rename widget_scope to entry_mode in template
367
+ ([#2388](https://github.com/codevise/pageflow/pull/2388))
67
368
 
68
369
  See
69
- [16-x-stable branch](https://github.com/codevise/pageflow/blob/16-x-stable/CHANGELOG.md)
370
+ [17-1-stable branch](https://github.com/codevise/pageflow/blob/17-1-stable/CHANGELOG.md)
70
371
  for previous changes.
data/README.md CHANGED
@@ -3,7 +3,6 @@
3
3
  [![Gem Version](https://badge.fury.io/rb/pageflow.svg)](http://badge.fury.io/rb/pageflow)
4
4
  [![Build Status](https://github.com/codevise/pageflow/workflows/tests/badge.svg)](https://github.com/codevise/pageflow/actions)
5
5
  [![Code Climate](https://codeclimate.com/github/codevise/pageflow/badges/gpa.svg)](https://codeclimate.com/github/codevise/pageflow)
6
- [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com)
7
6
 
8
7
  Multimedia storytelling for the web. Built in cooperation with [WDR](https://wdr.de).
9
8
 
@@ -49,9 +48,9 @@ Pageflow assumes the following choice of libraries:
49
48
 
50
49
  Pageflow runs in environments with:
51
50
 
52
- * Ruby >= 3.2
53
- * Node >= 18
54
- * Rails 7.1
51
+ * Ruby >= 3.4
52
+ * Node >= 22
53
+ * Rails >= 7.2, < 8.2
55
54
  * Redis server (for Resque)
56
55
  * A database server supported by Active Record (tested with MySQL)
57
56
  * ImageMagick
@@ -96,7 +95,6 @@ for details.
96
95
  # The install generator sets up Resque as Active Job backend
97
96
  gem 'resque', '~> 1.25'
98
97
  gem 'resque-scheduler', '~> 4.10'
99
- gem 'ar_after_transaction', '~> 0.8.0'
100
98
  gem 'redis', '~> 3.0'
101
99
  gem 'redis-namespace', '~> 1.5'
102
100
 
@@ -1,5 +1,5 @@
1
1
  module Pageflow
2
- ActiveAdmin.register Account, :as => 'Account' do
2
+ ActiveAdmin.register Account, as: 'Account' do
3
3
  menu({priority: 3}.merge(Pageflow.config.account_admin_menu_options))
4
4
 
5
5
  config.batch_actions = false
@@ -21,8 +21,8 @@ module Pageflow
21
21
  account.memberships.size if authorized?(:read, account)
22
22
  end
23
23
  account_memberships = current_user.memberships.on_accounts
24
- account_roles = account_memberships.each_with_object({}) do |membership, roles|
25
- roles[membership.entity_id] = membership.role
24
+ account_roles = account_memberships.to_h do |membership|
25
+ [membership.entity_id, membership.role]
26
26
  end
27
27
  if authorized?(:see_own_role_on, :accounts)
28
28
  column :own_role do |account|
@@ -43,22 +43,22 @@ module Pageflow
43
43
  searchable_select_options(text_attribute: :name,
44
44
  scope: lambda do
45
45
  Account
46
- .accessible_by(current_ability, :read)
47
- .order(:name)
46
+ .accessible_by(current_ability, :read)
47
+ .order(:name)
48
48
  end)
49
49
 
50
50
  searchable_select_options(name: :member_addable,
51
51
  text_attribute: :name,
52
52
  scope: lambda do
53
53
  AccountPolicy::Scope.new(current_user, Account)
54
- .member_addable
55
- .order(:name)
54
+ .member_addable
55
+ .order(:name)
56
56
  end)
57
57
 
58
- form :partial => 'form'
58
+ form partial: 'form'
59
59
 
60
- show :title => :name do |account|
61
- render 'account_details', :account => account
60
+ show title: :name do |account|
61
+ render('account_details', account:)
62
62
 
63
63
  tabs_view(Pageflow.config.admin_resource_tabs.find_by_resource(account),
64
64
  i18n: 'pageflow.admin.resource_tabs',
@@ -67,10 +67,12 @@ module Pageflow
67
67
  end
68
68
 
69
69
  controller do
70
- helper Pageflow::Admin::FeaturesHelper
71
- helper Pageflow::Admin::FormHelper
72
- helper Pageflow::Admin::LocalesHelper
73
- helper Pageflow::Admin::MembershipsHelper
70
+ helper Admin::CutoffModesHelper
71
+ helper Admin::FeaturesHelper
72
+ helper Admin::FormHelper
73
+ helper Admin::LocalesHelper
74
+ helper Admin::MembershipsHelper
75
+ helper Admin::SitesHelper
74
76
  helper ThemesHelper
75
77
 
76
78
  def new
@@ -87,7 +89,7 @@ module Pageflow
87
89
  end
88
90
 
89
91
  def update
90
- update! do |success, failure|
92
+ update! do |success, _failure|
91
93
  success.html { redirect_to(admin_account_path(resource, params.permit(:tab))) }
92
94
  end
93
95
  end
@@ -114,7 +116,7 @@ module Pageflow
114
116
  [
115
117
  :name,
116
118
  :default_file_rights,
117
- default_site_attributes: permitted_site_attributes
119
+ {default_site_attributes: permitted_site_attributes}
118
120
  ] +
119
121
  permitted_attributes_for(:account)
120
122
  end
@@ -139,10 +141,10 @@ module Pageflow
139
141
  end
140
142
 
141
143
  def permit_feature_states(attributes)
142
- if params[:id] && authorized?(:update_feature_configuration_on, resource)
143
- feature_states = params[:account][:feature_states].try(:permit!)
144
- attributes.merge!(feature_states: feature_states || {})
145
- end
144
+ return unless params[:id] && authorized?(:update_feature_configuration_on, resource)
145
+
146
+ feature_states = params[:account][:feature_states].try(:permit!)
147
+ attributes.merge!(feature_states: feature_states || {})
146
148
  end
147
149
  end
148
150
  end