From 7976895f96b8233a8fb42b4f0be6b2a3b8a46771 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 08:45:11 -0500 Subject: [PATCH 01/13] Cap height and scroll list --- app/views/accounts/settings/_users.html.erb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/accounts/settings/_users.html.erb b/app/views/accounts/settings/_users.html.erb index cf8db2ff4..bac38408a 100644 --- a/app/views/accounts/settings/_users.html.erb +++ b/app/views/accounts/settings/_users.html.erb @@ -1,7 +1,8 @@
People on the account <%= render "accounts/invite" %> -
+ +
<%= render partial: "accounts/user", collection: users %>
From 35b8b6f470b48628e64c46fefc8bc5d1721cce74 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Thu, 5 Jun 2025 17:03:21 +0200 Subject: [PATCH 02/13] Fix: update option when changing index --- app/javascript/controllers/knob_controller.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/javascript/controllers/knob_controller.js b/app/javascript/controllers/knob_controller.js index 0ca225750..66b3e0d56 100644 --- a/app/javascript/controllers/knob_controller.js +++ b/app/javascript/controllers/knob_controller.js @@ -18,6 +18,7 @@ export default class extends Controller { set #index(index) { this.fieldTarget.style.setProperty("--knob-index", `${index}`); this.sliderTarget.value = index + this.#optionForIndex(index).checked = true } get #selectedOption() { @@ -26,10 +27,6 @@ export default class extends Controller { }) } - set #value(index) { - this.#optionForIndex(index).checked = true - } - #optionForIndex(index) { return this.optionTargets.find(option => { return option.dataset.index === index; From ad27d856bb9cd356ecc6d88e4b786b78496c430a Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 11:16:53 -0500 Subject: [PATCH 03/13] Use card header in events --- app/assets/stylesheets/events.css | 44 ++++++++++++++----------- app/views/events/event/_layout.html.erb | 33 ++++++++++++------- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/app/assets/stylesheets/events.css b/app/assets/stylesheets/events.css index a0a5385f9..31207886f 100644 --- a/app/assets/stylesheets/events.css +++ b/app/assets/stylesheets/events.css @@ -131,16 +131,23 @@ --column-gap: 0.7ch; --panel-border-color: transparent; --panel-border-radius: 0.2em; - --panel-padding: 0.6em 1.2em 0.6em 0.6em; + --panel-padding: 0.6em; --panel-size: auto; margin: var(--inline-space); + overflow: clip; position: relative; - /* z-index: 1; */ @media (max-width: 639px) { --panel-size: 100%; } + + .card__collection { + border-end-end-radius: 0.3em; + font-size: var(--text-xx-small); + margin: -1.2em auto 0.8em -1.2em; + padding-block: 0.6em; + } } .event--golden { @@ -194,6 +201,22 @@ text-transform: uppercase; } + .event__icon { + background-color: var(--card-color); + border-end-start-radius: 0.3em; + display: grid; + font-size: var(--text-xx-small); + margin: -1.2em -1.2em 0.8em auto; + padding: 0.6em 0.9em 0.6em 0.7em; + place-content: center; + + .icon { + block-size: 1.4em; + inline-size: 1.4em; + grid-area: 1 / 1; + } + } + .event__timestamp { align-self: start; display: grid; @@ -207,21 +230,4 @@ font-size: 1.1em; line-height: 1.2; } - - .event__icon { - aspect-ratio: 1; - background-color: var(--card-color); - block-size: 1.7em; - border-radius: 1.7em; - inline-size: 1.7em; - display: grid; - place-content: center; - margin-inline-end: -0.75em; - - .icon { - block-size: 1.1em; - inline-size: 1.1em; - grid-area: 1 / 1; - } - } } diff --git a/app/views/events/event/_layout.html.erb b/app/views/events/event/_layout.html.erb index 7ac860790..0a3fd11f8 100644 --- a/app/views/events/event/_layout.html.erb +++ b/app/views/events/event/_layout.html.erb @@ -1,19 +1,18 @@ <%= link_to event.notifiable_target, - class: "event event--#{ event.action } #{ "event--golden" if event.card.golden? && card.doing? } panel center center-block flex-inline align-start justify-start gap position-relative", + class: "event event--#{ event.action } #{ "event--golden" if event.card.golden? && card.doing? } panel center center-block flex-inline align-start justify-start position-relative", style: "--card-color: #{ card.closed? ? "var(--color-card-complete)" : card.color }; background-color: color-mix(in srgb, var(--card-color) 10%, var(--color-canvas)); color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); border: 1px solid color-mix(in srgb, var(--card-color) 20%, var(--color-canvas))", data: { related_element_target: "related", related_element_group_value: card.id, action: "mouseover->related-element#highlight mouseout->related-element#unhighlight" } do %> -
- <%= avatar_image_tag(event.creator) %> -
- -
-
- - <%= event_action_sentence(event) %> - +
+
+
+ <%= card.id %> + + <%= event.collection.name %> + +
<% if event_column(event) == 2 %> @@ -22,8 +21,18 @@ <% end %>
- <%= yield %> +
+
+ <%= avatar_image_tag(event.creator) %> +
- <%= card.id %> · <%= event.collection.name %> +
+ + <%= event_action_sentence(event) %> + + + <%= yield %> +
+
<% end %> From 20d05150316881de14832c78a55509cbb7f28937 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 11:21:52 -0500 Subject: [PATCH 04/13] Fix that flash notices invisibly overlapped navbar --- app/assets/stylesheets/flash.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/flash.css b/app/assets/stylesheets/flash.css index 8eaddb0aa..e94a1ce80 100644 --- a/app/assets/stylesheets/flash.css +++ b/app/assets/stylesheets/flash.css @@ -1,10 +1,11 @@ @layer components { .flash { display: flex; - inline-size: 100%; - inset: var(--block-space) auto auto auto; + inset-block-start: var(--block-space); + inset-inline-start: 50%; justify-content: center; position: fixed; + transform: translate(-50%); z-index: 6; } From 33e9a6e645e4276405aab152196c978aad9d5fb0 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 08:45:11 -0500 Subject: [PATCH 05/13] Cap height and scroll list --- app/views/accounts/settings/_users.html.erb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/accounts/settings/_users.html.erb b/app/views/accounts/settings/_users.html.erb index cf8db2ff4..bac38408a 100644 --- a/app/views/accounts/settings/_users.html.erb +++ b/app/views/accounts/settings/_users.html.erb @@ -1,7 +1,8 @@
People on the account <%= render "accounts/invite" %> -
+ +
<%= render partial: "accounts/user", collection: users %>
From a22a78e60a93ba39d0b89aa5b15fe31f6d9119a6 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 11:16:53 -0500 Subject: [PATCH 06/13] Use card header in events --- app/assets/stylesheets/events.css | 44 ++++++++++++++----------- app/views/events/event/_layout.html.erb | 33 ++++++++++++------- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/app/assets/stylesheets/events.css b/app/assets/stylesheets/events.css index a0a5385f9..31207886f 100644 --- a/app/assets/stylesheets/events.css +++ b/app/assets/stylesheets/events.css @@ -131,16 +131,23 @@ --column-gap: 0.7ch; --panel-border-color: transparent; --panel-border-radius: 0.2em; - --panel-padding: 0.6em 1.2em 0.6em 0.6em; + --panel-padding: 0.6em; --panel-size: auto; margin: var(--inline-space); + overflow: clip; position: relative; - /* z-index: 1; */ @media (max-width: 639px) { --panel-size: 100%; } + + .card__collection { + border-end-end-radius: 0.3em; + font-size: var(--text-xx-small); + margin: -1.2em auto 0.8em -1.2em; + padding-block: 0.6em; + } } .event--golden { @@ -194,6 +201,22 @@ text-transform: uppercase; } + .event__icon { + background-color: var(--card-color); + border-end-start-radius: 0.3em; + display: grid; + font-size: var(--text-xx-small); + margin: -1.2em -1.2em 0.8em auto; + padding: 0.6em 0.9em 0.6em 0.7em; + place-content: center; + + .icon { + block-size: 1.4em; + inline-size: 1.4em; + grid-area: 1 / 1; + } + } + .event__timestamp { align-self: start; display: grid; @@ -207,21 +230,4 @@ font-size: 1.1em; line-height: 1.2; } - - .event__icon { - aspect-ratio: 1; - background-color: var(--card-color); - block-size: 1.7em; - border-radius: 1.7em; - inline-size: 1.7em; - display: grid; - place-content: center; - margin-inline-end: -0.75em; - - .icon { - block-size: 1.1em; - inline-size: 1.1em; - grid-area: 1 / 1; - } - } } diff --git a/app/views/events/event/_layout.html.erb b/app/views/events/event/_layout.html.erb index 7ac860790..0a3fd11f8 100644 --- a/app/views/events/event/_layout.html.erb +++ b/app/views/events/event/_layout.html.erb @@ -1,19 +1,18 @@ <%= link_to event.notifiable_target, - class: "event event--#{ event.action } #{ "event--golden" if event.card.golden? && card.doing? } panel center center-block flex-inline align-start justify-start gap position-relative", + class: "event event--#{ event.action } #{ "event--golden" if event.card.golden? && card.doing? } panel center center-block flex-inline align-start justify-start position-relative", style: "--card-color: #{ card.closed? ? "var(--color-card-complete)" : card.color }; background-color: color-mix(in srgb, var(--card-color) 10%, var(--color-canvas)); color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); border: 1px solid color-mix(in srgb, var(--card-color) 20%, var(--color-canvas))", data: { related_element_target: "related", related_element_group_value: card.id, action: "mouseover->related-element#highlight mouseout->related-element#unhighlight" } do %> -
- <%= avatar_image_tag(event.creator) %> -
- -
-
- - <%= event_action_sentence(event) %> - +
+
+
+ <%= card.id %> + + <%= event.collection.name %> + +
<% if event_column(event) == 2 %> @@ -22,8 +21,18 @@ <% end %>
- <%= yield %> +
+
+ <%= avatar_image_tag(event.creator) %> +
- <%= card.id %> · <%= event.collection.name %> +
+ + <%= event_action_sentence(event) %> + + + <%= yield %> +
+
<% end %> From c4aa46a35e8d7889d3ae116e40027037db0c8377 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 11:21:52 -0500 Subject: [PATCH 07/13] Fix that flash notices invisibly overlapped navbar --- app/assets/stylesheets/flash.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/flash.css b/app/assets/stylesheets/flash.css index 8eaddb0aa..e94a1ce80 100644 --- a/app/assets/stylesheets/flash.css +++ b/app/assets/stylesheets/flash.css @@ -1,10 +1,11 @@ @layer components { .flash { display: flex; - inline-size: 100%; - inset: var(--block-space) auto auto auto; + inset-block-start: var(--block-space); + inset-inline-start: 50%; justify-content: center; position: fixed; + transform: translate(-50%); z-index: 6; } From a1583225c4ab30ab15a821f68f58b6adebb787ef Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 13:39:30 -0500 Subject: [PATCH 08/13] Adjust icon and card header for events --- app/assets/stylesheets/events.css | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/app/assets/stylesheets/events.css b/app/assets/stylesheets/events.css index 31207886f..d2cc8db94 100644 --- a/app/assets/stylesheets/events.css +++ b/app/assets/stylesheets/events.css @@ -143,10 +143,17 @@ } .card__collection { - border-end-end-radius: 0.3em; - font-size: var(--text-xx-small); - margin: -1.2em auto 0.8em -1.2em; - padding-block: 0.6em; + background-color: transparent; + color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); + font-size: 0.7em; + margin: calc(var(--panel-padding) * -0.5) 0 var(--panel-padding) var(--panel-padding); + padding: 0; + } + + .card__collection-name { + border-inline-start: 1px solid color-mix(in srgb, var(--color-ink) 33%, var(--color-canvas)); + color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); + margin: 0 0 0 calc(var(--inline-space) * 0.75); } } @@ -202,17 +209,14 @@ } .event__icon { - background-color: var(--card-color); - border-end-start-radius: 0.3em; display: grid; - font-size: var(--text-xx-small); - margin: -1.2em -1.2em 0.8em auto; - padding: 0.6em 0.9em 0.6em 0.7em; + margin: -0.3em -0.3em auto auto; place-content: center; .icon { - block-size: 1.4em; - inline-size: 1.4em; + background-color: var(--card-color); + block-size: 1em; + inline-size: 1em; grid-area: 1 / 1; } } From 773633657f2b2aa2470cff5c305bc8136c248465 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 13:40:31 -0500 Subject: [PATCH 09/13] Try minus --- app/helpers/events_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index a6a25c5b5..f8dbad4dc 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -106,7 +106,7 @@ module EventsHelper when "card_assigned" "assigned" when "card_unassigned" - "remove-med" + "minus" when "card_staged" "bolt" when "card_unstaged" From 355823ea279ea3c8fd48e1749955101c400b13e3 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Thu, 5 Jun 2025 14:44:46 -0400 Subject: [PATCH 10/13] dep: update rack to 3.1.16 Addresses: Name: rack Version: 3.1.15 CVE: CVE-2025-49007 GHSA: GHSA-47m2-26rw-j2jw Criticality: Unknown URL: https://github.com/rack/rack/security/advisories/GHSA-47m2-26rw-j2jw Title: ReDoS Vulnerability in Rack::Multipart handle_mime_head --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index df65ec675..36d9f87f6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -345,7 +345,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.15) + rack (3.1.16) rack-contrib (2.5.0) rack (< 4) rack-session (2.1.1) From 72ff55eb463c6d7fa9efe71d2074bfc6776859d2 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 13:45:40 -0500 Subject: [PATCH 11/13] Keep up with filtering controller changes --- app/helpers/accesses_helper.rb | 1 - app/views/collections/_access_toggle.erb | 2 +- app/views/collections/edit/_users.html.erb | 8 +++----- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/helpers/accesses_helper.rb b/app/helpers/accesses_helper.rb index 8715b8165..d7f442114 100644 --- a/app/helpers/accesses_helper.rb +++ b/app/helpers/accesses_helper.rb @@ -2,7 +2,6 @@ module AccessesHelper def access_menu_tag(collection, &) tag.menu class: [ "flex flex-column gap-half unpad margin-none txt-medium", { "toggler--toggled": collection.all_access? } ], data: { controller: "filter toggle-class", - filter_active_class: "filter--active", filter_selected_class: "selected", toggle_class_toggle_class: "toggler--toggled" }, & end diff --git a/app/views/collections/_access_toggle.erb b/app/views/collections/_access_toggle.erb index 06609a1fe..066227fb6 100644 --- a/app/views/collections/_access_toggle.erb +++ b/app/views/collections/_access_toggle.erb @@ -1,4 +1,4 @@ -
  • +
  • <%= avatar_tag user %>
    diff --git a/app/views/collections/edit/_users.html.erb b/app/views/collections/edit/_users.html.erb index 926bfce21..36e75e2dd 100644 --- a/app/views/collections/edit/_users.html.erb +++ b/app/views/collections/edit/_users.html.erb @@ -21,11 +21,9 @@ - <% if User.active.count > 20 %> -
    - -
    - <% end %> +
    + +
    <%= access_toggles_for selected_users, selected: true %> From 2f78d1dd03a1706789a9097f41c1f296b5d8e438 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 13:59:17 -0500 Subject: [PATCH 12/13] Filter here, too --- app/views/accounts/_user.html.erb | 4 ++-- app/views/accounts/settings/_users.html.erb | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/views/accounts/_user.html.erb b/app/views/accounts/_user.html.erb index 2964451b5..123b2553e 100644 --- a/app/views/accounts/_user.html.erb +++ b/app/views/accounts/_user.html.erb @@ -1,4 +1,4 @@ -
    +
  • <%= avatar_tag user, class: "flex-item-no-shrink" %> @@ -22,4 +22,4 @@ <%= icon_tag "minus" %> Remove <%= user.name %> from the account <% end %> -
  • + diff --git a/app/views/accounts/settings/_users.html.erb b/app/views/accounts/settings/_users.html.erb index bac38408a..550715545 100644 --- a/app/views/accounts/settings/_users.html.erb +++ b/app/views/accounts/settings/_users.html.erb @@ -2,7 +2,13 @@ People on the account <%= render "accounts/invite" %> -
    - <%= render partial: "accounts/user", collection: users %> +
    +
    + +
    + +
    + <%= render partial: "accounts/user", collection: users %> +
    From 01352d0785def76c28a35b9448516457de21fae2 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Thu, 5 Jun 2025 14:00:35 -0500 Subject: [PATCH 13/13] =?UTF-8?q?The=20joke=20is=20better=20if=2011=20is?= =?UTF-8?q?=20last=20=F0=9F=A4=98=F0=9F=8F=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/entropy_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/entropy_helper.rb b/app/helpers/entropy_helper.rb index b4f4d25ba..c7303cdd3 100644 --- a/app/helpers/entropy_helper.rb +++ b/app/helpers/entropy_helper.rb @@ -1,5 +1,5 @@ module EntropyHelper def entropy_auto_close_options - [ 3, 7, 11, 30, 90, 365 ] + [ 3, 7, 30, 90, 365, 11 ] end end