[skip ci] Nothing (#515)
This commit is contained in:
parent
4e76e8e6e7
commit
b2d7af85c0
7 changed files with 449 additions and 0 deletions
9
.github/ISSUE_TEMPLATE/congif.yml
vendored
Normal file
9
.github/ISSUE_TEMPLATE/congif.yml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: 🧑💻 Dantotsu Help on Discord
|
||||||
|
url: https://discord.com/invite/4HPZ5nAWwM
|
||||||
|
about: Get support, ask questions, and join the community discussions.
|
||||||
|
|
||||||
|
- name: 📱 Dantotsu Help on Telegram
|
||||||
|
url: https://t.me/dantotsuapp
|
||||||
|
about: Connect with the community, ask questions, and get help directly on Telegram.
|
35
.github/ISSUE_TEMPLATE/question.yml
vendored
Normal file
35
.github/ISSUE_TEMPLATE/question.yml
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
name: ❓ Question
|
||||||
|
description: Submit a question or query related to Dantotsu
|
||||||
|
labels: [question]
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: question-details
|
||||||
|
attributes:
|
||||||
|
label: Question Details
|
||||||
|
description: Provide a detailed explanation of your question or query.
|
||||||
|
placeholder: |
|
||||||
|
Example:
|
||||||
|
"How do I customize the settings in Dartotsu to optimize performance?"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: related-features
|
||||||
|
attributes:
|
||||||
|
label: Related Features (if applicable)
|
||||||
|
description: Mention any specific feature or section of Dantotsu related to your question.
|
||||||
|
placeholder: |
|
||||||
|
Example: "Settings > Performance"
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: submission-checklist
|
||||||
|
attributes:
|
||||||
|
label: Submission Checklist
|
||||||
|
description: Review the following items before submitting your question.
|
||||||
|
options:
|
||||||
|
- label: I have searched existing issues to see if this question has already been answered.
|
||||||
|
required: true
|
||||||
|
- label: I have provided a clear and concise question title.
|
||||||
|
required: true
|
||||||
|
- label: I have provided all relevant details to understand my question fully.
|
||||||
|
required: true
|
101
.github/ISSUE_TEMPLATE/report_issue.yml
vendored
Normal file
101
.github/ISSUE_TEMPLATE/report_issue.yml
vendored
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
name: 🐛 Issue Report
|
||||||
|
description: Report a bug or problem in Dantotsu
|
||||||
|
labels: [bug]
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: steps-to-reproduce
|
||||||
|
attributes:
|
||||||
|
label: Steps to Reproduce
|
||||||
|
description: Outline the steps needed to trigger the issue.
|
||||||
|
placeholder: |
|
||||||
|
Example:
|
||||||
|
1. Navigate to the home screen.
|
||||||
|
2. Click on "Start."
|
||||||
|
3. Observe the error message.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: expected-outcome
|
||||||
|
attributes:
|
||||||
|
label: Expected Outcome
|
||||||
|
description: Describe what you expected to happen.
|
||||||
|
placeholder: |
|
||||||
|
Example:
|
||||||
|
"The application should have successfully loaded the dashboard..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: actual-outcome
|
||||||
|
attributes:
|
||||||
|
label: Actual Outcome
|
||||||
|
description: Detail what actually occurred when following the steps.
|
||||||
|
placeholder: |
|
||||||
|
Example:
|
||||||
|
"The app crashed and displayed an error message instead..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: error-logs
|
||||||
|
attributes:
|
||||||
|
label: Error Logs (if applicable)
|
||||||
|
description: |
|
||||||
|
If the issue involves crashes, please attach relevant logs. Access them via **Settings → About → Log to file → Share**.
|
||||||
|
placeholder: |
|
||||||
|
Paste the logs here or upload as an attachment.
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: dartotsu-version
|
||||||
|
attributes:
|
||||||
|
label: Dartotsu Version
|
||||||
|
description: Specify the version of Dartotsu in which the issue occurred.
|
||||||
|
placeholder: |
|
||||||
|
Example: "1.2.3"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: os-version
|
||||||
|
attributes:
|
||||||
|
label: Operating System Version
|
||||||
|
description: Mention the OS version you are using.
|
||||||
|
placeholder: |
|
||||||
|
Example: "Android 12"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: device-info
|
||||||
|
attributes:
|
||||||
|
label: Device Information
|
||||||
|
description: Provide your device name and model.
|
||||||
|
placeholder: |
|
||||||
|
Example: "Samsung Galaxy S21"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additional-information
|
||||||
|
attributes:
|
||||||
|
label: Additional Information
|
||||||
|
placeholder: |
|
||||||
|
Include any other relevant details or attachments that may help diagnose the issue.
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: submission-checklist
|
||||||
|
attributes:
|
||||||
|
label: Submission Checklist
|
||||||
|
description: Ensure you've reviewed these items before submitting your report.
|
||||||
|
options:
|
||||||
|
- label: I have searched existing issues to confirm this is not a duplicate.
|
||||||
|
required: true
|
||||||
|
- label: I have provided a clear and descriptive title.
|
||||||
|
required: true
|
||||||
|
- label: I am using the **[latest](https://github.com/rebelonion/Dantotsu/latest)** version of Dantotsu. If not, I have provided a reason for not updating.
|
||||||
|
required: true
|
||||||
|
- label: I have updated all relevant extensions or dependencies.
|
||||||
|
required: true
|
||||||
|
- label: I have filled out all the requested information accurately.
|
||||||
|
required: true
|
54
.github/ISSUE_TEMPLATE/request_feature.yml
vendored
Normal file
54
.github/ISSUE_TEMPLATE/request_feature.yml
vendored
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
name: 🚀 Feature Request
|
||||||
|
description: Propose a new feature to enhance Dantotsu
|
||||||
|
labels: [enhancement]
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: feature-summary
|
||||||
|
attributes:
|
||||||
|
label: Feature Summary
|
||||||
|
description: Provide a concise summary of the feature you'd like to see.
|
||||||
|
placeholder: |
|
||||||
|
Example:
|
||||||
|
"Add support for dark mode..."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: detailed-description
|
||||||
|
attributes:
|
||||||
|
label: Detailed Description
|
||||||
|
description: Elaborate on how this feature should function and its potential impact.
|
||||||
|
placeholder: |
|
||||||
|
Example:
|
||||||
|
"The dark mode should automatically activate based on system settings..."
|
||||||
|
value: |
|
||||||
|
### Current Behavior
|
||||||
|
- Describe the current functionality or lack thereof.
|
||||||
|
|
||||||
|
### Proposed Solution
|
||||||
|
- Detail how the feature should work and any potential benefits.
|
||||||
|
|
||||||
|
### Considerations
|
||||||
|
- Mention any potential challenges or alternatives.
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: Provide any other information, relevant screenshots, or references.
|
||||||
|
placeholder: "Include links to relevant resources, external tools, or related issues."
|
||||||
|
|
||||||
|
- type: checkboxes
|
||||||
|
id: checklist
|
||||||
|
attributes:
|
||||||
|
label: Submission Checklist
|
||||||
|
description: Ensure you've completed these before submitting.
|
||||||
|
options:
|
||||||
|
- label: I have searched the existing issues and confirm that this feature has not been requested before.
|
||||||
|
required: true
|
||||||
|
- label: I have provided a clear and descriptive title.
|
||||||
|
required: true
|
||||||
|
- label: I am using the **[latest](https://github.com/rebelonion/Dantotsu/releases/latest)** version of Dantotsu. If not, I have provided a reason for using an older version.
|
||||||
|
required: true
|
||||||
|
- label: I understand that not all feature requests will be accepted, and if declined, I won't resubmit the same request.
|
||||||
|
required: true
|
84
.github/workflows/bug_greetings.yml
vendored
Normal file
84
.github/workflows/bug_greetings.yml
vendored
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
name: Bug Report Greeting
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
jobs:
|
||||||
|
greeting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Check if the issue is labeled as a Bug Report
|
||||||
|
id: check_bug_label
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH")
|
||||||
|
LABELS=$(gh issue view $ISSUE_NUMBER --json labels --jq '.labels[].name')
|
||||||
|
|
||||||
|
if echo "$LABELS" | grep -q 'bug'; then
|
||||||
|
echo "This issue is labeled as a bug report. Checking if the issue creator is the repository owner."
|
||||||
|
echo "skip_label_check=false" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "This issue is not labeled as a bug report. Skipping greeting message."
|
||||||
|
echo "skip_label_check=true" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Check if the issue creator is the repo owner
|
||||||
|
if: env.skip_label_check == 'false'
|
||||||
|
id: check_owner
|
||||||
|
run: |
|
||||||
|
ISSUE_AUTHOR=$(jq -r '.issue.user.login' "$GITHUB_EVENT_PATH")
|
||||||
|
REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH")
|
||||||
|
if [ "$ISSUE_AUTHOR" = "$REPO_OWNER" ]; then
|
||||||
|
echo "The issue creator is the repository owner. Skipping greeting message."
|
||||||
|
echo "skip=true" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "The issue creator is not the repository owner. Checking for previous bug reports..."
|
||||||
|
echo "skip=false" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Check if the user has submitted a bug report before
|
||||||
|
if: env.skip == 'false'
|
||||||
|
id: check_first_bug_report
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
ISSUE_AUTHOR=$(jq -r '.issue.user.login' "$GITHUB_EVENT_PATH")
|
||||||
|
ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH")
|
||||||
|
|
||||||
|
# Get all issues (both open and closed) by the author except the current one
|
||||||
|
PREVIOUS_REPORTS=$(gh issue list --author "$ISSUE_AUTHOR" --label "Bug" --state all --json number --jq '. | map(select(.number != '$ISSUE_NUMBER')) | length')
|
||||||
|
echo "User $ISSUE_AUTHOR has submitted $PREVIOUS_REPORTS bug report(s) previously"
|
||||||
|
|
||||||
|
if [ "$PREVIOUS_REPORTS" -eq 0 ]; then
|
||||||
|
echo "This is the user's first bug report. Sending greeting message."
|
||||||
|
echo "skip_first_report=false" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "User has previous bug reports. Skipping greeting message."
|
||||||
|
echo "skip_first_report=true" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Send Greeting Message
|
||||||
|
if: env.skip_label_check == 'false' && env.skip != 'true' && env.skip_first_report != 'true'
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const issueNumber = context.payload.issue.number;
|
||||||
|
const message = `
|
||||||
|
**🛠️ Thank you for reporting a bug!**
|
||||||
|
Your issue has been successfully submitted and is now awaiting review. We appreciate your help in making Dantotsu better.
|
||||||
|
**🔍 What Happens Next**
|
||||||
|
- Our team will investigate the issue and provide updates as soon as possible.
|
||||||
|
- You may be asked for additional details or clarification if needed.
|
||||||
|
- Once resolved, we'll notify you of the fix or provide a workaround.
|
||||||
|
**👥 Connect with Us**
|
||||||
|
- **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Engage with our community and ask questions.
|
||||||
|
- **[Telegram](https://t.me/dantotsuapp)**: Reach out for real-time discussions and updates.
|
||||||
|
We're working hard to resolve the issue and appreciate your patience!
|
||||||
|
`;
|
||||||
|
await github.rest.issues.createComment({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: issueNumber,
|
||||||
|
body: message
|
||||||
|
});
|
86
.github/workflows/feature_greetings.yml
vendored
Normal file
86
.github/workflows/feature_greetings.yml
vendored
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
name: Feature Request Greeting
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
greeting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Check if the issue is labeled as a Feature Request
|
||||||
|
id: check_feature_label
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH")
|
||||||
|
LABELS=$(gh issue view $ISSUE_NUMBER --json labels --jq '.labels[].name')
|
||||||
|
|
||||||
|
if echo "$LABELS" | grep -q 'enhancement'; then
|
||||||
|
echo "This issue is labeled as a feature request. Checking if the issue creator is the repository owner."
|
||||||
|
echo "skip_label_check=false" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "This issue is not labeled as a feature request. Skipping greeting message."
|
||||||
|
echo "skip_label_check=true" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Check if the user has submitted a feature request before
|
||||||
|
if: env.skip_label_check == 'false'
|
||||||
|
id: check_first_request
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
ISSUE_AUTHOR=$(jq -r '.issue.user.login' "$GITHUB_EVENT_PATH")
|
||||||
|
REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH")
|
||||||
|
ISSUE_NUMBER=$(jq -r '.issue.number' "$GITHUB_EVENT_PATH")
|
||||||
|
|
||||||
|
if [ "$ISSUE_AUTHOR" = "$REPO_OWNER" ]; then
|
||||||
|
echo "The issue creator is the repository owner. Skipping greeting message."
|
||||||
|
echo "skip_first_request=true" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "Checking for previous feature requests..."
|
||||||
|
# Get all issues (both open and closed) by the author except the current one
|
||||||
|
PREVIOUS_REQUESTS=$(gh issue list --author "$ISSUE_AUTHOR" --label "New Feature" --state all --json number --jq '. | map(select(.number != '$ISSUE_NUMBER')) | length')
|
||||||
|
echo "User $ISSUE_AUTHOR has submitted $PREVIOUS_REQUESTS feature request(s) previously"
|
||||||
|
|
||||||
|
if [ "$PREVIOUS_REQUESTS" -eq 0 ]; then
|
||||||
|
echo "This is the user's first feature request. Sending greeting message."
|
||||||
|
echo "skip_first_request=false" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "User has previous feature requests. Skipping greeting message."
|
||||||
|
echo "skip_first_request=true" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Send Greeting Message
|
||||||
|
if: env.skip_label_check == 'false' && env.skip_first_request == 'false'
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const issueNumber = context.payload.issue.number;
|
||||||
|
const message = `
|
||||||
|
**💡 Thank you for your feature request!**
|
||||||
|
Your request has been successfully submitted and is now under consideration. We value your input in shaping the future of Dantotsu.
|
||||||
|
|
||||||
|
**📈 What to Expect Next**
|
||||||
|
- Our team will review your request and assess its feasibility.
|
||||||
|
- We may reach out for additional details or clarification.
|
||||||
|
- Updates on the request will be provided, and it may be scheduled for future development.
|
||||||
|
|
||||||
|
**👥 Stay Connected**
|
||||||
|
- **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Join our community to discuss ideas and stay updated.
|
||||||
|
- **[Telegram](https://t.me/dantotsuapp)**: Connect with us directly for real-time updates.
|
||||||
|
|
||||||
|
We appreciate your suggestion and look forward to potentially implementing it!
|
||||||
|
`;
|
||||||
|
await github.rest.issues.createComment({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: issueNumber,
|
||||||
|
body: message
|
||||||
|
});
|
80
.github/workflows/pr_greetings.yml
vendored
Normal file
80
.github/workflows/pr_greetings.yml
vendored
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
name: PR Greetings
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened]
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
greeting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Check if the PR creator is the repo owner or Weblate
|
||||||
|
id: check_owner
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
PR_AUTHOR=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH")
|
||||||
|
REPO_OWNER=$(jq -r '.repository.owner.login' "$GITHUB_EVENT_PATH")
|
||||||
|
|
||||||
|
if [ "$PR_AUTHOR" = "$REPO_OWNER" ] || [ "$PR_AUTHOR" = "weblate" ]; then
|
||||||
|
echo "The PR creator is the repository owner or Weblate. Skipping greeting message."
|
||||||
|
echo "skip=true" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "The PR creator is not the repository owner or Weblate. Checking for previous PRs..."
|
||||||
|
|
||||||
|
# Check for both open and closed pull requests by the author
|
||||||
|
OPEN_PRS=$(gh pr list --author "$PR_AUTHOR" --state open --json number --jq '. | length')
|
||||||
|
CLOSED_PRS=$(gh pr list --author "$PR_AUTHOR" --state closed --json number --jq '. | length')
|
||||||
|
TOTAL_PRS=$((OPEN_PRS + CLOSED_PRS))
|
||||||
|
|
||||||
|
echo "User $PR_AUTHOR has created $TOTAL_PRS pull request(s) in total"
|
||||||
|
echo "Open PRs: $OPEN_PRS"
|
||||||
|
echo "Closed PRs: $CLOSED_PRS"
|
||||||
|
|
||||||
|
if [ "$TOTAL_PRS" -eq 1 ]; then
|
||||||
|
echo "This is the user's first pull request. Sending greeting message."
|
||||||
|
echo "skip=false" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "User has previous pull requests. Skipping greeting message."
|
||||||
|
echo "skip=true" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Send Greeting Message
|
||||||
|
if: env.skip != 'true'
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const prNumber = context.payload.pull_request.number;
|
||||||
|
const message = `
|
||||||
|
**🎉 Thank you for your contribution!**
|
||||||
|
|
||||||
|
Your Pull Request has been successfully submitted and is now awaiting review. We truly appreciate your efforts to improve Dantotsu.
|
||||||
|
|
||||||
|
**👥 Connect with the Community**
|
||||||
|
|
||||||
|
While you're here, why not join our communities to stay engaged?
|
||||||
|
- **[Discord](https://discord.com/invite/4HPZ5nAWwM)**: Chat with fellow developers, ask questions, and get the latest updates.
|
||||||
|
- **[Telegram](https://t.me/dantotsuapp)**: Connect directly with us for real-time discussions and updates.
|
||||||
|
|
||||||
|
**📋 What to Expect Next**
|
||||||
|
- Our team will review your pull request as soon as possible.
|
||||||
|
- You'll receive notifications if further information or changes are needed.
|
||||||
|
- Once approved, your changes will be merged into the main project.
|
||||||
|
|
||||||
|
We're excited to collaborate with you. Stay tuned for updates!
|
||||||
|
`;
|
||||||
|
|
||||||
|
await github.rest.issues.createComment({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: prNumber,
|
||||||
|
body: message
|
||||||
|
});
|
Loading…
Add table
Add a link
Reference in a new issue