Skip to content

Implement TikTok downloader features and enhancements#262

Merged
DestroyCom merged 37 commits into
masterfrom
feat/tiktok-downlaoder
May 28, 2026
Merged

Implement TikTok downloader features and enhancements#262
DestroyCom merged 37 commits into
masterfrom
feat/tiktok-downlaoder

Conversation

@DestroyCom
Copy link
Copy Markdown
Owner

No description provided.

DestroyCom added 30 commits May 27, 2026 15:31
…og article

- VideoSelect.tsx: EDU_CARDS now switches between YouTube and TikTok sets based on source prop
- messages/*.json: add eduCardTiktok1/2/3 Title+Desc keys in all 4 locales (en, fr-FR, es-419, pt-BR)
- lib/updates.ts: add v3-11-0-tiktok-downloader blog entry (2026-05-27, English)
…rm home hero

- Add ytHeroTitle/Subtitle/Desc/Badge1-4/Disclaimer keys to home namespace in all 4 locales
- Update /youtube page to render ytHero* keys instead of the shared heroTitle etc.
- /youtube now shows 'Download YouTube videos as MP4, MP3 or Library Ready' instead of 'YouTube & TikTok'
- home page and /tiktok page are unaffected
- Add NewsBanner component driven by BANNER_TEXT/BANNER_HREF env vars (no rebuild to toggle)
- Document banner env vars in README and CLAUDE.md
- Fix youtubeTitle (restore "Free") and youtubeDesc (remove "any public") in en.json
- Fix TikTok brand capitalisation (Tiktok → TikTok) in fr-FR, es-419, pt-BR footers
- Add ytStep1Title/ytStep1Body keys (YouTube-only step 1) used by /youtube page
- Add formatTiktokLearnMore key + link from home TikTok format card to /tiktok
- Add tiktok.faqLabel/faqTitle keys; replace hardcoded <h2>FAQ</h2> on /tiktok page
- Fix faq4A wording (files ARE cached temporarily) across all 4 locales
- Layout OG/Twitter now uses locale-aware tMeta() instead of hardcoded English strings
- /tiktok and /youtube pages now declare their own og:title/twitter:title
…nalytics + disable search during download

- tiktok-video/route: cap sanitizedUrl to 200 chars to prevent ENAMETOOLONG on URLs with tracking params
- serverUtils: add tiktok.com/t/ short-link pattern so mobile share-sheet links are accepted
- tiktok-audio/route: fix format selector to require acodec!=none, preventing silent empty MP3s; drop redundant cleanFiles in ffmpeg catch
- VideoSelect: fix analytics — video_id no longer sends the full TikTok URL in download_started/download_failed events
- tiktok-video/route: comment getServerConf() side-effect-only call
- FetchPageShell (new): shared DownloadStateContext so VideoSelect and GetterInput share isDownloading state
- GetterInput: disable Search button while a download/conversion is in progress
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Warning

Review limit reached

@DestroyCom, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 43 minutes and 54 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: dbaec2d2-172b-479b-972e-0648a68ba923

📥 Commits

Reviewing files that changed from the base of the PR and between 83d41d6 and 0986347.

📒 Files selected for processing (43)
  • .github/workflows/ci.yml
  • .github/workflows/scheduled_tests.yml
  • .gitignore
  • .serena/.gitignore
  • .serena/project.yml
  • CLAUDE.md
  • README.md
  • __tests__/integration/tiktok-fetch.test.ts
  • __tests__/lib/api-guard.test.ts
  • __tests__/lib/lyrics/lrc-to-sylt.test.ts
  • __tests__/lib/lyrics/vtt-to-sylt.test.ts
  • __tests__/lib/rate-limiter.test.ts
  • __tests__/lib/route-utils.test.ts
  • __tests__/lib/serverUtils.test.ts
  • __tests__/lib/ytdlp-cookies.test.ts
  • app/[locale]/fetch/page.tsx
  • app/[locale]/layout.tsx
  • app/[locale]/page.tsx
  • app/[locale]/tiktok/page.tsx
  • app/[locale]/youtube/page.tsx
  • app/api/download/tiktok-audio/route.ts
  • app/api/download/tiktok-video/route.ts
  • app/sitemap.ts
  • components/custom/FetchPageShell.tsx
  • components/custom/GetterInput.tsx
  • components/custom/NewsBanner.tsx
  • components/custom/VideoSelect.tsx
  • docs/superpowers/plans/2026-05-27-tiktok-downloader.md
  • docs/superpowers/plans/2026-05-28-unit-tests-ci.md
  • docs/superpowers/specs/2026-05-27-tiktok-downloader-design.md
  • docs/superpowers/specs/2026-05-28-unit-tests-ci-design.md
  • functions/fetchTiktokInfos.ts
  • functions/fetchVideoinfos.ts
  • functions/resolveVideoUrl.ts
  • lib/serverUtils.ts
  • lib/site-config.ts
  • lib/types.ts
  • lib/updates.ts
  • messages/en.json
  • messages/es-419.json
  • messages/fr-FR.json
  • messages/pt-BR.json
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/tiktok-downlaoder

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Generates a JUnit XML report after each test run and publishes it as
a GitHub check with inline annotations on failing lines.
homeDesc and youtubeDesc were exceeding Google's ~160-char snippet limit in en, fr-FR, es-419 and pt-BR.
@DestroyCom DestroyCom merged commit 05271cc into master May 28, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant