Skip to content

feat(transit): serve platform=all ads to specific platforms + admin bulk retag#85

Merged
hc-sousa merged 1 commit into
feat/account-login-premiumfrom
cursor/transit-ads-premium-gating-cbb2
Jun 4, 2026
Merged

feat(transit): serve platform=all ads to specific platforms + admin bulk retag#85
hc-sousa merged 1 commit into
feat/account-login-premiumfrom
cursor/transit-ads-premium-gating-cbb2

Conversation

@hc-sousa

@hc-sousa hc-sousa commented Jun 4, 2026

Copy link
Copy Markdown
Member

Summary

Backend half of the transit first-party ads + premium gating plan (2026-06-04-003, U1).

  • select_ad now treats platform='all' campaigns as eligible for a specific client platform (ios/android) for both active and default ads, so iOS clients receive cross-platform inventory (KTD8, R10).
  • Adds an AdAdmin bulk action "Set platform to all (selected)" so staff can retag campaigns to all from the Django admin changelist.

Tests

  • src/transit/tests/test_ads.pyplatform=all served to iOS, platform=web not served to iOS, default all fallback, iOS-targeted served, and the admin bulk action updating N rows.
  • cd src && pytest transit/tests/test_ads.py (5 passed)
Open in Web Open in Cursor 

…ulk retag

select_ad now treats platform=all campaigns as eligible for any specific
client platform (ios/android) for both active and default ads. Adds an
AdAdmin bulk action to set selected ads' platform to all (R10, KTD8).

Co-authored-by: henrique <henrique@sousadev.com>
@hc-sousa hc-sousa marked this pull request as ready for review June 4, 2026 21:03
@hc-sousa hc-sousa merged commit fdd22f9 into feat/account-login-premium Jun 4, 2026
1 check failed
@hc-sousa hc-sousa deleted the cursor/transit-ads-premium-gating-cbb2 branch June 4, 2026 21:04
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.

2 participants