diff --git a/.github/workflows/labrinth-build.yml b/.github/workflows/labrinth-build.yml
index 950a1337bd..dd19280d2d 100644
--- a/.github/workflows/labrinth-build.yml
+++ b/.github/workflows/labrinth-build.yml
@@ -86,7 +86,7 @@ jobs:
GIT_HASH: ${{ github.sha }}
SCCACHE_CACHE_SIZE: ${{ needs.skip-if-clean.outputs.internal == 'true' && '20G' || '' }}
RUSTC_WRAPPER: ${{ needs.skip-if-clean.outputs.internal == 'true' && 'sccache' || '' }}
- RUST_MIN_STACK: '16777216'
+ RUST_MIN_STACK: '268435456'
steps:
- name: Check out code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
diff --git a/apps/docs/public/openapi.yaml b/apps/docs/public/openapi.yaml
index 9407d9ac28..a424e7ef4a 100644
--- a/apps/docs/public/openapi.yaml
+++ b/apps/docs/public/openapi.yaml
@@ -436,7 +436,7 @@ components:
- ai_content_code
- ai_content_assets
- ai_content_text
- - ai_content_functionality
+ - ai_functionality
- advertisements
- epilepsy_triggers
- system_interactions
@@ -2202,7 +2202,7 @@ paths:
- `ai_content_code`
- `ai_content_assets`
- `ai_content_text`
- - `ai_content_functionality`
+ - `ai_functionality`
- `advertisements`
- `epilepsy_triggers`
- `system_interactions`
diff --git a/apps/frontend/src/components/ui/project-settings/disclosures/AdvertisingDisclosureCard.vue b/apps/frontend/src/components/ui/project-settings/disclosures/AdvertisingDisclosureCard.vue
index ba33bffa42..7d2c745867 100644
--- a/apps/frontend/src/components/ui/project-settings/disclosures/AdvertisingDisclosureCard.vue
+++ b/apps/frontend/src/components/ui/project-settings/disclosures/AdvertisingDisclosureCard.vue
@@ -30,11 +30,11 @@ const messages = defineMessages({
},
description1: {
id: 'project.settings.disclosures.advertising.description.1',
- defaultMessage: `You must enable this if your project contains advertisements, sponsorships, or promotions of other works.`,
+ defaultMessage: `Must be enabled if this project contains advertisements, sponsorships, or promotions of other works.`,
},
description2: {
id: 'project.settings.disclosures.advertising.description.2',
- defaultMessage: `If the promotion has no direct monetary value and it is for something that the average person would consider relevant and unobtrusive (such as a link to your Modrinth profile in the corner of the settings page for your own mod), we would not consider that an advertisement.`,
+ defaultMessage: `This does not pertain to unobtrusive promotion of relevant content with no direct monetary value (such as a link to a Modrinth profile in your own configuration menu), and does not pertain to advertisements in the project page such as sponsored banners in the description.`,
},
notePlaceholder: {
id: 'project.settings.disclosures.advertising.note-placeholder',
@@ -49,6 +49,7 @@ const messages = defineMessages({
v-model="model.enabled"
:icon="MegaphoneIcon"
:title="formatMessage(messages.title)"
+ info-link="https://support.modrinth.com/en/articles/16567675#h_d486036510"
@set-lock-status="emit('setLockStatus', $event)"
>
{{ formatMessage(messages.description1) }}
diff --git a/apps/frontend/src/components/ui/project-settings/disclosures/AiDisclosureCard.vue b/apps/frontend/src/components/ui/project-settings/disclosures/AiDisclosureCard.vue
index e0280d303b..63b2d40f83 100644
--- a/apps/frontend/src/components/ui/project-settings/disclosures/AiDisclosureCard.vue
+++ b/apps/frontend/src/components/ui/project-settings/disclosures/AiDisclosureCard.vue
@@ -25,7 +25,7 @@ const emit = defineEmits<{
const { formatMessage } = useVIntl()
-const AI_USES: AiUsage[] = ['code', 'assets', 'text', 'functionality']
+const AI_USES: AiUsage[] = ['code', 'assets', 'text']
const messages = defineMessages({
title: {
@@ -34,19 +34,20 @@ const messages = defineMessages({
},
description: {
id: 'project.settings.disclosures.ai.description',
- defaultMessage: `You must enable this if this project contains a substantial amount of AI-generated code, any
- assets that are substantially AI-generated, the project's functionality relies on the use of
- generative AI, or if any element of your project's page such as description or publishing
- relies on generative AI.`,
+ defaultMessage: `Must be enabled if this project contains any AI-generated assets or text, or if it contains a substantial amount of AI-generated code.`,
},
- contentRules: {
- id: 'project.settings.disclosures.ai.content-rules',
+ description2: {
+ id: 'project.settings.disclosures.ai.description.2',
+ defaultMessage: `It is important to be honest if generative AI has played a significant role in the production or publishing of this content. An easy way to think about this is if you would consider AI a co-author of the project, you should disclose it here.`,
+ },
+ stillUnsure: {
+ id: 'project.settings.disclosures.ai.still-unsure',
defaultMessage:
- "Please refer to Section 6 of Modrinth's Content Rules for more information.",
+ "Still unsure? Refer to our guide to Disclosure and Usage of AI and section 6 of Modrinth's Content Rules for more information.",
},
typesDescription: {
id: 'project.settings.disclosures.ai.types-description',
- defaultMessage: 'What is generative AI being used for?',
+ defaultMessage: 'What types of content have been generated with AI?',
},
notePlaceholder: {
id: 'project.settings.disclosures.ai.note-placeholder',
@@ -76,10 +77,23 @@ function setUse(use: AiUsage, enabled: boolean) {
:icon="SparklesIcon"
:title="formatMessage(messages.title)"
:description="formatMessage(messages.description)"
+ info-link="https://support.modrinth.com/en/articles/16567675#h_ec72dfca13"
@set-lock-status="emit('setLockStatus', $event)"
>
+
+ {{ formatMessage(messages.description2) }}
+
-
+
+
+
+
+
+
+import { BrainCircuitIcon } from '@modrinth/assets'
+import { commonMessages, defineMessages, SettingsFormGroup, Textarea, useVIntl } from '@modrinth/ui'
+
+import DisclosureToggleCard from './DisclosureToggleCard.vue'
+import type { DisclosureCardMetaProps, DisclosureLockStatus, NoteDisclosure } from './types'
+
+const model = defineModel({ required: true })
+
+const props = defineProps()
+
+const emit = defineEmits<{
+ setLockStatus: [status: DisclosureLockStatus]
+}>()
+
+const { formatMessage } = useVIntl()
+
+const messages = defineMessages({
+ title: {
+ id: 'project.settings.disclosures.ai-functionality.title',
+ defaultMessage: 'Contains generative AI functionality',
+ },
+ description: {
+ id: 'project.settings.disclosures.ai-functionality.description',
+ defaultMessage:
+ 'Must be enabled if the project has functionality that makes use of generative AI, such as an in-game chatbot or dynamically generated textures.',
+ },
+ notePlaceholder: {
+ id: 'project.settings.disclosures.ai-functionality.note-placeholder',
+ defaultMessage: 'e.g. The NPCs uses generative AI for dialogue options.',
+ },
+})
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/components/ui/project-settings/disclosures/ArchivedDisclosureCard.vue b/apps/frontend/src/components/ui/project-settings/disclosures/ArchivedDisclosureCard.vue
index 7dca4f6ffd..624a2a80c1 100644
--- a/apps/frontend/src/components/ui/project-settings/disclosures/ArchivedDisclosureCard.vue
+++ b/apps/frontend/src/components/ui/project-settings/disclosures/ArchivedDisclosureCard.vue
@@ -58,6 +58,7 @@ const messages = defineMessages({
v-model="model.enabled"
:icon="ArchiveIcon"
:title="formatMessage(messages.title)"
+ info-link="https://support.modrinth.com/en/articles/16567675#h_76b62c699c"
@set-lock-status="emit('setLockStatus', $event)"
>
{{ formatMessage(messages.description1) }}
diff --git a/apps/frontend/src/components/ui/project-settings/disclosures/DerivativeDisclosureCard.vue b/apps/frontend/src/components/ui/project-settings/disclosures/DerivativeDisclosureCard.vue
index 23da3862cf..bb3441b330 100644
--- a/apps/frontend/src/components/ui/project-settings/disclosures/DerivativeDisclosureCard.vue
+++ b/apps/frontend/src/components/ui/project-settings/disclosures/DerivativeDisclosureCard.vue
@@ -107,6 +107,7 @@ function setOptionalField(
:icon="GitForkIcon"
:title="formatMessage(messages.title)"
:description="formatMessage(messages.description)"
+ info-link="https://support.modrinth.com/en/articles/16567675#h_6422cc821e"
@set-lock-status="emit('setLockStatus', $event)"
>
diff --git a/apps/frontend/src/components/ui/project-settings/disclosures/DisclosureToggleCard.vue b/apps/frontend/src/components/ui/project-settings/disclosures/DisclosureToggleCard.vue
index feeb1f4a39..9d2916c2ef 100644
--- a/apps/frontend/src/components/ui/project-settings/disclosures/DisclosureToggleCard.vue
+++ b/apps/frontend/src/components/ui/project-settings/disclosures/DisclosureToggleCard.vue
@@ -1,5 +1,5 @@