From 17806f46f9ff2674a35d9fe54b27db0b6fe8a21a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 May 2024 21:47:29 +0000 Subject: [PATCH 01/34] chore(deps): bump ua-parser-js from 1.0.37 to 1.0.38 Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 1.0.37 to 1.0.38. - [Release notes](https://github.com/faisalman/ua-parser-js/releases) - [Changelog](https://github.com/faisalman/ua-parser-js/blob/1.0.38/changelog.md) - [Commits](https://github.com/faisalman/ua-parser-js/compare/1.0.37...1.0.38) --- updated-dependencies: - dependency-name: ua-parser-js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 0922697b5..780c78a2f 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "compare-versions": "^6.0.0", "esbuild": "^0.21.4", "sass": "^1.77.2", - "ua-parser-js": "^1.0.37" + "ua-parser-js": "^1.0.38" }, "scripts": { "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets --format=esm --target=es2017", diff --git a/yarn.lock b/yarn.lock index 259c959fe..33a0099ca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1777,10 +1777,10 @@ tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -ua-parser-js@^1.0.37: - version "1.0.37" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" - integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== +ua-parser-js@^1.0.38: + version "1.0.38" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.38.tgz#66bb0c4c0e322fe48edfe6d446df6042e62f25e2" + integrity sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ== unbox-primitive@^1.0.2: version "1.0.2" From ea6461c0163a66dbaf95139eb11296505a05d6b3 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Wed, 29 May 2024 08:55:34 +0000 Subject: [PATCH 02/34] fix(web): redirect previous page after bulk delete operation --- app/controllers/channels_controller.rb | 8 ++------ app/views/channels/_form.html.slim | 1 - 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/app/controllers/channels_controller.rb b/app/controllers/channels_controller.rb index 2dbde88a1..ad53303a0 100644 --- a/app/controllers/channels_controller.rb +++ b/app/controllers/channels_controller.rb @@ -37,7 +37,7 @@ def edit def update @channel.update(channel_params) - redirect_to (referer_url || friendly_channel_overview_path(@channel)) + redirect_back fallback_location: friendly_channel_overview_path(@channel) end def destroy @@ -57,7 +57,7 @@ def destroy_releases channel.releases.where(id: delete_params[:release_ids]).destroy_all end - redirect_to friendly_channel_versions_path(channel), status: :see_other + redirect_back fallback_location: friendly_channel_versions_path(channel), status: :see_other end protected @@ -75,10 +75,6 @@ def set_channel @subtitle = t('channels.subtitle', total_scheme: @app.schemes.count, total_channel: @channel.scheme.channels.count) end - def referer_url - @referer_url ||= params[:referer_url] - end - def channel_params params.require(:channel).permit( :scheme_id, :name, :device_type, :bundle_id, diff --git a/app/views/channels/_form.html.slim b/app/views/channels/_form.html.slim index 35cbaae5c..fad4942b0 100644 --- a/app/views/channels/_form.html.slim +++ b/app/views/channels/_form.html.slim @@ -14,7 +14,6 @@ ruby: = simple_form_for(@channel, url: form_url) do |f| = f.error_notification - input name="referer_url" value="#{request.referer}" type="hidden" = f.input :scheme_id, as: :hidden, input_html: { value: params[:scheme_id] } = f.input :name, required: true = f.input :device_type, collection: Channel.device_types, label_method: :last, value_method: :first, selected: @channel.device_type ? @channel.device_type : Channel.device_types.first From ee8e7c20c4ea67827aef79a99d94ef5427ef1d0d Mon Sep 17 00:00:00 2001 From: icyleaf Date: Fri, 31 May 2024 05:46:49 +0000 Subject: [PATCH 03/34] chore(demo): generate sample teardown and debug file data --- app/services/create_sample_apps_service.rb | 654 ++++++++++++++++++++- config/locales/zealot/en.yml | 2 +- config/locales/zealot/zh-CN.yml | 2 +- 3 files changed, 652 insertions(+), 6 deletions(-) diff --git a/app/services/create_sample_apps_service.rb b/app/services/create_sample_apps_service.rb index 0516a52f4..582a0b090 100644 --- a/app/services/create_sample_apps_service.rb +++ b/app/services/create_sample_apps_service.rb @@ -2,15 +2,658 @@ require 'securerandom' -class CreateSampleAppsService +class CreateSampleAppsService # rubocop:disable Metrics/MethodLength,Metrics/ClassLength RELEASE_COUNT = 3 def call(user) + create_sample_apps(user) + + if Setting.demo_mode + create_sample_teardown(user) + create_sample_debug_files + end + end + + private + + def create_sample_apps(user) android_channels_app user stardford_app user end - private + def create_sample_debug_files + app = App.take + create_dsym_teardown(app) + create_proguard_teardown(app) + end + + def create_sample_teardown(user) + create_ios_teardown(user) + create_android_teardown(user) + end + + DSYMS = [ + { + "id": 4, + "debug_file_id": 4, + "uuid": "3c00ac25-7db1-3e8a-96f5-ff5806141896", + "type": "arm64", + "object": "NotificationContent", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.NotificationContent" + }, + "size": 1057398, + "created_at": "2024-05-31T13:32:24.214+08:00", + "updated_at": "2024-05-31T13:32:24.214+08:00" + }, + { + "id": 5, + "debug_file_id": 4, + "uuid": "f80dc2f3-8fc8-3049-aa6d-ffc1db208757", + "type": "arm64", + "object": "NotificationExtension", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.NotificationExtension" + }, + "size": 570464, + "created_at": "2024-05-31T13:32:24.226+08:00", + "updated_at": "2024-05-31T13:32:24.226+08:00" + }, + { + "id": 6, + "debug_file_id": 4, + "uuid": "c2a71eb6-afb4-3d92-ab18-1756d798db68", + "type": "armv7k", + "object": "Pocket Casts Watch App", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.watchkitapp" + }, + "size": 7392965, + "created_at": "2024-05-31T13:32:24.259+08:00", + "updated_at": "2024-05-31T13:32:24.259+08:00" + }, + { + "id": 7, + "debug_file_id": 4, + "uuid": "5179f8d7-8203-3471-afea-5126d77846fc", + "type": "arm64_32v8", + "object": "Pocket Casts Watch App", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.watchkitapp" + }, + "size": 7192701, + "created_at": "2024-05-31T13:32:24.285+08:00", + "updated_at": "2024-05-31T13:32:24.285+08:00" + }, + { + "id": 8, + "debug_file_id": 4, + "uuid": "a3a7418d-5f17-38f2-8402-fdd95f9d4559", + "type": "arm64", + "object": "Pocket Casts Watch App", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.watchkitapp" + }, + "size": 7665427, + "created_at": "2024-05-31T13:32:24.300+08:00", + "updated_at": "2024-05-31T13:32:24.300+08:00" + }, + { + "id": 9, + "debug_file_id": 4, + "uuid": "6515a202-c4cd-3349-b890-b140c1675606", + "type": "arm64", + "object": "PocketCastsDataModel", + "data": { "main": false, "identifier": "PocketCastsDataModel" }, + "size": 3788235, + "created_at": "2024-05-31T13:32:24.319+08:00", + "updated_at": "2024-05-31T13:32:24.319+08:00" + }, + { + "id": 10, + "debug_file_id": 4, + "uuid": "ddf530ff-33ee-3a42-8e3f-4d88894a4516", + "type": "armv7k", + "object": "PocketCastsDataModel", + "data": { "main": false, "identifier": "PocketCastsDataModel" }, + "size": 3321981, + "created_at": "2024-05-31T13:32:24.341+08:00", + "updated_at": "2024-05-31T13:32:24.341+08:00" + }, + { + "id": 11, + "debug_file_id": 4, + "uuid": "da1c30a2-fbbc-35f1-b665-c7280e33e8ff", + "type": "arm64_32v8", + "object": "PocketCastsDataModel", + "data": { "main": false, "identifier": "PocketCastsDataModel" }, + "size": 3245624, + "created_at": "2024-05-31T13:32:24.357+08:00", + "updated_at": "2024-05-31T13:32:24.357+08:00" + }, + { + "id": 12, + "debug_file_id": 4, + "uuid": "8bfa39bb-40ab-32e1-bf31-cadee3bd3236", + "type": "arm64", + "object": "PocketCastsDataModel", + "data": { "main": false, "identifier": "PocketCastsDataModel" }, + "size": 3561719, + "created_at": "2024-05-31T13:32:24.373+08:00", + "updated_at": "2024-05-31T13:32:24.373+08:00" + }, + { + "id": 13, + "debug_file_id": 4, + "uuid": "50c3d7db-1968-3f94-8381-3dd62fa1b93f", + "type": "arm64", + "object": "PocketCastsServer", + "data": { "main": false, "identifier": "PocketCastsServer" }, + "size": 13173618, + "created_at": "2024-05-31T13:32:24.472+08:00", + "updated_at": "2024-05-31T13:32:24.472+08:00" + }, + { + "id": 14, + "debug_file_id": 4, + "uuid": "8062ee0e-7b53-3631-bafa-1c504622f5d7", + "type": "armv7k", + "object": "PocketCastsServer", + "data": { "main": false, "identifier": "PocketCastsServer" }, + "size": 12280214, + "created_at": "2024-05-31T13:32:24.506+08:00", + "updated_at": "2024-05-31T13:32:24.506+08:00" + }, + { + "id": 15, + "debug_file_id": 4, + "uuid": "7b3e1b73-2b89-3924-978d-28427826eb07", + "type": "arm64_32v8", + "object": "PocketCastsServer", + "data": { "main": false, "identifier": "PocketCastsServer" }, + "size": 11927290, + "created_at": "2024-05-31T13:32:24.512+08:00", + "updated_at": "2024-05-31T13:32:24.512+08:00" + }, + { + "id": 16, + "debug_file_id": 4, + "uuid": "01789939-a624-3a0a-8823-06b23e892904", + "type": "arm64", + "object": "PocketCastsServer", + "data": { "main": false, "identifier": "PocketCastsServer" }, + "size": 12879191, + "created_at": "2024-05-31T13:32:24.519+08:00", + "updated_at": "2024-05-31T13:32:24.519+08:00" + }, + { + "id": 17, + "debug_file_id": 4, + "uuid": "563a768a-f2b5-3875-88bf-477e0875bba5", + "type": "arm64", + "object": "PocketCastsUtils", + "data": { "main": false, "identifier": "PocketCastsUtils" }, + "size": 1632283, + "created_at": "2024-05-31T13:32:24.526+08:00", + "updated_at": "2024-05-31T13:32:24.526+08:00" + }, + { + "id": 18, + "debug_file_id": 4, + "uuid": "6ebbd681-5551-355e-8770-c424f0cabe45", + "type": "armv7k", + "object": "PocketCastsUtils", + "data": { "main": false, "identifier": "PocketCastsUtils" }, + "size": 1295904, + "created_at": "2024-05-31T13:32:24.537+08:00", + "updated_at": "2024-05-31T13:32:24.537+08:00" + }, + { + "id": 19, + "debug_file_id": 4, + "uuid": "d70c67e8-075b-3662-9693-dd890c04ff10", + "type": "arm64_32v8", + "object": "PocketCastsUtils", + "data": { "main": false, "identifier": "PocketCastsUtils" }, + "size": 1276919, + "created_at": "2024-05-31T13:32:24.544+08:00", + "updated_at": "2024-05-31T13:32:24.544+08:00" + }, + { + "id": 20, + "debug_file_id": 4, + "uuid": "df8dfb75-03e5-3faa-9807-ad1d260b7c94", + "type": "arm64", + "object": "PocketCastsUtils", + "data": { "main": false, "identifier": "PocketCastsUtils" }, + "size": 1317115, + "created_at": "2024-05-31T13:32:24.550+08:00", + "updated_at": "2024-05-31T13:32:24.550+08:00" + }, + { + "id": 21, + "debug_file_id": 4, + "uuid": "2a5807e3-9649-3d86-9e56-fb8bc476cbc4", + "type": "arm64", + "object": "PodcastsIntents", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.PodcastsIntents" + }, + "size": 2124867, + "created_at": "2024-05-31T13:32:24.565+08:00", + "updated_at": "2024-05-31T13:32:24.565+08:00" + }, + { + "id": 22, + "debug_file_id": 4, + "uuid": "6b712f56-fabf-3f62-b816-def3c1bdb841", + "type": "arm64", + "object": "PodcastsIntentsUI", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.PodcastsIntentsUI" + }, + "size": 1703750, + "created_at": "2024-05-31T13:32:24.573+08:00", + "updated_at": "2024-05-31T13:32:24.573+08:00" + }, + { + "id": 23, + "debug_file_id": 4, + "uuid": "163167d7-d615-340e-9d2d-098722792164", + "type": "arm64", + "object": "Share Extension", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.Share-Extension" + }, + "size": 43103, + "created_at": "2024-05-31T13:32:24.580+08:00", + "updated_at": "2024-05-31T13:32:24.580+08:00" + }, + { + "id": 24, + "debug_file_id": 4, + "uuid": "5f3ddc87-f850-30c8-9753-707d2a28de19", + "type": "arm64", + "object": "WidgetExtension", + "data": { + "main": false, + "identifier": "au.com.shiftyjelly.podcasts.WidgetExtension" + }, + "size": 1954146, + "created_at": "2024-05-31T13:32:24.587+08:00", + "updated_at": "2024-05-31T13:32:24.587+08:00" + }, + { + "id": 25, + "debug_file_id": 4, + "uuid": "641b0cf5-f097-342c-a70b-2fd03e97d80c", + "type": "arm64", + "object": "podcasts", + "data": { "main": true, "identifier": "au.com.shiftyjelly.podcasts" }, + "size": 60806584, + "created_at": "2024-05-31T13:32:24.628+08:00", + "updated_at": "2024-05-31T13:32:24.628+08:00" + } + ] + + PROGUARDS = [ + { + "id": 26, + "debug_file_id": 5, + "uuid": "81384aeb-4837-5f73-a771-417b4399a483", + "type": "proguard", + "object": "com.icyleaf.appinfo", + "data": { + "files": [ + { "name": "AndroidManifest.xml", "size": 1268 }, + { "name": "R.txt", "size": 147585 }, + { "name": "mapping.txt", "size": 1666940 } + ] + }, + "size": 39204, + "created_at": "2024-05-31T13:40:18.451+08:00", + "updated_at": "2024-05-31T13:40:18.451+08:00" + } + ] + + def create_dsym_teardown(app) + df = DebugFile.find_or_initialize_by(checksum: '67629032310d9c58d73d541ee245dac3') do |m| + m.app = app + m.device_type = 'iOS' + m.release_version = '7.64' + m.build_version = '7.64.0.4' + m.file = 'pocketcastdSYM.zip' + end + df.save!(validate: false) + + DSYMS.each do |data| + df.metadata.find_or_create_by(data) + end + end + + def create_proguard_teardown(app) + df = DebugFile.find_or_initialize_by(checksum: '877b4849d2ef5ebacc7327435ced5117') do |m| + m.app = app + m.device_type = 'Android' + m.release_version = '7.64' + m.build_version = '9236' + m.file = 'pocketcastproguard.zip' + end + df.save!(validate: false) + + PROGUARDS.each do |data| + df.metadata.find_or_create_by(data) + end + end + + def create_ios_teardown(user) # rubocop:disable Metrics/MethodLength + metadata = Metadatum.find_or_initialize_by(bundle_id: 'au.com.shiftyjelly.podcasts') do |m| + m.user = the_user(user) + m.platform = 'ios' + m.device = 'universal' + m.name = 'Pocket Casts' + m.release_version = '7.64' + m.build_version = '7.64.0.4' + m.size = 72968205 + m.min_sdk_version = '15.0' + m.release_type = 'enterprise' + m.url_schemes = [ + [['pktc']], + [['com.googleusercontent.apps.910146533958-ev91pir0snj2c7lt49qfj2c838hevs7f']] + ] + m.mobileprovision = { + 'uuid': '573eebfd-619d-4996-a37d-5889c24b8cd7', + 'team_name': 'Automattic, Inc.', + 'created_at': '2024-04-12T21:15:25.000+00:00', + 'expired_at': '2025-04-12T18:29:34.000+00:00', + 'profile_name': 'match AppStore au.com.shiftyjelly.podcasts', + 'team_identifier': ['PZYM8XX95Q'] + } + m.developer_certs = [ + { + 'name': 'Apple Distribution: Automattic, Inc. (PZYM8XX95Q)', + 'digest': 'sha256', + 'format': 'x509', + 'issuer': [ + ['CN', 'Apple Worldwide Developer Relations Certification Authority'], + ['OU', 'G3'], + ['O', 'Apple Inc.'], + ['C', 'US'] + ], + 'serial': { + 'hex': '0x27d6821ce43dd94733e4c22c3fbb907e', + 'number': '52953682365612550053558674408508985470' + }, + 'subject': [ + ['UID', 'PZYM8XX95Q'], + ['CN', 'Apple Distribution: Automattic, Inc. (PZYM8XX95Q)'], + ['OU', 'PZYM8XX95Q'], + ['O', 'Automattic, Inc.'], + ['C', 'US'] + ], + 'version': 'v3', + 'algorithem': 'rsa', + 'created_at': '2024-04-12T18:29:35.000Z', + 'expired_at': '2025-04-12T18:29:34.000Z', + 'fingerprint': { + 'md5': '7a:a7:8e:d8:99:69:01:b6:21:5b:ad:f4:33:85:f9:56', + 'sha1': 'dc:0e:a8:9a:1b:da:ce:ed:18:02:7b:6f:39:bd:50:6f:06:41:42:aa', + 'sha256': 'f4:22:c6:11:04:e3:13:39:d4:e6:64:fe:09:c1:99:fe:00:78:65:56:f0:7f:59:c8:81:3b:8c:69:ff:34:a8:e3' + } + } + ] + m.entitlements = { + 'get-task-allow': false, + 'aps-environment': 'production', + 'beta-reports-active': true, + 'application-identifier': 'PZYM8XX95Q.au.com.shiftyjelly.podcasts', + 'keychain-access-groups': ['PZYM8XX95Q.*', 'com.apple.token'], + 'com.apple.developer.siri': true, + 'com.apple.developer.applesignin': ['Default'], + 'com.apple.developer.carplay-audio': true, + 'com.apple.developer.team-identifier': 'PZYM8XX95Q', + 'com.apple.developer.playable-content': true, + 'com.apple.security.application-groups': [ + 'group.au.com.shiftyjelly.pocketcasts', + 'group.com.pocketcasts.shareextension' + ], + 'com.apple.developer.associated-domains': '*', + 'com.apple.developer.networking.wifi-info': true + } + m.capabilities = [ + 'Access WiFi Information', + 'App Groups', + 'Associated Domains', + 'GameKit', + 'In-App Purchase', + 'Push Notifications', + 'Sign In with Apple', + 'SiriKit' + ] + m.checksum = 'f443be664d135cb423cee3280905451bb96bfdd9' + end + + metadata.save!(validate: false) + end + + def create_android_teardown(user) # rubocop:disable Metrics/MethodLength + metadata = Metadatum.find_or_initialize_by(bundle_id: 'au.com.shiftyjelly.pocketcasts') do |m| + m.user = the_user(user) + m.platform = 'android' + m.device = 'phone' + m.name = 'Pocket Casts' + m.release_version = '7.64' + m.build_version = '9236' + m.size = 26521079 + m.min_sdk_version = '23' + m.release_type = 'enterprise' + m.url_schemes = ['content', 'feed', 'file', 'itpc', 'pcast', 'pktc', 'rss'] + m.activities = [ + 'au.com.shiftyjelly.pocketcasts.ui.MainActivity', + 'au.com.shiftyjelly.pocketcasts.profile.sonos.SonosAppLinkActivity', + 'com.google.android.gms.oss.licenses.OssLicensesMenuActivity', + 'com.google.android.gms.oss.licenses.OssLicensesActivity', + 'au.com.shiftyjelly.pocketcasts.profile.cloud.AddFileActivity', + 'au.com.shiftyjelly.pocketcasts.account.AccountActivity', + 'au.com.shiftyjelly.pocketcasts.podcasts.view.share.ShareListCreateActivity', + 'au.com.shiftyjelly.pocketcasts.account.onboarding.OnboardingActivity', + 'au.com.shiftyjelly.pocketcasts.player.view.video.VideoActivity', + 'au.com.shiftyjelly.pocketcasts.player.view.bookmark.BookmarkActivity', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.playplaylist.config.ActivityConfigPlayPlaylist', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.controlplayback.config.ActivityConfigControlPlayback', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.querypodcasts.config.ActivityConfigQueryPodcasts', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.querypodcastepisodes.config.ActivityConfigQueryPodcastEpisodes', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.addtoupnext.config.ActivityConfigAddToUpNext', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.queryfilters.config.ActivityConfigQueryFilters', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.queryfilterepisodes.config.ActivityConfigQueryFilterEpisodes', + 'au.com.shiftyjelly.pocketcasts.taskerplugin.queryUpNext.config.ActivityConfigQueryUpNext', + 'au.com.shiftyjelly.pocketcasts.views.activity.WebViewActivity', + 'androidx.glance.appwidget.action.ActionTrampolineActivity', + 'androidx.glance.appwidget.action.InvisibleActionTrampolineActivity', + 'com.airbnb.android.showkase.ui.ShowkaseBrowserActivity', + 'androidx.car.app.CarAppPermissionActivity', + 'androidx.compose.ui.tooling.PreviewActivity', + 'com.google.android.gms.auth.api.signin.internal.SignInHubActivity', + 'com.google.android.gms.common.api.GoogleApiActivity', + 'com.android.billingclient.api.ProxyBillingActivity', + 'com.google.android.play.core.common.PlayCoreDialogWrapperActivity' + ] + m.services = [ + 'androidx.core.widget.RemoteViewsCompatService', + 'androidx.glance.appwidget.GlanceRemoteViewsService', + 'androidx.room.MultiInstanceInvalidationService', + 'androidx.work.impl.background.systemalarm.SystemAlarmService', + 'androidx.work.impl.background.systemjob.SystemJobService', + 'androidx.work.impl.foreground.SystemForegroundService', + 'au.com.shiftyjelly.pocketcasts.PocketCastsWearListenerService', + 'au.com.shiftyjelly.pocketcasts.profile.accountmanager.PocketCastsAuthenticatorService', + 'au.com.shiftyjelly.pocketcasts.repositories.download.UpdateEpisodeDetailsJob', + 'au.com.shiftyjelly.pocketcasts.repositories.jobs.VersionMigrationsJob', + 'au.com.shiftyjelly.pocketcasts.repositories.playback.PlaybackService', + 'au.com.shiftyjelly.pocketcasts.repositories.refresh.RefreshPodcastsJob', + 'au.com.shiftyjelly.pocketcasts.repositories.sync.UpNextSyncJob', + 'com.google.android.datatransport.runtime.backends.TransportBackendDiscovery', + 'com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService', + 'com.google.android.gms.auth.api.signin.RevocationBoundService', + 'com.google.android.gms.cast.framework.ReconnectionService', + 'com.google.android.gms.measurement.AppMeasurementJobService', + 'com.google.android.gms.measurement.AppMeasurementService', + 'com.google.firebase.components.ComponentDiscoveryService', + 'com.joaomgcd.taskerpluginlibrary.action.IntentServiceAction', + 'com.joaomgcd.taskerpluginlibrary.condition.IntentServiceCondition' + ] + + m.permissions = [ + 'android.permission.INTERNET', + 'android.permission.POST_NOTIFICATIONS', + 'android.permission.WAKE_LOCK', + 'android.permission.WRITE_EXTERNAL_STORAGE', + 'android.permission.RECEIVE_BOOT_COMPLETED', + 'android.permission.VIBRATE', + 'android.permission.ACCESS_NETWORK_STATE', + 'android.permission.BLUETOOTH', + 'android.permission.FOREGROUND_SERVICE', + 'android.permission.FOREGROUND_SERVICE_DATA_SYNC', + 'com.android.vending.CHECK_LICENSE', + 'com.android.vending.BILLING', + 'android.permission.SCHEDULE_EXACT_ALARM', + 'android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS', + 'android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK', + 'com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE', + 'au.com.shiftyjelly.pocketcasts.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION' + ] + + m.features = [ + 'android.hardware.bluetooth', + 'android.hardware.telephony' + ] + + m.developer_certs = [ + { + 'scheme': 1, + 'verified': false, + 'certificates': [ + { + 'digest': 'sha1', + 'format': 'x509', + 'issuer': [ + ['C', 'AU'], + ['ST', 'South Australia'], + ['L', 'Adelaide'], + ['O', 'Shifty Jelly'], + ['OU', 'Shifty Jelly'], + ['CN', 'Shifty Jelly'] + ], + 'length': 2048, + 'serial': { 'hex': '0x4d462786', 'number': '1296443270' }, + 'subject': [ + ['C', 'AU'], + ['ST', 'South Australia'], + ['L', 'Adelaide'], + ['O', 'Shifty Jelly'], + ['OU', 'Shifty Jelly'], + ['CN', 'Shifty Jelly'] + ], + 'version': 'v3', + 'algorithem': 'rsa', + 'created_at': '2011-01-31T03:07:50.000Z', + 'expired_at': '2038-06-18T03:07:50.000Z', + 'fingerprint': { + 'md5': 'c2:fe:0d:a3:8f:cd:86:83:9b:85:da:08:37:e6:3c:08', + 'sha1': '26:5b:fd:a6:99:2d:75:d4:55:bc:74:dd:43:f9:ac:e8:3e:fa:e7:e5', + 'sha256': 'ce:08:25:f4:ca:78:56:76:d9:0d:3a:f6:0f:54:fe:43:b8:42:7a:fe:9e:1b:b6:77:ad:d7:58:da:c1:29:18:20' + } + } + ] + }, + { + 'scheme': 2, + 'verified': false, + 'certificates': [ + { + 'digest': 'sha1', + 'format': 'x509', + 'issuer': [ + ['C', 'AU'], + ['ST', 'South Australia'], + ['L', 'Adelaide'], + ['O', 'Shifty Jelly'], + ['OU', 'Shifty Jelly'], + ['CN', 'Shifty Jelly'] + ], + 'length': 2048, + 'serial': { 'hex': '0x4d462786', 'number': '1296443270' }, + 'subject': [ + ['C', 'AU'], + ['ST', 'South Australia'], + ['L', 'Adelaide'], + ['O', 'Shifty Jelly'], + ['OU', 'Shifty Jelly'], + ['CN', 'Shifty Jelly'] + ], + 'version': 'v3', + 'algorithem': 'rsa', + 'created_at': '2011-01-31T03:07:50.000Z', + 'expired_at': '2038-06-18T03:07:50.000Z', + 'fingerprint': { + 'md5': 'c2:fe:0d:a3:8f:cd:86:83:9b:85:da:08:37:e6:3c:08', + 'sha1': '26:5b:fd:a6:99:2d:75:d4:55:bc:74:dd:43:f9:ac:e8:3e:fa:e7:e5', + 'sha256': 'ce:08:25:f4:ca:78:56:76:d9:0d:3a:f6:0f:54:fe:43:b8:42:7a:fe:9e:1b:b6:77:ad:d7:58:da:c1:29:18:20' + } + } + ] + }, + { + 'scheme': 3, + 'verified': false, + 'certificates': [ + { + 'digest': 'sha1', + 'format': 'x509', + 'issuer': [ + ['C', 'AU'], + ['ST', 'South Australia'], + ['L', 'Adelaide'], + ['O', 'Shifty Jelly'], + ['OU', 'Shifty Jelly'], + ['CN', 'Shifty Jelly'] + ], + 'length': 2048, + 'serial': { 'hex': '0x4d462786', 'number': '1296443270' }, + 'subject': [ + ['C', 'AU'], + ['ST', 'South Australia'], + ['L', 'Adelaide'], + ['O', 'Shifty Jelly'], + ['OU', 'Shifty Jelly'], + ['CN', 'Shifty Jelly'] + ], + 'version': 'v3', + 'algorithem': 'rsa', + 'created_at': '2011-01-31T03:07:50.000Z', + 'expired_at': '2038-06-18T03:07:50.000Z', + 'fingerprint': { + 'md5': 'c2:fe:0d:a3:8f:cd:86:83:9b:85:da:08:37:e6:3c:08', + 'sha1': '26:5b:fd:a6:99:2d:75:d4:55:bc:74:dd:43:f9:ac:e8:3e:fa:e7:e5', + 'sha256': 'ce:08:25:f4:ca:78:56:76:d9:0d:3a:f6:0f:54:fe:43:b8:42:7a:fe:9e:1b:b6:77:ad:d7:58:da:c1:29:18:20' + } + } + ] + } + ] + + m.checksum = '42166b35c37210fa8d9dd932df4ef752a1ff0f4b' + end + metadata.save!(validate: false) + end def stardford_app(user) app_name = I18n.t('demo.app_name1') @@ -158,12 +801,15 @@ def generate_bundle_id(app_bundle_id, channel) end def create_app(name, user) - owner = user.is_a?(Array) ? user.first : user app = App.find_or_initialize_by(name:) return app unless app.new_record? app.save! - app.create_owner(owner) + app.create_owner(the_user(user)) app end + + def the_user(user) + user.is_a?(Array) ? user.first : user + end end diff --git a/config/locales/zealot/en.yml b/config/locales/zealot/en.yml index 868c0686c..734b18cbf 100644 --- a/config/locales/zealot/en.yml +++ b/config/locales/zealot/en.yml @@ -971,7 +971,7 @@ en: app_id: blank: Select the application to be associated file: - blank: Choose a zipped file with supported type + blank: Choose a zip file with supported type checksum: taken: File exists, cannot be uploaded backup: diff --git a/config/locales/zealot/zh-CN.yml b/config/locales/zealot/zh-CN.yml index fca9a3f18..05a84243f 100644 --- a/config/locales/zealot/zh-CN.yml +++ b/config/locales/zealot/zh-CN.yml @@ -987,7 +987,7 @@ zh-CN: app_id: blank: 请选择需要关联的应用 file: - blank: 必须选择一个 zpi 文件 + blank: 必须选择一个 zip 文件 checksum: taken: 文件已经存在,不能重复上传 backup: From efeeaeef0824257c4d5406b7ea6bd8ea4920fcb6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 31 May 2024 21:30:53 +0000 Subject: [PATCH 04/34] chore(deps): bump sass from 1.77.2 to 1.77.4 Bumps [sass](https://github.com/sass/dart-sass) from 1.77.2 to 1.77.4. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.77.2...1.77.4) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 780c78a2f..9124c68e4 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "clipboard": "^2.0.11", "compare-versions": "^6.0.0", "esbuild": "^0.21.4", - "sass": "^1.77.2", + "sass": "^1.77.4", "ua-parser-js": "^1.0.38" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 33a0099ca..bf61af186 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1616,10 +1616,10 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.77.2: - version "1.77.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.2.tgz#18d4ed2eefc260cdc8099c5439ec1303fd5863aa" - integrity sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA== +sass@^1.77.4: + version "1.77.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.4.tgz#92059c7bfc56b827c56eb116778d157ec017a5cd" + integrity sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 3526122bbcd3fe44bbdc3572515c94f532b2505d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 21:19:22 +0000 Subject: [PATCH 05/34] chore(deps): bump rails from 7.1.3.3 to 7.1.3.4 Bumps [rails](https://github.com/rails/rails) from 7.1.3.3 to 7.1.3.4. - [Release notes](https://github.com/rails/rails/releases) - [Commits](https://github.com/rails/rails/compare/v7.1.3.3...v7.1.3.4) --- updated-dependencies: - dependency-name: rails dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 114 +++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92956cc87..0fa55a53d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,35 +3,35 @@ GEM specs: CFPropertyList (3.0.6) rexml - actioncable (7.1.3.3) - actionpack (= 7.1.3.3) - activesupport (= 7.1.3.3) + actioncable (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.3.3) - actionpack (= 7.1.3.3) - activejob (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionmailbox (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.3.3) - actionpack (= 7.1.3.3) - actionview (= 7.1.3.3) - activejob (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionmailer (7.1.3.4) + actionpack (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.3.3) - actionview (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionpack (7.1.3.4) + actionview (= 7.1.3.4) + activesupport (= 7.1.3.4) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -39,15 +39,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.3.3) - actionpack (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + actiontext (7.1.3.4) + actionpack (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.3) - activesupport (= 7.1.3.3) + actionview (7.1.3.4) + activesupport (= 7.1.3.4) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -57,25 +57,25 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.3.3) - activesupport (= 7.1.3.3) + activejob (7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.3.6) activejob-status (1.0.2) activejob (>= 6.0) activesupport (>= 6.0) - activemodel (7.1.3.3) - activesupport (= 7.1.3.3) - activerecord (7.1.3.3) - activemodel (= 7.1.3.3) - activesupport (= 7.1.3.3) + activemodel (7.1.3.4) + activesupport (= 7.1.3.4) + activerecord (7.1.3.4) + activemodel (= 7.1.3.4) + activesupport (= 7.1.3.4) timeout (>= 0.4.0) - activestorage (7.1.3.3) - actionpack (= 7.1.3.3) - activejob (= 7.1.3.3) - activerecord (= 7.1.3.3) - activesupport (= 7.1.3.3) + activestorage (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activesupport (= 7.1.3.4) marcel (~> 1.0) - activesupport (7.1.3.3) + activesupport (7.1.3.4) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -132,7 +132,7 @@ GEM childprocess (5.0.0) chunky_png (1.4.0) coderay (1.1.3) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.1) connection_pool (2.4.1) crass (1.0.6) cssbundling-rails (1.4.0) @@ -281,7 +281,7 @@ GEM method_source (1.0.0) mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.6) + mini_portile2 (2.8.7) minitest (5.23.1) mixlib-shellout (3.2.7) chef-utils @@ -292,7 +292,7 @@ GEM mutex_m (0.2.0) net-http (0.4.1) uri - net-imap (0.4.11) + net-imap (0.4.12) date net-protocol net-ldap (0.17.1) @@ -417,20 +417,20 @@ GEM rackup (2.1.0) rack (>= 3) webrick (~> 1.8) - rails (7.1.3.3) - actioncable (= 7.1.3.3) - actionmailbox (= 7.1.3.3) - actionmailer (= 7.1.3.3) - actionpack (= 7.1.3.3) - actiontext (= 7.1.3.3) - actionview (= 7.1.3.3) - activejob (= 7.1.3.3) - activemodel (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + rails (7.1.3.4) + actioncable (= 7.1.3.4) + actionmailbox (= 7.1.3.4) + actionmailer (= 7.1.3.4) + actionpack (= 7.1.3.4) + actiontext (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activemodel (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) bundler (>= 1.15.0) - railties (= 7.1.3.3) + railties (= 7.1.3.4) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -444,9 +444,9 @@ GEM rails-settings-cached (2.9.4) activerecord (>= 5.0.0) railties (>= 5.0.0) - railties (7.1.3.3) - actionpack (= 7.1.3.3) - activesupport (= 7.1.3.3) + railties (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -460,7 +460,7 @@ GEM rdoc (6.7.0) psych (>= 4.0.0) regexp_parser (2.6.1) - reline (0.5.7) + reline (0.5.8) io-console (~> 0.5) request_store (1.5.1) rack (>= 1.4) From 82150f3b6399dcc7646fe024796d8876f96ccc31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 22:40:03 +0000 Subject: [PATCH 06/34] chore(deps): bump actiontext from 7.1.3.3 to 7.1.3.4 Bumps [actiontext](https://github.com/rails/rails) from 7.1.3.3 to 7.1.3.4. - [Release notes](https://github.com/rails/rails/releases) - [Changelog](https://github.com/rails/rails/blob/v7.1.3.4/actiontext/CHANGELOG.md) - [Commits](https://github.com/rails/rails/compare/v7.1.3.3...v7.1.3.4) --- updated-dependencies: - dependency-name: actiontext dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 110 +++++++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92956cc87..fddf67a5f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,35 +3,35 @@ GEM specs: CFPropertyList (3.0.6) rexml - actioncable (7.1.3.3) - actionpack (= 7.1.3.3) - activesupport (= 7.1.3.3) + actioncable (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.3.3) - actionpack (= 7.1.3.3) - activejob (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionmailbox (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.3.3) - actionpack (= 7.1.3.3) - actionview (= 7.1.3.3) - activejob (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionmailer (7.1.3.4) + actionpack (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.3.3) - actionview (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionpack (7.1.3.4) + actionview (= 7.1.3.4) + activesupport (= 7.1.3.4) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -39,15 +39,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.3.3) - actionpack (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + actiontext (7.1.3.4) + actionpack (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.3) - activesupport (= 7.1.3.3) + actionview (7.1.3.4) + activesupport (= 7.1.3.4) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -57,25 +57,25 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.3.3) - activesupport (= 7.1.3.3) + activejob (7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.3.6) activejob-status (1.0.2) activejob (>= 6.0) activesupport (>= 6.0) - activemodel (7.1.3.3) - activesupport (= 7.1.3.3) - activerecord (7.1.3.3) - activemodel (= 7.1.3.3) - activesupport (= 7.1.3.3) + activemodel (7.1.3.4) + activesupport (= 7.1.3.4) + activerecord (7.1.3.4) + activemodel (= 7.1.3.4) + activesupport (= 7.1.3.4) timeout (>= 0.4.0) - activestorage (7.1.3.3) - actionpack (= 7.1.3.3) - activejob (= 7.1.3.3) - activerecord (= 7.1.3.3) - activesupport (= 7.1.3.3) + activestorage (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activesupport (= 7.1.3.4) marcel (~> 1.0) - activesupport (7.1.3.3) + activesupport (7.1.3.4) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -132,7 +132,7 @@ GEM childprocess (5.0.0) chunky_png (1.4.0) coderay (1.1.3) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.1) connection_pool (2.4.1) crass (1.0.6) cssbundling-rails (1.4.0) @@ -281,7 +281,7 @@ GEM method_source (1.0.0) mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.6) + mini_portile2 (2.8.7) minitest (5.23.1) mixlib-shellout (3.2.7) chef-utils @@ -417,20 +417,20 @@ GEM rackup (2.1.0) rack (>= 3) webrick (~> 1.8) - rails (7.1.3.3) - actioncable (= 7.1.3.3) - actionmailbox (= 7.1.3.3) - actionmailer (= 7.1.3.3) - actionpack (= 7.1.3.3) - actiontext (= 7.1.3.3) - actionview (= 7.1.3.3) - activejob (= 7.1.3.3) - activemodel (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + rails (7.1.3.4) + actioncable (= 7.1.3.4) + actionmailbox (= 7.1.3.4) + actionmailer (= 7.1.3.4) + actionpack (= 7.1.3.4) + actiontext (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activemodel (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) bundler (>= 1.15.0) - railties (= 7.1.3.3) + railties (= 7.1.3.4) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -444,9 +444,9 @@ GEM rails-settings-cached (2.9.4) activerecord (>= 5.0.0) railties (>= 5.0.0) - railties (7.1.3.3) - actionpack (= 7.1.3.3) - activesupport (= 7.1.3.3) + railties (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) irb rackup (>= 1.0.0) rake (>= 12.2) From 48ca66d8ba515801ceb5026e02053b1090006479 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 22:44:58 +0000 Subject: [PATCH 07/34] chore(deps): bump actionpack from 7.1.3.3 to 7.1.3.4 Bumps [actionpack](https://github.com/rails/rails) from 7.1.3.3 to 7.1.3.4. - [Release notes](https://github.com/rails/rails/releases) - [Changelog](https://github.com/rails/rails/blob/v7.1.3.4/actionpack/CHANGELOG.md) - [Commits](https://github.com/rails/rails/compare/v7.1.3.3...v7.1.3.4) --- updated-dependencies: - dependency-name: actionpack dependency-type: indirect ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 110 +++++++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92956cc87..fddf67a5f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,35 +3,35 @@ GEM specs: CFPropertyList (3.0.6) rexml - actioncable (7.1.3.3) - actionpack (= 7.1.3.3) - activesupport (= 7.1.3.3) + actioncable (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.3.3) - actionpack (= 7.1.3.3) - activejob (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionmailbox (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.3.3) - actionpack (= 7.1.3.3) - actionview (= 7.1.3.3) - activejob (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionmailer (7.1.3.4) + actionpack (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activesupport (= 7.1.3.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.3.3) - actionview (= 7.1.3.3) - activesupport (= 7.1.3.3) + actionpack (7.1.3.4) + actionview (= 7.1.3.4) + activesupport (= 7.1.3.4) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -39,15 +39,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.3.3) - actionpack (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + actiontext (7.1.3.4) + actionpack (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.3.3) - activesupport (= 7.1.3.3) + actionview (7.1.3.4) + activesupport (= 7.1.3.4) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -57,25 +57,25 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.3.3) - activesupport (= 7.1.3.3) + activejob (7.1.3.4) + activesupport (= 7.1.3.4) globalid (>= 0.3.6) activejob-status (1.0.2) activejob (>= 6.0) activesupport (>= 6.0) - activemodel (7.1.3.3) - activesupport (= 7.1.3.3) - activerecord (7.1.3.3) - activemodel (= 7.1.3.3) - activesupport (= 7.1.3.3) + activemodel (7.1.3.4) + activesupport (= 7.1.3.4) + activerecord (7.1.3.4) + activemodel (= 7.1.3.4) + activesupport (= 7.1.3.4) timeout (>= 0.4.0) - activestorage (7.1.3.3) - actionpack (= 7.1.3.3) - activejob (= 7.1.3.3) - activerecord (= 7.1.3.3) - activesupport (= 7.1.3.3) + activestorage (7.1.3.4) + actionpack (= 7.1.3.4) + activejob (= 7.1.3.4) + activerecord (= 7.1.3.4) + activesupport (= 7.1.3.4) marcel (~> 1.0) - activesupport (7.1.3.3) + activesupport (7.1.3.4) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -132,7 +132,7 @@ GEM childprocess (5.0.0) chunky_png (1.4.0) coderay (1.1.3) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.1) connection_pool (2.4.1) crass (1.0.6) cssbundling-rails (1.4.0) @@ -281,7 +281,7 @@ GEM method_source (1.0.0) mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.6) + mini_portile2 (2.8.7) minitest (5.23.1) mixlib-shellout (3.2.7) chef-utils @@ -417,20 +417,20 @@ GEM rackup (2.1.0) rack (>= 3) webrick (~> 1.8) - rails (7.1.3.3) - actioncable (= 7.1.3.3) - actionmailbox (= 7.1.3.3) - actionmailer (= 7.1.3.3) - actionpack (= 7.1.3.3) - actiontext (= 7.1.3.3) - actionview (= 7.1.3.3) - activejob (= 7.1.3.3) - activemodel (= 7.1.3.3) - activerecord (= 7.1.3.3) - activestorage (= 7.1.3.3) - activesupport (= 7.1.3.3) + rails (7.1.3.4) + actioncable (= 7.1.3.4) + actionmailbox (= 7.1.3.4) + actionmailer (= 7.1.3.4) + actionpack (= 7.1.3.4) + actiontext (= 7.1.3.4) + actionview (= 7.1.3.4) + activejob (= 7.1.3.4) + activemodel (= 7.1.3.4) + activerecord (= 7.1.3.4) + activestorage (= 7.1.3.4) + activesupport (= 7.1.3.4) bundler (>= 1.15.0) - railties (= 7.1.3.3) + railties (= 7.1.3.4) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -444,9 +444,9 @@ GEM rails-settings-cached (2.9.4) activerecord (>= 5.0.0) railties (>= 5.0.0) - railties (7.1.3.3) - actionpack (= 7.1.3.3) - activesupport (= 7.1.3.3) + railties (7.1.3.4) + actionpack (= 7.1.3.4) + activesupport (= 7.1.3.4) irb rackup (>= 1.0.0) rake (>= 12.2) From 3aac2bba5f3b96fe3224c323f4a0acade9a4138d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 21:26:45 +0000 Subject: [PATCH 08/34] chore(deps): bump faraday from 2.9.0 to 2.9.1 Bumps [faraday](https://github.com/lostisland/faraday) from 2.9.0 to 2.9.1. - [Release notes](https://github.com/lostisland/faraday/releases) - [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md) - [Commits](https://github.com/lostisland/faraday/compare/v2.9.0...v2.9.1) --- updated-dependencies: - dependency-name: faraday dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 118ba6374..7556556da 100644 --- a/Gemfile +++ b/Gemfile @@ -40,7 +40,7 @@ gem 'webp-ffi', '~> 0.4.0' # Helper gem 'rails-settings-cached', '~> 2.9.4' gem 'app-info', '~> 3.0.0' -gem 'faraday', '~> 2.9.0' +gem 'faraday', '~> 2.9.1' gem 'rqrcode' ## Auth diff --git a/Gemfile.lock b/Gemfile.lock index 0fa55a53d..7d1fad29c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -164,7 +164,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (2.9.0) + faraday (2.9.1) faraday-net_http (>= 2.0, < 3.2) faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) @@ -635,7 +635,7 @@ DEPENDENCIES devise-i18n (~> 1.12.1) dotenv-rails factory_bot_rails - faraday (~> 2.9.0) + faraday (~> 2.9.1) friendly_id (~> 5.5.1) gitlab_omniauth-ldap (~> 2.2.0) good_job (~> 3.29.2) From 1c646ad1826e06ffecb7132b2c634abf54917d49 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 21:02:18 +0000 Subject: [PATCH 09/34] chore(deps): bump good_job from 3.29.2 to 3.29.3 Bumps [good_job](https://github.com/bensheldon/good_job) from 3.29.2 to 3.29.3. - [Release notes](https://github.com/bensheldon/good_job/releases) - [Changelog](https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md) - [Commits](https://github.com/bensheldon/good_job/compare/v3.29.2...v3.29.3) --- updated-dependencies: - dependency-name: good_job dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 7556556da..3602c9aa1 100644 --- a/Gemfile +++ b/Gemfile @@ -74,7 +74,7 @@ gem 'sentry-rails', '~> 5.17.3' gem 'improved_jenkins_client', '~> 1.6.7' # Background job -gem 'good_job', '~> 3.29.2' +gem 'good_job', '~> 3.29.3' gem 'activejob-status', '~> 1.0.2' # Assets diff --git a/Gemfile.lock b/Gemfile.lock index 7d1fad29c..d1897331a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -117,7 +117,7 @@ GEM debug_inspector (>= 1.2.0) bootsnap (1.18.3) msgpack (~> 1.2) - builder (3.2.4) + builder (3.3.0) carrierwave (3.0.7) activemodel (>= 6.0.0) activesupport (>= 6.0.0) @@ -186,7 +186,7 @@ GEM rubyntlm (~> 0.5) globalid (1.2.1) activesupport (>= 6.1) - good_job (3.29.2) + good_job (3.29.3) activejob (>= 6.0.0) activerecord (>= 6.0.0) concurrent-ruby (>= 1.0.2) @@ -638,7 +638,7 @@ DEPENDENCIES faraday (~> 2.9.1) friendly_id (~> 5.5.1) gitlab_omniauth-ldap (~> 2.2.0) - good_job (~> 3.29.2) + good_job (~> 3.29.3) graphiql-rails graphql (~> 2.3.4) health_check (~> 3.1.0) From 632396a11d0524369813d42dead239c37ad5f9b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 21:14:46 +0000 Subject: [PATCH 10/34] chore(deps): bump esbuild from 0.21.4 to 0.21.5 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.21.4 to 0.21.5. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.21.4...v0.21.5) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 282 +++++++++++++++++++++++++-------------------------- 2 files changed, 142 insertions(+), 142 deletions(-) diff --git a/package.json b/package.json index 9124c68e4..a8ec95a03 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "admin-lte": "3.1.0", "clipboard": "^2.0.11", "compare-versions": "^6.0.0", - "esbuild": "^0.21.4", + "esbuild": "^0.21.5", "sass": "^1.77.4", "ua-parser-js": "^1.0.38" }, diff --git a/yarn.lock b/yarn.lock index bf61af186..44b599442 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13,120 +13,120 @@ tar "^6.2.0" yauzl "^3.1.0" -"@esbuild/aix-ppc64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz#f83eb142df3ca7b49531c1ed680b81e484316508" - integrity sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A== - -"@esbuild/android-arm64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz#dd328039daccd6033b2d1e536c054914bfc92287" - integrity sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA== - -"@esbuild/android-arm@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.4.tgz#76767a989720a97b206ea14c52af6e4589e48b0d" - integrity sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A== - -"@esbuild/android-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.4.tgz#14a8ae3c35702d882086efb5a8f8d7b0038d8d35" - integrity sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q== - -"@esbuild/darwin-arm64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz#7e735046005e4c12e9139e0bdd1fa6a754430d57" - integrity sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA== - -"@esbuild/darwin-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz#db623553547a5fe3502a63aa88306e9023178482" - integrity sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag== - -"@esbuild/freebsd-arm64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz#91cbad647c079bf932086fbd4749d7f563df67b8" - integrity sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg== - -"@esbuild/freebsd-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz#723299b9859ccbe5532fecbadba3ac33019ba8e8" - integrity sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ== - -"@esbuild/linux-arm64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz#531743f861e1ef6e50b874d6c784cda37aa5e685" - integrity sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ== - -"@esbuild/linux-arm@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz#1144b5654764960dd97d90ddf0893a9afc63ad91" - integrity sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g== - -"@esbuild/linux-ia32@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz#c81b6f2ed3308d3b75ccefb5ac63bc4cf3a9d2e9" - integrity sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g== - -"@esbuild/linux-loong64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz#87b6af7cd0f2551653955fc2dc465b7f4464af0a" - integrity sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ== - -"@esbuild/linux-mips64el@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz#fec73cd39490a0c45d052bef03e011a0ad366c06" - integrity sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA== - -"@esbuild/linux-ppc64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz#ea3b5e13b0fc8666bd4c6f7ea58bd1830f3e6e78" - integrity sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg== - -"@esbuild/linux-riscv64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz#80d406f653fc6b193edaeb55ac88d4ac22c8f155" - integrity sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w== - -"@esbuild/linux-s390x@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz#9cbd26854b5b12cf22fb54c96cd1adffaf6ace6f" - integrity sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA== - -"@esbuild/linux-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz#44dfe1c5cad855362c830c604dba97fbb16fc114" - integrity sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg== - -"@esbuild/netbsd-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz#89b97d823e1cc4bf8c4e5dc8f76c8d6ceb1c87f3" - integrity sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA== - -"@esbuild/openbsd-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz#080715bb4981c326364320d7b56835608e2bd98d" - integrity sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg== - -"@esbuild/sunos-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz#8d838a8ac80e211536490108b72fb0091a811626" - integrity sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A== - -"@esbuild/win32-arm64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz#94afb4c2ac89b0f09791606d6d93fdab322f81c8" - integrity sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg== - -"@esbuild/win32-ia32@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz#822085cd52f2f1dd90eabb59346ffa779c0bab83" - integrity sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw== - -"@esbuild/win32-x64@0.21.4": - version "0.21.4" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz#11ef0398f9abee161193461910a507ef0d4c0c32" - integrity sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg== +"@esbuild/aix-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" + integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== + +"@esbuild/android-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" + integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== + +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + +"@esbuild/android-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" + integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== + +"@esbuild/darwin-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" + integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== + +"@esbuild/darwin-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" + integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== + +"@esbuild/freebsd-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" + integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== + +"@esbuild/freebsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" + integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== + +"@esbuild/linux-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" + integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== + +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + +"@esbuild/linux-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" + integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== + +"@esbuild/linux-loong64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" + integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== + +"@esbuild/linux-mips64el@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" + integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== + +"@esbuild/linux-ppc64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" + integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== + +"@esbuild/linux-riscv64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" + integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== + +"@esbuild/linux-s390x@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" + integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== + +"@esbuild/linux-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" + integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== + +"@esbuild/netbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" + integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== + +"@esbuild/openbsd-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" + integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== + +"@esbuild/sunos-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" + integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== + +"@esbuild/win32-arm64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" + integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== + +"@esbuild/win32-ia32@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" + integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== + +"@esbuild/win32-x64@0.21.5": + version "0.21.5" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" + integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== "@fortawesome/fontawesome-free@^5.15.3": version "5.15.4" @@ -831,34 +831,34 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild@^0.21.4: - version "0.21.4" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.4.tgz#ceb501def8edb12a5bfd9c55f3a96db698edf022" - integrity sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA== +esbuild@^0.21.5: + version "0.21.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" + integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== optionalDependencies: - "@esbuild/aix-ppc64" "0.21.4" - "@esbuild/android-arm" "0.21.4" - "@esbuild/android-arm64" "0.21.4" - "@esbuild/android-x64" "0.21.4" - "@esbuild/darwin-arm64" "0.21.4" - "@esbuild/darwin-x64" "0.21.4" - "@esbuild/freebsd-arm64" "0.21.4" - "@esbuild/freebsd-x64" "0.21.4" - "@esbuild/linux-arm" "0.21.4" - "@esbuild/linux-arm64" "0.21.4" - "@esbuild/linux-ia32" "0.21.4" - "@esbuild/linux-loong64" "0.21.4" - "@esbuild/linux-mips64el" "0.21.4" - "@esbuild/linux-ppc64" "0.21.4" - "@esbuild/linux-riscv64" "0.21.4" - "@esbuild/linux-s390x" "0.21.4" - "@esbuild/linux-x64" "0.21.4" - "@esbuild/netbsd-x64" "0.21.4" - "@esbuild/openbsd-x64" "0.21.4" - "@esbuild/sunos-x64" "0.21.4" - "@esbuild/win32-arm64" "0.21.4" - "@esbuild/win32-ia32" "0.21.4" - "@esbuild/win32-x64" "0.21.4" + "@esbuild/aix-ppc64" "0.21.5" + "@esbuild/android-arm" "0.21.5" + "@esbuild/android-arm64" "0.21.5" + "@esbuild/android-x64" "0.21.5" + "@esbuild/darwin-arm64" "0.21.5" + "@esbuild/darwin-x64" "0.21.5" + "@esbuild/freebsd-arm64" "0.21.5" + "@esbuild/freebsd-x64" "0.21.5" + "@esbuild/linux-arm" "0.21.5" + "@esbuild/linux-arm64" "0.21.5" + "@esbuild/linux-ia32" "0.21.5" + "@esbuild/linux-loong64" "0.21.5" + "@esbuild/linux-mips64el" "0.21.5" + "@esbuild/linux-ppc64" "0.21.5" + "@esbuild/linux-riscv64" "0.21.5" + "@esbuild/linux-s390x" "0.21.5" + "@esbuild/linux-x64" "0.21.5" + "@esbuild/netbsd-x64" "0.21.5" + "@esbuild/openbsd-x64" "0.21.5" + "@esbuild/sunos-x64" "0.21.5" + "@esbuild/win32-arm64" "0.21.5" + "@esbuild/win32-ia32" "0.21.5" + "@esbuild/win32-x64" "0.21.5" ev-emitter@^1.0.0: version "1.1.1" From 5f3a5a03e44d5f2bcc4a98ad87be50eea61be67d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 21:18:49 +0000 Subject: [PATCH 11/34] chore(deps): bump sys-filesystem from 1.4.5 to 1.5.0 Bumps [sys-filesystem](https://github.com/djberg96/sys-filesystem) from 1.4.5 to 1.5.0. - [Changelog](https://github.com/djberg96/sys-filesystem/blob/main/CHANGES.md) - [Commits](https://github.com/djberg96/sys-filesystem/compare/sys-filesystem-1.4.5...sys-filesystem-1.5.0) --- updated-dependencies: - dependency-name: sys-filesystem dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 3602c9aa1..2f5123096 100644 --- a/Gemfile +++ b/Gemfile @@ -62,7 +62,7 @@ gem 'openssl', '~> 3.2.0' gem 'plist', '~> 3.7.1' ## OS -gem 'sys-filesystem', '~> 1.4.5' +gem 'sys-filesystem', '~> 1.5.0' gem 'vmstat', '~> 2.3.0' gem 'pghero', '~> 3.5.0' diff --git a/Gemfile.lock b/Gemfile.lock index d1897331a..d6f6141f1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -170,7 +170,12 @@ GEM faraday (>= 1, < 3) faraday-net_http (3.1.0) net-http - ffi (1.16.3) + ffi (1.17.0) + ffi (1.17.0-aarch64-linux-gnu) + ffi (1.17.0-arm-linux-gnu) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-darwin) + ffi (1.17.0-x86_64-linux-gnu) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake @@ -555,7 +560,7 @@ GEM attr_required (>= 0.0.5) faraday (~> 2.0) faraday-follow_redirects - sys-filesystem (1.4.5) + sys-filesystem (1.5.0) ffi (~> 1.1) temple (0.10.3) terminal-table (3.0.2) @@ -685,7 +690,7 @@ DEPENDENCIES slim-rails (~> 3.6.3) solid_cache (~> 0.6.0) stimulus-rails (~> 1.3.3) - sys-filesystem (~> 1.4.5) + sys-filesystem (~> 1.5.0) tiny_appstore_connect (~> 0.1.12) turbo-rails (~> 2.0) vmstat (~> 2.3.0) From 3fe28c78f720cb6b243c9c287ee0f53afed72d07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 01:50:31 +0000 Subject: [PATCH 12/34] chore(deps): bump braces from 3.0.2 to 3.0.3 Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. - [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md) - [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3) --- updated-dependencies: - dependency-name: braces dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 44b599442..1ea381e4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -331,11 +331,11 @@ brace-expansion@^1.1.7: concat-map "0.0.1" braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" brotli@^1.3.2: version "1.3.3" @@ -880,10 +880,10 @@ fastclick@^1.0.6: resolved "https://registry.yarnpkg.com/fastclick/-/fastclick-1.0.6.tgz#161625b27b1a5806405936bda9a2c1926d06be6a" integrity sha512-cXyDBT4g0uWl/Xe75QspBDAgAWQ0lkPi/zgp6YFEUHj6WV6VIZl7R6TiDZhdOVU3W4ehp/8tG61Jev1jit+ztQ== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" From d882d2e2facd4470a93ff56aa8d513cc64131b68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 21:45:09 +0000 Subject: [PATCH 13/34] chore(deps): bump ruby from 3.3-alpine to 3.3.3-alpine Bumps ruby from 3.3-alpine to 3.3.3-alpine. --- updated-dependencies: - dependency-name: ruby dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b515f56f7..af0ef1306 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.3-alpine as builder +FROM ruby:3.3.3-alpine as builder ARG BUILD_PACKAGES="build-base libxml2 libxslt git" ARG DEV_PACKAGES="libxml2-dev libxslt-dev yaml-dev postgresql-dev nodejs npm yarn imagemagick-dev libwebp-dev libpng-dev tiff-dev gcompat" @@ -58,7 +58,7 @@ RUN rm -rf docker node_modules tmp/cache spec .browserslistrc babel.config.js \ ################################################################################## -FROM ruby:3.3-alpine +FROM ruby:3.3.3-alpine ARG BUILD_DATE ARG VCS_REF From 49fd8389b16c63d8c52b790ef4ef7444f3cc3184 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 21:45:35 +0000 Subject: [PATCH 14/34] chore(deps): bump sass from 1.77.4 to 1.77.5 Bumps [sass](https://github.com/sass/dart-sass) from 1.77.4 to 1.77.5. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.77.4...1.77.5) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a8ec95a03..d6646f654 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "clipboard": "^2.0.11", "compare-versions": "^6.0.0", "esbuild": "^0.21.5", - "sass": "^1.77.4", + "sass": "^1.77.5", "ua-parser-js": "^1.0.38" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 1ea381e4d..2d5ba3cf8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1616,10 +1616,10 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.77.4: - version "1.77.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.4.tgz#92059c7bfc56b827c56eb116778d157ec017a5cd" - integrity sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw== +sass@^1.77.5: + version "1.77.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.5.tgz#5f9009820297521356e962c0bed13ee36710edfe" + integrity sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 7588b02ee7ab2d031bbaa1633de1a1a5473fd4b6 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Thu, 13 Jun 2024 03:32:02 +0000 Subject: [PATCH 15/34] fix: can not user registation without default user settings relates to #1539 --- app/models/concerns/setting_helper.rb | 4 ++++ app/models/user.rb | 7 +++++++ app/views/devise/registrations/new.html.slim | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/models/concerns/setting_helper.rb b/app/models/concerns/setting_helper.rb index c5c518779..14350a525 100644 --- a/app/models/concerns/setting_helper.rb +++ b/app/models/concerns/setting_helper.rb @@ -51,6 +51,10 @@ def site_configs end end + def site_timezone + ENV['TIME_ZONE'] || Rails.configuration.time_zone + end + def need_restart? Rails.configuration.x.restart_required == true end diff --git a/app/models/user.rb b/app/models/user.rb index cebecc6f9..214d9fa22 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,6 +25,7 @@ class User < ApplicationRecord validates :email, presence: true after_initialize :set_default_role, if: :new_record? + after_initialize :set_user_default_settings, if: :new_record? after_initialize :generate_user_token, if: :new_record? private @@ -33,6 +34,12 @@ def set_default_role self.role ||= Setting.preset_role || :user end + def set_user_default_settings + self.locale ||= Setting.site_locale + self.appearance ||= Setting.site_appearance + self.timezone ||= Setting.site_timezone + end + def generate_user_token self.token = Digest::MD5.hexdigest(SecureRandom.uuid) end diff --git a/app/views/devise/registrations/new.html.slim b/app/views/devise/registrations/new.html.slim index 4381ca4e3..7a2651795 100644 --- a/app/views/devise/registrations/new.html.slim +++ b/app/views/devise/registrations/new.html.slim @@ -1,5 +1,5 @@ - content_for :title do - = t('.resend_confirmation_instructions') + = t('.sign_up') .row.m-3 .col-md-6.order-12.order-sm-1 From 4ebfeecc866122107c3653a380c2ad218fca6cc2 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Thu, 13 Jun 2024 03:45:23 +0000 Subject: [PATCH 16/34] fix: add missing build detail link in channel list page relates to #1540 --- app/views/channels/filters/_list.html.slim | 3 +++ config/locales/zealot/en.yml | 1 + config/locales/zealot/zh-CN.yml | 1 + 3 files changed, 5 insertions(+) diff --git a/app/views/channels/filters/_list.html.slim b/app/views/channels/filters/_list.html.slim index 3310d356b..894c20ddd 100644 --- a/app/views/channels/filters/_list.html.slim +++ b/app/views/channels/filters/_list.html.slim @@ -7,6 +7,7 @@ - if current_user&.manage?(app: channel.app) th style="width: 10px" input type="checkbox" data-bulk-operation-target="checkboxAll" + th = t('channels.show.version') th = t('channels.show.release_version') th = t('channels.show.build_version') - if channel.device_type.downcase == 'ios' @@ -21,6 +22,8 @@ td input [type="checkbox" name="channel[release_ids][]" value="#{release.id}" data-bulk-operation-target="checkbox" data-action="bulk-operation#switchDeleteButton"] + td + = link_to release.version, friendly_channel_release_path(release.channel, release.id) td - if release.release_version == (params[:id] || params[:name]) = release.release_version || '-' diff --git a/config/locales/zealot/en.yml b/config/locales/zealot/en.yml index 734b18cbf..71b433b30 100644 --- a/config/locales/zealot/en.yml +++ b/config/locales/zealot/en.yml @@ -381,6 +381,7 @@ en: build_version: Build version git_branch: Branch git_commit: Commit SHA + version: Build release_type: Release type uploaded_at: Uploaded time actions: Action diff --git a/config/locales/zealot/zh-CN.yml b/config/locales/zealot/zh-CN.yml index 05a84243f..76584da7e 100644 --- a/config/locales/zealot/zh-CN.yml +++ b/config/locales/zealot/zh-CN.yml @@ -377,6 +377,7 @@ zh-CN: build_version: 开发版本 git_branch: 分支 git_commit: 提交哈希值 + version: 上传版本 release_type: 打包类型 uploaded_at: 上传时间 actions: 操作 From 00b49c41fc968d851a8470247234cb5378ad05ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 21:16:15 +0000 Subject: [PATCH 17/34] chore(deps): bump graphql from 2.3.4 to 2.3.5 Bumps [graphql](https://github.com/rmosolgo/graphql-ruby) from 2.3.4 to 2.3.5. - [Release notes](https://github.com/rmosolgo/graphql-ruby/releases) - [Changelog](https://github.com/rmosolgo/graphql-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/rmosolgo/graphql-ruby/compare/v2.3.4...v2.3.5) --- updated-dependencies: - dependency-name: graphql dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 2f5123096..ecac029c8 100644 --- a/Gemfile +++ b/Gemfile @@ -18,7 +18,7 @@ gem 'lograge', '~> 0.14.0' # API gem 'active_model_serializers', '~> 0.10.14' -gem 'graphql', '~> 2.3.4' +gem 'graphql', '~> 2.3.5' gem 'rack-cors', '~> 2.0.2' gem 'health_check', '~> 3.1.0' gem 'tiny_appstore_connect', '~> 0.1.12' diff --git a/Gemfile.lock b/Gemfile.lock index d6f6141f1..9a9ec71cb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -201,7 +201,7 @@ GEM google-protobuf (3.22.5) graphiql-rails (1.10.0) railties - graphql (2.3.4) + graphql (2.3.5) base64 hashie (5.0.0) health_check (3.1.0) @@ -645,7 +645,7 @@ DEPENDENCIES gitlab_omniauth-ldap (~> 2.2.0) good_job (~> 3.29.3) graphiql-rails - graphql (~> 2.3.4) + graphql (~> 2.3.5) health_check (~> 3.1.0) improved_jenkins_client (~> 1.6.7) jb (~> 0.8.2) From 991eb489c75508726e6fcf440a27da8e56f96405 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Fri, 14 Jun 2024 06:57:52 +0000 Subject: [PATCH 18/34] fix: restore backup setting --- app/models/setting.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/models/setting.rb b/app/models/setting.rb index 439933959..7ec2316ee 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -128,4 +128,10 @@ class Setting < RailsSettings::Base field :clarity_analytics_id, default: ENV['CLARITY_ANALYTICS_ID'], type: :string, display: true field :google_analytics_id, default: ENV['GOOGLE_ANALYTICS_ID'], type: :string, display: true end + + # Backup settings + field :backup, type: :hash, readonly: true, default: { + path: 'public/backup', + pg_schema: 'public', + }, validates: { json: { format: :hash } } end From 0f1cd9c5d55b08de848d245e9aaaeec1ae6430a6 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Fri, 14 Jun 2024 07:50:34 +0000 Subject: [PATCH 19/34] fix(web): backup stage in process --- app/helpers/admin/backup_helper.rb | 12 +++++++++++- app/views/admin/backups/_job_inprocess.html.slim | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/helpers/admin/backup_helper.rb b/app/helpers/admin/backup_helper.rb index d8755d3fe..f901e6d49 100644 --- a/app/helpers/admin/backup_helper.rb +++ b/app/helpers/admin/backup_helper.rb @@ -34,8 +34,18 @@ def job_icon(status) end end + def job_stage(stage) + I18n.t(stage, scope: 'admin.backups.show.steps', default: "") + end + def job_progress(status) - number_to_percentage((status[:progress] / status[:total].to_f * 100), precision: 0) + value = if status[:progress] && status[:total] + status[:progress] / status[:total].to_f * 100 + else + 0 + end + + number_to_percentage(value, precision: 0) end private diff --git a/app/views/admin/backups/_job_inprocess.html.slim b/app/views/admin/backups/_job_inprocess.html.slim index 86f1055e7..54604fa5c 100644 --- a/app/views/admin/backups/_job_inprocess.html.slim +++ b/app/views/admin/backups/_job_inprocess.html.slim @@ -19,13 +19,13 @@ = job_progress(job.status) - if job.status.present? .badge.badge-info - = t("admin.backups.show.steps.#{job.status[:stage]}") + = job_stage(job.status[:stage]) - else .badge.badge-danger style="margin-right: 5px" = job.job.status - if job.status.present? .badge.badge-info - = t("admin.backups.show.steps.#{job.status[:stage]}") + = job_stage(job.status[:stage]) div small = job.job.display_error From 660e4d00afadf45313ccaa657f6b50b59300712f Mon Sep 17 00:00:00 2001 From: icyleaf Date: Fri, 14 Jun 2024 07:52:31 +0000 Subject: [PATCH 20/34] fix(web): no effect to add previous existed ios device relates #1542 --- app/models/apple_key.rb | 18 ++++++++++++------ app/models/apple_key_device.rb | 8 ++++++++ 2 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 app/models/apple_key_device.rb diff --git a/app/models/apple_key.rb b/app/models/apple_key.rb index dafba20a9..ffdfc5929 100644 --- a/app/models/apple_key.rb +++ b/app/models/apple_key.rb @@ -2,7 +2,8 @@ class AppleKey < ApplicationRecord has_one :team, class_name: 'AppleTeam', foreign_key: 'apple_key_id', dependent: :destroy - has_and_belongs_to_many :devices + has_many :apple_keys_devices, class_name: 'AppleKeyDevice' + has_many :devices, through: :apple_keys_devices validates :issuer_id, :key_id, :private_key, :filename, :checksum, presence: true validates :checksum, uniqueness: true, on: :create @@ -24,10 +25,10 @@ def last_synced_at def sync_devices response_devices = client.devices.all_pages(flatten: true) - logger.debug "Got #{response_devices.size} devices from apple key #{id}" + AppleKeyDevice.where(apple_key: self).delete_all response_devices.each do |response_device| Device.create_from_api(response_device) do |device| - devices << device unless devices.exists?(device.id) + devices << device end end @@ -38,15 +39,20 @@ def sync_devices end def register_device(udid, name = nil, platform = 'IOS') - if (existed_device = Device.find_by(udid: udid)) - return existed_device + remote_device = client.device(uuid: uuid) + db_device = Device.find_by(udid: udid) + return db_device if remote_device && db_device + + if remtoe_device && !db_device + devices << remote_device + return remote_device end response_device = client.create_device(udid, name, platform: platform).to_model Device.create_from_api(response_device) do |device| devices << device - # pass the return to block + # return value device end rescue TinyAppstoreConnect::InvalidEntityError => e diff --git a/app/models/apple_key_device.rb b/app/models/apple_key_device.rb new file mode 100644 index 000000000..fbaf5d5ee --- /dev/null +++ b/app/models/apple_key_device.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class AppleKeyDevice < ApplicationRecord + self.table_name = 'apple_keys_devices' + + belongs_to :apple_key + belongs_to :device +end From 2e48921833a6f73805627fb748590d852b3baa82 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Fri, 14 Jun 2024 14:53:43 +0000 Subject: [PATCH 21/34] chore: update rubocop --- .rubocop.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 08424f221..a34072058 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -39,7 +39,8 @@ Layout/LineLength: Exclude: - 'config/**/*.rb' - 'spec/**/*.rb' - - 'lib/zealot/backup/manager.rb' + - lib/zealot/backup/manager.rb + - app/services/create_sample_apps_service.rb Metrics/MethodLength: Max: 60 @@ -47,7 +48,7 @@ Metrics/MethodLength: Metrics/ClassLength: Max: 250 Exclude: - - 'app/models/release.rb' + - app/models/release.rb Metrics/ModuleLength: Max: 180 @@ -57,6 +58,7 @@ Metrics/AbcSize: Max: 40 Exclude: - 'lib/backup/**/*' + - app/models/apple_key.rb Style/Alias: EnforcedStyle: prefer_alias_method @@ -102,7 +104,7 @@ Style/TrailingCommaInHashLiteral: Naming/PredicateName: Enabled: true Exclude: - - 'app/serializers/channel_serializer.rb' + - app/serializers/channel_serializer.rb Layout/HashAlignment: Enabled: false From 1bd63d62e31065a7a2febe6980e1368d25e41067 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 21:10:09 +0000 Subject: [PATCH 22/34] chore(deps): bump sass from 1.77.5 to 1.77.6 Bumps [sass](https://github.com/sass/dart-sass) from 1.77.5 to 1.77.6. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.77.5...1.77.6) --- updated-dependencies: - dependency-name: sass dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d6646f654..12cc19c30 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "clipboard": "^2.0.11", "compare-versions": "^6.0.0", "esbuild": "^0.21.5", - "sass": "^1.77.5", + "sass": "^1.77.6", "ua-parser-js": "^1.0.38" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 2d5ba3cf8..0d82c679d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1616,10 +1616,10 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.77.5: - version "1.77.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.5.tgz#5f9009820297521356e962c0bed13ee36710edfe" - integrity sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg== +sass@^1.77.6: + version "1.77.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.6.tgz#898845c1348078c2e6d1b64f9ee06b3f8bd489e4" + integrity sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From bc47386fd82fbda5c9d36eb26143ca5466b5553e Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 03:51:05 +0000 Subject: [PATCH 23/34] fix(web): smtp starttls configure relates to #1547 --- app/assets/stylesheets/adminlte.scss | 4 ++-- app/mailers/application_mailer.rb | 3 +++ app/models/setting.rb | 25 +++++++++---------------- config/environments/production.rb | 8 ++++---- config/locales/zealot/en.yml | 6 ++++-- config/locales/zealot/zh-CN.yml | 6 ++++-- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/app/assets/stylesheets/adminlte.scss b/app/assets/stylesheets/adminlte.scss index 8d0c9e0bd..f582c9918 100644 --- a/app/assets/stylesheets/adminlte.scss +++ b/app/assets/stylesheets/adminlte.scss @@ -1,6 +1,6 @@ @import "bootstrap/scss/bootstrap"; @import "bootstrap/scss/functions"; -@import "admin-lte/build/scss/bootstrap-variables"; +@import "admin-lte/build/scss/_bootstrap-variables"; @import "admin-lte/build/scss/variables"; @import "admin-lte/build/scss/variables-alt"; @@ -11,4 +11,4 @@ @import "admin-lte/build/scss/parts/extra-components"; @import "admin-lte/build/scss/parts/pages"; @import "admin-lte/build/scss/parts/plugins"; -@import "admin-lte/build/scss/parts/miscellaneous"; \ No newline at end of file +@import "admin-lte/build/scss/parts/miscellaneous"; diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index f2e2c6cb2..87b7cf259 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,5 +1,8 @@ # frozen_string_literal: true class ApplicationMailer < ActionMailer::Base + default from: -> { Setting.mailer_default_from }, + reply_to: -> { Setting.mailer_default_reply_to } + layout 'mailer' end diff --git a/app/models/setting.rb b/app/models/setting.rb index 7ec2316ee..88e85a3eb 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -100,20 +100,13 @@ class Setting < RailsSettings::Base }, validates: { json: { format: :hash } } end - scope :stmp do + scope :smtp do field :mailer_default_from, default: ENV['ACTION_MAILER_DEFAULT_FROM'], type: :string, - restart_required: true, display: true - field :mailer_default_to, default: ENV['ACTION_MAILER_DEFAULT_TO'], type: :string, - restart_required: true, display: true - field :mailer_options, type: :hash, restart_required: true, display: true, default: { - address: ENV['SMTP_ADDRESS'], - port: ENV['SMTP_PORT'].to_i, - domain: ENV['SMTP_DOMAIN'], - username: ENV['SMTP_USERNAME'], - password: ENV['SMTP_PASSWORD'], - auth_method: ENV['SMTP_AUTH_METHOD'], - enable_starttls_auto: ActiveModel::Type::Boolean.new.cast(ENV['SMTP_ENABLE_STARTTLS_AUTO']), - }, validates: { json: { format: :hash } } + readonly: true, display: true + field :mailer_default_reply_to, default: ENV['ACTION_MAILER_DEFAULT_TO'], type: :string, + readonly: true, display: true + field :mailer_options, type: :hash, display: true, readonly: true, + default: Rails.configuration.action_mailer.smtp_settings, validates: { json: { format: :hash } } end scope :information do @@ -124,9 +117,9 @@ class Setting < RailsSettings::Base end scope :analytics do - field :umami_website_id, default: ENV['UMAMI_WEBSITE_ID'], type: :string, display: true - field :clarity_analytics_id, default: ENV['CLARITY_ANALYTICS_ID'], type: :string, display: true - field :google_analytics_id, default: ENV['GOOGLE_ANALYTICS_ID'], type: :string, display: true + field :umami_website_id, default: ENV['UMAMI_WEBSITE_ID'], type: :string, display: Setting.demo_mode + field :clarity_analytics_id, default: ENV['CLARITY_ANALYTICS_ID'], type: :string, display: Setting.demo_mode + field :google_analytics_id, default: ENV['GOOGLE_ANALYTICS_ID'], type: :string, display: Setting.demo_mode end # Backup settings diff --git a/config/environments/production.rb b/config/environments/production.rb index e120857a7..fcd5b7448 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -61,15 +61,15 @@ # Action Mailer config.action_mailer.delivery_method = :smtp - config.action_mailer.smtp_settings = { address: ENV['SMTP_ADDRESS'], - port: ENV['SMTP_PORT'], + port: ENV['SMTP_PORT'].to_i, domain: ENV['SMTP_DOMAIN'] || ENV['ZEALOT_DOMAIN'], user_name: ENV['SMTP_USERNAME'].presence, password: ENV['SMTP_PASSWORD'].presence, - authentication: ENV['SMTP_AUTH_METHOD'] == 'none' ? nil : ENV['SMTP_AUTH_METHOD'] || :plain, - enable_starttls_auto: ENV['SMTP_ENABLE_STARTTLS_AUTO'] || true, + authentication: ENV['SMTP_AUTH_METHOD'] == 'none' ? nil : ENV['SMTP_AUTH_METHOD'].presence || 'plain', + enable_starttls: ActiveModel::Type::Boolean.new.cast(ENV['SMTP_ENABLE_STARTTLS_AUTO']) ? + :auto : ActiveModel::Type::Boolean.new.cast(ENV['SMTP_ENABLE_STARTTLS']), openssl_verify_mode: ENV['SMTP_OPENSSL_VERIFY_MODE'], } diff --git a/config/locales/zealot/en.yml b/config/locales/zealot/en.yml index 71b433b30..1a74ca06a 100644 --- a/config/locales/zealot/en.yml +++ b/config/locales/zealot/en.yml @@ -110,6 +110,8 @@ en: title: Settings index: title: :admin.settings.title + smtp_verify: Verify + smtp_verify_inprocess: Inprocessing apply_for_restart: Apply for restart service_restarting: Service restarting ... service_restarted: Refresh page ... @@ -147,9 +149,9 @@ en: gitlab: Gitlab google_oauth: Google OAuth #misc: 杂项 - stmp: Mail STMP + smtp: Email SMTP mailer_default_from: Default email send from - mailer_default_to: Default sender + mailer_default_reply_to: Default email reply to mailer_options: Options analytics: Analytics google_analytics_id: Google Analytics ID diff --git a/config/locales/zealot/zh-CN.yml b/config/locales/zealot/zh-CN.yml index 76584da7e..7f797a965 100644 --- a/config/locales/zealot/zh-CN.yml +++ b/config/locales/zealot/zh-CN.yml @@ -110,6 +110,8 @@ zh-CN: title: 系统设置 index: title: :'admin.settings.title' + smtp_verify: 验证 + smtp_verify_inprocess: 验证中 apply_for_restart: 需重启服务生效 service_restarting: 服务重启中 ... service_restarted: 刷新页面 ... @@ -147,9 +149,9 @@ zh-CN: gitlab: Gitlab google_oauth: Google OAuth # misc: 杂项 - stmp: 邮件配置 + smtp: 邮件配置 mailer_default_from: 默认邮件发件地址 - mailer_default_to: 默认邮件发件人 + mailer_default_reply_to: 默认邮件回复地址 mailer_options: 发件服务器配置 analytics: 统计 google_analytics_id: Google 统计 From b5691a0ae39b4ba3be361cddcf78a7fa79ebfbc4 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 04:43:38 +0000 Subject: [PATCH 24/34] feat(web): add resent user confirmation email --- app/controllers/admin/users_controller.rb | 7 ++++++- app/mailers/application_mailer.rb | 4 ++-- app/mailers/devise_mailer.rb | 5 ----- app/policies/user_policy.rb | 3 +++ app/views/admin/users/edit.html.slim | 3 ++- config/initializers/devise.rb | 6 ++++-- config/locales/zealot/en.yml | 5 ++++- config/locales/zealot/zh-CN.yml | 5 ++++- config/routes.rb | 5 +++++ 9 files changed, 30 insertions(+), 13 deletions(-) delete mode 100644 app/mailers/devise_mailer.rb diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index 748f86d91..57821eeb5 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Admin::UsersController < ApplicationController - before_action :set_user, only: %i[edit update destroy lock unlock] + before_action :set_user, only: %i[edit update destroy lock unlock resend_confirmation] def index @users = User.all.order(id: :asc) @@ -67,6 +67,11 @@ def unlock redirect_to edit_admin_user_path(@user), notice: t('.message', user: @user.username) end + def resend_confirmation + @user.send_confirmation_instructions + redirect_to edit_admin_user_path(@user), notice: t('.message', user: @user.username) + end + private def set_user diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 87b7cf259..732607e6a 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true class ApplicationMailer < ActionMailer::Base - default from: -> { Setting.mailer_default_from }, - reply_to: -> { Setting.mailer_default_reply_to } + default from: Setting.mailer_default_from, + reply_to: Setting.mailer_default_reply_to layout 'mailer' end diff --git a/app/mailers/devise_mailer.rb b/app/mailers/devise_mailer.rb deleted file mode 100644 index 457710b41..000000000 --- a/app/mailers/devise_mailer.rb +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true - -class DeviseMailer < Devise::Mailer - layout 'mailer' -end diff --git a/app/policies/user_policy.rb b/app/policies/user_policy.rb index d3b587d69..cb2966efc 100644 --- a/app/policies/user_policy.rb +++ b/app/policies/user_policy.rb @@ -38,6 +38,9 @@ def unlock? admin? end + def resend_confirmation? + admin? + end class Scope < Scope def resolve scope.all diff --git a/app/views/admin/users/edit.html.slim b/app/views/admin/users/edit.html.slim index 881811399..16c9e7736 100644 --- a/app/views/admin/users/edit.html.slim +++ b/app/views/admin/users/edit.html.slim @@ -12,7 +12,8 @@ h3.card-title = t('.active_link') .card-body input.form-control value="#{confirmation_url(@user, confirmation_token: @user.confirmation_token)}" disabled=true - small.form-text.text-muted = t('.active_link_tip') + small.form-text.text-muted + = raw t('.active_link_tip', label: t('.resend'), link: resend_confirmation_admin_user_path(@user)) .card .card-header.card-border h3.card-title = t('.title') diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 21356c501..03d73318b 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -79,13 +79,15 @@ # Configure the e-mail address which will be shown in Devise::Mailer, # note that it will be overwritten if you use your own mailer class # with default "from" parameter. - # config.mailer_sender = 'no-reply@' + Setting.url_options[:host] + # config.mailer_sender = -> { + # Setting.mailer_default_from || 'no-reply@' + Setting.url_options[:host] + # } # Configure the class responsible to send e-mails. config.mailer = 'DeviseMailer' # Configure the parent class responsible to send e-mails. - # config.parent_mailer = 'ActionMailer::Base' + config.parent_mailer = 'ApplicationMailer' # ==> ORM configuration # Load and configure the ORM. Supports :active_record (default) and diff --git a/config/locales/zealot/en.yml b/config/locales/zealot/en.yml index 1a74ca06a..97ddbab18 100644 --- a/config/locales/zealot/en.yml +++ b/config/locales/zealot/en.yml @@ -35,7 +35,8 @@ en: edit: title: User information active_link: Active link - active_link_tip: If the inviting user does not receive the activation email, send this link to active. + active_link_tip: If the inviting user does not receive the activation email, use this link to active or %{label}. + resend: resend confirmation email collaborators: Collaborators api: API token: 密钥 @@ -46,6 +47,8 @@ en: message: 'User %{user} has been locked.' unlock: message: 'User %{user} has been unlocked.' + resend_confirmation: + message: 'Re-sent the confirmation email to user {user}.' web_hooks: title: Webhooks index: diff --git a/config/locales/zealot/zh-CN.yml b/config/locales/zealot/zh-CN.yml index 7f797a965..4076c8b16 100644 --- a/config/locales/zealot/zh-CN.yml +++ b/config/locales/zealot/zh-CN.yml @@ -35,7 +35,8 @@ zh-CN: edit: title: 用户信息 active_link: 激活链接 - active_link_tip: 若发送邮件设置错误或邀请用户没有收到激活邮件,可通过本链接激活。 + active_link_tip: 若发送邮件设置错误或邀请用户没有收到激活邮件,可通过本链接激活或%{label}。 + resend: 重新发送激活邮件 collaborators: 应用成员 api: API token: Token @@ -46,6 +47,8 @@ zh-CN: message: '%{user}用户已变更为停用状态' unlock: message: '%{user}用户已变更为启用状态' + resend_confirmation: + message: '已重新发送确认邮件至%{user}用户' web_hooks: title: 网络钩子 index: diff --git a/config/routes.rb b/config/routes.rb index f3a175c41..cbf26b52e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -130,6 +130,7 @@ resources :users, except: :show do member do get :lock + get :resend_confirmation delete :unlock end end @@ -167,8 +168,12 @@ end namespace :service do + # zealot service post :restart get :status + + # smtp + post :smtp_verify end mount GoodJob::Engine, at: 'jobs', as: :jobs From 1f124bc2fe9f5e70b57e316a754fe70bef3134e8 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 04:46:44 +0000 Subject: [PATCH 25/34] fix(doc): correct upload debug file api uri --- spec/api/debug_files_spec.rb | 2 +- swagger/v1/swagger_en.json | 167 +++++++++++++++++----------------- swagger/v1/swagger_zh-CN.json | 108 +++++++++++----------- 3 files changed, 142 insertions(+), 135 deletions(-) diff --git a/spec/api/debug_files_spec.rb b/spec/api/debug_files_spec.rb index 037de4230..d27edd77d 100644 --- a/spec/api/debug_files_spec.rb +++ b/spec/api/debug_files_spec.rb @@ -63,7 +63,7 @@ end end - path '/debug_files' do + path '/debug_files/upload' do post I18n.t('api.debug_files.upload.title') do tags I18n.t('api.debug_files.default.tags') description I18n.t('api.debug_files.upload.description') diff --git a/swagger/v1/swagger_en.json b/swagger/v1/swagger_en.json index cc4fa72e3..9fce7e0b1 100644 --- a/swagger/v1/swagger_en.json +++ b/swagger/v1/swagger_en.json @@ -188,7 +188,7 @@ "tags": [ "Apps" ], - "description": "List version builds by an App's channel. sort by uploaded date with order desc.", + "description": "Query the list of uploaded versions of the single channel and the version list downwards", "operationId": "listAppVersions", "parameters": [ { @@ -234,7 +234,7 @@ "tags": [ "Apps" ], - "description": "List the latest version builds with release version and build version. sort by uploaded date with order desc.", + "description": "Query a list of latest versions of the single channel of the application and reverse the upload date", "operationId": "getLatestApp", "parameters": [ { @@ -815,7 +815,7 @@ ], "responses": { "201": { - "description": "Create a coolaborator", + "description": "Create a collaborator", "content": { "application/json": { "schema": { @@ -1028,58 +1028,6 @@ } } } - }, - "post": { - "summary": "Upload a debug file", - "tags": [ - "Debug files" - ], - "description": "Upload a dSYM or Proguard file which it was archived with zip formatted whit it accepts:\n\n- `iOS`: a Zipped dSYM file\n- `Android`: a Zipped file includes mapping.txt, R.txt or AndroidManifest.xml files.\n", - "operationId": "uploadDebugFile", - "parameters": [ - - ], - "responses": { - "200": { - "description": "Upload a debug file", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DebugFile" - } - } - } - }, - "401": { - "description": "Unauthorized Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "404": { - "description": "Resource not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/responses/NotFound" - } - } - } - } - }, - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/definitions/DebugFileOptions" - } - } - } - } } }, "/debug_files/download": { @@ -1128,13 +1076,13 @@ ], "responses": { "302": { - "description": "Redirect to binary file url", + "description": "Redirect to binary file URL", "headers": { "Location": { "schema": { "type": "string" }, - "description": "Redirect to binary file url" + "description": "Redirect to binary file URL" } } }, @@ -1246,9 +1194,63 @@ } } }, + "/debug_files/upload": { + "post": { + "summary": "Upload a debug file", + "tags": [ + "Debug files" + ], + "description": "Upload a dSYM or Proguard file which it was archived with zip formatted whit it accepts:\n\n- `iOS`: a Zipped dSYM file\n- `Android`: a Zipped file includes mapping.txt, R.txt or AndroidManifest.xml files.\n", + "operationId": "uploadDebugFile", + "parameters": [ + + ], + "responses": { + "200": { + "description": "Upload a debug file", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DebugFile" + } + } + } + }, + "401": { + "description": "Unauthorized Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/responses/Unauthorized" + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/responses/NotFound" + } + } + } + } + }, + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/definitions/DebugFileOptions" + } + } + } + } + } + }, "/apps/{app_id}/schemes": { "get": { - "summary": "Get an scheme", + "summary": "Get a scheme", "tags": [ "Schemes" ], @@ -1362,7 +1364,7 @@ }, "/schemes/{id}": { "put": { - "summary": "Update an scheme", + "summary": "Update a scheme", "tags": [ "Schemes" ], @@ -1421,11 +1423,11 @@ } }, "delete": { - "summary": "Destroy an scheme", + "summary": "Destroy a scheme", "tags": [ "Schemes" ], - "description": "Destroy an scheme from the App", + "description": "Destroy a scheme from the App", "operationId": "deleteScheme", "parameters": [ { @@ -1526,7 +1528,7 @@ } }, "post": { - "summary": "Create an user", + "summary": "Create a user", "tags": [ "Users" ], @@ -1580,11 +1582,11 @@ }, "/users/{id}": { "get": { - "summary": "Get an user", + "summary": "Get a user", "tags": [ "Users" ], - "description": "Get an user metadata, personal data and customize settings", + "description": "Get a user metadata, personal data and customize settings", "operationId": "getUser", "parameters": [ { @@ -1598,7 +1600,7 @@ ], "responses": { "200": { - "description": "Return an user", + "description": "Return a user", "content": { "application/json": { "schema": { @@ -1630,11 +1632,11 @@ } }, "put": { - "summary": "Update an user", + "summary": "Update a user", "tags": [ "Users" ], - "description": "Update an user settings", + "description": "Update user personalized settings, password, etc.", "operationId": "updateUser", "parameters": [ { @@ -1648,7 +1650,7 @@ ], "responses": { "200": { - "description": "Update an ser", + "description": "Update a user", "content": { "application/json": { "schema": { @@ -1689,11 +1691,11 @@ } }, "delete": { - "summary": "Destroy an user", + "summary": "Destroy a user", "tags": [ "Users" ], - "description": "Destroy an user", + "description": "Destroy a user", "operationId": "deleteUser", "parameters": [ { @@ -1796,11 +1798,11 @@ }, "/users/{id}/lock": { "get": { - "summary": "Lock an user", + "summary": "Lock a user", "tags": [ "Users" ], - "description": "Lock an user to stop log in", + "description": "Lock a user to stop log in", "operationId": "lockUser", "parameters": [ { @@ -1814,7 +1816,7 @@ ], "responses": { "202": { - "description": "Update an ser", + "description": "Update a user", "content": { "application/json": { "schema": { @@ -1848,11 +1850,11 @@ }, "/users/{id}/unlock": { "delete": { - "summary": "Unlock an user", + "summary": "Unlock a user", "tags": [ "Users" ], - "description": "Unlock an user to enable log in", + "description": "Unlock a user to enable log in", "operationId": "unlockUser", "parameters": [ { @@ -1866,7 +1868,7 @@ ], "responses": { "202": { - "description": "Update an ser", + "description": "Update a user", "content": { "application/json": { "schema": { @@ -1901,6 +1903,9 @@ "/version": { "get": { "summary": "Get version information", + "security": [ + + ], "tags": [ "Version" ], @@ -2221,7 +2226,7 @@ } }, "ReleaseChangelog": { - "description": "Changelogs of release build", + "description": "Changelog of release build", "type": "object", "properties": { "date": { @@ -2677,7 +2682,7 @@ "items": { "$ref": "#/components/schemas/ReleaseChangelog" }, - "description": "Avaiables in plain text or JSON formatted struct" + "description": "Change log, accept plain text or JSON formatted data" }, "branch": { "type": "string", @@ -2696,7 +2701,7 @@ "items": { "$ref": "#/components/schemas/ReleaseCustomField" }, - "description": "JSON formatted custom fileds, icon only accepts fontawesome." + "description": "JSON formatted custom fields, icon only accepts fontawesome." } } }, @@ -2766,7 +2771,7 @@ }, "bundle_id": { "type": "string", - "description": "idefenitier valid check, set `*` skip (`bundle_id` for iOS, `package name` for Android)" + "description": "identifier valid check, set `*` skip (`bundle_id` for iOS, `package name` for Android)" }, "git_url": { "type": "string", @@ -3015,4 +3020,4 @@ } } } -} +} \ No newline at end of file diff --git a/swagger/v1/swagger_zh-CN.json b/swagger/v1/swagger_zh-CN.json index c059a178d..bab4c95fb 100644 --- a/swagger/v1/swagger_zh-CN.json +++ b/swagger/v1/swagger_zh-CN.json @@ -1028,58 +1028,6 @@ } } } - }, - "post": { - "summary": "上传调试文件", - "tags": [ - "调试文件" - ], - "description": "上传 dSYM 或 Proguard 打包成 zip 压缩调试文件\n\n- `iOS`: 使用 Zip 压缩后的 dSYM 文件\n- `Android`: 使用 Zip 压缩后包含 mapping.txt、R.txt 和 AndroidManifest.xml 的文件\n", - "operationId": "uploadDebugFile", - "parameters": [ - - ], - "responses": { - "200": { - "description": "调试文件详情", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DebugFile" - } - } - } - }, - "401": { - "description": "用户密钥认证失败", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/responses/Unauthorized" - } - } - } - }, - "404": { - "description": "资源未找到", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/responses/NotFound" - } - } - } - } - }, - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "$ref": "#/definitions/DebugFileOptions" - } - } - } - } } }, "/debug_files/download": { @@ -1246,6 +1194,60 @@ } } }, + "/debug_files/upload": { + "post": { + "summary": "上传调试文件", + "tags": [ + "调试文件" + ], + "description": "上传 dSYM 或 Proguard 打包成 zip 压缩调试文件\n\n- `iOS`: 使用 Zip 压缩后的 dSYM 文件\n- `Android`: 使用 Zip 压缩后包含 mapping.txt、R.txt 和 AndroidManifest.xml 的文件\n", + "operationId": "uploadDebugFile", + "parameters": [ + + ], + "responses": { + "200": { + "description": "调试文件详情", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DebugFile" + } + } + } + }, + "401": { + "description": "用户密钥认证失败", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/responses/Unauthorized" + } + } + } + }, + "404": { + "description": "资源未找到", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/responses/NotFound" + } + } + } + } + }, + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "$ref": "#/definitions/DebugFileOptions" + } + } + } + } + } + }, "/apps/{app_id}/schemes": { "get": { "summary": "获取应用类型详情", @@ -3018,4 +3020,4 @@ } } } -} +} \ No newline at end of file From fdc4a62062e0089bdab84d3baa63ad485d2f34ba Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 07:23:24 +0000 Subject: [PATCH 26/34] feat(web): add smtp verify --- app/controllers/admin/service_controller.rb | 18 +++++++ app/controllers/concerns/exception_handler.rb | 51 ++++++++++++------- app/javascript/controllers/admin/index.js | 5 +- .../controllers/admin/service_controller.js | 2 +- .../admin/smtp_verify_controller.js | 34 +++++++++++++ app/views/admin/settings/index.html.slim | 9 ++++ config/locales/zealot/en.yml | 4 +- config/locales/zealot/zh-CN.yml | 2 + 8 files changed, 105 insertions(+), 20 deletions(-) create mode 100644 app/javascript/controllers/admin/smtp_verify_controller.js diff --git a/app/controllers/admin/service_controller.rb b/app/controllers/admin/service_controller.rb index a84532f63..9830028ba 100644 --- a/app/controllers/admin/service_controller.rb +++ b/app/controllers/admin/service_controller.rb @@ -14,6 +14,24 @@ def status render json: { health: 'fail' }, status: :internal_server_error end + def smtp_verify + address = Setting.mailer_options[:address] + port = Setting.mailer_options[:port] + starttls = Setting.mailer_options[:enable_starttls] + Net::SMTP.start(address, port) do|smtp| + smtp.enable_starttls if starttls + + auth_method = Setting.mailer_options[:auth_method].presence || 'plain' + smtp.authenticate( + Setting.mailer_options[:user_name], + Setting.mailer_options[:password], + auth_method == 'none' ? nil : auth_method.to_sym + ).success? + end + + render json: { mesage: 'Ok' } + end + private def client diff --git a/app/controllers/concerns/exception_handler.rb b/app/controllers/concerns/exception_handler.rb index 63f8ebcf7..527010406 100644 --- a/app/controllers/concerns/exception_handler.rb +++ b/app/controllers/concerns/exception_handler.rb @@ -8,17 +8,22 @@ module ExceptionHandler ActionController::MissingFile, Zealot::Error::RecordNotFound, with: :not_found rescue_from ActionController::InvalidAuthenticityToken, with: :unprocessable_entity - rescue_from ActionController::UnknownFormat, AppInfo::Error, with: :not_acceptable + rescue_from ActionController::UnknownFormat, AppInfo::Error, Errno::ECONNREFUSED, with: :not_acceptable rescue_from ActionController::ParameterMissing, CarrierWave::InvalidParameter, JSON::ParserError, AppInfo::UnknownFormatError, with: :bad_request rescue_from Faraday::Error, OpenSSL::SSL::SSLError, TinyAppstoreConnect::ConnectAPIError, with: :internal_server_error rescue_from Pundit::NotAuthorizedError, with: :forbidden rescue_from ActiveRecord::ConnectionNotEstablished, with: :internal_server_error + rescue_from Net::SMTPAuthenticationError, with: :unauthorized end private + def unauthorized(e) + respond_with_error(401, e) + end + def forbidden(e) respond_with_error(403, e) end @@ -51,28 +56,40 @@ def service_unavailable(e) respond_with_error(503, e) end - def respond_with_error(code, exception) + def respond_with_error(code, exception, **body) if code >= 500 logger.error exception.full_message Sentry.capture_exception exception end respond_to do |format| - @code = code - @exception = exception - @title = t("errors.code.#{@code}.title") - @message = exception.message if code < 500 - - case exception - when ActiveRecord::ConnectionNotEstablished - @message = t('errors.messages.database_connection_error') - when Pundit::NotAuthorizedError - policy_name = exception.policy.class.to_s.underscore - @message = t("#{policy_name}.#{exception.query}", scope: "pundit", default: :default) - end - - format.any { render 'errors/index', status: code, formats: [:html] } - format.json { render json: { code: code, error: Rack::Utils::HTTP_STATUS_CODES[code] }, status: code } + format.any { + @code = code + @exception = exception + @title = t("errors.code.#{@code}.title") + @message = exception.message if code < 500 + + case exception + when ActiveRecord::ConnectionNotEstablished + @message = t('errors.messages.database_connection_error') + when Pundit::NotAuthorizedError + policy_name = exception.policy.class.to_s.underscore + @message = t("#{policy_name}.#{exception.query}", scope: "pundit", default: :default) + end + + render 'errors/index', status: code, formats: [:html] + } + + format.json { + body[:error] ||= exception.message + if Rails.env.development? + body[:debug] = { class: exception.class } + body[:debug][:params] = params + body[:debug][:backtrace] = exception.backtrace if exception.backtrace.present? + end + + render json: body, status: code + } end end end diff --git a/app/javascript/controllers/admin/index.js b/app/javascript/controllers/admin/index.js index 4f65c21bb..dd3f3e8d7 100644 --- a/app/javascript/controllers/admin/index.js +++ b/app/javascript/controllers/admin/index.js @@ -6,8 +6,11 @@ application.register("admin-new-release", NewReleaseController) import ServiceController from "./service_controller" application.register("admin-service", ServiceController) +import SMTPVerifyController from "./smtp_verify_controller" +application.register("admin-smtp-verify", SMTPVerifyController) + import LogsController from "./logs_controller" application.register("admin-logs", LogsController) import CronController from "./cron_controller" -application.register("admin-cron", CronController) \ No newline at end of file +application.register("admin-cron", CronController) diff --git a/app/javascript/controllers/admin/service_controller.js b/app/javascript/controllers/admin/service_controller.js index 338fd1ddb..36d15cb4f 100644 --- a/app/javascript/controllers/admin/service_controller.js +++ b/app/javascript/controllers/admin/service_controller.js @@ -77,4 +77,4 @@ export default class extends Controller { sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)) } -} \ No newline at end of file +} diff --git a/app/javascript/controllers/admin/smtp_verify_controller.js b/app/javascript/controllers/admin/smtp_verify_controller.js new file mode 100644 index 000000000..a5ba5f81c --- /dev/null +++ b/app/javascript/controllers/admin/smtp_verify_controller.js @@ -0,0 +1,34 @@ +import { Controller } from "@hotwired/stimulus" +import { Zealot } from "../zealot" +import consumer from "../../channels/consumer"; + +const VERIFY_URI = "admin/service/smtp_verify.json" + +export default class extends Controller { + static values = { + uri: String, + inprocess: String, + success: String, + failed: String + } + + run(event) { + const target = event.target + target.innerHTML = this.inprocessValue + + fetch(Zealot.rootUrl + VERIFY_URI, { + method: "POST" + }) + .then((response) => { + if (response.status === 200) { + console.info(`smtp verify success`) + target.innerHTML = this.successValue + } else { + response.json().then((body) => { + console.error(`smtp verify failed: ${body.error}`) + }) + target.innerHTML = this.failedValue + } + }) + } +} diff --git a/app/views/admin/settings/index.html.slim b/app/views/admin/settings/index.html.slim index 7f49e758d..0b66af70e 100644 --- a/app/views/admin/settings/index.html.slim +++ b/app/views/admin/settings/index.html.slim @@ -32,6 +32,15 @@ dd - if params[:readonly] || (value.is_a?(Hash) && secure_key?(value)) pre.disabled.mb-2 + - if key == 'mailer_options' && value.present? + .float-right + button.btn.btn-sm.bg-primary[ + data-controller="admin-smtp-verify" + data-admin-smtp-verify-inprocess-value="#{t('.smtp_verify_inprocess')}" + data-admin-smtp-verify-success-value="#{t('.smtp_verify_success')}" + data-admin-smtp-verify-failed-value="#{t('.smtp_verify_failed')}" + data-action="admin-smtp-verify#run" + ] = t('.smtp_verify') == render 'switch_icon', value: value = display_value - else diff --git a/config/locales/zealot/en.yml b/config/locales/zealot/en.yml index 97ddbab18..dd629bba0 100644 --- a/config/locales/zealot/en.yml +++ b/config/locales/zealot/en.yml @@ -114,7 +114,9 @@ en: index: title: :admin.settings.title smtp_verify: Verify - smtp_verify_inprocess: Inprocessing + smtp_verify_inprocess: Verification Inprocessing + smtp_verify_success: Verification successful + smtp_verify_failed: Verification failed apply_for_restart: Apply for restart service_restarting: Service restarting ... service_restarted: Refresh page ... diff --git a/config/locales/zealot/zh-CN.yml b/config/locales/zealot/zh-CN.yml index 4076c8b16..4ccff8b7e 100644 --- a/config/locales/zealot/zh-CN.yml +++ b/config/locales/zealot/zh-CN.yml @@ -115,6 +115,8 @@ zh-CN: title: :'admin.settings.title' smtp_verify: 验证 smtp_verify_inprocess: 验证中 + smtp_verify_success: 验证成功 + smtp_verify_failed: 验证失败 apply_for_restart: 需重启服务生效 service_restarting: 服务重启中 ... service_restarted: 刷新页面 ... From 82780056fb6717cb3520300ce00d071768c1b204 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 08:27:01 +0000 Subject: [PATCH 27/34] fix: restore devise mailer --- app/mailers/devise_mailer.rb | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 app/mailers/devise_mailer.rb diff --git a/app/mailers/devise_mailer.rb b/app/mailers/devise_mailer.rb new file mode 100644 index 000000000..457710b41 --- /dev/null +++ b/app/mailers/devise_mailer.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +class DeviseMailer < Devise::Mailer + layout 'mailer' +end From 8d93f9791c55eb19d67223e8f7d625b0bc68a4dd Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 09:35:50 +0000 Subject: [PATCH 28/34] feat(web): add selfhost umami script url setting --- app/models/setting.rb | 2 ++ app/views/layouts/_analytics.html.slim | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models/setting.rb b/app/models/setting.rb index 88e85a3eb..0a1f90114 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -117,6 +117,8 @@ class Setting < RailsSettings::Base end scope :analytics do + field :umami_script_url, default: (ENV['UMAMI_SCRIPT_URL'] || 'https://analytics.us.umami.is/script.js'), + type: :string, display: Setting.demo_mode field :umami_website_id, default: ENV['UMAMI_WEBSITE_ID'], type: :string, display: Setting.demo_mode field :clarity_analytics_id, default: ENV['CLARITY_ANALYTICS_ID'], type: :string, display: Setting.demo_mode field :google_analytics_id, default: ENV['GOOGLE_ANALYTICS_ID'], type: :string, display: Setting.demo_mode diff --git a/app/views/layouts/_analytics.html.slim b/app/views/layouts/_analytics.html.slim index f9bc691fb..d089430db 100644 --- a/app/views/layouts/_analytics.html.slim +++ b/app/views/layouts/_analytics.html.slim @@ -8,7 +8,7 @@ gtag('config', '#{Setting.google_analytics_id}'); - if Setting.umami_website_id.present? - script defer=true src="https://analytics.us.umami.is/script.js" data-website-id="#{Setting.umami_website_id}" + script defer=true src="#{Settring.umami_script_url}" data-website-id="#{Setting.umami_website_id}" - if Setting.clarity_analytics_id.present? javascript: From 9169b18c617a66444b51e4ca09aebfe3e0523c45 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Tue, 18 Jun 2024 15:24:12 +0000 Subject: [PATCH 29/34] fix(web): fix app auth and disable view the latest build of app in guest mode --- app/controllers/releases_controller.rb | 4 +++- app/controllers/users/omniauth_callbacks_controller.rb | 4 +--- app/models/concerns/release_auth.rb | 6 +++--- app/policies/channel_policy.rb | 10 ++++++++++ app/policies/release_policy.rb | 6 ++++++ app/views/channels/filters/index.html.slim | 9 +++++---- app/views/releases/show.html.slim | 3 ++- 7 files changed, 30 insertions(+), 12 deletions(-) diff --git a/app/controllers/releases_controller.rb b/app/controllers/releases_controller.rb index fb31611d4..c92d1efaa 100644 --- a/app/controllers/releases_controller.rb +++ b/app/controllers/releases_controller.rb @@ -13,6 +13,8 @@ def index end @release = @channel.releases.last + authorize @release, :show? + @title = @release.app_name render :show end @@ -104,7 +106,7 @@ def not_found(e) case e.model when 'Channel' @title = t('releases.messages.errors.not_found_app') - unless user_signed_in? && Setting.guest_mode + unless user_signed_in_or_guest_mode? @link_title = @link_href = nil end when 'Release' diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index a712e4077..70f8f8165 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -48,8 +48,6 @@ def store_new_user(name, auth) def goback_path omni_params = request.env['omniauth.params'] - redirect_path = omni_params['back'].presence || - request.env['HTTP_REFERER'] || - root_path + omni_params&['back'].presence || request.env['HTTP_REFERER'] || root_path end end diff --git a/app/models/concerns/release_auth.rb b/app/models/concerns/release_auth.rb index 5db7599b4..3776633e0 100644 --- a/app/models/concerns/release_auth.rb +++ b/app/models/concerns/release_auth.rb @@ -3,7 +3,7 @@ module ReleaseAuth extend ActiveSupport::Concern - COOKIE_KEY_PREFIX = 'zealot_release_auth_' + COOKIE_KEY_PREFIX = 'zealot_app_channel_auth_' def cookie_password_matched?(cookies) channel.password.blank? || cookies[cache_key] == channel.encode_password @@ -25,6 +25,6 @@ def store_cookie_auth(cookies) end def cache_key - @cache_key ||= "#{COOKIE_KEY_PREFIX}#{id}" + @cache_key ||= "#{COOKIE_KEY_PREFIX}#{channel.id}" end -end \ No newline at end of file +end diff --git a/app/policies/channel_policy.rb b/app/policies/channel_policy.rb index 445f5a807..dd8ddb9e2 100644 --- a/app/policies/channel_policy.rb +++ b/app/policies/channel_policy.rb @@ -35,14 +35,20 @@ def destroy_releases? end def versions? + return true if enabled_auth? + app_user? end def branches? + return true if enabled_auth? + app_user? end def release_types? + return true if enabled_auth? + app_user? end @@ -54,6 +60,10 @@ def resolve private + def enabled_auth? + record.password.present? + end + def app_user? guest_mode? || any_manage? || app_collaborator?(user, app) end diff --git a/app/policies/release_policy.rb b/app/policies/release_policy.rb index 06107ae1b..8d522d1a2 100644 --- a/app/policies/release_policy.rb +++ b/app/policies/release_policy.rb @@ -3,6 +3,8 @@ class ReleasePolicy < ApplicationPolicy def show? + return true if enabled_auth? + app_user? end @@ -38,6 +40,10 @@ def resolve private + def enabled_auth? + record.channel.password.present? + end + def app_user? guest_mode? || any_manage? || Collaborator.where(user: user, app: app).exists? end diff --git a/app/views/channels/filters/index.html.slim b/app/views/channels/filters/index.html.slim index 1f356ae45..d526d8245 100644 --- a/app/views/channels/filters/index.html.slim +++ b/app/views/channels/filters/index.html.slim @@ -9,10 +9,11 @@ .card .card-header h3.card-title = @subtitle - .card-tools - a href="#{friendly_channel_overview_path(@channel)}" - i.icon.far.fa-list-alt - = t('links.back_to_list') + - if user_signed_in_or_guest_mode? + .card-tools + a href="#{friendly_channel_overview_path(@channel)}" + i.icon.far.fa-list-alt + = t('links.back_to_list') == render 'channels/filters/list', releases: @releases, channel: @channel diff --git a/app/views/releases/show.html.slim b/app/views/releases/show.html.slim index 6d21b8573..e3eee3af2 100644 --- a/app/views/releases/show.html.slim +++ b/app/views/releases/show.html.slim @@ -16,6 +16,7 @@ == render 'releases/sidebar/debug_file', debug_file: @release.debug_file == render 'releases/sidebar/version', channel: @release.channel == render 'releases/sidebar/qrcode' - = link_to_if user_signed_in_or_guest_mode?, t('.view_detail'), friendly_channel_overview_path(@channel), class: 'btn btn-default btn-block' + - if user_signed_in_or_guest_mode? + = link_to t('.view_detail'), friendly_channel_overview_path(@channel), class: 'btn btn-default btn-block' - else == render 'releases/body/password_auth' From d1e9f5a669da400eaf3821bb8a7ee6219424fef5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 21:59:38 +0000 Subject: [PATCH 30/34] chore(deps): bump good_job from 3.29.3 to 3.29.4 Bumps [good_job](https://github.com/bensheldon/good_job) from 3.29.3 to 3.29.4. - [Release notes](https://github.com/bensheldon/good_job/releases) - [Changelog](https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md) - [Commits](https://github.com/bensheldon/good_job/compare/v3.29.3...v3.29.4) --- updated-dependencies: - dependency-name: good_job dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Gemfile b/Gemfile index ecac029c8..14061c26d 100644 --- a/Gemfile +++ b/Gemfile @@ -74,7 +74,7 @@ gem 'sentry-rails', '~> 5.17.3' gem 'improved_jenkins_client', '~> 1.6.7' # Background job -gem 'good_job', '~> 3.29.3' +gem 'good_job', '~> 3.29.4' gem 'activejob-status', '~> 1.0.2' # Assets diff --git a/Gemfile.lock b/Gemfile.lock index 9a9ec71cb..079505e9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -132,7 +132,7 @@ GEM childprocess (5.0.0) chunky_png (1.4.0) coderay (1.1.3) - concurrent-ruby (1.3.1) + concurrent-ruby (1.3.3) connection_pool (2.4.1) crass (1.0.6) cssbundling-rails (1.4.0) @@ -156,7 +156,7 @@ GEM dotenv (= 3.1.2) railties (>= 6.1) drb (2.2.1) - erubi (1.12.0) + erubi (1.13.0) et-orbi (1.2.11) tzinfo factory_bot (6.4.6) @@ -191,7 +191,7 @@ GEM rubyntlm (~> 0.5) globalid (1.2.1) activesupport (>= 6.1) - good_job (3.29.3) + good_job (3.29.4) activejob (>= 6.0.0) activerecord (>= 6.0.0) concurrent-ruby (>= 1.0.2) @@ -224,7 +224,7 @@ GEM interception (0.5) io-console (0.7.2) iostruct (0.0.5) - irb (1.13.1) + irb (1.13.2) rdoc (>= 4.0.0) reline (>= 0.4.2) jb (0.8.2) @@ -309,18 +309,18 @@ GEM net-protocol nio4r (2.7.3) nkf (0.2.0) - nokogiri (1.16.5) + nokogiri (1.16.6) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.5-aarch64-linux) + nokogiri (1.16.6-aarch64-linux) racc (~> 1.4) - nokogiri (1.16.5-arm-linux) + nokogiri (1.16.6-arm-linux) racc (~> 1.4) - nokogiri (1.16.5-arm64-darwin) + nokogiri (1.16.6-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.5-x86_64-darwin) + nokogiri (1.16.6-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.5-x86_64-linux) + nokogiri (1.16.6-x86_64-linux) racc (~> 1.4) oauth2 (1.4.11) faraday (>= 0.17.3, < 3.0) @@ -402,7 +402,7 @@ GEM pyu-ruby-sasl (0.0.3.3) raabro (1.4.0) racc (1.8.0) - rack (3.0.11) + rack (3.1.3) rack-cors (2.0.2) rack (>= 2.0.0) rack-oauth2 (2.2.0) @@ -465,7 +465,7 @@ GEM rdoc (6.7.0) psych (>= 4.0.0) regexp_parser (2.6.1) - reline (0.5.8) + reline (0.5.9) io-console (~> 0.5) request_store (1.5.1) rack (>= 1.4) @@ -553,7 +553,7 @@ GEM ssrf_filter (1.1.2) stimulus-rails (1.3.3) railties (>= 6.0.0) - stringio (3.1.0) + stringio (3.1.1) strscan (3.1.0) swd (2.0.2) activesupport (>= 3) @@ -607,7 +607,7 @@ GEM websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.6.15) + zeitwerk (2.6.16) zhexdump (0.0.2) PLATFORMS @@ -643,7 +643,7 @@ DEPENDENCIES faraday (~> 2.9.1) friendly_id (~> 5.5.1) gitlab_omniauth-ldap (~> 2.2.0) - good_job (~> 3.29.3) + good_job (~> 3.29.4) graphiql-rails graphql (~> 2.3.5) health_check (~> 3.1.0) From 911ac6f3e90c1f4af0f5e7037faeede9ab18d23a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 00:33:49 +0000 Subject: [PATCH 31/34] chore(deps): bump faraday from 2.9.1 to 2.9.2 Bumps [faraday](https://github.com/lostisland/faraday) from 2.9.1 to 2.9.2. - [Release notes](https://github.com/lostisland/faraday/releases) - [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md) - [Commits](https://github.com/lostisland/faraday/compare/v2.9.1...v2.9.2) --- updated-dependencies: - dependency-name: faraday dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 14061c26d..7f23f4ed6 100644 --- a/Gemfile +++ b/Gemfile @@ -40,7 +40,7 @@ gem 'webp-ffi', '~> 0.4.0' # Helper gem 'rails-settings-cached', '~> 2.9.4' gem 'app-info', '~> 3.0.0' -gem 'faraday', '~> 2.9.1' +gem 'faraday', '~> 2.9.2' gem 'rqrcode' ## Auth diff --git a/Gemfile.lock b/Gemfile.lock index 079505e9c..3b64604a0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -164,7 +164,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (2.9.1) + faraday (2.9.2) faraday-net_http (>= 2.0, < 3.2) faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) @@ -640,7 +640,7 @@ DEPENDENCIES devise-i18n (~> 1.12.1) dotenv-rails factory_bot_rails - faraday (~> 2.9.1) + faraday (~> 2.9.2) friendly_id (~> 5.5.1) gitlab_omniauth-ldap (~> 2.2.0) good_job (~> 3.29.4) From 83eca6bc115318a3cbb2158cb817c7047470ca31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jun 2024 21:51:01 +0000 Subject: [PATCH 32/34] chore(deps-dev): bump rspec-rails from 6.1.2 to 6.1.3 Bumps [rspec-rails](https://github.com/rspec/rspec-rails) from 6.1.2 to 6.1.3. - [Changelog](https://github.com/rspec/rspec-rails/blob/main/Changelog.md) - [Commits](https://github.com/rspec/rspec-rails/compare/v6.1.2...v6.1.3) --- updated-dependencies: - dependency-name: rspec-rails dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 079505e9c..11d23f5b1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -287,7 +287,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.7) - minitest (5.23.1) + minitest (5.24.0) mixlib-shellout (3.2.7) chef-utils msgpack (1.7.2) @@ -481,13 +481,13 @@ GEM rqrcode_core (1.2.0) rspec-core (3.13.0) rspec-support (~> 3.13.0) - rspec-expectations (3.13.0) + rspec-expectations (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.2) + rspec-rails (6.1.3) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) From 3081b1d7077d2d589601960154a905b64bda216c Mon Sep 17 00:00:00 2001 From: icyleaf Date: Thu, 20 Jun 2024 03:46:42 +0000 Subject: [PATCH 33/34] fix(web): missing devices for macos, mobileprovision file --- app/views/teardowns/_macos.html.slim | 2 +- app/views/teardowns/_mobileprovision.html.slim | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/teardowns/_macos.html.slim b/app/views/teardowns/_macos.html.slim index 9543a8734..7c601153f 100644 --- a/app/views/teardowns/_macos.html.slim +++ b/app/views/teardowns/_macos.html.slim @@ -31,7 +31,7 @@ == render 'mobileprovision_part' == render 'developer_certs_part' - == render 'devices_part' + == render 'devices_part', devices: @metadata.devices == render 'card', title: 'Entitlements', raw: @metadata.entitlements .col-md-4 diff --git a/app/views/teardowns/_mobileprovision.html.slim b/app/views/teardowns/_mobileprovision.html.slim index 6fb8d75e8..123e06da7 100644 --- a/app/views/teardowns/_mobileprovision.html.slim +++ b/app/views/teardowns/_mobileprovision.html.slim @@ -1,9 +1,9 @@ .col-md-8.col-lg-9 == render 'mobileprovision_part' == render 'developer_certs_part' - == render 'devices_part' + == render 'devices_part', devices: @metadata.devices == render 'card', title: 'Entitlements', raw: @metadata.entitlements .col-md-4.col-lg-3 == render 'card', title: t('teardowns.show.capabilities'), raw: @metadata.capabilities - == render 'card', title: 'URL Schemes', raw: @metadata.url_schemes \ No newline at end of file + == render 'card', title: 'URL Schemes', raw: @metadata.url_schemes From 2f91d3273128952b9680b0120012bc8a80c2df72 Mon Sep 17 00:00:00 2001 From: icyleaf Date: Thu, 20 Jun 2024 03:52:55 +0000 Subject: [PATCH 34/34] release: bump 5.3.1 --- Dockerfile | 2 +- config/locales/zealot/api.en.yml | 2 +- config/locales/zealot/api.zh-CN.yml | 2 +- lib/tasks/zealot/zealot.rake | 6 ++++-- package.json | 2 +- spec/swagger_helper.rb | 2 +- swagger/v1/swagger_en.json | 4 ++-- swagger/v1/swagger_zh-CN.json | 4 ++-- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index af0ef1306..9c2756134 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,7 +64,7 @@ ARG BUILD_DATE ARG VCS_REF ARG TAG -ARG ZEALOT_VERSION="5.3.0" +ARG ZEALOT_VERSION="5.3.1" ARG REPLACE_CHINA_MIRROR="true" ARG ORIGINAL_REPO_URL="dl-cdn.alpinelinux.org" ARG MIRROR_REPO_URL="mirrors.ustc.edu.cn" diff --git a/config/locales/zealot/api.en.yml b/config/locales/zealot/api.en.yml index e7e8d70d7..96df387de 100644 --- a/config/locales/zealot/api.en.yml +++ b/config/locales/zealot/api.en.yml @@ -13,7 +13,7 @@ en: ```json { - "version": "5.3.0", + "version": "5.3.1", "vcs_ref": "effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d", "build_date": "2024-05-23T06:04:48.989Z" } diff --git a/config/locales/zealot/api.zh-CN.yml b/config/locales/zealot/api.zh-CN.yml index 13dda43d6..57d925a6c 100644 --- a/config/locales/zealot/api.zh-CN.yml +++ b/config/locales/zealot/api.zh-CN.yml @@ -13,7 +13,7 @@ zh-CN: ```json { - "version": "5.3.0", + "version": "5.3.1", "vcs_ref": "effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d", "build_date": "2024-05-23T06:04:48.989Z" } diff --git a/lib/tasks/zealot/zealot.rake b/lib/tasks/zealot/zealot.rake index 88247ace3..dd41d5c61 100644 --- a/lib/tasks/zealot/zealot.rake +++ b/lib/tasks/zealot/zealot.rake @@ -84,13 +84,15 @@ namespace :zealot do end desc "Zealot | generate swagger files" - task swaggerize: :environment do + task :swaggerize do + ENV['RAILS_ENV'] = 'test' current_locale = ENV['DEFAULT_LOCALE'] - I18n.available_locales.each do |locale| + Rails.configuration.i18n.available_locales.each do |locale| ENV['DEFAULT_LOCALE'] = current_locale.to_s puts "Generating #{locale} swagger ..." Rake::Task['rswag'].invoke end ENV['DEFAULT_LOCALE'] = current_locale + ENV.delete('RAILS_ENV') end end diff --git a/package.json b/package.json index 12cc19c30..762107177 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zealot", - "version": "5.3.0", + "version": "5.3.1", "private": true, "license": "MIT", "dependencies": { diff --git a/spec/swagger_helper.rb b/spec/swagger_helper.rb index ded564ff4..9c7bb5cab 100644 --- a/spec/swagger_helper.rb +++ b/spec/swagger_helper.rb @@ -255,7 +255,7 @@ description: I18n.t('api.schemas.version.description'), type: :object, properties: { - version: { type: :integer, format: :int32, example: '5.3.0' }, + version: { type: :integer, format: :int32, example: '5.3.1' }, vcs_ref: { type: :string, example: 'effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d' }, build_date: { type: :string, example: '2024-05-23T06:04:48.989Z' } } diff --git a/swagger/v1/swagger_en.json b/swagger/v1/swagger_en.json index 9fce7e0b1..1e95eef7f 100644 --- a/swagger/v1/swagger_en.json +++ b/swagger/v1/swagger_en.json @@ -3,7 +3,7 @@ "info": { "title": "Zealot API", "version": "v1.3", - "description": "This documentation doesn't provide a way to test our API. In order to facilitate testing, we recommend the following tools:\n\n- [cURL](https://curl.se/) (recommended, command-line)\n- [Bruno](https://www.usebruno.com/)\n- [Postman](https://www.postman.com/downloads/)\n- Your web browser, if you don't need to send headers or a request body\n\nOnce you have a working client, you can test that it works by making a GET request to {host}/version:\n\n```json\n{\n \"version\": \"5.3.0\",\n \"vcs_ref\": \"effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d\",\n \"build_date\": \"2024-05-23T06:04:48.989Z\"\n}\n```\n\n## Authentication\n\nThis API only accepts one options for authentication: Personal access tokens.\nAll tokens are tied to a Zealot user and use the `token` query of the request.\n\nExample:\n\n```\nhttps://tryzealot.ews.im/api/users?token={token}\n```\n\n### Personal access tokens\n\nPersonal access tokens (PATs) can be found in from the [user settings](/docs/user-guide/user_settings).\n" + "description": "This documentation doesn't provide a way to test our API. In order to facilitate testing, we recommend the following tools:\n\n- [cURL](https://curl.se/) (recommended, command-line)\n- [Bruno](https://www.usebruno.com/)\n- [Postman](https://www.postman.com/downloads/)\n- Your web browser, if you don't need to send headers or a request body\n\nOnce you have a working client, you can test that it works by making a GET request to {host}/version:\n\n```json\n{\n \"version\": \"5.3.1\",\n \"vcs_ref\": \"effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d\",\n \"build_date\": \"2024-05-23T06:04:48.989Z\"\n}\n```\n\n## Authentication\n\nThis API only accepts one options for authentication: Personal access tokens.\nAll tokens are tied to a Zealot user and use the `token` query of the request.\n\nExample:\n\n```\nhttps://tryzealot.ews.im/api/users?token={token}\n```\n\n### Personal access tokens\n\nPersonal access tokens (PATs) can be found in from the [user settings](/docs/user-guide/user_settings).\n" }, "servers": [ { @@ -2593,7 +2593,7 @@ "version": { "type": "integer", "format": "int32", - "example": "5.3.0" + "example": "5.3.1" }, "vcs_ref": { "type": "string", diff --git a/swagger/v1/swagger_zh-CN.json b/swagger/v1/swagger_zh-CN.json index bab4c95fb..2a93aa110 100644 --- a/swagger/v1/swagger_zh-CN.json +++ b/swagger/v1/swagger_zh-CN.json @@ -3,7 +3,7 @@ "info": { "title": "Zealot API", "version": "v1.3", - "description": "文档可能提供或没有提供测试接口的工具,便于快速测试,你还可以使用如下工具:\n\n- [cURL](https://curl.se/) (推荐,命令行工具)\n- [Bruno](https://www.usebruno.com/)\n- [Postman](https://www.postman.com/downloads/)\n- 任意浏览器,如果你不需要设置 headers 或请求主体\n\n准备好工具,你可以通过 `GET` 请求 {host}/version 可看到 Zealot 版本信息:\n\n```json\n{\n \"version\": \"5.3.0\",\n \"vcs_ref\": \"effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d\",\n \"build_date\": \"2024-05-23T06:04:48.989Z\"\n}\n```\n\n## 接口认证\n\n接口目前仅提供在用户密钥认证方式,参数是 `token`,请求接口时可在接口 query 或表单字段中传递此字段。\n\n```\nhttps://tryzealot.ews.im/api/users?token={token}\n```\n\n### 用户密钥\n\n用户密钥在[用户详情](/docs/user-guide/user_settings)最底部找到。\n" + "description": "文档可能提供或没有提供测试接口的工具,便于快速测试,你还可以使用如下工具:\n\n- [cURL](https://curl.se/) (推荐,命令行工具)\n- [Bruno](https://www.usebruno.com/)\n- [Postman](https://www.postman.com/downloads/)\n- 任意浏览器,如果你不需要设置 headers 或请求主体\n\n准备好工具,你可以通过 `GET` 请求 {host}/version 可看到 Zealot 版本信息:\n\n```json\n{\n \"version\": \"5.3.1\",\n \"vcs_ref\": \"effe99c25b79fd55d3e1959ea3af0bcb6b75ba1d\",\n \"build_date\": \"2024-05-23T06:04:48.989Z\"\n}\n```\n\n## 接口认证\n\n接口目前仅提供在用户密钥认证方式,参数是 `token`,请求接口时可在接口 query 或表单字段中传递此字段。\n\n```\nhttps://tryzealot.ews.im/api/users?token={token}\n```\n\n### 用户密钥\n\n用户密钥在[用户详情](/docs/user-guide/user_settings)最底部找到。\n" }, "servers": [ { @@ -2593,7 +2593,7 @@ "version": { "type": "integer", "format": "int32", - "example": "5.3.0" + "example": "5.3.1" }, "vcs_ref": { "type": "string",