Brings in the stripped v0.16.25 snapshot (72f8ddd), a bug-fix release:
DKIM rotation (keys retired before their successor is published, keys
made under manual DNS never rotating, manual DNS activating an
unpublished key), IMAP answering failed logins with an untagged NO,
DNSBL scoring only the first return code and caching "not listed" for
24 hours, Pyzor digesting empty input, queue quotas with an empty match
never enforced, RocksDB's info log growing without limit, MaskedEmail
creation with several domains, and Autodiscover answering other schemas
with the Outlook settings.
Conflicts:
- crates/main/Cargo.toml: inbuxa's name and AGPL-only license, version
0.16.25.
- SECURITY.md and .github/PULL_REQUEST_TEMPLATE.md: inbuxa's own.
- Cargo.lock: upstream's, re-resolved against inbuxa's manifests.
- crates/common/src/network/autoconfig/autodiscover.rs: upstream now
parses the request into a struct, so the legacy-protocol switch
(LP-7) reads the address from request.email; ActiveSync and other
schemas get upstream's error 601 untouched.
- resources/schema: unchanged upstream apart from two labels the rename
pass now covers, which main already had.
AGENTS.md, new upstream, is left out: it is about contributing to
upstream, which doesn't apply to this repository.
68 lines
2.4 KiB
YAML
68 lines
2.4 KiB
YAML
name: Auto-close untriaged issues
|
|
|
|
on:
|
|
issues:
|
|
types: [opened, reopened]
|
|
|
|
permissions:
|
|
issues: write
|
|
|
|
jobs:
|
|
auto-close:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Close issues from non-allowed authors
|
|
uses: actions/github-script@v9
|
|
with:
|
|
script: |
|
|
// Users allowed to open issues directly. All other authors will have
|
|
// their issues auto-closed. Add GitHub usernames (lowercase) here to
|
|
// grant additional contributors permission to open issues.
|
|
const allowedAuthors = [
|
|
'mdecimus',
|
|
];
|
|
|
|
const issue = context.payload.issue;
|
|
const author = (issue.user && issue.user.login) || '';
|
|
|
|
if (allowedAuthors.includes(author.toLowerCase())) {
|
|
core.info(`Issue #${issue.number} opened by allowed author '${author}'. Skipping.`);
|
|
return;
|
|
}
|
|
|
|
const comment = [
|
|
`Hi @${author}, thanks for taking the time to file this report.`,
|
|
``,
|
|
`This issue is being **automatically closed** because all bug reports must first be triaged at our support portal: **[support.stalw.art](https://support.stalw.art)**. Please re-post this report there so that a maintainer can review it; once confirmed as a bug, an Issue will be created on your behalf.`,
|
|
``,
|
|
`You can sign in to support.stalw.art with your existing GitHub account, so no separate registration is required.`,
|
|
``,
|
|
`Thank you for understanding.`,
|
|
].join('\n');
|
|
|
|
await github.rest.issues.createComment({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
body: comment,
|
|
});
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
state: 'closed',
|
|
state_reason: 'not_planned',
|
|
});
|
|
|
|
try {
|
|
await github.rest.issues.lock({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: issue.number,
|
|
lock_reason: 'off-topic',
|
|
});
|
|
} catch (err) {
|
|
core.warning(`Could not lock issue #${issue.number}: ${err.message}`);
|
|
}
|