Fixed /contact support widget validation when platform mode sends no app public key.
Fixed /contact support widget validation when platform mode sends no app public key.
Fixed Customer Support on /contact and Telegram bots: webhook URLs now use a trailing slash so Telegram no longer hits HTTP 308.
Improved the support chat widget: fixed launcher position, close control, visible errors, and reliable message send.
Added Customer Support hub at /creator/support with per-app setup links, docs, and plan overview.
Reordered Creator Studio sidebar (Listings, Create, Products, Insights) and moved sidebar promos into the scrollable nav.
Added Customer Support in Creator Studio at /creator/apps/[id]/support with /FAQ knowledge base, team inbox, support agents, and AI replies on Pro plans.
Added an embeddable support widget for listings; TG.app dogfoods it on /contact.
Added platform support admin at /admin/platform-support to connect the support bot and monitor usage.
Added creator documentation at /docs/creator-studio/customer-support.
Added live Headline and Text length validation on /advertiser/campaigns/new and /advertiser/campaigns/[id]/edit (AdsGram limits: 3-32 and 10-160 characters).
Fixed campaign submit billing on /advertiser/campaigns: budget is reserved only after AdsGram accepts the campaign, not on failed submit attempts.
Added loading state for Submit, Retry submit, Start, Pause, and Resume on /advertiser/campaigns.
Improved pre-submit validation for AdsGram headline length (ads.title) with clearer error messages.
Fixed the missing Text field on /advertiser/campaigns/new and /advertiser/campaigns/[id]/edit: the creative copy textarea stays visible and editable on Windows Chrome and with browser extensions.
Fixed AdsGram country targeting on /advertiser/campaigns: countries are only sent when interface languages are selected, matching AdsGram API rules.
Improved submit and wizard validation when country targeting is missing required languages.
Fixed AdsGram campaign submit on /advertiser/campaigns: CPM bids and targeting no longer drop on retry after sync errors.
Improved submit validation and error messages on /advertiser/campaigns when strategy, creative media, or AdsGram rejects a payload.
Fixed draft saves at /advertiser/campaigns/[id]/edit so strategy and targeting fields merge correctly in MongoDB.
Hardened /admin/logs against failed API responses and invalid actor IDs in the activity feed.
Added unified admin System logs at /admin/logs with category filters, pagination, event detail panel, and internal team notes.
Filter platform activity and leave internal notes on any event
Linked user timelines to /admin/logs?userId=… for a full cross-platform activity view.
Fixed AdsGram creative uploads by sending the correct MIME type for PNG, GIF, WebP, and MP4 assets during campaign submit.