Skip to content

Commit 35ae022

Browse files
committed
Merge branch 'main' into dev
2 parents 9e9d24c + 5b0440f commit 35ae022

File tree

1,560 files changed

+935723
-5
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,560 files changed

+935723
-5
lines changed

.eslintrc 2.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"extends": "next/core-web-vitals",
3+
"rules": {
4+
"@next/next/no-img-element": "off",
5+
"@next/next/no-page-custom-font": "off",
6+
"jsx-a11y/alt-text": "off",
7+
"react/display-name": "off",
8+
"react/no-children-prop": "off",
9+
"react/no-unescaped-entities": "off",
10+
"react/jsx-max-props-per-line": [
11+
0,
12+
{
13+
"maximum": 10
14+
}
15+
]
16+
}
17+
}

.eslintrc 3.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"extends": "next/core-web-vitals",
3+
"rules": {
4+
"@next/next/no-img-element": "off",
5+
"@next/next/no-page-custom-font": "off",
6+
"jsx-a11y/alt-text": "off",
7+
"react/display-name": "off",
8+
"react/no-children-prop": "off",
9+
"react/no-unescaped-entities": "off",
10+
"react/jsx-max-props-per-line": [
11+
0,
12+
{
13+
"maximum": 10
14+
}
15+
]
16+
}
17+
}

.eslintrc 4.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"extends": "next/core-web-vitals",
3+
"rules": {
4+
"@next/next/no-img-element": "off",
5+
"@next/next/no-page-custom-font": "off",
6+
"jsx-a11y/alt-text": "off",
7+
"react/display-name": "off",
8+
"react/no-children-prop": "off",
9+
"react/no-unescaped-entities": "off",
10+
"react/jsx-max-props-per-line": [
11+
0,
12+
{
13+
"maximum": 10
14+
}
15+
]
16+
}
17+
}

.github/ISSUE_TEMPLATE/CLA.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: CLA - Contributor License Agreement
2+
description: Sign the CLA for CIPP and CIPP-API
3+
labels: [CLA]
4+
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: >
9+
CONTRIBUTOR LICENSE AGREEMENT ("Agreement")
10+
11+
Version 1.0
12+
13+
1. Definitions
14+
15+
"Contribution" means any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to Kelvin Tegelaar for inclusion in, or documentation of, any of the products owned or managed by Kelvin Tegelaar (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to Kelvin Tegelaar or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Kelvin Tegelaar for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."
16+
17+
"You" (or "Your") means the copyright owner or legal entity authorized by the copyright owner that is making this Agreement with Kelvin Tegelaar. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single contributor. This Agreement applies both to future Contributions and Contributions made prior to the date of this Agreement.
18+
19+
2. Grant of Copyright License
20+
21+
Subject to the terms and conditions of this Agreement, You hereby grant to Kelvin Tegelaar and to recipients of software distributed by Kelvin Tegelaar a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works for the purpose of dual licensing the application.
22+
23+
3. Grant of Patent License
24+
25+
You grant Kelvin Tegelaar, and those who receive the Contribution directly or indirectly from Kelvin Tegelaar, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under Your patent claims that are necessarily infringed by the Contribution or the combination of the Contribution with the Project to which it was submitted, to make, have made, use, offer to sell, sell, import, and otherwise dispose of the Contribution alone or with the Project.
26+
27+
4. Other Rights Reserved
28+
29+
Each party reserves all rights not expressly granted in this Agreement. No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are granted by implication, exhaustion, estoppel, or otherwise.
30+
31+
You are not expected to provide support for your Contributions, except to the extent you desire to provide
32+
support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in
33+
writing, you provide your Contributions on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
34+
ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES
35+
OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A
36+
PARTICULAR PURPOSE.
37+
38+
5. Representations
39+
40+
You represent that you are legally entitled to grant the above licenses. If your employer(s) has rights to intellectual property that you create, you represent that you have received permission to make Contributions on behalf of that employer, or that your employer has waived such rights for your Contributions to Kelvin Tegelaar.
41+
42+
You represent that each of Your Contributions is Your original creation. You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which you are personally aware and which are associated with any part of Your Contributions.
43+
44+
6. Project Sale
45+
46+
In the event that the Project is sold or otherwise transferred in ownership in its entirety to a third party, a sum equivalent to fifteen percent (15%) of the total sale price or value of the consideration received shall be set aside. This sum shall be divided amongst all Contributors who have entered into this Agreement, with each Contributor receiving a portion proportional to the relative quantity and significance of their Contributions to the Project, as determined by Kelvin Tegelaar. The method and timeframe of the distribution shall be at the discretion of Kelvin Tegelaar and shall be communicated
47+
48+
- type: textarea
49+
attributes:
50+
label: Description
51+
description: >
52+
Type "I Agree" in the text area.
53+
validations:
54+
required: true
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security Reports
4+
url: https://github.com/KelvinTegelaar/CIPP/security/advisories
5+
about: Please report security vulnerabilities here.
6+
- name: Community Discord
7+
url: https://discord.gg/cyberdrain
8+
about: Join our discord community here.
9+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security Reports
4+
url: https://github.com/KelvinTegelaar/CIPP/security/advisories
5+
about: Please report security vulnerabilities here.
6+
- name: Community Discord
7+
url: https://discord.gg/cyberdrain
8+
about: Join our discord community here.
9+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security Reports
4+
url: https://github.com/KelvinTegelaar/CIPP/security/advisories
5+
about: Please report security vulnerabilities here.
6+
- name: Community Discord
7+
url: https://discord.gg/cyberdrain
8+
about: Join our discord community here.
9+

.github/workflows/Close_Stale_Issues_and_PRs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
stale-issue-message: 'This issue is stale because it has been open 10 days with no activity. We will close this issue soon. If you want this feature implemented you can contribute it. See: https://docs.cipp.app/dev-documentation/contributing-to-the-code . Please notify the team if you are working on this yourself.'
1414
close-issue-message: 'This issue was closed because it has been stalled for 14 days with no activity.'
1515
stale-issue-label: 'no-activity'
16-
exempt-issue-labels: 'planned,bug,roadmap'
16+
exempt-issue-labels: 'planned,bug'
1717
days-before-stale: 9
1818
days-before-close: 5
19+
days-before-close: 5
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: "Handle Comment Commands"
2+
3+
on:
4+
issue_comment:
5+
types:
6+
- created
7+
8+
jobs:
9+
handle_comment:
10+
runs-on: ubuntu-latest
11+
# We need permissions to modify issue comments.
12+
# 'issues: write' is required for deleting comments.
13+
permissions:
14+
issues: write
15+
16+
steps:
17+
# 1) If the comment includes '!notasponsor', delete it using GitHub Script
18+
- name: Delete !notasponsor comment
19+
if: contains(github.event.comment.body, '!notasponsor')
20+
uses: actions/github-script@v6
21+
with:
22+
github-token: ${{ secrets.GITHUB_TOKEN }}
23+
script: |
24+
await github.rest.issues.deleteComment({
25+
owner: context.repo.owner,
26+
repo: context.repo.repo,
27+
comment_id: context.payload.comment.id
28+
});
29+
30+
# 2) Post a sponsor-specific reply
31+
- name: Reply to !notasponsor
32+
if: contains(github.event.comment.body, '!notasponsor')
33+
uses: peter-evans/create-or-update-comment@v3
34+
with:
35+
issue-number: ${{ github.event.issue.number }}
36+
body: |
37+
Hello,
38+
39+
Thank you for your interest in improving CIPP!
40+
To keep our development process focused and manageable, **feature requests are limited to paying users**. This policy helps us prioritize improvements that directly benefit those actively supporting CIPP and ensures we can sustain our development and support.
41+
42+
When a sponsor makes a feature request, their support covers training, development, documentation, and security checks. Allowing non-sponsor requests could lead to a backlog that slows down updates and stretches resources thin, ultimately affecting the quality and sustainability of CIPP.
43+
44+
While we’ve closed this request, we appreciate your input. You’re always welcome to participate in ongoing discussions or contribute to open issues. If you are a developer, feel free to open a PR that includes your feature request or comment "**I’d like to work on this!**" to assign the issue to yourself.
45+
46+
**Did you get this notification in error?** Reply with a screenshot of your sponsorship payment and we’ll reopen the issue.
47+
48+
_Thank you for understanding,_
49+
**The CIPP Team**
50+
51+
# 3) If the comment includes '!support', classify as a support request
52+
- name: Reply to !support
53+
if: contains(github.event.comment.body, '!support')
54+
uses: peter-evans/create-or-update-comment@v3
55+
with:
56+
issue-number: ${{ github.event.issue.number }}
57+
body: |
58+
Hello,
59+
60+
Thank you for reaching out! This report has been classified as a **support request** rather than a bug or feature request. To keep our development process focused, support requests are limited to paying users. This policy allows us to prioritize resources for those actively supporting CIPP, helping us maintain high-quality development and support.
61+
62+
Sponsors can contact our helpdesk directly via email for assistance with any issues or questions. For non-sponsor support, please refer to our documentation and community discussions—many questions have been answered there.
63+
64+
**Did you get this notification in error?** Reply with a screenshot of your sponsorship payment, and we’ll gladly reopen the request.
65+
66+
_Thank you for your understanding,_
67+
**The CIPP Team**
68+
69+
# 4) If the comment includes '!incomplete', note the bug or feature request is incomplete
70+
- name: Reply to !incomplete
71+
if: contains(github.event.comment.body, '!incomplete')
72+
uses: peter-evans/create-or-update-comment@v3
73+
with:
74+
issue-number: ${{ github.event.issue.number }}
75+
body: |
76+
Hello,
77+
78+
Thank you for your submission! It appears this **bug report or feature request is incomplete**. We need a clear description, steps to reproduce (for bugs), or a comprehensive overview of the requested feature.
79+
80+
Please submit a new request with all the necessary details. Without sufficient information, it’s difficult for contributors to triage or implement solutions.
81+
82+
_Thank you!_
83+
**The CIPP Team**
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: "Handle Comment Commands"
2+
3+
on:
4+
issue_comment:
5+
types:
6+
- created
7+
8+
jobs:
9+
handle_comment:
10+
runs-on: ubuntu-latest
11+
# We need permissions to modify issue comments.
12+
# 'issues: write' is required for deleting comments.
13+
permissions:
14+
issues: write
15+
16+
steps:
17+
# 1) If the comment includes '!notasponsor', delete it using GitHub Script
18+
- name: Delete !notasponsor comment
19+
if: contains(github.event.comment.body, '!notasponsor')
20+
uses: actions/github-script@v6
21+
with:
22+
github-token: ${{ secrets.GITHUB_TOKEN }}
23+
script: |
24+
await github.rest.issues.deleteComment({
25+
owner: context.repo.owner,
26+
repo: context.repo.repo,
27+
comment_id: context.payload.comment.id
28+
});
29+
30+
# 2) Post a sponsor-specific reply
31+
- name: Reply to !notasponsor
32+
if: contains(github.event.comment.body, '!notasponsor')
33+
uses: peter-evans/create-or-update-comment@v3
34+
with:
35+
issue-number: ${{ github.event.issue.number }}
36+
body: |
37+
Hello,
38+
39+
Thank you for your interest in improving CIPP!
40+
To keep our development process focused and manageable, **feature requests are limited to paying users**. This policy helps us prioritize improvements that directly benefit those actively supporting CIPP and ensures we can sustain our development and support.
41+
42+
When a sponsor makes a feature request, their support covers training, development, documentation, and security checks. Allowing non-sponsor requests could lead to a backlog that slows down updates and stretches resources thin, ultimately affecting the quality and sustainability of CIPP.
43+
44+
While we’ve closed this request, we appreciate your input. You’re always welcome to participate in ongoing discussions or contribute to open issues. If you are a developer, feel free to open a PR that includes your feature request or comment "**I’d like to work on this!**" to assign the issue to yourself.
45+
46+
**Did you get this notification in error?** Reply with a screenshot of your sponsorship payment and we’ll reopen the issue.
47+
48+
_Thank you for understanding,_
49+
**The CIPP Team**
50+
51+
# 3) If the comment includes '!support', classify as a support request
52+
- name: Reply to !support
53+
if: contains(github.event.comment.body, '!support')
54+
uses: peter-evans/create-or-update-comment@v3
55+
with:
56+
issue-number: ${{ github.event.issue.number }}
57+
body: |
58+
Hello,
59+
60+
Thank you for reaching out! This report has been classified as a **support request** rather than a bug or feature request. To keep our development process focused, support requests are limited to paying users. This policy allows us to prioritize resources for those actively supporting CIPP, helping us maintain high-quality development and support.
61+
62+
Sponsors can contact our helpdesk directly via email for assistance with any issues or questions. For non-sponsor support, please refer to our documentation and community discussions—many questions have been answered there.
63+
64+
**Did you get this notification in error?** Reply with a screenshot of your sponsorship payment, and we’ll gladly reopen the request.
65+
66+
_Thank you for your understanding,_
67+
**The CIPP Team**
68+
69+
# 4) If the comment includes '!incomplete', note the bug or feature request is incomplete
70+
- name: Reply to !incomplete
71+
if: contains(github.event.comment.body, '!incomplete')
72+
uses: peter-evans/create-or-update-comment@v3
73+
with:
74+
issue-number: ${{ github.event.issue.number }}
75+
body: |
76+
Hello,
77+
78+
Thank you for your submission! It appears this **bug report or feature request is incomplete**. We need a clear description, steps to reproduce (for bugs), or a comprehensive overview of the requested feature.
79+
80+
Please submit a new request with all the necessary details. Without sufficient information, it’s difficult for contributors to triage or implement solutions.
81+
82+
_Thank you!_
83+
**The CIPP Team**

0 commit comments

Comments
 (0)