Merge branch 'main' into v7.3.3
This commit is contained in:
commit
c5a6563d0c
@ -443,6 +443,12 @@
|
|||||||
"domain": "staylibere.com",
|
"domain": "staylibere.com",
|
||||||
"selector": "[class*=\"LayoutCookieBanner_buttons\"] > button:last-child"
|
"selector": "[class*=\"LayoutCookieBanner_buttons\"] > button:last-child"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"action": "reset",
|
||||||
|
"domain": "thetvdb.com",
|
||||||
|
"property": "overflow",
|
||||||
|
"selector": "body"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"action": "click",
|
"action": "click",
|
||||||
"domain": "twitch.tv",
|
"domain": "twitch.tv",
|
||||||
@ -496,6 +502,7 @@
|
|||||||
"||cmp.inmobi.com^",
|
"||cmp.inmobi.com^",
|
||||||
"||cmp.prisa.com^",
|
"||cmp.prisa.com^",
|
||||||
"||cmp.uniconsent.com^",
|
"||cmp.uniconsent.com^",
|
||||||
|
"||cms.static-bahn.de/cms/consent-layer^",
|
||||||
"||consent.cookiebot.com^",
|
"||consent.cookiebot.com^",
|
||||||
"||consent.cookiefirst.com^",
|
"||consent.cookiefirst.com^",
|
||||||
"||consent.pdf24.org^",
|
"||consent.pdf24.org^",
|
||||||
@ -507,10 +514,12 @@
|
|||||||
"||cp.as.com^",
|
"||cp.as.com^",
|
||||||
"||cp.inside-digital.de^",
|
"||cp.inside-digital.de^",
|
||||||
"||download.amd.com/OneTrust^",
|
"||download.amd.com/OneTrust^",
|
||||||
|
"||driftingchef.com/static/*/Sticky2,ConsentManager",
|
||||||
"||emp.bbci.co.uk^",
|
"||emp.bbci.co.uk^",
|
||||||
"||eu.fastcmp.com^",
|
"||eu.fastcmp.com^",
|
||||||
"||forum.vorondesign.com/js/xf/notice.min.js^",
|
"||forum.vorondesign.com/js/xf/notice.min.js^",
|
||||||
"||gdpr-tcfv2.sp-prod.net^",
|
"||gdpr-tcfv2.sp-prod.net^",
|
||||||
|
"||get.optad360.io/sf/*/plugin.min.js",
|
||||||
"||ilims.de/typo3conf/ext/nb_cookie_banner^",
|
"||ilims.de/typo3conf/ext/nb_cookie_banner^",
|
||||||
"||itkadmin.de/_javascripts/cookiesolution/es_cookie_solution_sources_v2.js^",
|
"||itkadmin.de/_javascripts/cookiesolution/es_cookie_solution_sources_v2.js^",
|
||||||
"||js.vxcdn.com/usercentrics-sdk^",
|
"||js.vxcdn.com/usercentrics-sdk^",
|
||||||
@ -13988,5 +13997,5 @@
|
|||||||
"ytm-consent-bump-v2-renderer"
|
"ytm-consent-bump-v2-renderer"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"version": "1728035398000"
|
"version": "1728300083309"
|
||||||
}
|
}
|
||||||
|
@ -32,28 +32,33 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
|||||||
const ua = new UAParser(userAgent ?? '').getResult();
|
const ua = new UAParser(userAgent ?? '').getResult();
|
||||||
const hostname = new URL(url).hostname.split('.').slice(-3).join('.').replace('www.', '');
|
const hostname = new URL(url).hostname.split('.').slice(-3).join('.').replace('www.', '');
|
||||||
const existingIssues = await octokit.request('GET /search/issues', {
|
const existingIssues = await octokit.request('GET /search/issues', {
|
||||||
per_page: 1,
|
per_page: 50,
|
||||||
q: `in:title+is:issue+repo:${environment.github.owner}/${environment.github.repo}+${hostname}`,
|
q: `in:title+is:issue+repo:${environment.github.owner}/${environment.github.repo}+${hostname}`,
|
||||||
});
|
});
|
||||||
const existingIssue = existingIssues.data.items[0];
|
const existingIssue = existingIssues.data.items.find(
|
||||||
|
(issue) =>
|
||||||
|
hostname === issue.title &&
|
||||||
|
(issue.state === 'open' ||
|
||||||
|
(issue.state === 'closed' && issue.labels.some((label) => label.name === 'wontfix')))
|
||||||
|
);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (existingIssue) {
|
if (existingIssue) {
|
||||||
if (existingIssue.state === 'closed') {
|
if (existingIssue.state === 'closed') {
|
||||||
await octokit.request('PATCH /repos/{owner}/{repo}/issues/{issue_number}', {
|
await octokit.request('PATCH /repos/{owner}/{repo}/issues/{issue_number}', {
|
||||||
owner: environment.github.owner,
|
|
||||||
repo: environment.github.repo,
|
|
||||||
issue_number: existingIssue.number,
|
issue_number: existingIssue.number,
|
||||||
labels: ['bug'],
|
labels: ['bug'],
|
||||||
|
owner: environment.github.owner,
|
||||||
|
repo: environment.github.repo,
|
||||||
state: 'open',
|
state: 'open',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
await octokit.request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', {
|
await octokit.request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', {
|
||||||
|
body: generateText(request.body, ua),
|
||||||
|
issue_number: existingIssue.number,
|
||||||
owner: environment.github.owner,
|
owner: environment.github.owner,
|
||||||
repo: environment.github.repo,
|
repo: environment.github.repo,
|
||||||
issue_number: existingIssue.number,
|
|
||||||
body: generateText(request.body, ua),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
reply.send({
|
reply.send({
|
||||||
@ -69,7 +74,7 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
|||||||
labels: ['bug'],
|
labels: ['bug'],
|
||||||
owner: environment.github.owner,
|
owner: environment.github.owner,
|
||||||
repo: environment.github.repo,
|
repo: environment.github.repo,
|
||||||
title: url,
|
title: hostname,
|
||||||
});
|
});
|
||||||
|
|
||||||
reply.send({
|
reply.send({
|
||||||
|
@ -23,17 +23,17 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
|||||||
try {
|
try {
|
||||||
const { hostname } = request.params;
|
const { hostname } = request.params;
|
||||||
const existingIssues = await octokit.request('GET /search/issues', {
|
const existingIssues = await octokit.request('GET /search/issues', {
|
||||||
per_page: 1,
|
per_page: 50,
|
||||||
q: `in:title+is:issue+repo:${environment.github.owner}/${environment.github.repo}+${hostname}`,
|
q: `in:title+is:issue+repo:${environment.github.owner}/${environment.github.repo}+${hostname}`,
|
||||||
});
|
});
|
||||||
const existingIssue = existingIssues.data.items[0];
|
const existingIssue = existingIssues.data.items.find(
|
||||||
|
(issue) =>
|
||||||
|
hostname === issue.title &&
|
||||||
|
(issue.state === 'open' ||
|
||||||
|
(issue.state === 'closed' && issue.labels.some((label) => label.name === 'wontfix')))
|
||||||
|
);
|
||||||
|
|
||||||
if (
|
if (existingIssue) {
|
||||||
existingIssue &&
|
|
||||||
(existingIssue.state === 'open' ||
|
|
||||||
(existingIssue.state === 'closed' &&
|
|
||||||
existingIssue.labels.some((label) => label.name === 'wontfix')))
|
|
||||||
) {
|
|
||||||
reply.send({
|
reply.send({
|
||||||
data: {
|
data: {
|
||||||
flags: existingIssue.labels.map((label) => label.name),
|
flags: existingIssue.labels.map((label) => label.name),
|
||||||
|
@ -28,31 +28,73 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
|||||||
validatorCompiler,
|
validatorCompiler,
|
||||||
},
|
},
|
||||||
async (request, reply) => {
|
async (request, reply) => {
|
||||||
const { url, userAgent } = request.body;
|
const { reason, url, userAgent, version } = request.body;
|
||||||
const ua = new UAParser(userAgent ?? '').getResult();
|
const ua = new UAParser(userAgent ?? '').getResult();
|
||||||
const hostname = new URL(url).hostname.split('.').slice(-3).join('.').replace('www.', '');
|
const hostname = new URL(url).hostname.split('.').slice(-3).join('.').replace('www.', '');
|
||||||
const existingIssues = await octokit.request('GET /search/issues', {
|
const existingIssues = await octokit.request('GET /search/issues', {
|
||||||
per_page: 1,
|
per_page: 50,
|
||||||
q: `in:title+is:issue+repo:${environment.github.owner}/${environment.github.repo}+${hostname}`,
|
q: `in:title+is:issue+repo:${environment.github.owner}/${environment.github.repo}+${hostname}`,
|
||||||
});
|
});
|
||||||
const existingIssue = existingIssues.data.items[0];
|
const existingIssue = existingIssues.data.items.find((issue) => hostname === issue.title);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (existingIssue) {
|
if (existingIssue) {
|
||||||
|
if (existingIssue.labels.some((label) => label.name === 'wontfix')) {
|
||||||
reply.send({
|
reply.send({
|
||||||
errors: [`Issue already exists, ${existingIssue.html_url}`],
|
data: existingIssue.html_url,
|
||||||
|
errors: ['This issue has been marked as "wontfix" and will not be addressed.'],
|
||||||
success: false,
|
success: false,
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (existingIssue.state === 'open') {
|
||||||
|
reply.send({
|
||||||
|
data: existingIssue.html_url,
|
||||||
|
errors: [
|
||||||
|
'This issue already exists. Please refer to the existing issue for updates.',
|
||||||
|
],
|
||||||
|
success: false,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await octokit.request('PATCH /repos/{owner}/{repo}/issues/{issue_number}', {
|
||||||
|
issue_number: existingIssue.number,
|
||||||
|
labels: ['bug'],
|
||||||
|
owner: environment.github.owner,
|
||||||
|
repo: environment.github.repo,
|
||||||
|
state: 'open',
|
||||||
|
});
|
||||||
|
|
||||||
|
reply.send({
|
||||||
|
data: existingIssue.html_url,
|
||||||
|
success: true,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const response = await octokit.request('POST /repos/{owner}/{repo}/issues', {
|
const response = await octokit.request('POST /repos/{owner}/{repo}/issues', {
|
||||||
assignees: [environment.github.owner],
|
assignees: [environment.github.owner],
|
||||||
body: generateText(request.body, ua),
|
body: [
|
||||||
|
'## Issue information',
|
||||||
|
...(ua.browser.name && ua.browser.version
|
||||||
|
? ['#### 🖥️ Browser', `${ua.browser.name} (${ua.browser.version})`]
|
||||||
|
: []),
|
||||||
|
...(ua.device.type && ua.device.vendor
|
||||||
|
? ['#### 📱 Device', `${ua.device.vendor} (${ua.device.type})`]
|
||||||
|
: []),
|
||||||
|
'#### 📝 Reason',
|
||||||
|
reason,
|
||||||
|
'#### 🔗 URL',
|
||||||
|
url,
|
||||||
|
'#### 🏷️ Version',
|
||||||
|
version,
|
||||||
|
].join('\n'),
|
||||||
labels: ['bug'],
|
labels: ['bug'],
|
||||||
owner: environment.github.owner,
|
owner: environment.github.owner,
|
||||||
repo: environment.github.repo,
|
repo: environment.github.repo,
|
||||||
title: url,
|
title: hostname,
|
||||||
});
|
});
|
||||||
|
|
||||||
reply.send({
|
reply.send({
|
||||||
@ -70,21 +112,3 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
|||||||
|
|
||||||
done();
|
done();
|
||||||
};
|
};
|
||||||
|
|
||||||
function generateText(body: PostReportBody, ua: UAParser.IResult): string {
|
|
||||||
return [
|
|
||||||
'## Issue information',
|
|
||||||
...(ua.browser.name && ua.browser.version
|
|
||||||
? ['#### 🖥️ Browser', `${ua.browser.name} (${ua.browser.version})`]
|
|
||||||
: []),
|
|
||||||
...(ua.device.type && ua.device.vendor
|
|
||||||
? ['#### 📱 Device', `${ua.device.vendor} (${ua.device.type})`]
|
|
||||||
: []),
|
|
||||||
'#### 📝 Reason',
|
|
||||||
body.reason,
|
|
||||||
'#### 🔗 URL',
|
|
||||||
body.url,
|
|
||||||
'#### 🏷️ Version',
|
|
||||||
body.version,
|
|
||||||
].join('\n');
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user