diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 98212f28..5060f0d9 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,7 +1,7 @@ -FROM node:21-alpine3.18 +FROM node:22-alpine3.21 RUN apk add --no-cache \ - git \ - nano\ - openssh + git \ + nano \ + openssh USER node diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..2554a0c7 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,5 @@ +# see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +* @pi-hole/web-maintainers diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9dadbca7..3065b13f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,23 +1,19 @@ version: 2 updates: -- package-ecosystem: npm - directory: "/" - schedule: - interval: weekly - day: saturday - time: "10:00" - open-pull-requests-limit: 10 - target-branch: development - versioning-strategy: increase - reviewers: - - "pi-hole/web-maintainers" -- package-ecosystem: github-actions - directory: "/" - schedule: - interval: weekly - day: saturday - time: "10:00" - open-pull-requests-limit: 10 - target-branch: development - reviewers: - - "pi-hole/web-maintainers" + - package-ecosystem: npm + directory: "/" + schedule: + interval: weekly + day: saturday + time: "10:00" + open-pull-requests-limit: 10 + target-branch: development + versioning-strategy: increase + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + day: saturday + time: "10:00" + open-pull-requests-limit: 10 + target-branch: development diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 6c9bc410..4783404f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -31,16 +31,16 @@ jobs: persist-credentials: false - name: Initialize CodeQL - uses: github/codeql-action/init@v3.28.13 + uses: github/codeql-action/init@v3.28.18 with: config-file: ./.github/codeql/codeql-config.yml languages: "javascript" queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@v3.28.13 + uses: github/codeql-action/autobuild@v3.28.18 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3.28.13 + uses: github/codeql-action/analyze@v3.28.18 with: category: "/language:javascript" diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index a7aeda61..f0545956 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -3,7 +3,7 @@ name: Codespell on: push: branches: - - '**' + - "**" pull_request: types: [opened, synchronize, reopened, ready_for_review] @@ -12,11 +12,12 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - - name: Checkout repository + - name: Clone repository uses: actions/checkout@v4.2.2 - - - name: Spell-Checking + with: + persist-credentials: false + + - name: Spell-Checking uses: codespell-project/actions-codespell@master with: ignore_words_file: .codespellignore diff --git a/.github/workflows/editorconfig-checker.yml b/.github/workflows/editorconfig-checker.yml index c67463b0..6aa9f269 100644 --- a/.github/workflows/editorconfig-checker.yml +++ b/.github/workflows/editorconfig-checker.yml @@ -9,6 +9,9 @@ jobs: name: editorconfig-checker runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.2.2 + - name: Clone repository + uses: actions/checkout@v4.2.2 + with: + persist-credentials: false - uses: editorconfig-checker/action-editorconfig-checker@main - run: editorconfig-checker diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index dc06b505..2e87c1f1 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -2,7 +2,7 @@ name: Mark stale issues on: schedule: - - cron: '0 8 * * *' + - cron: "0 8 * * *" workflow_dispatch: issue_comment: @@ -17,17 +17,17 @@ jobs: issues: write steps: - - uses: actions/stale@v9.1.0 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - days-before-stale: 30 - days-before-close: 5 - stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days.' - stale-issue-label: '${{ env.stale_label }}' - exempt-issue-labels: 'internal, Fixed In Next Release, Bug, never-stale' - exempt-all-issue-assignees: true - operations-per-run: 300 - close-issue-reason: 'not_planned' + - uses: actions/stale@v9.1.0 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-stale: 30 + days-before-close: 5 + stale-issue-message: "This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days." + stale-issue-label: "${{ env.stale_label }}" + exempt-issue-labels: "internal, Fixed In Next Release, Bug, never-stale, Bug: Confirmed" + exempt-all-issue-assignees: true + operations-per-run: 300 + close-issue-reason: "not_planned" remove_stale: # trigger "stale" removal immediately when stale issues are commented on @@ -40,8 +40,10 @@ jobs: issues: write # to edit issues label runs-on: ubuntu-latest steps: - - name: Checkout + - name: Clone repository uses: actions/checkout@v4.2.2 + with: + persist-credentials: false - name: Remove 'stale' label run: gh issue edit ${{ github.event.issue.number }} --remove-label ${{ env.stale_label }} env: diff --git a/.github/workflows/stale_pr.yml b/.github/workflows/stale_pr.yml index e446d447..08033013 100644 --- a/.github/workflows/stale_pr.yml +++ b/.github/workflows/stale_pr.yml @@ -5,12 +5,11 @@ name: Close stale PR on: schedule: - - cron: '0 10 * * *' + - cron: "0 10 * * *" workflow_dispatch: jobs: stale: - runs-on: ubuntu-latest permissions: issues: write @@ -27,9 +26,9 @@ jobs: # Close PRs immediately, after marking them 'stale' days-before-pr-close: 0 # only run the action on merge conflict PR - any-of-labels: 'Merge Conflicts' - exempt-pr-labels: 'internal, never-stale, ON HOLD, WIP' + any-of-labels: "Merge Conflicts" + exempt-pr-labels: "internal, never-stale, ON HOLD, WIP" exempt-all-pr-assignees: true operations-per-run: 300 - stale-pr-message: '' - close-pr-message: 'Existing merge conflicts have not been addressed. This PR is considered abandoned.' + stale-pr-message: "" + close-pr-message: "Existing merge conflicts have not been addressed. This PR is considered abandoned." diff --git a/.github/workflows/sync-back-to-dev.yml b/.github/workflows/sync-back-to-dev.yml index cbe3fbc3..0116402c 100644 --- a/.github/workflows/sync-back-to-dev.yml +++ b/.github/workflows/sync-back-to-dev.yml @@ -10,8 +10,10 @@ jobs: runs-on: ubuntu-latest name: Syncing branches steps: - - name: Checkout + - name: Clone repository uses: actions/checkout@v4.2.2 + with: + persist-credentials: false - name: Opening pull request run: gh pr create -B development -H master --title 'Sync master back into development' --body 'Created by Github action' --label 'internal' env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0923091b..0df0b50b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,11 +20,13 @@ jobs: steps: - name: Clone repository uses: actions/checkout@v4.2.2 + with: + persist-credentials: false - name: Set up Node.js - uses: actions/setup-node@v4.3.0 + uses: actions/setup-node@v4.4.0 with: - node-version: "20.x" + node-version: "22.x" cache: npm - name: Install npm dependencies diff --git a/README.md b/README.md index a2a01623..fedd2a19 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ Lists, domains (block or allow) and regex entries can be managed through groups. **Local DNS Settings:** - Local DNS records - - Local CNAME records records + - Local CNAME records **All Settings** (only visible in Expert mode): - Advanced settings page, containing all available options diff --git a/error403.lp b/error403.lp index 82144646..e9e41c51 100644 --- a/error403.lp +++ b/error403.lp @@ -9,7 +9,7 @@ mg.include('scripts/lua/header.lp','r') ?> -
+Total queries
+Total Queries
| Domain | @@ -195,7 +195,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
|---|
| Domain | @@ -226,7 +226,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
|---|
| Client | @@ -255,7 +255,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
|---|
| Client | @@ -279,7 +279,7 @@ mg.include('scripts/lua/header_authenticated.lp','r') - - + + mg.include('scripts/lua/footer.lp','r')?> diff --git a/interfaces.lp b/interfaces.lp index 2d5f02ec..2e1d55b5 100644 --- a/interfaces.lp +++ b/interfaces.lp @@ -30,7 +30,5 @@ mg.include('scripts/lua/header_authenticated.lp','r') - - - + mg.include('scripts/lua/footer.lp','r')?> diff --git a/login.lp b/login.lp index 450cae74..1ac17150 100644 --- a/login.lp +++ b/login.lp @@ -9,7 +9,7 @@ mg.include('scripts/lua/header.lp','r') ?> - +
|---|
| " + span + body + " |
| No activity recorded |