diff --git a/app/assets/stylesheets/web/rich-text-content.css b/app/assets/stylesheets/web/rich-text-content.css index 5a63f9eac..5a8ba3fd7 100644 --- a/app/assets/stylesheets/web/rich-text-content.css +++ b/app/assets/stylesheets/web/rich-text-content.css @@ -29,10 +29,17 @@ } ol, ul { - list-style: disc; padding-inline-start: 3ch; } + ol { + list-style: decimal; + } + + ul { + list-style: disc; + } + li:has(li) { list-style: none; diff --git a/app/controllers/public/base_controller.rb b/app/controllers/public/base_controller.rb index b4c33e95b..018b1ab36 100644 --- a/app/controllers/public/base_controller.rb +++ b/app/controllers/public/base_controller.rb @@ -11,7 +11,7 @@ class Public::BaseController < ApplicationController end def set_card - @card = @board.cards.find_by!(number: params[:id]) if params[:board_id] && params[:id] + @card = @board.cards.published.find_by!(number: params[:id]) if params[:board_id] && params[:id] end def set_public_cache_expiration diff --git a/app/models/signup.rb b/app/models/signup.rb index 110c253ef..041f461ac 100644 --- a/app/models/signup.rb +++ b/app/models/signup.rb @@ -8,6 +8,7 @@ class Signup validates :email_address, format: { with: URI::MailTo::EMAIL_REGEXP }, on: :identity_creation validates :full_name, :identity, presence: true, on: :completion + validates :full_name, length: { maximum: 240 } def initialize(...) super diff --git a/app/views/cards/comments/_comment.html.erb b/app/views/cards/comments/_comment.html.erb index fee6d6d25..6a825e9ec 100644 --- a/app/views/cards/comments/_comment.html.erb +++ b/app/views/cards/comments/_comment.html.erb @@ -1,4 +1,5 @@ <% cache comment do %> + <%# Helper Dependency Updated: avatar_image_tag 2025-12-15 %> <%= turbo_frame_tag comment, :container do %> <%# Cache bump 2025-12-14: action text attachment rendering changed for lightbox -%>
"> diff --git a/app/views/events/_event.html.erb b/app/views/events/_event.html.erb index 99f7a945e..733bb68df 100644 --- a/app/views/events/_event.html.erb +++ b/app/views/events/_event.html.erb @@ -1,4 +1,5 @@ <% cache event do %> + <%# Helper Dependency Updated: avatar_image_tag 2025-12-15 %> <% if lookup_context.exists?("events/event/eventable/_#{event.action}") %> <%= render "events/event/eventable/#{event.action}", event: event %> <% else %> diff --git a/app/views/notifications/_notification.html.erb b/app/views/notifications/_notification.html.erb index 1596d8529..02f547c4e 100644 --- a/app/views/notifications/_notification.html.erb +++ b/app/views/notifications/_notification.html.erb @@ -1,4 +1,5 @@ <% cache notification do %> + <%# Helper Dependency Updated: avatar_image_tag 2025-12-15 %> <%= notification_tag notification do %> <%= render "notifications/notification/header", notification: notification do %> <%= notification_toggle_read_button(notification, url: card_reading_path(notification.card)) %> diff --git a/app/views/signups/completions/new.html.erb b/app/views/signups/completions/new.html.erb index 5be760843..6d4c4c6cf 100644 --- a/app/views/signups/completions/new.html.erb +++ b/app/views/signups/completions/new.html.erb @@ -4,7 +4,7 @@

<%= @page_title %>

<%= form_with model: @signup, url: signup_completion_path, scope: "signup", class: "flex flex-column gap", data: { controller: "form" } do |form| %> - <%= form.text_field :full_name, class: "input txt-large", autocomplete: "name", placeholder: "Enter your full name…", autofocus: true, required: true %> + <%= form.text_field :full_name, class: "input txt-large", autocomplete: "name", placeholder: "Enter your full name…", autofocus: true, required: true, maxlength: 240 %>

You're one step away. Just enter your name to get your own Fizzy account.

diff --git a/test/controllers/public/cards_controller_test.rb b/test/controllers/public/cards_controller_test.rb index 652da3e8a..8b3b9e029 100644 --- a/test/controllers/public/cards_controller_test.rb +++ b/test/controllers/public/cards_controller_test.rb @@ -18,4 +18,10 @@ class Public::CardsControllerTest < ActionDispatch::IntegrationTest get public_board_card_path(@board.publication.key, @card) assert_response :not_found end + + test "not found if the card is drafted" do + @card.update!(status: :drafted) + get public_board_card_path(@board.publication.key, @card) + assert_response :not_found + end end diff --git a/test/models/signup_test.rb b/test/models/signup_test.rb index 589bcd49a..947d55d6b 100644 --- a/test/models/signup_test.rb +++ b/test/models/signup_test.rb @@ -72,4 +72,17 @@ class SignupTest < ActiveSupport::TestCase assert_nil signup.user end end + + test "#complete with name that is too long" do + Current.without_account do + signup = Signup.new(full_name: "A" * 241, identity: identities(:kevin)) + signup.expects(:create_tenant).never + + assert_not signup.complete + + assert signup.errors[:full_name].any? + assert_nil signup.account + assert_nil signup.user + end + end end