gitlab-org--gitlab-foss/app/models
Stan Hu 52fdddbd2d Cache avatar URLs and paths within a request
In a merge request with many discussions, the avatar URL can be called
thousands of times, inflicting a significant performance penalty
especially when avatars are stored in object storage. To mitigate this
problem, we can just cache the generated path any time it is requested.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/55355
2018-12-19 15:34:29 -08:00
..
application_setting Enable frozen string for app/models/**/*.rb 2018-08-03 01:44:16 -07:00
badges Enable frozen string for app/models/**/*.rb 2018-08-03 01:44:16 -07:00
blob_viewer Fix xss vulnerability sourced from package.json's homepage 2018-09-19 09:13:33 +08:00
ci Add new predefined variable CI_COMMIT_SHORT_SHA 2018-12-17 17:06:53 +00:00
clusters Upgrade Knative from 0.1.3 to 0.2.2 2018-12-11 15:03:31 -08:00
concerns Cache avatar URLs and paths within a request 2018-12-19 15:34:29 -08:00
conversational_development_index Enable more frozen string in app/models/**/*.rb 2018-08-07 00:37:36 -07:00
diff_viewer Enable more frozen string in app/models/**/*.rb 2018-08-07 00:37:36 -07:00
hooks Use a 32-byte version of db_key_base for web hooks 2018-12-05 00:00:42 +00:00
identity Move Identity.uniqueness_scope to a module 2018-11-12 14:14:13 +01:00
issue Enable more frozen string in app/models/**/*.rb 2018-08-07 00:37:36 -07:00
members Remove unnecessary includes of ShellAdapter 2018-12-05 23:19:27 -08:00
merge_request Enable more frozen string in app/models/**/*.rb 2018-08-07 00:37:36 -07:00
network Fix rubocop Style/ZeroLengthPredicate 2018-09-18 14:31:17 +05:00
postgresql Disable replication lag check for Aurora PostgreSQL databases 2018-11-03 07:00:31 -07:00
project_services Rename project's pipelines relation 2018-12-05 14:39:15 +00:00
protected_branch Enable frozen string in rest of app/models/**/*.rb 2018-08-10 00:51:01 -07:00
protected_tag Enable frozen string in rest of app/models/**/*.rb 2018-08-10 00:51:01 -07:00
storage Rename the Repository table to PoolRepository 2018-11-27 13:41:46 +01:00
uploads Enabled feature flag for fast deletions 2018-12-06 22:00:19 +01:00
.gitkeep
ability.rb Use Gitlab::SafeRequestStore in more places 2018-09-24 12:11:27 -07:00
abuse_report.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
active_session.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
appearance.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
application_record.rb Add ApplicationRecord model class 2018-11-14 12:41:16 +01:00
application_setting.rb Encrypt new instance runners registration tokens 2018-11-15 15:17:32 +01:00
audit_event.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
award_emoji.rb Refactor AutocompleteController 2018-08-20 13:53:00 +02:00
badge.rb Added FromUnion to easily select from a UNION 2018-09-17 12:39:43 +02:00
blob.rb Batch load only data from same repository when lazy object is accessed 2018-11-26 11:15:18 +01:00
board.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
board_group_recent_visit.rb Automatically navigate to last board visited 2018-10-26 12:49:16 +00:00
board_project_recent_visit.rb Automatically navigate to last board visited 2018-10-26 12:49:16 +00:00
broadcast_message.rb Refactor BroadcastMessage to use Gitlab::JsonCache 2018-12-19 15:15:06 -02:00
chat_name.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
chat_team.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
commit.rb Truncate merge request titles with periods instead of ellipsis 2018-12-06 21:51:51 -08:00
commit_collection.rb Rename project's pipelines relation 2018-12-05 14:39:15 +00:00
commit_range.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
commit_status.rb Refactor how a few ActiveRecord enums are defined 2018-11-15 17:41:54 +01:00
commit_status_enums.rb Refactor how a few ActiveRecord enums are defined 2018-11-15 17:41:54 +01:00
compare.rb Allow getting all paths (old & new) involved in MR 2018-11-07 11:28:43 +08:00
container_repository.rb Move registry destroy out of project transaction 2018-09-19 06:36:29 -07:00
cycle_analytics.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
dashboard_group_milestone.rb Don't use MilestoneFinder for group milestones 2018-09-18 11:35:21 -03:00
dashboard_milestone.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
deploy_key.rb Fix rubocop Style/ZeroLengthPredicate 2018-09-18 14:31:17 +05:00
deploy_keys_project.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
deploy_token.rb Memorize project to avoid re-query 2018-11-05 20:09:11 +08:00
deployment.rb Avoid returning deployment metrics url to MR widget when the deployment is not successful 2018-11-14 11:11:27 +00:00
diff_discussion.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
diff_note.rb Allow suggesting single line changes in diffs 2018-12-13 19:17:19 +00:00
directly_addressed_user.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
discussion.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
discussion_note.rb Remove EE-specific code from DiscussionNote 2018-10-26 14:23:58 +01:00
email.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
environment.rb Rever add action follow up 1 2018-11-07 14:36:42 +09:00
environment_status.rb Squashed commit of the following: 2018-12-03 15:47:09 +09:00
epic.rb Remove EE-specific code from Mentionable 2018-09-17 19:36:53 +08:00
event.rb Remove rails4 specific code 2018-12-16 10:48:41 +01:00
event_collection.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
external_issue.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
fork_network.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
fork_network_member.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
generic_commit_status.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
global_label.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
global_milestone.rb Moving state_count to Milestone model and related tests 2018-10-17 15:42:10 +02:00
gpg_key.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
gpg_key_subkey.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
gpg_signature.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
group.rb Unify into :group_clusters feature flag 2018-12-05 10:16:44 +13:00
group_custom_attribute.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
group_label.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
group_milestone.rb Add group milestones to dashboard milestone page 2018-08-03 19:52:37 +00:00
guest.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
identity.rb Move Identity.uniqueness_scope to a module 2018-11-12 14:14:13 +01:00
import_export_upload.rb Add Object Storage to GitLab project import 2018-08-02 11:50:19 +02:00
individual_note_discussion.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
instance_configuration.rb Instance Configuration page now displays correct SSH fingerprints 2018-10-03 15:25:42 +01:00
internal_id.rb Trigger iid logic from GitHub importer for milestones. 2018-08-16 10:01:02 +02:00
issue.rb Extract code into IssueBoardEntity 2018-12-04 08:44:21 -06:00
issue_assignee.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
issue_collection.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
key.rb Use a method for the has_many :keys in Project 2018-11-01 14:20:38 +01:00
label.rb Filter by None/Any for labels in issues/mrs API 2018-11-23 16:11:52 +01:00
label_link.rb Resolve "Migrate issue labels and milestone to related merge request" 2018-09-06 17:02:51 +00:00
label_note.rb Use ResourceLabelEvent for tracking label changes 2018-09-07 13:39:20 +00:00
label_priority.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
legacy_diff_discussion.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
legacy_diff_note.rb Simplify by using Gitlab::SafeRequestStore 2018-09-24 12:11:26 -07:00
lfs_file_lock.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
lfs_object.rb Enhance performance of counting local LFS objects 2018-10-30 08:42:11 +01:00
lfs_objects_project.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
license_template.rb Backport project template API to CE 2018-10-05 11:34:43 +01:00
list.rb Add preload in issues controller 2018-10-18 18:43:50 -07:00
member.rb Resolve "Can add an existing group member into a group project with new permissions but permissions are not overridden" 2018-12-06 13:15:29 +00:00
members_preloader.rb Add MembersPreloader to fix ActiveRecord cop 2018-11-02 21:38:58 +00:00
merge_request.rb Merge branch 'osw-revert-suggestions-ff' into 'master' 2018-12-18 15:42:34 +00:00
merge_request_diff.rb Passing an argument to force an association to reload is now deprecated 2018-11-26 15:46:14 +01:00
merge_request_diff_commit.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
merge_request_diff_file.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
merge_requests_closing_issues.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
milestone.rb Merge branch 'rails5-deprecated-uniq' into 'master' 2018-10-29 18:35:05 +00:00
namespace.rb Remove unnecessary includes of ShellAdapter 2018-12-05 23:19:27 -08:00
note.rb Allow suggesting single line changes in diffs 2018-12-13 19:17:19 +00:00
note_diff_file.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
notification_reason.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
notification_recipient.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
notification_setting.rb reorder notification settings by noisy-ness 2018-11-30 18:16:03 -08:00
oauth_access_grant.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
oauth_access_token.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
out_of_context_discussion.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
pages_domain.rb Disable existing offenses for the CodeReuse cops 2018-09-11 17:32:00 +02:00
personal_access_token.rb [master] Persist only SHA digest of PersonalAccessToken#token 2018-10-29 16:06:45 +00:00
personal_snippet.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
pool_repository.rb Leave object pools when destroying projects 2018-12-19 13:21:56 +01:00
programming_language.rb Enable frozen string in rest of app/models/**/*.rb 2018-08-10 00:51:01 -07:00
project.rb Leave object pools when destroying projects 2018-12-19 13:21:56 +01:00
project_authorization.rb Added FromUnion to easily select from a UNION 2018-09-17 12:39:43 +02:00
project_auto_devops.rb Add timed incremental rollout to Auto DevOps 2018-10-05 21:14:59 +02:00
project_ci_cd_setting.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_custom_attribute.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_deploy_token.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_feature.rb Make GitLab pages support access control 2018-10-05 13:41:11 +00:00
project_group_link.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_import_data.rb Refactor Project#create_or_update_import_data 2018-12-11 14:46:35 +01:00
project_import_state.rb Small code refactoring for condition circuit breaking 2018-11-28 10:01:00 +00:00
project_label.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_repository.rb Store hashed storage paths in the database 2018-11-29 16:08:14 +00:00
project_snippet.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_statistics.rb Merge branch 'frozen-string-enable-app-models' into 'master' 2018-08-02 09:11:52 +00:00
project_team.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
project_wiki.rb Correct Gitlab Capitalization in code files 2018-09-21 12:05:37 +00:00
prometheus_metric.rb Add NGINX 0.16.0 and above metrics 2018-12-17 23:48:55 +00:00
protectable_dropdown.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
protected_branch.rb Remove unnecessary includes of ShellAdapter 2018-12-05 23:19:27 -08:00
protected_tag.rb Remove unnecessary includes of ShellAdapter 2018-12-05 23:19:27 -08:00
push_event.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
push_event_payload.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
readme_blob.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
redirect_route.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
ref_matcher.rb Refactor ProtectedRefMatcher to be more generic 2018-08-13 13:36:22 +02:00
release.rb Add name, author and sha to releases 2018-12-13 12:15:21 +01:00
remote_mirror.rb Send a notification email on mirror update errors 2018-12-11 23:08:17 -03:00
repository.rb Remove unnecessary includes of ShellAdapter 2018-12-05 23:19:27 -08:00
repository_language.rb Enable frozen string in rest of app/models/**/*.rb 2018-08-10 00:51:01 -07:00
resource_label_event.rb Use ResourceLabelEvent for tracking label changes 2018-09-07 13:39:20 +00:00
route.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
security_event.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
sent_notification.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
service.rb Remove rails4 specific code 2018-12-16 10:48:41 +01:00
shard.rb Fix transaction pollution in Shard.by_name 2018-12-07 13:55:11 +00:00
snippet.rb Rewrite SnippetsFinder to improve performance 2018-11-05 14:28:29 +01:00
snippet_blob.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
spam_log.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
ssh_host_key.rb Backport SSH host key detection code to CE 2018-10-25 13:51:45 +01:00
subscription.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
suggestion.rb Remove feature flag for suggest changes feature 2018-12-18 11:18:21 -02:00
system_note_metadata.rb Filter system notes with public and private cross references 2018-10-02 17:01:49 -05:00
term_agreement.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
timelog.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
todo.rb Clean up ActiveRecord code in TodoService 2018-10-08 15:19:12 +02:00
tree.rb Use cached readme blobs where appropriate 2018-10-17 16:24:36 +01:00
trending_project.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
u2f_registration.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
upload.rb Use FastDestroy for deleting uploads 2018-12-06 22:00:19 +01:00
user.rb Add name, author and sha to releases 2018-12-13 12:15:21 +01:00
user_agent_detail.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
user_callout.rb Refactor how a few ActiveRecord enums are defined 2018-11-15 17:41:54 +01:00
user_callout_enums.rb Refactor how a few ActiveRecord enums are defined 2018-11-15 17:41:54 +01:00
user_custom_attribute.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
user_interacted_project.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
user_preference.rb Add 'only history' option to notes filter 2018-11-05 12:30:14 +00:00
user_status.rb Show the status of a user in interactions 2018-07-30 15:01:26 +02:00
user_synced_attributes_metadata.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
users_star_project.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
wiki_directory.rb Enable frozen string in app/models/*.rb 2018-07-26 16:55:41 -07:00
wiki_page.rb Remove downcase of slug and present home as "Home" 2018-11-28 12:10:39 -08:00