Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
eb1b021
chore(deps): bump actions/setup-python from 5 to 6
dependabot[bot] Mar 23, 2026
df530e8
chore(deps): bump anchore/sbom-action from 0.23.1 to 0.24.0
dependabot[bot] Mar 23, 2026
c87bf98
chore(deps): bump marocchino/sticky-pull-request-comment from 2 to 3
dependabot[bot] Mar 23, 2026
a42a8f8
chore(deps): bump @tanstack/react-query from 5.91.2 to 5.95.0
dependabot[bot] Mar 23, 2026
bdfca1f
chore(deps): bump jose from 6.2.1 to 6.2.2
dependabot[bot] Mar 23, 2026
c2bd7f6
Merge pull request #88 from jordanlambrecht/dependabot/github_actions…
jordanlambrecht Mar 23, 2026
f3e0c80
Merge pull request #93 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 23, 2026
0278f23
Merge pull request #91 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 23, 2026
2324e55
Merge pull request #90 from jordanlambrecht/dependabot/github_actions…
jordanlambrecht Mar 23, 2026
1fe59bc
Merge pull request #89 from jordanlambrecht/dependabot/github_actions…
jordanlambrecht Mar 23, 2026
9250d58
chore(deps): bump next from 16.2.0 to 16.2.1
dependabot[bot] Mar 23, 2026
02b94fd
Merge pull request #92 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 23, 2026
4e09b53
chore(deps-dev): bump knip from 6.0.2 to 6.0.3
dependabot[bot] Mar 23, 2026
69e6a3d
chore(deps): bump @tanstack/react-query from 5.95.0 to 5.95.1
dependabot[bot] Mar 23, 2026
99ec12b
Merge pull request #95 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 24, 2026
fa44bd7
Merge pull request #96 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 24, 2026
3b96ff9
refactor(Dockerfile): cleaned up build stages
jordanlambrecht Mar 24, 2026
bce0854
fix(Dockerfile): update package.json for drizzle-kit with esbuild ove…
jordanlambrecht Mar 24, 2026
d70a9b8
chore(deps-dev): bump typescript from 5.9.3 to 6.0.2
dependabot[bot] Mar 24, 2026
f9650b0
chore(deps): bump @tanstack/react-query from 5.95.1 to 5.95.2
dependabot[bot] Mar 24, 2026
79f9baa
chore(deps-dev): bump knip from 6.0.3 to 6.0.4
dependabot[bot] Mar 24, 2026
4644b6f
Merge pull request #98 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 24, 2026
d4adf4a
Merge pull request #99 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 24, 2026
0fb1290
Merge pull request #97 from jordanlambrecht/dependabot/npm_and_yarn/d…
jordanlambrecht Mar 25, 2026
b2a7902
fix(auth): decouple cookie secure flag from node_env for self-hosted …
jordanlambrecht Mar 25, 2026
d1cc79d
chore(release): 2.4.2
jordanlambrecht Mar 25, 2026
baeacd7
chore(deps-dev): bump vitest from 4.1.0 to 4.1.1
dependabot[bot] Mar 25, 2026
0275b2e
Merge pull request #100 from jordanlambrecht/dependabot/npm_and_yarn/…
jordanlambrecht Mar 25, 2026
d2cd450
fix(Icons): update DownloadArrowIcon stroke width
jordanlambrecht Mar 26, 2026
636d227
feat(schema): add daily checkpoint tables and TodayAtAGlance types
jordanlambrecht Mar 26, 2026
cf54c7f
fix(auth): return 401 on stale session instead of misleading credenti…
jordanlambrecht Mar 26, 2026
d3826a1
feat(dashboard): add Today At A Glance server logic, checkpoints, and…
jordanlambrecht Mar 26, 2026
84c5227
feat(dashboard): add Today At A Glance UI
jordanlambrecht Mar 26, 2026
2d0b22a
fix(ui): prevent StatCard DOM prop leak
jordanlambrecht Mar 26, 2026
119637c
style(sidebar): add image priority attr and inline logout/settings bu…
jordanlambrecht Mar 26, 2026
5a95cd0
fix(api): improve session expiration error message
jordanlambrecht Mar 26, 2026
edc10a3
style(docs): fixed indentation issue
jordanlambrecht Mar 26, 2026
e57fa07
chore(deps-dev): bump knip from 6.0.5 to 6.0.6
dependabot[bot] Mar 26, 2026
b0a7688
Merge pull request #105 from jordanlambrecht/dependabot/npm_and_yarn/…
jordanlambrecht Mar 26, 2026
9f60ad6
chore(deps-dev): bump @biomejs/biome from 2.4.8 to 2.4.9
dependabot[bot] Mar 26, 2026
85e553c
Merge pull request #104 from jordanlambrecht/dependabot/npm_and_yarn/…
jordanlambrecht Mar 26, 2026
4238de1
chore(deps): bump the npm_and_yarn group across 1 directory with 2 up…
dependabot[bot] Mar 26, 2026
829d823
chore(release): 2.5.0
jordanlambrecht Mar 26, 2026
19affbf
chore: package bumps
jordanlambrecht Mar 26, 2026
58ba421
Merge branch 'main' into development
jordanlambrecht Mar 26, 2026
15eb043
fix: error logging for BigInt conversion failures in computeTodayAtAG…
jordanlambrecht Mar 26, 2026
5508eb8
Merge branch 'development' of github.com:jordanlambrecht/tracker-trac…
jordanlambrecht Mar 26, 2026
46d4ce3
Merge branch 'development' into dependabot/npm_and_yarn/npm_and_yarn-…
jordanlambrecht Mar 26, 2026
baa21fe
Merge pull request #106 from jordanlambrecht/dependabot/npm_and_yarn/…
jordanlambrecht Mar 26, 2026
63acb16
chore: package bumps
jordanlambrecht Mar 26, 2026
e91b30a
fix: error logging for BigInt conversion failures
jordanlambrecht Mar 26, 2026
11d93fe
chore: they call me the Dead Code Detective
jordanlambrecht Mar 26, 2026
303c6f5
fix: update drizzle-kit, drizzle-orm, and postgres to specific versio…
jordanlambrecht Mar 26, 2026
60f5786
fix: ensure backfill flag is set after successful checkpoint backfill
jordanlambrecht Mar 26, 2026
0b07d40
fix: improve error handling for decryption failures in fetchAndMergeT…
jordanlambrecht Mar 26, 2026
90285d6
fix: optimize torrent checkpoint insertion by batching database writes
jordanlambrecht Mar 26, 2026
762988f
fix: normalize tracker tags to lowercase
jordanlambrecht Mar 26, 2026
0b465b6
fix: use localDateStr for cutoff date in pruneOldCheckpoints function
jordanlambrecht Mar 26, 2026
d00700e
chore(ci): add copilot instructions for code reviews
jordanlambrecht Mar 26, 2026
5e6d58e
fix(backups): enforce maximum length for backup password to 128 chara…
jordanlambrecht Mar 26, 2026
9080e20
chore(ci): whoops wrong spot
jordanlambrecht Mar 26, 2026
67ff496
feat(settings): display database size
jordanlambrecht Mar 26, 2026
23b4cae
feat(security): enhance security audit checks and improve vulnerabili…
jordanlambrecht Mar 26, 2026
7f7b202
fix(errors): improve error handling and logging for backup and tracke…
jordanlambrecht Mar 26, 2026
7e5f470
chore(deps): bump the npm_and_yarn group across 1 directory with 2 up…
dependabot[bot] Mar 26, 2026
692d312
feat(mam): add MyAnonaMouse adapter
jordanlambrecht Mar 26, 2026
2b210d7
feat(mam): add bonus cap, VIP expiry, unsatisfied limit, and active H…
jordanlambrecht Mar 26, 2026
3bb280e
feat(mam): add platform UI with health overview, badges, and FL Wedge…
jordanlambrecht Mar 26, 2026
c3d9031
refactor: reuse ProgressBar component and extract slot-label utility
jordanlambrecht Mar 26, 2026
0e28443
feat(mam): add Mousehole integration
jordanlambrecht Mar 26, 2026
7faa708
docs(mam): add API response reference, platform differences, and setu…
jordanlambrecht Mar 26, 2026
ab576d8
chore: linting
jordanlambrecht Mar 26, 2026
07e72a8
docs: update MyAnonaMouse tracker link
jordanlambrecht Mar 26, 2026
8cff4ee
fix: update VALID_PLATFORMS to use VALID_PLATFORM_TYPES constant
jordanlambrecht Mar 26, 2026
0c2bb0f
Merge pull request #107 from jordanlambrecht/dependabot/npm_and_yarn/…
jordanlambrecht Mar 26, 2026
8cd5884
chore: prettier
jordanlambrecht Mar 26, 2026
815b479
fix: resolve lint warnings, Copilot review issues, remove dead code, …
jordanlambrecht Mar 27, 2026
dd7e536
chore(release): 2.6.0
jordanlambrecht Mar 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ TZ=America/Chicago

# PORT=3000
# BASE_URL=https://trackertracker.example.com
# SECURE_COOKIES=true
# LOG_LEVEL=debug
# POSTGRES_DB=tracker_tracker

2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: "3.x"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/knip-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
fi

- name: Post PR Comment
uses: marocchino/sticky-pull-request-comment@v2
uses: marocchino/sticky-pull-request-comment@v3
with:
header: knip-report
path: knip-report.md
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:

- name: Generate SBOM
if: steps.tag.outputs.should_release == 'true'
uses: anchore/sbom-action@v0.23.1
uses: anchore/sbom-action@v0.24.0
with:
image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.version }}
artifact-name: sbom-tracker-tracker.spdx.json
Expand Down
25 changes: 20 additions & 5 deletions .github/workflows/security-audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check for known dependency vulnerabilities
run: pnpm audit --audit-level=high || echo "::warning::pnpm audit found high-severity vulnerabilities"

- name: Verify security test count
run: |
COUNT=$(pnpm test:run -- src/lib/__tests__/security.test.ts 2>&1 \
Expand All @@ -37,19 +40,31 @@ jobs:
| grep -oE '[0-9]+ test' \
| grep -oE '[0-9]+')
echo "Security tests: $COUNT"
if [ "$COUNT" -lt 98 ]; then
echo "::error::Security test count dropped below expected minimum (98). Was a test removed?"
if [ "$COUNT" -lt 106 ]; then
echo "::error::Security test count dropped below expected minimum (106). Was a test removed?"
exit 1
fi

- name: Run security audit
id: security-audit
continue-on-error: true
run: |
pnpm exec tsx scripts/security-audit.ts > /tmp/security-results.json
echo "exit_code=$?" >> "$GITHUB_OUTPUT"
pnpm exec tsx scripts/security-audit.ts > /tmp/security-results.json; echo "audit_exit=$?" >> "$GITHUB_OUTPUT"
cat /tmp/security-results.json

- name: Verify audit check count
run: |
if [ ! -f /tmp/security-results.json ]; then
echo "::error::Security audit produced no output"
exit 1
fi
TOTAL=$(python3 -c "import json; print(json.load(open('/tmp/security-results.json'))['summary']['total'])")
echo "Audit checks: $TOTAL"
if [ "$TOTAL" -lt 36 ]; then
echo "::error::Audit check count dropped below expected minimum (36). Was a check removed?"
exit 1
fi

- name: Comment on PR with security audit results
if: github.event_name == 'pull_request'
uses: actions/github-script@v8
Expand Down Expand Up @@ -214,5 +229,5 @@ jobs:
}

- name: Fail if security audit has critical findings
if: steps.security-audit.outcome == 'failure'
if: steps.security-audit.outputs.audit_exit != '0'
run: exit 1
4 changes: 3 additions & 1 deletion .markdownlint.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"MD013": false,
"MD024": false,
"MD025": false
"MD025": false,
"MD033": false,
"MD041": false
}
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# docs/**/*.md
15 changes: 10 additions & 5 deletions .trivyignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
# Alpine zlib — fix requires base image rebuild. Will resolve when node:24-alpine or node:25-alpine ships with zlib 1.3.2-r0.
# Alpine zlib — fix requires base image rebuild. Will resolve when node:24-alpine ships with zlib 1.3.2-r0.
CVE-2026-22184

# minimatch — transitive via npm internals. No direct dep to bump.
# minimatch — transitive via npm internals baked into base image. Stripped from runner but may appear in intermediate stages.
CVE-2026-26996
CVE-2026-27903
CVE-2026-27904

# node-tar — transitive via npm internals. No direct dep to bump.
# node-tar — transitive via npm internals baked into base image. Stripped from runner but may appear in intermediate stages.
CVE-2026-26960
CVE-2026-29786
CVE-2026-31802

# esbuild Go stdlib — build tool binary, not runtime; CVEs apply to the Go runtime bundled in esbuild (transitive via drizzle-kit).
# Cannot fix until esbuild releases a version compiled with a patched Go toolchain.
# esbuild Go stdlib (1.23.x) — build tool binary in schema-sync, not a runtime service. Runs once at startup for drizzle-kit push.
# Cannot fix until esbuild ships a release built with Go 1.24.13+.
CVE-2025-47912
CVE-2025-58183
CVE-2025-58185
CVE-2025-58186
CVE-2025-58187
Expand All @@ -22,8 +23,12 @@ CVE-2025-58189
CVE-2025-61723
CVE-2025-61724
CVE-2025-61725
CVE-2025-61726
CVE-2025-61727
CVE-2025-61728
CVE-2025-61729
CVE-2025-61730
CVE-2025-68121
CVE-2026-25679
CVE-2026-27139
CVE-2026-27142
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
},
"conventionalCommits.scopes": ["auth"]
}
Loading
Loading