Skip to content

fix(tiktok): align UX strings and render processing notice for app review#71

Open
paulocastellano wants to merge 2 commits into
mainfrom
fix/tiktok-app-review
Open

fix(tiktok): align UX strings and render processing notice for app review#71
paulocastellano wants to merge 2 commits into
mainfrom
fix/tiktok-app-review

Conversation

@paulocastellano

Copy link
Copy Markdown
Contributor

Why

Three TikTok Content Posting API submissions have been rejected with the same message: "Your application did not follow our UX Guidelines." After comparing our UI against Postiz and Buffer (both approved) and the Mixpost playbook (the only public account of how to pass), the conclusion is that the gap is not in product features — it is in matching the literal copy the reviewer recognises during the demo video.

What

Three surgical UX-string changes plus rendering a notice that already existed in translations but was never displayed.

  • lang/en/posts.php
    • privacy_placeholder: "Select visibility""Select who can view this post"
    • interaction_disabled_by_creator: "Disabled by your TikTok account settings.""Turned off in your TikTok account settings"
  • lang/pt-BR/posts.php, lang/es/posts.php — same two changes localised.
  • resources/js/components/posts/editor/TikTokSettings.vue — render processing_hint ("After publishing, it may take a few minutes for the content to process and appear on your TikTok profile.") below the compliance declaration. The string already existed at lang/en/posts.php:92 but no component referenced it.

Test

tests/Feature/TikTokI18nStringsTest.php (new) — asserts the literal English strings the TikTok reviewer expects, so they cannot drift before a future review cycle. 10 assertions.

All 46 existing TikTok tests still pass.

Out of scope

Earlier drafts of this fix proposed a much larger refactor (consent dialog, can_post detection, server-side disclosure enforcement, "branded → SELF_ONLY" inversion, "brand → business" copy edits, etc.). Comparing to Postiz, Buffer, and the Mixpost playbook makes clear those are not what reviewers actually check — they were not implemented and this PR does not add them.

Next steps (not in this PR)

The real cause of the prior rejections is almost certainly operational, not code. The local TIKTOK-SCRIPT.md (not committed) contains the full playbook: domain verification, sandbox configuration, demo-video script, application-form copy templates, and UX-mockup PDF outline. Merging this PR is a prerequisite to recording a clean demo because of the processing_hint render.

…view

Match the literal copy the TikTok app reviewer looks for during the
Content Posting API audit, per the Mixpost playbook (the only public
account of how to pass).

- Privacy dropdown placeholder: "Select who can view this post"
- Tooltip on interaction toggles disabled by creator: "Turned off in
  your TikTok account settings"
- Render the "may take a few minutes" notice that was translated but
  never displayed (processing_hint)

Mirror both i18n changes in pt-BR and es. Add a feature test that locks
the literal strings so they cannot drift before the next review cycle.
…mments

The Vue computed property returns false for allow_comments when meta lacks
the key (so the UI checkbox renders unchecked), but the backend defaulted
allow_comments to true if the key was absent — sending disable_comment=false
to TikTok. A post created without the user toggling the comment checkbox
went out with comments enabled even though the UI showed them off.

Align the backend default with what the UI displays: when meta omits
allow_comments, treat it as off (matching duet and stitch, which already
default to off). Adjust the existing default-settings test that locked in
the old behaviour.
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