Skip to content

feat(settings): add browsingContextEnabled flag for companion consent#3780

Merged
capJavert merged 2 commits intomainfrom
eng-1231-add-companion-consent-prompt-for-browsing-based
Apr 8, 2026
Merged

feat(settings): add browsingContextEnabled flag for companion consent#3780
capJavert merged 2 commits intomainfrom
eng-1231-add-companion-consent-prompt-for-browsing-based

Conversation

@capJavert
Copy link
Copy Markdown
Contributor

Summary

  • Add browsingContextEnabled: boolean to SettingsFlags type and SettingsFlagsPublic pick type
  • Add browsingContextEnabled: Boolean to GraphQL SettingsFlagsPublic type and SettingsFlagsPublicInput input
  • Add default false in transformSettingFlags

Key decisions

  • Zero migration: stored in existing JSONB flags column, no schema change needed
  • Opt-in only: defaults to false; the companion frontend sets it to true only on explicit user consent

Test plan

  • pnpm run build passes (full TypeScript compilation)
  • Lint clean on all changed files
  • Manual: mutation updateUserSettings(data: { flags: { browsingContextEnabled: true } }) persists and returns correctly

Closes ENG-1231


Created by Huginn 🐦‍⬛

Add browsingContextEnabled to SettingsFlags type, SettingsFlagsPublic
pick type, GraphQL schema (type + input), and flags transform with
default false. This stores the user's explicit consent for browsing-based
personalization in the existing JSONB flags column (zero migration).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@pulumi
Copy link
Copy Markdown

pulumi Bot commented Apr 8, 2026

🍹 The Update (preview) for dailydotdev/api/prod (at c08b6d5) was successful.

✨ Neo Explanation

Routine release rolling commit `1329a265` → `098e8836` across all services, with DB and ClickHouse schema migrations running as one-shot Jobs. ✅ Low Risk — no infrastructure changes, but verify both migration Jobs complete successfully after deployment.

This is a standard application release, deploying commit 098e8836 across all deployments and cron jobs (previously on 1329a265). Every change is a container image tag update and corresponding version label bump — nothing structural has changed.

The two migration Jobs (DB and ClickHouse) follow the expected pattern for this codebase: the old commit-tagged Jobs are deleted and new ones for the incoming commit are created, running typeorm migration:run and runClickhouseMigrations.js against the new image. This means database schema migrations will execute as part of this rollout. The migrations themselves run with restartPolicy: Never, so a failure will not retry automatically — check Job completion status post-deploy.

The GCP credentials warning on the default_9_12_0 provider is cosmetic and does not affect the Kubernetes operations.

Resource Changes

    Name                                                    Type                           Operation
~   vpc-native-bg-deployment                                kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-channel-highlights-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-expire-super-agent-trial-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-rotate-daily-quests-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tags-str-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron   kubernetes:batch/v1:CronJob    update
~   vpc-native-channel-digests-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-user-companies-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-clickhouse-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-squad-posts-analytics-refresh-cron           kubernetes:batch/v1:CronJob    update
-   vpc-native-api-db-migration-1329a265                    kubernetes:batch/v1:Job        delete
~   vpc-native-update-views-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-update-highlighted-views-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                                kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-stale-user-transactions-cron           kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-updated-sync-cron               kubernetes:batch/v1:CronJob    update
+   vpc-native-api-db-migration-098e8836                    kubernetes:batch/v1:Job        create
~   vpc-native-update-tag-materialized-views-cron           kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-temporal-deployment                          kubernetes:apps/v1:Deployment  update
~   vpc-native-update-source-public-threshold-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-calculate-top-readers-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-check-analytics-report-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-worker-job-deployment                        kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-zombie-images-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment               kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-zombie-opportunities-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-generic-referral-reminder-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-update-achievement-rarity-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-update-trending-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-materialize-monthly-best-post-archives-cron  kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-clickhouse-cron       kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-gifted-plus-cron                       kubernetes:batch/v1:CronJob    update
+   vpc-native-api-clickhouse-migration-098e8836            kubernetes:batch/v1:Job        create
-   vpc-native-api-clickhouse-migration-1329a265            kubernetes:batch/v1:Job        delete
~   vpc-native-channel-highlights-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-materialize-yearly-best-post-archives-cron   kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-deployment                                   kubernetes:apps/v1:Deployment  update
... and 11 other changes

@capJavert capJavert enabled auto-merge (squash) April 8, 2026 13:36
The transformSettingFlags function now returns browsingContextEnabled
in its output, so the boot test expectation must include it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@capJavert capJavert merged commit ba010fc into main Apr 8, 2026
10 checks passed
@capJavert capJavert deleted the eng-1231-add-companion-consent-prompt-for-browsing-based branch April 8, 2026 14: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.

1 participant