diff --git a/.env.test b/.env.test
index 9b5f06bf..d32d7f7b 100644
--- a/.env.test
+++ b/.env.test
@@ -11,5 +11,6 @@ ZwIDAQAB
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=1
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=2
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=3
+
GROVER_NO_SANDBOX=true # must be true for running chromium as root in Docker container
PDF_DISPLAY_URL=
diff --git a/app/components/message_threads_table_component.html.erb b/app/components/message_threads_table_component.html.erb
index 68f60cd9..dd789a1c 100644
--- a/app/components/message_threads_table_component.html.erb
+++ b/app/components/message_threads_table_component.html.erb
@@ -2,7 +2,7 @@
<%= render MessageThreadsBulkActionsComponent.new(ids: [], filter: @filter, filter_subscription: @filter_subscription, signable: Current.user.signer?) %>
<%= form_with url: bulk_actions_message_threads_path, data: { "form-target": "form", "all-checkboxes-target": "form" } do %>
-
+
<% message_threads.each do |message_thread| %>
<%= message_thread %>
<% end %>
diff --git a/app/components/message_threads_table_row_component.html.erb b/app/components/message_threads_table_row_component.html.erb
index f4ee8b25..b70e69e9 100644
--- a/app/components/message_threads_table_row_component.html.erb
+++ b/app/components/message_threads_table_row_component.html.erb
@@ -2,11 +2,11 @@
<%= check_box_tag("message_thread_ids[]", @message_thread.id, false, { id: "message_thread_#{@message_thread.id}", class: "h-4 w-4 rounded border-gray-300 text-blue-500 focus:ring-0 hidden sm:block my-auto", type: "checkbox", data: { action: "form#send" } }) %>
- <%= link_to @message_thread, class: "flex flex-col md:flex-row md:flex-nowrap justify-between grow gap-2" do %>
+ <%= link_to @message_thread, class: class_names("flex flex-col md:flex-row md:flex-nowrap justify-between grow gap-2", :group, visited: @message_thread.all_read), data: {action: 'visited-links#visit'} do %>
- [word-break:break-word]">
+
<%= @message_thread.title %>
@@ -52,7 +52,7 @@
-