Skip to content

fix: skip lofn for My Feed time-ordered feed#3681

Merged
pnvasanth merged 1 commit intomainfrom
fix/my-feed-time-skip-lofn
Mar 10, 2026
Merged

fix: skip lofn for My Feed time-ordered feed#3681
pnvasanth merged 1 commit intomainfrom
fix/my-feed-time-skip-lofn

Conversation

@pnvasanth
Copy link
Contributor

Summary

  • When "My Feed" is ordered by date, use FeedPreferencesConfigGenerator with CustomFeedNaV1 config instead of FeedLofnConfigGenerator
  • Skips lofn roundtrip entirely — uses chronological retriever, no reranking, engagement filter disabled
  • All user preferences/filters (blocked tags, sources, words, followed sources/users, post types, content curation) still applied

Test plan

  • Updated existing integration test to verify no lofn mock needed and correct config (custom_feed_na_v1, order_by: date, disable_engagement_filter: true)
  • Added unit test for versionToTimeFeedGenerator verifying chronological config properties
  • All existing feed tests pass
  • Lint passes

@pulumi
Copy link

pulumi bot commented Mar 10, 2026

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

✨ Neo Explanation

This is a standard application deployment rolling out a new version across all API services, workers, and scheduled jobs, with accompanying database and ClickHouse migrations for the new release.

Root Cause Analysis

A new version of the API application has been built and is being deployed. Every Kubernetes resource is being updated to point to the new container image for the new application version.

Dependency Chain

The new application version triggers updates across the entire fleet of workloads that run this image:

  • 7 Deployments (API, background workers, WebSocket server, private, Temporal, personalized digest, worker jobs) will perform rolling updates to the new image, replacing pods gradually with zero downtime.
  • 34 CronJobs will have their job templates updated so that the next scheduled execution uses the new image.
  • 2 one-time migration Jobs (Postgres DB migration and ClickHouse migration) from the previous deployment are deleted, and 2 new equivalents are created for the new version — these run the database schema migrations required for the new release.

Risk Analysis

No risky changes detected. All deployments are rolling updates with no stateful resource replacements or deletions. The migration jobs are ephemeral by design — old jobs from the previous version are cleaned up and new ones are created. There is no data loss risk.

Resource Changes

    Name                                                       Type                           Operation
~   vpc-native-user-profile-analytics-history-clickhouse-cron  kubernetes:batch/v1:CronJob    update
~   vpc-native-update-views-cron                               kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tags-str-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-user-companies-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-hourly-notification-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-update-achievement-rarity-cron                  kubernetes:batch/v1:CronJob    update
-   vpc-native-api-db-migration-cbaddc6b                       kubernetes:batch/v1:Job        delete
~   vpc-native-update-source-public-threshold-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                         kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron      kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-images-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-tag-view-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-user-posts-analytics-refresh-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-sync-subscription-with-cio-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-generic-referral-reminder-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-temporal-deployment                             kubernetes:apps/v1:Deployment  update
~   vpc-native-private-deployment                              kubernetes:apps/v1:Deployment  update
+   vpc-native-api-clickhouse-migration-c206d516               kubernetes:batch/v1:Job        create
~   vpc-native-check-analytics-report-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tag-recommendations-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-calculate-top-readers-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-expire-super-agent-trial-cron                   kubernetes:batch/v1:CronJob    update
-   vpc-native-api-clickhouse-migration-cbaddc6b               kubernetes:batch/v1:Job        delete
~   vpc-native-clean-gifted-plus-cron                          kubernetes:batch/v1:CronJob    update
~   vpc-native-generate-search-invites-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-update-trending-cron                            kubernetes:batch/v1:CronJob    update
~   vpc-native-agents-digest-cron                              kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-analytics-clickhouse-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-stale-user-transactions-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-update-highlighted-views-cron                   kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment                  kubernetes:apps/v1:Deployment  update
+   vpc-native-api-db-migration-c206d516                       kubernetes:batch/v1:Job        create
~   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-deployment                                      kubernetes:apps/v1:Deployment  update
~   vpc-native-user-profile-updated-sync-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-daily-digest-cron                               kubernetes:batch/v1:CronJob    update
... and 5 other changes

@pnvasanth pnvasanth requested review from capJavert and idoshamun and removed request for idoshamun March 10, 2026 10:39
When My Feed is ordered by date, serve a simple chronological feed using
FeedPreferencesConfigGenerator with CustomFeedNaV1 config instead of
routing through lofn. This removes the lofn roundtrip, uses the
chronological retriever, disables engagement filter, and applies all
user preferences directly.
@pnvasanth pnvasanth force-pushed the fix/my-feed-time-skip-lofn branch from 7e432e7 to 4dd4bdb Compare March 10, 2026 10:57
@pnvasanth pnvasanth merged commit 3ffa6b9 into main Mar 10, 2026
9 checks passed
@pnvasanth pnvasanth deleted the fix/my-feed-time-skip-lofn branch March 10, 2026 11:07
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