Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
**Discord:** %PROJECT_DISCORD_URL% \
**Issues:** %PROJECT_ISSUES_URL% \
**Source:** %PROJECT_SOURCE_URL% \
**Wiki:** %PROJECT_WIKI_URL%
**Wiki:** %PROJECT_WIKI_URL% \
**Discord:** %PROJECT_DISCORD_URL%
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
**Slug:** `%PROJECT_SLUG%` </br>

**Title issues?**
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**Title:** %PROJECT_TITLE% </br>
7 changes: 7 additions & 0 deletions packages/moderation/data/messages/description/clarity.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Description Clarity

Per section 2 of %RULES% It's important that your Description accurately and honestly represents the content of your project.
Currently, some elements in your Description may be confusing or misleading.
Please edit your description to ensure it accurately represents the current functionality of your project.
Avoid making hyperbolic claims that could misrepresent the facts of your project.
Ensure that your Description is accurate and not likely to confuse users.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Description Accessibility

In accordance with section 2.2 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) we request that `# header`s not be used as body text.
In accordance with section 2.2 of %RULES%, we request that `# header`s not be used as body text.

Headers are interpreted differently by screen-readers and thus should generally only be used for things like separating sections of your Description.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Image Descriptions

In accordance with section 2.2 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) we ask that you provide a text alternative to your current Description.
In accordance with section 2.2 of %RULES%, we ask that you provide a text alternative to your current Description.

It is important that your Description contains enough detail about your project that a user can have a full understanding of it from text alone.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Insufficient Description

Per section 2.1 of [Modrinth's Content Rules](https://modrinth.com/legal/rules#general-expectations) your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.
Per section 2.1 of %RULES%, your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.

Currently, it looks like there are some missing details.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Insufficient Description

Per section 2.1 of [Modrinth's Content Rules](https://modrinth.com/legal/rules#general-expectations) your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.
Per section 2.1 of %RULES%, your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.

Currently, it looks like there are some missing details.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Insufficient Description

Per section 2.1 of %RULES% your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.
Per section 2.1 of %RULES%, your project's Description should clearly inform the reader of the content, purpose, and appeal of your project.

Currently, it looks like there are some missing details.
%EXPLAINER%
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## No English Description

Per section 2.2 of %RULES% a project's [Summary](%PROJECT_SETTINGS_LINK%) and %PROJECT_DESCRIPTION_FLINK% must be in English, unless meant exclusively for non-English use, such as translations.
Per section 2.2 of %RULES%, a project's [Summary](%PROJECT_SETTINGS_LINK%) and %PROJECT_DESCRIPTION_FLINK% must be in English, unless meant exclusively for non-English use, such as translations.

You may include your non-English Description if you would like but we ask that you also add an English translation of the Description to your project page, if you would like to use an online translator to do this, we recommend [DeepL](https://www.deepl.com/translator).
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Description Accessibility

Per section 2 of %RULES% your description must be plainly readable and accessible.
Per section 2 of %RULES%, your description must be plainly readable and accessible.

Using non-standard text characters like Zalgo or "fancy text" in place of text anywhere in your project, including the Description, Summary, or Title can make your project pages inaccessible.

Expand Down
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/gallery/not-relevant.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## Unrelated Gallery Images

Per section 5.5 of %RULES% any images in your project's Gallery must be relevant to the project and also include a Title.
Per section 5.5 of %RULES%, any images in your project's Gallery must be relevant to the project and also include a Title.
4 changes: 2 additions & 2 deletions packages/moderation/data/messages/license/invalid_link.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Invalid License Link

It's important that your project's License link is accurate and leads directly to a valid license for this content.
Your current link: `%PROJECT_LICENSE_URL%` does not appear to lead to a valid license for this project, or it is not publicly accessable.
It's important that your project's %PROJECT_LICENSE_FLINK% link is accurate and leads directly to a valid license for this content.
Your current link: `%PROJECT_LICENSE_URL%` does not appear to lead to a valid license for this project, or it is not publicly accessible.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## No Source Code Provided

Your project's license of `%PROJECT_LICENSE_NAME%`, requires source disclosure.
Your project's %PROJECT_LICENSE_FLINK% of `%PROJECT_LICENSE_NAME%`, requires source disclosure.
Consider adding a Source link to your project's repository, or including a Sources file for each version as an Additional File.
Keep in mind this may be a requirement of the source work's licensing, which must be abided per section 4 of %RULES%.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/license/no_source.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## No Source Code Provided

Your project's license of `%PROJECT_LICENSE_NAME%`, requires source disclosure.
Your project's %PROJECT_LICENSE_FLINK% of `%PROJECT_LICENSE_NAME%`, requires source disclosure.
Consider adding a Source link to your project's repository, or including a Sources file for each version as an Additional File. You may also want to refer to %LICENSING_GUIDE% if you wish to select a different License, remember to make sure your selected License is consistent with the license in your project's files as well.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/links/misused.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Misuse of Links

Per section 5.4 of %RULES% all %PROJECT_LINKS_FLINK% must lead to correctly labeled publicly available resources that are directly related to your project.
Per section 5.4 of %RULES%, all %PROJECT_LINKS_FLINK% must lead to correctly labeled publicly available resources that are directly related to your project.
Currently it looks like your %MISUSED_LINKS% link(s) are misused or incorrectly labeled.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/links/not_accessible.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## Unreachable Links

Per section 5.4 of %RULES% all %PROJECT_LINKS_FLINK% must lead to correctly labeled publicly available resources that are directly related to your project.
Per section 5.4 of %RULES%, all %PROJECT_LINKS_FLINK% must lead to correctly labeled publicly available resources that are directly related to your project.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/reupload/reupload.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Reuploads are forbidden

This project appears to contain content from %ORIGINAL_PROJECT% by %ORIGINAL_AUTHOR%.
Per section 4 of %RULES% this is strictly forbidden.
Per section 4 of %RULES%, this is strictly forbidden.
If you believe this is an error, or you can verify you are the creator and rightful owner of this content please let us know. Otherwise, we ask that you **do not resubmit this project**.
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
---

## Account Issues Indicated

We're sorry to hear you're having trouble accessing your accounts, unfortunately, our moderation team is unable to assist with account-related issues.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
## Warnings from AutoMod

Unfortunately, our AutoMod cannot read your project's Description or your messages to moderation.
AutoMod will warn both you and our Moderation Staff about potential issues, but if you've already followed the necessary steps these warnings can safely be ignored.
Expand Down
5 changes: 2 additions & 3 deletions packages/moderation/data/messages/status-alerts/fixed.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
---

## Corrections Applied

I've gone ahead and corrected the issues listed above so your project can be Approved.
Your submission contained some issues which may have prevented your project from being published.
These have been corrected by our Moderation Team so your project can be Approved, be sure to read and understand each issue listed below to ensure a smooth review for your next submission.
4 changes: 1 addition & 3 deletions packages/moderation/data/messages/status-alerts/private.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---

## Private Use

Under normal circumstances, your project would be rejected due to the issues listed above.
Under normal circumstances, your project would be rejected due to the issues listed below.
However, since your project is not intended for public use, these requirements will be waived and your project will be unlisted. This means it will remain accessible through a direct link without appearing in public search results, allowing you to share it privately.
If you're okay with this, or submitted your project to be unlisted already, than no further action is necessary.
If you would like to publish your project publicly, please address all moderation concerns before resubmitting this project.
4 changes: 2 additions & 2 deletions packages/moderation/data/messages/summary/formatting.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Insufficient Summary
## Invalid Summary Formatting

Per section 5.3 of %RULES% your Summary can not include any extra formatting such as lists, or links.
Per section 5.3 of %RULES%, your Summary can not include any extra formatting such as lists, or links.

Your project summary should provide a brief overview of your project that informs and entices users.

Expand Down
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/summary/insufficient.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Insufficient Summary

Per section 5.3 of %RULES% your project summary should provide a brief overview of your project that informs and entices users.
Per section 5.3 of %RULES%, your project summary should provide a brief overview of your project that informs and entices users.

This is the first thing most people will see about your mod other than the Logo, so it's important it be accurate, reasonably detailed, and exciting.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/summary/non-english.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## No English Summary

Per section 2.2 of %RULES% a project's Summary and Description must be in English, unless meant exclusively for non-English use, such as translations.
Per section 2.2 of %RULES%, a project's Summary and Description must be in English, unless meant exclusively for non-English use, such as translations.

You may include your non-English Summary but we ask that you also add an English translation.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/summary/repeat-title.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Insufficient Summary

Per section 5.3 of %RULES% your Summary can not be the same as your project's Title.
Per section 5.3 of %RULES%, your Summary can not be the same as your project's Title.

Your project summary should provide a brief overview of your project that informs and entices users.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Unsupported Project

Per section 5.7 of [Modrinth's Content Rules](https://modrinth.com/legal/rules), Modrinth does not support uploading multiple variations of your project as Additional files.
Per section 5.7 of %RULES%, Modrinth does not support uploading multiple variations of your project as Additional files.
Having alternate versions of your content on the same project will hurt the functionality of the Modrinth App and other supported launchers as it would prevent users from updating your content, and may make it harder for your users to find the content they want.
We ask that you upload each alternate version of your project as a new project, ensuring that all users will be able to access and easily find your content.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Incorrect Additional Files

Per section 5.7 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) the additional files section should only be used for specific designated purposes such as a `Sources.jar`.
Per section 5.7 of %RULES%, the additional files section should only be used for specific designated purposes such as a `Sources.jar`.
To ensure a smooth experience for you and your users, please upload each alternate version of your modpack as its own Modpack project, thank you.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Incorrect Additional Files

Per section 5.7 of [Modrinth's Content Rules](https://modrinth.com/legal/rules) the additional files section should only be used for specific designated purposes such as a `Sources.jar`.
Per section 5.7 of %RULES%, the additional files section should only be used for specific designated purposes such as a `Sources.jar`.
Modrinth does not support the upload of modpacks in the `.zip` format, as this may cause issues for Modrinth users or distribute copyrighted content without the proper permissions.
If you would like to upload a server-specific version of your modpack, consider creating a separate Modpack project.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Incorrect Use of Additional Files

It looks like you've uploaded multiple primary files to one Version as Additional Files. Per section 5.7 of %RULES% each Version of your project must include only one primary file that corresponds to its respective Minecraft and loader versions.
It looks like you've uploaded multiple primary files to one Version as Additional Files. Per section 5.7 of %RULES%, each Version of your project must include only one primary file that corresponds to its respective Minecraft and loader versions.
This allows users to easily find and download the content they need for their game profile with ease. The Additional Files feature can be used for things like a `Sources.jar`.
Please upload each version of your project separately, thank you.
2 changes: 1 addition & 1 deletion packages/moderation/data/messages/versions/redist_libs.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Excessive File Size
## Unnecessary redistribution of dependencies

This project appears to include libs or dependencies, unnecessarily redistributing their entire contents.
This is often due to an error in project structure or compilation, and in some cases, may violate the copyrights or licensing agreements of these libraries.
Expand Down
9 changes: 9 additions & 0 deletions packages/moderation/data/stages/description.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,15 @@ const description: Stage = {
message: async () =>
(await import('../messages/description/non-standard-text.md?raw')).default,
} as ButtonAction,
{
id: 'description_clarity',
type: 'button',
label: 'Unclear / Misleading',
weight: 407,
suggestedStatus: 'rejected',
severity: 'high',
message: async () => (await import('../messages/description/clarity.md?raw')).default,
} as ButtonAction,
],
}

Expand Down
8 changes: 4 additions & 4 deletions packages/moderation/data/stages/status-alerts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const statusAlerts: Stage = {
id: 'status_corrections_applied',
type: 'button',
label: 'Corrections applied',
weight: 999999,
weight: -999999,
suggestedStatus: 'approved',
disablesActions: ['status_private_use', 'status_account_issues'],
message: async () => (await import('../messages/status-alerts/fixed.md?raw')).default,
Expand All @@ -24,7 +24,7 @@ const statusAlerts: Stage = {
id: 'status_private_use',
type: 'button',
label: 'Private use',
weight: 999999,
weight: -999999,
suggestedStatus: 'flagged',
disablesActions: ['status_corrections_applied', 'status_account_issues'],
message: async () => (await import('../messages/status-alerts/private.md?raw')).default,
Expand All @@ -33,7 +33,7 @@ const statusAlerts: Stage = {
id: 'status_account_issues',
type: 'button',
label: 'Account issues',
weight: 999999,
weight: -999999,
suggestedStatus: 'rejected',
disablesActions: ['status_corrections_applied', 'status_private_use'],
message: async () =>
Expand Down Expand Up @@ -78,7 +78,7 @@ const statusAlerts: Stage = {
id: 'status_automod_confusion',
type: 'button',
label: `Automod confusion`,
weight: 999999,
weight: -999999,
message: async () =>
(await import('../messages/status-alerts/automod_confusion.md?raw')).default,
} as ButtonAction,
Expand Down
21 changes: 20 additions & 1 deletion packages/moderation/data/stages/title-slug.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,28 @@
import { BookOpenIcon } from '@modrinth/assets'
import type { Stage } from '../../types/stage'
import type { Project } from '@modrinth/utils'

function hasCustomSlug(project: Project): boolean {
return (
project.slug !==
project.title
.trim()
.toLowerCase()
.replaceAll(' ', '-')
.replaceAll(/[^a-zA-Z0-9!@$()`.+,_"-]/g, '')
.replaceAll(/--+/gm, '-')
)
}

const titleSlug: Stage = {
title: 'Are the Name and URL accurate and appropriate?',
id: 'title-&-slug',
text: async () => (await import('../messages/checklist-text/title-slug.md?raw')).default,
text: async (project) => {
let text = (await import('../messages/checklist-text/title-slug/title.md?raw')).default
if (hasCustomSlug(project))
text += (await import('../messages/checklist-text/title-slug/slug.md?raw')).default
return text
},
icon: BookOpenIcon,
guidance_url: 'https://modrinth.com/legal/rules#miscellaneous',
actions: [
Expand Down Expand Up @@ -63,6 +81,7 @@ const titleSlug: Stage = {
label: 'Slug issues?',
suggestedStatus: 'rejected',
severity: 'low',
shouldShow: (project) => hasCustomSlug(project),
options: [
{
label: 'Misused',
Expand Down
4 changes: 2 additions & 2 deletions packages/moderation/data/stages/versions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,11 @@ const versions: Stage = {
{
id: 'versions_redist_libs',
type: 'button',
label: 'Oversized File',
label: 'Packed Libs',
suggestedStatus: `rejected`,
severity: `medium`,
weight: 1003,
shouldShow: (project) => project.project_type === 'mod',
shouldShow: (project) => project.project_type === 'mod' || project.project_type === 'plugin',
message: async () => (await import('../messages/versions/redist_libs.md?raw')).default,
} as ButtonAction,
{
Expand Down
7 changes: 4 additions & 3 deletions packages/moderation/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ export function flattenProjectVariables(project: Project): Record<string, string
vars['PROJECT_CLIENT_SIDE'] = project.client_side
vars['PROJECT_SERVER_SIDE'] = project.server_side

vars['PROJECT_TEAM'] = project.team
vars['PROJECT_TEAM'] = project.team || 'None'
vars['PROJECT_THREAD_ID'] = project.thread_id
vars['PROJECT_ORGANIZATION'] = project.organization

Expand Down Expand Up @@ -329,9 +329,10 @@ export function flattenProjectVariables(project: Project): Record<string, string
vars[`PROJECT_DESCRIPTION_FLINK`] =
`[Description](https://modrinth.com/project/${project.id}/settings/description)`
vars[`PROJECT_LICENSE_LINK`] = `https://modrinth.com/project/${project.id}/license`
vars[`PROJECT_LICENSE_FLINK`] = `[License](https://modrinth.com/project/${project.id}/license`
vars[`PROJECT_LICENSE_FLINK`] = `[License](https://modrinth.com/project/${project.id}/license)`
vars[`PROJECT_LINKS_LINK`] = `https://modrinth.com/project/${project.id}/settings/links`
vars[`PROJECT_LINKS_FLINK`] = `[Links](https://modrinth.com/project/${project.id}/settings/links)`
vars[`PROJECT_LINKS_FLINK`] =
`[External Links](https://modrinth.com/project/${project.id}/settings/links)`
vars[`PROJECT_GALLERY_LINK`] = `https://modrinth.com/project/${project.id}/gallery`
vars[`PROJECT_GALLERY_FLINK`] = `[Gallery](https://modrinth.com/project/${project.id}/gallery)`
vars[`PROJECT_VERSIONS_LINK`] = `https://modrinth.com/project/${project.id}/versions`
Expand Down