studio-engine 0.32.0 → 0.32.2

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: 445252feafe8e5767f83fcfc37ef8278a39e3cf02c10f050e1e89eb0f1dc779e
4
- data.tar.gz: f99cd313622b6eaa1b94a4d20bd4d2b2bca026f9c44899e0a94cdfef2c18a19c
3
+ metadata.gz: 9525633783466e9475652bb4ded7c35b05c36165cf76db8c68db9e9ee357e0cb
4
+ data.tar.gz: 7e2bbfa555bd538f915985213fafe2a27de2ef6bb0a2ae6b4868054a3dea127b
5
5
  SHA512:
6
- metadata.gz: 67d422357f8bfe80704d7c61dcdfce194f86dd902d460837ec85424db4fe3a804d41516213fe2c8e171c304bca120c3b70af460f8b9df5c8bbc4f39993dafabc
7
- data.tar.gz: cbcd30b10f5f9680ad79f60f541eca0afbc93e824522c914350e2f63cb4b4f47ba3bc48c4cd25afa9bc73ada4a9dbba08321b82c094651a63998eebf7dfbdf1a
6
+ metadata.gz: 33d02975ad35287da64b3a75ee297efec825d68fa5b3823e5ec834dc67eb572df96e669cff6fa94ce731293b343f2b9b9aef8a9a4ce9a6b63d4bddd79989fbda
7
+ data.tar.gz: 792e5a6c4159be01aba533ad28e705d09576a2a8b5ee8b9af05f0dc1200ba2baddd8dad772f1eea6dd6d0b7957705d57901d937c0cf73be21a89d726fbccbd20
data/CHANGELOG.md CHANGED
@@ -2,7 +2,65 @@
2
2
 
3
3
  The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html) — `MAJOR.MINOR.PATCH`. Consumer Rails apps install the released RubyGems package with `gem "studio-engine", "~> 0.6"`; bumping the gem version and updating consumer lockfiles is a release.
4
4
 
5
- ## 0.32.0Unreleased
5
+ ## 0.32.22026-08-09
6
+
7
+ **Two public-page navigation fixes** (found by the industries sidebar-adoption
8
+ review on the app's one public page): `components/_admin_dropdown` now renders
9
+ only for `admin?` viewers — it used to offer `/admin/theme` and `/error_logs`
10
+ links to signed-out strangers wherever the navbar mounted it; and
11
+ `components/_link_sidebar_trigger` no longer hardcodes `inline-flex` after the
12
+ caller's `class_name`, which beat `hidden md:inline-flex` in the cascade and
13
+ rendered the desktop trigger on mobile beside the real one. Callers now own
14
+ the display class (bare renders default to `inline-flex`). Regression view
15
+ tests pin both.
16
+
17
+ ## 0.32.1 — Unreleased
18
+
19
+ **Setup-guide corrections.** Docs only — no code, no behavior change.
20
+
21
+ ### Docs
22
+
23
+ - **`NEW_APP_SETUP.md` § 15 "Lint And CI" — the two things a fresh app gets wrong
24
+ by default.** Both surface as a red CI lane on the app's first push and both
25
+ read like code defects when they aren't.
26
+
27
+ *Lint:* the generated `.rubocop.yml` inherits `rubocop-rails-omakase`, which
28
+ enforces `[ a, b ]`, while scaffolded code routinely writes `[a, b]` — so a new
29
+ app is usually born with a red `lint` lane. Run `bin/rubocop -a` before the
30
+ first commit, and either format to the cop or disable it deliberately. The
31
+ section tabulates which apps did which, stamped with the `origin/main` ref it
32
+ was surveyed at; that table lives in the guide rather than here because
33
+ `studio-engine.gemspec:21` packages this CHANGELOG but excludes `docs/`, so the
34
+ guide can be corrected without an erratum and this file cannot.
35
+
36
+ *CI:* the generated workflow installs a short fixed list and nothing else, so an
37
+ app that shells out to any other binary must add it to the install step in EVERY
38
+ test-running job. How many jobs that is depends on your Rails version — 8.1
39
+ generates separate `test` and `system-test` jobs with separate install steps,
40
+ 7.2 a single job running both suites — and the guide tabulates both. The
41
+ failure is misleading: the test raises inside its own setup, so the lane reads
42
+ as a code defect rather than a missing package. moms-app's `BookStitcher` shells
43
+ out to `ffmpeg`, its README had listed `ffmpeg` as a requirement all along, and
44
+ the requirement was simply never told to CI.
45
+ - **`NEW_APP_SETUP.md` § 15 also covers the system-test lane that tests nothing.**
46
+ `rails new` wires a `test:system` CI invocation and the capybara/selenium gems,
47
+ and what you get behind it depends on your Rails version. On **7.2**
48
+ (`app_generator.rb:254-258`, called at `:459` under `depends_on_system_test?` —
49
+ true for a plain `rails new`) `test/system/.keep` and
50
+ `application_system_test_case.rb` are created, so the lane
51
+ runs, finds zero tests, and reports **GREEN** — a pass that means nothing. On
52
+ **8.1** (`:257-262`) that scaffolding sits behind a
53
+ `devcontainer? && depends_on_system_test?` guard, so a plain `rails new` gets the
54
+ invocation without the directory and the lane goes **RED** on
55
+ `cannot load such file -- test/system`. Either way the lane is not testing your
56
+ app; the green one is the harder to notice. The section tabulates where each
57
+ house app actually stands.
58
+ - **§ 16 Verify** no longer asks you to confirm a "yellow Development Environment
59
+ bar" — that hand-rolled strip was replaced by the shared environment banner in
60
+ 0.30.0, so the checklist now names the banner, DEV MODE, and the Local Inbox link.
61
+
62
+
63
+ ## 0.32.0 — 2026-08-09
6
64
 
7
65
  **Readable ink on every theme, and the `btn-primary` label joins the token
8
66
  contract.** (The token work merged after 0.31.0 was cut, so both land here.)
@@ -135,6 +193,7 @@ Do these two in this order; they do not commute.
135
193
  `consume_magic_link` / `preview_magic_link` and overriding hooks. In
136
194
  particular, move any `reset_session` into `sign_in_existing` only — the
137
195
  `:continue` path must not reach it.
196
+
138
197
  ## 0.30.1 — 2026-08-08
139
198
 
140
199
  **`NEW_APP_SETUP.md` § 5 gave a command that does not exist.** 0.30.0 documented
@@ -1,3 +1,7 @@
1
+ <%# ADMIN chrome: renders only for admin? viewers. Signed-out and
2
+ non-admin visitors get nothing — this partial once leaked admin
3
+ links onto a public landing page. %>
4
+ <% if respond_to?(:admin?) && admin? %>
1
5
  <div x-data="{ open: false }" class="relative leading-none">
2
6
  <button @click="open = !open" class="flex text-secondary hover:text-heading transition" title="Admin">
3
7
  <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
@@ -12,3 +16,4 @@
12
16
  <a href="/error_logs" class="block px-4 py-2 text-sm text-body hover:text-heading hover:bg-surface-alt transition">Error Logs</a>
13
17
  </div>
14
18
  </div>
19
+ <% end %>
@@ -3,11 +3,14 @@
3
3
  desktop icon rail and one in the mobile sub-navbar row). The click is
4
4
  handled twice on purpose: the Alpine @click for normal operation, and the
5
5
  document-level capture bridge in _link_sidebar for pre-Alpine clicks. %>
6
- <% extra_classes = local_assigns.fetch(:class_name, "") %>
6
+ <%# The caller OWNS the display class: a hardcoded inline-flex here beats a
7
+ caller's `hidden md:inline-flex` in the cascade and un-hides the desktop
8
+ trigger on mobile. Bare renders default to inline-flex. %>
9
+ <% extra_classes = local_assigns.fetch(:class_name, "").presence || "inline-flex" %>
7
10
  <% sidebar_admin = respond_to?(:admin?) && admin? %>
8
11
  <button type="button"
9
12
  @click.stop="$store.sidebars.linkTreeOpen = !$store.sidebars.linkTreeOpen"
10
- class="<%= "#{extra_classes} " if extra_classes.present? %>inline-flex h-9 w-9 items-center justify-center rounded-md text-secondary hover:text-heading hover:bg-surface-alt focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 transition"
13
+ class="<%= extra_classes %> h-9 w-9 items-center justify-center rounded-md text-secondary hover:text-heading hover:bg-surface-alt focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 transition"
11
14
  title="<%= sidebar_admin ? 'Admin Menu' : 'Links' %>"
12
15
  aria-label="<%= sidebar_admin ? 'Toggle admin menu' : 'Toggle links menu' %>"
13
16
  aria-controls="studio-link-sidebar studio-link-sidebar-mobile"
@@ -1,3 +1,3 @@
1
1
  module Studio
2
- VERSION = "0.32.0"
2
+ VERSION = "0.32.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: studio-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.0
4
+ version: 0.32.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex McRitchie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-09 00:00:00.000000000 Z
11
+ date: 2026-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails