Skip to content

Updated css for todo tutorial so the checkbox is visible on firefox. - #92

Merged
barriehadfield merged 1 commit into
hyperstack-org:edgefrom
Tim-Blokdijk:edge
Dec 27, 2018
Merged

barriehadfield merged 1 commit into
hyperstack-org:edgefrom
Tim-Blokdijk:edge

Conversation

@Tim-Blokdijk

Copy link
Copy Markdown
Contributor

@barriehadfield

Copy link
Copy Markdown
Contributor

@Tim-Blokdijk thank you

@barriehadfield
barriehadfield merged commit d24c632 into hyperstack-org:edge Dec 27, 2018
mpantel pushed a commit to mpantel/hyperstack that referenced this pull request Sep 2, 2026
Updated css for todo tutorial so the checkbox is visible on firefox.
mpantel added a commit to mpantel/hyperstack that referenced this pull request Sep 2, 2026
…yperstack-org#92)

json_safe_columns expanded everything that was not a scalar through
instance_values. That is wrong for any value which already has a real as_json
but carries no instance variables -- Date and Time being exactly that. They
expanded to {} and the column default was destroyed.

The damage surfaced a long way from here. On the rails81 cell the date column's
default reached the client as {}, DummyValue#initialize called Date.parse({}),
the bare `rescue ::Exception` there swallowed the error, @object stayed nil, and
the attribute read back as nil -- so column_type_spec's dummy-value example got
nil where it expected today's date. Filed as hyperstack-org#92 before the cause was known;
it is a regression introduced by the first cut of the hyperstack-org#81 fix, not a Rails 8.1
behaviour change.

Date and Time are now listed as leaves, and the expansion branch additionally
refuses to expand anything whose instance_values are empty -- the general form
of the same rule, since expanding a value with nothing to expand can only ever
throw it away.

The four new examples are run against both implementations before committing:
all four pass here, and three of them fail against the previous version, so they
would have caught this. The fourth is the guard the other way -- it pins that
objects which DO have something to expand still get expanded, which is the whole
point of hyperstack-org#81.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mpantel added a commit to mpantel/hyperstack that referenced this pull request Sep 2, 2026
…yperstack-org#38, hyperstack-org#80)

The matrix ran Ruby 4.0 only on Rails 8.0 and Rails 8.1 only on Ruby 3.4, so
the intersection was never run. That is not an exotic corner -- it is the
combination a user on the newest supported Rails and the newest Ruby is on, and
SupportedVersions classified it :untested rather than :supported for exactly
that reason.

It is also the configuration hyperstack-org#38's client-runtime failures were reported against
(Ruby 4.0.5 / Rails 8.1.3, on the old rails-8 branch line). Those were closed on
the evidence that both axes pass independently, which was the most the matrix
could say without this cell. Now the combination itself is a gate.

Adds rails81-react19-ruby40 (RBENV_VERSION 4.0.5, RAILS_VERSION ~> 8.1.0,
otherwise identical to rails81-react19-ruby34) and renames rails81-react19 ->
rails81-react19-ruby34, per the id convention the table already documents: the
-ruby<MM> suffix is added where two cells would otherwise collide, as it already
is for the Rails 8.0 pair. Ids are consumed by CI alone (image tag and cache
key) and the runtime check matches on the ruby/rails fields, so the rename costs
an image rebuild and nothing more.

The Rails 8 corner is now a complete 2x2 grid -- {rails 8.0, 8.1} x {ruby 3.4,
4.0} -- so every comparison across it moves exactly one axis. This resolves,
rather than re-trades, the two-axis compromise recorded under hyperstack-org#80/hyperstack-org#92: a failure
on a Rails 8 cell is attributable to one version again. Comments that described
that compromise, and the cross-references invalidated by the rename, are updated
with it.

This takes the matrix to 9 cells, against the "without growing the matrix" note
that hyperstack-org#58 prompted. Deliberately: hyperstack-org#58's actual answer is a reduced default matrix
with the full one on protected branches and on demand, which makes the raw cell
count the wrong thing to economise on -- and the gap being closed sits on the
combination users are most likely to hit.

Verified: hyperstack:matrix:check OK (9 cells, table and .gitlab-ci.yml agree
across all three HYPERSTACK_CELL lists); `rake hyperstack:cell:env` resolves
rails81-react19-ruby40 to RBENV_VERSION 4.0.5 / RAILS_VERSION ~> 8.1.0 and
rails81-react19-ruby34 to no RBENV_VERSION (global 3.4.9); SupportedVersions now
reports ruby 4.0 + rails 8.1 :supported (was :untested) while ruby 3.4 + rails
7.0 stays :untested and ruby 2.7 + rails 5.0 stays :unsupported;
supported_versions_spec 10 examples and version_selectors_spec 130 examples,
0 failures. No stale references to the old id remain.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HSogCL1FZteNVsuvEVBMHf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants