Skip to content

Commit 8bdae90

Browse files
authored
Merge pull request #10 from DesterLib/dev
feat: add Astro docs site, CLI tooling, and versioning workflow
2 parents e4d47c9 + d35797d commit 8bdae90

163 files changed

Lines changed: 12300 additions & 2462 deletions

File tree

Some content is hidden

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

.changeset/QUICK_REFERENCE.md

Lines changed: 0 additions & 155 deletions
This file was deleted.

.changeset/README.md

Lines changed: 0 additions & 8 deletions
This file was deleted.

.changeset/api-improvements.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
"api": minor
3+
---
4+
5+
Add significant API improvements and new features
6+
7+
**Version Management:**
8+
9+
- Version matching system between API and clients
10+
- Automatic version validation middleware
11+
- Client version compatibility checking with strict semantic versioning
12+
- Version information in health endpoint
13+
- API version exposed via response headers (`X-API-Version`)
14+
- Version mismatch error handling (HTTP 426)
15+
16+
**Media Scanning:**
17+
18+
- Batch scanning with job tracking and resume capability
19+
- Scan job status tracking in database (PENDING, IN_PROGRESS, COMPLETED, FAILED, PAUSED)
20+
- Progress tracking with batch processing
21+
- Folder-level batch processing for large libraries
22+
- Improved file detection with configurable regex patterns
23+
- Media type detection (movies, TV shows, music, comics)
24+
- Path validation and sanitization
25+
- Rate limiting for TMDB API calls
26+
- Timeout handling for long-running scans
27+
28+
**Color Extraction & Mesh Gradients:**
29+
30+
- Automatic color extraction from media posters/backdrops
31+
- Mesh gradient generation with 4-corner color mapping
32+
- Color caching in database for performance
33+
- On-demand color extraction middleware
34+
- Background color extraction for non-blocking requests
35+
36+
**Logging & Monitoring:**
37+
38+
- Real-time logs streaming with WebSocket support
39+
- REST endpoints for log retrieval
40+
- Log filtering by level (error, warn, info, debug)
41+
- Log file parsing and structured log entries
42+
- Log clearing functionality
43+
44+
**API Improvements:**
45+
46+
- Unified response structure across all endpoints
47+
- Enhanced Swagger/OpenAPI documentation
48+
- Improved error handling and validation
49+
- Input sanitization middleware

.changeset/publish-cli.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@desterlib/cli": minor
3+
---
4+
5+
Initial release of DesterLib CLI tool for easy Docker-based setup and configuration

.github/pull_request_template.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,3 @@
5050
## Additional Notes
5151

5252
<!-- Any additional information that reviewers should know -->
53-

.github/workflows/changeset-check.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
1-
name: Changeset Check
1+
name: CI
22

33
on:
44
pull_request:
55
branches:
66
- main
77

88
jobs:
9-
changeset-check:
10-
name: Check for Changeset
9+
ci:
10+
name: Validate PR (changesets & versioning)
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Checkout Repository
1414
uses: actions/checkout@v4
1515
with:
16+
# Fetch full history of the current ref so git operations behave like locally
1617
fetch-depth: 0
1718

19+
- name: Ensure main branch is available
20+
run: git fetch origin main:main
21+
1822
- name: Setup pnpm
1923
uses: pnpm/action-setup@v4
2024
with:
@@ -24,7 +28,7 @@ jobs:
2428
uses: actions/setup-node@v4
2529
with:
2630
node-version: 20
27-
cache: 'pnpm'
31+
cache: "pnpm"
2832

2933
- name: Install Dependencies
3034
run: pnpm install --frozen-lockfile
@@ -37,18 +41,21 @@ jobs:
3741
echo "Skipping changeset check for version PR"
3842
exit 0
3943
fi
40-
44+
4145
# Skip check for chore commits that don't need changesets
4246
if [[ "${{ github.head_ref }}" == chore/* ]] || \
4347
[[ "${{ github.head_ref }}" == docs/* ]] || \
4448
[[ "${{ github.head_ref }}" == ci/* ]]; then
4549
echo "Skipping changeset check for chore/docs/ci PR"
4650
exit 0
4751
fi
48-
52+
4953
# Check if changesets exist
5054
pnpm changeset status --since=origin/${{ github.base_ref }}
5155
56+
- name: Verify Versioning Setup
57+
run: pnpm verify:versioning
58+
5259
- name: Comment on PR
5360
if: failure()
5461
uses: actions/github-script@v7
@@ -58,6 +65,5 @@ jobs:
5865
issue_number: context.issue.number,
5966
owner: context.repo.owner,
6067
repo: context.repo.repo,
61-
body: '⚠️ **No changeset found**\n\nThis PR appears to contain changes that should have a changeset.\n\nPlease run `pnpm changeset` and commit the generated changeset file.\n\nIf this PR doesn\'t need a changeset (e.g., docs, tests, or internal changes), you can ignore this message.'
68+
body: '⚠️ **Versioning verification failed**\n\nPlease run `pnpm verify:versioning` locally to check the issues.\n\nCommon issues:\n- Missing changesets: Run `pnpm changeset`\n- Changelog sync issues: Run `pnpm changelog:sync`\n- Sidebar configuration: Check `apps/docs/astro.config.mjs`\n\nSee [Pre-Merge Checklist](.github/PRE_MERGE_CHECKLIST.md) for details.'
6269
})
63-

.github/workflows/deploy-docs.yml

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)