Languu Platform Bug Fix
Budget / Salary$250–750
TypeFreelance project
LocationRemote
Posted1 hour ago
there are bugs and missing features we found as in the list and suggested fix in file attached to job.
1. **Auth redirect on token expiry** — API client redirects all users (including anonymous) to login on 401 instead of retrying token refresh or exempting anon users. Affects file translation, transcription, and API key flows.
2. **TTS audio leak during translation** — Previous audio playback isn't stopped before starting a new TTS generation, causing overlapping audio when translating text over 1,600 characters.
3. **AVI upload accepted but rejected by backend** — Frontend allows AVI file uploads but backend `SUPPORTED_TRANSCRIBE_FORMATS` doesn't include AVI, causing a server-side rejection.
4. **URL translation returns only the URL text** — Full-page URL translation sends the URL string as text instead of fetching and translating the actual page content.
5. **API Elite subscription change interval error** — Switching from a tier with annual billing to API Elite fails because API Elite only supports monthly/usage billing cycles, and the annual `billingCycle` carries over.
6. **Google registration error** — Google OAuth sign-in may fail if `GOOGLE_CLIENT_SECRET` in Secrets Manager is placeholder or if Cognito identity provider mapping is misconfigured.
7. **Accent Remover download uses accent name** — Downloaded file is named `languu-accent-american.mp3` instead of using the original uploaded file name.
8. **API plan pricing cards missing Current Plan highlight** — API tier plans on the pricing page don't visually indicate which plan the user is currently subscribed to.
9. **S3 upload timeout on large files** — 5-minute upload timeout may be insufficient for large files on slow connections, and S3 CORS misconfiguration causes opaque network errors.
10. **Bulk and solo translation results collide** — Bulk translation appends results to the same state as solo translation without clearing, mixing results together.
11. **Bulk translation first file has no title** — First file in bulk translation output has no filename header; only subsequent files get the `--- filename ---` separator.
12. **Password reset silently fails for unknown users** — `ForgotPasswordCommand` swallows `UserNotFoundException`, so non-existent email addresses get a success message but no code is sent.
13. **Team tab hidden from team members on lower tiers** — Sidebar Team nav link visibility checks the member's own tier, not team membership, hiding it from members on free/solo plans.
14. **Team page accessible without tier gate** — Any authenticated user can visit `/account/team` directly via URL, bypassing the sidebar visibility check.
15. **Team members use individual limits instead of team plan limits** — Usage quotas resolve from the individual member's JWT tier instead of the team owner's subscription tier.
16. **Cannot switch to API Elite from existing subscription** — Checkout returns a 400 error if user already has any active subscription and tries to add API Elite.
17. **API Elite has no annual pricing option** — Stripe catalog only defines monthly base + usage pricing for API Elite; requesting annual throws an error.
18. **Caption download uses generic filename** — Downloaded caption file is always named `captions.srt` instead of carrying over the original uploaded video filename.
1. **Auth redirect on token expiry** — API client redirects all users (including anonymous) to login on 401 instead of retrying token refresh or exempting anon users. Affects file translation, transcription, and API key flows.
2. **TTS audio leak during translation** — Previous audio playback isn't stopped before starting a new TTS generation, causing overlapping audio when translating text over 1,600 characters.
3. **AVI upload accepted but rejected by backend** — Frontend allows AVI file uploads but backend `SUPPORTED_TRANSCRIBE_FORMATS` doesn't include AVI, causing a server-side rejection.
4. **URL translation returns only the URL text** — Full-page URL translation sends the URL string as text instead of fetching and translating the actual page content.
5. **API Elite subscription change interval error** — Switching from a tier with annual billing to API Elite fails because API Elite only supports monthly/usage billing cycles, and the annual `billingCycle` carries over.
6. **Google registration error** — Google OAuth sign-in may fail if `GOOGLE_CLIENT_SECRET` in Secrets Manager is placeholder or if Cognito identity provider mapping is misconfigured.
7. **Accent Remover download uses accent name** — Downloaded file is named `languu-accent-american.mp3` instead of using the original uploaded file name.
8. **API plan pricing cards missing Current Plan highlight** — API tier plans on the pricing page don't visually indicate which plan the user is currently subscribed to.
9. **S3 upload timeout on large files** — 5-minute upload timeout may be insufficient for large files on slow connections, and S3 CORS misconfiguration causes opaque network errors.
10. **Bulk and solo translation results collide** — Bulk translation appends results to the same state as solo translation without clearing, mixing results together.
11. **Bulk translation first file has no title** — First file in bulk translation output has no filename header; only subsequent files get the `--- filename ---` separator.
12. **Password reset silently fails for unknown users** — `ForgotPasswordCommand` swallows `UserNotFoundException`, so non-existent email addresses get a success message but no code is sent.
13. **Team tab hidden from team members on lower tiers** — Sidebar Team nav link visibility checks the member's own tier, not team membership, hiding it from members on free/solo plans.
14. **Team page accessible without tier gate** — Any authenticated user can visit `/account/team` directly via URL, bypassing the sidebar visibility check.
15. **Team members use individual limits instead of team plan limits** — Usage quotas resolve from the individual member's JWT tier instead of the team owner's subscription tier.
16. **Cannot switch to API Elite from existing subscription** — Checkout returns a 400 error if user already has any active subscription and tries to add API Elite.
17. **API Elite has no annual pricing option** — Stripe catalog only defines monthly base + usage pricing for API Elite; requesting annual throws an error.
18. **Caption download uses generic filename** — Downloaded caption file is always named `captions.srt` instead of carrying over the original uploaded video filename.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.