diff --git a/Gemfile b/Gemfile index f5df3f8d08f..6d3847ad595 100644 --- a/Gemfile +++ b/Gemfile @@ -333,7 +333,7 @@ gem 'licensee', '~> 9.16' # rubocop:todo Gemfile/MissingFeatureCategory # Detect and convert string character encoding # We forked charlock_holmes at https://gitlab.com/gitlab-org/ruby/gems/charlock_holmes # but changed it's name to 'static_holmes' in the gemspec file. -gem 'static_holmes', '~> 0.7.7', require: 'charlock_holmes' # rubocop:todo Gemfile/MissingFeatureCategory +gem 'static_holmes', '~> 0.7.11', require: 'charlock_holmes', feature_category: :shared # Detect mime content type from content gem 'ruby-magic', '~> 0.6' # rubocop:todo Gemfile/MissingFeatureCategory diff --git a/Gemfile.checksum b/Gemfile.checksum index 455954099e0..b12dd205e5a 100644 --- a/Gemfile.checksum +++ b/Gemfile.checksum @@ -663,7 +663,7 @@ {"name":"state_machines","version":"0.5.0","platform":"ruby","checksum":"23e6249d374a920b528dccade403518b4abbd83841a3e2c9ef13e6f1a009b102"}, {"name":"state_machines-activemodel","version":"0.8.0","platform":"ruby","checksum":"e932dab190d4be044fb5f9cab01a3ea0b092c5f113d4676c6c0a0d49bf738d2c"}, {"name":"state_machines-activerecord","version":"0.8.0","platform":"ruby","checksum":"072fb701b8ab03de0608297f6c55dc34ed096e556fa8f77e556f3c461c71aab6"}, -{"name":"static_holmes","version":"0.7.7","platform":"ruby","checksum":"87c426d821728915518444342aaac58d078b359e0f4a34e4e0516b0daadc8207"}, +{"name":"static_holmes","version":"0.7.11","platform":"ruby","checksum":"c35cb3ed35986656e0b2bb4d69b89551d45c0a182ff6ae0181f1e2ba080732bb"}, {"name":"strings","version":"0.2.1","platform":"ruby","checksum":"933293b3c95cf85b81eb44b3cf673e3087661ba739bbadfeadf442083158d6fb"}, {"name":"strings-ansi","version":"0.2.0","platform":"ruby","checksum":"90262d760ea4a94cc2ae8d58205277a343409c288cbe7c29416b1826bd511c88"}, {"name":"swd","version":"1.3.0","platform":"ruby","checksum":"bc382a19e1d36a95529b25152976db61b80376c3d486b21c8dd60ac2b5c06389"}, diff --git a/Gemfile.lock b/Gemfile.lock index bca5c84b251..c76168cd31d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1753,7 +1753,7 @@ GEM state_machines-activerecord (0.8.0) activerecord (>= 5.1) state_machines-activemodel (>= 0.8.0) - static_holmes (0.7.7) + static_holmes (0.7.11) strings (0.2.1) strings-ansi (~> 0.2) unicode-display_width (>= 1.5, < 3.0) @@ -2251,7 +2251,7 @@ DEPENDENCIES ssh_data (~> 1.3) stackprof (~> 0.2.25) state_machines-activerecord (~> 0.8.0) - static_holmes (~> 0.7.7) + static_holmes (~> 0.7.11) sys-filesystem (~> 1.4.3) tanuki_emoji (~> 0.9) telesignenterprise (~> 2.2) diff --git a/app/assets/javascripts/entrypoints/tracker.js b/app/assets/javascripts/entrypoints/tracker.js index 91d19d249b3..814bde60aed 100644 --- a/app/assets/javascripts/entrypoints/tracker.js +++ b/app/assets/javascripts/entrypoints/tracker.js @@ -42,7 +42,10 @@ window.snowplowPlugins = [ LinkClickTrackingPlugin(), FormTrackingPlugin(), TimezonePlugin(), - GaCookiesPlugin(), + GaCookiesPlugin({ + ga4: true, + ga4MeasurementId: window.gl?.ga4MeasurementId, + }), PerformanceTimingPlugin(), ClientHintsPlugin(), ]; diff --git a/app/assets/javascripts/error_tracking/components/timeline_chart.vue b/app/assets/javascripts/error_tracking/components/timeline_chart.vue index 66a72453c20..69a84bc85c6 100644 --- a/app/assets/javascripts/error_tracking/components/timeline_chart.vue +++ b/app/assets/javascripts/error_tracking/components/timeline_chart.vue @@ -3,7 +3,7 @@ import { GlChart } from '@gitlab/ui/dist/charts'; import { DATA_VIZ_BLUE_500 } from '@gitlab/ui/src/tokens/build/js/tokens'; import { hexToRgba } from '@gitlab/ui/dist/utils/utils'; import { isNumber } from 'lodash'; -import { formatDate } from '~/lib/utils/datetime/date_format_utility'; +import { localeDateFormat } from '~/lib/utils/datetime/locale_dateformat'; import { logError } from '~/lib/logger'; function parseTimelineData(timelineData) { @@ -23,7 +23,7 @@ function parseTimelineData(timelineData) { if (rawDate !== undefined && count !== undefined) { // dates/timestamps are in seconds const date = isNumber(rawDate) ? rawDate * 1000 : rawDate; - xData.push(formatDate(date)); + xData.push(localeDateFormat.asDateTimeFull.format(date)); yData.push(count); } else { invalidDataPoints.push(f); diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue index 53f18960edd..5154ff309d4 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue +++ b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue @@ -1,6 +1,7 @@