dubinc avatar

dub

0 subscribers
TypeScriptJavaScriptCSS

The modern link attribution platform. Loved by world-class marketing teams like Framer, Perplexity, Superhuman, Twilio, Buffer and more.

Created Aug 2022

NOASSERTION license

Live activities

steven-tey updated the payouts cron to include the program URL in payout log messages, adding better context to the notification output. They also removed the “Upgrade required” plan-gating label from the Rewards “Add condition” button by simplifying the UI logic.

Updates authentication and onboarding layouts to use dynamic viewport height (adding min-h-[100dvh] alongside min-h-screen) to prevent iPad/mobile browser UI from causing scroll and clipping, fixing issues like logos being cut off on signup/onboarding screens. This should improve full-screen layout consistency across devices, but there’s a potential risk of unintended layout/scroll behavior differences across browsers that interpret dvh differently, and the PR currently has a failing api-tests check that should be investigated before relying on the change.

This change adds a daily QStash-verified cron endpoint to clean up partners who aren’t enrolled in any program and updates usage/email click summaries to pull richer top-link analytics (top 100) and render links using structured metadata (link id + shortLink). It improves data hygiene, makes partner deletions more robust (handling commissions/payouts/messages/submissions/activity logs in batches), and strengthens E2E testing by adding a dedicated bounty+submissions deletion endpoint and scoping workflow E2E operations to the ACME program. Main concerns are the risk of unintended partner deletions if the selection criteria are too broad, potential performance/load from repeated batch deletion loops, and the need to ensure the new E2E-only endpoints and program scoping can’t be abused outside test environments.

steven-tey pushed a fix for a PartnerStack importer bug and updated tests. The importer now upserts default groups instead of skipping them, the schema allows partnership email to be nullish, and the AwardBounty workflow E2E tests were adjusted to include a partner groupId.

steven-tey pushed a small update to the usage cron API utilities to address CodeRabbit feedback, limiting the processed click data to the top 5 items before mapping.

Steven-tey fixed the Award Bounty workflow E2E tests by adding a dedicated endpoint to delete a bounty along with its submissions (and any linked workflow) and updating related E2E workflow routes to scope queries by program ID. The tests now create bounties with the E2E partner group and use the new cleanup helper to avoid leftover data between runs.

pushed
dubinc/dub11 days
steven-tey

steven-tey finalized the cron cleanup API route for unenrolled partners by tightening the deletion criteria (only partners with no programs and no Stripe Connect ID), tracking how many records are removed across batches, and returning that total in the response message.

steven-tey removed legacy Next.js redirect pages under apps/web for old /links routes, deleting the handlers that fetched the default workspace and redirected users to the new workspace/analytics URLs.

steven-tey added a new daily cron endpoint to clean up partners with no program enrollments and no users, deleting them in batches via the existing bulk delete flow. The push also updates the click summary/usage logic to fetch up to 100 top links and pass full link metadata through to the email template, switching analytics links to use linkId-based URLs. Additionally, bulk partner deletion now guards commission/payout/message/bounty/activity cleanup behind the presence of program enrollment IDs to avoid unnecessary work.

steven-tey fixed link analytics navigation across the web app by switching analytics URLs from domain/key query params to a linkId-based route, and adjusting one customer table link to open in a new tab. This should resolve incorrect analytics hrefs in partner programs, customer activity/details, domain cards, and link analytics badges.

steven-tey pushed a fix to the Export Partners modal: the export now respects the current status filter from the URL (falling back to "approved" if none is set), addressing a bug where exports were always using the approved status.

steven-tey updated partner search to include companyName in full-text indexing and query filters. This expands search results in both get-partners and get-partners-count, and updates the Prisma Partner schema fulltext index to cover email, name, and companyName.

steven-tey added a new maintenance script to bulk-delete program enrollments (and their links) for a given program when they have zero leads, with safeguards to stop if any linked leads are found. They also extended the UI resource color options by adding a gray entry to RESOURCE_COLORS_DATA.

- End of feed -