Update moderation checklist (#7056)

* fix: missing delphi severity (#7054)

* Utils nav, new disclosures stage, ai button in rules

* add prefix to collect

* Finish up new disclosures stage

* update r4 messages

* new r4 msg, update showcase clarity message

* fix: version upload failing to detect mrpack loader (#7063)

* fix: mrpack exporting with zip64 (#7064)

* fix: action bar max width (#7048)

* fix: action bar max width

* fix: width

* changelog

* Rule placeholders with subsections & anchors, update messages.

* update new messages to account for new rule and placeholder layout

* Add nag for content disclosures

---------

Co-authored-by: ThatGravyBoat <gravy@thatgravyboat.tech>
Co-authored-by: chyzman <chyzalt@gmail.com>
Co-authored-by: Truman Gao <106889354+tdgao@users.noreply.github.com>
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
This commit is contained in:
coolbot
2026-08-10 08:31:28 -07:00
committed by GitHub
co-authored by ThatGravyBoat chyzman Truman Gao Prospector
parent e88708998b
commit 8e9d425b1d
80 changed files with 345 additions and 88 deletions
+1
View File
@@ -54,6 +54,7 @@
"@vue-email/components": "^0.0.21",
"@vue-email/render": "^0.0.9",
"@vueuse/core": "^11.1.0",
"@zip.js/zip.js": "^2.8.34",
"ace-builds": "^1.36.2",
"ansi-to-html": "^0.7.2",
"chart.js": "^4.5.1",
+28 -1
View File
@@ -19,6 +19,26 @@ export interface InferredVersionInfo {
game_versions?: string[]
}
async function readMrpackManifest(rawFile: RawFile): Promise<string> {
const { BlobReader, TextWriter, ZipReader } = await import('@zip.js/zip.js')
const reader = new ZipReader(new BlobReader(rawFile))
try {
const entries = await reader.getEntries()
const manifest = entries.find(
(entry) => !entry.directory && entry.filename === 'modrinth.index.json',
)
if (!manifest || manifest.directory) {
throw new Error('Missing modrinth.index.json')
}
return await manifest.getData(new TextWriter())
} finally {
await reader.close()
}
}
/**
* Fills in missing version information from the filename if not already present.
*/
@@ -56,11 +76,18 @@ export const inferVersionInfo = async function (
const simplifiedGameVersions = gameVersions
.filter((it) => it.version_type === 'release')
.map((it) => it.version)
const loaderParsers = createLoaderParsers(project, gameVersions, simplifiedGameVersions)
const fileName = rawFile.name.toLowerCase()
if (fileName.endsWith('.mrpack') || fileName.endsWith('.mrpack-primary')) {
const manifest = await readMrpackManifest(rawFile)
const result = loaderParsers['modrinth.index.json'](manifest)
return fillMissingFromFilename(result, rawFile.name, project.title)
}
const zipReader = new JSZip()
const zip = await zipReader.loadAsync(rawFile)
const loaderParsers = createLoaderParsers(project, gameVersions, simplifiedGameVersions)
const packParser = createPackParser(project, gameVersions, rawFile)
const multiFileDetectors = createMultiFileDetectors(project, gameVersions, rawFile)
@@ -84,6 +84,8 @@ pub enum DelphiSeverity {
High,
#[serde(alias = "SEVERE")]
Severe,
#[serde(alias = "MALWARE")]
Malware,
}
/// An issue found in a Delphi report. Every issue belongs to a report,