Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1627 commits
Select commit Hold shift + click to select a range
14b5ff0
fix(packaging): ignore migration rollback sidecars
snapetech Oct 26, 2026
5966ef3
docs: correct migration handoff evidence
snapetech Oct 26, 2026
cc6e4a0
docs: record private JIT route census
snapetech Oct 26, 2026
01048fd
docs: refresh channel and JIT acceptance evidence
snapetech Oct 26, 2026
ff6779e
docs: refresh current JIT queue evidence
snapetech Oct 26, 2026
d56286c
docs: correct Packer owner validation evidence
snapetech Oct 26, 2026
23057a6
docs: record transient JIT queue recheck
snapetech Oct 26, 2026
04a19dc
docs: refresh BookshelfNG recovery queue status
snapetech Oct 26, 2026
b34e17a
docs: refresh private JIT target queue status
snapetech Oct 26, 2026
5e370ff
docs: record current JIT repair queue status
snapetech Oct 26, 2026
82fd099
ci: route Windows jobs through Packer JIT
snapetech Oct 26, 2026
e554783
Fix private release workflow tool setup
snapetech Oct 26, 2026
ade69fa
build(deps): bump azure/setup-helm from 4.3.1 to 5.0.1
dependabot[bot] Oct 26, 2026
2ec4885
build(deps): bump aquasecurity/setup-trivy
dependabot[bot] Oct 26, 2026
b1ff9cc
build(deps): bump the actions-minor-patch group with 3 updates
dependabot[bot] Oct 26, 2026
dbbfd52
build(deps): bump the npm-minor-patch group with 4 updates
dependabot[bot] Oct 26, 2026
eb71bbb
build(deps-dev): bump @babel/core from 7.29.6 to 7.29.7
dependabot[bot] Oct 26, 2026
eeb9654
build(deps-dev): bump @babel/preset-typescript from 7.26.0 to 7.29.7
dependabot[bot] Oct 26, 2026
8cf71c0
build(deps-dev): bump postcss-nested from 6.2.0 to 9.0.0
dependabot[bot] Oct 26, 2026
1adb1d9
build(deps): bump react-dnd-multi-backend from 8.0.1 to 9.0.0
dependabot[bot] Oct 26, 2026
4660192
build(deps): bump redux-actions from 2.6.5 to 3.0.3
dependabot[bot] Oct 26, 2026
9b4c169
build(deps-dev): bump stylelint-order from 6.0.4 to 8.1.2
dependabot[bot] Oct 26, 2026
eea8695
build(deps): bump dotnet/aspnet from 10.0.13-noble to 10.0.14-noble
dependabot[bot] Oct 26, 2026
c9a8b15
build(deps): bump dotnet/sdk from 10.0.402 to 10.0.403
dependabot[bot] Oct 26, 2026
071136f
Bump the nuget-minor-patch group with 5 updates
dependabot[bot] Oct 26, 2026
a5bb4f7
test(release): cover paginated release lookup
snapetech Oct 26, 2026
2018a0d
build: align SDK and runtime servicing pins
snapetech Oct 26, 2026
1e2e696
fix(ci): retain current SARIF upload action pin
snapetech Oct 26, 2026
7d3b68b
ci: disable CodeQL workflow
snapetech Oct 26, 2026
78024ed
build: use the pinned .NET SDK across workflows
snapetech Oct 26, 2026
f33a56d
ci: install .NET SDKs in private runner temp storage
snapetech Oct 26, 2026
941e3b3
build(deps-dev): bump the npm-minor-patch group across 1 directory wi…
dependabot[bot] Oct 26, 2026
e7e6a6a
ci: route trusted owner PR checks through private JIT
snapetech Oct 26, 2026
d778089
fix(ci): grant reusable workflow permissions
snapetech Oct 26, 2026
33f72be
fix(helm): prepare writable Ruby tool cache
snapetech Oct 26, 2026
5b389dd
ci(packaging): isolate Fedora RPM acceptance on private JIT
snapetech Oct 26, 2026
e1e048d
fix(chocolatey): verify deferred BookshelfNG source
snapetech Oct 26, 2026
1a7c7ac
ci: add focused private JIT channel contracts
snapetech Oct 26, 2026
7da39ba
ci: stop automatic PR and main checks
snapetech Oct 27, 2026
22c7b53
chore: trigger releases from v* tags
snapetech Oct 27, 2026
d7fdaa3
fix(ci): align channel contracts and retain RPM evidence
snapetech Oct 31, 2026
766e86d
ci: isolate ChaptarrNG fork validation [skip ci]
snapetech Oct 27, 2026
95fbae0
ci: pin ChaptarrNG fork wrapper to sandbox workflow [skip ci]
snapetech Oct 27, 2026
f1d625a
Route ChaptarrNG fork scans through sandboxed JIT
snapetech Oct 27, 2026
7b99358
Gate ChaptarrNG dependency review to ready owner PRs
snapetech Oct 27, 2026
5d8de44
Pin ChaptarrNG fork workflow to sandbox child
snapetech Oct 27, 2026
bb3dcb9
feat: complete localization foundations
snapetech Oct 29, 2026
08537ae
docs: add localization release note
snapetech Oct 29, 2026
f0beb05
fix: complete localization interaction paths
snapetech Oct 29, 2026
630803f
feat: finish localization accessibility and provenance
snapetech Oct 29, 2026
474a354
fix: make plural and select fallbacks safe
snapetech Oct 29, 2026
4d55171
fix(i18n): correct reviewed target locale strings
snapetech Oct 31, 2026
8f8a14f
fix(i18n): correct author and download client terms
snapetech Oct 31, 2026
5414b9d
fix: verify Chocolatey release assets through GitHub API
snapetech Oct 31, 2026
559829a
test: cover trusted private JIT proxy for release and Helm builds
snapetech Oct 31, 2026
a0df92d
test: validate installed BookshelfNG Helm migration and recovery
snapetech Oct 31, 2026
eec975d
fix: scope Helm proxy variables to trusted JIT steps
snapetech Oct 31, 2026
93c4d48
fix: repair BookshelfNG Helm acceptance contracts
snapetech Oct 31, 2026
2531f3e
chore: disable CodeQL actions in scan workflows
snapetech Oct 31, 2026
58d0ce5
docs(i18n): preserve product and provider literals
snapetech Oct 31, 2026
9e814e5
fix(i18n): clarify command queue label
snapetech Oct 31, 2026
986b5c8
fix(i18n): localize encrypted backup fallback
snapetech Oct 31, 2026
f63796d
feat: unify BookshelfNG handoff on standard image
snapetech Oct 31, 2026
51f6ecd
ci: tag ChaptarrNG private JIT dispatches
snapetech Oct 31, 2026
dceb5df
fix: match Fedora RPM test to current candidate version
snapetech Oct 31, 2026
40849a1
Merge remote-tracking branch 'origin/main' into codex/chaptarrng-reti…
snapetech Oct 31, 2026
64689f1
docs: record private JIT channel recheck
snapetech Oct 31, 2026
56a0955
Merge remote-tracking branch 'origin/main' into codex/chaptarrng-reti…
snapetech Oct 31, 2026
f3c39ee
docs: refresh BookshelfNG handoff status
snapetech Oct 31, 2026
96c953b
fix(docker): detect legacy Audioarr PostgreSQL installs
snapetech Oct 31, 2026
5a6ebb6
fix: preserve legacy Docker handoff contracts
snapetech Oct 31, 2026
369b4c7
fix(i18n): correct custom format import labels
snapetech Oct 31, 2026
8131262
fix(i18n): clarify monitored status in Hindi
snapetech Oct 31, 2026
91b4e51
fix(i18n): preserve Goodreads and size terminology
snapetech Oct 31, 2026
67c42ad
docs(i18n): preserve Hardcover provider terminology
snapetech Oct 31, 2026
886e8a9
fix(i18n): preserve Hardcover provider labels
snapetech Oct 31, 2026
d07c088
fix(i18n): distinguish exact values from fallbacks
snapetech Oct 31, 2026
bd58931
fix(i18n): add exact provider literal catalogs
snapetech Oct 31, 2026
c82f168
docs: record BookshelfNG handoff and JIT blockers
snapetech Oct 31, 2026
79cccb6
docs: record exact-head validation blocker
snapetech Oct 31, 2026
4e5f895
docs: record private JIT run progress
snapetech Oct 31, 2026
fa55ffa
fix(packaging): align Debian release gate with tag workflow
snapetech Oct 31, 2026
7142e29
docs: align BookshelfNG retirement status with main
snapetech Oct 31, 2026
a029e3b
localization: fill missing Chaptarr core catalogs
snapetech Oct 31, 2026
bfcfb1d
fix(ci): route release workflows through private JIT
snapetech Oct 31, 2026
2b5c6b2
fix(tests): use supported Playwright viewport API
snapetech Oct 31, 2026
ee0d871
fix(ci): select Python command on Windows runners
snapetech Oct 31, 2026
3399252
fix(ci): keep Python guard commands valid YAML
snapetech Oct 31, 2026
c6c12a6
merge: route release workflows through private JIT
snapetech Oct 31, 2026
4a01a43
merge: fill missing core localization catalogs
snapetech Oct 31, 2026
805da43
merge: fix private-JIT validation regressions
snapetech Oct 31, 2026
76a961e
merge: refresh BookshelfNG retirement status
snapetech Oct 31, 2026
d5f0f81
test: fix Playwright 1.63 viewport call
ncbudd Oct 31, 2026
6f8362c
fix(books): allow updating a book with several monitored editions
ncbudd Oct 31, 2026
561ef98
fix(import): accept another listing of the grabbed narration
ncbudd Oct 31, 2026
137e363
fix(search): use the book-number fallback in automatic searches
ncbudd Oct 31, 2026
a9936c4
test(packaging): verify Chocolatey defer stays healthy
snapetech Oct 31, 2026
80c43e2
merge: close SeerrNG request gaps
snapetech Oct 31, 2026
b1f10c7
fix(ci): require explicit fork validation labels and published callee
snapetech Oct 31, 2026
7e538f5
fix(import): require language evidence for narration matches
snapetech Oct 31, 2026
2210939
docs: record current BookshelfNG acceptance blockers
snapetech Oct 31, 2026
e0706b4
merge: include latest private fork-validation policy
snapetech Oct 31, 2026
c59488f
docs: refresh BookshelfNG handoff evidence
snapetech Oct 31, 2026
4d02c9d
test(packaging): use current BookshelfNG macOS predecessor
snapetech Oct 31, 2026
5c9db5a
fix(packaging): scope Debian gate to preflight
snapetech Oct 31, 2026
333238f
fix(migration): declare provider mode in PostgreSQL fixture
snapetech Oct 31, 2026
fd7c0eb
Complete twelve-locale semantic catalog correction review
snapetech Oct 31, 2026
9c70c24
ci: route macOS jobs through private Apple JIT
snapetech Oct 31, 2026
8ade12c
ci: pin Chaptarr scans to manual private JIT
snapetech Oct 31, 2026
b3430bb
docs: refresh channel acceptance status
snapetech Oct 31, 2026
50a3e94
docs: triage current private JIT build failures
snapetech Oct 31, 2026
f05a397
Localize fixed server, provider schema and outbound notification copy
snapetech Oct 31, 2026
8786658
Merge remote-tracking branch 'origin/main' into codex/chaptarr-server…
snapetech Oct 31, 2026
b1e0637
Use static token parsing and reconcile current localization base
snapetech Oct 31, 2026
ad7b821
Complete source capture audit and isolate rendered localization values
snapetech Oct 31, 2026
ece16c4
fix: stage recovery helper and stabilize migration tests
snapetech Oct 31, 2026
e270977
Merge remote-tracking branch 'origin/main' into codex/chaptarr-server…
snapetech Oct 31, 2026
8096018
Refresh localization source inventory base after upstream merge
snapetech Oct 31, 2026
83d4c43
Merge remote-tracking branch 'origin/codex/chaptarr-server-l10n-20261…
snapetech Oct 31, 2026
44b9811
Keep rendered value isolation idempotent across shared helpers
snapetech Oct 31, 2026
ec833cb
Merge remote-tracking branch 'origin/codex/chaptarr-server-l10n-20261…
snapetech Oct 31, 2026
ca1fd2b
test: align schema contracts with localized field IDs
snapetech Oct 31, 2026
702b788
docs: record direct-main parity integration evidence
snapetech Oct 31, 2026
c9bff46
l10n: reuse exact notification translations
snapetech Oct 31, 2026
eb17756
test: verify generated Unraid candidate template
snapetech Oct 31, 2026
ffeb0f0
docs: triage stale channel build failures
snapetech Oct 31, 2026
0ed9d0a
ci: extend Yarn network timeout for Windows acceptance
snapetech Oct 31, 2026
dd9ce2f
docs: record Windows Yarn timeout mitigation
snapetech Oct 31, 2026
db5fb7c
docs: record Packer runner validation status
snapetech Oct 31, 2026
8045f68
fix(import): import pinned narrations whose files carry no narrator tag
Oct 31, 2026
c4d35f9
docs: record direct-main pinned narration fix
snapetech Oct 31, 2026
957f1a2
fix(ci): require exact private JIT routes
snapetech Oct 31, 2026
c3637bb
fix(ci): quote dynamic public runner label
snapetech Oct 31, 2026
187e8b7
test(packaging): match multiline legacy bridge gate
snapetech Oct 31, 2026
ed265ae
fix(ci): bind release dispatch to exact tag
snapetech Oct 31, 2026
6e0fb29
fix(l10n): localize follow-up UI feedback
snapetech Oct 31, 2026
6ee39f6
docs: refresh exact-main acceptance evidence
snapetech Oct 31, 2026
754be09
ci: standardize private JIT workflow routes
snapetech Oct 31, 2026
d94dd07
docs: record private JIT route update
snapetech Oct 31, 2026
1dcff61
feat(localization): clarify locale choices and gate Arabic RTL
snapetech Oct 31, 2026
c69b3c4
feat(localization): add OAuth and provider error sources
snapetech Oct 31, 2026
ae17928
fix(localization): protect HTTP Location header token
snapetech Oct 31, 2026
6f73cd0
fix(refresh): ignore excluded folders in author rescans
snapetech Nov 1, 2026
699b0a4
fix: harden conversion recovery and chapter staging
snapetech Nov 1, 2026
83ed7c9
docs: record direct-main reliability evidence
snapetech Nov 1, 2026
ee1d583
docs: record package contract and full suite evidence
snapetech Nov 1, 2026
b18f5d9
docs: record current handoff queue and Helm egress fix
snapetech Nov 1, 2026
fc8d8e9
docs: distinguish source and report heads
snapetech Nov 1, 2026
de3360a
docs: record disabled Code Quality setup audit
snapetech Nov 1, 2026
659a94f
test(packaging): exercise Chocolatey prompt from package
snapetech Nov 1, 2026
8c91b38
docs: record current Chocolatey JIT handoff
snapetech Nov 1, 2026
5d3f95c
docs: record worktree and JIT queue audit
snapetech Nov 1, 2026
a480694
Fix Arabic document direction handling
snapetech Nov 1, 2026
0327410
Restore locale test file before Arabic direction fix
snapetech Nov 1, 2026
533e2d8
ci: enable hosted migration validation runners
snapetech Nov 3, 2026
a6db5ca
test(ci): allow explicit hosted validation dependencies
snapetech Nov 3, 2026
f8d4a71
test(helm): accept hosted handoff routing
snapetech Nov 3, 2026
3166cce
test(helm): allow direct hosted handoff egress
snapetech Nov 3, 2026
f46bd71
test(helm): build standard image in handoff acceptance
snapetech Nov 3, 2026
0da72c8
ci: keep Windows migration acceptance independent of locale gates
snapetech Nov 3, 2026
8fdd188
test(docker): expose headless handoff failure details
snapetech Nov 3, 2026
fa86c56
test(helm): parse tagged Docker push digests
snapetech Nov 3, 2026
757107c
ci: update hosted migration contract descriptions
snapetech Nov 3, 2026
6493c54
test(ci): retain Linux migration harness evidence
snapetech Nov 3, 2026
8963007
test(helm): let bootstrap volume bind before seed
snapetech Nov 3, 2026
9c90fbb
test(docker): allow headless migration supervisor startup
snapetech Nov 3, 2026
efa6332
ci(windows): retain installer payload through handoff
snapetech Nov 3, 2026
2a18a1e
test(helm): seed fresh claim as chart bootstrap user
snapetech Nov 3, 2026
7da47fb
test: harden BookshelfNG migration acceptance
snapetech Nov 3, 2026
175f802
test: load Chocolatey fingerprint helper
snapetech Nov 3, 2026
c00ebf0
test(helm): preserve seed assertions in pod script
snapetech Nov 3, 2026
e562252
test(helm): wait on pod phase completion
snapetech Nov 3, 2026
1eaf808
test: fix BookshelfNG installed handoff probes
snapetech Nov 3, 2026
e594c5f
test(helm): defer snapshot shell expansion to pod
snapetech Nov 3, 2026
cebcd05
test(helm): wait for snapshot pod completion
snapetech Nov 3, 2026
4a6ca9a
test(windows): retain Chocolatey failure evidence
snapetech Nov 4, 2026
598ddc5
test(helm): shift migration args before forwarding
snapetech Nov 4, 2026
ca25acc
fix(chocolatey): convert BookshelfNG data before service start
snapetech Nov 4, 2026
bd4236c
test(helm): restart deferred candidate for auto migration
snapetech Nov 4, 2026
aaa9871
test(helm): report migration fixture assertion details
snapetech Nov 4, 2026
e411009
test(helm): retain migrated edition diagnostics
snapetech Nov 4, 2026
29b5f31
test(migration): harden handoff diagnostics
snapetech Nov 4, 2026
0583bc8
test(helm): verify restored source from snapshot pod
snapetech Nov 4, 2026
8b26fa3
fix(migration): find rollback backups and stop cleanly
snapetech Nov 4, 2026
4bf2ca2
fix(localization): restore Arabic layout gate
snapetech Nov 4, 2026
37f304f
fix(localization): normalize catalog report line endings
snapetech Nov 4, 2026
e6599f8
fix(windows): find retained BookshelfNG rollback backup
snapetech Nov 4, 2026
0a18c8f
fix(windows): preserve SQLite source name array
snapetech Nov 4, 2026
579a288
test(windows): report service rollback mismatch
snapetech Nov 4, 2026
94c3e53
fix(chocolatey): preserve NSSM service parameter quotes
snapetech Nov 4, 2026
ea0b143
test(windows): verify native migration canaries
snapetech Nov 4, 2026
d12798d
test(chocolatey): pass archive to automatic handoff
snapetech Nov 4, 2026
d3a67c5
test(localization): normalize registry hash line endings
snapetech Nov 4, 2026
17bde32
docs(migration): record public parity validation
snapetech Nov 4, 2026
a64669b
docs(agents): record CodeQL directive
snapetech Nov 4, 2026
b5653f4
test(migration): target macOS handoff architecture
snapetech Nov 4, 2026
e96b612
fix(ci): filter macOS handoff matrix by architecture
snapetech Nov 4, 2026
4643daf
fix(ci): generate selected macOS acceptance matrix
snapetech Nov 4, 2026
fec6557
docs(migration): record exact-head handoff results
snapetech Nov 4, 2026
0a10b76
docs(migration): clarify tested application head
snapetech Nov 4, 2026
0af7e18
ci: allow trusted standalone validation on public runners
snapetech Nov 4, 2026
dbbb46a
ci: separate macOS handoff runner pool concurrency
snapetech Nov 4, 2026
e0e9be2
fix(compat): add BookshelfNG API differential coverage
snapetech Nov 4, 2026
9514b7a
fix(test): avoid dynamic SQL in fixture normalizer
snapetech Nov 4, 2026
d73e40c
fix(ci): scope differential scratch path to step
snapetech Nov 4, 2026
c090d73
test(compat): compare BookshelfNG API contracts semantically
snapetech Nov 4, 2026
3ba877d
fix(compat): restore BookshelfNG API projections
snapetech Nov 4, 2026
6422088
fix(compat): preserve legacy author settings across migration
snapetech Nov 4, 2026
e7c3be4
fix(compat): preserve legacy cover and provider inputs
snapetech Nov 4, 2026
3de3f56
test(migration): advance handoff checks for schema 125
snapetech Nov 4, 2026
0abfa99
fix(compat): restore legacy cover and provider schema shapes
snapetech Nov 4, 2026
002d19b
test(import): make catalog call recording thread-safe
snapetech Nov 4, 2026
8fd258f
test(packaging): isolate headless migration deferral probe
snapetech Nov 4, 2026
0accc20
fix(compat): preserve MAM legacy provider settings
snapetech Nov 4, 2026
8d902d2
fix(compat): project DirectDownload URLs using schema field name
snapetech Nov 4, 2026
b7c542e
test(ci): separate supervisor startup and shutdown watchdogs
snapetech Nov 4, 2026
7e9fbcf
test(compat): cover legacy API mutations
snapetech Nov 4, 2026
7f39b52
fix(compat): project BookshelfNG book-editor responses
snapetech Nov 4, 2026
5308d7f
test(ci): update API differential step contract
snapetech Nov 4, 2026
9a44e91
test(compat): cover legacy author editor writes
snapetech Nov 4, 2026
6614d55
fix(compat): project BookshelfNG author editor responses
snapetech Nov 4, 2026
db87e7f
docs(migration): record exact-head handoff build
snapetech Nov 4, 2026
14720b0
test(migration): broaden legacy API read sweep
snapetech Nov 4, 2026
6fffb06
fix(compat): restore legacy blocklist and paging projections
snapetech Nov 4, 2026
ef6f153
test(compat): match provider schemas by implementation
snapetech Nov 4, 2026
c711ca5
fix(compat): isolate legacy blocklist IDs from native API
snapetech Nov 5, 2026
b44915f
fix(migration): preserve BookshelfNG defaults and runtime API snapshot
snapetech Nov 5, 2026
8c7fb4c
fix(migration): serialize enum defaults for PostgreSQL
snapetech Nov 5, 2026
f7cc1d4
test(ci): allow renamed differential step in runner policy check
snapetech Nov 5, 2026
f14aba9
fix(migration): preserve BookshelfNG quality ordering
snapetech Nov 5, 2026
e1a6d01
fix(migration): preserve legacy metadata profile defaults
snapetech Nov 5, 2026
025498c
fix(api): restore legacy provider identities
snapetech Nov 5, 2026
d04b739
fix: preserve BookshelfNG import list schema ordering
snapetech Nov 5, 2026
76fcc31
test: clarify legacy import list order assertion
snapetech Nov 5, 2026
beb4f95
test: label provider API differences by implementation
snapetech Nov 5, 2026
0d711ce
fix(localization): refresh provider callsite line
snapetech Nov 5, 2026
8e274e1
docs(migration): record exact-head acceptance status
snapetech Nov 5, 2026
6c9a191
docs(migration): close runtime archive validation record
snapetech Nov 5, 2026
219226c
fix(migration): preserve legacy system status base path
snapetech Nov 5, 2026
a8f5af1
fix(api): preserve legacy indexer flag names
snapetech Nov 5, 2026
d6c0ab7
fix(ci): bound multi-architecture builder disk usage
snapetech Nov 5, 2026
718d68f
fix(api): preserve BookshelfNG MAM creation defaults
snapetech Nov 5, 2026
270f73a
test(api): match provider presets by stable name
snapetech Nov 5, 2026
39f199e
fix(api): retain legacy download template categories
snapetech Nov 5, 2026
38e664a
test(migration): verify retained legacy login over HTTP
snapetech Nov 5, 2026
eab6f93
test(auth): distinguish UI login from API-key authentication
snapetech Nov 5, 2026
7dc85e9
fix(migration): honor retained Plex global update switch
snapetech Nov 5, 2026
5928842
test(localization): record legacy Plex field and source references
snapetech Nov 5, 2026
842ff7c
fix(migration): retain omitted BookshelfNG provider defaults
snapetech Nov 5, 2026
8dcd490
fix(ui): expose the retained Plex switch in migrated settings
snapetech Nov 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 16 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@
.github
.gitignore

# Keep local app data, credentials, and signing material out of image contexts.
/config
/secrets
Config.xml
config.xml
.env
.env.*
!.env.example
sixlabors.lic
*.pem
*.key
*.pfx
*.secret

node_modules
**/node_modules

Expand All @@ -11,8 +25,9 @@ _temp

backups
backup-*
*.zip
*.zip.enc

*.db
*.db-*
*.log

8 changes: 8 additions & 0 deletions .githooks/post-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail

repo_root="$(git rev-parse --show-toplevel)"
while IFS= read -r git_environment_variable; do
unset "$git_environment_variable"
done < <(git -C "$repo_root" rev-parse --local-env-vars)
exec bash "$repo_root/scripts/sync-unraid-package.sh"
4 changes: 4 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
repo_root="$(git rev-parse --show-toplevel)"
"$repo_root/scripts/security-scan-local.sh" --staged --semgrep-only
6 changes: 6 additions & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail

repo_root="$(git rev-parse --show-toplevel)"
cd "$repo_root"
bash packaging/scripts/test-publish-image-aliases.sh
8 changes: 4 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Code owners for Chaptarr.
# Every change requires review/approval from an owner listed below.
# Keep this list to trusted maintainers only.
* @robertlordhood
# Code owners for ChaptarrNG.
# This file identifies trusted owners for review requests on pull requests.
# GitHub enforces an approval requirement only when branch or ruleset settings require it.
* @snapetech
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ko_fi: snapetech
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Bug report
about: Create a report to help us improve Chaptarr
about: Create a report to help us improve ChaptarrNG
title: '[BUG] '
labels: bug
assignees: ''
Expand All @@ -25,7 +25,7 @@ If applicable, add screenshots to help explain your problem.

**System Information:**
- OS: [e.g. Ubuntu 22.04, Windows 10, Synology DSM]
- Chaptarr Version: [e.g. 1.0.0]
- ChaptarrNG Version: [e.g. 0.9.936]
- Installation Method: [Docker / built from source; native installs are not yet supported]
- Browser: [e.g. Chrome, Firefox]

Expand All @@ -41,4 +41,4 @@ Add any other context about the problem here.
Please include relevant logs from:
- Chaptarr logs (System → Logs → Files in the UI; `/config/logs/` in Docker)
- Browser console (F12)
- Docker logs (`docker logs chaptarr`), if running in Docker
- Docker logs (`docker logs chaptarrng`), if running in Docker
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Chaptarr Wiki
url: https://wiki.chaptarr.com
about: Check the wiki for setup guides and FAQs
- name: ChaptarrNG documentation
url: https://github.com/snapetech-org/chaptarrng#documentation
about: Read the fork's install and integration guidance
- name: Discord Community
url: https://discord.gg/nqFGsGUug2
about: Join our Discord for community support and discussions
- name: Discussions
url: https://github.com/Chaptarr/chaptarr/discussions
url: https://github.com/snapetech-org/chaptarrng/discussions
about: Ask questions and share ideas with the community
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Feature request
about: Suggest an idea for Chaptarr
about: Suggest an idea for ChaptarrNG
title: '[FEATURE] '
labels: enhancement
assignees: ''
Expand Down
46 changes: 46 additions & 0 deletions .github/actions/setup-github-cli/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Set up GitHub CLI
description: Install a checksum-pinned GitHub CLI release on a Linux x64 runner.
runs:
using: composite
steps:
- name: Ensure GitHub CLI is installed
shell: bash
run: |
set -euo pipefail
if command -v gh >/dev/null 2>&1; then
gh --version
exit 0
fi

if [[ "${RUNNER_OS:-Linux}" != Linux || "$(uname -m)" != x86_64 ]]; then
echo 'GitHub CLI setup requires a Linux x64 runner.' >&2
exit 1
fi
command -v curl >/dev/null 2>&1
command -v sha256sum >/dev/null 2>&1
command -v tar >/dev/null 2>&1

version=2.103.2
archive_name="gh_${version}_linux_amd64.tar.gz"
archive_url="https://github.com/cli/cli/releases/download/v${version}/${archive_name}"
archive_sha256=62ccf747115ddc61237efffdde66a3c8f70ba249433dc64f70801089b59c59c8
temporary_directory="$(mktemp -d "${RUNNER_TEMP%/}/github-cli.XXXXXX")"
install_directory="${RUNNER_TEMP%/}/gh-cli-${version}"
trap 'rm -rf -- "$temporary_directory"' EXIT

curl --fail --silent --show-error --location --retry 3 \
"$archive_url" --output "$temporary_directory/$archive_name"
printf '%s %s\n' \
"$archive_sha256" "$temporary_directory/$archive_name" \
| sha256sum --check --status

mkdir -p "$install_directory"
tar --extract --gzip \
--file="$temporary_directory/$archive_name" \
--directory="$install_directory" \
--strip-components=1 \
"gh_${version}_linux_amd64/bin/gh"
chmod 0755 "$install_directory/bin/gh"
printf '%s\n' "$install_directory/bin" >> "$GITHUB_PATH"
export PATH="$install_directory/bin:$PATH"
gh --version
73 changes: 73 additions & 0 deletions .github/cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# git-cliff configuration for ChaptarrNG releases.
# https://git-cliff.org/docs/configuration

[changelog]
header = ""
body = """
{%- macro remote_url() -%}
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
{%- endmacro -%}

{% macro print_commit(commit) -%}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }} - \
([{{ commit.id | truncate(length=7, end="") }}]({{ self::remote_url() }}/commit/{{ commit.id }}))\
{% endmacro -%}

{% if version %}\
{% if previous.version %}\
## [{{ version | trim_start_matches(pat="v") }}]({{ self::remote_url() }}/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% endif %}\
{% else %}\
## [unreleased]
{% endif %}\

{%- for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{%- for commit in commits | filter(attribute="scope") | sort(attribute="scope") %}
{{ self::print_commit(commit=commit) }}
{%- endfor %}
{%- for commit in commits %}
{%- if not commit.scope %}
{{ self::print_commit(commit=commit) }}
{%- endif %}
{%- endfor %}
{% endfor %}
"""
footer = ""
trim = true
postprocessors = []

[git]
conventional_commits = true
filter_unconventional = true
split_commits = false
filter_commits = true
commit_preprocessors = [
{ pattern = ".*\\[skip ci\\].*", replace = "" },
{ pattern = ".*\\[ci skip\\].*", replace = "" },
]
commit_parsers = [
{ message = "^chore\\(release\\):", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^Merge ", skip = true },
{ body = ".*[Ss]ecurity", group = "<!-- 0 -->Security" },
{ message = "^feat", group = "<!-- 1 -->Features" },
{ message = "^fix", group = "<!-- 2 -->Bug Fixes" },
{ message = "^docs?", group = "<!-- 3 -->Documentation" },
{ message = "^perf", group = "<!-- 4 -->Performance" },
{ message = "^refactor", group = "<!-- 5 -->Refactoring" },
{ message = "^style", group = "<!-- 6 -->Styling" },
{ message = "^test", group = "<!-- 7 -->Testing" },
{ message = "^chore|^ci|^build", group = "<!-- 8 -->Maintenance" },
{ message = "^revert", group = "<!-- 9 -->Reverts" },
]
protect_breaking_commits = false
tag_pattern = "v?0\\.[0-9]+\\.[0-9]+.*"
skip_tags = "beta|alpha|rc"
topo_order = false
sort_commits = "newest"

89 changes: 89 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
version: 2

updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: monday
time: "09:00"
timezone: America/Regina
cooldown:
default-days: 7
open-pull-requests-limit: 10
groups:
npm-security-updates:
applies-to: security-updates
patterns:
- "*"
npm-minor-patch:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch

- package-ecosystem: nuget
directory: "/src"
schedule:
interval: weekly
day: monday
time: "09:00"
timezone: America/Regina
cooldown:
default-days: 7
open-pull-requests-limit: 10
groups:
nuget-security-updates:
applies-to: security-updates
patterns:
- "*"
nuget-minor-patch:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch

- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
day: monday
time: "09:00"
timezone: America/Regina
cooldown:
default-days: 7
open-pull-requests-limit: 10
groups:
actions-minor-patch:
applies-to: version-updates
patterns:
- "*"
update-types:
- minor
- patch

- package-ecosystem: docker
directory: "/"
schedule:
interval: weekly
day: monday
time: "09:00"
timezone: America/Regina
cooldown:
default-days: 7
open-pull-requests-limit: 10

- package-ecosystem: docker-compose
directory: "/"
schedule:
interval: weekly
day: monday
time: "09:00"
timezone: America/Regina
cooldown:
default-days: 7
open-pull-requests-limit: 10
22 changes: 22 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,28 @@ A few sentences on what this changes and why.

Fixes # (if applicable)

#### Merge

Use `main` as the target. Open a pull request only when current GitHub rules require one; push directly
when they allow it. Keep a pull request current with `main` only when those rules require it. Merge
after the checks and approvals required by current rules are satisfied. An explicit maintainer's
direction to merge is sufficient; no additional review or approval is required beyond those rules.
Use any merge method enabled in GitHub.

#### Release Notes

For any user-facing change, add one structured fragment under `release-notes/` describing it. A
single fragment may cover related user-facing changes in the same pull request.

- [ ] I added a validated release-note fragment under `release-notes/` for this user-facing change.
- [ ] This change is internal-only and needs no release-note fragment.

For internal-only work, select the second option or put `release-note: none` on its own line in
the PR description. For direct pushes or merge checks that read commit messages, put the same
marker on its own line in the commit message.

See `release-notes/README.md` for the fragment schema. Preview the rendered notes with the command in that file if useful.

#### Database Migration
YES / NO. If yes, which tables?

Expand Down
Loading