v1.9.0: Full diagnostic sweep - 42 issues fixed

Critical fixes (7):
- Added global Express error handler (returns JSON instead of HTML)
- Removed caching from random endpoint (defeated purpose)
- Renamed share.jpg to share.png (MIME type mismatch)
- Fixed OG image dimensions (630 → 601)
- Fixed manifest.json icon sizes (192x192 → 512x512)
- Fixed implicit global event variable in console
- Added 9 missing endpoints to docs/endpoints.md

High fixes (12):
- Imported version from package.json (no hardcoded drift)
- Added dynamic endpoint count in stats
- Added input sanitization for mapper API (SSRF prevention)
- Added homepage caching (reduced 5 duplicate HTTP requests)
- Added rate limiting (100 requests/minute per IP)
- Added rel="noopener noreferrer" to all target="_blank" links
- Fixed trailing slash inconsistency in console
- Added noindex meta to 404.html
- Fixed docs/architecture.md controller filenames and dependency versions
- Fixed README.md dependency versions
- Added 12 missing endpoint tests

Medium fixes (22):
- Added escapeHtml helper for error messages
- Consistent favicon across all pages
- Added meta descriptions to privacy.html and tos.html
- Added OG/Twitter meta tags to privacy.html and tos.html
- Added aria-label to playground inputs
- Added aria-hidden to decorative SVGs
- Synced Twitter description with OG description
- Fixed robots.txt to disallow /api
- Added PWA fields to manifest.json
- Removed 5 unused imports
- Removed unused cookie-parser dependency
- Fixed inconsistent error handling in extractors
- Fixed resolvedSlug returning numeric ID
- Added /watch endpoint to streaming docs
- Improved test assertions and status code validation
- Deleted orphaned og-image.svg and logo.png

Low fixes (11):
- Removed redundant try/catch from extractPages
- Added max size eviction to cache
- Added cache key sorting in filter controller
- Added author meta tag
- Fixed favicon.svg font

Version bumped to 1.9.0
This commit is contained in:
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
2026-06-09 06:00:37 +05:30
parent 84c4877669
commit 100b9f9414
30 changed files with 404 additions and 139 deletions
+12 -12
View File
@@ -37,23 +37,23 @@ AniKotoAPI/
│ │ └── category.route.js # genre/:name, type/:name, status/:name
│ │
│ ├── controllers/
│ │ ├── home.controller.js # Homepage data
│ │ ├── homeInfo.controller.js # Homepage data
│ │ ├── search.controller.js # Anime search
│ │ ├── info.controller.js # Anime info
│ │ ├── episodes.controller.js # Episode list
│ │ ├── animeInfo.controller.js # Anime info
│ │ ├── episodeList.controller.js # Episode list
│ │ ├── servers.controller.js # Server list
│ │ ├── stream.controller.js # Stream URL
│ │ ├── suggestion.controller.js # Anime suggestions
│ │ ├── spotlight.controller.js # Spotlight anime
│ │ ├── trending.controller.js # Trending anime
│ │ ├── topTen.controller.js # Top 10
│ │ ├── topten.controller.js # Top 10
│ │ ├── schedule.controller.js # Schedule
│ │ ├── random.controller.js # Random anime
│ │ ├── newRelease.controller.js # New releases
│ │ ├── mostPopular.controller.js # Most popular
│ │ ├── genre.controller.js # Genre filter
│ │ ├── type.controller.js # Type filter
│ │ ├── status.controller.js # Status filter
│ │ ├── popular.controller.js # Most popular
│ │ ├── category.controller.js # Genre filter
│ │ ├── category.controller.js # Type filter
│ │ ├── category.controller.js # Status filter
│ │ └── filter.controller.js # Advanced filter
│ │
│ ├── extractors/
@@ -204,9 +204,9 @@ Error responses:
| Package | Version | Purpose |
|---------|---------|---------|
| express | ^4.18.2 | Web framework |
| express | ^4.21.0 | Web framework |
| cheerio | ^1.0.0-rc.12 | HTML parsing |
| axios | ^1.6.0 | HTTP requests |
| axios | ^1.8.0 | HTTP requests |
| cors | ^2.8.5 | CORS headers |
| cookie-parser | ^1.4.6 | Cookie parsing |
| dotenv | ^16.3.1 | Environment variables |
| cookie-parser | ^1.4.7 | Cookie parsing |
| dotenv | ^16.4.0 | Environment variables |