diff --git a/app/views/admins/components/_recordings.html.erb b/app/views/admins/components/_recordings.html.erb
index 2ffa9ee9..76e8ed17 100644
--- a/app/views/admins/components/_recordings.html.erb
+++ b/app/views/admins/components/_recordings.html.erb
@@ -75,8 +75,20 @@
<% else %>
+ <% failed_recordings = 0 %>
<% @recordings.each do |recording| %>
- <%= render "admins/components/server_recording_row", recording: recording %>
+ <% begin %>
+ <%= render "admins/components/server_recording_row", recording: recording %>
+ <% rescue => e %>
+ <% logger.error "Error retrieving recording #{recording[:meetingID]}: #{e} -> #{e.backtrace[0]}" %>
+ <% failed_recordings += 1 %>
+ <% end %>
+ <% end %>
+
+ <% if failed_recordings > 0 %>
+
+ <%= t("recording.error", count: failed_recordings) %>
+
<% end %>
<% end %>
diff --git a/app/views/shared/_sessions.html.erb b/app/views/shared/_sessions.html.erb
index 2b6932c5..372aece9 100644
--- a/app/views/shared/_sessions.html.erb
+++ b/app/views/shared/_sessions.html.erb
@@ -91,13 +91,25 @@
<% else %>
+ <% failed_recordings = 0 %>
<% recordings.each do |recording| %>
- <% if only_public %>
- <%= render "shared/components/public_recording_row", recording: recording %>
- <% else %>
- <%= render "shared/components/recording_row", recording: recording %>
+ <% begin %>
+ <% if only_public %>
+ <%= render "shared/components/public_recording_row", recording: recording %>
+ <% else %>
+ <%= render "shared/components/recording_row", recording: recording %>
+ <% end %>
+ <% rescue => e %>
+ <% logger.error "Error retrieving recording #{recording[:meetingID]}: #{e} -> #{e.backtrace[0]}" %>
+ <% failed_recordings += 1 %>
<% end %>
<% end %>
+
+ <% if failed_recordings > 0 %>
+
+ <%= t("recording.error", count: failed_recordings) %>
+
+ <% end %>
<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index c13114df..2fef1df0 100755
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -365,6 +365,7 @@ en:
recording:
all_recordings: All Recordings
email: Email Recording
+ error: There was an error retrieving %{count} recording(s)
no_recordings: This room has no %{inject}recordings.
no_user_recordings: You currently have no recordings.
no_matched_recordings: No %{inject} recordings match your search.