comfy_middle_seat 3.2.0 → 3.2.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 385ae2594717984eee4d7a568cb9bde9443f709965748fe601812be607f13dea
4
- data.tar.gz: 879f3f1d267b529b30ad012d57c61bfbd64e4cb877b062b44e022eac015502de
3
+ metadata.gz: b4b2154b0c5ddc39354f9407955841c380dd85c70f4f3cbcddcf3e11fbefa352
4
+ data.tar.gz: '06858e762e783ff3862dd9400acc853f8e1481e6fc52098294ba40f2afeea65c'
5
5
  SHA512:
6
- metadata.gz: 430cebb413df49b32fb311c6a7bc1462ea52cf5c7056f7c35c6c24ad4ff9740f3344f35a860eb2eb0d3d94671c5385d82be0d916e6ac7309df974e2897d74aa6
7
- data.tar.gz: 7ea323b71050068057948cde56b61fc0ae986d3235a9ef990fd0e01feae6390f7f73ea29bf8533bfe806e88999773faa310cd354d1582eb5e949f82df55f1f37
6
+ metadata.gz: c892bc46404adb3d6573811baf8a7406dfe85bb8251a6954b2a5ecec043872bc818aa4cc2c67ab925bf3f0170cc8afc8a112d0341ea64a8f4e623a5f993b7fd2
7
+ data.tar.gz: 1e1be00b0b164a6e0120694508752af5cf1d0cc4d60acf8e2c1b099229274a40a82968e94076b7535e86008e167ac581da32354e5400320804036ecbcef719bc
@@ -45,6 +45,10 @@ jobs:
45
45
  - name: Compile assets
46
46
  run: bin/bundle exec rails comfy:compile_assets
47
47
 
48
+ - name: Verify Coveralls token is configured
49
+ run: |
50
+ ruby -e 'abort "COVERALLS_REPO_TOKEN is missing" if ENV.fetch("COVERALLS_REPO_TOKEN", "").strip.empty?'
51
+
48
52
  - name: Run tests, report coverage
49
53
  run: |
50
54
  bin/bundle exec rails db:drop
data/CHANGELOG.md CHANGED
@@ -6,12 +6,47 @@ All notable changes to this project's source code will be documented in this fil
6
6
 
7
7
  Please follow the recommendations outlined at [keepachangelog.com](https://keepachangelog.com). Please use the existing headings and styling as a guide, and add a link for the version diff at the bottom of the file. Also, please update the `Unreleased` link to compare it to the latest release version.
8
8
 
9
- For all changes prior to the inception of this project, see the [Release History](https://github.com/comfy/comfortable-mexican-sofa/releases) of ComfortableMexicanSofa.
9
+ This changelog follows the project's lineage: **Comfortable Mexican Sofa → Comfortable Media Surfer → Comfy Middle Seat**. Version **3.2.0** is the first release published as `comfy_middle_seat`. The entries for **3.0.0–3.1.7** below are inherited from `comfortable_media_surfer` and retain their upstream links. For earlier history, see the [Comfortable Mexican Sofa releases](https://github.com/comfy/comfortable-mexican-sofa/releases).
10
10
 
11
- ## Versions
11
+ ## Comfy Middle Seat
12
12
 
13
13
  ## [Unreleased]
14
14
 
15
+ ### Fixed
16
+
17
+ - Fix CI eager loading after the gem rename by excluding the explicitly required `comfy_middle_seat` entrypoint and version directory from Zeitwerk autoloading. Add a regression test that also checks eager loading outside CI.
18
+
19
+ ## [v3.2.0] - 2026-09-17
20
+
21
+ **First Comfy Middle Seat release.** Forked from [Comfortable Media Surfer](https://github.com/shakacode/comfortable-media-surfer), itself a revival of [Comfortable Mexican Sofa](https://github.com/comfy/comfortable-mexican-sofa). The new name keeps the C.M.S. initials and pays homage to the original.
22
+
23
+ ### Changed
24
+
25
+ - Publish the gem as `comfy_middle_seat` and rename the gemspec to `comfy_middle_seat.gemspec`.
26
+ - Preserve the `ComfortableMediaSurfer` Ruby namespace, configuration, routes, and database tables. Existing Surfer applications do not need a namespace or schema migration for the rename.
27
+ - Move the version definition to `lib/comfy_middle_seat/version.rb` for release tooling, retaining a compatibility loader at the old path.
28
+ - Run the main test suite in six isolated processes by default, with merged coverage and a separate `test:serial` task for Coveralls.
29
+ - Update CI coverage to Rails 7.2, 8.0, and 8.1, with a separate browser/system test job.
30
+
31
+ ### Added
32
+
33
+ - Add `lib/comfy_middle_seat.rb` so Bundler loads the existing implementation automatically under the new gem name.
34
+ - Add controls to publish and unpublish child pages from the admin interface.
35
+
36
+ ### Fixed
37
+
38
+ - Strengthen site isolation for admin parameters, cross-site associations, asset lookup, reordering, categories, and fragment ownership.
39
+ - Fix file modal cleanup and reinitialization, and expose jQuery for Bootstrap integration.
40
+ - Remove the unsupported `:escape` option before JSON parsing while preserving other parser options.
41
+
42
+ ### Upgrading from Surfer
43
+
44
+ Replace `comfortable_media_surfer` with `comfy_middle_seat` in your Gemfile and run `bundle install`. Do not include both gems. Keep existing `ComfortableMediaSurfer` configuration and initializer names.
45
+
46
+ ## Comfortable Media Surfer — inherited releases
47
+
48
+ The releases below belong to `comfortable_media_surfer`, not `comfy_middle_seat`. Their original notes and upstream comparison links are preserved.
49
+
15
50
  ## [v3.1.7] - 2026-02-20
16
51
 
17
52
  ### Fixed
@@ -135,7 +170,8 @@ First release of `comfortable_media_surfer`. This new gem is a revival of [Comfo
135
170
 
136
171
  - Rebranded **ComfortableMexicanSofa** as **ComfortableMediaSurfer** in order to publish new gem (database table names and schema have not changed).
137
172
 
138
- [Unreleased]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.7...master
173
+ [Unreleased]: https://github.com/avonderluft/comfy-middle-seat/compare/v3.2.0...master
174
+ [v3.2.0]: https://github.com/avonderluft/comfy-middle-seat/compare/eeb5d590f47b5d6bb70191fb81c781540753fa97...v3.2.0
139
175
  [v3.1.7]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.6...v3.1.7
140
176
  [v3.1.6]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.5...v3.1.6
141
177
  [v3.1.5]: https://github.com/shakacode/comfortable-media-surfer/compare/v3.1.4...v3.1.5
data/README.md CHANGED
@@ -1,19 +1,17 @@
1
- [![Rails CI](https://github.com/avonderluft/comfy-middle-seat/actions/workflows/rubyonrails.yml/badge.svg)](https://github.com/avonderluft/comfy-middle-seat/actions/workflows/rubyonrails.yml)
2
- [![Gem Version](https://img.shields.io/gem/v/comfy_middle_seat.svg?style=flat)](https://rubygems.org/gems/comfy_middle_seat)
3
- [![Gem Downloads](https://img.shields.io/gem/dt/comfy_middle_seat.svg?style=flat)](https://rubygems.org/gems/comfy_middle_seat)
4
- [![GitHub Release Date - Published_At](https://img.shields.io/github/release-date/avonderluft/comfy-middle-seat?label=last%20release&color=seagreen)](https://github.com/avonderluft/comfy-middle-seat/releases)
1
+ [![Rails CI](https://github.com/avonderluft/comfortable-media-surfer/actions/workflows/rubyonrails.yml/badge.svg)](https://github.com/avonderluft/comfortable-media-surfer/actions/workflows/rubyonrails.yml) [![Test Coverage](https://img.shields.io/coverallsCoverage/github/avonderluft/comfy-middle-seat?branch=master&cacheSeconds=300)](https://coveralls.io/github/avonderluft/comfy-middle-seat?branch=master) [![Gem Version](https://img.shields.io/gem/v/comfy_middle_seat.svg?style=flat)](https://rubygems.org/gems/comfy_middle_seat) [![Gem Downloads](https://img.shields.io/gem/dt/comfy_middle_seat.svg?style=flat)](https://rubygems.org/gems/comfy_middle_seat) [![GitHub Release Date - Published_At](https://img.shields.io/github/release-date/avonderluft/comfy-middle-seat?label=last%20release&color=seagreen)](https://github.com/avonderluft/comfortable-media-surfer/releases)
5
2
 
6
3
  # Comfy Middle Seat
7
4
 
8
- Comfy Middle Seat is a Rails CMS (Content Management System) engine, published as `comfy_middle_seat`. It keeps the Comfortable Media Surfer implementation and pays homage to the original Comfortable Mexican Sofa—with the same C.M.S. initials and a new place to sit.
5
+ Comfy Middle Seat is a Rails CMS (Content Management System) engine, published as gem `comfy_middle_seat`. It retains the Comfortable Media Surfer implementation and pays homage to the original Comfortable Mexican Sofa—with the same C.M.S. initials and a new place to sit.
9
6
 
10
7
  The `ComfortableMediaSurfer` Ruby namespace, configuration, and internal paths remain unchanged. Only the gem's public name changes; there is no need to rename existing Surfer initializers or database tables.
11
8
 
12
9
  ## Project History
13
10
 
14
- - **[Comfortable Mexican Sofa](https://github.com/comfy/comfortable-mexican-sofa)**, created by Oleg Khabarov, is the original Rails CMS on which this project is built.
15
- - **[Comfortable Media Surfer](https://github.com/shakacode/comfortable-media-surfer)** revived Sofa under ShakaCode, continuing its development for modern Rails applications.
16
- - **Comfy Middle Seat** is a fork of Comfortable Media Surfer, published under a new gem name while retaining its implementation and API.
11
+ - **[Comfortable Mexican Sofa](https://github.com/comfy/comfortable-mexican-sofa)**, created by Oleg Khabarov, is the original Rails CMS on which this project is built. Oleg deserves the lion's share of kudos.
12
+ - **[Occams](https://github.com/avonderluft/occams)** was an attempted revival of Sofa. Andrew vonderLuft was a contributor to [RadiantCMS](https://github.com/radiant/radiant) back in the day, but that project became inactive. He found Sofa and liked it even better than Radiant, but sadly it too became inactive. Hence Occams.
13
+ - **[Comfortable Media Surfer](https://github.com/shakacode/comfortable-media-surfer)** revived Sofa under the sponsor ship of ShakaCode, continuing its development for modern Rails applications.
14
+ - **Comfy Middle Seat** is a fork of Comfortable Media Surfer, published with a new gem name while retaining the Surfer implementation and API.
17
15
 
18
16
  See the [CHANGELOG](CHANGELOG.md) for the inherited development history, and the original [Sofa releases](https://github.com/comfy/comfortable-mexican-sofa/releases) and [Surfer releases](https://github.com/shakacode/comfortable-media-surfer/releases) for earlier releases.
19
17
 
@@ -22,10 +20,10 @@ See the [CHANGELOG](CHANGELOG.md) for the inherited development history, and the
22
20
  - Simple drop-in integration with Rails 7.2+ apps with minimal configuration
23
21
  * The CMS keeps clear from the rest of your application
24
22
  * Powerful page templating capability using [Content Tags](https://github.com/shakacode/comfortable-media-surfer/wiki/Docs:-Content-Tags)
25
- * [Multiple Sites](https://github.com/shakacode/comfortable-media-surfer/wiki/Docs:-Sites) from a single installation
23
+ * [Multiple Sites](https://github.com/shakacode/comfortable-media-surfer/wiki/Sites) from a single installation
26
24
  * Multi-Language Support (i18n) (ca, cs, da, de, en, es, fi, fr, gr, hr, it, ja, nb, nl, pl, pt-BR, ru, sv, tr, uk, zh-CN, zh-TW) and page localization.
27
- * [CMS Seeds](https://github.com/shakacode/comfortable-media-surfer/wiki/Docs:-CMS-Seeds) for initial content population
28
- * [Revision History](https://github.com/shakacode/comfortable-media-surfer/wiki/Docs:-Revisions) to revert changes
25
+ * [CMS Seeds](https://github.com/shakacode/comfortable-media-surfer/wiki/CMS-Seeds) for initial content population
26
+ * [Revision History](https://github.com/shakacode/comfortable-media-surfer/wiki/Revisions) to revert changes
29
27
  * [Extendable Admin Area](https://github.com/shakacode/comfortable-media-surfer/wiki/HowTo:-Reusing-Admin-Area) built with [Bootstrap 4](http://getbootstrap.com) (responsive design). Using [CodeMirror](http://codemirror.net) for HTML and Markdown highlighing and [Redactor](http://imperavi.com/redactor) as the WYSIWYG editor.
30
28
 
31
29
  ## Dependencies
@@ -43,7 +41,7 @@ On Ruby 3.2+, 4.x, Rails 7.2+, 8.x
43
41
  Add gem definition to your Gemfile:
44
42
 
45
43
  ```ruby
46
- gem "comfy_middle_seat", "~> 3.1.0"
44
+ gem "comfy_middle_seat", "~> 3.2.0"
47
45
  ```
48
46
 
49
47
  Then from the Rails project's root run:
@@ -70,16 +68,16 @@ Replace `comfortable_media_surfer` in your Gemfile with `comfy_middle_seat` and
70
68
 
71
69
  ### From Sofa to Middle Seat
72
70
 
73
- The database structure is the same. Your Sofa project will also need to be upgraded to >= Rails 7.x
71
+ The database structure is the same. Your Sofa project will also need to be upgraded to >= Rails 7.2
74
72
  Then you should simply be able to update your Gemfile thus, and run bundle
75
73
 
76
74
  ```ruby
77
- gem 'comfy_middle_seat', '~> 3.1.0'
75
+ gem 'comfy_middle_seat', '~> 3.2.0'
78
76
  ```
79
77
 
80
78
  ### From Occams to Middle Seat
81
79
 
82
- Again the project must be >= Rails 7.x. Since the schema is different, executing this SQL should get you set for Middle Seat
80
+ Again the project must be >= Rails 7.2. Since the schema is different, executing this SQL should get you set for Middle Seat
83
81
 
84
82
  ```sql
85
83
  ALTER TABLE occams_cms_categories RENAME TO comfy_cms_categories;
@@ -154,5 +152,4 @@ Comfy Middle Seat can run like any Rails application in development. It's as eas
154
152
 
155
153
  ---
156
154
 
157
- Copyright 2010-2019 Oleg Khabarov, 2024-2026 ShakaCode LLC, 2026 Andrew vonderLuft
158
- Released under the [MIT license](LICENSE)
155
+ Copyright 2010-2019 Oleg Khabarov, 2024-2026 ShakaCode LLC, 2026 Andrew vonderLuft.<br/>Released under the [MIT license](LICENSE)
@@ -35,7 +35,7 @@
35
35
  = comfy_admin_partial "comfy/admin/cms/partials/navigation_after"
36
36
 
37
37
  .left-footer
38
- = link_to 'ComfortableMediaSurfer', 'https://github.com/shakacode/comfortable-media-surfer', target: '_blank'
38
+ = link_to 'ComfyMiddleSeat', 'https://github.com/avonderluft/comfy-middle-seat', target: '_blank'
39
39
  %span.version= ComfortableMediaSurfer::VERSION
40
40
  %br
41
41
  = link_to 'Rails', 'https://rubyonrails.org', target: '_blank'
@@ -32,7 +32,8 @@ module ComfortableMediaSurfer
32
32
  # not contain `.rb` files, or that should not be reloaded or eager loaded.
33
33
  # Common ones are `templates`, `generators`, or `middleware`, for example.
34
34
  config.add_autoload_paths_to_load_path = false
35
- config.autoload_lib(ignore: %w[generators])
35
+ # These gem entrypoints are explicitly required and retain the ComfortableMediaSurfer namespace.
36
+ config.autoload_lib(ignore: %w[generators comfy_middle_seat.rb comfy_middle_seat])
36
37
  end
37
38
 
38
39
  # Making sure we don't load our dev routes as part of the engine
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ComfortableMediaSurfer
4
- VERSION = '3.2.0'
4
+ VERSION = '3.2.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfy_middle_seat
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Khabarov