Skip to content

feat(achievements): increase max showcase achievements from 3 to 5#3636

Merged
AmarTrebinjac merged 1 commit intomainfrom
eng-835-achievement-showcase-rarity
Feb 26, 2026
Merged

feat(achievements): increase max showcase achievements from 3 to 5#3636
AmarTrebinjac merged 1 commit intomainfrom
eng-835-achievement-showcase-rarity

Conversation

@AmarTrebinjac
Copy link
Contributor

Summary

  • Increase MAX_SHOWCASE_ACHIEVEMENTS from 3 to 5 to allow users to showcase more achievements on their profile
  • Update GraphQL schema documentation to reflect the new limit

Changes

  • src/schema/achievements.ts: Bump MAX_SHOWCASE_ACHIEVEMENTS constant from 3 to 5; update mutation doc comment accordingly

No migration or schema changes needed — showcaseAchievementIds is a JSON array in user flags with no DB-level length constraint, and the validation logic already uses the constant dynamically.

Test plan

  • Verify setShowcaseAchievements mutation accepts up to 5 achievement IDs
  • Verify mutation rejects requests with more than 5 achievement IDs

Closes ENG-835


Created by Huginn 🐦‍⬛

Update GraphQL schema doc to reflect the new limit.

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

pulumi bot commented Feb 26, 2026

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

✨ Neo Explanation

This is a standard application deployment rolling out a new code version across all API services, workers, and cron jobs, with accompanying database and ClickHouse migration jobs replacing the previous version's migration jobs.

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 latest code version.

Dependency Chain

The new application version cascades uniformly across the entire workload:

  • 7 Deployments (main API, background workers, websocket server, private API, Temporal, personalized digest, worker jobs) are all rolling over to the new image
  • 32 CronJobs are updated to use the new image for their next scheduled runs
  • Migration Jobs are replaced: the old DB migration and ClickHouse migration jobs (tied to the previous version) are deleted, and new equivalents are created to run the pending migrations against the new schema before/alongside the rollout

Risk Analysis

No stateful resources (databases, storage buckets, persistent volumes) are being replaced or deleted. The migration jobs warrant attention — if the new DB or ClickHouse migrations fail, the newly deployed application pods could be affected. The deployments themselves use rolling updates, so downtime is not expected.

Resource Changes

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

@AmarTrebinjac AmarTrebinjac merged commit 78c4d25 into main Feb 26, 2026
7 of 9 checks passed
@AmarTrebinjac AmarTrebinjac deleted the eng-835-achievement-showcase-rarity branch February 26, 2026 01:19
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