Skip to content

v1.0.0

Choose a tag to compare

@mikekhristo mikekhristo released this 18 Mar 05:13
· 9 commits to main since this release

Changelog

  • 43b66125fed86154fe171e28204ca0d40c027ef0 (tikTokAdsManager) ensure bundleId is converted before calling zaso (#521)
  • a651a98428dc3850aba2a8e0009e9aa6522e7dcf ALL RECIPES ARE WORKFLOWS (#158)
  • 4db6952ecfd21461532e56e651b6f93f6d9534ff ASO audit workflow + onboarding/infra updates (#207)
  • 6476d1eb18f0221add9145016139f7d8b949f979 ASO config: unify to config.app { bundleId, appStore }; migrate existing ASO layers; update workflows (onboarding, data-sync, aso-audit) and activation to new shape
  • 22d517529fcd3c48d3ead06da291640f02f1824d ASO visual analysis: enrich + LLM analysis, workflow wiring, social removals (#248)
  • 38f3cceed03625bcad9016a6e4720dd335333118 ASO: unify template input mapping via TemplateResolver; fix missing bundleId/appStore (#211)
  • 871181d711e70f612ae08c8acd23b318c0cee99c Accept revenuecat user id from properties (#536)
  • a682aa88ce9118dfc24d33fc8939d15da935f463 Accept user id from properties for user properties ingest (#533)
  • f0fcd8600eeb475b05f34dccea59e5a69bce3362 Add GA event tracking for hello form (#58)
  • 938aeadb5f78d92494f9da60d1695af392274fca Add Stripe sync function to Supabase config with JWT verification disabled
  • 6e9fd6b8dbacf620b08504f15990aa6ae9340edf Add TikTok metrics ingestion, webhook handling & DB migrations (#14)
  • e922e59d332ea9013b14c1c0efb7983830f027fb Add claim parameter support for layers navigation (#221)
  • 6b5d17396c11e856a67d4efa711996ee5892ab16 Add completion percentages to waitlist metrics (#64)
  • fb005c50d54f6849a72fdf91b4162fcdc59d1a85 Add date picker filter and activity heatmap integration to live posts (#230)
  • 62e87357cf2289150522b4034360b15ba90d7195 Add delete project to project settings (#832)
  • a52a16625a79bd598cdf3e2a814a62d7c438a5fb Add profile picture support for social accounts in OAuth callback and frontend
  • e157291b22d5b3bac60b78e24b88638afcd5aaeb Add recently used content recipes in generator (#435)
  • 73bd17c88d9ecb843dd389712f3defe8486ec55e Add style category support via discrete workflow keys (#361)
  • c7ca6e7d378ebcfbd157cb4199a52816fa8c3d43 Add waitlist metrics admin view (#52)
  • 70044a488e65ae1afebedfc8ffa6d00454c03e04 Add waitlist signups line chart (#57)
  • 9b4e5b60fc1d17338558d7e4e8335ead60d14de3 Add waitlist type metrics cards (#56)
  • 70647bd6cb5f91e2c86dcfa053b87bf99b742bb6 Additional Fix: Cloud Run Environment Variables (#520)
  • ccc4f4cff0b275849d3e99ba6bf582bde3014688 App onboarding parity: eager ensure + immediate app details; cache/UX fixes (#216)
  • cd8174aed4a3fa2e7adca311f0ad3b88a3c86428 App updates (#42)
  • cfdbc8cab95974cfc1a21eb25d27595e902b64b8 AppRemovalConfirmationModal: broaden match to include config.app.bundleId and remove redundant type filter so all project layers appear; text aligns with social removal UX
  • 18e5383885d5b7716a4696f6fc7a2f41eb7603c9 AppRemovalConfirmationModal: include config.app.bundleId; filter to type=project only; show all referencing layers (active+inactive); copy tweak
  • 92ea91aa7d9f0a9be617d4525e247ed1f5c08e7f AppRemovalConfirmationModal: resolve 'Unknown Layer' by excluding system templates and falling back to project layer name when template not found
  • f1f9526fffb55e3e01f113d1afc97a093da3431d Billing fixes for live vs sandbox (#288)
  • 225336321c06c1756feaee03305254e759eacd18 Brainrot split-screen video workflow (#381)
  • 680fd6f58f9c9f8d6d81aca4a355290e96bcbe5d Candidates admin view (#87)
  • 885fa626be3e18e6474bd25d2dea178707e31885 Centralize credit pricing constants and fix billing settings API (#223)
  • 37b562f20f5885cc128062c731dbb69d2257a9f3 Centralize environment configuration with type-safe fallbacks (#219)
  • d6a60994bebc6c1112303556c9c4de33587aeb4e Chore/silence posthog in dev (#353)
  • 5b98cb858d4d0385119c8071fcb937dc20649131 Clean up documentation with enhanced architecture diagram (#90)
  • 5c867d5f4f0242e6b26d55b301309abf0c76f66a Clean/add clean cmd (#204)
  • edab69bf45644bde908dee98a95fcd5df9ac4193 Cleanup db (#148)
  • 9f5efda56bdc0824b54681c908b9aec73804f8cc Complete unified auth flow with integration of organization status checks and referral code system
  • b523d673e54fffaff1180e09c847b4c4b61e2bd5 Content generation improvements: caption styling, text positioning, and activity management (#366)
  • 9447a6fe04938e7640058e04bd5aa1ddda783eae Content workflow improvements: styles system, overlay positioning, and workflow refactoring (#360)
  • 29a97d12eedd6d62e73a74df51b0ff905e29ab6b Create layers branch (#126)
  • f3718ad1976523cadad2429286b95467f5131333 Creative Studio (#629)
  • 89421e1ee554bb369fdfef0b10589922bab606d9 Credit v2 (#72)
  • c7ace56bc374f77a2f9087e00884c1903ad45e73 DELETE /api/project-layers/delete/by-app: filter matches across legacy + new shapes; return only project layer IDs in response
  • bfca18eacf831e5815f48d42932963a1a7e1dca8 Decouple Social Content; content source wiring; UI + API fixes (#239)
  • 986bd18656f526c9d5b5c72135c543611d899894 Deploy script updates (#35)
  • 4440321ed5263cce5d35119831f06a0add78c270 Deprecate /ide route and load full web app in VSCode (#534)
  • dab07de6e991cc587d85c299b7eac685611f5134 Design/responsive (#539)
  • fb0b2fda8193cbb90c2c28dc7441feb5c723d458 Design: Update branding and UI refresh (#513)
  • 62df95d006233e66e894e362a83508eaad8edcad Design: VSCode-style UI refresh and component reorganization (#519)
  • d40fcd579919b2ad0fe6b451f6e74ae0c02b1cbb Dev screen (#86)
  • 7dc31528b776300d91067236ec2343b4219e9dc4 Dev/wfe health fixx (#169)
  • 019558e0a02a577ec6bc06423108a8f413571204 E2e and unit test added to aso module (#276)
  • e865d9620c624807ef17eb9e2f67425345203953 Eager content during onboarding: provisional MC + early generate (#462)
  • b190f66d21dce129eed35a7596a61641b2a1e552 Empty state improvements across project settings (#862)
  • 7ada05009bfa76ff955534b31b476cc06844357c Enable OTA updates for Expo app (#62)
  • ca19484a1361b5711492e892e168b6726322e899 Expo adhoc create (#32)
  • 6dc9cb9815ed16cc1a760f52f7bff2737215a94a Expo app updates - Sentry, warmup task bug fixes (#65)
  • eaebf644d796f19e247399829d8d451cd17836db Feat/aso audit workflow (#140)
  • 72c2f193d8ccd84dc61a8d0596fa21f84abc02cd Feat/aso screen (#206)
  • 3e461340e9d95b3ba4ecf0bff8b7e1d5331d695b Feat/brainrot online (#382)
  • 30c7d2b7082ad0bf94bfa9b3a8fba328d29ffdff Feat/cleanup content stuff (#240)
  • 7707ca3c72a0c482f7f093af9c9ee17eb63c18f3 Feat/content approval (#38)
  • 0cf28c753894183ea854d515cdb68a79ca7d66c4 Feat/content dashboard ux (#18)
  • 2c9464be3eee3d5613b1f00533fa0653bffa7ac5 Feat/content oct 10 (#379)
  • 76560ddeffb5f06f037a73bdbaf93efda60bd4dd Feat/dev mode workflow recipes (#331)
  • c4a9cdfebf7d4cdfad444e06ec81a2218aae8f42 Feat/events (#195)
  • efe5da7184dd03af29bc07c15d09e3f711d91df6 Feat/expo timer (#154)
  • 651b2c342582a46eaec1aa6a9e8da6d62ae67d64 Feat/gh first (#227)
  • 4fb1f2b15e4eeca26b3cab22d5d86019caff86b9 Feat/icp and marketing strategy generation (#21)
  • 3e5b9c9569b7c27ba1c139c71ea834027aa2da4c Feat/illustration (#429)
  • 1b69c354d28bb2dc3a03c696d8e4abb1ac1ff9ab Feat/img gen (#6)
  • e44691fb4c6941f385fd28298a390baa2b77f4f9 Feat/inspiration work (#586)
  • af4b52c7beb3e41c9c1c8817035833e94a205d7e Feat/lay 183 (#110)
  • f24c2d5215817f651ded91eeaa387ed88e3455a3 Feat/live post stats (#553)
  • da9509960d6c9900184f5d27a080ba8066f68f78 Feat/queue (#8)
  • a7bb3f1a7806a55a7ef80c1198e21118d27c4192 Feat/slideshow multiple textoverlays (#567)
  • 413df313df4eb08a94569924e3d4659d753124af Feat/social account health improvements (#591)
  • 1afbc99cc335636fb0fd3397f3ef42cadf05b9f2 Feat/style content workflow selection (#362)
  • 6342d673027257a7fe248de14aa878f320de9704 Feat/vscode duex (#396)
  • 4fbb9f517d90f69a0ca33f38292f86ed1ec2d9d4 Feat/wfe obs (#415)
  • 692ba8fbcd7dbdc7aa02e12ce92359cfdb48cfda Feat/wh analytics (#167)
  • bf295f459fba4997f5d3cde728a33d3e187ed17d Feat/workers - TO DEPLY WORKERS: cd workers/ ; ./deploy.sh (#36)
  • 576d87e9ff36be1abb0ab612b9981684f36d7634 Feat/zaso intergration (#232)
  • 7df1eb4532ada37c8c94e129d0a67b2b6a6bcd14 Feat: Add content generation workflow thumbnails and visual improvements (#371)
  • 24da87bbc4963a1d3158d3f5890d12ef8a5bba19 Feat: Add password management - change password and forgot password f… (#378)
  • c53dcf6a12ff1beb1b53453646e96cbf97ea00a9 Feat: Add thumbnail generation to content-generation workflows (#373)
  • 77c4b7708c59c81b8a19dcb37c48f7335a7d1906 Feat: People metadata integration for gender-aware content generation (#369)
  • 1e079e10dc76ae99190726e282be3328c9545591 Feat: Register GenerateNarrativeScenesActivity (#370)
  • 84b0e4f504fea7828405767ca9c7a6f2afad5a82 Feat: Restore initialize command to Social Content layer (#372)
  • 68c4a90941fe71acb19184760d0678870df9cfd8 Fix ASO routing structure to follow established patterns (#218)
  • b4b2834631a4e65ae18ca5f3518df26c5077b5f7 Fix Docker development hot reloading issues
  • b2540dfb79f7451eaeea8412eb1f957103997f85 Fix IcpPersonaView.tsx to handle non-array values safely in renderList function
  • 27e0a0166fe66e05983e784311c9ff01b86d605b Fix OAuth black screen and push token RLS violations - eliminate race… (#74)
  • 392cb4622b0bf284677e47a2d795fd8faac332f8 Fix Stripe webhook subscription handling and add subscription_plan_id lookup (#283)
  • 9e820986f615bac0ecb4560d5d9632d1273f888d Fix TypeScript errors and replace 'as any' with proper Zod schemas (#220)
  • 091095f752c8aedcc05b5009607fb6761d6103be Fix VS Code extension authentication and UI improvements (#96)
  • 8c1c8b58bafd9a7445a232de24bea3f063c7a45e Fix admin access by replacing hardcoded user ID with database is_admi… (#88)
  • f2e4fefbefe1926a4f40566a4c8c3aeb4c9b8e31 Fix critical timeout bug causing duplicative processing and cleanup activity config (#144)
  • a69da289ee7cd95b641294bd81b0e6ccd9497d3f Fix deleted distribution layer filtering and archive toggle state (#428)
  • 9cfafb008b1fdf6fe2246eabce04cfe2fb09501e Fix duplicate apps rendering in project settings (#194)
  • d9e0b6e4c33e7cfa1edebc52901206d409b8fe48 Fix form reset behavior to only reset on mutation success (#192)
  • 10835dd6249512e9c03379081d4caf18ab7cfe5c Fix interfaces package build and consolidate credit price constants (#228)
  • 8126974ec63b92ff36b7b73417fc55f901069c66 Fix layer deletion not updating UI (#544)
  • 5161588308a601c070c84c5690107450cd99b6ff Fix layer edit modal and schedule cancel issues (#101)
  • 7bcda52e201bea891744fde811f74fdef147bf8a Fix loading states and add confirmation modals across the app (#188)
  • b9cf29dbfeedcfa3e982561fe07d594cefa22115 Fix map is not a function error in IcpPersonaView component by adding robust type checking for arrays and objects
  • 23acdc4b355c428cd3f3110e0e8540cea5d708ac Fix post title/description/hashtags
  • 9c6208fe251b505ff37323a113aa524876b5b0dc Fix pw reset (#134)
  • 41bc7fb186945ac5ba84baba8098436ee5464a0a Fix retry logic for processing worker to prevent infinite retries on deleted assets - Use actual read_ct from PGMQ message instead of hardcoded 0 for retry counting - Increase MAX_RETRIES from 3 to 5 for better tolerance of transient errors - Add early detection for missing assets to fail immediately without retries - Always archive message when max retries reached to prevent further attempts
  • ab8fe4eacf0d5edfed69a11cac66418e73f32e4f Fix route parameter persistence in generated posts navigation
  • 42afe7afb2338121ea494056f9c190a5df2e5d99 Fix routing conventions and React hooks order (#185)
  • 234934c6ece88cc74fe2c9ef73547c8f4bbf07bd Fix s2r (#70)
  • 9f76da935bd8c4f28bd3b112aadf3cf80f6e5883 Fix scheduled posts filtering to rely solely on is_deleted flag (#439)
  • 204119e8aaf0c76c69de87ba945c29010bc00769 Fix scheduler enqueue log idempotency regression (#394)
  • 4ca790667b168a4318e4744d75124b4a98d0cb48 Fix scheduling form reset UX bug and improve popover alignment
  • 661005afa413b328ee5d7d7b149863d7acad1a70 Fix scheduling popover updates and remove regeneration feature (#397)
  • e0e39b33ae8a2be8460509fb5fe92d522ea7659c Fix shake-to-report sensitivity (#71)
  • 7a9140265e8ceeb2a934f8e0d1157e4f33985514 Fix social profile pictures and IcpPersonaView errors (#28)
  • f72067711982fdaed861950162d8b6ef72dfcc7b Fix workflow engine dependency resolution and duplicate execution issues (#157)
  • 21e5b13aa6821ac4330a5171692f9bec5bf4d62b Fix/api (#490)
  • 2b1b408b6f45d32136af894204ba60e717a17100 Fix/api2 (#491)
  • e648373b1a69b9e5bc8731ffa0a38444dbd85d2e Fix/dev screen (#97)
  • ed9a392d965f9716920be8920f519f6bdddc2c62 Fix/expo startup (#81)
  • 0bcdc7116747d9b306f3fbdd1bfe8681bcc56c91 Fix/gh build size (#488)
  • 3a890de9e4017f3ad069d0c9001fd09decd3d35c Fix/google auth (#500)
  • 14ca36d89d311942e2058edcf8f65a02227edba8 Fix/lay 198 (#116)
  • 262e780c87626fffe5f9f8153d5d35442a1b54b5 Fix/mobile (#393)
  • 835925568479f88098a6aeab0b26b11fd247fa1a Fix/mobile tt (#406)
  • a6472b06e200d2942eaa5e00137b3871b6f84ed8 Fix/money (#386)
  • a4b8e25fa401a841199ab925a20cc0cde7378167 Fix/orgid npe (#357)
  • 5fc8b1b84a3fc1d83b91950943038fbaaa81369c Fix/platform posts (#434)
  • 32f722dc58e9983d745d740fd5918c0905cd7291 Fix/revcatid (#547)
  • c997f44b7a1956aea18a239d99f00cab331dc733 Fix/supabase2 (#325)
  • db0c202461bd62d44474846973a83d5816747647 Fix/web interfaces imports (#356)
  • fc4c74357b471f955656a65bfc5dccd28d1a5914 Fix/web obs 3 (#431)
  • c3123044d18606b4a1b873b2faa3d5e192c7b595 Fix/workflow errors (#384)
  • 3948820401e5e6a14757e6559f08144fd6065693 Fix: Accept null values in activity schemas and add missing workflow dependencies (#368)
  • 95674e26b44d997d38517a0c6f65cfd2bb7a3f7a Fix: Add ascAppId for iOS auto-submission to TestFlight (#449)
  • 03eab3ecedde48c14e4fc3bdf585582ca66bcec9 Fix: Add prebuild step to CI workflow for iOS Live Activity (#448)
  • 88579fd8dedad800dbb7b1f0e4b3cc9c1ff72e24 Fix: Correct TikTok comment ID handling and parsing
  • df56c5021a8dd839c3beb87caa151834f9b4d867 Fix: Implement proper 404 error handling with TanStack Router pathless routes (#183)
  • 4fdbd385852d31c8519ca10db0dd2ae3931ee75a Fix: Improve content generation activities for Veo video and podcast script (#403)
  • 37dafad3ad2c6245675462a434367a47a5f3300e Fix: Improve loading states and remove lazy loading friction (#184)
  • f2b2b6aad3c608c13698f890dcebd0dec4fc21cd Fix: Preserve .env.local variables when using doppler run (#367)
  • 7827c0ac204f18a54e58b32b5c032b650229cf06 Fix: Prevent iOS memory leak from duplicate Realtime subscriptions (#456)
  • 73cdc4caaf4c2c4c9f89450dd4c12534ba51a4f2 Fix: Prevent lastProjectId from being cleared on initial page load (#398)
  • 7bd562d64dff107595c408451eeb97f899c65acc Fix: Update OAuth callback path to /auth/callback (#7)
  • f395e473d94820e98275d2e1ef91f676024297a1 Fix: Use layer-specific social account for scheduled posts (#45)
  • 461015e269798dc4e6ffc30c8784e7d78b4c40c5 Fix: scaling workers locally don't honor env vars (#376)
  • f9aa6d9a5db49b4d7d6ee7ab1666e17022024cf4 Fixes (#39)
  • 74e3f5497e012e147d6f41b1767de9b4028ce0dc Full subscription mgmt / stripe integration (#200)
  • 603bb1eecfd52089b0d0e52a194a76a20df98d5b GitHub - share installations between layers orgs (#365)
  • 293f4c2d9a512578894590f2160533db483750b2 GitHub installs: user-scoped only (stop saving organization_id in install callback) (#225)
  • 3cf2960581a95b8fd47073fb1e18205797c13634 GitHub onboarding + workflow fixes (squash)
  • b9ee081285e70bb1136e3122d5899be4e1041e61 GitHub onboarding UX + auth: button-based skip, settings icon, connect another org link, unified loading; add user scope to resourceRefs; update validator + template (#224)
  • c9b4bc02a825356ebfbd7bee1ad1bb6da6533139 Higgsfield provider integration + slideshow/image workflow updates (#253)
  • aedde9128fb829df28b563414c4f9955363d9b34 Implement GitHub OAuth authentication flow for VS Code extension
  • 097767ea7b63b8912c84b45d55be541be435cc85 Implement content regeneration workflow flow (#246)
  • 5443f1cb1cedfca920ee57f55950d393c933ee34 Implement forgot password flow (#47)
  • 614b93572b0fc658ff0a6c1a8d1cda763b5cc923 Implement optimistic UI system for content generation (#238)
  • 65665a78a5be99af6af095b95065543eab40408b Implement real-time stats dashboard with account filtering (#244)
  • 9581230a2267f446925d3c19556e9222c910bc7b Implement unified authentication and onboarding flow with organization status checks
  • 0fadc4bf34b64d0541146e54f6c8c92c69d33521 Implement welcome email for new user signups
  • b7e8987d9765e8a6e948c86f20c38e2cff91c942 Implement workflow engine queue scoping and atomic operations (#143)
  • 8c89dfbc43d485c6826e805dd4e9f05a70bf94e7 Improve Social Content Layer deletion UX with content container count and warnings (#442)
  • 1c3628a80710f87df2bb4a42cf80ed6765ac4795 Influencer Image Workflow (#135)
  • 4dd559edee1a525dfcb06a5f76cfb73244b4bd7f Integrate scheduled posts with activity heatmap and enhance UX (#234)
  • 910ee645225bab7f119bb0755f854cb21608c200 Jim/activity worker filter (#139)
  • e7a939d4fb36833fa46781271c3cdddd509ec9c0 Jim/layers wf integration (#164)
  • f5b88db60aec7b7d0caa7c7dc4f7d281b9962d46 Jim/wf app ingestion (phase 1) (#142)
  • df8a67ca8a88d0307ee1f025c9fa6e50b9581c5b Jim/wf conditions (#137)
  • 473942dbd9f83338fa49be502db2919f75e290d5 Keywords section failing working again. (#275)
  • 21f5d1032f7b15474c19b373128219ca90f323d4 LAY-38 | stripe billing subscriptions/credits issues (#483)
  • e127d57064006655601f1a30ad42dd5ea148b0a0 LAY-80 workers build fix & rm dist folder (#123)
  • 13aa358d2fb73224ced14d498d7d1fd4ee1ebf91 Layer arch (#54)
  • aa10ec121ea07f3d84e8052a46ebd995d398dc1c Layer engine: commands architecture, split video workflows, storage view, logging & docs (#172)
  • 8d0b45e4f6902353a20a4e37cad2def87fb30923 Live Post Detail UX: cover-only media, source link, richer metrics (web + mobile) + TikTok fixes (#444)
  • 8559a9c72d4e60c6053b735c0694b7bc81b746bc Major workflow engine refactor: Consolidate activities, add audio support, and improve media architecture (#345)
  • c0fab911169a1c0afea78d7a50ecc9c7ccf5bb5d Make app_name field optional and update placeholder text
  • ba3a8a1e5258b326f5c204058a2f4b588d43da7f Media Library: baseline functionality (#549)
  • 6e486d471348038b6f40c45333b0c418b8aa5794 Merge latest from main - integrate warmup layer functionality
  • 76f6c1eb6409ce557fdf2c38be1eb47444006cdf Metrics v2 (#68)
  • cd21a5664319b0d34c4395649df73a48e89a73c3 Migrate post filters from Zustand to URL parameters (#233)
  • de12c7d5a2a6cd32b2eb3946c08e56adc6275b4a Migrate web -> api and web-explore -> app (#478)
  • 65dc8f5164e0218a19a6b8bbb7ac46bed944587c Misc UI cleanup and UX improvements (#827)
  • 5211792bef279a54c42a700d5eb04c89325ff9a9 Onboarding pass 1 (#78)
  • ce615efa529f63a8149ed3dcae90a7028aff347d Onboarding: IDE, create project UX (#124)
  • 7fe051014024cc818853fe0c1b51a37608704b16 Per-account scheduling, publish now with phone verification, UI polish (#907)
  • 1ce45bf22f4bc93fdfce9ce2322bfe32e52387b3 Posthog (#255)
  • ea14960a37c279bdb61113e66dbcbe8ecb64855a Posts cleanup (#242)
  • bec642e55d376a922f417a7f7d95806b2e87e84c ProjectApps: fix undefined appStoreApp/googlePlay; drive disabled state from backend-connected apps; invalidate projectApps on app delete
  • 35f12e7178f06348705c8300cc719ad1afc3b524 ProjectApps: optimistic add to projectApps cache on selection; onMutate remove from cache on delete; keep server invalidations
  • cfa349b1377cfee3d9b4c34c9a67c02110db73b3 Queue UX improvements + eager content container creation (#882)
  • 5a6875311a228cc41614e734bc99266a56eb56f7 Real tiktokuser prework (#639)
  • a0060018859aaa9a917110d955a3fd440dafe21d Redesign create project UX with product education (#822)
  • 2a6eefe289de23d0c4da4135aabefa06fcdeb3d1 Refactor MCP server to use server-side processing (#4)
  • 3631c11ee35b68d5309b843d24c607541e92aede Refactor waitlist questions in hello page
  • eb0e9c7ac8e348813855f3b1d110d771be25f13a Refactor/credits to org (#170)
  • cfb951803431187af869a4840290899302e4f2ba Refactor/expo app tasks (#152)
  • 7bba9e74d43b8812c4cc8f1a97c2c686fc58e30f Refactor/mobile (#293)
  • 751ef4c53677f8067afc3d5fdd3da22014ae7a10 Refactor/pl2 (#156)
  • a16a53a6dd58ed696a99587216c57759664007f8 Refactor/subscription (#171)
  • 5a658e1636bde68c8a1ca4fc33558ff3b6889788 Refactor: Enhance Social OAuth Flow and MCP Error Handling (#12)
  • c93b26a64c1a367e8df0b52b6c67839a2e75e76f Refactor: Global routing architecture and project settings reorganization (#417)
  • 5edbd5d98e5d545c55d1f431906f307e811f7120 Refactor: Nest thumbnailUrl under presentation object in metadata schema (#374)
  • 93ba0a5f8c96d3e753ab5624cf3146948b70bb65 Refactor: Social Content workflow improvements and simplifications (#377)
  • 150757c7bd36da07e8cd39ad7bf41563beb5ff68 Refactor: Unify social account & layer creation UX (#407)
  • f9c6365b3a4bc73ff2f68454d1c4eadacc698386 Refactor: remove legacy local OAuth code from extension (#13)
  • 998ac0c2c0a77291aa780bdf5d1fce3022d64c68 Refactor: replace layers table with project_layers table (#155)
  • af0dcd6934cc067175297f3a67483b7bfa35b4a1 Remove ASO layer auto-creation and refactor ASO UI (#436)
  • 511b4d9a15d0431f15eb0ebbe20e220068573ae3 Remove legacy shared package - no longer used by layers-sidebar extension
  • c4f2bc08d01341737fb2afac25a921bcfdcd54fa Remove manual layer types from platform (#92)
  • 5ba9e61ab39c42f9006ed95df38269618d2b1bfb Remove obsolete UserProfile interface and update organization references
  • a3dc7edbb1dada223c4495223a245868f1fd6e0c Remove pricing page and links from public website (#133)
  • b9ab6cd4212347c26dc1ccfcb34e39271b5e4965 Remove unused environment variables from docker-compose.yml
  • 117bc74c43f7abf5bd1cf41e87c3fe477e540ed5 Restore content metadata: include post titles, descriptions, hashtags… (#19)
  • c361540aa8cc0c6424f71800dc7367fae8c4122f Revert LayerCard activation button to read-only status (#214)
  • bb0e34f4c4079bd82bab69094dd76c2b036e1fc9 Revert PR #877 (fix Inspiration tab regression) (#886)
  • 9ece27947bc2a1c695362887344cfbe105cd8fd1 Simplify UGC researcher (TikHub search + MP4-only adaptability)
  • ab3f56d18beb80fff1fca985311620db7b6b0201 Simplify ugc-researcher (no UI changes) (#889)
  • bd974a0781693fb242ba348d573d5e69bab8fad0 Social Account Health Monitoring Improvements (#589)
  • 7203ba5c5e1bd17b95f0e6689e5e182cf9fe6ad3 Social metrics time series + rollups (TikTok + Instagram) (#279)
  • 3c7164a067a657fe154fde228127f9db5bf1c597 Squash migrations (#138)
  • 917fe57d69ad3b2487b6389c535ff812fbc5f758 Stash tikTokAppId , ad manager billing v1, slideshow support (#511)
  • 13a46657ac2b81903e42233a0268f646fff28253 Steven/lay 113 create project button (#94)
  • 5876371c29274a24964515237950c0671999a423 Store content outputs (content_containers, supersedes content_groups) (#162)
  • c7628f438df2cf9cc5aae1f0883b823fead146f9 Style cleanup (#209)
  • ba93093caae0b1df3215355519925aa039d94302 Style fixes (#210)
  • 127f4e4239fcbfbefa2880973e3989b211024f6d TikTok Ads v2 — identity flow, agent targeting, E2B modernization (#969)
  • 74875bf7cc35ed09ee43ccabdf1a49300d321ffc UGC Researcher: analyze full videos for adaptability
  • ed51298d9d2be9eecfdf5807f88dcaba9785b3aa UI Polish: Comprehensive design system improvements and component standardization (#710)
  • e686af8e918900416a8599acec1cdd296c758181 UI/misc pass (#680)
  • 1e35924ed88b9ddb5a04d5167a780dde02905dc7 UX improvements: loading states and social content layer customization (#421)
  • 6d9839d7ecd3f13a226d34d21a6cdb1259c960b7 Unify Publish Now UI into single select dropdown (#952)
  • 42817d15da5bf1b2c69dabb673b0ac462a48fdca Unit test added to web-explore project (#265)
  • e386f0058afbc95d692e948d65c62d9f0bcef897 Update 1-worktrees-setup.md
  • f6d99c3870bb233ec22cb8dbfb6c317ad47a8c28 Update GenerateAsoAuditActivity.ts (#399)
  • aaa81078e2584cd4f08c4a8c6edc5485080840ed Update MCP server with improved parameter descriptions and fix syntax… (#3)
  • 9d05bb5b85dbb655812d6783e2ae5ed82e657788 Update todo.md to reflect completed authentication, waitlist, and onboarding flows
  • 2b16abf9e5adee6d180826dda7558d0fe752ff57 Update waitlist form: Add product type questions, simplify conditions… (#43)
  • 995a3a77e19ae9af12ee0c65b541db98740c0cc1 Ux/posts pass (#571)
  • 2dcbc94a6beabac573d11eb6e6f5fb967fc63a2b Various content generation fixes and hard-coded activity versioning (#363)
  • 9901631684e53f26ad855358cf2161c45ebf3e32 Warmup Tasks E2E: mobile + API cleanups (#308)
  • 645daca10da7b56fb007c7bd5f4d424c1a2ddef1 Web admin push (#41)
  • 442cb44719d53a14f2b1daba64a3128ba7977221 Web explore project cleaned up (#269)
  • 8d50f710f706e15cea0faf5851754f470a440425 Wfe/landing page (#163)
  • 0e501267c900de202621a8b8b9ec4f69f92ba41c Workflows/sift sync (#582)
  • b64714b8c7286582d45fd4c6cd7c60050ddab16c [Aikido] AI Fix for Potential file inclusion attack via reading file (#176)
  • 1dd3df20d88b6ff81c94418e091fa27ec351de68 [Aikido] AI Fix for Potential for OS command injection via child_process call (#174)
  • 776a9fab566373a6798639ada71870d7c2c9b059 [LAY-34] - Support upload of product demo video & app screenshots (#301)
  • 689a725c5d3426956e98664cae5e61c24f072995 [LAY-421] - aso build out a dash cleanup recommendations (#287)
  • be8535c6a4113a4daf90b2463bb22a045622cc6b [LAY-443] - ASO / Keyword chart doesn't render properly (#290)
  • a589e6f72aaa8b72ac8f96c2a0752bfc40d90e1b [LAY-448] - Bug: can't delete ASO keywords (#294)
  • d77cc47208207402508596452829b3311c9655f1 [WIP] : TikTok OAuth & Posting (#5)
  • 92d1e32ff5a741c7a223df33f7893f867d5a6367 [WIP] Fix workers / text overlays (#17)
  • c3580d9b46ec15d58736d755950267c222982ca6 [wip] improved marketing plan prompt (#25)
  • b5505a58cb230bbeb3a286504d49daa64d0a8b0c add analytics
  • 7c7794f6495791beebdc3061895cef1333941eb8 add error logs (#358)
  • 117e8cc5993d85279b514dac18f2a3f00d475e38 add helpers (#193)
  • cc73cf044f57a9291328957db720aae4ee87f9af add lint:ci concept to pull_request test automation (#438)
  • 37fa18c0fb92f56daefbd7450e452e5f4f172da3 add missing content req id
  • 9cbe057b094f2c23fbd9338719e1321793d52289 add terms & privacy links (#16)
  • 8f65093dce654f2d252e7bda558b932d6c93da76 add web-explore to monorepo (#178)
  • 1b36baea37f51c84f41c0edc7b45a351405c4375 add workflow docs (#119)
  • cf18f32dd0c9c26cea7ffc472283df9849274820 address type errors (#165)
  • 0a1dc732b2642f7028f72f96771c62c7565f4ecc ads management rule engine spec (#662)
  • 16788233965bd3e520deb51b4ded04c45b4e4c05 allow workflow runs on prepaid orgs with available credits (#619)
  • 517a6c2a85d90061cc76c8bc653e5a94d52c909b api(/execute): enforce trigger.type==='executable' and validate parameters via Ajv against trigger.parametersSchema
  • 905bd97517e039f72f7fe9e373568bcbe845e16c api: block external initialize; POST /api/project-layers reuse returns id without re-init; system onboarding command unpinned; execute reads template with service role
  • 4fa4c1bbf39a9508d5c2654041c7b191fd57c8d9 api: validate /execute parameters against command trigger.parametersSchema (fallback to legacy parametersSchema); use AJV
  • cb53710c674cd429bd3d73c84c3cf7633e8d22de app removal (frontend): wire DELETE /api/project-layers/delete/by-app; remove legacy project_metadata app writes/removals; show associated project layers (exclude system) in confirmation modal; support new config shape in layer matching
  • b7a4dce2bff9962dff0dc982438358f6b0b0c5dc app removal: add DELETE /api/project-layers/delete/by-app (soft-delete layers by bundleId; delete app_store_listings); add interfaces; set skipIfActive=false for ASO init in mobile-app-onboarding
  • 7b94ce3411902034f04f8e296c04b0343aa33337 app-store/listings: add list API with shared zod schemas; switch useProjectApps to use list endpoint; decouple UI from layer types
  • bffe20a413bdbb5c884452fec27d431afe768acb apple ads BYO vs agency approaches (#651)
  • 87bc8bd1b4bfcc3a4da3489be934ff57e1b3d47c apple ads duplicate campaign deletion logic removed (#641)
  • 0f4627f5b62d9b84be55e2a1509ee133dc439778 apple ads performance metrics (#670)
  • 9bdf9e503c28fd82c39b18b70a381f83c9d63b8d apple ads settings old component removal (#655)
  • 29f98dc4cb5fd139e93f654a8261c683444a966a apple app store + google play + unified app lookup endpoint (#145)
  • ae8cf671dc93cab3c73980432f94881953265b75 apple search ads campaign management layer (#506)
  • 053086094cff13439d7d79ce4e4a412f6bcda0d8 apps
  • 7bd4a17604a3a4d220458a9d9dee1f97dd2e4d62 aso/app onboarding sanity: fix ASO template commands (add run-audit, point initialize to aso-audit); simplify mobile-app-onboarding (drop listing gate, allow refresh-marketing-context on active+bootstrapping)
  • 3a9bffde43b1a03c823fd87c051afb5145ae9635 aso: make run-audit scheduled daily at midnight (0 0 * * *)
  • b22b375d98b19a0f2df872b41de6e472e219ca2b aso: remove parameter fallbacks for scheduled run-audit; derive inputs solely from config/context
  • 96b2e2d54e5c7940dc1599f471fc2134ad6c137f attempt to change the animation so its based on mouse movement - probably need to look at 21st.dev components
  • 50e3628c852f4dffd6bece5968e3fd632a29f34e billing migrations squashed & tiktok dynamic billing removed (#565)
  • 1af73d0c17ba3f4fef410002382cf142ec8bebfd bring activities online (#347)
  • 04a3702649f9f1d63a17124103e22ea1c3fb0fae build
  • 257ae8d70a282c66be4749414959f3ce59d320c0 build
  • f6502bedb6a63fb121b1242f9cfa1c40b6fc2885 build fixes
  • f3b73f279368416abdbd18e2fc6599236365640c build mobile with legacy peer deps (#383)
  • 5b8e8fd99f53f178ab208753d269e52f8d85681b build: ignore supabase directory during build
  • 01593e2ad7ee123edbb083dd19fbf04dcb7dac6a by-app DELETE: stop hard-deleting app_store_listings to preserve FK integrity; only soft-delete layers
  • 90d5f990ec585c863d115a334fa856ab692fd855 chore(ahm): move sync/metrics config out of AHM schema/defaults; keep only social+onboarding; db updated separately
  • e1ff412ea03ba022ebaf372991e5ec459d25abed chore(ahm): remove unused onboarding.maxHistoricalDays; AHM reads local metrics only
  • e92126b2dc7513707912e5c85ab898472403f440 chore(api/admin): purge remaining Prompt Lab files (#492)
  • adb8a6ef969da4adea22e426ba1fc2c04f3726d9 chore(app-onboarding): switch config and workflow to single app object (align with project-onboarding); update all refs from apps[0] to app.*
  • 8c2bd70ce1d5ba92383b19913f1de56c89598379 chore(ci): remove unused integration test jobs (#715)
  • 09456d02bbe7faca211b769368fa7e06b44170fc chore(ci): use WFE_DOPPLER_TOKEN for workflow-engine deploy workflow (#489)
  • af7922bdb2467b6af6ecd6e98744bad66b7e9208 chore(db): Drop platform_post_metrics_summary table and cleanup (#741)
  • 34883ed18144c0a50ff9093ba4fe57cf93b42254 chore(db): clean up default org naming (#1176)
  • c94476fe263cb9445cb75abd7ba22a90fe8dc558 chore(db): cleanup legacy stats MVs replaced by hourly_platform_account_stats (#723)
  • 091514ef96911f1f4f0739e1df3b611deb924126 chore(e2b): separate dev/prod template configs (#789)
  • 80400e9f7543baf97cb463ef48cf21da61a9983e chore(layers-vscode): restore VS Code configs
  • 9b871e5a17959920211f17b245b380be0ec912da chore(lx): TUI silent on empty selections; no messages, no-op
  • 240f2afb4d29acf770ecabf7dbbc4e63fdeabeae chore(meta): update Instagram OAuth dialog to Graph API v24.0 (#726)
  • b215315a36cd905dd1b0d59f5f854746325cfea5 chore(registry): add Project Onboarding (System) v1 registry file; add refresh-marketing-context command; wire mobile-app-onboarding to correct template id; sync registry
  • d5c075a3270a03dce444671176a31cb645a78b96 chore(registry): sync layer_templates from DB to filesystem (AHM, Social Content, Social Distribution, Social Engagement, Landing Page, PlayKit, ASO variants confirmed); ready to publish
  • 5ed4db46cec6b3f6338a2241f6ae828c09e27b78 chore(repo): add CI/CD for the web app. LAY-446 (#300)
  • 0fa072bcfa7315b6244a5d838ccf64da1ebe9d0e chore(repo): add betterstack infra docs
  • a59c07079203c97010b11d6846afa7a2671fdbdb chore(repo): add initial version of web app deploy workflow
  • 63a52c90cddec9a280dafcc80c7a1ee0e6fe2d3e chore(repo): add sentry to supabase functions. (#306)
  • cfde4e66fefa937565adc8c7f3f654b06fed2351 chore(repo): bolt-on monorepo (#329)
  • 8957d4586870d894dfebb6025692e8b3519be4ef chore(repo): deployment workflow for workflow-engine (#315)
  • 00839fadf6f24b6d8feb7db56534d7cb1878aabb chore(repo): finalizing the workflow engine CI deployment (#316)
  • 5908f5a2517ec37d7fc2321d2b646d192489ab4b chore(repo): move lx to monorepo, fudge supabase/types (#338)
  • 6515561da542eba45f43aab7e93e3886c1296bc5 chore(repo): remove deprecated projects. stashed in keep/deprecated/0925
  • 0b7cdab3c8ddcb22221a24a2aa32fa0aad56c5c4 chore(repo): remove outdated supabase functions (#289)
  • 989d8358628d948cb6520f5ae6fc4b8423aeea9f chore(repo): run wfe deploy for workflow_dispatch
  • dceda5f24ab075e9f144ef6780cd7900a7e6349e chore(repo): slack alerts for sentry (#342)
  • e7c1f7c0b7937dbf4cb2b6f1bc2a1536e7ae763f chore(repo): supabase cdktf deployment, seed method (#351)
  • 4a149a31520dd8933c7636c4ec512afc5288b58a chore(scripts): add content generation workflows to sync list (#839)
  • 1a474a00961772f6883407b18fe0e5561942e4f6 chore(sync): Deprecate legacy metrics sync workflows and layer template (#747)
  • 61e3a239c2a87535ba8489b0062f91459d7ce973 chore(types): regenerate supabase types for sift search tables (#559)
  • b001e5305f08bdd4880e02e849e8394cc755699e chore(vscode): add verbose OAuth debug logging
  • 4b3a9a28f4fea275e84a75b3883e65593df97c3c chore(vscode): decode deep link query before parsing
  • ac4ebdc8635c6e2ec5cf19b63d379718f4bb391e chore(vscode): log URI handler details and parse fragments
  • abf8223b3f502d667044e8d735de13e7ce3db598 chore(web): bump deployment
  • 059afc202c3409e231259d654e6b3179f6031d7d chore(web): require Doppler; deploy without PM2
  • 59271ab66b0a0d665a789f3d4dccc3d9ad573fc3 chore(web-explore): remove leftover SocialAccount alias from lib/types
  • c962e7242effbbfb05163e2009b96ce5ba9a2a21 chore(workflow-engine): align dev with Doppler and GSM sync (#296)
  • d2eaf933cef4e04528cae0fbee67e684d5ad3d51 chore(workflow-engine): point root npm run lx to modular entry (src/cli/index.ts)
  • 202e0602c97104aefcf7287b7d2954f26048c66f chore(workflow-engine): remove deprecated legacy sync workflow and layer template (#612)
  • 4fff20deff94723fba4edd7d886b31f984f4545b ci: Auto-deploy edge functions on merge to main (#749)
  • 36b3aeef9d96b97d1ab57b3657bd5489d8f0270f ci: add Doppler dev/prd parity check to Cloud Build pipelines (#1165)
  • fdfb3d64e779b0dc5284d0fc46b92eaaa1385088 commands: move parametersSchema under trigger.executable|scheduled; update templates (ASO, Social Content, Social Account Onboarding, Project Onboarding, PlayKit)
  • 5f49afec876385aa3989a14577cf61e12bcfd85b comments around old tables (#149)
  • f17e429b1f45e918c6d4dd60ba1548517d12bfcf comments around old tables (#150)
  • 362cfbab7477b4cbd6e023a7850f5cd21639cde8 consolidate app config: only use config.app.bundleId across delete-by-app and UI; tighten types in ProjectLayerItem
  • 30d7b972fbcdb1cfcdf083bad31573280a121021 create content from mobile (#404)
  • 9748810abc74349fe77f44a41fc0373966632082 creative-studio initialization rasterizes slides automagically (#628)
  • 9c7e28abab947ca367a796dee0e578ba301bb1b6 css fix (#1107)
  • 4dc69b758ea1f53a1bce5daae1eb859f61f2efd2 db/scripts: enforce layer_templates.version int not null default 1; extend wfctl for template publish-dir and dump to new registry structure
  • 9e7b945d2e93b9686935eb82a4bc97026735a485 death to apps (#487)
  • 867d7e0094d1330728ecdfbe7a4f2a7d080ee1ff debug(api): add build context verification step (#805)
  • 2a24ffacf1502b85bef9ef23bf4dd9d4a64f1253 debug(api): add elle install verification, use default logging (#810)
  • 3693583744fbf83d39c16eb6b16922dd624a44f1 debug(api): capture and display docker build output on failure (#807)
  • 1b40b0eca7b22963045373d1c79fb1f743ca197d debug(api): enable verbose cloud build logging (#804)
  • 603efeb997916cabd0a55850f497ea89f491be5a debug(api): use GCS_ONLY logging to enable log streaming (#808)
  • 73a5ed4fdf16ec49c1e968781a94f7218930cac4 debug(api): use gcloud beta to stream cloud logging output (#806)
  • 5e9c2acbfbd7a739e461d7361d19823b1b3d876d debug(ci): upload docker build log to GCS on failure (#814)
  • 3437660245f0f0818e1f2b36346089596d23bd2e debug: add extensive logging to track warmup layer creation issue
  • 5e6e37e08a66cae55e6e1629acfb579e10fd3ae0 delete-by-app: also soft-delete app_store_listings for bundle (is_deleted=true); preserve history, hide from list API
  • f776d21dd6eeb7b0a68c8ead5db8931671cb2f5d delete-by-app: match config.app.bundleId too; invalidate appListing/projectMetadata caches after deletion; show apps only when non-deleted app layers exist
  • 73659ddd20afadaf5f07a3fed974443ada102835 deploy script fix
  • 8d7ddc31c61387be78a5b4d9cd0e6a06b0bb2c5d docs(ads-management): add web campaign awareness to optimizer prompts (#869)
  • 2a7121f9b512d922d286e9462f894d57be99e28b docs(lx): document workflow dump, template diff --git/--json and directory mode, template upsert directory, tpl dump --name
  • d9b5b43badf093eef9ee34c4b70b091a1d25fe55 docs(lx): document workflow/template change management; update README to lx; allow workflow version inference from vN.json
  • 3b681419e31084465d410c1be690059b1c4fbf79 docs(workflows): add descriptions to activities in mobile-app-onboarding, mobile-app-data-sync, and marketing-context-refresh
  • e628d108fdb89088c1067b6f845be90081c8652f doppler setup docs (#252)
  • e55a30865e0e54f70088a71bc90e139c0d717445 early access form
  • 49a53ff5e194ed787926345fb39ccf3e8b7c65e4 embed the web onboarding if the user hasn't completed waitlist onboarding
  • 36bf3ed6746a9933f9e6682939ebf619aee417fd enable (#430)
  • a1c77a7375d6f27d1b2d61e53986eb6aec60a37b expo-updates remote push support
  • de75b6dabe9d1ff1f656bef961b7496c71d71ed8 ext google auth works
  • a07f1a9f5c7ff1533519ac47951783527e942877 ext progress
  • 2e036e9602432a09a815b626c46a69b442c0c079 ext progress
  • 389b94b0523af20d464f1e792eadde4cfe2cc8f8 extension and image enhancements (#9)
  • 5cf54c6c53686a5ba1eaeeab1c5e62a8e1989a32 favicon
  • 87bf77bad1704968225703aaf1e75495c18dc6c1 favicon
  • ccd80a54ef48e3536858afa59ae66a73bd135b5f feat(LAY-255): Implement V2 Architecture with Workflow Engine, Activity Framework, and All Layer Implementations (#131)
  • 51ed81ac0c0e3a8eb39e0626350b25dc446fd2b5 feat(LAY-509) TikTok Ad Manager (#364)
  • 6cdca5b076db0dfc659e857e929fb2234bd6631c feat(LAY-520) ad-manager-collect-stats workflow (#451)
  • 65b6ce438b244f7c87809c97c70e1fb8b52ea39d feat(LAY-520) ad-manager-collect-metrics workflow (tiktokbiz_audience_day_metrics) + /web ts lint love (#461)
  • 607eedfb69cbbe1fede851227dd0193a9e31c792 feat(LAY-520) workflow ad-manager-disable + re enable (#433)
  • 5e2dfb7dba3c7c58841eedf445f758c1b23aa1aa feat(LAY-523): api-metrics endpoints + missing lib json-schema-to-zod + automatic integration tests for API (#464)
  • f1049b03da2e15857a173d2abec5099be6f72950 feat(account-health): diagnostics + warm-up integration
  • 5e3a572f137306e4df150bf242aa9a3a0ab3bd99 feat(admin): add events analytics dashboard (#605)
  • 307cd86a14469e7fdc8e69d4b3ecd5245e9c4789 feat(admin-tui): Add Admin TUI for org/user/project management (#764)
  • a037c61ed8487815c0215dfcc1c31d992ff52060 feat(ads): Add project-level Meta/Apple Ads tabs with layer filtering (#716)
  • 5f99b60bb9c44732c84f28d70104c3e04663b03a feat(ads): Add unified Ads Management Agent for Meta and Apple optimization (#829)
  • 38aeb49b7e8c0679d352ec3c46e6161e163b3e28 feat(ads): Meta Ads Agent with iOS 14+ SKAdNetwork support (#720)
  • 963c9a8346b991830f46cca3ba182c599832addf feat(ads): add Ad Creative Library page (#1421)
  • 554d10884b3f4a38826585099400c26ac940d872 feat(ads): add Conversions API (CAPI) integration for Meta and TikTok (#1431)
  • fa1f412386e4c19ba8d32e510e9305111c1e0f00 feat(ads): add creative upload workflow for automatic ad creation (#744)
  • 1a150a2139bf4898d11f16bd12af13900b2ebdd5 feat(ads): auto-refresh content eligibility for ad campaigns (#1223)
  • 87bbfa2ee7270c6700a9bdd98b2aaf79bcd8d926 feat(ads): v8 ad optimizer — deterministic pipeline + adversarial agent council (#1237)
  • 623963beb8d786a25c19a13a986820cee3efdb08 feat(agents): add web campaign support to Meta and TikTok ads agents (#1219)
  • 2697c055db48f1acd079ecdafdda4de0c0210c09 feat(app): Add table views and filter persistence for Posts pages (#604)
  • 2d9e7f30ffa0ff1596c33298c4eb2b364326e85b feat(app): Gmail-style g+key keyboard nav shortcuts (#930)
  • 2b7e1c77ebce0f52d413159c4ea010147a6fa48e feat(app): add Intercom chat support integration (#684)
  • cf765eb576323f32ae007f7f28c34d9d6a863cf5 feat(app): add Sift video source badge to content container cards (#596)
  • 3fc907590b1a3cac157f623213803f50240c9e8f feat(app): creative UX improvements for content generation (#865)
  • 8de976ce6964d510d568f80643e78f788e2e017d feat(app): dismiss content with reasons (#823)
  • ce6274adb20218a3afad59c158e55596d4a8ad0f feat(app): generated content filter + quick distribute actions (#934)
  • e42254d59f6b5aaeb3bc9d4c5fa4ab9618996acb feat(app): identify users to Intercom on auth state change (#686)
  • e6028032efcffe92ea9228a16fedf4c0f2fdb0f7 feat(app): layer side navigation with tabs, settings, and icons (#646)
  • 23e676129bfea8edca65f9b61ea4d130d43d0404 feat(app): new Generate Content modal with Creative Agent flow (#689)
  • 8a2e45e4e10dc1072ec33a04c7d446ec63fe687a feat(app): overhaul notification center UI/UX (#944)
  • 98dec8583ef701e2e205f4f1e280e2db28ea7d6c feat(app): project settings redesign with App Details and Keywords (#693)
  • a44731ac27068d0b02cfe5a04866214b65ddc8c6 feat(app): settings UI improvements and media grid styling (#691)
  • 8f99c8701cbcf6ccf651669e94aaaec01ca25836 feat(app): sticky table headers, infinite scroll, and loading skeletons for Posts tables (#631)
  • d42034db67f096a5976335b9c1a7ba2159a742e0 feat(app-onboarding): add Mobile App Onboarding (System) and Mobile App Data Sync (System) templates + workflows; add new registry folder structure; mobile app onboarding orchestrates initial ingest, aso ensure, first audit, and marketing context refresh; data sync handles periodic snapshots
  • 64360d7322e694298d4fc7b6f69214288b904ff8 feat(apple-ads): add agentic Apple Ads campaign creator (#776)
  • 3fb46bd21415e413fcb78c4b54a1287760e420c8 feat(apple-ads): global sync, BYO activation, workflow registration & template fixes (#876)
  • 034d3dc1d57447e1d06dd5c5b680f675a22b8ce5 feat(aso): iOS app ingestion via web API (engine workflow + UI) (#455)
  • 8380b388525ba700a8f7b284272b8ca61f06318a feat(billing): Add 5% platform fee to credit purchases and wallet deposits (#740)
  • 0316e749298518389caace5ac26a10ed243226b8 feat(billing): add billing details card to subscription page (#1441)
  • 8129c727ecb69aeba3ec518d82ef25fadd4fc696 feat(billing): add customer-facing credit history page (#1382)
  • 1937502b64bdb5a626d19cf83b074fb8208298a5 feat(billing): cash wallet to fund prepaid layers (#683)
  • 2b837f6ee54e4ea989a5da2e9badc1e2106377c7 feat(billing): credit system overhaul — new pricing, overage caps, auto-replenish (#947)
  • bd5d22db6762a6cf26114e704295b2bd3b0f80cb feat(browse-layers): use POST /api/project-layers for activation; map via generateProjectLayersForActivation; add onActivate to LayerCard; remove legacy bulk path
  • 7f6026fc40a258ee8a0add6828ed2ab5b4781b66 feat(cli): add Layers CLI with OAuth authentication (#708)
  • c75f25d77f8f0f0fa47acef7a2c2d747cdbad2db feat(cli): add Layers CLI with OAuth authentication and auto-update (#712)
  • 9183ca2ea2ac38b50be3c4f68bb632b7066f748b feat(cli): enable release pipeline and CI/CD (#1446)
  • 02f264ec7483bb508ba931c45fc3b77ca546c209 feat(codebase-onboarding): add codebase analysis with E2B sandbox (#690)
  • 401c3a6533aa2f1ec4af460dab1ddb4bb837a6c7 feat(content): clone content from Post Performance screen (#1383)
  • f36781a23db3c52f72e0da26e3b6731d719fdbc8 feat(content-containers): new API, shared schemas, hooks + search/multi-sort framework; platform-posts search; docs + demos (#205)
  • a677043600c61fe84775768ce4df504c91e14d87 feat(dashboard): Add Post Performance page with Views Trend charts (#735)
  • 731606d03afeaa4538224bb57e92d5d22bfea0c6 feat(dashboard): Post detail page UX improvements (#753)
  • 2d7014933fa55bc98826803a9c9495065ed01d64 feat(dashboard): add TrendChart sort deep link and UGC account filter (#781)
  • bec50665c36814ab6db0464a63f41957f2d141f0 feat(dashboard): add dual-mode date filter for post performance (#780)
  • 160c2a47777a7f5ab732fbb7972d216675653460 feat(dashboard): add engagement rate column and charts (#768)
  • 4016068274ff42f539399402dc5a2c82c2a2f904 feat(dashboard): add table footer totals and fix timezone handling (#783)
  • 4750b950d207dfd89465315f04bb74e5335daf93 feat(dashboard): improve chart titles and add clickable trend bars (#778)
  • 2675a66aafa37627aa5eccb09d16e5195311658e feat(dashboard): improve posts table with sorting dropdowns and reach column (#765)
  • 477be3dc9d74548150995a53e29e2754465b7d7f feat(dashboard): post performance UX improvements (#774)
  • 89b8a7794f8f47df6e2052222cda52fcc7b567fd feat(db): Eliminate platform_post_metrics_summary table (#739)
  • c0b44656fad16a1332a79effa4d87e05fc72b578 feat(db): add engagement_rate to platform_post_metrics_latest (#767)
  • ba2aabf09ea1b53fb21e6d6e55561ea98d088a95 feat(elle): Add generative UI components and chat UX improvements (#798)
  • fd45430dd89f6ef0fc96af898ff46290e5cc6c03 feat(elle): Instagram publishing tool, TikTok multi-account fix, conditional SMS ack (#949)
  • 298738f007982a140a7f7afdb851d47183ea0332 feat(elle): add Elle Daily Digest layer with SMS notifications (#1358)
  • c995bce02900cc8c1619a3ce8ef22acee66d185a feat(elle): comprehensive accuracy, security, and capability overhaul (#903)
  • 53c3ff08315fe9941129949d35d9f2779eefaf44 feat(elle-sms): SMS/iMessage channel with cross-org tools, streaming, and datetime awareness (#825)
  • b46bb3baace010944db677b9d886e96965076360 feat(elle-sms): add rich media sending and default metrics to views (#844)
  • ac3ab1580d38eabad1a377d420f0b6914e4f1e30 feat(engagement): Social Engagement v2 — tri-state mode, draft approval, 3P commenting (#1415)
  • 98041a265e1eba1db108ac72b4e71081151b3e5e feat(engagement): add tone selector to Social Engagement config UI (#1248)
  • 3649a076e9d21a79f52008287528384a8d64a2d8 feat(engagement): brand context, tone presets, and humanizer rules for social engagement (#1236)
  • bc92da953f45b1068a492d233beffc018908fc55 feat(expo): add Instagram share functionality (#579)
  • c669a3da8739d2503a7bbc323cca96b52be518c5 feat(expo): add layer filter to Generated Content screen (#625)
  • 3007cac617462cc1b54a01971286caf197df8365 feat(expo-app): Layers SDK integration and cleanup (#465)
  • 0d9a6c5ef17cab8b6069c76ae279379e48902a94 feat(expo-app): harden Sentry (#447)
  • fb31a9e373883bcddced1c6855de2ef7b8f704c3 feat(expo-app): splash/loading UX + login redesign (#327)
  • 131777987d3f9f43f8a893b1cf515242cb45d843 feat(ig-connect): support multi-account Instagram connect (#1419)
  • dc04501cfcb6dc77a9c726d806c271ee0e61aed1 feat(instagram): Show shares for UGC and fix metric defaults (#757)
  • d148b8e564ad2ffe3a296adc5559bcbb25fe5f0f feat(ladmin): add grant free month for Pro subscribers (#1240)
  • 905c769809d25a2cbaf8bdd36d75016ff7629efc feat(ladmin): add quick-link presets to credit adjustment modal (#1229)
  • de1e685ba5b46d03c8257efbbbd24b78a801b46b feat(ladmin): grant free months to existing Pro subscribers (#1268)
  • cf23d529bc30d61aff3ee82f4edd89b7dea3248f feat(ladmin): media consistency & source content tab on container detail (#1265)
  • 5effdeaa49938e74fc08c43a3eefadcae1e067df feat(lx): TUI header with ASCII 'LAYERS' and centered 'E X E C U T A B L E' subtitle
  • 724b55b3a77d20581979624187dc8dc3910b2708 feat(lx): TUI supports section select (enter) and action list; run actions placeholder; updated key hints
  • af10e3bc9fbdb6efc9af13dab11af511b2366bed feat(lx): add Ink-based TUI scaffold (header, nav, home); default npm run lx launches TUI; TS config updated for jsx/bundler; add react/ink deps
  • f34a6c76b47e8ec6d533a01d24868e5a8db4b89c feat(lx): concurrency for workflow publish and template dir ops; name-glob filter; diff context + interactive --apply; concurrent dir upsert; small util flags
  • ff20af8c57be2153e5f6b6b90e80f9276e736e83 feat(lx): default to TUI when no args; add npm run lx alias; keep direct tpl subcommands; basic TUI flow wired via modular services
  • 81659372d5d03817c8689708377637bd8d7ecefa feat(lx): keep TUI session open; add keyboard navigation (j/k, arrows) and q/ctrl+c to exit
  • fa48c1119a859524f0e6fd466358b3a95688f288 feat(lx): neon gradient header, ANSI Shadow font, slash border to better match reference styling
  • 7c90b451a5c2e680b4283b10fdfd9f192cdd0ca5 feat(lx): polish CLI output (colors, spinners, table); add wf dump; enhance tpl diff/upsert UX; add pre-commit hook to guard registry diffs (override with SKIP_LX_CHECK=1)
  • bc0a904fb10047ab11f4831d24d63ad79876f8df feat(lx): tpl diff --fail-on-diff; interactive confirm for --apply; usage updated
  • d4ccd27425fc1013333164bdcf53511465e5dc31 feat(lx): tpl diff directory summary counts; add tpl tui interactive flow (multiselect, preview, apply)
  • bd386bb7242775b09e35cb095e9243f582d87286 feat(lx): tpl dump --name-glob; add tui placeholder to usage; docs for new flags and concurrency
  • be69cd0fd608506738832c89b2a59336dccb8995 feat(marketing-context): add marketing-context-refresh v1 workflow and wire Project Onboarding (System) command
  • 6d9446cdc5c5e2bbaebf40143a93a1626485a9d4 feat(marketing-context): enrich refresh workflow with load_record steps for latest codebase analysis and app store listings; pass full inputs to generate_marketing_context
  • 6ce0f4538836044ebba07466ed1b92206d884fda feat(meta-ads): add Facebook Page picker and write config to layer (#1226)
  • 9f1abcdf849f4d77e851a334fe0366c0164b24df feat(meta-ads): extend Meta Ads Agent to support web platform campaigns (#861)
  • ed3c192570032f3e91d321ba9ef06db1ba046f2b feat(meta-ads): hourly granularity for metrics sync (#894)
  • 1da923a2166c0ecdeee4a4ad37afbb97d308ae9e feat(meta-oauth): add page scopes for Facebook App Review (#871)
  • 08287ddb0f4f35308a9441928dd5475d751df7e9 feat(meta-sdk): auto-detect Swift iOS projects for Meta SDK installation (#811)
  • 5c7b99d8a4b80e8e0ebd03c59ddb5116088685b8 feat(metrics): Detect deleted posts during metrics refresh (#743)
  • 27a7a22ace95b4c5e1f73e808e020eaf07391eff feat(metrics): Implement unified two-tier metrics sync architecture (#745)
  • 3d5d92dd6ad808e9c3303b58acbbf00db9c16345 feat(onboarding): modernize website onboarding flow (#826)
  • 3f9c2bf2bddda1da314946f8461f9647dd88f82c feat(onboarding): streamline create-project flow (#880)
  • cafd36156863d2d8ca92a3348c43f8829ae334a6 feat(onboarding): switch to Groq Qwen3-32B for fast lightweight analysis (#782)
  • 744f66bedaebbc2bfe78ec3f7baf0b0854415a49 feat(onboarding+workflow+fyp): Editable form, workflow optimization, research status improvements (#766)
  • 054da701ee7176abe99a005f117afa252b9eb35e feat(organization): implement secure organization management system with RLS
  • e5a9c080d5c38451a4c1ddcc025544edc18ddfda feat(paywall): Add subscription paywall step to onboarding flow (#760)
  • 0c3181793d0c5851a20586a10addc7e66229413d feat(paywall): Inline paywall for gated pages + gate Generate Content button (#759)
  • 8b41987dda0f2b2fad154bb32d6fae3e144d7898 feat(posts): add universal clear filters button and multi-select accounts (#609)
  • 418c2dbef3cb2dbe8ff7d8a556f861750e4e5159 feat(posts): fullscreen media preview for Live Posts and Inspiration (#661)
  • 90184bbc40b9fac57943476f97c4532ee5feaba1 feat(removal): soft-delete social accounts via API; soft-delete dependent project layers by socialAccountId; update hooks to use typedFetch + schemas
  • c5e9a95aa354c14c7525096f38c186bed4af43c1 feat(scoring): default score + decay for generated content ad eligibility (#1222)
  • 47285de57ae4f067982643922477d75548b8021d feat(sdk): SDK layer UX — appId-only auth, all-platform support, debug viewer, opencode run (#1359)
  • 9e32df57102a9da7718353d1a68f010fcead7b78 feat(sdk): add analytics discovery & event mirroring to orchestrator (#1391)
  • 70bff6daf77b85a46f2d2799f22f9bfe72ecf124 feat(sdk): orchestrator rewrite + prompt improvements + provisioning fixes (#1365)
  • 711eb75a7208cee753fdd42bcbb67791a980c8b6 feat(sdk-ingest): prd deploy via Cloud Build; add GCLB with header in… (#494)
  • fcfa57b50864c6da6d62ee0165b9e04ec7adf5fc feat(sidebar): layers vscode sidebar v1 (#82)
  • c22565815ad4b02e04786cb199670c137f0a13d6 feat(sift): description-guided person modification in start frame (#936)
  • 7d5536489479998ca636d776a88f0e19024f00bf feat(sift): keyword research pipeline with dedicated settings page (#879)
  • 650274e4c6b036ca34557392b7aa80e2ba06206e feat(sift): replace Sift proxy with direct TikHub integration (#873)
  • 425bed81339d54db5350c135b03c0bb0d651865c feat(sift): replace face swap with prompt-based person description (#925)
  • ef2f0d5eb15c90db83c63ac01547f58920f0d1e6 feat(sift): text overlay adaptation + fix global sync for 'ready' status accounts (#595)
  • 5b2ed6a45f40b35594c543584aaaf0eade39f332 feat(socdist): add background music for managed distribution carousel posts (#1410)
  • 7a9beba0a4506e47ed3fd666a5167413e49df1c6 feat(socdist): add refresh-managed-distribution-music workflow (#1412)
  • c8be5687c864a9873afbff776187ea034ed30757 feat(social-apis): add GET /api/social-accounts with safe fields + filtering/sorting/search; replace SDK in hooks; add DELETE soft routes for accounts and dependent layers
  • ffe4a2f5ff487bf6cbd205de229611336b588a57 feat(social-dist): add manual distribution mode (#1394)
  • 61ca55f5431636011bec7a6e15090a39bdb395ee feat(social-distribution): TikTok draft+auto publish, IG auto-publish; wiring and workflows (#217)
  • c2989f78998c24ebf5f87ce9e4f93cbd8f241167 feat(social-onboarding): add system layer workflow + commands; gate onboarding by explicit toggles; add social-account-analysis workflow; frontend: hook useEnsureAndInitializeProjectLayer and wire Step4 + social modal; browse activation uses API; cleanup execute params
  • 9b235ba6d00dc41a312295dc876a923674559271 feat(stats): Replace MV-based stats with incremental hourly aggregation (#717)
  • c184e6cdf2f4c488197fc097f2c5517ded13a055 feat(stats): Replace mv_platform_post_metrics_latest with incremental table (#722)
  • 82f689b1f18ce98d011125312d242f57845bc8bf feat(svc-sdk-ingest): initial release (#330)
  • 6648604ba63d588b2364f3c9eadc2ca7f2be46ee feat(svc-sdk-ingest): initial release (#334)
  • c7d5f08e56bb37e6e49ab79242cb7d7176448a36 feat(sync): Add posts-quick-sync and posts-full-sync workflows (#746)
  • 9f595ba9118d69aa7428acf6039cbc046f5d77bb feat(ugc): Multiple UGC programs, 30-day cycles, and schema cleanup (#770)
  • e36a06254486bbc1ff8c79ae5c6ec7f84e9f158e feat(ugc): add cost estimation per post based on campaign compensation (#842)
  • 4a2b2d5917d8a34772b2e1701fbe99798bde0a2e feat(ugc): add grid/table view toggle and fullscreen preview to UGC Posts (#714)
  • 7b766078123b036b1ed386ff943f0ca00ab1ee14 feat(ugc): video quality filtering and RipSift audio preservation (#799)
  • 18f6359159bb68a316ea314de4f157c1f890e8d2 feat(ugc-creative): image optimization and streaming architecture (#675)
  • 4e5093fcf4e7ef851d98c88d9ed98f91a7ace576 feat(ugc-creative): skin tone matching for influencer selection (#1040)
  • 85a94a9adf0cd5e2136b09d7dcff2de6e15dc120 feat(ugc-researcher): Phase 2 - Enhanced Discovery & Micro-Creator Targeting (#678)
  • c0e960e3273c0f1ff2c06adde48047595edd2aa3 feat(ugc-researcher): add UGC Researcher agent infrastructure (#677)
  • 199654f854853ab51d1d1d2f8ae50fc93d4d8663 feat(ui): Add Download App option to user menu (#736)
  • 45d7d65b49305f712c5eb3a78d81382be20609ed feat(ui): split billing into subscription + wallet pages, UX enhancements (#1166)
  • 1aa6008478248b8c4fdab19e3a1c97def9e92caa feat(web): add healthz endpoint for web's api (#302)
  • a283d856d3d6a61d97000e60514a9b511a3b999b feat(web): add opentelemetry observability (#425)
  • 1b001dd2f00207261d8f2c08394459b2a86d07fe feat(web-explore): wire AppLayerSelectionModal to Mobile App Onboarding (System) via ensureAndInitialize; use single app config + ASO toggle; invalidate caches via existing hook
  • 6990f78853273fef1fc1e94a3d5559aa0965f721 feat(wfe): GeminiClient with AI Studio fallback + Gemini model upgrades (#1342)
  • 8a793961b7ead940f1b59a358c17dc1a1e9c3d83 feat(wfe): add Farmium managed distribution provider (#1418)
  • aeaf782619b19545fc4af202fb602fade1c95e24 feat(wfe): add HyperAttention managed distribution provider (#1417)
  • 231a126084552c874b5125484dcc2940f235ca89 feat(wfe): add Social Scale Hub provider for Managed Social Distribution (#1402)
  • 2a60d5d6649602c61373b44ea7e579aa5c9e0ca8 feat(wfe): add manual content generation mode to distribution layers (#1360)
  • 25cb112a27b8ed11927a1a8dd032b392962d5210 feat(wfe): add priority worker MIG to deploy script (#1338)
  • ee37087589e056b2835df6268bc6322b00d0a2b0 feat(wfe): add selective workflow sync via CLI args (#1346)
  • 2393cd85a69953a2ae38c9c35709a197e7b6026a feat(wfe): credential circuit breaker for expired tokens (#1214)
  • 645f31793cb9317821ceff038a801b7caf6c8591 feat(wfe): managed social distribution with Double Speed integration (#1296)
  • 55f31efdb03357b151aea078b166af004c669446 feat(wfe): proactive SMS for Instagram pending_manual posts (#1373)
  • 379412adb6b086c6728d656b67d66cf0ebc2483b feat(wfe): shared circuit breaker for permanent command failures (#1370)
  • 335b356198c9520129ce886ffa30609a96861761 feat(wfe): social account circuit breaker + vault migration + RLS lockdown (#1216)
  • a2d6bda3414ec7462d0ab7082e589efc2d5d3bae feat(workflow): Social Distribution notify-only + push deep link; fix TikTok flags (#385)
  • 575453f660d58d089959b90a1a659007ffc04ca5 feat(workflow-engine): Enhance reconciler to backfill missing posts (#592)
  • 53ea78b122e80fb439442ad364cdf4000885bafa feat(workflow-engine): SideShift integration for external platform account sync via SIFT (#602)
  • f8b3d095809af1f8ebaa9f61aba074b695c66797 feat(workflow-engine): Subject-preserving background adaptation for slideshows (#614)
  • 0067a7306db4fca61eb2054d7f9f84ec5c583959 feat(workflow-engine): activity worker filter
  • 9ae7752a3b13d194fbf87b44320522fac6112ef8 feat(workflow-engine): add npm run queue:status for production queue monitoring (#607)
  • e054f867b74c232bc223401e91a894719060d867 feat(workflow-engine): centralize activity filtering in ActivityExecutor
  • 9f889948b43cb12690cad5037277ea9ea38cad1e feat(workflow-engine): content attribution via visual similarity (#580)
  • 97534c0d649daa66fda60bf3af55300752e9ff0d feat(workflow-engine): implement 2-pass image processing for slideshows (#603)
  • afe36282f15843b13e916f57f016a01f87b47848 feat(workflow-engine): integrate sentry (#339)
  • 08a5d05298ad7797011bced38ccf5d73a9b674f5 feat(workflow-engine): optimize repository analysis with Git clone and enhanced platform detection
  • 9cda909fe3875d1d3c54b28f26b18bf03f7ca385 feat(workflow-engine): tag content containers with siftVideoId (#570)
  • 53977fcf13872d8cd8cdcc4bed99295480ea7c82 feat/inactive org gate (#504)
  • 815b2eb53ff6bba713a616362497f7b1ba783436 feat/more layers 2 (#236)
  • d826030ebffd3748fdbdb149bfeae353d294af69 feat/onboarding commands (#446)
  • 33aaa839d61a43fdb71419fae9272335b3fed153 feat/pr agent tiktok sdk (#518)
  • a71f547680a6fa90026242aa50fc141ed7ddab5d feat/tiktok biz migration (#31)
  • 93abaeef5aae5f54dc3db89d7dc7e493020a3df1 feat/ugc creative openrouter glm (#673)
  • 002a369fba349b77bf511ec4a79aad1d26b28d35 feat: /ladmin - internal admin UI with workflow debugger (#1149)
  • 07dd893aea73c68d579b9e8ca4f141c9fbbbd946 feat: AI-generated TikTok hashtags with GPT-5.1 (#510)
  • b95747626ed26e1701c8c58ccea1085df6c481e9 feat: Add Create Project button and modal to header
  • a936f3a80d0d1972b8fa0ac1281bdeba3a155f1e feat: Add Firecrawl scrapers for iOS and Android app stores (#141)
  • 2294df5c3b48260053894f9d6597d3c486d4c368 feat: Add QR code mobile app download step to onboarding flow (LAY-82) (#103)
  • 8fd5aa1421c479171bdab330526c9ac399091464 feat: Add SelectRandomStyleActivity for dynamic style selection (#349)
  • 034379ac18c57a13bc967f7d716166714fae7441 feat: Add Sift Content Inspiration feature to Posts (#556)
  • d003d757970e06faacc17c9538e8a110a263b002 feat: Add Social Engagement Layer with first comment automation (#450)
  • 9bb1b8bcdf9280d5aed782186848c96319f1dd50 feat: Add SupabaseStorage to architecture diagram
  • a91728628f4b01b811e3e6044928c8df40ee9f09 feat: Add UGC Dashboard and reorganize organization routes (#711)
  • 2ce6acc6f094f66e94815184a742b5798e3684a4 feat: Add admin platform posts viewer with metrics (#453)
  • bbfbe8ab2d428ba1d9fed61656038d25c69bd96c feat: Add app_type field to project_metadata table (#111)
  • f8c8afe5902fdfe2b76295f06cf6a045f35babda feat: Add automatic cleanup of scheduled_posts on layer deletion (LAY-60) (#98)
  • 99f702e191adbeb28e3dc795377800731c65917a feat: Add automatic layer configuration in onboarding flow (#75)
  • 5ca18777de5434855747afb016481f85eb25cc31 feat: Add comprehensive Claude Code detection and AI metrics to candidates admin
  • b13a0145fae401492c49e3abdf6fe759bc98e421 feat: Add conditional rendering for ReviewPlanView based on app type (#115)
  • ff984d13255bbece198deef0e80d6467f9c6bf2c feat: Add confirmation dialog and toast for schedule deletion (LAY-61) (#99)
  • e1eaff56a5ff79fa11eb16564ddd74457c1f09dd feat: Add contextual page titles throughout the app (#761)
  • bf774de807a289141057f8aed9cec3432a521927 feat: Add custom icons to project settings navigation (#424)
  • 811b8702df3f46c3d9a06af0ef148519c90f7c97 feat: Add flexible command line arguments to JSON workflow test script
  • 69418989bdf2a1a292915d516ce690d52195b1f1 feat: Add hot reload development workflow for VS Code extension (#89)
  • 30f69f43dfb9c55bf396915c8109f64c6c1a48dd feat: Add iOS app details API with iTunes priority and bundle ID resolution (#443)
  • df64194f4ba91e100f7f75c0e0f8fccf7a7c1868 feat: Add influencer narrative video workflow with SeeDance integration (#337)
  • b16e031c482165e8b858abcc76300cd728c28d4d feat: Add manual posting mode for content (LAY-83) (#95)
  • 58ff60f28b30b66560dcdebbdedda9143e803c4d feat: Add post comments collection to social account analysis workflow (#151)
  • 85b1eefb0b830a9f82ca27c0d835b6bd3f0aeee7 feat: Add recent and saved searches for Sift Inspiration (#558)
  • 18c93ddb95c0d99f2b996ee19d22a783e91ecff8 feat: Add subscription paywall and ad blocker detection (#751)
  • f0f6706d02a189d73ee07b1310d6326c38c0845d feat: Add warmup layer support to VSCode extension Tasks tab (#77)
  • 99f2eee74012d0688f355deb3308cca0038f59d9 feat: Add web_url detection to OnboardingService (#114)
  • 9983c405ef118abe01b2855565ae0b678dbd958c feat: Allow projects with layers but missing metadata/strategy to recover through onboarding
  • 35d9bfa1faef9f386fdfd237020becae6b25cde1 feat: Allow user to reconnect existing social account (minimal UI) (#640)
  • 86884ec8c2cf250e8efbcd0f6e2a6a1131b8947d feat: App Store insights streaming agent + shared Step3 timeline (#457)
  • 9271ed2bfc56ebbd91b6dfd10818ddfbe23172da feat: Apple Search Ads BYO-first defaults and cleanup improvements (#982)
  • 3bb7d91e865421c1334bcd48e6abb3d934f5be96 feat: Auto-recommend organic layers with intelligent scheduling based on warmup (#93)
  • 998da38870e4635f48a51503b7c19cc30b74387b feat: Complete VS Code onboarding wizard implementation with timing fixes - Add comprehensive onboarding wizard UI components (welcome, processing, review, setup) - Implement AI-powered codebase analysis and marketing plan generation - Add Supabase chat edge function for AI orchestration - Create MCP tools for onboarding status checking and execution - Implement robust project metadata and marketing strategy creation - Add retry logic for database consistency during onboarding completion - Fix frontend navigation conflicts with completion state management - Add proper error handling and user feedback throughout the flow - Include detailed logging for debugging onboarding issues - Resolves onboarding completion timing issues and provides complete end-to-end onboarding experience
  • 4f099142f30a4c2e81db8e6fc628e5ed2a634934 feat: Convert project_id columns from TEXT to UUID across database sc… (#117)
  • c842aba0885386b99d0a56043921015f30cdf593 feat: Dynamic empty state and URL-based filters for posts (#231)
  • 0c3d7d60962c8b4a8ba435eec99fa61261b435ce feat: Elle content generation tools, SMS fixes, and eval enhancements (#913)
  • 49c8451ee6ab541291f4ab74807ab9b3419005ab feat: Enhance influencer narrative video workflow with AI scene selection and optimized activities (#346)
  • 3454fa6ffe8494bd175563089fbcb2b4af4b71cc feat: Enhance signup flow and welcome email functionality
  • 6ba3e403cd5e3fad830314fcdc29428f9cc5433c feat: Enhanced TikTok post analytics with reach-based demographics and UI improvements (#557)
  • d23b2801f1746f7b6231cd04f6f245e43d87d555 feat: Enhanced dashboard with carousel content widget and 3-month activity view (#412)
  • 2993030cbbc21e445d8b0d757940e7398c8fe1db feat: Enhanced dashboard with dynamic metrics chart, task management improvements, and UI polish (#411)
  • bdd1c1b8bb2f78256051bacec2e35a3b7c2aa440 feat: Enhanced task management dashboard with account-based grouping (#409)
  • a2743d27b90e820bcbfe27f653705688b628abfc feat: Give LLM more control over bundle ID discovery
  • b42f6664a6d8c8b18e8a6bade476bf2787216a6e feat: Implement Content Dashboard and Refinements (#15)
  • b5275af178332c2d28c82a94f47e2fd50d320815 feat: Implement Instagram social connection and posting flow (#24)
  • 5e8cbf2f5e034ab554990deadd70f17000bdb444 feat: Implement Layers Tab SPA and Refinements (#26)
  • c47c1a3a41322dd67242353564af8852b381b781 feat: Implement comprehensive VS Code notification system (LAY-81) (#104)
  • 048fe0bb04389a6a0c3eb64ee45ef64c9bc9d724 feat: Implement comprehensive notification cleanup for warmup layer deletion (LAY-157) (#102)
  • 8d92899f80b6c595e5f0cb157c05b2feade774a1 feat: Implement multiple schedules support for organic layers (LAY-107) (#100)
  • 6bd28f86979cf18dfaebc1957db95f663cd38ca7 feat: Implement realtime updates and sorting for content group dashboard (#22)
  • 18689b0ab6f16af32dec4d8aa93aea776761b81e feat: Implement streamlined signup and fix hello form logic
  • b1e501064bca131f6ef00eb657ae5d6577837083 feat: Implement welcome email on signup and fix temp password generation
  • 51d810fa6d90b6194eac02785b0e77729244dc42 feat: Improve bundle ID detection by expanding LLM discovery capabilities
  • ea7b406d05639603e678c0e780ea35cacd0d7c2a feat: Improve bundle ID detection in codebase analysis
  • 8a721a257c3a5fa6f171f74120b157023928f26f feat: Improve metadata extraction for layer content generation (#30)
  • 7d3d5cad580ff04029b5267b6171bf968011b563 feat: Improve onboarding guidance for distribution channels
  • c3b55f22329015351e41a490760a0b24d6710b5f feat: Improve signup flow UX and error handling
  • 54cb65492a526b38f55ed8ab0c2d9b8085e3c2d5 feat: Instagram multi-account selection support (#573)
  • 36ec30cef36f438b6bc32f040de4d25c7593d92b feat: Layer detail modal pattern and skeleton loader fixes (#419)
  • 385704184fa06ae7055ebdf161c15840b252cba0 feat: Layers MCP server integration, dynamic MCP config, and extension improvements (#2)
  • 7f1fecf9303d3e05bb9d0176db1b46e1b6ce8a50 feat: Layers SDK v2 — attribution, redirect, CAPI relay, universal agent (#1354)
  • eff7c413ca81298bbf2795a94bb77aed9e259664 feat: Loops.so integration for audience tracking (#1087)
  • 3568598396ecdab46bc9e9cbad9fea72a1c83940 feat: Marketing Context Architecture with AI-Enhanced Content Generation (#153)
  • 164d42cd5d1d06ddd751c7aba5c1d125944badc9 feat: Migrate Stripe to environment-based configuration with Sandbox support (#280)
  • 21ee45ed0c111487c887f15b164bd3afd09f6363 feat: Mobile UX (#84)
  • 9a934074b24127fa517f5e547c4ce2ba3bb6d626 feat: Multi-select social account filtering for dashboard charts (#618)
  • c3f2f2fd956937fd41fddf9a129c5256026d8651 feat: Post-level hourly stats architecture (#725)
  • c8819c8628d1e651afab434ddf8a621545f967e3 feat: Priority PayGo headers + traffic_type observability for all Vertex AI calls (#1114)
  • 502a5d96b71308d41055ad97049ef36bdf8e007b feat: Proactive Token Refresh & SPA UI Refinements (#27)
  • b60b2d5e751ee785410629573b1380fc05f5161c feat: Product Catalog for Slideshow Content Ripping (#622)
  • 13e002ba1a74fe7008b2184d8ef295fe59da6a32 feat: R2-first influencer image storage (#1329)
  • 9a3ab5b56c900dbe3bfc4f9df21dc7a1a1f161d1 feat: Redesign account analysis UI with per-account progress tracking - Show individual progress row for each connected social account; Display profile photo (or fallback avatar) and username; Add progress spinner for each account with dynamic status messages; Implement staggered analysis simulation with 5 different steps; Remove generic task list in favor of personalized account-specific progress; Style with clean card layout and smooth animations
  • 0e4c2627c3651f2fed79ad94fe08a9ec1b5ae5ed feat: Redesign account analysis UI with progress bars for professional polish - Replace spinners with progress bars matching codebase analysis step; Add percentage indicators and shimmer animation effect; Restructure layout with proper alignment (avatar/username left, percentage right); Place progress status in contained box below progress bar; Use card-based design with better spacing and visual hierarchy; Start progress at 10% for immediate visual feedback; Match aesthetic of Vercel/Supabase with smooth animations and transitions
  • 74e71d75dcbc805c47dc25df6e593dca71b02876 feat: Redesign layer setup analyzing accounts view - Create polished analyzing accounts UI consistent with onboarding aesthetic; Add animated task list showing analysis progress (Account Health Check, Engagement Analysis, Platform Compliance); Style with VSCode design patterns (cards, proper spacing, subtle shadows); Add cycling animation between tasks during analysis; Improve copy to be more professional and informative; Add proper responsive design for mobile views
  • f4da9a4f7a86059bea630d32c2b3e76a5c69cdc4 feat: Reusable CardEmptyState component for dashboard widgets (#414)
  • 7cf1bffb4d567845e6516092db873397884dbfc9 feat: Rewrite social content configuration system (#341)
  • 9e977c94dbdee6f69994930d1a7dbb87111a4183 feat: SDK app management improvements and deletion feature (#422)
  • d69eaf8df5b4346e70110e50e37eee0cb54c7633 feat: Social Distribution direct posting + infra scaling (#1280)
  • 73365b64a459fad42e1a9dc6f6057fae73fa75e6 feat: Stylized narrative slideshow and video workflows (#348)
  • 6ef476de0832f65d09e1c925bbc201396440f41a feat: TikHub dedicated node waterfall + rate limiting (#1063)
  • 2245ec7aac186738b4c5d9b8c816e2e594b4a273 feat: TikTok Business API docs scraper & initial sync (#968)
  • 01bf743815a8d7580b51bdfd17d15cf96d380dda feat: TikTok share-to-Layers with Ripper Flow (#578)
  • ef08db5280b81c17bf5f4a0770435bb6b28819a6 feat: TikTok trending hashtags via marketing_context categories (+ mobile share integration) (#413)
  • ed8516a7e25b8f1b134499034184b48b3cb1baff feat: Tiktok post as linked identity (#653)
  • c0a882373afce6362c6f47614fb92c8f5a7047b5 feat: Transform platform from mobile-centric to universal software marketing (LAY-80, LAY-204) (#118)
  • b825e60a81745105addb1dcef1533a3704750350 feat: UGC activation improvements — inline wallet, admin TUI config editor (#985)
  • cae6e8e81d79c42a6a98acd40bcf729a6ca52778 feat: UGC ads pipeline — perf fix, content containers, three-pool creative selection (#914)
  • 0191ebfd271a32c4e3079b90e09dedd978acd672 feat: Update ReviewPlanView to use app_type from project_metadata table (#113)
  • 0220a031382c8ffc83e58c1207e8180b58f3d724 feat: UserNav theme selector with system mode + dead code cleanup (#1022)
  • 8ec847dc95b45003e05d9e5f688767529e19ec65 feat: ad platform parity — cross-platform audit and P0-P2 fixes (#988)
  • 2f5edebc5185314d3814cf91fe1277899571554e feat: add 5 loading skeleton elements to ProjectDashboard
  • 2b91a5298f095d771dbc8a6fcbe690fe54e079df feat: add GitHub Actions workflow for Expo app deployment
  • 43982ad214e73643916e9036df20602469bf4ca4 feat: add Instagram Trial Reels support (#1181)
  • 139aadecb177beffa1643f3366071e92201ef6a7 feat: add Publish First Content onboarding task (100 credits) (#994)
  • 4eedfe1e579c12d1665603579d881dc137689be1 feat: add Sentry error tracking to layers-app and layers-api (#1055)
  • cea8295dea20da77ea6e73cdca836d1f2a73ca4e feat: add Sift scrape trigger to platform-account-periodic-posts-sync workflow (#576)
  • 4302654b313c967f2c8a48126a6ce0a32eab058f feat: add Sift slideshow ripper (#550)
  • a1c43d8f02dd8a9b02e96d70a55f0e5fdcda5404 feat: add TikTok hashtag generation with project keywords (#509)
  • 1be8e310f57fe9d35e89f22014b55eb0d1e3e3b7 feat: add TikTok inspiration API endpoint with TikHub proxy (#515)
  • 199b2085270ecd985563b6b1db202423fef266d1 feat: add abstract narrative slideshow workflow (#335)
  • a3abe1e4d787b441f6529a4506d6bf0835a50d9d feat: add ad policy eligibility flags to filter TikTok ad content (#555)
  • 3125ba04f6c665e758aa74a685d6f59100dd65a8 feat: add automatic orphaned workflow cleanup handler (#652)
  • f08f1a9ea8ad2902428709fbd18534b8eff2415d feat: add confirmation and optimistic update for social disconnect
  • f44775c197e48dba577fac56b6736d60417b460e feat: add daily platform account sync automation (#574)
  • 50f3e23d627e31b759417259abb78c8ccbcc34dc feat: add end-card logic to rest of slideshows and prepare for video support (#599)
  • 6e15670ff999092462ca21ac6d3a4f761f41a51f feat: add fallback marketing strategy creation when AI agent fails
  • c7fe0d4f416ece9ca7e532274cf15073d578ec4c feat: add fallback marketing strategy creation when AI agent fails
  • ad5827a58a8024ec4a6394cdfea9bded4c1d32af feat: add fullscreen view for media cards (#606)
  • a332cd03824a6e8100b733f411bddf70a6aad119 feat: add global notification and onboarding tasks system (#688)
  • 3d6c9b5f7af44a1483d9cad6cac71f99d013f25e feat: add granular [perf] profiling to lightweight codebase analysis (#999)
  • 4d82f902ee46a142599fb3f30d036e496a127901 feat: add live events 3D globe visualization to admin dashboard (#526)
  • 5ae5f68acccddccdd85645e68b444609b9cbf1a4 feat: add page titles to all routes missing them (#1100)
  • 2c655062a2e9fa8116187bd9c43d84fefad47476 feat: add recommendation callout and remove dividing line in analysis view
  • 64ccf7fc09ccc31856d9229e39d87defe962c892 feat: add resend confirmation email to auth flows (#1186)
  • a721d48e0c333b9057818929bed37af8bfc2499b feat: add sift video analysis workflow with Veo + overlays (#543)
  • 37769f8c2d142da2d89a792f90a79eec4e71ff44 feat: add social activities (#146)
  • 5d9a63bfa5352f9855eacb7eff2435262b75ada6 feat: add structured outputs + bump Gemini 3.1 (#1185)
  • df301fb9634f8d3be1e6933da3bc5636a1eb0449 feat: add vscode codebase ingestion (#318)
  • a844465b9643164d14c234d29cb0cbec75f4b71b feat: add website onboarding option (#466)
  • 710f9563ed5b19e2d01bc3b65c3e0fad631d13c0 feat: admin TUI enhancements + fix impersonation link (#1081)
  • ac8a9a95add231ed60fd79b06ab7cb2fd58ce24b feat: analyze endpoint triggers comprehensive (#758)
  • 7a49e11cac2a4e28b0f131af551b67e7a58c6255 feat: app screenshot & logo slot detection and replacement (#1138)
  • 70242212f820a937699dea55c63da37127ca4edd feat: apply JPEG optimization to content recipe slideshows (#961)
  • 1a06c7da59c7a5f3e9e22d206e395b6d3ac1eba2 feat: archetype-first influencer generation with two-call architecture (#1340)
  • 31c66aa1c1469e7be43ec391a97e4434f189cf94 feat: auto-expand layers during onboarding for better user guidance
  • aa3c9914a23471deb71f35935f3ad389ac25be7c feat: auto-refund credits when trashing generated content (#1211)
  • cbf34518d7d248864f5f6caaeb426a48a00f236e feat: batch webhook messages to handle iMessage split-sends (#917)
  • ade777cd42523c4f7b1b3b011fa7b62600faf223 feat: centralize pricing in DB & drop overage/postpaid billing (#971)
  • bea89e23766a095e394dec2eaa290fff477e8f68 feat: commenting, misc fixes (#37)
  • e1f68d2c0cd4b060a19a5b5e2d2e237f97e4eaf0 feat: complete billing system consolidation and organization migration (#215)
  • ff815f3c91748ece454a19d2c0c308bb7da0477d feat: comprehensive Doppler migration across monorepo (#250)
  • 11680b9dbf523d47b5c2fcadb65a5e0502ed8aaa feat: comprehensive PostHog analytics instrumentation (#1000)
  • 2ee24f2b2dffe727661e419cd3da3fd8a6315fd0 feat: comprehensive codebase analysis with SDK detection (#709)
  • d73c4647e94919ddae6d5d071ad58b19db90b85f feat: connect existing campaigns to project layers (#893)
  • 32854d6b8c9b933aeb25733ea2c94a0de4b2d33b feat: content slot detection API (#1147)
  • ab48004fe169f722f78096fedebf242b3c154667 feat: convert TikTok photo uploads to WebP via Cloudflare Image Transformations (#965)
  • d316f6c7a992b150f93d08658cacbc5061973335 feat: creative agent UX improvements + portfolio dismiss flow (#932)
  • 839a9661f219a6b2e2c315c746c42ca9df6ace08 feat: credit awareness in generation dialogs & org nav (#1146)
  • 5cc22354531ecfa8bb6b88e54e95f36451b1afe9 feat: delete individual slide from content container (#1179)
  • 267b1a2c039400b7e2742842145cbb220abc4003 feat: display QUEUE_SCOPE on dev startup (#395)
  • d427d2ed72e290d1ef9bc5dba393e4bf8093c7f7 feat: e2b-backed pr agent (mvp scaffolding) (#471)
  • 0d1c2c56254af78bad757184fdf96592a1b150a5 feat: eager Sift indexing with polling for UGC research generations (#840)
  • 1c63669bf7cd643e0532d75650908bc3ddc00b5d feat: eager content generation from portfolio (#896)
  • 4941ea1267e8e306357593379f9a5f56a2cfa99d feat: end card project-level media + mode-based config (#1293)
  • 0a9a71cd645999d651bbfd84c63de50dcd1a307b feat: end card support for video and slideshow pipelines (#1269)
  • 509148a03024d54d20b045da5c6c15f21c280ab2 feat: enhance VSCode extension onboarding with social account connections and intelligent layer suggestions
  • 8d94ce7124977a514b3f6b911884cb664454039b feat: enhance live events feed with app icons and property details (#529)
  • 34353418e094b1ef6ef17c8628d43761ed211e6a feat: enhance live events feed with app icons and property details (#531)
  • e34c86b32155cb9c02b2a2545b20db0a7118e425 feat: enhance onboarding experience with modern UI and AI thought stream - redesign welcome screen, add dynamic thought bubbles, animated progress, improved visual consistency
  • aa89fb7f56e41ce393fdec1485c5aa4464291dab feat: enhance organization member management (#182)
  • 436f40006ab245aaa946f9060cf48e6da9907d18 feat: enhance organization page with real data and member management (#181)
  • ce83f2f24ec9f7f0c89fdaf65ed5c36f3d9a18c1 feat: enrich Intercom with org, project, and subscription context (#1092)
  • bf22472ee1343c4dece71cc2961328ab88f6d809 feat: generate white-background influencer image on save (#1347)
  • bd5d24839cf1f3fe3c9579e1c321c676fbcdd069 feat: hide internal influencer fields from API responses (#1348)
  • 1fe1cbd851d7549fe4f78d8a0a4a54ac55ffbe86 feat: implement cross-editor OAuth with local server approach
  • 1a4b96885cc941e1dd7d328cca89089546bedb8e feat: implement dual-endpoint strategy for TikTok inspiration API (#516)
  • 76c1ee99b56442532fe10d7d05dc2f6b657664ba feat: implement onboarding progress tracking and resume functionality
  • 5547a8dbd27f346a7e2d92a76513e77233c68a1a feat: improve layer configuration UI in onboarding - Simplify header copy to be more concise - Remove unnecessary warmup callout box - Remove Skip button and simplify Continue button - Add large plus icon to Add New Layer button - Update footer styles for cleaner layout
  • e5eab14adafe6fea6e95576d1bee135ff01c7727 feat: improve layer setup UI in onboarding - Simplify header copy to be more concise - Remove unnecessary warmup callout box - Remove Skip button and simplify Continue button - Add proper plus icon to Add New Layer button - Clean up footer styles for better alignment
  • df45be93f8ee65f31415b9df3919c0a1d28e60ef feat: improve social account analysis UI layout
  • 5ae42f9f70a99bd91b23083a03a94884c8e9b035 feat: improve social accounts layout in settings
  • e94ea511ddf5d82bd13812d01dfa0904e8f2eb86 feat: integrate warmup layer functionality into onboarding flow - Automatically create warmup layers for accounts that need warming - Show WarmingGuideView when all accounts need warming - Update layer configuration checks to handle warmup layers - Pass social_account_id when creating warmup layers - Update UI messaging to reflect warmup layer creation
  • f5cd6d8b5cdcbe90616c3e1a37a703e85677bf6a feat: interactive claim layers modal with animations and real data integration (#213)
  • 4bbb0ca42b3d42408e0f8cf5e10042e32cbfcda3 feat: introduce ads_content entity for ad scoring (#1217)
  • 53af2fe67d13fcefd087eef006c35b96492e7c76 feat: ladmin page + wallet billing + Slack for Managed Social Distribution (#1299)
  • 7376ceed5ed7d9107508298cb1db4ec191a1bc3b feat: major ladmin overhaul - dashboards, customer health, admin tools (#1183)
  • 546e18edd522f4ce6eb8e346b087ab5e6abd9d54 feat: media-library end-card slide appended to eligible content layers (#593)
  • efdd8c2e280c58ff99b8846eac0c37fe9b775564 feat: migrate to unified toast wrapper for VSCode compatibility (#191)
  • 1fbfa02c5b5aa0aa9f7757966b5918f5bb90306a feat: mobile responsive header & navigation (#959)
  • 1e5cd01f9394ffc980c7a5a6321c55b267802d3e feat: mobile ux tasks (squash merge)
  • 5f6ef1dd2b16a09e5f6161a056c4c57a5ee751c7 feat: monorepo setup with centralized Supabase types and VSCode extension integration (#187)
  • a8d1a6e20237a910aa845300e90de1affc6f7a94 feat: multilingual content generation (#1215)
  • 108a3f49d36649504931b8369f87cd4acd612873 feat: natural language slideshow editing (#676)
  • ccf30521832bec1a990b62c48611e42d0266487c feat: notification system fixes and documentation (#692)
  • 9fba0951530f5abb79d9c54f41f4cf1886f6b9dd feat: onboarding generate step, progress bars, and PostHog analytics audit (#1001)
  • 72ada38c8c2fcf60c1a752613516b714b136fffe feat: optimize slideshow output to 1080px max-width JPEG (#958)
  • b833675f7091c80affbc9a4e380b9c9422257ef2 feat: organic post scoring + tikTok prod bugs (#656)
  • 7ab09728ee71cba483f15a55f1d4ad095d27e796 feat: overhaul project settings media & migrate end card generation to API (#1295)
  • c02e01ff964364a0e9d16ad80978da7ad0a506c4 feat: persist project platform fields (#482)
  • c2c74c17908e8d0ba939aa58a289443f4f46d81b feat: persist video mute/unmute preference (#905)
  • d984c86c90fa3994a472e5435b432dd37476a109 feat: polish expo task detail and filters (#314)
  • f83bedaa302deb598becd22b04b033b480563ca0 feat: posts (#208)
  • 709ad24044a91c6daf6253d648aadda1aaa5219d feat: preload full name in complete profile form (#189)
  • 3267a842a327a65720ecfac994f294f44539534a feat: project GitHub settings & RevenueCat fix (#546)
  • 751dbe29a7342241595cda454dff3bd904dbc303 feat: prompt phone verification after social share (#989)
  • 4f93eec1305f8680bf7007d370575750bad6c5b8 feat: re-enable Instagram connect with forced login (#1163)
  • b9010b11a697147ae5f76f0aad299e06d89e30ac feat: real-time progress tracking for content generation (#895)
  • 729f40f920a1d66c7969025420eaf202eb96f5fe feat: rebuild onboarding pipelines, media discovery, and brand voice system (#1282)
  • e829ba287ac2121775354d61bc9d3c16efbe1b03 feat: redesign onboarding flow UI for professional developer experience
  • 6b0d60d5a37e9cea1a09470b1f3ad976ed1bbafa feat: refresh social accounts on focus/visibility change
  • 3227a330b4e438814c4de0b167e0570b89992869 feat: refresh tasks completion ux (#326)
  • 5749ced6b724c0dd7ca432ef624bed568c1c8460 feat: rename For You → Queue with content_queue table (#881)
  • ebc32e8321df8946cec682318c57114ab8ef980e feat: replace SDK onboarding tasks with phone verification (#1283)
  • 0727fa57d86527917377ef11b92772415a95801f feat: responsive breakpoint system & mobile control hiding (#962)
  • cbc3fc845ebcd821fc0a98fd334d17c93e0d2dd5 feat: responsive round 2 — dvh units, xs breakpoint, remove Creative Studio (#963)
  • bda02b3bd9cbe449e6fe33f06a13faa2932ed245 feat: responsive round 3 — stack fullscreen two-column layouts (#967)
  • 0e7ee0271c5ea3eb2b13c822b316834ca821651e feat: retry & dismiss UI for failed content generations (#900)
  • 6df89e92dc923ef61d1a96c4a024714333461378 feat: revamp custom influencers — generation, editing, cloning, three-tier fallback (#1327)
  • 8ba01c596c242d3c20e81f9a2b66b7724b84d5e6 feat: saved views for workflow debugger type filter (#1206)
  • 04fa0fc84f4c12cb654cad1cc982baf73e9c0743 feat: show sandbox badge in org popover and billing page (#978)
  • acc18f2b876a7070b61e6f3c104c919c7c13a0d5 feat: simplified app store onboarding with layer provisioning (#792)
  • 9df1287404edb59101861db5aebd2feccfe1d16c feat: skip transition animation + HEIC thumbnail fix (#929)
  • 49728cd4246bdaaa9f3b6af076bc710cff8c8d5c feat: skip/generate flow for recommended generations (#910)
  • e65582adcf3a1ccc882da3c3d0dac0a2de4eda44 feat: spinning border animation on processing content thumbnails (#902)
  • 557badd5b55f88d33f82323b9c2e2cd09dc3ab30 feat: status page and orchestration health endpoint (#901)
  • c03e422d7db9f213e52fa69bcf1244ecab670381 feat: store profile picture url during social oauth
  • eedba29c5391cbb0d2f73b469ca73791cebda40d feat: street interview video content recipe (#927)
  • 73744b136606ab0902db58081e262c363631b8a0 feat: strengthen ugc-creative slideshow differentiation + add comparison sheet tool (#1316)
  • ba73b10fed1d5cdf7ed71f1acf027c08bbbf646c feat: switch Instagram OAuth to Instagram Login flow (#950)
  • dc595d38196f5d36fb797b499d8374c47347270c feat: tikTokAds create new endpoint to power real tiktok user assignment to ads (#642)
  • 49a5563dd80fe1eadb22b6cc3e8b802ae3e0eff1 feat: tikTokAds selectable identity for ad distributions (#648)
  • 0f9e70e7d27d867f517c3cf99e1f7b5785435f39 feat: ugc researcher orchestration (#752)
  • 31e0754d0b8167b46b8ed53c54de83de51e904b9 feat: update Layers SDK system prompt for enhanced integration guidance (#528)
  • 5eca776d7e5237f78faa92ceb7fd056c2ab7f4a5 feat: update OAuth callback path to /auth/callback
  • d9b28ecd9d97113ee5a445d827d3b29dee41ab4b feat: update homepage content
  • de08417310004587d84bfbcf2f77a35232e8b6a8 feat: upgrade LivePostCard with high-quality Sift video previews (#572)
  • 7545d5b065765229a9eb2fa29124552dbb1d726a feat: use EMAIL_BASE_URL in welcome email (#46)
  • 8f9c9e515b9c50440a91be8db20dfbfaf69d1943 feat: validate multiple keyword candidates before selecting primary (#1104)
  • 78f87fa9ba0474d57bb7acecf5021027d40b2515 feat: video element replacement with Veo lastFrame conditioning (v13) (#1218)
  • fb496f744225b50b47a6db4b68d8fafbd04fa3b1 feat: wire distribution layer to TikTok draft push (#1053)
  • 939ca62d39cfa2c6816b4b8e79456e2a30c0cadc fix (#226)
  • 26a54be4851d42c4fe7ed0b660718e3295a25cab fix (#585)
  • 2df9804bf04e7ef32023ff524de0b0e75afe49b7 fix broken migration (#788)
  • d5c8865aa6581649350f5532ee784f09bc8cb896 fix build dir, style absolute buttons in Auth bc of dirty fight between component overrides & shadCN. will fix later
  • cafb85fe1fab42ac8f06ec0fa8b01d65792c037f fix deploy for comment worker
  • 1327b3b4ad4ed65e38edaac09c840edd5ce1f78a fix error in cloudbuild (#630)
  • 511749c06610a3daa91e7c6c4b4966def5387daa fix expo package.json
  • bad13eff2084c0a013cc8a34616e86d22a6c00eb fix for hello flow (#69)
  • fca8421dbaf465e1d685f2c1f2a82c93c2aa2ec5 fix for project creation
  • 471efa4f54cab866bdb497d466b71e5e531e10ed fix github actions for supabase stuff
  • c9596e88ab27addb5d77d86e75c7c97f83c3962a fix interface schema imports (#355)
  • 8c0e5cc9f5a5a0f650bd34a43cafa07e6b7e4a73 fix logo in welcome to waitlist email
  • 5672cdc9cd9b2deb10c434d4e44d415f3a826c44 fix logout not clearing ui state (#505)
  • cb2a11c342c5643055516f216d2d1db35637d2e8 fix loop (#76)
  • af8525a1b2b8cfd32d0802ea00f1991898397671 fix nextjs promise
  • 78ee7c543168a86b62e79f6b5b1d8a3af1b8c05e fix read_meta_insights activity error (#658)
  • c795cd8066de470a8285fad402f1198c75964a4e fix streak count. cool 404 style (#235)
  • 45d0b1e8e80431ad7bd81ad27e928d3cf0117567 fix ts error (#498)
  • a90ad250cb4df1eb120822c7e9d718e237d4471b fix type in extension
  • efd17cf6c6d992a7b7fbf96eea862570ef71ec42 fix url
  • 59b81ecd3f8c3f6722dd0cc3e94e6158a2d25bac fix(Dockerfile): rm pnpm packages reference (deprecated) (#477)
  • ce6b035b5da0de1fed4833405bc1a50f8d4b8033 fix(LAY-524): sdk ingestion route is receiving events from mobile apps (#470)
  • 804c8be1200a6db4d633f716e4c44d789eec6c21 fix(LAY-524): sdk ingestion route is receiving events from mobile apps Part 2 (#473)
  • 823cea9b321b555a2b5cb2e5e4a2ffcf2295e4e6 fix(admin): paginate email search across all auth users (#1158)
  • 0e77297bc47245d9b4b7448decf59cdf0b2cf0a8 fix(admin): resolve workflow debugger timeout and retry failures (#1407)
  • 17f0109ecf5ed99666230f5beff8f6a97760bcbf fix(admin-tui): auto-refresh org data after write operations (#769)
  • d38d6cbcc671f9f73de67f0f86f489188b1c1151 fix(ads): redact CAPI token from browser console log (#1439)
  • b8f9cde1b281d191eccc24b11e5cb3ddcf8dc098 fix(ads-agent): TikTok activeCount uses wrong status string (#1266)
  • 7b09e812eb3011ea2f2493402667babe7865d3e9 fix(ads-agent): enforce campaign whitelist for layer boundary (#1261)
  • 3a163679b0cd9321471b3e1b9d4616193dddd7d8 fix(ads-optimizer): comprehensive V8 pipeline fixes across all platforms (#1343)
  • ffbf99d7383bc8a1ed03966879312a5d87a2f0a5 fix(ads-optimizer): comprehensive fixes for Meta/Apple/TikTok optimization (#1332)
  • 87e6a16ac8322886c85134e002e2abaac6583020 fix(ads-optimizer): correct user prompt for v8 strategist agent (#1326)
  • 477d5cef28e3279edecee912012f5a10e2e3fef2 fix(ads-optimizer): detect v8 terminal tool in waitForCompletion (#1323)
  • 2b1ea5d31c1ef00af2d41bc914f5e2653b52f08e fix(ads-optimizer): respect --agent CLI flag in run-session.mjs (#1321)
  • ea176bbae902579a8a1ea8bdd7d17ad1f3b9b399 fix(android): Fix onboarding HTML extraction for new Google Play structure (#864)
  • c01f82178bb714feea4da4fd66974e11f5678f9d fix(android-api): use NEXT_PUBLIC_ env vars for Supabase config (#875)
  • 2401d2cf1513c2fb105157d42c59d6d9822778f6 fix(api cloudbuild): escape SERVICE_URL with 74339 to avoid Cloud Bui… (#486)
  • 3229b791a56d644da26442e306fe33b3affd7219 fix(api cloudbuild): use cloud-sdk for smoke-test and compute SERVICE… (#485)
  • 58c721743e1a2ac87f4630110d47574cb24d941a fix(api): Add sift media support for Instagram posts (#734)
  • 2241a2232fc6e7d609b3e8cb404b095e3ebb6971 fix(api): TikHub retry with backoff + RapidAPI fallback for TikTok search (#1350)
  • 57e04df752b59eae22c2bcc9a6d8cb6f7b65b18b fix(api): Use platform_account_id in platform_post_metrics_latest (#731)
  • 9b5da0e25070b39eca8b1cc9c3d8ca76f268ae3a fix(api): add SIFT_SUPABASE env vars to Cloud Run deployment (#636)
  • 2fd2992d2548c9c4f2322b25faf82f9c390bcc37 fix(api): add bearer token authentication to Sift API calls (#566)
  • d53136dbb9e6946247465a8aebba97efdce882bd fix(api): add styled-jsx dep to fix Cloud Run startup crash (#943)
  • 19753de8dec327c3fb9731950aeb2275ee5667af fix(api): align Node engine requirement with Docker (#803)
  • ddf3e8157d409ebebaa81abecc3f01beadbe21a7 fix(api): allow config PATCH for Managed Social Distribution layers (#1303)
  • 54458ae1fd6ec7c94abbe7d17c3c164c932f2008 fix(api): copy styled-jsx in Dockerfile runner stage (#945)
  • 28829e3af7a234b1710e3ea58bf42395e31fe4d1 fix(api): fix elle package docker context patterns (#802)
  • 5abe62a791747c9b05d43ed019291ce56d271d73 fix(api): include @layers/elle package in Docker build (#800)
  • de4b40b2e06598fd44a367e1fc75c89c14157eaf fix(api): load layer template commands via service role to bypass RLS on hidden templates
  • 3de913550e3422f7e2ac7b626b6bf9fa2fd712dd fix(api): make content container status forward-compatible (#620)
  • a417f2cb65ba8a038ce2d9a785e8e170557eb389 fix(api): regenerate lockfile with correct Node engine and elle dependency (#809)
  • dc235e6296485ff6c6190eaca75530973b4117db fix(api): resolve @layers/elle for Turbopack dev (#948)
  • 5cd41bd959f6c7017447807b1df6ef84d63a5309 fix(api): resolve Next path and workspace root warnings (#493)
  • 6a8e3b2fff1a824eda7dca2159673a2a7845ad7f fix(api): resolve platform-posts 500 error when sorting by metrics (#627)
  • ec1bbac411e9b943fa6cc07c25d4f3eef2c9113d fix(api): resolve request body double-read in analyze endpoint (#763)
  • f1fa79fb490de09ce3b66d86b9f939caf1993c9c fix(api): revert outputFileTracingRoot to __dirname to fix Cloud Run startup (#946)
  • f0708ad4bd4c5f796befe73d8c342b18922af5a5 fix(api): surface DB errors in metrics scoping queries (#1281)
  • 07b58f4174f6863646fd418422b9ee83151b1e5a fix(api): use materialized views for dashboard stats rollup (#611)
  • 639beab04ba4bd8d3a74ed87a48b5b86488fa9b3 fix(app): Android app store onboarding returns full app details (#851)
  • 0bc3db7c28daa4ba30f3cd3905ae3269923c93ad fix(app): Google Play search shows empty results (#1227)
  • 3469cc1887c826f7dd2c9bfbb86a1dd7c16670b2 fix(app): activation sheet + config schema fix for Managed Social Distribution (#1300)
  • bd44d2b5bbda03f88915a32b53125107014a3c0e fix(app): add missing layer icons for Elle Daily Digest and Managed Social Distribution (#1396)
  • 7ee6e6bf9231ef02a39856c61710ef0513ef25cf fix(app): content language dropdown not showing selection (#1250)
  • 7711fe87ae123b2df37ac868ce29ebf918c6d19a fix(app): default post performance view to last 7 days (#1234)
  • 9b30cfc8b45181f4951bcfa9280a762cd59a40d4 fix(app): duplicate React keys + realtime subscription errors (#935)
  • aa59114ba0e6946d9b44cc08bd7a852af66ed543 fix(app): end card UI improvements (#1290)
  • 7f9be309ce4d71ca348fd4014933ec6a6cf20d60 fix(app): fix SiftVideoPreview search issues (#597)
  • 4a4a817d36a0060660a44f27780a546a06e926bf fix(app): improve keyword input UX on project settings (#797)
  • 06dc301842e44b78566702c9ceb1b3ed1e18f140 fix(app): increase live posts page size from 12 to 20 (#633)
  • de723e6d74b814a59058020111e03b7ec95bdc85 fix(app): misc UI/UX fixes (#847)
  • 72971d4bcfa6df7f1259f2084948a47c221112dc fix(app): misc UI/UX fixes (#852)
  • ba2eb5029de4260b3e8cd507ca0cbef97915946b fix(app): pass UGC social account IDs in totals API when manually selected (#855)
  • 41a96e20b62f2e565915470dff21c0987b2566e0 fix(app): remove 24h metric deltas from grid view (#632)
  • 7bae900d8ba92b7834755595c6719846949eb374 fix(app): remove end card select state and add fullscreen tooltips (#1291)
  • 0e05bfb74bf904427fbf7521aa0d126e1ccfe69e fix(app): reset calendar range on view switch to prevent stale fetch (#1294)
  • 2f82580c76797d0df2343677e29298716452776d fix(app): resolve 107 TypeScript errors and add CI typecheck (#643)
  • 5f840eb0417f9eaade10f29fe3bb875a51c2f1cf fix(app): restore streaming-thoughts.css deleted by onboarding refactor (#836)
  • f052fcf0223df7b218d8069669682546ac823bd5 fix(app): scheduled posts UX improvements (#1285)
  • ba4eec692faf4955524863da3514bb2df1fcbead fix(app): update npm engine constraint to allow npm 11.x (#834)
  • 7aa3e02ff350a0cc6ec775c8cd08f592ff67cbfd fix(app): use correct API URL for onboarding tasks (#698)
  • 9272f457e1a5599b7bc8c303da4646bccbd3396e fix(app): use current project's org for subscription paywall check (#858)
  • 1508698594c7497ec127c935b9dc186ae8729edd fix(app-onboarding): replace fake 'wait' with load-and-condition pattern; only initialize ASO when listing exists; run refresh-marketing-context after ASO init
  • 292c217af0f1c3b6e5714c0a7a4f86f7505f108f fix(app-store): deduplicate app_store_listings and fix resolve_app_store_url bugs (#1239)
  • 392875c6a87ccbc4207ecc08e99a21b65e89c2c8 fix(app-store/listing): remove duplicate GET export; keep single withProjectAccessCustom handler using is_deleted filter
  • 6b2af655e8da012a6fbba385c96858e2aadbecb6 fix(app-store/listing): remove invalid const assertion; narrow platform type explicitly ('appStore' | 'googlePlay')
  • 6648ac574601428857944ccd8f247426969b1ff7 fix(apple-ads): add circuit breaker + reconnect notification on token failure (#1357)
  • 4fe90373bc16e129ded389e58929998619a81fd8 fix(apple-ads): enforce budget minimum, enable API validation, fix agent token refresh (#1355)
  • ffe89f5b55cef6057ef5daf640608d6217e69f79 fix(apple-ads): fix metrics sync - field mapping, granularity, deleted campaigns (#888)
  • 6aceeda4633cf306928840baee0aecf47cd8d6a1 fix(apple-ads): store rotated refresh tokens, fix OAuth body params, restore health-check orphan recovery (#1352)
  • 7a9965e8a45b7c8c45d6aba4dad8bb17654773fe fix(apple-ads): unwrap API v5 report response + enable global sync (#884)
  • 77aba0a3e2bcfc314914032ce5c80a14fa58812a fix(auth): Improve AuthContext state resolution for direct navigation
  • 39adbae378a7d8e88dd5262117126b5f65b72b68 fix(auth): remove password complexity validation from sign-in form (#685)
  • 189d634ed4d28b3708f35e9d869603d0fde0aaab fix(auth): send welcome email for GitHub/Google OAuth signups (#1363)
  • 72cc1d8c2ac091cbb0ea594771926f3c7a44bfef fix(autopost): set media_type for Instagram image publishing (#1306)
  • 4f2479618204bc150dd2849f7424861c25af11ff fix(billing): Initialize Stripe client in webhooks & fix wallet double-deposit (#831)
  • 4d81c2d082a6d34e398b23721ff1824175eb0d5b fix(billing): Update stripe-sync-engine to fix invalid API version error (#833)
  • 352cb3f9ffeeb6d6425354fefc7ad5a5e19b1a5e fix(billing): align wallet deposit response schema with API (#1405)
  • d8a75797ff314a3c3e19333410b089dd112a721c fix(billing): generate Stripe invoices for all credit/wallet charges (#1397)
  • e7701971bd56c09e5c43611f5c0734ef2764a7e2 fix(billing): hide 0-credit noise + human-friendly event labels (#1384)
  • eada6671ff250d047d216513110bf16949a234c8 fix(billing): resolve Stripe Basil API breaking changes for invoice refunds (#1385)
  • 3cd06a8c5e080bb8482e30c786f899a926e5b01d fix(billing): resolve credits purchase modal not showing success feedback (#1424)
  • 771e5455db68e5f817b89882e35eaaacf817bc96 fix(billing): resolve subscription race condition and org redirect bugs (#866)
  • b78a643f6bf9b270d5d45448239b1add6cf9a3d8 fix(ci): authenticate with google-github-actions/auth@v2; remove depr… (#484)
  • 914d33a7305e37f3e860a73a2c61897060c2e629 fix(ci): include parity check scripts in Cloud Build upload (#1171)
  • d41de1d8038c5e13cb4a47e2fca08a86dd00c63e fix(ci): only run app typecheck on PRs, not pushes (#645)
  • 3d6302181eb7e804fabb3cfd4cc19b4589160a75 fix(ci): unblock sanity and Supabase preview checks (#454)
  • d8037bbfcf85f427e98070b4b376e64495488125 fix(ci): use async Cloud Build with polling to fix permission errors (#812)
  • 49b30c017b002da312d646f440692aae7c26ace5 fix(cli): fix GoReleaser v2 config for release pipeline (#1447)
  • e0dbd470bd6c5ea38d2a532f874c4dd4370ea88d fix(clone): add content layer dropdown to ClonePostDialog (#1390)
  • e31e335ffab28db15f311cff783196e182b0ebab fix(clone-gen): pass SIFT media URL, fix credit billing, fix event labels (#1387)
  • 9b5389f5907fedc56b181988aaec443c8193b864 fix(cloudbuild): add E2B and LLM API keys to Cloud Run env vars (#700)
  • f65eeac98d039345e4d83c37da800b88fc4f50ce fix(credits): prevent burst over-commitment, auto-replenish retry, leaked reservation cleanup (#1238)
  • 62128dbb03348ea0aca6f1c1348f063df66c7e3a fix(credits): stop 0-credit reservation spam, clear stale reservations on period reset (#1361)
  • a6ba91a8cb41cb8f73813d734eaad68e1fc2e3ef fix(dashboard): Fix MetricsChart showing no data and remove localStorage filter persistence (#719)
  • 9272fb9bf5aa088647f771a2b671aff6a698a6a3 fix(dashboard): scroll reset, empty state messaging, and viewer types ordering (#775)
  • 6777eb43de884ad9c28fe3fe23fcc14c01dd66e5 fix(db): ensure new orgs are created as active, not waitlisted (#1177)
  • 1ba0983a83d84f483157c1f5f0a82158078b2240 fix(db): replace edge function scheduler with pure-SQL PGMQ enqueuer (#1297)
  • 28fd3ec1913d7e5e3b7139be2dc334fc692a3aa7 fix(db): resolve stats rollup timeout with pre-aggregation table (#1292)
  • 0f1ecd7c4915e0733a2e70a7ed1d3db78c05ad14 fix(deploy): add Elle env vars to Cloud Run deployment (#818)
  • ec917adb5a507cf1a0992f485830c022b03d7c18 fix(deploy): add SIFT env vars to Cloud Run deployment (#568)
  • 58afa87daaf210158c31c3c741d68afb0d60fbb9 fix(deploy): add WEB_API_BASE_URL env var to Cloud Run deployment (#824)
  • 4da5823d99b1a7c0955ce6e61b021f43b0813e8c fix(docker): resolve Elle module imports in Docker build (#815)
  • 8a87b82a04424cc60a0d5df68436845fe44ab2b3 fix(elle): add Authorization header for cross-origin API requests (#816)
  • 89de302ecd64e52f6665c1605c74d49377d6542c fix(elle): add Sift DB query error handling (#916)
  • 1c7331444432f370dbfd7ba13a7304932ad7fa77 fix(elle): add timezone-aware dateRange parameter for date filtering (#848)
  • 7907c078b5f07fc3d590a2f16e7a1c1a61be7842 fix(elle): align Node.js engine requirement with Dockerfile (#801)
  • 365e986bfed8e8cb9719a77d5ba3098326e01aca fix(elle): complete Elle Daily Digest plumbing (#1400)
  • fca15855d5976bda9a26860724eb681d40e0c76c fix(elle): config validation + settings UI cleanup (#1393)
  • 9a4e73528dce9215f9ff55053e99d69acf9f716d fix(elle): eliminate content generation timeout, add proactive notifications (#923)
  • d9767d208736d61ac9d2f617e1a5136ca39226db fix(elle): eliminate redundant LLM round-trips + fix credit reservation leak (#926)
  • bb4fdec8ca490bfd3f2678d39703289dc7db1583 fix(elle): eval scorers, SSL cert fix, SMS error handling (#918)
  • 1b44d3d5542cead895cb33bb36dd752c74b79a84 fix(elle): fix content generation failure, upgrade Mastra, improve intent detection (#915)
  • 2829a5f45d8d2622ee04b496450a8ef4312bf084 fix(elle): force dateRange usage and add tool call logging (#849)
  • 74b7e16fee1d1e57b6b48ee741a4fa855e813c1a fix(elle): guardrails model ID, disable semantic recall, typing indicator logging (#941)
  • 6a9702a6ef9de5aec2a021eaa4beb7211548acdb fix(elle): match SocialDistribution form pattern with Save Changes (#1399)
  • c748b80b02c586993b72a7d0bc2e792bf681c1a9 fix(elle): perf + reliability fixes — remove URL resolution, fix guardrails, fix race condition (#940)
  • dd63109470f18cc3933de4d1df4317ed36d6e532 fix(elle): reduce SMS guardrail latency from 269s to ~7s (#921)
  • 2dae0b12b01d100e941b6f22a97989d218cde6f7 fix(elle): remove providerOptions leaking strictJsonSchema into Groq requests (#1156)
  • e7aaf42f9f957e4e81cdc737ea43db97f4242a3f fix(elle): reset chat state on org/project context change (#1157)
  • 363adaf0a5b3271f297022df8c3d67611a9012cb fix(elle): resolve 45% web chat empty text + upgrade Mastra to 1.8.0 (#1286)
  • 5e3e3fb53895f4144cb6139d6ff0924a6691b5a8 fix(elle): rewrite settings to match app design patterns (#1395)
  • c3375d3d0bf3ca00e9b20534d8e7b627489ec72f fix(elle): show activate button on Elle Daily Digest layer (#1392)
  • dd011de10f9daf2b0c3eb842ae784dae7ce75277 fix(elle): strip sslmode from ELLE_DATABASE_URL to fix SSL cert error (#920)
  • c4b8a13521305dbfb0ddeee47bc3bce8b47bedc4 fix(elle): update zod from v3 to v4 to match api package (#813)
  • 49e98a67c2676ba954ff620d6b029e9e702e9c15 fix(elle): use async function for auth headers to avoid race condition (#817)
  • 655e9a438a7f5813f90cb9bf986311c09b9ef0a5 fix(elle): use optional() instead of nullable() for Vertex AI compatibility (#819)
  • f1b382b7fd2931315f8a7facbe5c6b5dc293cd6c fix(elle): use singleton Mastra to prevent SASL connection errors (#859)
  • 8c4180c3d83f514c91bfe728ce0160d23b6c0fa9 fix(elle-digest): lead with yesterday's data, reframe today as forward-looking (#1443)
  • 55decf80e9fc34a4732838b61ec9528c2d71ee31 fix(elle-digest): null guard + truncation heuristic fix (#1442)
  • 885c4ddf27524fc56e06b7b99c53988c13c4179e fix(elle-digest): rewrite digest data pipeline for truthful, actionable SMS (#1440)
  • 88fbe66e35b4fbf4306070a5e526df5165b1770b fix(engagement): add Comment From column to pending comments table (#1435)
  • 667714cf564e4ca0db375a5603df5f0e1d740dd4 fix(engagement): hide unavailable third-party reply section for Instagram (#1436)
  • ca74e9e59a1c54ccbe5a4ec742d97dfa69e8b9c2 fix(engagement): mark TikTok 40002 as non-retryable (#1438)
  • acbd8bf0dae0e986406e9688e412cb9117e84edc fix(engagement): prevent duplicate comment replies (#1196)
  • da66ab87b31dec72be1fe890be92dae86a6e7ddc fix(engagement): register v2 activities, fix OpenAI param, add config field defaults (#1428)
  • 12d1c72c6d3bbbafccb44a3bd46e5c5e7dc28150 fix(engagement): replace checkboxes with Switch toggles for 3P accounts (#1427)
  • 993cb20d51b6bd0522511ade98794eee0c8443ec fix(engagement): show account handle in pending comments table (#1433)
  • 9cf60010c3f7a7be3d808565d3aaaa921e0ca762 fix(engagement): switch comment generation to Gemini Flash Lite (#1430)
  • 76ea42165aafbb2e2c79d13c284b81b98214aede fix(engagement): use inline count pattern for pending tab (#1434)
  • 4167d3d4de3afab7a9a83814f646151066163505 fix(engine): build fix and alignment with repo paradigms (#459)
  • aa7a9c5a07cfc6c4c983c5cb597d56913b8f15f0 fix(engine): resolve TypeScript build errors with precise typing (#437)
  • 0c6f5b5e6ebeaf8cfbbe85a510927a24fbc65d52 fix(expo-app): Android build fixes and TikTok sharing (#561)
  • c343952c2c76cd5bcabce5ed8de367db2f9ab4c5 fix(expo-app): declare emailRef for login form; resolves device runtime ReferenceError
  • b72b4259c60a49d05b2f1a5a09e7c7206b1b7b66 fix(expo-app): defer foreground native calls to avoid iOS TurboModule crash on resume (#401)
  • b045407f12c472c488eda00e7cf94347f6cdb8a9 fix(expo-app): defer saving push token until authenticated; retry on SIGNED_IN/TOKEN_REFRESHED to avoid 401 on device
  • f9c191811dcee85db9d7768904794f5400a54a0f fix(expo-app): device push token save + login emailRef crash (#328)
  • 1f55515d7f6c1fe4be32bd7ee5a20005d664b8dd fix(expo-app): prevent Supabase realtime channel memory leaks (#408)
  • 4c26ef3062ff323a35dced8ae233d03a2dc260c5 fix(functions): correct cron period detection (#340)
  • 14c0f5e6aaec7515389c91dc429feb4448df21de fix(gemini): correct imageConfig field name in Vertex AI requests (#1389)
  • d9d4f7eaff83eb0b5f72d08cbf74f7a9ff40124f fix(gen): detect Vertex AI safety blocks, fail fast, fix orphaned state (#1246)
  • 09b6bb03bd286de754b59be8bd259714d17cd2c0 fix(github): create installation record before access grant in sync callback (#845)
  • 8b1a3b138c0b9a9b433fb308ba210d2501534bc1 fix(healthz): 2h failure rate window, min sample size, command exclusion (#1375)
  • 32cf7ec08e6de7c24d46f2fc08368d5b035ae601 fix(healthz): correct column names in orchestration endpoint (#1366)
  • a123b4f4a3e2aee236f4182c9a723e9ec33f2e96 fix(healthz): overdue with 0% failure rate should not be degraded (#1371)
  • a6b884dfe28e83aa9894343faf4138735ae77ff7 fix(healthz): overdue with insufficient data = operational (#1379)
  • 7f07960c2e2d53a77268e09c127448e3a435fc00 fix(healthz): redesign orchestration health check with per-command monitoring + auth (#1362)
  • c13691a5ca2ab92cf1730ed4481bd3d0740f8fe3 fix(healthz): zero executions = operational, not down (#1367)
  • 3c596826184221930fdd2f8b4f9ae98ea65f1809 fix(healthz+apple-ads): job visibility filter + soft-fail on invalid tokens (#1378)
  • fbe61219c72030c3c24f28098ac3c3bf774346a3 fix(hello): Improve questionnaire UX and error recovery
  • 5221db789842a3944f2b9a2ddd01853045fab83f fix(infra): add FIRECRAWL_API_KEY to Cloud Run env (#838)
  • 3bef02131cc429be6949f575d53cdf1039242fd1 fix(infra): add SUPABASE_DIRECT_URL to Cloud Run env (#837)
  • d2c953bf5f9683af834e36e667994f27205ec398 fix(infra): add ZASO env vars to layers-api cloudbuild (#854)
  • 27f98bb6e9ae98c733ae29f9336eb590ceb147a1 fix(instagram): Preserve nulls for all metrics from SIFT (#755)
  • 8376473fc684eb6437160af6d75cea8ccf8e8f9d fix(instagram): Use shares from SIFT instead of hardcoding to 0 (#754)
  • 1002a940053845a2199baa69b9b812af0605651d fix(instagram): add missing media_type for carousel image children (#1376)
  • 26547f59d6a0bbb227697dae8b3510c00bbd904a fix(instagram): auto-refresh expired tokens before publishing (#1388)
  • 77a3cf9322755e3fc3f3f6c80e7363252ce98ded fix(instagram): detect owner comments to prevent bot self-reply loop (#773)
  • fa34ef2d53fd3668c6261d28d0764571d85974c3 fix(instagram): normalize images via Cloudflare CDN at publish time (#1189)
  • 9ed71cf93d2f6d67e07c53641c8125a147b5273c fix(instagram): preserve NULL for UGC metrics instead of coalescing to zero (#784)
  • f1060db2737b8ad3fadcba47f8a5733823847561 fix(instagram): remove invalid reposts metric breaking OAuth metrics collection (#1247)
  • d74b6d7eaa37b1d2939bc7931421ccf56d1add7d fix(instagram): set website_clicks to NULL for Instagram (TikTok-only metric) (#785)
  • ca8d6cb6b2926f1ec33feac385ca99efe4d5f7d4 fix(ladmin): address bugbot feedback from billing refactor (#1267)
  • 985337317340b7e10ccaaffbc4b8bb9957c56fb3 fix(ladmin): address post-merge QA on billing refactor (#1263)
  • 5224a792555ba85921a13d0e19e5a66b3cbfd33c fix(ladmin): make workflow debugger instance view full-width (#1199)
  • 8d3d5e8379c19128c787efaaf2720e06ab7b39df fix(ladmin): pass through credit note fields for refund status display (#1264)
  • 40a5f0ad868f6cf372cde683b056bfb9677a491d fix(ladmin): subscription period, discount indicator, free month labels, and user-facing free month notice (#1243)
  • 053d0bed930f371a3bb47c626eec07bca3e982cf fix(ladmin): unify admin UI with established app patterns (#1344)
  • 146caba4e7c07d8dc0321480b7c7a656e720c81a fix(ladmin): use Stripe amount_paid for refunds instead of stale DB value (#1257)
  • 39bdf98e707704875f99f38b5723f506dee57e23 fix(ladmin): use coupon instead of balance credit for free month (#1241)
  • 2bc5079ddf1c1166ee50fae46b2b9196ac5bbd8e fix(layers-vscode): normalize webview entry path
  • 4c1bf5e11ef9d95adde861512e1f1067f653930d fix(layers-vscode): resolve template literal escaping
  • da61d4d37c74c268e101fd4f255b2826f3e93a3a fix(live-posts): improve multi-account filter (#616)
  • 3c467ad9b109b6fb6e50dffc4230eefce2703474 fix(lx): TUI re-prompts on empty Enter (no selection) instead of exiting; same for key selection
  • b51a412aa360c512b35e9cdca03ef950312268be fix(lx): TUI requires selection; better instructions; guard empty submits in both template and key selection
  • 90dc8b80ccc0da35bdc95d4f659c04a0cf6ed5dd fix(lx): avoid __dirname in ESM; resolve registry paths from cwd (scripts/lx) to workflow-engine/registry/*
  • 6dde1ec781623e48d826f90f1232de30a63b4ece fix(lx): correct registry paths in context (use package-local registry/* instead of workflow-engine/registry/*)
  • 3cc4d9bf8b1cca3449c2acfc5bdb09d6a9afaa7d fix(lx): load env from workflow-engine root using cwd; pick up SUPABASE_* for Supabase client
  • 594e333a3d53f685012fdeeaea2e6e708d633c6e fix(lx): switch package to ESM to satisfy Ink/yoga-wasm top-level await; build OK
  • 7f35d304250aeb8397fa729b8caca7829971633d fix(managed-socdist): integrate Managed Social Distribution into account registry and UI (#1341)
  • 875b7a6f9d8c3346bff3f19bffccf57f7d4aa290 fix(meta-ads): centralize stats by ad account instead of layer (#872)
  • 34bc13f7e4732b24fd449d29fab6720027c63bf6 fix(meta-ads): fix OAuth not configured error and hide agency option (#868)
  • 5683a5b520a3abf2172135c0d2c9fdf8b1cdff6c fix(meta-ads): fix ads eligibility pipeline, granular config effects, pause-on-delete (#898)
  • c269f6039eab8456f69e9d0ea876411f849245d5 fix(meta-oauth): use API_BASE_URL for OAuth redirect (#870)
  • 003349e0009fe72cea7f4dadbf43771e677e5b18 fix(metrics): Fix engagement_rate numeric overflow error in TikTok metrics (#410)
  • 20d189be5a2f93da9fc18542f17db80447559eae fix(metrics): Restore first sync delta calculation for new posts (#750)
  • 12e97877580c51eab5b57ced778bd6fe8cdc570e fix(metrics): Stop incremental_sync pollution and add zero-snapshot validation (#724)
  • c81047e00d3763838d6a317d4d51bc04d7858bbb fix(mobile): Improve TikTok sharing quality and UX (#405)
  • 761043baaacc8794983eafea41f9462e5c9610b2 fix(msd): SSH thumbnails + HA scheduledFor ISO 8601 (#1437)
  • e152a07c65bc69f1cce6c4d1afab1feea500060a fix(msd): fix SSH carousel 40004 and HA validation errors (#1432)
  • 874e945fe89858a245734fc6b9f3c7965056e2ed fix(msd): resolve scheduler overload + improve MSD provider error handling (#1429)
  • 7619c627f3d993f760e67085baa83ae1cdb1c5f9 fix(oauth): Show user-friendly message when TikTok auth is cancelled (#748)
  • 83857419bb052ff32f146a5b301bd01eb02a42be fix(onboarding): content→distribution wiring; smoother analysis progress; reliable social account refresh (#319)
  • c1096d6f59736ca48bd20818175cb253b3c8c55c fix(onboarding): correct checklist links and add missing task completion events for Apple/Meta Ads (#1159)
  • b995dbea0a461d6f728fef4dee777449dc5254f4 fix(onboarding): restore keyword reasoning scaffold in prompt (#707)
  • 90d5de4c9b171c1cc09a95dc6d0137052343a681 fix(onboarding): update cal.com booking link to layers-onboarding (#779)
  • d3fff7ee131d5e1f4231ba65b7d31cde1f94ed92 fix(posts): move clear button to left of layout toggle (#613)
  • d6918bba814ce6bfb05cf8a9ce497c22a395e123 fix(posts): multi-account filtering, table layout, and duplicate media bug (#772)
  • 5b58d922d9ab5488a53fd89915bf7ccd8888ecf8 fix(purge): comprehensive FK ordering and LX tool improvements (#830)
  • 400731a0d4d1a185be0f8a5f6ee2a866affa537a fix(scheduler): clean up stuck pending workflows in addition to running (#681)
  • 4302414979f6c7d066dce38eb81bedcd71234872 fix(scheduler): resolve system userId causing recover-overdue failures (#1422)
  • 1fb99da413b27a9d547c88d87c9d6af3c71d5967 fix(scheduler): use pgmq_public create+send pattern; improve enqueue error logs (#313)
  • f80262692830ae346a66a7dd2ab6935f95ed9a8b fix(sdk): expand ingest platform validation to support web SDK (#1423)
  • b6597b4cd12358191b0fec610827563fdd50f1bf fix(sdk-ingest): Cloud Build avoids overriding secret-ref envs; inclu… (#496)
  • dc35289a03392c977efb1486b110a4aa4e908aaf fix(sdk-ingest): include @codegen doppler env accessor in repo (#495)
  • 745627f821e83240e6d4460ea270ac7f6adacf43 fix(settings): repo connection UX + github_repository_id validation (#1369)
  • 7f97bcff62553667d623673705ff59925341b86d fix(sift): disable thinking in Gemini person description (#928)
  • e57767d501cc478bf721e1dd6e4a5884fdca0672 fix(sift): keyword dedup, emoji stripping, and consistent sorting (#938)
  • 6d8bf0a1bb4dacaf5e5fc520cf2323acce46e712 fix(sms+workflow): instant SMS ack, fix duplicate failure notifications (#942)
  • 1e64673aebe23205c0b928b847a8529646440f0a fix(socdist): SSH video-only filter, post titles, credit retry (#1420)
  • dfc65ed81dd80ad8ae60663635e645eb6ea1c120 fix(socdist): fix Managed Social Distribution publishing pipeline (#1315)
  • 4fded6af143f4648e987ba49b3465f1543011bc4 fix(socdist): make postsPerDay provider-aware (#1409)
  • 0216e8f4edfb7691ccab3ceedb83d9c2acd74393 fix(social): auto-refresh TikTok token on Send Now + fix single image media_type (#1377)
  • 39a6ef258498a0353bbb06273cccf0da0422514d fix(social-distribution): default content generation to manual (#1381)
  • 33e1aba25698b2f8a25ee2523165c9a3d651ca5d fix(stats): Store cumulative values to calculate deltas across gaps (#729)
  • fefe139f2bfb34b8aae225d42b207b23165e64c1 fix(stats): Use LAG-based delta calculation for hourly stats (#718)
  • a99e8cb578d1097dc43dcdff03fb03678a038b13 fix(stats): Use SECURITY DEFINER for stats RPC functions (#727)
  • f35508ac49bf1ac0320e21e2f423a22b37678798 fix(stats): Use cumulative values in hourly_post_stats for faster lookups (#730)
  • 6338d80fee77ef5b291db7d90b45e25a557c5853 fix(supabase): duplicate key errors, use upsert (#352)
  • 0ae29d15fb92003b5392cb91dfaa652d5f7cb456 fix(sync): Remove dropped metrics columns from storePlatformPosts (#733)
  • ee5d074883bacfdaf964f23444228c73e552fb2a fix(tiktok): Add defensive null checks and comprehensive logging for comment fetching (#416)
  • 41f325e8175d6e1d4f6b77a13e2e6f3a0293c5a6 fix(tiktok): revert photo draft Business API change and fix UI labels to say inbox (#1406)
  • 4befafe76030b8ca9d1672365199f5382124bdab fix(tiktok): use Business API for photo/slideshow drafts instead of Content Posting API (#1403)
  • e040b7433b6791aa3fec4d2509397d2e5c915b2d fix(tiktok, instagram): request all API fields and preserve null semantics for metrics (#771)
  • 0c74d8c08cccc88e89e4ec2b1455eeb4421e09a2 fix(ttads): prevent corrupted campaign IDs from persisting to DB and layer config (#1230)
  • c768eb4fc0b017e65f18a3f3db3e6bef82336a6c fix(ugc): complete NULL preservation for UGC metrics across all layers (#791)
  • a1362472259b370de810872a3a73ed95b98d7424 fix(ugc): make creators table stretch to fill viewport height (#843)
  • 9f3e34f4fc189788cb2841c4ba38b53384dea4c3 fix(ugc): skip video quality analysis for slideshows to prevent false multi_scene rejections (#846)
  • d14b73184d1675a7994271efd9af2ef041716ba7 fix(ugc): use windowed views for eCPM calculation (#857)
  • fd3e930aad44fa05a17dbaf9b79b5bb5a53903b8 fix(ugc-creative): add gender detection to prevent actor/influencer mismatch (#1002)
  • 64f8447adedce327a30b37360632f48719ac78aa fix(ugc-creative): correct slide aspect ratio when Gemini ignores input dimensions (#956)
  • 37b0f57cb1d1799a7cc3ebaf8948338682bd3394 fix(ugc-creative): enforce whole-body identity transfer over face-only swap (#937)
  • 93019cfcd0c52191ac9bfb71270aacb588a7065c fix(ugc-creative): redefine actor viability around identity transfer signal (#1101)
  • 06874b04e0be5bb6a912008460496a48040bcf28 fix(ugc-creative): reframe actor swap prompt to reduce skin tone mismatch (#1005)
  • 3ebe03bc978bd3cde9578c65e7a61ff064082cd5 fix(ugc-creative): repair plan json output (#668)
  • d6cf3f9b14f214677e3a5046efe70cb98ecd7908 fix(ugc-creative): translate in-image text during translate edits (#970)
  • 14660e789dfd6601b6a02ed9ca3c2a5ed4ac8460 fix(ugc-researcher): fix onboarding race condition and disable eager generation (#1093)
  • 1e90619c9690df4ab1bdefe66f55897896b7a044 fix(ugc-researcher): limit keywords to top 10 by score (#891)
  • 28f489f93847457eb7ad1fd071173794c12492a8 fix(ugc-researcher): remove follower filter from research agent (#863)
  • bed2a8bacd87dcb2b226f01a77567c8228cb5aa7 fix(ui): align slide removal dialog with design conventions (#1187)
  • a85b593c3bff89bf0371e491126a9a8d10813b7c fix(ui): re-enable Meta Ads BYO connect button (#1170)
  • dfcde54e3ed86d40e167fdff3c55e36ff0e128a5 fix(ui): revert button component to pre-ladmin customizations (#1168)
  • 37accdd9d0d4d8423f9b94ec7722e7748f1514ad fix(ui): show first video on generate modal load (#1182)
  • 7d9f0f03d84cfb4282c7ec7bb7167bc18d9ebe11 fix(ui): social OAuth polling race condition + keyword combobox (#1178)
  • 86ca924e774092a6bea7c8e200e274b1afa50b74 fix(vscode): align router basepath in webview
  • 0457e6149e628f481238fc6f0fa84fdd4401da75 fix(vscode): compute webview base path safely
  • 58050fba3a0b621fce287ced5daebed591692a29 fix(vscode): route typed fetches through extension bridge
  • 713325e77cbe35edb876e725849c63c6ddd32938 fix(vscode): use hash history to avoid index fallback
  • 53ca7b9c4d9b55e9f7a34120cc1ab889c8f668b5 fix(vscode): widen CSP for analytics assets
  • 53f7a4bfb3bcbf42630aa2af4256f1ba278bfac1 fix(web-explore): authorize GET /api/social-accounts; standardize SocialAccount type imports across UI
  • d8b34cb05f7030f9798a6ddaa8e7436c156ccdb4 fix(web-explore): redirect authenticated users away from auth pages
  • f46729ac3ce577c14a9ce2cd3d04bd4eb405d164 fix(web-explore): replace '@/lib/utils' imports with '@/lib/tailwindHelper' to resolve Vite import error (#445)
  • f3fa455732a7e156a1ff2e0658f0cceb113e9fa3 fix(wfe): add request logging to managed distribution providers (#1414)
  • 58a681b60040e0ce2546360dfe54898b2d41735f fix(wfe): ageDays calculation, TikTok metrics tables, agentic ad_group_id write (#1279)
  • 8078db295ec93f9b39529dabad073eb0d61c7a8b fix(wfe): cap managed distribution generateCount to prevent snowballing (#1322)
  • bedfa5ee377090ffcc843a0c7728a3f2b0da3f83 fix(wfe): circuit breaker + credential rotation for social platform auth failures (#1245)
  • bcc9e0866bdfabf17434e25538cc95818108a62c fix(wfe): classify transient gRPC errors as retryable in Veo operations (#1262)
  • 637a5add89b7f1e3df455db8c32fddc2d2312acc fix(wfe): content-refresh failures — adset capacity check, R2 media URLs, error persistence (#1274)
  • f771a1bc2b0369baef5acef21b2e06cfb32ddf2c fix(wfe): detect safety blocks, retry failed indices, sync layer status (#1259)
  • df744b3b3d14017d2a3ed86d195db244f81a9f18 fix(wfe): disable JWT verification for layer-execution-scheduler (#874)
  • 113894318d89499f6d9dd9cdbf72e4f38b288527 fix(wfe): enforce layer scoping + enable ad-optimizer-v8 as sole optimizer (#1275)
  • 595252fc65e7f6622595cd8849bb14c7cc79f886 fix(wfe): filter soft-deleted rows in scheduled post upsert and prune (#1372)
  • 5607f5f077d024768cd986dcd3ab861aeeb7effd fix(wfe): fix face detection regression in content generation (#1334)
  • 454da14583b0c0300665824fed719d783eca5f5e fix(wfe): notify users on Meta error 190/459 with subcode-aware messaging (#1273)
  • 7238e612e1764f6ecffebf901200537675509362 fix(wfe): partial success for batch content generation when credits insufficient (#1304)
  • 8f4534b95a620e1fbaa2d1a8b0709a9663a3656a fix(wfe): poll resilience + maxRetries off-by-one (#1213)
  • 8725e24b86e2bed3398ef74f38cb8cb1e78054f6 fix(wfe): preserve targetDistributionLayerId in content generation workflows + per-provider scheduling time (#1356)
  • 6b0ab279538fa7bb849cc2d5c6389f1877d00bd5 fix(wfe): recover stale pending_assets slots on managed distribution layers (#1335)
  • af4f2556d97ae1b175c8f4d3d20d804d0ab544a8 fix(wfe): remove per-command concurrency cap from layer execution scheduler (#1345)
  • 5f10edf9ead7466f30d98a4e786e47a288efb64e fix(wfe): remove project_id from UploadAndDedupePlatformMediaActivity (#1271)
  • 5d3e90e08ed301567900bf78d5980db539306e72 fix(wfe): remove top_p from Anthropic API calls for newer model compatibility (#1252)
  • cbbca5d756cb6405ce7ae9590dddccbf75b3211b fix(wfe): replace is_deleted filter with status-based filtering on apple_ads_campaigns (#1349)
  • 26fc177fd81384dbd4f3451f4d4f031206a07fe3 fix(wfe): resolve 3 P0 content generation failure root causes (#1398)
  • ef1d57b0ba0a0704445b639b3e4b96aa20eddf1b fix(wfe): resolve 65% ugc_creative_adapt_slideshow failure rate (#1210)
  • 63217f9ca635c7bbb6d716203eaa7039a4583102 fix(wfe): resolve 8 workflow engine failure root causes (#1325)
  • 9b32646cf38de46bb3c0883b97e2ff7ce72a8c0a fix(wfe): resolve Gemini/Veo timeout failures + add instrumentation (#1380)
  • 59af930daae049b4e2ce7dbae0d090ed445ddde7 fix(wfe): sequential credit reservation + notification dedup for content generation (#1353)
  • 89aa496c970e20a0c54e90657e59aaba1d1820d7 fix(wfe): throw on irrecoverable token refresh failures (#1204)
  • f126b10bfbc8b88e240dbc8e7d23faded185e538 fix(wfe): use provider-specific music URL formats (#1416)
  • c420b7a3351df6eb47790addf2370e3ae527e6b4 fix(wfe): use spoken scripts for video, stack simultaneous text overlays instead of overlapping (#1258)
  • 6d6ccf790c0641e3a57fd6be5c73256edaccb882 fix(wfe): validate ad-optimizer agent output + add SIFT video circuit breaker (#1333)
  • 655daafb78825777f49724dc56315d959d58664c fix(wfe): wire contentLanguage into run-workflow planner commands (#1254)
  • b8f659fb30914fd52dbc5a2ae451278d3a209853 fix(wfe): workflow guard conditions + agent run dedup + campaign array validation (#1207)
  • 036f18c1b9378b25c33ff29c18399f2f257fdc40 fix(workflow): Use platform_post_metrics_latest for ad eligibility scoring (#732)
  • c672c7bf5c0eb25218880c2e854721e70455f31d fix(workflow): improve onboarding analyze reliability and cleanup FYP research status (#777)
  • 0b8a69ca556c9e8175079e460564b819ad157d95 fix(workflow): prevent R2 fetch race in rip_sift_video (#939)
  • a6f98962f06aee42e17ac0964369d6ee2c744eeb fix(workflow): sync managed account metadata via SIFT API (#682)
  • d5dbb9930d94d1d2ba02b97f84265b104c930d6d fix(workflow-engine): Vertex AI only accepts 1 image per request (#587)
  • 6d95695650866fbf1988ca9f9fad9cae2fb04b4e fix(workflow-engine): add bucket mapping for R2 storage migration (#621)
  • 9f686380cac926b57be83fdf1126f6c38af77f6b fix(workflow-engine): allow JSON values for load_record filters and guard warmup trigger when no layer found (#ahm) (#309)
  • defee1c5f9a926b8e4ee7357d4258235d61957e7 fix(workflow-engine): bump LoadSiftVideoActivity version to fix Elle TikTok generation (#931)
  • 25d105a346178b77cb45b0de8fb0984854b08247 fix(workflow-engine): fix TS2871 in StoreDecoupledAnalysisActivity (#303)
  • b25de6ecbde64e8c56871b281e23509d985d9a05 fix(workflow-engine): handle disconnected social accounts to stop failed syncs (#581)
  • 0ea6574f25d906b6365186394c9c95c6a2d48d75 fix(workflow-engine): import sentry init in server index
  • 2e4437a60c5d8a38aff94a67a8f4f98ab8c930f7 fix(workflow-engine): prefer DB query over Sift ingest API in LoadSiftVideoActivity (#933)
  • e792bb9fde195065938af9fac58942882383a954 fix(workflow-engine): prevent ActivityNotAvailableError from being treated as activity failure
  • 89801f85dfebaba3b606d82f81709aa5a98496a5 fix(workflow-engine): prevent duplicate activity task enqueuing via atomic status claim (#598)
  • c6b8505bc0ad950e1d5f417ad69bb5825f4a3582 fix(workflow-engine): run lx from its package dir to avoid moduleResolution/type path issues with Ink
  • cc182749ab7825ae2749212c08f4f8ac03d11ddc fix(workflow-engine): schema compatibility — support JSONB contains via items.oneOf and keep legacy string for other ops; prepare for Ajv validation (#311)
  • e141729b884b9178b655a4eb300bd4324248ede7 fix(workflow-engine): scope content notifications to initiating user (#951)
  • 553caab903d3459bf6f804cd62cbf45ea343c20b fix(workflow-engine): unblock CI build by resolving @layers/supabase-types + TS errors (#388)
  • 87a0128e01528e07eecd886b267e5a6523470d0e fix(workflows): execute warm-up on onboarding; project-scoped lookup via config.contains (#304)
  • ae2e1386ceed9efeef08e00ca7b71b57d2fb5499 fix(workflows): graceful Social Distribution attach; remove ASO screenshot enrich; template-only task titles (#320)
  • 8faec3f7a7f0970856beedd59bb8db89049210b1 fix+feat: Sift force=true fix, error observability, project disambiguation, ToolSearchProcessor (#955)
  • cac2bcf87eafd2682c90227501f381dcb9434f91 fix/migrate published webhook (#33)
  • 451357844a45eaf9fb4a30fdf6774cc00d5ab290 fix/tt scheduling (#20)
  • 3cf9bf5442c7fa75dfc7e18429ea4fc91a5daba9 fix: changed workflow-engi...