Compare commits
merge into: vynte-infra/twenty:c--fix-missing-fe-component-nested-command-definition
vynte-infra/twenty:main
vynte-infra/twenty:call-recording-backend-api
vynte-infra/twenty:feat/app-page-card-layout
vynte-infra/twenty:feat/marketing-emails-rename
vynte-infra/twenty:chore/rename-database-migrate-to-upgrade
vynte-infra/twenty:feat/emailing-domain-log-driver
vynte-infra/twenty:sonarly-43002-fixnavigation-use-userworkspaceid-for-favorites
vynte-infra/twenty:app-dev/remaining-improvements
vynte-infra/twenty:website-product-hero
vynte-infra/twenty:fix-21177
vynte-infra/twenty:feat/persistent-app-side-panel
vynte-infra/twenty:fix/navigation-skeleton-menu-width
vynte-infra/twenty:sonarly-42767-fix-select-email-capable-account-for-send-email
vynte-infra/twenty:feat/argos-visual-regression-new-ui
vynte-infra/twenty:r--people-data-labs-enrichment-mapper
vynte-infra/twenty:revert-21259-version-bump/2.11.0
vynte-infra/twenty:ej/optimize-metadata-crud
vynte-infra/twenty:messaging-integration-testing
vynte-infra/twenty:call-recording-api
vynte-infra/twenty:c--deprecate-is-custom-for-objects-fields
vynte-infra/twenty:2467-app-feedback-from-an-app-developer
vynte-infra/twenty:sonarly-42623-fixauth-ignore-stale-auth-on-password-reset-token
vynte-infra/twenty:sonarly-42591-fix-guard-text-field-display-against-object-values
vynte-infra/twenty:ej/fix-ai-agent-context-and-caching
vynte-infra/twenty:sonarly-42520-fix-guard-iterator-history-snapshots-against
vynte-infra/twenty:tt-replace-hard-throttle-with-loop-detection
vynte-infra/twenty:sonarly-42491-fixfront-apply-metadata-sse-events-before-record
vynte-infra/twenty:test/yes-visual-regression-trigger
vynte-infra/twenty:test/no-visual-regression-trigger
vynte-infra/twenty:remove-encryption-legacy
vynte-infra/twenty:website-sanitize-json-ld
vynte-infra/twenty:i18n
vynte-infra/twenty:test/trigger-visual-regression-ci
vynte-infra/twenty:sonarly-42419-fix-make-databaseevent-updated-trigger-matching
vynte-infra/twenty:refactor/open-api-metadata-schema-components
vynte-infra/twenty:refactor/workflow-step-operations-split
vynte-infra/twenty:test/argos-visual-regression-check
vynte-infra/twenty:feat/marketing-emails
vynte-infra/twenty:sonarly-42366-fixserver-scope-workspace-findone-in
vynte-infra/twenty:sonarly-42158-fixactivities-resolve-target-filter-field-from
vynte-infra/twenty:sonarly-42139-fix-guard-actor-source-filter-when-record-field
vynte-infra/twenty:fix/hide-favorites-toggle-when-empty
vynte-infra/twenty:ej/fix-cache-breaking-file
vynte-infra/twenty:fix-kanban-same-column-sse-propagation
vynte-infra/twenty:microsoft-batching
vynte-infra/twenty:feat/settings-header-redesign
vynte-infra/twenty:feat/onboarding-seed-private-kanban
vynte-infra/twenty:sonarly-41962-fix-stop-masking-transient-postgres-errors-as
vynte-infra/twenty:sonarly-41956-fixai-chat-chunk-agent-message-part-inserts
vynte-infra/twenty:ej/test-inte-fix
vynte-infra/twenty:gh-readonly-queue/main/pr-21107-11bdc5412821aac2f03763111dbf4c8682444d57
vynte-infra/twenty:with-twenty
vynte-infra/twenty:sonarly-41881-fixworkflow-handle-isnotnull-for-date-step-filters
vynte-infra/twenty:sonarly-41815-fixai-chat-fallback-refetch-when-sse-events-are
vynte-infra/twenty:sonarly-41806-fix-accept-legacy-fields-viewid-during-manifest
vynte-infra/twenty:sonarly-41804-fixsdk-stop-runtime-export-of-null-conditional
vynte-infra/twenty:sonarly-41802-fixpage-layout-reject-standalone-rich-text-on
vynte-infra/twenty:sonarly-41751-fixauth-block-self-impersonation-before-token
vynte-infra/twenty:sonarly-41719-fixfilters-tolerate-0000-datetime-filter-values
vynte-infra/twenty:sonarly-41689-fixnavigation-preserve-last-visited-object-view
vynte-infra/twenty:sonarly-41644-fix-ignore-stale-filter-keys-in-optimistic-cache
vynte-infra/twenty:sonarly-41635-fix-guarddisable-sentry-replay-crash-on-safari
vynte-infra/twenty:sonarly-41619-fix-upgrade-axios-to-1161-across-affected-packages
vynte-infra/twenty:sonarly-41593-fix-show-actionable-error-when-oauth-redirecturi
vynte-infra/twenty:feat/email-group-per-workspace-suppression
vynte-infra/twenty:fix-encryption-key-rotation-script
vynte-infra/twenty:sonarly-41520-fixfront-allow-selection-in-readonly-field
vynte-infra/twenty:feat/settings-layout-discovery-page
vynte-infra/twenty:sonarly-41466-fixauth-relax-saml-idp-metadata-parsing
vynte-infra/twenty:feat/email-group-enterprise-gate
vynte-infra/twenty:c--introduce-permission-context-into-logic-functions
vynte-infra/twenty:sonarly-41408-fixdocker-increase-server-healthcheck-startup
vynte-infra/twenty:feat/email-group-rate-limits-metering
vynte-infra/twenty:feat/email-group-ses-events-unsubscribe
vynte-infra/twenty:feat/bulk-email-campaigns
vynte-infra/twenty:fix/parser-multi-comma-display-names
vynte-infra/twenty:feature/partner-workflow-skills
vynte-infra/twenty:sonarly-41221-fixfront-component-renderer-serialize-customevent
vynte-infra/twenty:feat/migrate-workspace-scoped-views-pages
vynte-infra/twenty:fix/automation-blocklist
vynte-infra/twenty:sonarly-41112-fix-include-relation-field-diffs-in-timeline
vynte-infra/twenty:sonarly-41091-fixauth-guard-cache-build-when-workspacemember
vynte-infra/twenty:sonarly-41085-fixauth-validate-and-default-google-apis-callback
vynte-infra/twenty:fix/website-stripe-fetch-client
vynte-infra/twenty:r--fix-ime-composition-enter-bug
vynte-infra/twenty:sonarly-41051-fix-return-validation-error-for-missing-manifest
vynte-infra/twenty:c--fix-missing-fe-component-nested-command-definition
vynte-infra/twenty:sonarly-41010-fixtwenty-front-guard-malformed-blocknote-editor
vynte-infra/twenty:sonarly-40978-fixfront-break-stale-chunk-reload-loop-on-ios-pwa
vynte-infra/twenty:fix-app-logo-init
vynte-infra/twenty:editable-property-comparison-guardrail
vynte-infra/twenty:enforce-canvas-tab-widget-cap
vynte-infra/twenty:charles/ecstatic-banach-91707b
vynte-infra/twenty:gmail-selective-quota-reduction
vynte-infra/twenty:sonarly-40483-fixfront-restore-duplicates-detection-on-record
vynte-infra/twenty:sonarly-40432-fixworkflow-handle-isnotnull-in-filter-evaluator
vynte-infra/twenty:sonarly-40356-fixai-chat-support-openai-zdr-stateless-tool
vynte-infra/twenty:sonarly-40147-fix-make-rich-text-inline-editor-mobile-keyboard
vynte-infra/twenty:bonapara/new-record-form
vynte-infra/twenty:fix-app-logo
vynte-infra/twenty:sonarly-40070-fix-fallback-when-identifier-chip-generator-is
vynte-infra/twenty:downscope-code-owners
vynte-infra/twenty:sonarly-39857-fix-ignore-unknown-fields-in-sse-optimistic
vynte-infra/twenty:fix/ai-chat-orphan-thread-on-first-send-failure
vynte-infra/twenty:deprecate-message-channel-message-folder-calendar-channel
vynte-infra/twenty:sonarly-39756-fixfront-handle-date-in-draft-value-initialization
vynte-infra/twenty:sonarly-39742-fixserver-stop-diffing-removed
vynte-infra/twenty:sonarly-39738-fixupgrade-guard-role-permission-flag-relation
vynte-infra/twenty:sonarly-39725-fix-harden-workflow-enqueue-cron-against-db
vynte-infra/twenty:sonarly-39680-fix-harden-select-filter-value-parsing-for-legacy
vynte-infra/twenty:sonarly-39574-fixserver-handle-missing-user-in-resend
vynte-infra/twenty:sonarly-39542-fixfront-guard-overview-graph-against-stale
vynte-infra/twenty:sonarly-39517-fixserver-prevent-released-query-runner-in
vynte-infra/twenty:sonarly-39451-fixserver-tolerate-legacy-plaintext-connected
vynte-infra/twenty:sonarly-39454-fix-guard-rolepermissionflag-reads-across-flag
vynte-infra/twenty:deprecated-remaning-standard-objects
vynte-infra/twenty:sonarly-39408-fixfront-prevent-dashboard-layout-onlayoutchange
vynte-infra/twenty:v2.7.0
vynte-infra/twenty:sonarly-39364-fixmessaging-cap-gmail-message-import-concurrency
vynte-infra/twenty:sonarly-39344-fixfront-guard-board-field-updates-against
vynte-infra/twenty:migrate-docs-to-oxfmt
vynte-infra/twenty:sonarly-39055-fixsdk-cap-concurrent-uploadapplicationfile
vynte-infra/twenty:sonarly-39017-fixfront-handle-missing-morph-target-metadata
vynte-infra/twenty:sonarly-38998-fixfront-guard-settings-counter-against-invalid
vynte-infra/twenty:refactor-front-component-bloating
vynte-infra/twenty:sonarly-38975-fix-tolerate-dashboard-widgets-linked-to-deleted
vynte-infra/twenty:feat/website-product-hero-scroll
vynte-infra/twenty:sonarly-38763-fixworkflow-guard-iterator-variable-schema-access
vynte-infra/twenty:sonarly-38716-fixsdk-stop-bundling-react-18-jsx-internals-in-ui
vynte-infra/twenty:ignore-cli-tools-from-npmMinimalAgeGate
vynte-infra/twenty:release/v2.5.4
vynte-infra/twenty:sonarly-38659-fixserver-add-missing-indexes-for-custom-timeline
vynte-infra/twenty:release/v2.4.3
vynte-infra/twenty:refactor/hydrated-record-filter
vynte-infra/twenty:charles/backport-relation-target-field-metadata-id-to-2-5-fast
vynte-infra/twenty:sonarly-38618-fixfront-component-renderer-gate-global-hotkeys
vynte-infra/twenty:deprecate-connected-account-workspace-schema
vynte-infra/twenty:sonarly-38542-fixbilling-avoid-timeout-in-cap-flag-subscription
vynte-infra/twenty:sonarly-38539-fixpage-layout-guard-usetargetrecord-for
vynte-infra/twenty:sonarly-38487-fixserver-harden-lambda-calls-against-worker
vynte-infra/twenty:messaging-minor-optmizations
vynte-infra/twenty:sonarly-38418-fix-validate-workspace-package-manifests-during
vynte-infra/twenty:fix/relation-traversal-save-and-workflow
vynte-infra/twenty:sonarly-38370-fixserver-run-viewfilter-column-migration-earlier
vynte-infra/twenty:release/v2.5.3
vynte-infra/twenty:feat/graphql-relation-traversal-filters-frontend
vynte-infra/twenty:sonarly-38314-fixserver-align-workspace-safety-check-with
vynte-infra/twenty:sonarly-38306-fixfront-guard-undefined-nested-output-schema
vynte-infra/twenty:sonarly-38297-fixserver-keep-participant-matching-on-active
vynte-infra/twenty:sonarly-38255-fixemails-resolve-reply-account-from-thread
vynte-infra/twenty:sonarly-38251-fixserver-guard-config-secret-migration-against
vynte-infra/twenty:sonarly-38244-fixpage-layout-handle-fields-widgets-missing
vynte-infra/twenty:sonarly-38220-fixfront-handle-stale-object-routes-on-record
vynte-infra/twenty:sonarly-38200-fixfront-dont-auto-sync-parent-on-folder-only
vynte-infra/twenty:sonarly-38158-fixtwenty-front-guard-null-relation-arrays-in
vynte-infra/twenty:sonarly-38125-fixfront-guard-deep-equality-in-record-store
vynte-infra/twenty:claude/system-field-uids-v5
vynte-infra/twenty:refactor/turn-record-filter-into-gql-operation-split
vynte-infra/twenty:charles/fix-normalize-composite-field-defaults-missing-columns
vynte-infra/twenty:bonapara/oauth-modal-reference-image
vynte-infra/twenty:sonarly-wip-42743
vynte-infra/twenty:sonarly-wip-42732
vynte-infra/twenty:sonarly-wip-42726
vynte-infra/twenty:sonarly-wip-42720
vynte-infra/twenty:sonarly-wip-42719
vynte-infra/twenty:sonarly-37138-unhandled-imap-error-event-crashes-server-process
vynte-infra/twenty:sonarly-37129-view-visibility-mismatch-empties-dashboard-table
vynte-infra/twenty:feat/jwt-per-workspace-derived-key-poc
vynte-infra/twenty:sonarly-37072-navigation-drawer-collapse-state-leaks-into
vynte-infra/twenty:ej/fix-api-changes-report
vynte-infra/twenty:sanitize-file-exif
vynte-infra/twenty:sonarly-36998-default-workspace-selection-picks-wrong-seeded
vynte-infra/twenty:sonarly-36996-graphql-schema-mismatch-breaks-ai-tools-app-icon
vynte-infra/twenty:backfill-standard-permission-flags
vynte-infra/twenty:sonarly-36986-typeerror-crash-in-tiptap-bubble-menu-during-ai
vynte-infra/twenty:add-permission-flag-catalog-api
vynte-infra/twenty:sonarly-36985-user-scoped-metadata-broadcast-leaks-favorites
vynte-infra/twenty:sonarly-36844-null-record-node-crashes-notes-relation-picker
vynte-infra/twenty:sonarly-36832-invalid-url-crashes-link-open-action-in-inquiries
vynte-infra/twenty:sonarly-36824-graphql-schema-mismatch-on-billing-plan-fields
vynte-infra/twenty:sonarly-36872-metadata-migration-path-causes-slow-view-group
vynte-infra/twenty:sonarly-36928-exif-metadata-retained-in-uploaded-workspace-logo
vynte-infra/twenty:add-permission-flag-catalog
vynte-infra/twenty:minimal-age-npm-package
vynte-infra/twenty:permission-flag-definition-foundation
vynte-infra/twenty:feat/composite-field-default-sort-subfield
vynte-infra/twenty:sonarly-36680-uploaded-file-ids-not-passed-to-queuemessage
vynte-infra/twenty:sonarly-36643-auth-fails-for-users-with-soft-deleted
vynte-infra/twenty:sonarly-36537-saml-assertion-signature-validation-fails-for
vynte-infra/twenty:sonarly-36554-applicationaccess-tokens-fail-when-app
vynte-infra/twenty:sonarly-36560-marketplace-catalog-sync-never-garbage-collects
vynte-infra/twenty:refactor/ai-chat-stick-to-bottom
vynte-infra/twenty:sonarly-36442-double-scrollbar-in-side-panel-from-nested
vynte-infra/twenty:sonarly-36271-graphql-schema-enforces-fieldfilter-non-null-on
vynte-infra/twenty:sonarly-36199-prototype-pollution-payload-crashes-updatestep
vynte-infra/twenty:sonarly-36245-cursor-jumps-to-end-of-inputtextarea-in-front
vynte-infra/twenty:sonarly-36114-duplicateworkflow-fails-when-source-workflow
vynte-infra/twenty:sonarly-36196-findconnectedaccounts-queries-workspace-schema
vynte-infra/twenty:sonarly-36227-billingportalsession-fails-for-workspaces-with
vynte-infra/twenty:sonarly-36169-createnotetarget-ai-tool-exposed-but-blocked
vynte-infra/twenty:sonarly-36163-workspace-activation-throws-on-fresh-installs-no
vynte-infra/twenty:sonarly-36034-missing-null-check-on-workflowversions-crashes
vynte-infra/twenty:sonarly-36017-postgresql-connection-terminated-during-messaging
vynte-infra/twenty:sonarly-35975-lintdiff-with-main-fails-because-twenty-oxlint
vynte-infra/twenty:sonarly-35881-login-flow-blocked-by-10-second-workspace
vynte-infra/twenty:sonarly-35752-typeorm-relationidloader-bypasses
vynte-infra/twenty:sonarly-35648-select-field-sorting-uses-alphabetical-order
vynte-infra/twenty:sonarly-35773-front-component-form-inputs-require-eventdetail
vynte-infra/twenty:sonarly-35716-oidc-callback-fails-when-state-parameter-is
vynte-infra/twenty:sonarly-35859-missing-image-assets-cause-broken-images-in-user
vynte-infra/twenty:sonarly-35824-postgresql-transaction-aborted-due-to-repository
vynte-infra/twenty:testing-auto-review
vynte-infra/twenty:sonarly-35600-graphql-schema-mismatch-getpagelayoutwidgets
vynte-infra/twenty:sonarly-35610-graphql-mutation-called-with-wrong-name-or
vynte-infra/twenty:sonarly-35598-graphql-query-attempts-to-query-workspacemembers
vynte-infra/twenty:sonarly-35597-graphql-fragment-conflict-in-roles-query-causes
vynte-infra/twenty:inbound-messaging-webhooks
vynte-infra/twenty:logic-function-enqueue-execution
vynte-infra/twenty:messaging-email-instituitional
vynte-infra/twenty:fix-email-verification
vynte-infra/twenty:sonarly-35273-gemini-rejects-refdefs-in-tool-schemas-generated
vynte-infra/twenty:gh-readonly-queue/main/pr-20318-83c40bb8ccfe2d715556f17490e454435b542c6d
vynte-infra/twenty:messaging-instituitional-email
vynte-infra/twenty:sonarly-35155-updateobject-cache-lookup-fails-after-migration
vynte-infra/twenty:sonarly-35135-side-panel-rich-text-content-does-not-scroll-when
vynte-infra/twenty:sonarly-35153-relationtype-null-when-fieldsettings-missing
vynte-infra/twenty:sonarly-35076-fields-widget-configuration-validation
vynte-infra/twenty:sonarly-35053-github-connector-never-tracks-issue-transfer
vynte-infra/twenty:sonarly-34980-percentage-field-throws-cannot-cast-to-number-or
vynte-infra/twenty:sonarly-34965-localstorage-quota-exceeded-during-metadata-store
vynte-infra/twenty:sonarly-34960-framer-motion-layout-animation-throws-typeerror
vynte-infra/twenty:sonarly-34944-missing-null-check-on-connectedaccount-relation
vynte-infra/twenty:sonarly-34930-missing-iss-parameter-in-oauth-authorization
vynte-infra/twenty:rpl-e2e
vynte-infra/twenty:c--deprecate-grid-position-2
vynte-infra/twenty:sonarly-34403-race-condition-viewbarpagetitle-throws-when
vynte-infra/twenty:sonarly-34327-imap-append-uses-folder-leaf-name-instead-of-full
vynte-infra/twenty:fix/soft-deleted-relation-display-20076
vynte-infra/twenty:fix/null-fk-on-soft-delete
vynte-infra/twenty:sonarly-34231-inconsistent-disabledloading-state-styling-across
vynte-infra/twenty:sonarly-34230-form-validation-messages-missing-due-to
vynte-infra/twenty:sonarly-34209-workflow-run-side-panel-crashes-when-flow-state
vynte-infra/twenty:20203-app-manifest-asset-urls-logo-screenshots-are-inconsistently-resolved-across-deploy-paths
vynte-infra/twenty:sonarly-34109-upsertfieldswidget-fails-when-fields-widget-has
vynte-infra/twenty:sonarly-34066-framer-motion-waapi-animation-receives-nan
vynte-infra/twenty:sonarly-33956-marketplace-app-install-fails-viewfiltervalue-not
vynte-infra/twenty:sonarly-33893-dashboard-filter-missing-me-workspace-member
vynte-infra/twenty:sonarly-33889-filter-deduplication-prevents-multiple-filter
vynte-infra/twenty:sonarly-33840-missing-isnot-operand-handler-for-date-filter
vynte-infra/twenty:sonarly-33822-richtext-field-type-crashes-on-keyboard-input-in
vynte-infra/twenty:sonarly-33790-duplicate-key-on-view-creation-when-dashboard
vynte-infra/twenty:sonarly-33779-stale-prosemirror-position-in-settimeout-causes
vynte-infra/twenty:sonarly-33776-blocknote-backspace-at-first-block-crashes-with
vynte-infra/twenty:sonarly-33762-duplicate-key-error-on-createviewfiltergroup-due
vynte-infra/twenty:sonarly-33761-out-of-bounds-array-access-in-field-reorder-drag
vynte-infra/twenty:sonarly-33728-uuid-filter-missing-isnot-operand-support-crashes
vynte-infra/twenty:sonarly-33714-s3-file-deletion-uses-wrong-path-applicationid
vynte-infra/twenty:sonarly-33687-workflow-filter-throws-on-isnotnull-operand-for
vynte-infra/twenty:sonarly-33657-tarball-deployed-app-logos-404-because-manifest
vynte-infra/twenty:sonarly-33619-csv-import-validation-table-renders-blank-due-to
vynte-infra/twenty:sonarly-33600-copy-paste-error-blocklist-delete-handler-listens
vynte-infra/twenty:sonarly-33567-refreshhostname-throws-generic-value-not-defined
vynte-infra/twenty:sonarly-33547-yarn-install-lambda-oom-missing-yarnlock-forces
vynte-infra/twenty:sonarly-33478-phone-unique-constraint-checks-only-number
vynte-infra/twenty:sonarly-33412-billing-subscription-query-timeout-in-workflow
vynte-infra/twenty:sonarly-33395-usecreateonerecord-re-looks-up-custom-object
vynte-infra/twenty:sonarly-33360-hardcoded-signup-trigger-in
vynte-infra/twenty:sonarly-33310-calendar-view-blank-for-date-fields-due-to
vynte-infra/twenty:sonarly-8281-hello-pangeadnd-invariant-crash-when-unrelated
vynte-infra/twenty:sonarly-33231-deleted-custom-object-accommodations-crashes
vynte-infra/twenty:sonarly-33071-google-calendar-403-not-signed-up-error-unhandled
vynte-infra/twenty:sonarly-32938-select-dropdowns-on-ai-settings-page-render-as
vynte-infra/twenty:caldav-legacy-sync-fallback
vynte-infra/twenty:sonarly-5916-unhandled-messageimportdriverexception-crashes
vynte-infra/twenty:sonarly-32662-bar-chart-group-by-parser-fails-to-resolve
vynte-infra/twenty:sonarly-32646-s3-slowdown-503-during-sequential-logic-function
vynte-infra/twenty:sonarly-32619-missing-error-listener-on-node-redis-session
vynte-infra/twenty:release/v2.1.1
vynte-infra/twenty:sonarly-32512-workflow-filter-step-crashes-on-isnotnull-operand
vynte-infra/twenty:sonarly-32509-navigation-folder-children-bypass-canread
vynte-infra/twenty:sonarly-32473-missing-null-check-on-errresponse-in
vynte-infra/twenty:sonarly-32426-cursor-pagination-fails-when-sorting-by-relation
vynte-infra/twenty:sonarly-32412-rest-api-filter-parser-fails-when-mixing-bare
vynte-infra/twenty:sonarly-32310-rest-middleware-throws-generic-500-error-instead
vynte-infra/twenty:sonarly-32182-email-change-verification-email-silently
vynte-infra/twenty:sonarly-32169-graphql-schema-collision-custom-object-named
vynte-infra/twenty:test/eng-bot-pr-trigger
vynte-infra/twenty:sonarly-32080-lambda-layer-build-fails-packagejson-missing-from
vynte-infra/twenty:sonarly-31987-invalidstateerror-on-htmlinputelement-file-input
vynte-infra/twenty:sonarly-31631-navigate-to-next-record-command-throws-when
vynte-infra/twenty:sonarly-31529-relation-field-shows-not-shared-for-soft-deleted
vynte-infra/twenty:sonarly-31472-record-link-references-not-parsed-inside-markdown
vynte-infra/twenty:sonarly-31353-unknown-operand-equalto-for-relation-filter
vynte-infra/twenty:sonarly-31343-setup-dev-envsh-creates-empty-databases-but-skips
vynte-infra/twenty:sonarly-31330-pgisup-health-check-doesnt-distinguish-docker-vs
vynte-infra/twenty:sonarly-30901-rest-api-silently-ignores-cursor-query-param-only
vynte-infra/twenty:sonarly-30901-rest-api-cursor-based-pagination-does-not-advance
vynte-infra/twenty:sonarly-30633-race-condition-workflow-soft-delete-causes
vynte-infra/twenty:charles/stub-sdk-define
vynte-infra/twenty:sonarly-30362-message-direction-field-never-populated-during
vynte-infra/twenty:sonarly-30303-n1-db-queries-in-findmanynavigationmenuitems
vynte-infra/twenty:sonarly-30221-missing-chip-generator-fallback-crashes-ui-for
vynte-infra/twenty:sonarly-30216-openapi-schema-incorrectly-defines-cursor-fields
vynte-infra/twenty:workspace-export-optimize
vynte-infra/twenty:sonarly-30109-settings-page-centering-formula-creates-excessive
vynte-infra/twenty:sonarly-30084-pdf-export-crashes-with-node-type-mention-not
vynte-infra/twenty:feat/exa-seed-pre-install-from-env
vynte-infra/twenty:r--add-hooks-to-context-api
vynte-infra/twenty:claude/issue-19978-20260422-1433
vynte-infra/twenty:sonarly-29833-mintlify-docs-404-on-language-switch-getting
vynte-infra/twenty:sonarly-29800-missing-type-check-on-record-title-field-value
vynte-infra/twenty:FelixMalfait-patch-1
vynte-infra/twenty:sonarly-29664-missing-isbuilduptodate-check-in-workflow-code
vynte-infra/twenty:sonarly-29608-docker-entrypoint-skips-typeorm-migrations-before
vynte-infra/twenty:sonarly-29597-billing-page-crashes-with-rigid-hardcoded
vynte-infra/twenty:sonarly-29560-non-nullable-graphql-field
vynte-infra/twenty:sonarly-29531-widget-type-select-crashes-when-editing-widget-id
vynte-infra/twenty:sonarly-29397-side-panel-workflow-component-throws-when-css
vynte-infra/twenty:fix-send-email-rich-variable
vynte-infra/twenty:website-optimizaitons
vynte-infra/twenty:sonarly-29388-unguarded-jsonparse-in-workflow-email-body
vynte-infra/twenty:sonarly-29356-slow-page-load-on-objectstasks-due-to-metadata
vynte-infra/twenty:sonarly-29316-caldav-catch-all-error-handler-misattributes-all
vynte-infra/twenty:sonarly-29282-graphql-string-serialization-fails-when-manifest
vynte-infra/twenty:sonarly-29143-front-component-iframe-sandbox-overrides-user
vynte-infra/twenty:ai-fast-follows-16
vynte-infra/twenty:sonarly-29071-typeerror-cant-access-property-position
vynte-infra/twenty:sonarly-29068-poor-lcp-2614ms-on-welcome-sign-in-page-due-to
vynte-infra/twenty:hotfix-v1.22.6
vynte-infra/twenty:sonarly-28983-mobilebreadcrumb-crashes-on-single-element-links
vynte-infra/twenty:sonarly-28939-gmail-body-parser-only-handles-2-mime-structures
vynte-infra/twenty:fix/skip-aggregate-query-when-unauthenticated
vynte-infra/twenty:sonarly-28851-upsertfieldswidget-fails-with-fields-widget-not
vynte-infra/twenty:sonarly-28820-mcp-tool-execution-crashes-on-undefined-args-due
vynte-infra/twenty:sonarly-28801-sso-login-blocked-after-enterprise-billing
vynte-infra/twenty:sonarly-28781-releases-page-missing-mdx-content-for-versions
vynte-infra/twenty:sonarly-28633-race-condition-in-shared-sdk-lambda-layer
vynte-infra/twenty:sonarly-28296-viewfield-not-found-on-welcome-page-during
vynte-infra/twenty:sonarly-28291-reconnect-flow-crashes-for-non-standard-connected
vynte-infra/twenty:sonarly-28282-poor-lcpfcp-on-welcome-page-due-to-base64-noise
vynte-infra/twenty:worflow-agent-turn
vynte-infra/twenty:sonarly-28252-thread-not-found-in-ai-chat-uses-wrong-exception
vynte-infra/twenty:sonarly-28236-missing-cross-app-role-ownership-check-in
vynte-infra/twenty:hotfix/1.22.5
vynte-infra/twenty:sonarly-27354-billing-plan-selection-silently-lost-after-oauth
vynte-infra/twenty:fix-app-design-2
vynte-infra/twenty:sonarly-27228-autocomplete-errors-surface-as-address-save
vynte-infra/twenty:rpl-integration-tests
vynte-infra/twenty:sonarly-27119-chrome-tab-oom-crash-caused-by-unbounded-jotai
vynte-infra/twenty:registry-dead-code
vynte-infra/twenty:c--table-display-mode-for-relation-field-widget
vynte-infra/twenty:r--do-not-display-top-items-as-disabled-in-command-menu-item-edition
vynte-infra/twenty:sonarly-27027-getapikey-query-fails-when-api-key-lacks
vynte-infra/twenty:sonarly-26908-microsoft-email-folder-filters-ignored-during-sync
vynte-infra/twenty:sonarly-26891-logic-function-filenotfound-missing-packagejson
vynte-infra/twenty:sonarly-26872-unique-field-validation-prevents-creating
vynte-infra/twenty:sonarly-26866-pastnext-relative-date-filters-use-rolling
vynte-infra/twenty:claude/fix-ci-pipeline-6lFYR
vynte-infra/twenty:sonarly-26819-importcsv-and-exportcsv-permission-flags-not
vynte-infra/twenty:claude/fix-admin-forbidden-error-5l6q8
vynte-infra/twenty:claude/setup-twenty-mcp-y9mDG
vynte-infra/twenty:sonarly-26767-seeversionworkflowrunsinglerecordcommand-throws
vynte-infra/twenty:sonarly-26728-lambda-invocation-fails-with-409-when-function-is
vynte-infra/twenty:sonarly-26718-rangeerror-position-1-outside-of-fragment-tiptap
vynte-infra/twenty:fix/settings-custom-tab-layout-context
vynte-infra/twenty:sonarly-26650-decrypttext-crashes-on-unencrypted-application
vynte-infra/twenty:sonarly-26579-missing-userworkspaceentity-cache-invalidation-on
vynte-infra/twenty:sonarly-26553-google-oauth-callback-404-due-to-wrong
vynte-infra/twenty:sonarly-26526-userworkspace-hard-deleted-before-async-connected
vynte-infra/twenty:include-activity-target-relations-rpl
vynte-infra/twenty:calendar-recurring-event
vynte-infra/twenty:sonarly-8519-monaco-editor-cdn-worker-fails-to-load-in-regions
vynte-infra/twenty:sonarly-25260-snackbar-error-notifications-auto-dismiss-after
vynte-infra/twenty:fix/18860-address-autocomplete-street-format
vynte-infra/twenty:fix/ai-chat-credits-exhausted-error-handling
vynte-infra/twenty:sonarly-25196-emailcalendar-tabs-crash-on-non-standard-objects
vynte-infra/twenty:sonarly-25146-fk-constraint-blocks-file-deletion-during
vynte-infra/twenty:sonarly-25062-missing-save-button-causes-unreliable-auto-save
vynte-infra/twenty:sonarly-24634-relative-date-filter-json-format-mismatch-causes
vynte-infra/twenty:sonarly-24631-isrecordmatchingfilter-throws-on-custom-field-not
vynte-infra/twenty:update-cli-version-of-fixture-apps
vynte-infra/twenty:fix/1-17-upgrade-missing-built-function
vynte-infra/twenty:cb-merge-record-fixes
vynte-infra/twenty:fix/sidebar-nav-active-on-record-show
vynte-infra/twenty:sonarly-24466-relative-date-display-off-by-one-day-for
vynte-infra/twenty:c--fix-duplicate-tab-widget
vynte-infra/twenty:sonarly-24449-blocknote-047x-throws-block-doesnt-have-id-when
vynte-infra/twenty:sonarly-24354-copydependenciesinmemory-unconditionally
vynte-infra/twenty:claude/security-review-pr-19597-AcR1G
vynte-infra/twenty:messaging-throttle-refactor
vynte-infra/twenty:claude/fix-ci-pipeline-R7nz4
vynte-infra/twenty:sonarly-24307-user-can-use-more-credits-than-assigned-limit
vynte-infra/twenty:claude/developer-productivity-analysis-ghdbt
vynte-infra/twenty:sonarly-24277-unhandled-permissiondenied-in-metadata-loading
vynte-infra/twenty:halftone-v2
vynte-infra/twenty:sonarly-23837-blocknote-image-upload-panel-clipped-by-side
vynte-infra/twenty:claude/app-key-rotation-iwiq3
vynte-infra/twenty:sonarly-23736-lambda-executor-oom-kill-missing-memorysize
vynte-infra/twenty:sonarly-23699-view-save-lacks-optimistic-local-state-update
vynte-infra/twenty:claude/fix-ci-pipeline-EP0fI
vynte-infra/twenty:sonarly-23635-system-object-permission-bypass-allows-members-to
vynte-infra/twenty:claude/add-primary-email-utility-PSSBG
vynte-infra/twenty:mcp-streamable-http-405
vynte-infra/twenty:sonarly-23566-missing-null-check-on-tool-output-after-backend
vynte-infra/twenty:claude/fix-skill-loading-UuoFZ
vynte-infra/twenty:claude/review-pr-19487-1apcT
vynte-infra/twenty:latest-version
vynte-infra/twenty:sonarly-23416-merge-command-available-in-exclusion-mode-but
vynte-infra/twenty:sonarly-23367-imap-sync-broken-after-entity-migration-to-core
vynte-infra/twenty:sonarly-23331-n1-query-pattern-in-message-visibility-check
vynte-infra/twenty:main-tVFei
vynte-infra/twenty:fix/workspace-export-indirect-fk-chains
vynte-infra/twenty:workspace-export-followup
vynte-infra/twenty:derivate-workspace-and-instance-version-from-upgrade-migrations
vynte-infra/twenty:chore/revert-ci-to-docker-image
vynte-infra/twenty:fix/i18n-metadata-descriptor-registry
vynte-infra/twenty:sonarly-22703-n1-query-pattern-in-calendar-event-visibility
vynte-infra/twenty:sonarly-22697-missing-lingui-catalog-compilation-in-docker
vynte-infra/twenty:sonarly-22695-ai-model-registry-not-refreshed-when-api-keys-set
vynte-infra/twenty:sonarly-22577-caldav-discovery-duplicated-n1-folder-inserts
vynte-infra/twenty:sonarly-5904-null-recordfield-during-table-column-resize-on
vynte-infra/twenty:sonarly-22439-missing-chip-generator-for-custom-objects-crashes
vynte-infra/twenty:c--reset-page-layout-tab
vynte-infra/twenty:ai-fast-follows-14
vynte-infra/twenty:sonarly-22312-relative-date-filter-parser-rejects-thisquarter
vynte-infra/twenty:sonarly-22241-api-keys-assigned-role-not-found-in-database
vynte-infra/twenty:sonarly-22233-formdatetimefieldinput-crashes-on-relative-date
vynte-infra/twenty:sonarly-22151-frontend-selector-uses-find-returning-only-first
vynte-infra/twenty:sonarly-22130-uninstalling-apps-doesnt-work-in-aws-context
vynte-infra/twenty:sonarly-22122-marketplace-app-install-fails-twentyhqapp-data
vynte-infra/twenty:sonarly-22112-handlealiasesmap-crashes-when-field-is-string-not
vynte-infra/twenty:slow-core-migration-command
vynte-infra/twenty:sonarly-22045-slow-objectsproducts-pageload-6s-due-to-large
vynte-infra/twenty:fix/readonly-date-editable
vynte-infra/twenty:sonarly-21774-ai-chat-fails-with-no-output-generated-when
vynte-infra/twenty:fix/remove-draft-email-feature-flag
vynte-infra/twenty:sonarly-21620-formdatefieldinput-readonly-bypassed-via-keyboard
vynte-infra/twenty:sonarly-21568-merge-preview-empty-after-switch-to
vynte-infra/twenty:sonarly-21546-delete-command-unavailable-in-select-all-mode-due
vynte-infra/twenty:canary-verison-120
vynte-infra/twenty:sonarly-21521-temporalinstantfrom-crashes-on-non-iso-date
vynte-infra/twenty:sonarly-21353-slow-welcome-page-83s-lcp-from-excessive-lazy
vynte-infra/twenty:sonarly-21336-missing-loading-state-and-error-handling-on-api
vynte-infra/twenty:sonarly-21284-email-thread-rows-appear-clickable-but-silently
vynte-infra/twenty:claude/review-pr-19246-wmwU2
vynte-infra/twenty:avoid-generating-client-on-workspac-ecreation
vynte-infra/twenty:sonarly-21239-caldav-icloud-sync-fails-due-to-tsdav-v215-bug-in
vynte-infra/twenty:sonarly-21236-typeerror-esplit-is-not-a-function-in
vynte-infra/twenty:feat/ai-add-skills-for-view-v2
vynte-infra/twenty:typeorm-in-version-bundle
vynte-infra/twenty:feat/ai-add-skills-for-view
vynte-infra/twenty:sonarly-21196-transient-502-from-cloudflare-proxy-causes
vynte-infra/twenty:sonarly-21188-missing-userworkspace-record-for-existing
vynte-infra/twenty:rpl-front-components
vynte-infra/twenty:sonarly-21148-sse-event-with-custom-field-crashes-frontend
vynte-infra/twenty:sonarly-21144-slow-checkout-session-due-to-circular-self-join
vynte-infra/twenty:claude/address-pr-comments-fej0O
vynte-infra/twenty:sonarly-21060-csv-export-missing-utf-8-bom-causes-garbled
vynte-infra/twenty:sonarly-20984-roleentity-permission-check-query-blocks-rest
vynte-infra/twenty:sonarly-20769-missing-workspacemigrationgraphqlapiexceptioninter
vynte-infra/twenty:sonarly-20520-insert-operations-blocked-by-field-level-update
vynte-infra/twenty:claude/address-pr-comments-RvqPL
vynte-infra/twenty:design-docs-prastoin
vynte-infra/twenty:claude/review-pr-19203-uciuR
vynte-infra/twenty:tt-fix-workflow-dates
vynte-infra/twenty:feat/agent-chat-message-queue
vynte-infra/twenty:claude/fix-duplicate-rimraf-vRMYw
vynte-infra/twenty:r--update-default-home-page-to-be-first-navigation-menu-item
vynte-infra/twenty:sonarly-20167-slow-getcurrentuser-query-due-to-missing-index-on
vynte-infra/twenty:sonarly-20169-custom-object-notetask-relations-use-wrong-labels
vynte-infra/twenty:fix/auth-token-flow-improvements
vynte-infra/twenty:r--fix-navigation-drawer-animation
vynte-infra/twenty:fix/normalize-deprecated-timezone-names
vynte-infra/twenty:r--fix-cursor-on-settings-table
vynte-infra/twenty:sonarly-19891-side-panel-crash-from-unguarded-ontransitionend
vynte-infra/twenty:sonarly-19882-transactionnotstartederror-rollback-attempted-on
vynte-infra/twenty:sonarly-19881-side-panel-same-record-guard-blocks-reopen-after
vynte-infra/twenty:sonarly-19873-s3-expiredtoken-when-reading-built-logic-function
vynte-infra/twenty:sonarly-19870-orphaned-relation-field-references-non-existent
vynte-infra/twenty:sonarly-19866-deep-equal-library-crashes-with-iterator-must-be
vynte-infra/twenty:sonarly-19854-workflow-action-buttons-excluded-during-select
vynte-infra/twenty:sonarly-19834-gmail-batch-size-of-400-exceeds-google-api
vynte-infra/twenty:sonarly-19761-graphql-enum-mismatch-richtextv2-db-value
vynte-infra/twenty:sonarly-19636-unhandled-redis-connection-timeout-crashes-server
vynte-infra/twenty:sonarly-5006-nan-in-float-column-crashes-graphqlfloat
vynte-infra/twenty:sonarly-4857-workspacelogouploader-throws-when-used-during
vynte-infra/twenty:sonarly-19618-crontriggercronjob-fails-due-to-missing-per
vynte-infra/twenty:sonarly-19549-postgresql-connection-terminated-during
vynte-infra/twenty:sonarly-6704-multiselect-field-throws-on-click-outside-when
vynte-infra/twenty:sonarly-19536-postgresql-connection-pool-exhaustion-during
vynte-infra/twenty:gh-readonly-queue/main/pr-19106-994180c72eacc16fa9f9cb3d336edd23e190a521
vynte-infra/twenty:refactor-lambda-driver-concurrent-execution
vynte-infra/twenty:sonarly-19460-rage-clicks-on-email-sync-onboarding-page-due-to
vynte-infra/twenty:sonarly-19372-auth-guard-mismatch-userauthguard-permits
vynte-infra/twenty:sonarly-19257-neq-filter-uses-or-instead-of-and-for-null
vynte-infra/twenty:sonarly-19253-lambda-function-deleted-by-concurrent-workflow
vynte-infra/twenty:sonarly-19252-aws-lambda-rate-limit-429-during-concurrent-logic
vynte-infra/twenty:sonarly-6010-richtext-field-type-missing-from
vynte-infra/twenty:sonarly-19173-select-minposition-full-table-scan-causes-2s
vynte-infra/twenty:sonarly-19162-non-latin-targetfieldlabel-in-relation-creation
vynte-infra/twenty:sonarly-4546-typeerror-invalid-url-when-origin-variable-lacks
vynte-infra/twenty:sonarly-19112-missing-null-check-on-field-metadata-lookup
vynte-infra/twenty:feat/changed-hover-portal-borders-behavio
vynte-infra/twenty:sonarly-19081-microsoft-calendar-import-misclassifies-network
vynte-infra/twenty:fix/ai-chat-thread-switching
vynte-infra/twenty:tt-handle-morph-relations-in-search-record-step
vynte-infra/twenty:sonarly-19055-poor-lcp-on-welcome-due-to-base64-noise-texture
vynte-infra/twenty:sonarly-19054-empty-string-parentfolderid-fails-uuid-cast
vynte-infra/twenty:fix/backfill-command-menu-item-availability-object-metadata-id
vynte-infra/twenty:sonarly-19030-missing-built-file-crashes
vynte-infra/twenty:sonarly-19032-vulnerable-nodemailer-version-susceptible-to-smtp
vynte-infra/twenty:sonarly-19024-kanban-board-drag-invariant-fails-when-dragging
vynte-infra/twenty:sonarly-19011-missing-position-column-on-workspacemember-table
vynte-infra/twenty:sonarly-18992-sse-optimistic-update-throws-on-custom-fields
vynte-infra/twenty:sonarly-18991-sse-optimistic-update-throws-on-custom-fields
vynte-infra/twenty:feat/state-management-garbage-collector
vynte-infra/twenty:sonarly-18955-stripe-webhook-race-condition-on-payment-success
vynte-infra/twenty:sonarly-18934-missing-sdk-client-archive-blocks-workflow-code
vynte-infra/twenty:fix-viewgroup-race-condition
vynte-infra/twenty:sonarly-18901-custom-object-metadata-not-yet-populated-in-store
vynte-infra/twenty:sonarly-18870-deactivated-relation-fields-not-enforced-in-page
vynte-infra/twenty:sonarly-18767-queryrunneralreadyreleasederror-during-imap
vynte-infra/twenty:tt-fix-view-access-denied
vynte-infra/twenty:sonarly-18717-temporalplaindatefrom-crashes-on-full-iso
vynte-infra/twenty:sonarly-18698-uncaught-throw-in
vynte-infra/twenty:sonarly-18670-inactive-stripe-prices-passed-to-checkout-session
vynte-infra/twenty:sonarly-18660-select-filter-crashes-on-non-json-array-value
vynte-infra/twenty:sonarly-18628-agent-name-collision-when-creating-multiple
vynte-infra/twenty:sonarly-18603-deleted-custom-object-batches-crashes
vynte-infra/twenty:sonarly-18601-record-table-widget-headerbody-column-mismatch
vynte-infra/twenty:sonarly-18537-uncaught-throw-when-relation-field-references-a
vynte-infra/twenty:sonarly-6956-missing-viewcomponentinstancecontext-when
vynte-infra/twenty:sonarly-18511-null-guard-missing-on-pagename-in
vynte-infra/twenty:sonarly-18350-applydiff-crashes-on-already-updated-cache-when
vynte-infra/twenty:sonarly-18288-api-key-save-button-enabled-with-empty-name-due
vynte-infra/twenty:app-uninstall-cleanup
vynte-infra/twenty:sonarly-18203-multiitemfieldinput-click-outside-handler-deletes
vynte-infra/twenty:sonarly-18157-isrecordmatchingfilter-throws-when-cached-query
vynte-infra/twenty:sonarly-18011-object-deletion-fails-when-workspace-table-is
vynte-infra/twenty:sonarly-17951-missing-deletedat-column-on
vynte-infra/twenty:sonarly-17943-typeerror-crash-when-sorting-relations-table-by
vynte-infra/twenty:sonarly-17827-graphql-enum-mismatch-richtextv2-db-value-not
vynte-infra/twenty:sonarly-17823-rich-text-widget-not-editable-editing-widget-id
vynte-infra/twenty:chore/trigger-visual-regression-test-2
vynte-infra/twenty:move-to-folder-chevron-navigation
vynte-infra/twenty:sonarly-17669-slow-verify-page-load-lcp-3201ms-due-to-excessive
vynte-infra/twenty:sonarly-17668-missing-workspace-context-when-updating
vynte-infra/twenty:sonarly-17644-sse-optimistic-update-throws-on-custom-fields-not
vynte-infra/twenty:sonarly-17562-concurrent-viewgroup-mutations-cause-race
vynte-infra/twenty:fix/remove-stale-groq-from-lockfile
vynte-infra/twenty:sonarly-17529-server-startup-blocked-by-long-running-upgrade
vynte-infra/twenty:sonarly-17527-address-autocomplete-puts-full-place-text-into
vynte-infra/twenty:sonarly-17525-blocknote-delete-key-crash-at-end-of-last-block
vynte-infra/twenty:sonarly-17506-stale-record-group-state-causes-crash-during
vynte-infra/twenty:sonarly-9855-sso-entitlement-check-blocks-workspace-without
vynte-infra/twenty:sonarly-17448-missing-relation-field-lookup-crashes-company
vynte-infra/twenty:chore/remove-morph-migration-feature-flags
vynte-infra/twenty:fix-main-deploy-v2
vynte-infra/twenty:fix-main-deploy
vynte-infra/twenty:page-layout-refactor
vynte-infra/twenty:sonarly-17391-missing-null-check-on-fieldmetadataitem-lookup
vynte-infra/twenty:sonarly-17390-kanban-drag-and-drop-placeholder-outside-innerref
vynte-infra/twenty:sonarly-17389-race-condition-table-selection-effect-overwrites
vynte-infra/twenty:sonarly-17361-rage-click-on-person-record-page-on-mobile-safari
vynte-infra/twenty:sonarly-6076-workflowversion-findone-returns-null-for-soft
vynte-infra/twenty:helm-improvements
vynte-infra/twenty:sonarly-17321-object-rename-form-reset-clears-dirty-tracking
vynte-infra/twenty:sonarly-17298-logo-upload-during-workspace-setup-fails-because
vynte-infra/twenty:sonarly-17241-recorddetails-pom-locators-declared-but-never
vynte-infra/twenty:sonarly-17183-table-virtualization-triggers-data-fetch-too-late
vynte-infra/twenty:sonarly-7148-google-recaptcha-rejects-custom-subdomain-as
vynte-infra/twenty:sonarly-17092-unhandled-throw-in
vynte-infra/twenty:sonarly-3959-n1-query-pattern-in-getroles
vynte-infra/twenty:sonarly-17030-apollo-v4-upgrade-breaks-record-creation-cache
vynte-infra/twenty:sonarly-17028-relation-fields-to-inactive-custom-objects-crash
vynte-infra/twenty:issue-17117
vynte-infra/twenty:fix/preserve-encoded-link-urls
vynte-infra/twenty:tt-improve-logic-function-errors
vynte-infra/twenty:sonarly-16799-localstorage-quota-exceeded-when-persisting-all
vynte-infra/twenty:sonarly-16711-null-defaultroleid-on-application-entity-causes
vynte-infra/twenty:sonarly-16702-side-panel-page-layout-settings-crash-when-no
vynte-infra/twenty:sonarly-16678-missing-index-on
vynte-infra/twenty:sonarly-16638-stale-cached-frontend-js-sends-deprecated-graphql
vynte-infra/twenty:fix/ai-chat-file-remove-clean
vynte-infra/twenty:sonarly-16570-race-condition-in-google-oauth-sign-up-causes
vynte-infra/twenty:sonarly-16534-transformenumvalue-crashes-when-options-field
vynte-infra/twenty:sonarly-16514-settingscounter-throws-unhandled-error-on-non
vynte-infra/twenty:sonarly-16338-entitynotfounderror-in
vynte-infra/twenty:sonarly-16277-navigation-menu-items-silently-filtered-when-type
vynte-infra/twenty:tt-fix-infinite-loop-for-invalid-steams
vynte-infra/twenty:sonarly-16162-stale-chunk-auto-reload-only-works-on-chrome-not
vynte-infra/twenty:sonarly-16137-race-condition-in-lambda-function-creation-causes
vynte-infra/twenty:sonarly-16131-expired-aws-sts-credentials-in-lambda-driver
vynte-infra/twenty:sonarly-16080-sse-events-crash-when-metadata-fields-not-yet
vynte-infra/twenty:sonarly-15987-invalid-query-input-empty-array-in-idin-filter
vynte-infra/twenty:sonarly-16043-findrecords-silently-drops-filter-conditions-when
vynte-infra/twenty:20for20
vynte-infra/twenty:sonarly-15988-n1-applicationentity-queries-during-custom-object
vynte-infra/twenty:sonarly-15967-poor-lcpfcp-web-vitals-on-pageload-due-to
vynte-infra/twenty:sonarly-15966-null-type-column-in-navigationmenuitem-breaks
vynte-infra/twenty:fix/auth-sse-token-renewal-v2
vynte-infra/twenty:claude/improve-issue-management-iMopx
vynte-infra/twenty:sonarly-15886-relation-to-many-chips-hidden-without-n-count
vynte-infra/twenty:sonarly-15848-logic-function-disableddriver-used-in-worker-due
vynte-infra/twenty:sonarly-7468-race-condition-in-feature-flag-upsert-causes
vynte-infra/twenty:sonarly-15804-timeline-activity-logs-show-only-after-value-by
vynte-infra/twenty:sonarly-15790-missing-null-guard-on-metadata-query-response
vynte-infra/twenty:claude/fix-ci-pr-18592-iflIA
vynte-infra/twenty:sonarly-15703-payment-success-page-throws-unrecoverable-error
vynte-infra/twenty:sonarly-15618-getuserworkspaceforuserorthrow-throws-plain-error
vynte-infra/twenty:sonarly-15564-url-encoded-characters-incorrectly-decoded-in
vynte-infra/twenty:sonarly-15498-destroysinglerecordcommand-crashes-when-server
vynte-infra/twenty:sonarly-15476-cache-invalidation-fails-on-view-mutations-due-to
vynte-infra/twenty:sonarly-15460-unhandled-entitynotfounderror-in-avatar-file
vynte-infra/twenty:sonarly-15453-orphaned-viewfield-causes-cache-recomputation
vynte-infra/twenty:sonarly-15455-missing-db-column-targetquoteid-on
vynte-infra/twenty:a-bit-of-cleaning
vynte-infra/twenty:sonarly-15383-2fa-ui-broken-by-css-property-reordering-and
vynte-infra/twenty:fix/custom-object-nav-item-color-and-icon
vynte-infra/twenty:sonarly-3877-n1-token-revocation-571-individual-update-queries
vynte-infra/twenty:sonarly-15272-apollo-cache-conflict-between-findmany-and
vynte-infra/twenty:sonarly-15203-missing-arrayisarray-guard-on-targets-in
vynte-infra/twenty:sonarly-8521-microsoft-404-on-memailfolders-misclassified-as
vynte-infra/twenty:sonarly-15175-temporalplaindatefrom-crashes-when-given-full-iso
vynte-infra/twenty:sonarly-15168-missing-morph-relation-field-for-custom-object-on
vynte-infra/twenty:fix/mcp-tools-list-response-shape
vynte-infra/twenty:sonarly-7596-navigate-commands-throw-when-rendered-on-index
vynte-infra/twenty:sonarly-14908-null-messageid-accepted-in
vynte-infra/twenty:sonarly-14771-standard-object-rename-ignored-when-ui-language
vynte-infra/twenty:sonarly-14764-file-typepdf-sax-parser-throws-unhandled-unclosed
vynte-infra/twenty:sonarly-14749-windowopen-crashes-with-invalid-url-when-links
vynte-infra/twenty:sonarly-14733-unnecessary-full-table-scan-in-aggregatecompanies
vynte-infra/twenty:sonarly-14714-s3-presigned-url-403-forbidden-when-yarn-install
vynte-infra/twenty:sonarly-4349-fk-violation-on-billingsubscriptionitem-due-to
vynte-infra/twenty:sonarly-14660-richtextv2-field-type-unhandled-in
vynte-infra/twenty:sonarly-14644-invalid-timezone-etcunknown-in-workspace-member
vynte-infra/twenty:sonarly-14499-blocknote-0311-enter-key-crashes-when-splitting
vynte-infra/twenty:sonarly-14490-missing-messagechannel-entity-metadata-during
vynte-infra/twenty:sonarly-14482-reply-button-throws-unhandled-error-for-imapsmtp
vynte-infra/twenty:sonarly-4574-google-recaptcha-verification-timeout-during
vynte-infra/twenty:claude/fix-frontend-tests-xYHaE
vynte-infra/twenty:fix/record-create-required-fields-placeholders
vynte-infra/twenty:sonarly-14356-unhandled-pendingactivationuser-auth-context-type
vynte-infra/twenty:claude/apollo-client-v3-to-v4-puCGa
vynte-infra/twenty:sonarly-14352-sse-optimistic-update-crashes-on-custom-fields
vynte-infra/twenty:claude/address-pr-18584-comments-IRTUq
vynte-infra/twenty:sonarly-3881-missing-object-metadata-for-new
vynte-infra/twenty:r--remove-standard-front-components
vynte-infra/twenty:sonarly-14051-updateworkflowversionstep-returns-client-input
vynte-infra/twenty:sonarly-14017-hardcoded-join-column-name-derivation-breaks-for
vynte-infra/twenty:sonarly-13837-intermittent-network-failures-on-self-hosted
vynte-infra/twenty:claude/improve-seeding-strategy-u6k0k
vynte-infra/twenty:sonarly-6393-postgresql-enum-mismatch-chart-filter-value
vynte-infra/twenty:sonarly-13694-null-filter-value-in-not-clause-crashes-graphql
vynte-infra/twenty:object-permission-syncable-entity-migration
vynte-infra/twenty:sonarly-5512-filter-dropdown-crashes-when-currentview-is
vynte-infra/twenty:sonarly-13613-missing-null-check-on-workflow-step-settings
vynte-infra/twenty:sonarly-13611-google-recaptcha-fails-for-users-in-china-due-to
vynte-infra/twenty:sonarly-13598-missing-null-check-on-actionsettingsoutputschema
vynte-infra/twenty:feat/seed-apps-for-dev-workspaces
vynte-infra/twenty:sonarly-4153-cache-miss-when-attaching-record-in-one-to-many
vynte-infra/twenty:sonarly-6236-redis-lock-contention-on
vynte-infra/twenty:c--RLS-relation-predicates
vynte-infra/twenty:sonarly-9509-renewed-workspace-agnostic-refresh-tokens-become
vynte-infra/twenty:fields-widget-edition-cross-button
vynte-infra/twenty:remove-database-migrate-prod-command
vynte-infra/twenty:sonarly-12715-text-filter-throws-on-is-operand-from
vynte-infra/twenty:cursor/npm-claim-verification-448c
vynte-infra/twenty:client-fallback-stub
vynte-infra/twenty:sonarly-12283-slow-post-metadata-getcurrentuser-due-to
vynte-infra/twenty:sonarly-4404-workflow-error-handler-fails-when-workflow-run
vynte-infra/twenty:cursor/billing-events-user-budget-5c37
vynte-infra/twenty:sonarly-11530-isrecordmatchingfilter-throws-on-stale-filter
vynte-infra/twenty:sonarly-3794-usegetviewgroupsfilters-throws-when-view-has
vynte-infra/twenty:sonarly-11500-view-with-hidden-groups-crashes-when
vynte-infra/twenty:sonarly-4123-esbuild-target-es2017-blocks-top-level-await-in
vynte-infra/twenty:sonarly-8007-relation-filter-key-farmid-fails-reverse-lookup
vynte-infra/twenty:sonarly-6393-date-filter-passes-string-null-to-sql-instead-of
vynte-infra/twenty:sonarly-6202-microsoft-400-delta-sync-errors-misclassified-as
vynte-infra/twenty:sonarly-11005-logic-function-creation-crashes-on-unvalidated
vynte-infra/twenty:sonarly-5651-updateworkspace-fails-when-removing-auto-detected
vynte-infra/twenty:sonarly-5372-gmail-precondition-check-failed-error-not
vynte-infra/twenty:sonarly-3806-fk-violation-during-calendar-event-association
vynte-infra/twenty:sonarly-5150-race-condition-debounced-save-fires-while
vynte-infra/twenty:sonarly-3797-staled-workflow-runs-handler-lacks-batching-fails
vynte-infra/twenty:sonarly-3162-orphaned-view-sorts-crash-people-page-after-field
vynte-infra/twenty:sonarly-3098-pdf-upload-rejected-file-type-v16-fails-detection
vynte-infra/twenty:sonarly-5361-dashboard-editsave-buttons-shown-to-users-who
vynte-infra/twenty:sonarly-5161-race-condition-between-cache-invalidation-of-flat
vynte-infra/twenty:sonarly-4334-duplicate-checkout-submission-throws-error
vynte-infra/twenty:sonarly-5446-workflow-destroy-fails-when-logic-function
vynte-infra/twenty:sonarly-4069-non-idempotent-activateworkspace-mutation-fails
vynte-infra/twenty:tt-enable-update-when-record-not-in-cache
vynte-infra/twenty:required-new-field-default-configuration
vynte-infra/twenty:sonarly-4058-empty-optimistic-flat-entity-maps-cause-view
vynte-infra/twenty:sonarly-4106-sendinvitations-crashes-when-workspace-member
vynte-infra/twenty:sonarly-10350-google-oauth-sign-up-fails-when-profile-picture
vynte-infra/twenty:sonarly-3085-sse-mutations-sent-to-wrong-graphql-endpoint-in
vynte-infra/twenty:sonarly-5658-dashboard-duplicate-action-sends-mutation-to
vynte-infra/twenty:sonarly-2690-phone-field-crashes-on-enter-parsephonenumber
vynte-infra/twenty:sonarly-7305-board-view-hidden-field-dropdown-shows-fields-not
vynte-infra/twenty:sonarly-7338-unchecked-findindex-1-in-board-field-visibility
vynte-infra/twenty:sonarly-4345-missing-date-validation-in-formdatefieldinput
vynte-infra/twenty:sonarly-3840-null-bytes-in-rest-api-input-cause-postgresql
vynte-infra/twenty:sonarly-10239-delete-record-crashes-when-cached-onetomany
vynte-infra/twenty:sonarly-4115-updateworkflowversionstep-returns-unvalidated
vynte-infra/twenty:sonarly-3892-missing-exception-filter-causes-expected
vynte-infra/twenty:sonarly-3850-board-drag-drop-fails-when-record-exists-in-store
vynte-infra/twenty:tt-fix-show-page-layout
vynte-infra/twenty:sonarly-3956-unauthenticated-graphql-requests-hit-empty-schema
vynte-infra/twenty:sonarly-3782-slow-welcome-page-68mb-monolithic-js-bundle
vynte-infra/twenty:sonarly-3801-slow-post-metadata-select-distinct-on
vynte-infra/twenty:navbar-dnd-bug-fixes
vynte-infra/twenty:sonarly-10039-view-field-update-triggers-excessive-cache
vynte-infra/twenty:001-simplify-table-zindex-clean
vynte-infra/twenty:001-simplify-table-zindex
vynte-infra/twenty:sonarly-4056-morph-relation-persist-uses-wrong-fk-naming
vynte-infra/twenty:sonarly-9931-address-field-persist-fails-zod-schema-expects
vynte-infra/twenty:sonarly-2690-phone-field-input-throws-unhandled-invalidcountry
vynte-infra/twenty:sonarly-9837-stale-cached-frontend-bundle-accesses-renamed
vynte-infra/twenty:sonarly-9838-missing-null-safe-access-on-token-pair-property
vynte-infra/twenty:sonarly-4106-sendinvitations-fails-with-entitynotfounderror
vynte-infra/twenty:cursor/cloud-agent-1772705952201-xjawy
vynte-infra/twenty:sonarly-3877-n1-update-queries-in-refresh-token-suspicious
vynte-infra/twenty:sonarly-3773-uncached-workspace-entity-db-lookup-causes-27s
vynte-infra/twenty:sonarly-3795-custom-object-creation-triggers-unnecessary
vynte-infra/twenty:charles-fb-6
vynte-infra/twenty:sonarly-6662-refreshhostname-throws-generic-value-not-defined
vynte-infra/twenty:sonarly-6393-missing-table-alias-in-order-by-for-date-fields
vynte-infra/twenty:feat/app-distribution-npm-tarball-v2
vynte-infra/twenty:copilot/sub-pr-18391-again
vynte-infra/twenty:copilot/sub-pr-18391
vynte-infra/twenty:sonarly-5117-percentage-field-crashes-on-click-outside-due-to
vynte-infra/twenty:sonarly-3775-slow-post-metadata-viewentity-query-with-6-left
vynte-infra/twenty:sonarly-3777-relaunch-job-doesnt-reset-throttlefailurecount
vynte-infra/twenty:sonarly-3783-unnecessary-rolepermissions-cache-invalidation-on
vynte-infra/twenty:sonarly-3801-slow-metadata-query-select-distinct-on-wide
vynte-infra/twenty:sonarly-9551-custom-object-agent-creation-fails-due-to-pre
vynte-infra/twenty:sonarly-3797-unbounded-staled-workflow-runs-query-exceeds-200
vynte-infra/twenty:sonarly-3776-getcurrentuser-query-causes-36s-response-due-to
vynte-infra/twenty:charles-fb-4
vynte-infra/twenty:sonarly-3104-crontriggercronjob-missing-try-catch-causes-full
vynte-infra/twenty:sonarly-5512-filter-dropdown-throws-instead-of-handling
vynte-infra/twenty:sonarly-8672-applydiff-crashes-when-cached-workflowversion
vynte-infra/twenty:sonarly-4115-updateworkflowversionstep-returns-client-input
vynte-infra/twenty:sonarly-5150-debounced-workflow-step-update-throws-during-auth
vynte-infra/twenty:sonarly-3840-delete-person-fails-with-misleading-data
vynte-infra/twenty:sonarly-8579-field-creation-fails-with-unhandled-duplicate-key
vynte-infra/twenty:sonarly-8281-nested-dragdropcontexts-cause-invariant-crash
vynte-infra/twenty:sonarly-3344-viewfield-delete-fails-runner-loads-stale-cache
vynte-infra/twenty:sonarly-8335-currency-filter-crashes-on-undefined-record-field
vynte-infra/twenty:sonarly-8513-uninitialized-per-instance-dropdown-state-when
vynte-infra/twenty:sonarly-5485-consolelistenerrelease-accumulates-wrapper-chain
vynte-infra/twenty:sonarly-8521-microsoft-404-on-folder-delta-endpoint
vynte-infra/twenty:fix/nav-menu-item-icon-colors
vynte-infra/twenty:c--migrate-workspace-member-to-user-workspace
vynte-infra/twenty:tt-improve-workflow-performances-and-errors
vynte-infra/twenty:test-hello-world-devxp
vynte-infra/twenty:sonarly-6156-missing-dropdown-state-initialization-when
vynte-infra/twenty:sonarly-4204-missing-null-guard-on-steps-in-multiple-callers
vynte-infra/twenty:sonarly-4058-race-condition-between-two-cache-reads-in-view
vynte-infra/twenty:sonarly-5446-workflow-step-deletion-fails-when-referenced
vynte-infra/twenty:sonarly-3957-dropdown-flushsync-autoupdate-creates-infinite-re
vynte-infra/twenty:sonarly-8116-morph-relation-persist-uses-wrong-foreign-key
vynte-infra/twenty:sonarly-6956-exportmultiplerecordsaction-crashes-when-rendered
vynte-infra/twenty:sonarly-4334-direct-subscription-creation-fails-for-users-who
vynte-infra/twenty:sonarly-8007-relation-filter-key-lookup-fails-when
vynte-infra/twenty:navbar-customization-v2-follow-up
vynte-infra/twenty:sonarly-7898-isrecordmatchingfilter-throws-on-stale-filter
vynte-infra/twenty:sonarly-4132-stale-v1170-frontend-cache-queries-removed
vynte-infra/twenty:translate-widget-name
vynte-infra/twenty:sonarly-7806-billing-page-crashes-when-subscriptions-stripe
vynte-infra/twenty:sonarly-7805-missing-plan-metadata-in-subscription-causes
vynte-infra/twenty:sonarly-7692-google-oauth-login-crashes-on-accounts-with-no
vynte-infra/twenty:table-perf
vynte-infra/twenty:twenty-for-twenty-app
vynte-infra/twenty:fix-race-condition
vynte-infra/twenty:fix-uuid-validation-version
vynte-infra/twenty:refactor-app-installation
vynte-infra/twenty:oauth-apps-3-frontend-and-cli
vynte-infra/twenty:oauth-apps-2-oauth-and-sync
vynte-infra/twenty:oauth-apps-1-app-registration
vynte-infra/twenty:email-attachments-support
vynte-infra/twenty:sonarly-6564-google-sign-up-fails-when-profile-picture
vynte-infra/twenty:html-preview-emails
vynte-infra/twenty:fix-context-on-states
vynte-infra/twenty:fix-gmail-backfill
vynte-infra/twenty:electron-app
vynte-infra/twenty:c--introduce-metadata-client-in-twenty-sdk
vynte-infra/twenty:c--improve-relation-picker-for-RLS
vynte-infra/twenty:ej/filter-valdiation
vynte-infra/twenty:sonarly-4770-post-metadata-response-body-consumed-before
vynte-infra/twenty:navbar-with-ai-chats
vynte-infra/twenty:jotai-11
vynte-infra/twenty:sonarly-4132-logicfunction-graphql-schema-missing
vynte-infra/twenty:sonarly-4106-workspace-member-lookup-crashes-on-missing-entity
vynte-infra/twenty:jotai-10
vynte-infra/twenty:jotai-9
vynte-infra/twenty:manifest-agent
vynte-infra/twenty:sonarly-3964-file-deletion-job-crashes-on-emptynull-fullpath
vynte-infra/twenty:sonarly-3085-sse-mutations-missing-from-metadata-graphql-schema
vynte-infra/twenty:fix/sonarly-3890-run-2841
vynte-infra/twenty:fix/sonarly-3877-run-2830
vynte-infra/twenty:fix/sonarly-3881-run-2832
vynte-infra/twenty:fix/sonarly-3879-run-2831
vynte-infra/twenty:fix/sonarly-3859-run-2813
vynte-infra/twenty:fix/sonarly-3850-run-2807
vynte-infra/twenty:fix/sonarly-3840-run-2800
vynte-infra/twenty:fix/sonarly-3399-run-2788
vynte-infra/twenty:fix/sonarly-3398-run-2784
vynte-infra/twenty:fix/sonarly-3379-run-2780
vynte-infra/twenty:fix/sonarly-3374-run-2778
vynte-infra/twenty:fix/sonarly-3316-run-2773
vynte-infra/twenty:navbar-customization
vynte-infra/twenty:navbar-customization-v2
vynte-infra/twenty:fix/sonarly-3548-run-2555
vynte-infra/twenty:tt-add-views-and-navigation-items-on-object-creation
vynte-infra/twenty:fix/sonarly-3458-run-2470
vynte-infra/twenty:fix/sonarly-3344-run-2367
vynte-infra/twenty:fix/sonarly-3325-run-2349
vynte-infra/twenty:ej/fix-attachment-display
vynte-infra/twenty:refactor-builder-from
vynte-infra/twenty:fix/sonarly-2685-run-2290
vynte-infra/twenty:fix/sonarly-3219-run-2234
vynte-infra/twenty:fix/sonarly-3174-run-2223
vynte-infra/twenty:fix/sonarly-3098-run-2222
vynte-infra/twenty:fix/sonarly-3089-run-2221
vynte-infra/twenty:fix/sonarly-3087-run-2219
vynte-infra/twenty:fix/sonarly-2989-run-2215
vynte-infra/twenty:fix/sonarly-3185-run-2192
vynte-infra/twenty:fix/sonarly-3173-run-2187
vynte-infra/twenty:fix/sonarly-3162-run-2179
vynte-infra/twenty:c--improve-permissions-and-RLS-coverage
vynte-infra/twenty:fix/sonarly-3136-run-2158
vynte-infra/twenty:fix/sonarly-3135-run-2157
vynte-infra/twenty:fix/sonarly-3106-run-2135
vynte-infra/twenty:fix/sonarly-3104-run-2134
vynte-infra/twenty:fix/sonarly-3102-run-2131
vynte-infra/twenty:fix/sonarly-3099-run-2128
vynte-infra/twenty:fix/sonarly-3091-run-2119
vynte-infra/twenty:fix/sonarly-3085-run-2114
vynte-infra/twenty:fix/sonarly-3087-run-2116
vynte-infra/twenty:r--make-front-components-work-for-mutliple-frameworks
vynte-infra/twenty:fix-standard-options-ids
vynte-infra/twenty:1.18.0
vynte-infra/twenty:feat/search-split-on-separator-chars
vynte-infra/twenty:build-load-app-contextual-info
vynte-infra/twenty:refactor-page-layout-input-transpiler
vynte-infra/twenty:ej/ai-chat-file
vynte-infra/twenty:acee3/add-mentions
vynte-infra/twenty:workspace-migration-as-code
vynte-infra/twenty:2220-extensibility-handle-twenty-sdk-apps-issues-from-app-feedbacks
vynte-infra/twenty:refactor/caldav-driver-pipeline
vynte-infra/twenty:nav-folder-icon-customization
vynte-infra/twenty:c--associate-file-with-front-component
vynte-infra/twenty:refactor-create-input-transpilers
vynte-infra/twenty:twenty/v2.9.4
vynte-infra/twenty:twenty/v2.9.3
vynte-infra/twenty:twenty/v2.9.2
vynte-infra/twenty:twenty/v2.10.1
vynte-infra/twenty:twenty/v2.8.4
vynte-infra/twenty:twenty/v2.7.4
vynte-infra/twenty:twenty/v2.9.1
vynte-infra/twenty:sdk/v2.10.0
vynte-infra/twenty:twenty/v2.10.0
vynte-infra/twenty:sdk/v2.9.1
vynte-infra/twenty:v2.9.0
vynte-infra/twenty:v2.8.3
vynte-infra/twenty:v2.8.2
vynte-infra/twenty:v2.8.1
vynte-infra/twenty:v2.8.0
vynte-infra/twenty:v2.7.3
vynte-infra/twenty:v2.7.2
vynte-infra/twenty:v2.7.1
vynte-infra/twenty:v2.7.0
vynte-infra/twenty:v2.6.2
vynte-infra/twenty:v2.5.4
vynte-infra/twenty:v2.4.3
vynte-infra/twenty:v2.6.1
vynte-infra/twenty:v2.6.0
vynte-infra/twenty:v2.5.3
vynte-infra/twenty:v2.5.2
vynte-infra/twenty:v2.5.1
vynte-infra/twenty:v2.5.0
vynte-infra/twenty:v2.4.2
vynte-infra/twenty:v2.4.1
vynte-infra/twenty:v2.4.0
vynte-infra/twenty:v2.3.2
vynte-infra/twenty:v2.3.1
vynte-infra/twenty:v2.3.0
vynte-infra/twenty:v2.2.0
vynte-infra/twenty:v2.1.1
vynte-infra/twenty:v2.1.0
vynte-infra/twenty:v2.0.4
vynte-infra/twenty:v2.0.3
vynte-infra/twenty:v2.0.2
vynte-infra/twenty:v2.0.1
vynte-infra/twenty:v2.0.0
vynte-infra/twenty:v1.23.9
vynte-infra/twenty:v1.23.8
vynte-infra/twenty:v1.22.6
vynte-infra/twenty:v1.23.7
vynte-infra/twenty:v1.23.6
vynte-infra/twenty:v1.23.5
vynte-infra/twenty:v1.23.4
vynte-infra/twenty:v1.23.3
vynte-infra/twenty:v1.23.2
vynte-infra/twenty:v1.23.1
vynte-infra/twenty:v1.22.5
vynte-infra/twenty:v1.23.0
vynte-infra/twenty:v1.22.4
vynte-infra/twenty:v1.22.3
vynte-infra/twenty:v1.22.2
vynte-infra/twenty:v1.22.1
vynte-infra/twenty:v1.22.0
vynte-infra/twenty:v1.17.4
vynte-infra/twenty:v1.21.2
vynte-infra/twenty:v1.21.1
vynte-infra/twenty:v1.21.0
vynte-infra/twenty:v1.20.11
vynte-infra/twenty:v1.20.10
vynte-infra/twenty:v1.20.9
vynte-infra/twenty:v1.20.8
vynte-infra/twenty:v1.20.7
vynte-infra/twenty:v1.20.6
vynte-infra/twenty:v1.20.5
vynte-infra/twenty:v1.20.4
vynte-infra/twenty:v1.20.3
vynte-infra/twenty:v1.20.2
vynte-infra/twenty:v1.20.1
vynte-infra/twenty:v1.20.0
vynte-infra/twenty:v1.19.13
vynte-infra/twenty:v1.19.12
vynte-infra/twenty:v1.19.11
vynte-infra/twenty:v1.19.10
vynte-infra/twenty:v1.19.9
vynte-infra/twenty:v1.19.8
vynte-infra/twenty:v1.19.7
vynte-infra/twenty:v1.17.3
vynte-infra/twenty:v1.19.6
vynte-infra/twenty:v1.17.2
vynte-infra/twenty:v1.17.1
vynte-infra/twenty:v1.19.5
vynte-infra/twenty:v1.19.4
vynte-infra/twenty:v1.19.3
vynte-infra/twenty:v1.19.2
vynte-infra/twenty:v1.19.1
vynte-infra/twenty:v1.19.0
vynte-infra/twenty:v1.18.1
vynte-infra/twenty:v1.18.0
vynte-infra/twenty:v1.17.0
vynte-infra/twenty:v1.16.16
vynte-infra/twenty:v1.16.15
vynte-infra/twenty:v1.16.7
vynte-infra/twenty:v1.16.14
vynte-infra/twenty:v1.16.13
vynte-infra/twenty:v1.16.12
vynte-infra/twenty:v1.16.11
vynte-infra/twenty:v1.16.10
vynte-infra/twenty:v1.16.9
vynte-infra/twenty:v1.16.8
vynte-infra/twenty:v1.16.6
vynte-infra/twenty:v1.16.5
vynte-infra/twenty:v1.16.4
vynte-infra/twenty:v1.16.3
vynte-infra/twenty:v1.16.2
vynte-infra/twenty:v1.16.1
vynte-infra/twenty:v1.16.0
vynte-infra/twenty:v1.15.10
vynte-infra/twenty:v1.15.9
vynte-infra/twenty:v1.15.8
vynte-infra/twenty:v1.15.7
vynte-infra/twenty:v1.15.6
vynte-infra/twenty:v1.15.5
vynte-infra/twenty:v1.15.4
vynte-infra/twenty:v1.15.3
vynte-infra/twenty:v1.15.2
vynte-infra/twenty:v1.15.1
vynte-infra/twenty:v1.15.0
vynte-infra/twenty:v1.14.4
vynte-infra/twenty:v1.14.3
vynte-infra/twenty:v1.14.2
vynte-infra/twenty:v1.14.1
vynte-infra/twenty:v1.14.0
vynte-infra/twenty:v1.13.11
vynte-infra/twenty:v1.13.10
vynte-infra/twenty:v1.13.9
vynte-infra/twenty:v1.13.8
vynte-infra/twenty:v1.13.7
vynte-infra/twenty:v1.13.6
vynte-infra/twenty:v1.13.5
vynte-infra/twenty:v1.13.4
vynte-infra/twenty:v1.13.3
vynte-infra/twenty:v1.13.2
vynte-infra/twenty:v1.13.1
vynte-infra/twenty:v1.13.0
vynte-infra/twenty:v1.12.18
vynte-infra/twenty:v1.12.17
vynte-infra/twenty:v1.12.16
vynte-infra/twenty:v1.12.15
vynte-infra/twenty:v1.12.14
vynte-infra/twenty:v1.12.13
vynte-infra/twenty:v1.12.12
vynte-infra/twenty:v1.12.11
vynte-infra/twenty:v1.12.10
vynte-infra/twenty:v1.12.9
vynte-infra/twenty:v1.12.8
vynte-infra/twenty:v1.12.7
vynte-infra/twenty:v1.12.6
vynte-infra/twenty:v1.12.5
vynte-infra/twenty:v1.12.4
vynte-infra/twenty:v1.12.3
vynte-infra/twenty:v1.12.2
vynte-infra/twenty:v1.12.1
vynte-infra/twenty:v1.12.0
vynte-infra/twenty:v1.11.14
vynte-infra/twenty:v1.11.13
vynte-infra/twenty:v1.11.12
vynte-infra/twenty:v1.11.11
vynte-infra/twenty:v1.11.10
vynte-infra/twenty:v1.11.9
vynte-infra/twenty:v1.11.8
vynte-infra/twenty:v1.11.7
vynte-infra/twenty:v1.11.6
vynte-infra/twenty:v1.11.5
vynte-infra/twenty:v1.11.4
vynte-infra/twenty:v1.11.3
vynte-infra/twenty:v1.11.2
vynte-infra/twenty:v1.11.1
vynte-infra/twenty:v1.11.0
vynte-infra/twenty:v1.10.8
vynte-infra/twenty:v1.10.7
vynte-infra/twenty:v1.10.6
vynte-infra/twenty:v1.10.5
vynte-infra/twenty:v1.10.4
vynte-infra/twenty:v1.10.3
vynte-infra/twenty:v1.10.2
vynte-infra/twenty:v1.10.1
vynte-infra/twenty:v1.10.0
vynte-infra/twenty:v1.8.15
vynte-infra/twenty:v1.8.14
vynte-infra/twenty:v1.8.13
vynte-infra/twenty:v1.8.12
vynte-infra/twenty:v1.8.11
vynte-infra/twenty:v1.8.10
vynte-infra/twenty:v1.8.9
vynte-infra/twenty:v1.8.8
vynte-infra/twenty:v1.8.7
vynte-infra/twenty:v1.8.6
vynte-infra/twenty:v1.8.5
vynte-infra/twenty:v1.8.4
vynte-infra/twenty:v1.8.3
vynte-infra/twenty:v1.8.2
vynte-infra/twenty:v1.8.1
vynte-infra/twenty:v1.8.0
vynte-infra/twenty:v1.7.10
vynte-infra/twenty:v1.7.9
vynte-infra/twenty:v1.7.8
vynte-infra/twenty:v1.7.7
vynte-infra/twenty:v1.7.6
vynte-infra/twenty:v1.7.5
vynte-infra/twenty:v1.7.4
vynte-infra/twenty:v1.7.3
vynte-infra/twenty:v1.7.2
vynte-infra/twenty:v1.7.1
vynte-infra/twenty:v1.7.0
vynte-infra/twenty:v1.6.10
vynte-infra/twenty:v1.6.9
vynte-infra/twenty:v1.6.8
vynte-infra/twenty:v1.6.7
vynte-infra/twenty:v1.6.6
vynte-infra/twenty:v1.6.5
vynte-infra/twenty:v1.6.4
vynte-infra/twenty:v1.6.3
vynte-infra/twenty:v1.6.2
vynte-infra/twenty:v1.6.1
vynte-infra/twenty:v1.6.0
vynte-infra/twenty:v1.5.5
vynte-infra/twenty:v1.5.4
vynte-infra/twenty:v1.5.3
vynte-infra/twenty:v1.5.2
vynte-infra/twenty:v1.5.1
vynte-infra/twenty:v1.5.0
vynte-infra/twenty:v1.4.12
vynte-infra/twenty:v1.4.11
vynte-infra/twenty:v1.4.10
vynte-infra/twenty:v1.4.9
vynte-infra/twenty:v1.4.8
vynte-infra/twenty:v1.4.7
vynte-infra/twenty:v1.4.6
vynte-infra/twenty:v1.4.5
vynte-infra/twenty:v1.4.4
vynte-infra/twenty:v1.4.3
vynte-infra/twenty:v1.4.2
vynte-infra/twenty:v1.4.1
vynte-infra/twenty:v1.4.0
vynte-infra/twenty:v1.3.1
vynte-infra/twenty:v1.3.0
vynte-infra/twenty:v1.2.1
vynte-infra/twenty:v1.2.0
vynte-infra/twenty:v1.1.3
vynte-infra/twenty:v1.1.2
vynte-infra/twenty:v1.1.1
vynte-infra/twenty:v1.1.0
vynte-infra/twenty:v1.0.5
vynte-infra/twenty:v1.0.4
vynte-infra/twenty:v1.0.3
vynte-infra/twenty:v1.0.2
vynte-infra/twenty:v1.0.1
vynte-infra/twenty:v0.60.8
vynte-infra/twenty:v1.0.0
vynte-infra/twenty:v0.60.7
vynte-infra/twenty:v0.60.6
vynte-infra/twenty:v0.60.5
vynte-infra/twenty:v0.60.4
vynte-infra/twenty:v0.60.2
vynte-infra/twenty:v0.60.1
vynte-infra/twenty:v0.55.9
vynte-infra/twenty:v0.60.0
vynte-infra/twenty:v0.55.8
vynte-infra/twenty:v0.55.7
vynte-infra/twenty:v0.55.6
vynte-infra/twenty:v0.55.5
vynte-infra/twenty:v0.55.4
vynte-infra/twenty:v0.55.3
vynte-infra/twenty:v0.55.2
vynte-infra/twenty:v0.55.1
vynte-infra/twenty:v0.55.0
vynte-infra/twenty:v0.54.7
vynte-infra/twenty:v0.54.6
vynte-infra/twenty:v0.54.5
vynte-infra/twenty:v0.54.4
vynte-infra/twenty:v0.54.3
vynte-infra/twenty:v0.54.2
vynte-infra/twenty:v0.53.8
vynte-infra/twenty:v0.53.7
vynte-infra/twenty:v0.53.6
vynte-infra/twenty:v0.53.5
vynte-infra/twenty:v0.53.4
vynte-infra/twenty:v0.53.3
vynte-infra/twenty:v0.53.2
vynte-infra/twenty:v0.53.1
vynte-infra/twenty:v0.53.0
vynte-infra/twenty:v0.52.11
vynte-infra/twenty:v0.52.10
vynte-infra/twenty:v0.52.9
vynte-infra/twenty:v0.52.8
vynte-infra/twenty:v0.52.7
vynte-infra/twenty:v0.51.14
vynte-infra/twenty:v0.51.13
vynte-infra/twenty:v0.51.12
vynte-infra/twenty:v0.51.11
vynte-infra/twenty:v0.51.10
vynte-infra/twenty:v0.51.9
vynte-infra/twenty:v0.51.8
vynte-infra/twenty:v0.51.7
vynte-infra/twenty:v0.51.6
vynte-infra/twenty:v0.51.5
vynte-infra/twenty:v0.51.4
vynte-infra/twenty:v0.51.3
vynte-infra/twenty:v0.51.2
vynte-infra/twenty:v0.51.1
vynte-infra/twenty:v0.51.0
vynte-infra/twenty:v0.50.9
vynte-infra/twenty:v0.50.8
vynte-infra/twenty:v0.50.7
vynte-infra/twenty:v0.50.6
vynte-infra/twenty:v0.50.5
vynte-infra/twenty:v0.50.4
vynte-infra/twenty:v0.50.3
vynte-infra/twenty:v0.50.2
vynte-infra/twenty:v0.50.1
vynte-infra/twenty:v0.50.0
vynte-infra/twenty:v0.44.19
vynte-infra/twenty:v0.44.18
vynte-infra/twenty:v0.44.17
vynte-infra/twenty:v0.44.16
vynte-infra/twenty:v0.44.15
vynte-infra/twenty:v0.44.14
vynte-infra/twenty:v0.44.13
vynte-infra/twenty:v0.44.12
vynte-infra/twenty:v0.44.11
vynte-infra/twenty:v0.44.10
vynte-infra/twenty:v0.44.9
vynte-infra/twenty:v0.44.8
vynte-infra/twenty:v0.44.7
vynte-infra/twenty:v0.44.6
vynte-infra/twenty:v0.44.5
vynte-infra/twenty:v0.44.4
vynte-infra/twenty:v0.44.3
vynte-infra/twenty:v0.44.2
vynte-infra/twenty:v0.44.1
vynte-infra/twenty:v0.44.0
vynte-infra/twenty:v0.43.5
vynte-infra/twenty:v0.43.4
vynte-infra/twenty:v0.43.3
vynte-infra/twenty:v0.43.2
vynte-infra/twenty:v0.43.1
vynte-infra/twenty:v0.43.0
vynte-infra/twenty:v0.42.18
vynte-infra/twenty:v0.42.17
vynte-infra/twenty:v0.42.16
vynte-infra/twenty:v0.42.15
vynte-infra/twenty:v0.42.14
vynte-infra/twenty:v0.42.13
vynte-infra/twenty:v0.42.12
vynte-infra/twenty:v0.42.11
vynte-infra/twenty:v0.42.10
vynte-infra/twenty:v0.42.9
vynte-infra/twenty:v0.42.8
vynte-infra/twenty:v0.42.7
vynte-infra/twenty:v0.42.6
vynte-infra/twenty:v0.42.5
vynte-infra/twenty:v0.42.4
vynte-infra/twenty:v0.42.3
vynte-infra/twenty:v0.42.2
vynte-infra/twenty:v0.42.1
vynte-infra/twenty:v0.42.0
vynte-infra/twenty:v0.41.5
vynte-infra/twenty:v0.41.4
vynte-infra/twenty:v0.41.3
vynte-infra/twenty:v0.41.2
vynte-infra/twenty:v0.41.1
vynte-infra/twenty:v0.40.8
vynte-infra/twenty:v0.41.0
vynte-infra/twenty:v0.40.7
vynte-infra/twenty:v0.40.6
vynte-infra/twenty:v0.40.5
vynte-infra/twenty:v0.40.4
vynte-infra/twenty:v0.40.3
vynte-infra/twenty:v0.40.2
vynte-infra/twenty:v0.40.1
vynte-infra/twenty:v0.40.0
vynte-infra/twenty:v0.35.6
vynte-infra/twenty:v0.35.5
vynte-infra/twenty:v0.35.4
vynte-infra/twenty:v0.35.3
vynte-infra/twenty:v0.35.2
vynte-infra/twenty:v0.35.1
vynte-infra/twenty:v0.35.0
vynte-infra/twenty:v0.34.6
vynte-infra/twenty:v0.34.5
vynte-infra/twenty:v0.34.4
vynte-infra/twenty:v0.34.3
vynte-infra/twenty:v0.34.2
vynte-infra/twenty:v0.34.1
vynte-infra/twenty:v0.34.0
vynte-infra/twenty:v0.33.7
vynte-infra/twenty:v0.33.6
vynte-infra/twenty:v0.33.5
vynte-infra/twenty:v0.33.4
vynte-infra/twenty:v0.33.3
vynte-infra/twenty:v0.33.2
vynte-infra/twenty:v0.33.1
vynte-infra/twenty:v0.33.0
vynte-infra/twenty:v0.32.4
vynte-infra/twenty:v0.32.3
vynte-infra/twenty:v0.32.2
vynte-infra/twenty:v0.32.1
vynte-infra/twenty:v0.32.0
vynte-infra/twenty:v0.31.3
vynte-infra/twenty:v0.31.2
vynte-infra/twenty:v0.31.1
vynte-infra/twenty:v0.31.0
vynte-infra/twenty:v0.30.2
vynte-infra/twenty:v0.30.1
vynte-infra/twenty:v0.30.0
vynte-infra/twenty:v0.24.1
vynte-infra/twenty:v0.24.0
vynte-infra/twenty:v0.23.3
vynte-infra/twenty:v0.23.2
vynte-infra/twenty:v0.23.1
vynte-infra/twenty:v0.23.0
vynte-infra/twenty:v0.22.1
vynte-infra/twenty:v0.22.0
vynte-infra/twenty:v0.21.2
vynte-infra/twenty:v0.21.1
vynte-infra/twenty:v0.21.0
vynte-infra/twenty:v0.21
vynte-infra/twenty:v0.20.2
vynte-infra/twenty:v0.20.1
vynte-infra/twenty:v0.20.0
vynte-infra/twenty:v0.12.2
vynte-infra/twenty:v0.12.1
vynte-infra/twenty:v0.12.0
vynte-infra/twenty:v0.11.3
vynte-infra/twenty:v0.11.2
vynte-infra/twenty:v0.11.1
vynte-infra/twenty:v0.11.0
vynte-infra/twenty:v0.10.6
vynte-infra/twenty:v0.10.5
vynte-infra/twenty:v0.10.4
vynte-infra/twenty:v0.10.3
vynte-infra/twenty:v0.10.2
vynte-infra/twenty:v0.10.1
vynte-infra/twenty:v0.10.0
vynte-infra/twenty:v0.4.0
vynte-infra/twenty:v0.3.3
vynte-infra/twenty:v0.3.2
vynte-infra/twenty:v0.3.1
vynte-infra/twenty:v0.3.0
vynte-infra/twenty:v0.2.3
vynte-infra/twenty:v0.2.2
vynte-infra/twenty:v0.2.1
vynte-infra/twenty:v0.2.0
vynte-infra/twenty:v0.1.5
vynte-infra/twenty:v0.1.4
vynte-infra/twenty:v0.1.3
vynte-infra/twenty:v0.1.2
vynte-infra/twenty:v0.1.1
vynte-infra/twenty:v0.1.0
...
pull from: vynte-infra/twenty:sonarly-3964-file-deletion-job-crashes-on-emptynull-fullpath
vynte-infra/twenty:main
vynte-infra/twenty:call-recording-backend-api
vynte-infra/twenty:feat/app-page-card-layout
vynte-infra/twenty:feat/marketing-emails-rename
vynte-infra/twenty:chore/rename-database-migrate-to-upgrade
vynte-infra/twenty:feat/emailing-domain-log-driver
vynte-infra/twenty:sonarly-43002-fixnavigation-use-userworkspaceid-for-favorites
vynte-infra/twenty:app-dev/remaining-improvements
vynte-infra/twenty:website-product-hero
vynte-infra/twenty:fix-21177
vynte-infra/twenty:feat/persistent-app-side-panel
vynte-infra/twenty:fix/navigation-skeleton-menu-width
vynte-infra/twenty:sonarly-42767-fix-select-email-capable-account-for-send-email
vynte-infra/twenty:feat/argos-visual-regression-new-ui
vynte-infra/twenty:r--people-data-labs-enrichment-mapper
vynte-infra/twenty:revert-21259-version-bump/2.11.0
vynte-infra/twenty:ej/optimize-metadata-crud
vynte-infra/twenty:messaging-integration-testing
vynte-infra/twenty:call-recording-api
vynte-infra/twenty:c--deprecate-is-custom-for-objects-fields
vynte-infra/twenty:2467-app-feedback-from-an-app-developer
vynte-infra/twenty:sonarly-42623-fixauth-ignore-stale-auth-on-password-reset-token
vynte-infra/twenty:sonarly-42591-fix-guard-text-field-display-against-object-values
vynte-infra/twenty:ej/fix-ai-agent-context-and-caching
vynte-infra/twenty:sonarly-42520-fix-guard-iterator-history-snapshots-against
vynte-infra/twenty:tt-replace-hard-throttle-with-loop-detection
vynte-infra/twenty:sonarly-42491-fixfront-apply-metadata-sse-events-before-record
vynte-infra/twenty:test/yes-visual-regression-trigger
vynte-infra/twenty:test/no-visual-regression-trigger
vynte-infra/twenty:remove-encryption-legacy
vynte-infra/twenty:website-sanitize-json-ld
vynte-infra/twenty:i18n
vynte-infra/twenty:test/trigger-visual-regression-ci
vynte-infra/twenty:sonarly-42419-fix-make-databaseevent-updated-trigger-matching
vynte-infra/twenty:refactor/open-api-metadata-schema-components
vynte-infra/twenty:refactor/workflow-step-operations-split
vynte-infra/twenty:test/argos-visual-regression-check
vynte-infra/twenty:feat/marketing-emails
vynte-infra/twenty:sonarly-42366-fixserver-scope-workspace-findone-in
vynte-infra/twenty:sonarly-42158-fixactivities-resolve-target-filter-field-from
vynte-infra/twenty:sonarly-42139-fix-guard-actor-source-filter-when-record-field
vynte-infra/twenty:fix/hide-favorites-toggle-when-empty
vynte-infra/twenty:ej/fix-cache-breaking-file
vynte-infra/twenty:fix-kanban-same-column-sse-propagation
vynte-infra/twenty:microsoft-batching
vynte-infra/twenty:feat/settings-header-redesign
vynte-infra/twenty:feat/onboarding-seed-private-kanban
vynte-infra/twenty:sonarly-41962-fix-stop-masking-transient-postgres-errors-as
vynte-infra/twenty:sonarly-41956-fixai-chat-chunk-agent-message-part-inserts
vynte-infra/twenty:ej/test-inte-fix
vynte-infra/twenty:gh-readonly-queue/main/pr-21107-11bdc5412821aac2f03763111dbf4c8682444d57
vynte-infra/twenty:with-twenty
vynte-infra/twenty:sonarly-41881-fixworkflow-handle-isnotnull-for-date-step-filters
vynte-infra/twenty:sonarly-41815-fixai-chat-fallback-refetch-when-sse-events-are
vynte-infra/twenty:sonarly-41806-fix-accept-legacy-fields-viewid-during-manifest
vynte-infra/twenty:sonarly-41804-fixsdk-stop-runtime-export-of-null-conditional
vynte-infra/twenty:sonarly-41802-fixpage-layout-reject-standalone-rich-text-on
vynte-infra/twenty:sonarly-41751-fixauth-block-self-impersonation-before-token
vynte-infra/twenty:sonarly-41719-fixfilters-tolerate-0000-datetime-filter-values
vynte-infra/twenty:sonarly-41689-fixnavigation-preserve-last-visited-object-view
vynte-infra/twenty:sonarly-41644-fix-ignore-stale-filter-keys-in-optimistic-cache
vynte-infra/twenty:sonarly-41635-fix-guarddisable-sentry-replay-crash-on-safari
vynte-infra/twenty:sonarly-41619-fix-upgrade-axios-to-1161-across-affected-packages
vynte-infra/twenty:sonarly-41593-fix-show-actionable-error-when-oauth-redirecturi
vynte-infra/twenty:feat/email-group-per-workspace-suppression
vynte-infra/twenty:fix-encryption-key-rotation-script
vynte-infra/twenty:sonarly-41520-fixfront-allow-selection-in-readonly-field
vynte-infra/twenty:feat/settings-layout-discovery-page
vynte-infra/twenty:sonarly-41466-fixauth-relax-saml-idp-metadata-parsing
vynte-infra/twenty:feat/email-group-enterprise-gate
vynte-infra/twenty:c--introduce-permission-context-into-logic-functions
vynte-infra/twenty:sonarly-41408-fixdocker-increase-server-healthcheck-startup
vynte-infra/twenty:feat/email-group-rate-limits-metering
vynte-infra/twenty:feat/email-group-ses-events-unsubscribe
vynte-infra/twenty:feat/bulk-email-campaigns
vynte-infra/twenty:fix/parser-multi-comma-display-names
vynte-infra/twenty:feature/partner-workflow-skills
vynte-infra/twenty:sonarly-41221-fixfront-component-renderer-serialize-customevent
vynte-infra/twenty:feat/migrate-workspace-scoped-views-pages
vynte-infra/twenty:fix/automation-blocklist
vynte-infra/twenty:sonarly-41112-fix-include-relation-field-diffs-in-timeline
vynte-infra/twenty:sonarly-41091-fixauth-guard-cache-build-when-workspacemember
vynte-infra/twenty:sonarly-41085-fixauth-validate-and-default-google-apis-callback
vynte-infra/twenty:fix/website-stripe-fetch-client
vynte-infra/twenty:r--fix-ime-composition-enter-bug
vynte-infra/twenty:sonarly-41051-fix-return-validation-error-for-missing-manifest
vynte-infra/twenty:c--fix-missing-fe-component-nested-command-definition
vynte-infra/twenty:sonarly-41010-fixtwenty-front-guard-malformed-blocknote-editor
vynte-infra/twenty:sonarly-40978-fixfront-break-stale-chunk-reload-loop-on-ios-pwa
vynte-infra/twenty:fix-app-logo-init
vynte-infra/twenty:editable-property-comparison-guardrail
vynte-infra/twenty:enforce-canvas-tab-widget-cap
vynte-infra/twenty:charles/ecstatic-banach-91707b
vynte-infra/twenty:gmail-selective-quota-reduction
vynte-infra/twenty:sonarly-40483-fixfront-restore-duplicates-detection-on-record
vynte-infra/twenty:sonarly-40432-fixworkflow-handle-isnotnull-in-filter-evaluator
vynte-infra/twenty:sonarly-40356-fixai-chat-support-openai-zdr-stateless-tool
vynte-infra/twenty:sonarly-40147-fix-make-rich-text-inline-editor-mobile-keyboard
vynte-infra/twenty:bonapara/new-record-form
vynte-infra/twenty:fix-app-logo
vynte-infra/twenty:sonarly-40070-fix-fallback-when-identifier-chip-generator-is
vynte-infra/twenty:downscope-code-owners
vynte-infra/twenty:sonarly-39857-fix-ignore-unknown-fields-in-sse-optimistic
vynte-infra/twenty:fix/ai-chat-orphan-thread-on-first-send-failure
vynte-infra/twenty:deprecate-message-channel-message-folder-calendar-channel
vynte-infra/twenty:sonarly-39756-fixfront-handle-date-in-draft-value-initialization
vynte-infra/twenty:sonarly-39742-fixserver-stop-diffing-removed
vynte-infra/twenty:sonarly-39738-fixupgrade-guard-role-permission-flag-relation
vynte-infra/twenty:sonarly-39725-fix-harden-workflow-enqueue-cron-against-db
vynte-infra/twenty:sonarly-39680-fix-harden-select-filter-value-parsing-for-legacy
vynte-infra/twenty:sonarly-39574-fixserver-handle-missing-user-in-resend
vynte-infra/twenty:sonarly-39542-fixfront-guard-overview-graph-against-stale
vynte-infra/twenty:sonarly-39517-fixserver-prevent-released-query-runner-in
vynte-infra/twenty:sonarly-39451-fixserver-tolerate-legacy-plaintext-connected
vynte-infra/twenty:sonarly-39454-fix-guard-rolepermissionflag-reads-across-flag
vynte-infra/twenty:deprecated-remaning-standard-objects
vynte-infra/twenty:sonarly-39408-fixfront-prevent-dashboard-layout-onlayoutchange
vynte-infra/twenty:v2.7.0
vynte-infra/twenty:sonarly-39364-fixmessaging-cap-gmail-message-import-concurrency
vynte-infra/twenty:sonarly-39344-fixfront-guard-board-field-updates-against
vynte-infra/twenty:migrate-docs-to-oxfmt
vynte-infra/twenty:sonarly-39055-fixsdk-cap-concurrent-uploadapplicationfile
vynte-infra/twenty:sonarly-39017-fixfront-handle-missing-morph-target-metadata
vynte-infra/twenty:sonarly-38998-fixfront-guard-settings-counter-against-invalid
vynte-infra/twenty:refactor-front-component-bloating
vynte-infra/twenty:sonarly-38975-fix-tolerate-dashboard-widgets-linked-to-deleted
vynte-infra/twenty:feat/website-product-hero-scroll
vynte-infra/twenty:sonarly-38763-fixworkflow-guard-iterator-variable-schema-access
vynte-infra/twenty:sonarly-38716-fixsdk-stop-bundling-react-18-jsx-internals-in-ui
vynte-infra/twenty:ignore-cli-tools-from-npmMinimalAgeGate
vynte-infra/twenty:release/v2.5.4
vynte-infra/twenty:sonarly-38659-fixserver-add-missing-indexes-for-custom-timeline
vynte-infra/twenty:release/v2.4.3
vynte-infra/twenty:refactor/hydrated-record-filter
vynte-infra/twenty:charles/backport-relation-target-field-metadata-id-to-2-5-fast
vynte-infra/twenty:sonarly-38618-fixfront-component-renderer-gate-global-hotkeys
vynte-infra/twenty:deprecate-connected-account-workspace-schema
vynte-infra/twenty:sonarly-38542-fixbilling-avoid-timeout-in-cap-flag-subscription
vynte-infra/twenty:sonarly-38539-fixpage-layout-guard-usetargetrecord-for
vynte-infra/twenty:sonarly-38487-fixserver-harden-lambda-calls-against-worker
vynte-infra/twenty:messaging-minor-optmizations
vynte-infra/twenty:sonarly-38418-fix-validate-workspace-package-manifests-during
vynte-infra/twenty:fix/relation-traversal-save-and-workflow
vynte-infra/twenty:sonarly-38370-fixserver-run-viewfilter-column-migration-earlier
vynte-infra/twenty:release/v2.5.3
vynte-infra/twenty:feat/graphql-relation-traversal-filters-frontend
vynte-infra/twenty:sonarly-38314-fixserver-align-workspace-safety-check-with
vynte-infra/twenty:sonarly-38306-fixfront-guard-undefined-nested-output-schema
vynte-infra/twenty:sonarly-38297-fixserver-keep-participant-matching-on-active
vynte-infra/twenty:sonarly-38255-fixemails-resolve-reply-account-from-thread
vynte-infra/twenty:sonarly-38251-fixserver-guard-config-secret-migration-against
vynte-infra/twenty:sonarly-38244-fixpage-layout-handle-fields-widgets-missing
vynte-infra/twenty:sonarly-38220-fixfront-handle-stale-object-routes-on-record
vynte-infra/twenty:sonarly-38200-fixfront-dont-auto-sync-parent-on-folder-only
vynte-infra/twenty:sonarly-38158-fixtwenty-front-guard-null-relation-arrays-in
vynte-infra/twenty:sonarly-38125-fixfront-guard-deep-equality-in-record-store
vynte-infra/twenty:claude/system-field-uids-v5
vynte-infra/twenty:refactor/turn-record-filter-into-gql-operation-split
vynte-infra/twenty:charles/fix-normalize-composite-field-defaults-missing-columns
vynte-infra/twenty:bonapara/oauth-modal-reference-image
vynte-infra/twenty:sonarly-wip-42743
vynte-infra/twenty:sonarly-wip-42732
vynte-infra/twenty:sonarly-wip-42726
vynte-infra/twenty:sonarly-wip-42720
vynte-infra/twenty:sonarly-wip-42719
vynte-infra/twenty:sonarly-37138-unhandled-imap-error-event-crashes-server-process
vynte-infra/twenty:sonarly-37129-view-visibility-mismatch-empties-dashboard-table
vynte-infra/twenty:feat/jwt-per-workspace-derived-key-poc
vynte-infra/twenty:sonarly-37072-navigation-drawer-collapse-state-leaks-into
vynte-infra/twenty:ej/fix-api-changes-report
vynte-infra/twenty:sanitize-file-exif
vynte-infra/twenty:sonarly-36998-default-workspace-selection-picks-wrong-seeded
vynte-infra/twenty:sonarly-36996-graphql-schema-mismatch-breaks-ai-tools-app-icon
vynte-infra/twenty:backfill-standard-permission-flags
vynte-infra/twenty:sonarly-36986-typeerror-crash-in-tiptap-bubble-menu-during-ai
vynte-infra/twenty:add-permission-flag-catalog-api
vynte-infra/twenty:sonarly-36985-user-scoped-metadata-broadcast-leaks-favorites
vynte-infra/twenty:sonarly-36844-null-record-node-crashes-notes-relation-picker
vynte-infra/twenty:sonarly-36832-invalid-url-crashes-link-open-action-in-inquiries
vynte-infra/twenty:sonarly-36824-graphql-schema-mismatch-on-billing-plan-fields
vynte-infra/twenty:sonarly-36872-metadata-migration-path-causes-slow-view-group
vynte-infra/twenty:sonarly-36928-exif-metadata-retained-in-uploaded-workspace-logo
vynte-infra/twenty:add-permission-flag-catalog
vynte-infra/twenty:minimal-age-npm-package
vynte-infra/twenty:permission-flag-definition-foundation
vynte-infra/twenty:feat/composite-field-default-sort-subfield
vynte-infra/twenty:sonarly-36680-uploaded-file-ids-not-passed-to-queuemessage
vynte-infra/twenty:sonarly-36643-auth-fails-for-users-with-soft-deleted
vynte-infra/twenty:sonarly-36537-saml-assertion-signature-validation-fails-for
vynte-infra/twenty:sonarly-36554-applicationaccess-tokens-fail-when-app
vynte-infra/twenty:sonarly-36560-marketplace-catalog-sync-never-garbage-collects
vynte-infra/twenty:refactor/ai-chat-stick-to-bottom
vynte-infra/twenty:sonarly-36442-double-scrollbar-in-side-panel-from-nested
vynte-infra/twenty:sonarly-36271-graphql-schema-enforces-fieldfilter-non-null-on
vynte-infra/twenty:sonarly-36199-prototype-pollution-payload-crashes-updatestep
vynte-infra/twenty:sonarly-36245-cursor-jumps-to-end-of-inputtextarea-in-front
vynte-infra/twenty:sonarly-36114-duplicateworkflow-fails-when-source-workflow
vynte-infra/twenty:sonarly-36196-findconnectedaccounts-queries-workspace-schema
vynte-infra/twenty:sonarly-36227-billingportalsession-fails-for-workspaces-with
vynte-infra/twenty:sonarly-36169-createnotetarget-ai-tool-exposed-but-blocked
vynte-infra/twenty:sonarly-36163-workspace-activation-throws-on-fresh-installs-no
vynte-infra/twenty:sonarly-36034-missing-null-check-on-workflowversions-crashes
vynte-infra/twenty:sonarly-36017-postgresql-connection-terminated-during-messaging
vynte-infra/twenty:sonarly-35975-lintdiff-with-main-fails-because-twenty-oxlint
vynte-infra/twenty:sonarly-35881-login-flow-blocked-by-10-second-workspace
vynte-infra/twenty:sonarly-35752-typeorm-relationidloader-bypasses
vynte-infra/twenty:sonarly-35648-select-field-sorting-uses-alphabetical-order
vynte-infra/twenty:sonarly-35773-front-component-form-inputs-require-eventdetail
vynte-infra/twenty:sonarly-35716-oidc-callback-fails-when-state-parameter-is
vynte-infra/twenty:sonarly-35859-missing-image-assets-cause-broken-images-in-user
vynte-infra/twenty:sonarly-35824-postgresql-transaction-aborted-due-to-repository
vynte-infra/twenty:testing-auto-review
vynte-infra/twenty:sonarly-35600-graphql-schema-mismatch-getpagelayoutwidgets
vynte-infra/twenty:sonarly-35610-graphql-mutation-called-with-wrong-name-or
vynte-infra/twenty:sonarly-35598-graphql-query-attempts-to-query-workspacemembers
vynte-infra/twenty:sonarly-35597-graphql-fragment-conflict-in-roles-query-causes
vynte-infra/twenty:inbound-messaging-webhooks
vynte-infra/twenty:logic-function-enqueue-execution
vynte-infra/twenty:messaging-email-instituitional
vynte-infra/twenty:fix-email-verification
vynte-infra/twenty:sonarly-35273-gemini-rejects-refdefs-in-tool-schemas-generated
vynte-infra/twenty:gh-readonly-queue/main/pr-20318-83c40bb8ccfe2d715556f17490e454435b542c6d
vynte-infra/twenty:messaging-instituitional-email
vynte-infra/twenty:sonarly-35155-updateobject-cache-lookup-fails-after-migration
vynte-infra/twenty:sonarly-35135-side-panel-rich-text-content-does-not-scroll-when
vynte-infra/twenty:sonarly-35153-relationtype-null-when-fieldsettings-missing
vynte-infra/twenty:sonarly-35076-fields-widget-configuration-validation
vynte-infra/twenty:sonarly-35053-github-connector-never-tracks-issue-transfer
vynte-infra/twenty:sonarly-34980-percentage-field-throws-cannot-cast-to-number-or
vynte-infra/twenty:sonarly-34965-localstorage-quota-exceeded-during-metadata-store
vynte-infra/twenty:sonarly-34960-framer-motion-layout-animation-throws-typeerror
vynte-infra/twenty:sonarly-34944-missing-null-check-on-connectedaccount-relation
vynte-infra/twenty:sonarly-34930-missing-iss-parameter-in-oauth-authorization
vynte-infra/twenty:rpl-e2e
vynte-infra/twenty:c--deprecate-grid-position-2
vynte-infra/twenty:sonarly-34403-race-condition-viewbarpagetitle-throws-when
vynte-infra/twenty:sonarly-34327-imap-append-uses-folder-leaf-name-instead-of-full
vynte-infra/twenty:fix/soft-deleted-relation-display-20076
vynte-infra/twenty:fix/null-fk-on-soft-delete
vynte-infra/twenty:sonarly-34231-inconsistent-disabledloading-state-styling-across
vynte-infra/twenty:sonarly-34230-form-validation-messages-missing-due-to
vynte-infra/twenty:sonarly-34209-workflow-run-side-panel-crashes-when-flow-state
vynte-infra/twenty:20203-app-manifest-asset-urls-logo-screenshots-are-inconsistently-resolved-across-deploy-paths
vynte-infra/twenty:sonarly-34109-upsertfieldswidget-fails-when-fields-widget-has
vynte-infra/twenty:sonarly-34066-framer-motion-waapi-animation-receives-nan
vynte-infra/twenty:sonarly-33956-marketplace-app-install-fails-viewfiltervalue-not
vynte-infra/twenty:sonarly-33893-dashboard-filter-missing-me-workspace-member
vynte-infra/twenty:sonarly-33889-filter-deduplication-prevents-multiple-filter
vynte-infra/twenty:sonarly-33840-missing-isnot-operand-handler-for-date-filter
vynte-infra/twenty:sonarly-33822-richtext-field-type-crashes-on-keyboard-input-in
vynte-infra/twenty:sonarly-33790-duplicate-key-on-view-creation-when-dashboard
vynte-infra/twenty:sonarly-33779-stale-prosemirror-position-in-settimeout-causes
vynte-infra/twenty:sonarly-33776-blocknote-backspace-at-first-block-crashes-with
vynte-infra/twenty:sonarly-33762-duplicate-key-error-on-createviewfiltergroup-due
vynte-infra/twenty:sonarly-33761-out-of-bounds-array-access-in-field-reorder-drag
vynte-infra/twenty:sonarly-33728-uuid-filter-missing-isnot-operand-support-crashes
vynte-infra/twenty:sonarly-33714-s3-file-deletion-uses-wrong-path-applicationid
vynte-infra/twenty:sonarly-33687-workflow-filter-throws-on-isnotnull-operand-for
vynte-infra/twenty:sonarly-33657-tarball-deployed-app-logos-404-because-manifest
vynte-infra/twenty:sonarly-33619-csv-import-validation-table-renders-blank-due-to
vynte-infra/twenty:sonarly-33600-copy-paste-error-blocklist-delete-handler-listens
vynte-infra/twenty:sonarly-33567-refreshhostname-throws-generic-value-not-defined
vynte-infra/twenty:sonarly-33547-yarn-install-lambda-oom-missing-yarnlock-forces
vynte-infra/twenty:sonarly-33478-phone-unique-constraint-checks-only-number
vynte-infra/twenty:sonarly-33412-billing-subscription-query-timeout-in-workflow
vynte-infra/twenty:sonarly-33395-usecreateonerecord-re-looks-up-custom-object
vynte-infra/twenty:sonarly-33360-hardcoded-signup-trigger-in
vynte-infra/twenty:sonarly-33310-calendar-view-blank-for-date-fields-due-to
vynte-infra/twenty:sonarly-8281-hello-pangeadnd-invariant-crash-when-unrelated
vynte-infra/twenty:sonarly-33231-deleted-custom-object-accommodations-crashes
vynte-infra/twenty:sonarly-33071-google-calendar-403-not-signed-up-error-unhandled
vynte-infra/twenty:sonarly-32938-select-dropdowns-on-ai-settings-page-render-as
vynte-infra/twenty:caldav-legacy-sync-fallback
vynte-infra/twenty:sonarly-5916-unhandled-messageimportdriverexception-crashes
vynte-infra/twenty:sonarly-32662-bar-chart-group-by-parser-fails-to-resolve
vynte-infra/twenty:sonarly-32646-s3-slowdown-503-during-sequential-logic-function
vynte-infra/twenty:sonarly-32619-missing-error-listener-on-node-redis-session
vynte-infra/twenty:release/v2.1.1
vynte-infra/twenty:sonarly-32512-workflow-filter-step-crashes-on-isnotnull-operand
vynte-infra/twenty:sonarly-32509-navigation-folder-children-bypass-canread
vynte-infra/twenty:sonarly-32473-missing-null-check-on-errresponse-in
vynte-infra/twenty:sonarly-32426-cursor-pagination-fails-when-sorting-by-relation
vynte-infra/twenty:sonarly-32412-rest-api-filter-parser-fails-when-mixing-bare
vynte-infra/twenty:sonarly-32310-rest-middleware-throws-generic-500-error-instead
vynte-infra/twenty:sonarly-32182-email-change-verification-email-silently
vynte-infra/twenty:sonarly-32169-graphql-schema-collision-custom-object-named
vynte-infra/twenty:test/eng-bot-pr-trigger
vynte-infra/twenty:sonarly-32080-lambda-layer-build-fails-packagejson-missing-from
vynte-infra/twenty:sonarly-31987-invalidstateerror-on-htmlinputelement-file-input
vynte-infra/twenty:sonarly-31631-navigate-to-next-record-command-throws-when
vynte-infra/twenty:sonarly-31529-relation-field-shows-not-shared-for-soft-deleted
vynte-infra/twenty:sonarly-31472-record-link-references-not-parsed-inside-markdown
vynte-infra/twenty:sonarly-31353-unknown-operand-equalto-for-relation-filter
vynte-infra/twenty:sonarly-31343-setup-dev-envsh-creates-empty-databases-but-skips
vynte-infra/twenty:sonarly-31330-pgisup-health-check-doesnt-distinguish-docker-vs
vynte-infra/twenty:sonarly-30901-rest-api-silently-ignores-cursor-query-param-only
vynte-infra/twenty:sonarly-30901-rest-api-cursor-based-pagination-does-not-advance
vynte-infra/twenty:sonarly-30633-race-condition-workflow-soft-delete-causes
vynte-infra/twenty:charles/stub-sdk-define
vynte-infra/twenty:sonarly-30362-message-direction-field-never-populated-during
vynte-infra/twenty:sonarly-30303-n1-db-queries-in-findmanynavigationmenuitems
vynte-infra/twenty:sonarly-30221-missing-chip-generator-fallback-crashes-ui-for
vynte-infra/twenty:sonarly-30216-openapi-schema-incorrectly-defines-cursor-fields
vynte-infra/twenty:workspace-export-optimize
vynte-infra/twenty:sonarly-30109-settings-page-centering-formula-creates-excessive
vynte-infra/twenty:sonarly-30084-pdf-export-crashes-with-node-type-mention-not
vynte-infra/twenty:feat/exa-seed-pre-install-from-env
vynte-infra/twenty:r--add-hooks-to-context-api
vynte-infra/twenty:claude/issue-19978-20260422-1433
vynte-infra/twenty:sonarly-29833-mintlify-docs-404-on-language-switch-getting
vynte-infra/twenty:sonarly-29800-missing-type-check-on-record-title-field-value
vynte-infra/twenty:FelixMalfait-patch-1
vynte-infra/twenty:sonarly-29664-missing-isbuilduptodate-check-in-workflow-code
vynte-infra/twenty:sonarly-29608-docker-entrypoint-skips-typeorm-migrations-before
vynte-infra/twenty:sonarly-29597-billing-page-crashes-with-rigid-hardcoded
vynte-infra/twenty:sonarly-29560-non-nullable-graphql-field
vynte-infra/twenty:sonarly-29531-widget-type-select-crashes-when-editing-widget-id
vynte-infra/twenty:sonarly-29397-side-panel-workflow-component-throws-when-css
vynte-infra/twenty:fix-send-email-rich-variable
vynte-infra/twenty:website-optimizaitons
vynte-infra/twenty:sonarly-29388-unguarded-jsonparse-in-workflow-email-body
vynte-infra/twenty:sonarly-29356-slow-page-load-on-objectstasks-due-to-metadata
vynte-infra/twenty:sonarly-29316-caldav-catch-all-error-handler-misattributes-all
vynte-infra/twenty:sonarly-29282-graphql-string-serialization-fails-when-manifest
vynte-infra/twenty:sonarly-29143-front-component-iframe-sandbox-overrides-user
vynte-infra/twenty:ai-fast-follows-16
vynte-infra/twenty:sonarly-29071-typeerror-cant-access-property-position
vynte-infra/twenty:sonarly-29068-poor-lcp-2614ms-on-welcome-sign-in-page-due-to
vynte-infra/twenty:hotfix-v1.22.6
vynte-infra/twenty:sonarly-28983-mobilebreadcrumb-crashes-on-single-element-links
vynte-infra/twenty:sonarly-28939-gmail-body-parser-only-handles-2-mime-structures
vynte-infra/twenty:fix/skip-aggregate-query-when-unauthenticated
vynte-infra/twenty:sonarly-28851-upsertfieldswidget-fails-with-fields-widget-not
vynte-infra/twenty:sonarly-28820-mcp-tool-execution-crashes-on-undefined-args-due
vynte-infra/twenty:sonarly-28801-sso-login-blocked-after-enterprise-billing
vynte-infra/twenty:sonarly-28781-releases-page-missing-mdx-content-for-versions
vynte-infra/twenty:sonarly-28633-race-condition-in-shared-sdk-lambda-layer
vynte-infra/twenty:sonarly-28296-viewfield-not-found-on-welcome-page-during
vynte-infra/twenty:sonarly-28291-reconnect-flow-crashes-for-non-standard-connected
vynte-infra/twenty:sonarly-28282-poor-lcpfcp-on-welcome-page-due-to-base64-noise
vynte-infra/twenty:worflow-agent-turn
vynte-infra/twenty:sonarly-28252-thread-not-found-in-ai-chat-uses-wrong-exception
vynte-infra/twenty:sonarly-28236-missing-cross-app-role-ownership-check-in
vynte-infra/twenty:hotfix/1.22.5
vynte-infra/twenty:sonarly-27354-billing-plan-selection-silently-lost-after-oauth
vynte-infra/twenty:fix-app-design-2
vynte-infra/twenty:sonarly-27228-autocomplete-errors-surface-as-address-save
vynte-infra/twenty:rpl-integration-tests
vynte-infra/twenty:sonarly-27119-chrome-tab-oom-crash-caused-by-unbounded-jotai
vynte-infra/twenty:registry-dead-code
vynte-infra/twenty:c--table-display-mode-for-relation-field-widget
vynte-infra/twenty:r--do-not-display-top-items-as-disabled-in-command-menu-item-edition
vynte-infra/twenty:sonarly-27027-getapikey-query-fails-when-api-key-lacks
vynte-infra/twenty:sonarly-26908-microsoft-email-folder-filters-ignored-during-sync
vynte-infra/twenty:sonarly-26891-logic-function-filenotfound-missing-packagejson
vynte-infra/twenty:sonarly-26872-unique-field-validation-prevents-creating
vynte-infra/twenty:sonarly-26866-pastnext-relative-date-filters-use-rolling
vynte-infra/twenty:claude/fix-ci-pipeline-6lFYR
vynte-infra/twenty:sonarly-26819-importcsv-and-exportcsv-permission-flags-not
vynte-infra/twenty:claude/fix-admin-forbidden-error-5l6q8
vynte-infra/twenty:claude/setup-twenty-mcp-y9mDG
vynte-infra/twenty:sonarly-26767-seeversionworkflowrunsinglerecordcommand-throws
vynte-infra/twenty:sonarly-26728-lambda-invocation-fails-with-409-when-function-is
vynte-infra/twenty:sonarly-26718-rangeerror-position-1-outside-of-fragment-tiptap
vynte-infra/twenty:fix/settings-custom-tab-layout-context
vynte-infra/twenty:sonarly-26650-decrypttext-crashes-on-unencrypted-application
vynte-infra/twenty:sonarly-26579-missing-userworkspaceentity-cache-invalidation-on
vynte-infra/twenty:sonarly-26553-google-oauth-callback-404-due-to-wrong
vynte-infra/twenty:sonarly-26526-userworkspace-hard-deleted-before-async-connected
vynte-infra/twenty:include-activity-target-relations-rpl
vynte-infra/twenty:calendar-recurring-event
vynte-infra/twenty:sonarly-8519-monaco-editor-cdn-worker-fails-to-load-in-regions
vynte-infra/twenty:sonarly-25260-snackbar-error-notifications-auto-dismiss-after
vynte-infra/twenty:fix/18860-address-autocomplete-street-format
vynte-infra/twenty:fix/ai-chat-credits-exhausted-error-handling
vynte-infra/twenty:sonarly-25196-emailcalendar-tabs-crash-on-non-standard-objects
vynte-infra/twenty:sonarly-25146-fk-constraint-blocks-file-deletion-during
vynte-infra/twenty:sonarly-25062-missing-save-button-causes-unreliable-auto-save
vynte-infra/twenty:sonarly-24634-relative-date-filter-json-format-mismatch-causes
vynte-infra/twenty:sonarly-24631-isrecordmatchingfilter-throws-on-custom-field-not
vynte-infra/twenty:update-cli-version-of-fixture-apps
vynte-infra/twenty:fix/1-17-upgrade-missing-built-function
vynte-infra/twenty:cb-merge-record-fixes
vynte-infra/twenty:fix/sidebar-nav-active-on-record-show
vynte-infra/twenty:sonarly-24466-relative-date-display-off-by-one-day-for
vynte-infra/twenty:c--fix-duplicate-tab-widget
vynte-infra/twenty:sonarly-24449-blocknote-047x-throws-block-doesnt-have-id-when
vynte-infra/twenty:sonarly-24354-copydependenciesinmemory-unconditionally
vynte-infra/twenty:claude/security-review-pr-19597-AcR1G
vynte-infra/twenty:messaging-throttle-refactor
vynte-infra/twenty:claude/fix-ci-pipeline-R7nz4
vynte-infra/twenty:sonarly-24307-user-can-use-more-credits-than-assigned-limit
vynte-infra/twenty:claude/developer-productivity-analysis-ghdbt
vynte-infra/twenty:sonarly-24277-unhandled-permissiondenied-in-metadata-loading
vynte-infra/twenty:halftone-v2
vynte-infra/twenty:sonarly-23837-blocknote-image-upload-panel-clipped-by-side
vynte-infra/twenty:claude/app-key-rotation-iwiq3
vynte-infra/twenty:sonarly-23736-lambda-executor-oom-kill-missing-memorysize
vynte-infra/twenty:sonarly-23699-view-save-lacks-optimistic-local-state-update
vynte-infra/twenty:claude/fix-ci-pipeline-EP0fI
vynte-infra/twenty:sonarly-23635-system-object-permission-bypass-allows-members-to
vynte-infra/twenty:claude/add-primary-email-utility-PSSBG
vynte-infra/twenty:mcp-streamable-http-405
vynte-infra/twenty:sonarly-23566-missing-null-check-on-tool-output-after-backend
vynte-infra/twenty:claude/fix-skill-loading-UuoFZ
vynte-infra/twenty:claude/review-pr-19487-1apcT
vynte-infra/twenty:latest-version
vynte-infra/twenty:sonarly-23416-merge-command-available-in-exclusion-mode-but
vynte-infra/twenty:sonarly-23367-imap-sync-broken-after-entity-migration-to-core
vynte-infra/twenty:sonarly-23331-n1-query-pattern-in-message-visibility-check
vynte-infra/twenty:main-tVFei
vynte-infra/twenty:fix/workspace-export-indirect-fk-chains
vynte-infra/twenty:workspace-export-followup
vynte-infra/twenty:derivate-workspace-and-instance-version-from-upgrade-migrations
vynte-infra/twenty:chore/revert-ci-to-docker-image
vynte-infra/twenty:fix/i18n-metadata-descriptor-registry
vynte-infra/twenty:sonarly-22703-n1-query-pattern-in-calendar-event-visibility
vynte-infra/twenty:sonarly-22697-missing-lingui-catalog-compilation-in-docker
vynte-infra/twenty:sonarly-22695-ai-model-registry-not-refreshed-when-api-keys-set
vynte-infra/twenty:sonarly-22577-caldav-discovery-duplicated-n1-folder-inserts
vynte-infra/twenty:sonarly-5904-null-recordfield-during-table-column-resize-on
vynte-infra/twenty:sonarly-22439-missing-chip-generator-for-custom-objects-crashes
vynte-infra/twenty:c--reset-page-layout-tab
vynte-infra/twenty:ai-fast-follows-14
vynte-infra/twenty:sonarly-22312-relative-date-filter-parser-rejects-thisquarter
vynte-infra/twenty:sonarly-22241-api-keys-assigned-role-not-found-in-database
vynte-infra/twenty:sonarly-22233-formdatetimefieldinput-crashes-on-relative-date
vynte-infra/twenty:sonarly-22151-frontend-selector-uses-find-returning-only-first
vynte-infra/twenty:sonarly-22130-uninstalling-apps-doesnt-work-in-aws-context
vynte-infra/twenty:sonarly-22122-marketplace-app-install-fails-twentyhqapp-data
vynte-infra/twenty:sonarly-22112-handlealiasesmap-crashes-when-field-is-string-not
vynte-infra/twenty:slow-core-migration-command
vynte-infra/twenty:sonarly-22045-slow-objectsproducts-pageload-6s-due-to-large
vynte-infra/twenty:fix/readonly-date-editable
vynte-infra/twenty:sonarly-21774-ai-chat-fails-with-no-output-generated-when
vynte-infra/twenty:fix/remove-draft-email-feature-flag
vynte-infra/twenty:sonarly-21620-formdatefieldinput-readonly-bypassed-via-keyboard
vynte-infra/twenty:sonarly-21568-merge-preview-empty-after-switch-to
vynte-infra/twenty:sonarly-21546-delete-command-unavailable-in-select-all-mode-due
vynte-infra/twenty:canary-verison-120
vynte-infra/twenty:sonarly-21521-temporalinstantfrom-crashes-on-non-iso-date
vynte-infra/twenty:sonarly-21353-slow-welcome-page-83s-lcp-from-excessive-lazy
vynte-infra/twenty:sonarly-21336-missing-loading-state-and-error-handling-on-api
vynte-infra/twenty:sonarly-21284-email-thread-rows-appear-clickable-but-silently
vynte-infra/twenty:claude/review-pr-19246-wmwU2
vynte-infra/twenty:avoid-generating-client-on-workspac-ecreation
vynte-infra/twenty:sonarly-21239-caldav-icloud-sync-fails-due-to-tsdav-v215-bug-in
vynte-infra/twenty:sonarly-21236-typeerror-esplit-is-not-a-function-in
vynte-infra/twenty:feat/ai-add-skills-for-view-v2
vynte-infra/twenty:typeorm-in-version-bundle
vynte-infra/twenty:feat/ai-add-skills-for-view
vynte-infra/twenty:sonarly-21196-transient-502-from-cloudflare-proxy-causes
vynte-infra/twenty:sonarly-21188-missing-userworkspace-record-for-existing
vynte-infra/twenty:rpl-front-components
vynte-infra/twenty:sonarly-21148-sse-event-with-custom-field-crashes-frontend
vynte-infra/twenty:sonarly-21144-slow-checkout-session-due-to-circular-self-join
vynte-infra/twenty:claude/address-pr-comments-fej0O
vynte-infra/twenty:sonarly-21060-csv-export-missing-utf-8-bom-causes-garbled
vynte-infra/twenty:sonarly-20984-roleentity-permission-check-query-blocks-rest
vynte-infra/twenty:sonarly-20769-missing-workspacemigrationgraphqlapiexceptioninter
vynte-infra/twenty:sonarly-20520-insert-operations-blocked-by-field-level-update
vynte-infra/twenty:claude/address-pr-comments-RvqPL
vynte-infra/twenty:design-docs-prastoin
vynte-infra/twenty:claude/review-pr-19203-uciuR
vynte-infra/twenty:tt-fix-workflow-dates
vynte-infra/twenty:feat/agent-chat-message-queue
vynte-infra/twenty:claude/fix-duplicate-rimraf-vRMYw
vynte-infra/twenty:r--update-default-home-page-to-be-first-navigation-menu-item
vynte-infra/twenty:sonarly-20167-slow-getcurrentuser-query-due-to-missing-index-on
vynte-infra/twenty:sonarly-20169-custom-object-notetask-relations-use-wrong-labels
vynte-infra/twenty:fix/auth-token-flow-improvements
vynte-infra/twenty:r--fix-navigation-drawer-animation
vynte-infra/twenty:fix/normalize-deprecated-timezone-names
vynte-infra/twenty:r--fix-cursor-on-settings-table
vynte-infra/twenty:sonarly-19891-side-panel-crash-from-unguarded-ontransitionend
vynte-infra/twenty:sonarly-19882-transactionnotstartederror-rollback-attempted-on
vynte-infra/twenty:sonarly-19881-side-panel-same-record-guard-blocks-reopen-after
vynte-infra/twenty:sonarly-19873-s3-expiredtoken-when-reading-built-logic-function
vynte-infra/twenty:sonarly-19870-orphaned-relation-field-references-non-existent
vynte-infra/twenty:sonarly-19866-deep-equal-library-crashes-with-iterator-must-be
vynte-infra/twenty:sonarly-19854-workflow-action-buttons-excluded-during-select
vynte-infra/twenty:sonarly-19834-gmail-batch-size-of-400-exceeds-google-api
vynte-infra/twenty:sonarly-19761-graphql-enum-mismatch-richtextv2-db-value
vynte-infra/twenty:sonarly-19636-unhandled-redis-connection-timeout-crashes-server
vynte-infra/twenty:sonarly-5006-nan-in-float-column-crashes-graphqlfloat
vynte-infra/twenty:sonarly-4857-workspacelogouploader-throws-when-used-during
vynte-infra/twenty:sonarly-19618-crontriggercronjob-fails-due-to-missing-per
vynte-infra/twenty:sonarly-19549-postgresql-connection-terminated-during
vynte-infra/twenty:sonarly-6704-multiselect-field-throws-on-click-outside-when
vynte-infra/twenty:sonarly-19536-postgresql-connection-pool-exhaustion-during
vynte-infra/twenty:gh-readonly-queue/main/pr-19106-994180c72eacc16fa9f9cb3d336edd23e190a521
vynte-infra/twenty:refactor-lambda-driver-concurrent-execution
vynte-infra/twenty:sonarly-19460-rage-clicks-on-email-sync-onboarding-page-due-to
vynte-infra/twenty:sonarly-19372-auth-guard-mismatch-userauthguard-permits
vynte-infra/twenty:sonarly-19257-neq-filter-uses-or-instead-of-and-for-null
vynte-infra/twenty:sonarly-19253-lambda-function-deleted-by-concurrent-workflow
vynte-infra/twenty:sonarly-19252-aws-lambda-rate-limit-429-during-concurrent-logic
vynte-infra/twenty:sonarly-6010-richtext-field-type-missing-from
vynte-infra/twenty:sonarly-19173-select-minposition-full-table-scan-causes-2s
vynte-infra/twenty:sonarly-19162-non-latin-targetfieldlabel-in-relation-creation
vynte-infra/twenty:sonarly-4546-typeerror-invalid-url-when-origin-variable-lacks
vynte-infra/twenty:sonarly-19112-missing-null-check-on-field-metadata-lookup
vynte-infra/twenty:feat/changed-hover-portal-borders-behavio
vynte-infra/twenty:sonarly-19081-microsoft-calendar-import-misclassifies-network
vynte-infra/twenty:fix/ai-chat-thread-switching
vynte-infra/twenty:tt-handle-morph-relations-in-search-record-step
vynte-infra/twenty:sonarly-19055-poor-lcp-on-welcome-due-to-base64-noise-texture
vynte-infra/twenty:sonarly-19054-empty-string-parentfolderid-fails-uuid-cast
vynte-infra/twenty:fix/backfill-command-menu-item-availability-object-metadata-id
vynte-infra/twenty:sonarly-19030-missing-built-file-crashes
vynte-infra/twenty:sonarly-19032-vulnerable-nodemailer-version-susceptible-to-smtp
vynte-infra/twenty:sonarly-19024-kanban-board-drag-invariant-fails-when-dragging
vynte-infra/twenty:sonarly-19011-missing-position-column-on-workspacemember-table
vynte-infra/twenty:sonarly-18992-sse-optimistic-update-throws-on-custom-fields
vynte-infra/twenty:sonarly-18991-sse-optimistic-update-throws-on-custom-fields
vynte-infra/twenty:feat/state-management-garbage-collector
vynte-infra/twenty:sonarly-18955-stripe-webhook-race-condition-on-payment-success
vynte-infra/twenty:sonarly-18934-missing-sdk-client-archive-blocks-workflow-code
vynte-infra/twenty:fix-viewgroup-race-condition
vynte-infra/twenty:sonarly-18901-custom-object-metadata-not-yet-populated-in-store
vynte-infra/twenty:sonarly-18870-deactivated-relation-fields-not-enforced-in-page
vynte-infra/twenty:sonarly-18767-queryrunneralreadyreleasederror-during-imap
vynte-infra/twenty:tt-fix-view-access-denied
vynte-infra/twenty:sonarly-18717-temporalplaindatefrom-crashes-on-full-iso
vynte-infra/twenty:sonarly-18698-uncaught-throw-in
vynte-infra/twenty:sonarly-18670-inactive-stripe-prices-passed-to-checkout-session
vynte-infra/twenty:sonarly-18660-select-filter-crashes-on-non-json-array-value
vynte-infra/twenty:sonarly-18628-agent-name-collision-when-creating-multiple
vynte-infra/twenty:sonarly-18603-deleted-custom-object-batches-crashes
vynte-infra/twenty:sonarly-18601-record-table-widget-headerbody-column-mismatch
vynte-infra/twenty:sonarly-18537-uncaught-throw-when-relation-field-references-a
vynte-infra/twenty:sonarly-6956-missing-viewcomponentinstancecontext-when
vynte-infra/twenty:sonarly-18511-null-guard-missing-on-pagename-in
vynte-infra/twenty:sonarly-18350-applydiff-crashes-on-already-updated-cache-when
vynte-infra/twenty:sonarly-18288-api-key-save-button-enabled-with-empty-name-due
vynte-infra/twenty:app-uninstall-cleanup
vynte-infra/twenty:sonarly-18203-multiitemfieldinput-click-outside-handler-deletes
vynte-infra/twenty:sonarly-18157-isrecordmatchingfilter-throws-when-cached-query
vynte-infra/twenty:sonarly-18011-object-deletion-fails-when-workspace-table-is
vynte-infra/twenty:sonarly-17951-missing-deletedat-column-on
vynte-infra/twenty:sonarly-17943-typeerror-crash-when-sorting-relations-table-by
vynte-infra/twenty:sonarly-17827-graphql-enum-mismatch-richtextv2-db-value-not
vynte-infra/twenty:sonarly-17823-rich-text-widget-not-editable-editing-widget-id
vynte-infra/twenty:chore/trigger-visual-regression-test-2
vynte-infra/twenty:move-to-folder-chevron-navigation
vynte-infra/twenty:sonarly-17669-slow-verify-page-load-lcp-3201ms-due-to-excessive
vynte-infra/twenty:sonarly-17668-missing-workspace-context-when-updating
vynte-infra/twenty:sonarly-17644-sse-optimistic-update-throws-on-custom-fields-not
vynte-infra/twenty:sonarly-17562-concurrent-viewgroup-mutations-cause-race
vynte-infra/twenty:fix/remove-stale-groq-from-lockfile
vynte-infra/twenty:sonarly-17529-server-startup-blocked-by-long-running-upgrade
vynte-infra/twenty:sonarly-17527-address-autocomplete-puts-full-place-text-into
vynte-infra/twenty:sonarly-17525-blocknote-delete-key-crash-at-end-of-last-block
vynte-infra/twenty:sonarly-17506-stale-record-group-state-causes-crash-during
vynte-infra/twenty:sonarly-9855-sso-entitlement-check-blocks-workspace-without
vynte-infra/twenty:sonarly-17448-missing-relation-field-lookup-crashes-company
vynte-infra/twenty:chore/remove-morph-migration-feature-flags
vynte-infra/twenty:fix-main-deploy-v2
vynte-infra/twenty:fix-main-deploy
vynte-infra/twenty:page-layout-refactor
vynte-infra/twenty:sonarly-17391-missing-null-check-on-fieldmetadataitem-lookup
vynte-infra/twenty:sonarly-17390-kanban-drag-and-drop-placeholder-outside-innerref
vynte-infra/twenty:sonarly-17389-race-condition-table-selection-effect-overwrites
vynte-infra/twenty:sonarly-17361-rage-click-on-person-record-page-on-mobile-safari
vynte-infra/twenty:sonarly-6076-workflowversion-findone-returns-null-for-soft
vynte-infra/twenty:helm-improvements
vynte-infra/twenty:sonarly-17321-object-rename-form-reset-clears-dirty-tracking
vynte-infra/twenty:sonarly-17298-logo-upload-during-workspace-setup-fails-because
vynte-infra/twenty:sonarly-17241-recorddetails-pom-locators-declared-but-never
vynte-infra/twenty:sonarly-17183-table-virtualization-triggers-data-fetch-too-late
vynte-infra/twenty:sonarly-7148-google-recaptcha-rejects-custom-subdomain-as
vynte-infra/twenty:sonarly-17092-unhandled-throw-in
vynte-infra/twenty:sonarly-3959-n1-query-pattern-in-getroles
vynte-infra/twenty:sonarly-17030-apollo-v4-upgrade-breaks-record-creation-cache
vynte-infra/twenty:sonarly-17028-relation-fields-to-inactive-custom-objects-crash
vynte-infra/twenty:issue-17117
vynte-infra/twenty:fix/preserve-encoded-link-urls
vynte-infra/twenty:tt-improve-logic-function-errors
vynte-infra/twenty:sonarly-16799-localstorage-quota-exceeded-when-persisting-all
vynte-infra/twenty:sonarly-16711-null-defaultroleid-on-application-entity-causes
vynte-infra/twenty:sonarly-16702-side-panel-page-layout-settings-crash-when-no
vynte-infra/twenty:sonarly-16678-missing-index-on
vynte-infra/twenty:sonarly-16638-stale-cached-frontend-js-sends-deprecated-graphql
vynte-infra/twenty:fix/ai-chat-file-remove-clean
vynte-infra/twenty:sonarly-16570-race-condition-in-google-oauth-sign-up-causes
vynte-infra/twenty:sonarly-16534-transformenumvalue-crashes-when-options-field
vynte-infra/twenty:sonarly-16514-settingscounter-throws-unhandled-error-on-non
vynte-infra/twenty:sonarly-16338-entitynotfounderror-in
vynte-infra/twenty:sonarly-16277-navigation-menu-items-silently-filtered-when-type
vynte-infra/twenty:tt-fix-infinite-loop-for-invalid-steams
vynte-infra/twenty:sonarly-16162-stale-chunk-auto-reload-only-works-on-chrome-not
vynte-infra/twenty:sonarly-16137-race-condition-in-lambda-function-creation-causes
vynte-infra/twenty:sonarly-16131-expired-aws-sts-credentials-in-lambda-driver
vynte-infra/twenty:sonarly-16080-sse-events-crash-when-metadata-fields-not-yet
vynte-infra/twenty:sonarly-15987-invalid-query-input-empty-array-in-idin-filter
vynte-infra/twenty:sonarly-16043-findrecords-silently-drops-filter-conditions-when
vynte-infra/twenty:20for20
vynte-infra/twenty:sonarly-15988-n1-applicationentity-queries-during-custom-object
vynte-infra/twenty:sonarly-15967-poor-lcpfcp-web-vitals-on-pageload-due-to
vynte-infra/twenty:sonarly-15966-null-type-column-in-navigationmenuitem-breaks
vynte-infra/twenty:fix/auth-sse-token-renewal-v2
vynte-infra/twenty:claude/improve-issue-management-iMopx
vynte-infra/twenty:sonarly-15886-relation-to-many-chips-hidden-without-n-count
vynte-infra/twenty:sonarly-15848-logic-function-disableddriver-used-in-worker-due
vynte-infra/twenty:sonarly-7468-race-condition-in-feature-flag-upsert-causes
vynte-infra/twenty:sonarly-15804-timeline-activity-logs-show-only-after-value-by
vynte-infra/twenty:sonarly-15790-missing-null-guard-on-metadata-query-response
vynte-infra/twenty:claude/fix-ci-pr-18592-iflIA
vynte-infra/twenty:sonarly-15703-payment-success-page-throws-unrecoverable-error
vynte-infra/twenty:sonarly-15618-getuserworkspaceforuserorthrow-throws-plain-error
vynte-infra/twenty:sonarly-15564-url-encoded-characters-incorrectly-decoded-in
vynte-infra/twenty:sonarly-15498-destroysinglerecordcommand-crashes-when-server
vynte-infra/twenty:sonarly-15476-cache-invalidation-fails-on-view-mutations-due-to
vynte-infra/twenty:sonarly-15460-unhandled-entitynotfounderror-in-avatar-file
vynte-infra/twenty:sonarly-15453-orphaned-viewfield-causes-cache-recomputation
vynte-infra/twenty:sonarly-15455-missing-db-column-targetquoteid-on
vynte-infra/twenty:a-bit-of-cleaning
vynte-infra/twenty:sonarly-15383-2fa-ui-broken-by-css-property-reordering-and
vynte-infra/twenty:fix/custom-object-nav-item-color-and-icon
vynte-infra/twenty:sonarly-3877-n1-token-revocation-571-individual-update-queries
vynte-infra/twenty:sonarly-15272-apollo-cache-conflict-between-findmany-and
vynte-infra/twenty:sonarly-15203-missing-arrayisarray-guard-on-targets-in
vynte-infra/twenty:sonarly-8521-microsoft-404-on-memailfolders-misclassified-as
vynte-infra/twenty:sonarly-15175-temporalplaindatefrom-crashes-when-given-full-iso
vynte-infra/twenty:sonarly-15168-missing-morph-relation-field-for-custom-object-on
vynte-infra/twenty:fix/mcp-tools-list-response-shape
vynte-infra/twenty:sonarly-7596-navigate-commands-throw-when-rendered-on-index
vynte-infra/twenty:sonarly-14908-null-messageid-accepted-in
vynte-infra/twenty:sonarly-14771-standard-object-rename-ignored-when-ui-language
vynte-infra/twenty:sonarly-14764-file-typepdf-sax-parser-throws-unhandled-unclosed
vynte-infra/twenty:sonarly-14749-windowopen-crashes-with-invalid-url-when-links
vynte-infra/twenty:sonarly-14733-unnecessary-full-table-scan-in-aggregatecompanies
vynte-infra/twenty:sonarly-14714-s3-presigned-url-403-forbidden-when-yarn-install
vynte-infra/twenty:sonarly-4349-fk-violation-on-billingsubscriptionitem-due-to
vynte-infra/twenty:sonarly-14660-richtextv2-field-type-unhandled-in
vynte-infra/twenty:sonarly-14644-invalid-timezone-etcunknown-in-workspace-member
vynte-infra/twenty:sonarly-14499-blocknote-0311-enter-key-crashes-when-splitting
vynte-infra/twenty:sonarly-14490-missing-messagechannel-entity-metadata-during
vynte-infra/twenty:sonarly-14482-reply-button-throws-unhandled-error-for-imapsmtp
vynte-infra/twenty:sonarly-4574-google-recaptcha-verification-timeout-during
vynte-infra/twenty:claude/fix-frontend-tests-xYHaE
vynte-infra/twenty:fix/record-create-required-fields-placeholders
vynte-infra/twenty:sonarly-14356-unhandled-pendingactivationuser-auth-context-type
vynte-infra/twenty:claude/apollo-client-v3-to-v4-puCGa
vynte-infra/twenty:sonarly-14352-sse-optimistic-update-crashes-on-custom-fields
vynte-infra/twenty:claude/address-pr-18584-comments-IRTUq
vynte-infra/twenty:sonarly-3881-missing-object-metadata-for-new
vynte-infra/twenty:r--remove-standard-front-components
vynte-infra/twenty:sonarly-14051-updateworkflowversionstep-returns-client-input
vynte-infra/twenty:sonarly-14017-hardcoded-join-column-name-derivation-breaks-for
vynte-infra/twenty:sonarly-13837-intermittent-network-failures-on-self-hosted
vynte-infra/twenty:claude/improve-seeding-strategy-u6k0k
vynte-infra/twenty:sonarly-6393-postgresql-enum-mismatch-chart-filter-value
vynte-infra/twenty:sonarly-13694-null-filter-value-in-not-clause-crashes-graphql
vynte-infra/twenty:object-permission-syncable-entity-migration
vynte-infra/twenty:sonarly-5512-filter-dropdown-crashes-when-currentview-is
vynte-infra/twenty:sonarly-13613-missing-null-check-on-workflow-step-settings
vynte-infra/twenty:sonarly-13611-google-recaptcha-fails-for-users-in-china-due-to
vynte-infra/twenty:sonarly-13598-missing-null-check-on-actionsettingsoutputschema
vynte-infra/twenty:feat/seed-apps-for-dev-workspaces
vynte-infra/twenty:sonarly-4153-cache-miss-when-attaching-record-in-one-to-many
vynte-infra/twenty:sonarly-6236-redis-lock-contention-on
vynte-infra/twenty:c--RLS-relation-predicates
vynte-infra/twenty:sonarly-9509-renewed-workspace-agnostic-refresh-tokens-become
vynte-infra/twenty:fields-widget-edition-cross-button
vynte-infra/twenty:remove-database-migrate-prod-command
vynte-infra/twenty:sonarly-12715-text-filter-throws-on-is-operand-from
vynte-infra/twenty:cursor/npm-claim-verification-448c
vynte-infra/twenty:client-fallback-stub
vynte-infra/twenty:sonarly-12283-slow-post-metadata-getcurrentuser-due-to
vynte-infra/twenty:sonarly-4404-workflow-error-handler-fails-when-workflow-run
vynte-infra/twenty:cursor/billing-events-user-budget-5c37
vynte-infra/twenty:sonarly-11530-isrecordmatchingfilter-throws-on-stale-filter
vynte-infra/twenty:sonarly-3794-usegetviewgroupsfilters-throws-when-view-has
vynte-infra/twenty:sonarly-11500-view-with-hidden-groups-crashes-when
vynte-infra/twenty:sonarly-4123-esbuild-target-es2017-blocks-top-level-await-in
vynte-infra/twenty:sonarly-8007-relation-filter-key-farmid-fails-reverse-lookup
vynte-infra/twenty:sonarly-6393-date-filter-passes-string-null-to-sql-instead-of
vynte-infra/twenty:sonarly-6202-microsoft-400-delta-sync-errors-misclassified-as
vynte-infra/twenty:sonarly-11005-logic-function-creation-crashes-on-unvalidated
vynte-infra/twenty:sonarly-5651-updateworkspace-fails-when-removing-auto-detected
vynte-infra/twenty:sonarly-5372-gmail-precondition-check-failed-error-not
vynte-infra/twenty:sonarly-3806-fk-violation-during-calendar-event-association
vynte-infra/twenty:sonarly-5150-race-condition-debounced-save-fires-while
vynte-infra/twenty:sonarly-3797-staled-workflow-runs-handler-lacks-batching-fails
vynte-infra/twenty:sonarly-3162-orphaned-view-sorts-crash-people-page-after-field
vynte-infra/twenty:sonarly-3098-pdf-upload-rejected-file-type-v16-fails-detection
vynte-infra/twenty:sonarly-5361-dashboard-editsave-buttons-shown-to-users-who
vynte-infra/twenty:sonarly-5161-race-condition-between-cache-invalidation-of-flat
vynte-infra/twenty:sonarly-4334-duplicate-checkout-submission-throws-error
vynte-infra/twenty:sonarly-5446-workflow-destroy-fails-when-logic-function
vynte-infra/twenty:sonarly-4069-non-idempotent-activateworkspace-mutation-fails
vynte-infra/twenty:tt-enable-update-when-record-not-in-cache
vynte-infra/twenty:required-new-field-default-configuration
vynte-infra/twenty:sonarly-4058-empty-optimistic-flat-entity-maps-cause-view
vynte-infra/twenty:sonarly-4106-sendinvitations-crashes-when-workspace-member
vynte-infra/twenty:sonarly-10350-google-oauth-sign-up-fails-when-profile-picture
vynte-infra/twenty:sonarly-3085-sse-mutations-sent-to-wrong-graphql-endpoint-in
vynte-infra/twenty:sonarly-5658-dashboard-duplicate-action-sends-mutation-to
vynte-infra/twenty:sonarly-2690-phone-field-crashes-on-enter-parsephonenumber
vynte-infra/twenty:sonarly-7305-board-view-hidden-field-dropdown-shows-fields-not
vynte-infra/twenty:sonarly-7338-unchecked-findindex-1-in-board-field-visibility
vynte-infra/twenty:sonarly-4345-missing-date-validation-in-formdatefieldinput
vynte-infra/twenty:sonarly-3840-null-bytes-in-rest-api-input-cause-postgresql
vynte-infra/twenty:sonarly-10239-delete-record-crashes-when-cached-onetomany
vynte-infra/twenty:sonarly-4115-updateworkflowversionstep-returns-unvalidated
vynte-infra/twenty:sonarly-3892-missing-exception-filter-causes-expected
vynte-infra/twenty:sonarly-3850-board-drag-drop-fails-when-record-exists-in-store
vynte-infra/twenty:tt-fix-show-page-layout
vynte-infra/twenty:sonarly-3956-unauthenticated-graphql-requests-hit-empty-schema
vynte-infra/twenty:sonarly-3782-slow-welcome-page-68mb-monolithic-js-bundle
vynte-infra/twenty:sonarly-3801-slow-post-metadata-select-distinct-on
vynte-infra/twenty:navbar-dnd-bug-fixes
vynte-infra/twenty:sonarly-10039-view-field-update-triggers-excessive-cache
vynte-infra/twenty:001-simplify-table-zindex-clean
vynte-infra/twenty:001-simplify-table-zindex
vynte-infra/twenty:sonarly-4056-morph-relation-persist-uses-wrong-fk-naming
vynte-infra/twenty:sonarly-9931-address-field-persist-fails-zod-schema-expects
vynte-infra/twenty:sonarly-2690-phone-field-input-throws-unhandled-invalidcountry
vynte-infra/twenty:sonarly-9837-stale-cached-frontend-bundle-accesses-renamed
vynte-infra/twenty:sonarly-9838-missing-null-safe-access-on-token-pair-property
vynte-infra/twenty:sonarly-4106-sendinvitations-fails-with-entitynotfounderror
vynte-infra/twenty:cursor/cloud-agent-1772705952201-xjawy
vynte-infra/twenty:sonarly-3877-n1-update-queries-in-refresh-token-suspicious
vynte-infra/twenty:sonarly-3773-uncached-workspace-entity-db-lookup-causes-27s
vynte-infra/twenty:sonarly-3795-custom-object-creation-triggers-unnecessary
vynte-infra/twenty:charles-fb-6
vynte-infra/twenty:sonarly-6662-refreshhostname-throws-generic-value-not-defined
vynte-infra/twenty:sonarly-6393-missing-table-alias-in-order-by-for-date-fields
vynte-infra/twenty:feat/app-distribution-npm-tarball-v2
vynte-infra/twenty:copilot/sub-pr-18391-again
vynte-infra/twenty:copilot/sub-pr-18391
vynte-infra/twenty:sonarly-5117-percentage-field-crashes-on-click-outside-due-to
vynte-infra/twenty:sonarly-3775-slow-post-metadata-viewentity-query-with-6-left
vynte-infra/twenty:sonarly-3777-relaunch-job-doesnt-reset-throttlefailurecount
vynte-infra/twenty:sonarly-3783-unnecessary-rolepermissions-cache-invalidation-on
vynte-infra/twenty:sonarly-3801-slow-metadata-query-select-distinct-on-wide
vynte-infra/twenty:sonarly-9551-custom-object-agent-creation-fails-due-to-pre
vynte-infra/twenty:sonarly-3797-unbounded-staled-workflow-runs-query-exceeds-200
vynte-infra/twenty:sonarly-3776-getcurrentuser-query-causes-36s-response-due-to
vynte-infra/twenty:charles-fb-4
vynte-infra/twenty:sonarly-3104-crontriggercronjob-missing-try-catch-causes-full
vynte-infra/twenty:sonarly-5512-filter-dropdown-throws-instead-of-handling
vynte-infra/twenty:sonarly-8672-applydiff-crashes-when-cached-workflowversion
vynte-infra/twenty:sonarly-4115-updateworkflowversionstep-returns-client-input
vynte-infra/twenty:sonarly-5150-debounced-workflow-step-update-throws-during-auth
vynte-infra/twenty:sonarly-3840-delete-person-fails-with-misleading-data
vynte-infra/twenty:sonarly-8579-field-creation-fails-with-unhandled-duplicate-key
vynte-infra/twenty:sonarly-8281-nested-dragdropcontexts-cause-invariant-crash
vynte-infra/twenty:sonarly-3344-viewfield-delete-fails-runner-loads-stale-cache
vynte-infra/twenty:sonarly-8335-currency-filter-crashes-on-undefined-record-field
vynte-infra/twenty:sonarly-8513-uninitialized-per-instance-dropdown-state-when
vynte-infra/twenty:sonarly-5485-consolelistenerrelease-accumulates-wrapper-chain
vynte-infra/twenty:sonarly-8521-microsoft-404-on-folder-delta-endpoint
vynte-infra/twenty:fix/nav-menu-item-icon-colors
vynte-infra/twenty:c--migrate-workspace-member-to-user-workspace
vynte-infra/twenty:tt-improve-workflow-performances-and-errors
vynte-infra/twenty:test-hello-world-devxp
vynte-infra/twenty:sonarly-6156-missing-dropdown-state-initialization-when
vynte-infra/twenty:sonarly-4204-missing-null-guard-on-steps-in-multiple-callers
vynte-infra/twenty:sonarly-4058-race-condition-between-two-cache-reads-in-view
vynte-infra/twenty:sonarly-5446-workflow-step-deletion-fails-when-referenced
vynte-infra/twenty:sonarly-3957-dropdown-flushsync-autoupdate-creates-infinite-re
vynte-infra/twenty:sonarly-8116-morph-relation-persist-uses-wrong-foreign-key
vynte-infra/twenty:sonarly-6956-exportmultiplerecordsaction-crashes-when-rendered
vynte-infra/twenty:sonarly-4334-direct-subscription-creation-fails-for-users-who
vynte-infra/twenty:sonarly-8007-relation-filter-key-lookup-fails-when
vynte-infra/twenty:navbar-customization-v2-follow-up
vynte-infra/twenty:sonarly-7898-isrecordmatchingfilter-throws-on-stale-filter
vynte-infra/twenty:sonarly-4132-stale-v1170-frontend-cache-queries-removed
vynte-infra/twenty:translate-widget-name
vynte-infra/twenty:sonarly-7806-billing-page-crashes-when-subscriptions-stripe
vynte-infra/twenty:sonarly-7805-missing-plan-metadata-in-subscription-causes
vynte-infra/twenty:sonarly-7692-google-oauth-login-crashes-on-accounts-with-no
vynte-infra/twenty:table-perf
vynte-infra/twenty:twenty-for-twenty-app
vynte-infra/twenty:fix-race-condition
vynte-infra/twenty:fix-uuid-validation-version
vynte-infra/twenty:refactor-app-installation
vynte-infra/twenty:oauth-apps-3-frontend-and-cli
vynte-infra/twenty:oauth-apps-2-oauth-and-sync
vynte-infra/twenty:oauth-apps-1-app-registration
vynte-infra/twenty:email-attachments-support
vynte-infra/twenty:sonarly-6564-google-sign-up-fails-when-profile-picture
vynte-infra/twenty:html-preview-emails
vynte-infra/twenty:fix-context-on-states
vynte-infra/twenty:fix-gmail-backfill
vynte-infra/twenty:electron-app
vynte-infra/twenty:c--introduce-metadata-client-in-twenty-sdk
vynte-infra/twenty:c--improve-relation-picker-for-RLS
vynte-infra/twenty:ej/filter-valdiation
vynte-infra/twenty:sonarly-4770-post-metadata-response-body-consumed-before
vynte-infra/twenty:navbar-with-ai-chats
vynte-infra/twenty:jotai-11
vynte-infra/twenty:sonarly-4132-logicfunction-graphql-schema-missing
vynte-infra/twenty:sonarly-4106-workspace-member-lookup-crashes-on-missing-entity
vynte-infra/twenty:jotai-10
vynte-infra/twenty:jotai-9
vynte-infra/twenty:manifest-agent
vynte-infra/twenty:sonarly-3964-file-deletion-job-crashes-on-emptynull-fullpath
vynte-infra/twenty:sonarly-3085-sse-mutations-missing-from-metadata-graphql-schema
vynte-infra/twenty:fix/sonarly-3890-run-2841
vynte-infra/twenty:fix/sonarly-3877-run-2830
vynte-infra/twenty:fix/sonarly-3881-run-2832
vynte-infra/twenty:fix/sonarly-3879-run-2831
vynte-infra/twenty:fix/sonarly-3859-run-2813
vynte-infra/twenty:fix/sonarly-3850-run-2807
vynte-infra/twenty:fix/sonarly-3840-run-2800
vynte-infra/twenty:fix/sonarly-3399-run-2788
vynte-infra/twenty:fix/sonarly-3398-run-2784
vynte-infra/twenty:fix/sonarly-3379-run-2780
vynte-infra/twenty:fix/sonarly-3374-run-2778
vynte-infra/twenty:fix/sonarly-3316-run-2773
vynte-infra/twenty:navbar-customization
vynte-infra/twenty:navbar-customization-v2
vynte-infra/twenty:fix/sonarly-3548-run-2555
vynte-infra/twenty:tt-add-views-and-navigation-items-on-object-creation
vynte-infra/twenty:fix/sonarly-3458-run-2470
vynte-infra/twenty:fix/sonarly-3344-run-2367
vynte-infra/twenty:fix/sonarly-3325-run-2349
vynte-infra/twenty:ej/fix-attachment-display
vynte-infra/twenty:refactor-builder-from
vynte-infra/twenty:fix/sonarly-2685-run-2290
vynte-infra/twenty:fix/sonarly-3219-run-2234
vynte-infra/twenty:fix/sonarly-3174-run-2223
vynte-infra/twenty:fix/sonarly-3098-run-2222
vynte-infra/twenty:fix/sonarly-3089-run-2221
vynte-infra/twenty:fix/sonarly-3087-run-2219
vynte-infra/twenty:fix/sonarly-2989-run-2215
vynte-infra/twenty:fix/sonarly-3185-run-2192
vynte-infra/twenty:fix/sonarly-3173-run-2187
vynte-infra/twenty:fix/sonarly-3162-run-2179
vynte-infra/twenty:c--improve-permissions-and-RLS-coverage
vynte-infra/twenty:fix/sonarly-3136-run-2158
vynte-infra/twenty:fix/sonarly-3135-run-2157
vynte-infra/twenty:fix/sonarly-3106-run-2135
vynte-infra/twenty:fix/sonarly-3104-run-2134
vynte-infra/twenty:fix/sonarly-3102-run-2131
vynte-infra/twenty:fix/sonarly-3099-run-2128
vynte-infra/twenty:fix/sonarly-3091-run-2119
vynte-infra/twenty:fix/sonarly-3085-run-2114
vynte-infra/twenty:fix/sonarly-3087-run-2116
vynte-infra/twenty:r--make-front-components-work-for-mutliple-frameworks
vynte-infra/twenty:fix-standard-options-ids
vynte-infra/twenty:1.18.0
vynte-infra/twenty:feat/search-split-on-separator-chars
vynte-infra/twenty:build-load-app-contextual-info
vynte-infra/twenty:refactor-page-layout-input-transpiler
vynte-infra/twenty:ej/ai-chat-file
vynte-infra/twenty:acee3/add-mentions
vynte-infra/twenty:workspace-migration-as-code
vynte-infra/twenty:2220-extensibility-handle-twenty-sdk-apps-issues-from-app-feedbacks
vynte-infra/twenty:refactor/caldav-driver-pipeline
vynte-infra/twenty:nav-folder-icon-customization
vynte-infra/twenty:c--associate-file-with-front-component
vynte-infra/twenty:refactor-create-input-transpilers
vynte-infra/twenty:twenty/v2.9.4
vynte-infra/twenty:twenty/v2.9.3
vynte-infra/twenty:twenty/v2.9.2
vynte-infra/twenty:twenty/v2.10.1
vynte-infra/twenty:twenty/v2.8.4
vynte-infra/twenty:twenty/v2.7.4
vynte-infra/twenty:twenty/v2.9.1
vynte-infra/twenty:sdk/v2.10.0
vynte-infra/twenty:twenty/v2.10.0
vynte-infra/twenty:sdk/v2.9.1
vynte-infra/twenty:v2.9.0
vynte-infra/twenty:v2.8.3
vynte-infra/twenty:v2.8.2
vynte-infra/twenty:v2.8.1
vynte-infra/twenty:v2.8.0
vynte-infra/twenty:v2.7.3
vynte-infra/twenty:v2.7.2
vynte-infra/twenty:v2.7.1
vynte-infra/twenty:v2.7.0
vynte-infra/twenty:v2.6.2
vynte-infra/twenty:v2.5.4
vynte-infra/twenty:v2.4.3
vynte-infra/twenty:v2.6.1
vynte-infra/twenty:v2.6.0
vynte-infra/twenty:v2.5.3
vynte-infra/twenty:v2.5.2
vynte-infra/twenty:v2.5.1
vynte-infra/twenty:v2.5.0
vynte-infra/twenty:v2.4.2
vynte-infra/twenty:v2.4.1
vynte-infra/twenty:v2.4.0
vynte-infra/twenty:v2.3.2
vynte-infra/twenty:v2.3.1
vynte-infra/twenty:v2.3.0
vynte-infra/twenty:v2.2.0
vynte-infra/twenty:v2.1.1
vynte-infra/twenty:v2.1.0
vynte-infra/twenty:v2.0.4
vynte-infra/twenty:v2.0.3
vynte-infra/twenty:v2.0.2
vynte-infra/twenty:v2.0.1
vynte-infra/twenty:v2.0.0
vynte-infra/twenty:v1.23.9
vynte-infra/twenty:v1.23.8
vynte-infra/twenty:v1.22.6
vynte-infra/twenty:v1.23.7
vynte-infra/twenty:v1.23.6
vynte-infra/twenty:v1.23.5
vynte-infra/twenty:v1.23.4
vynte-infra/twenty:v1.23.3
vynte-infra/twenty:v1.23.2
vynte-infra/twenty:v1.23.1
vynte-infra/twenty:v1.22.5
vynte-infra/twenty:v1.23.0
vynte-infra/twenty:v1.22.4
vynte-infra/twenty:v1.22.3
vynte-infra/twenty:v1.22.2
vynte-infra/twenty:v1.22.1
vynte-infra/twenty:v1.22.0
vynte-infra/twenty:v1.17.4
vynte-infra/twenty:v1.21.2
vynte-infra/twenty:v1.21.1
vynte-infra/twenty:v1.21.0
vynte-infra/twenty:v1.20.11
vynte-infra/twenty:v1.20.10
vynte-infra/twenty:v1.20.9
vynte-infra/twenty:v1.20.8
vynte-infra/twenty:v1.20.7
vynte-infra/twenty:v1.20.6
vynte-infra/twenty:v1.20.5
vynte-infra/twenty:v1.20.4
vynte-infra/twenty:v1.20.3
vynte-infra/twenty:v1.20.2
vynte-infra/twenty:v1.20.1
vynte-infra/twenty:v1.20.0
vynte-infra/twenty:v1.19.13
vynte-infra/twenty:v1.19.12
vynte-infra/twenty:v1.19.11
vynte-infra/twenty:v1.19.10
vynte-infra/twenty:v1.19.9
vynte-infra/twenty:v1.19.8
vynte-infra/twenty:v1.19.7
vynte-infra/twenty:v1.17.3
vynte-infra/twenty:v1.19.6
vynte-infra/twenty:v1.17.2
vynte-infra/twenty:v1.17.1
vynte-infra/twenty:v1.19.5
vynte-infra/twenty:v1.19.4
vynte-infra/twenty:v1.19.3
vynte-infra/twenty:v1.19.2
vynte-infra/twenty:v1.19.1
vynte-infra/twenty:v1.19.0
vynte-infra/twenty:v1.18.1
vynte-infra/twenty:v1.18.0
vynte-infra/twenty:v1.17.0
vynte-infra/twenty:v1.16.16
vynte-infra/twenty:v1.16.15
vynte-infra/twenty:v1.16.7
vynte-infra/twenty:v1.16.14
vynte-infra/twenty:v1.16.13
vynte-infra/twenty:v1.16.12
vynte-infra/twenty:v1.16.11
vynte-infra/twenty:v1.16.10
vynte-infra/twenty:v1.16.9
vynte-infra/twenty:v1.16.8
vynte-infra/twenty:v1.16.6
vynte-infra/twenty:v1.16.5
vynte-infra/twenty:v1.16.4
vynte-infra/twenty:v1.16.3
vynte-infra/twenty:v1.16.2
vynte-infra/twenty:v1.16.1
vynte-infra/twenty:v1.16.0
vynte-infra/twenty:v1.15.10
vynte-infra/twenty:v1.15.9
vynte-infra/twenty:v1.15.8
vynte-infra/twenty:v1.15.7
vynte-infra/twenty:v1.15.6
vynte-infra/twenty:v1.15.5
vynte-infra/twenty:v1.15.4
vynte-infra/twenty:v1.15.3
vynte-infra/twenty:v1.15.2
vynte-infra/twenty:v1.15.1
vynte-infra/twenty:v1.15.0
vynte-infra/twenty:v1.14.4
vynte-infra/twenty:v1.14.3
vynte-infra/twenty:v1.14.2
vynte-infra/twenty:v1.14.1
vynte-infra/twenty:v1.14.0
vynte-infra/twenty:v1.13.11
vynte-infra/twenty:v1.13.10
vynte-infra/twenty:v1.13.9
vynte-infra/twenty:v1.13.8
vynte-infra/twenty:v1.13.7
vynte-infra/twenty:v1.13.6
vynte-infra/twenty:v1.13.5
vynte-infra/twenty:v1.13.4
vynte-infra/twenty:v1.13.3
vynte-infra/twenty:v1.13.2
vynte-infra/twenty:v1.13.1
vynte-infra/twenty:v1.13.0
vynte-infra/twenty:v1.12.18
vynte-infra/twenty:v1.12.17
vynte-infra/twenty:v1.12.16
vynte-infra/twenty:v1.12.15
vynte-infra/twenty:v1.12.14
vynte-infra/twenty:v1.12.13
vynte-infra/twenty:v1.12.12
vynte-infra/twenty:v1.12.11
vynte-infra/twenty:v1.12.10
vynte-infra/twenty:v1.12.9
vynte-infra/twenty:v1.12.8
vynte-infra/twenty:v1.12.7
vynte-infra/twenty:v1.12.6
vynte-infra/twenty:v1.12.5
vynte-infra/twenty:v1.12.4
vynte-infra/twenty:v1.12.3
vynte-infra/twenty:v1.12.2
vynte-infra/twenty:v1.12.1
vynte-infra/twenty:v1.12.0
vynte-infra/twenty:v1.11.14
vynte-infra/twenty:v1.11.13
vynte-infra/twenty:v1.11.12
vynte-infra/twenty:v1.11.11
vynte-infra/twenty:v1.11.10
vynte-infra/twenty:v1.11.9
vynte-infra/twenty:v1.11.8
vynte-infra/twenty:v1.11.7
vynte-infra/twenty:v1.11.6
vynte-infra/twenty:v1.11.5
vynte-infra/twenty:v1.11.4
vynte-infra/twenty:v1.11.3
vynte-infra/twenty:v1.11.2
vynte-infra/twenty:v1.11.1
vynte-infra/twenty:v1.11.0
vynte-infra/twenty:v1.10.8
vynte-infra/twenty:v1.10.7
vynte-infra/twenty:v1.10.6
vynte-infra/twenty:v1.10.5
vynte-infra/twenty:v1.10.4
vynte-infra/twenty:v1.10.3
vynte-infra/twenty:v1.10.2
vynte-infra/twenty:v1.10.1
vynte-infra/twenty:v1.10.0
vynte-infra/twenty:v1.8.15
vynte-infra/twenty:v1.8.14
vynte-infra/twenty:v1.8.13
vynte-infra/twenty:v1.8.12
vynte-infra/twenty:v1.8.11
vynte-infra/twenty:v1.8.10
vynte-infra/twenty:v1.8.9
vynte-infra/twenty:v1.8.8
vynte-infra/twenty:v1.8.7
vynte-infra/twenty:v1.8.6
vynte-infra/twenty:v1.8.5
vynte-infra/twenty:v1.8.4
vynte-infra/twenty:v1.8.3
vynte-infra/twenty:v1.8.2
vynte-infra/twenty:v1.8.1
vynte-infra/twenty:v1.8.0
vynte-infra/twenty:v1.7.10
vynte-infra/twenty:v1.7.9
vynte-infra/twenty:v1.7.8
vynte-infra/twenty:v1.7.7
vynte-infra/twenty:v1.7.6
vynte-infra/twenty:v1.7.5
vynte-infra/twenty:v1.7.4
vynte-infra/twenty:v1.7.3
vynte-infra/twenty:v1.7.2
vynte-infra/twenty:v1.7.1
vynte-infra/twenty:v1.7.0
vynte-infra/twenty:v1.6.10
vynte-infra/twenty:v1.6.9
vynte-infra/twenty:v1.6.8
vynte-infra/twenty:v1.6.7
vynte-infra/twenty:v1.6.6
vynte-infra/twenty:v1.6.5
vynte-infra/twenty:v1.6.4
vynte-infra/twenty:v1.6.3
vynte-infra/twenty:v1.6.2
vynte-infra/twenty:v1.6.1
vynte-infra/twenty:v1.6.0
vynte-infra/twenty:v1.5.5
vynte-infra/twenty:v1.5.4
vynte-infra/twenty:v1.5.3
vynte-infra/twenty:v1.5.2
vynte-infra/twenty:v1.5.1
vynte-infra/twenty:v1.5.0
vynte-infra/twenty:v1.4.12
vynte-infra/twenty:v1.4.11
vynte-infra/twenty:v1.4.10
vynte-infra/twenty:v1.4.9
vynte-infra/twenty:v1.4.8
vynte-infra/twenty:v1.4.7
vynte-infra/twenty:v1.4.6
vynte-infra/twenty:v1.4.5
vynte-infra/twenty:v1.4.4
vynte-infra/twenty:v1.4.3
vynte-infra/twenty:v1.4.2
vynte-infra/twenty:v1.4.1
vynte-infra/twenty:v1.4.0
vynte-infra/twenty:v1.3.1
vynte-infra/twenty:v1.3.0
vynte-infra/twenty:v1.2.1
vynte-infra/twenty:v1.2.0
vynte-infra/twenty:v1.1.3
vynte-infra/twenty:v1.1.2
vynte-infra/twenty:v1.1.1
vynte-infra/twenty:v1.1.0
vynte-infra/twenty:v1.0.5
vynte-infra/twenty:v1.0.4
vynte-infra/twenty:v1.0.3
vynte-infra/twenty:v1.0.2
vynte-infra/twenty:v1.0.1
vynte-infra/twenty:v0.60.8
vynte-infra/twenty:v1.0.0
vynte-infra/twenty:v0.60.7
vynte-infra/twenty:v0.60.6
vynte-infra/twenty:v0.60.5
vynte-infra/twenty:v0.60.4
vynte-infra/twenty:v0.60.2
vynte-infra/twenty:v0.60.1
vynte-infra/twenty:v0.55.9
vynte-infra/twenty:v0.60.0
vynte-infra/twenty:v0.55.8
vynte-infra/twenty:v0.55.7
vynte-infra/twenty:v0.55.6
vynte-infra/twenty:v0.55.5
vynte-infra/twenty:v0.55.4
vynte-infra/twenty:v0.55.3
vynte-infra/twenty:v0.55.2
vynte-infra/twenty:v0.55.1
vynte-infra/twenty:v0.55.0
vynte-infra/twenty:v0.54.7
vynte-infra/twenty:v0.54.6
vynte-infra/twenty:v0.54.5
vynte-infra/twenty:v0.54.4
vynte-infra/twenty:v0.54.3
vynte-infra/twenty:v0.54.2
vynte-infra/twenty:v0.53.8
vynte-infra/twenty:v0.53.7
vynte-infra/twenty:v0.53.6
vynte-infra/twenty:v0.53.5
vynte-infra/twenty:v0.53.4
vynte-infra/twenty:v0.53.3
vynte-infra/twenty:v0.53.2
vynte-infra/twenty:v0.53.1
vynte-infra/twenty:v0.53.0
vynte-infra/twenty:v0.52.11
vynte-infra/twenty:v0.52.10
vynte-infra/twenty:v0.52.9
vynte-infra/twenty:v0.52.8
vynte-infra/twenty:v0.52.7
vynte-infra/twenty:v0.51.14
vynte-infra/twenty:v0.51.13
vynte-infra/twenty:v0.51.12
vynte-infra/twenty:v0.51.11
vynte-infra/twenty:v0.51.10
vynte-infra/twenty:v0.51.9
vynte-infra/twenty:v0.51.8
vynte-infra/twenty:v0.51.7
vynte-infra/twenty:v0.51.6
vynte-infra/twenty:v0.51.5
vynte-infra/twenty:v0.51.4
vynte-infra/twenty:v0.51.3
vynte-infra/twenty:v0.51.2
vynte-infra/twenty:v0.51.1
vynte-infra/twenty:v0.51.0
vynte-infra/twenty:v0.50.9
vynte-infra/twenty:v0.50.8
vynte-infra/twenty:v0.50.7
vynte-infra/twenty:v0.50.6
vynte-infra/twenty:v0.50.5
vynte-infra/twenty:v0.50.4
vynte-infra/twenty:v0.50.3
vynte-infra/twenty:v0.50.2
vynte-infra/twenty:v0.50.1
vynte-infra/twenty:v0.50.0
vynte-infra/twenty:v0.44.19
vynte-infra/twenty:v0.44.18
vynte-infra/twenty:v0.44.17
vynte-infra/twenty:v0.44.16
vynte-infra/twenty:v0.44.15
vynte-infra/twenty:v0.44.14
vynte-infra/twenty:v0.44.13
vynte-infra/twenty:v0.44.12
vynte-infra/twenty:v0.44.11
vynte-infra/twenty:v0.44.10
vynte-infra/twenty:v0.44.9
vynte-infra/twenty:v0.44.8
vynte-infra/twenty:v0.44.7
vynte-infra/twenty:v0.44.6
vynte-infra/twenty:v0.44.5
vynte-infra/twenty:v0.44.4
vynte-infra/twenty:v0.44.3
vynte-infra/twenty:v0.44.2
vynte-infra/twenty:v0.44.1
vynte-infra/twenty:v0.44.0
vynte-infra/twenty:v0.43.5
vynte-infra/twenty:v0.43.4
vynte-infra/twenty:v0.43.3
vynte-infra/twenty:v0.43.2
vynte-infra/twenty:v0.43.1
vynte-infra/twenty:v0.43.0
vynte-infra/twenty:v0.42.18
vynte-infra/twenty:v0.42.17
vynte-infra/twenty:v0.42.16
vynte-infra/twenty:v0.42.15
vynte-infra/twenty:v0.42.14
vynte-infra/twenty:v0.42.13
vynte-infra/twenty:v0.42.12
vynte-infra/twenty:v0.42.11
vynte-infra/twenty:v0.42.10
vynte-infra/twenty:v0.42.9
vynte-infra/twenty:v0.42.8
vynte-infra/twenty:v0.42.7
vynte-infra/twenty:v0.42.6
vynte-infra/twenty:v0.42.5
vynte-infra/twenty:v0.42.4
vynte-infra/twenty:v0.42.3
vynte-infra/twenty:v0.42.2
vynte-infra/twenty:v0.42.1
vynte-infra/twenty:v0.42.0
vynte-infra/twenty:v0.41.5
vynte-infra/twenty:v0.41.4
vynte-infra/twenty:v0.41.3
vynte-infra/twenty:v0.41.2
vynte-infra/twenty:v0.41.1
vynte-infra/twenty:v0.40.8
vynte-infra/twenty:v0.41.0
vynte-infra/twenty:v0.40.7
vynte-infra/twenty:v0.40.6
vynte-infra/twenty:v0.40.5
vynte-infra/twenty:v0.40.4
vynte-infra/twenty:v0.40.3
vynte-infra/twenty:v0.40.2
vynte-infra/twenty:v0.40.1
vynte-infra/twenty:v0.40.0
vynte-infra/twenty:v0.35.6
vynte-infra/twenty:v0.35.5
vynte-infra/twenty:v0.35.4
vynte-infra/twenty:v0.35.3
vynte-infra/twenty:v0.35.2
vynte-infra/twenty:v0.35.1
vynte-infra/twenty:v0.35.0
vynte-infra/twenty:v0.34.6
vynte-infra/twenty:v0.34.5
vynte-infra/twenty:v0.34.4
vynte-infra/twenty:v0.34.3
vynte-infra/twenty:v0.34.2
vynte-infra/twenty:v0.34.1
vynte-infra/twenty:v0.34.0
vynte-infra/twenty:v0.33.7
vynte-infra/twenty:v0.33.6
vynte-infra/twenty:v0.33.5
vynte-infra/twenty:v0.33.4
vynte-infra/twenty:v0.33.3
vynte-infra/twenty:v0.33.2
vynte-infra/twenty:v0.33.1
vynte-infra/twenty:v0.33.0
vynte-infra/twenty:v0.32.4
vynte-infra/twenty:v0.32.3
vynte-infra/twenty:v0.32.2
vynte-infra/twenty:v0.32.1
vynte-infra/twenty:v0.32.0
vynte-infra/twenty:v0.31.3
vynte-infra/twenty:v0.31.2
vynte-infra/twenty:v0.31.1
vynte-infra/twenty:v0.31.0
vynte-infra/twenty:v0.30.2
vynte-infra/twenty:v0.30.1
vynte-infra/twenty:v0.30.0
vynte-infra/twenty:v0.24.1
vynte-infra/twenty:v0.24.0
vynte-infra/twenty:v0.23.3
vynte-infra/twenty:v0.23.2
vynte-infra/twenty:v0.23.1
vynte-infra/twenty:v0.23.0
vynte-infra/twenty:v0.22.1
vynte-infra/twenty:v0.22.0
vynte-infra/twenty:v0.21.2
vynte-infra/twenty:v0.21.1
vynte-infra/twenty:v0.21.0
vynte-infra/twenty:v0.21
vynte-infra/twenty:v0.20.2
vynte-infra/twenty:v0.20.1
vynte-infra/twenty:v0.20.0
vynte-infra/twenty:v0.12.2
vynte-infra/twenty:v0.12.1
vynte-infra/twenty:v0.12.0
vynte-infra/twenty:v0.11.3
vynte-infra/twenty:v0.11.2
vynte-infra/twenty:v0.11.1
vynte-infra/twenty:v0.11.0
vynte-infra/twenty:v0.10.6
vynte-infra/twenty:v0.10.5
vynte-infra/twenty:v0.10.4
vynte-infra/twenty:v0.10.3
vynte-infra/twenty:v0.10.2
vynte-infra/twenty:v0.10.1
vynte-infra/twenty:v0.10.0
vynte-infra/twenty:v0.4.0
vynte-infra/twenty:v0.3.3
vynte-infra/twenty:v0.3.2
vynte-infra/twenty:v0.3.1
vynte-infra/twenty:v0.3.0
vynte-infra/twenty:v0.2.3
vynte-infra/twenty:v0.2.2
vynte-infra/twenty:v0.2.1
vynte-infra/twenty:v0.2.0
vynte-infra/twenty:v0.1.5
vynte-infra/twenty:v0.1.4
vynte-infra/twenty:v0.1.3
vynte-infra/twenty:v0.1.2
vynte-infra/twenty:v0.1.1
vynte-infra/twenty:v0.1.0
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
57f73b1151 |
File deletion job crashes on empty/null fullPath
https://sonarly.com/issue/3964?type=bug When an attachment with a null or empty fullPath is destroyed, the FileAttachmentListener enqueues a FileDeletionJob with an empty string as fullPath. The extractFolderPathFilenameAndTypeOrThrow utility then throws 'Invalid fullPath provided' because the empty string fails the isNonEmptyString check. Fix: 1. In file-attachment.listener.ts, add an early guard to skip enqueuing the FileDeletionJob when the attachment has no fullPath. This matches the pattern already used in the FileWorkspaceMemberListener for avatarUrl. 2. In file-deletion.job.ts, add a defensive guard before calling extractFolderPathFilenameAndTypeOrThrow. If fullPath is empty/falsy, throw an UnrecoverableError so BullMQ does not retry the job. This prevents infinite retries if invalid data reaches the job from any source. |
3 changed files with 227 additions and 1 deletions
@@ -0,0 +1,214 @@
|
||||
# Bug #3964:
|
||||
|
||||
## CRITICAL: Working Directory
|
||||
|
||||
Your working directory is `/work/worktrees/twentyhq-twenty-wt-2904`. This is your primary repository (`twentyhq/twenty`).
|
||||
All edits MUST be performed within this directory.
|
||||
|
||||
## Sentry Error Details (TOON format)
|
||||
|
||||
Error information from Sentry (TOON = compact CSV-like format for lists):
|
||||
|
||||
```
|
||||
event_info:
|
||||
title: Error: Invalid fullPath provided
|
||||
type: error
|
||||
platform: node
|
||||
culprit: bw(utils)
|
||||
release: {'id': 1678867630; 'version': 'v1.18.0'; 'status': 'open'; 'shortVersion': 'v1.18.0'; 'versionInfo': {'package': None; 'version': {'raw': 'v1.18.0'}; 'description': 'v1.18.0'; 'buildHash': None}; 'ref...
|
||||
user:
|
||||
geo: country_code=DE, city=Frankfurt am Main, region=Germany
|
||||
exceptions[1]{type,value,mechanism}:
|
||||
Error,Invalid fullPath provided,handled=True
|
||||
stack_frames[8]:
|
||||
[-] /app/node_modules/bullmq/dist/cjs/classes/worker.js:520:32
|
||||
fn: ? (module: bullmq.dist.cjs.classes:worker)
|
||||
523: catch (err) {
|
||||
524: const failed = await handleFailed(err);
|
||||
525: return failed;
|
||||
526: }
|
||||
527: finally {
|
||||
[+] ../../../../../src/engine/core-modules/message-queue/drivers/bullmq.driver.ts:118:9
|
||||
fn: this.workerMap[queueName] (module: bullmq.driver)
|
||||
119: const timeEnd = performance.now();
|
||||
120: const executionTime = timeEnd - timeStart;
|
||||
121:
|
||||
122: this.logger.log(
|
||||
123: `Job ${job.id} with name ${job.name} processed on queue ${queueName} in ${executionTime.toFixed(2)}ms`,
|
||||
[-] node:internal/process/task_queues:103:5
|
||||
fn: process.processTicksAndRejections (module: task_queues)
|
||||
[+] ../../../../src/engine/core-modules/message-queue/message-queue.explorer.ts:139:20
|
||||
fn: <anonymous> (module: message-queue.explorer)
|
||||
140: }
|
||||
141: }, options);
|
||||
142: }
|
||||
143:
|
||||
144: private async handleProcessor(
|
||||
[+] ../../../../src/engine/core-modules/message-queue/message-queue.explorer.ts:192:18
|
||||
fn: {MessageQueueExplorer#2}.handleProcessor (module: message-queue.explorer)
|
||||
193: instance,
|
||||
194: filteredProcessMethodNames,
|
||||
195: job,
|
||||
196: );
|
||||
197: }
|
||||
[+] ../../../../src/engine/core-modules/message-queue/message-queue.explorer.ts:208:43
|
||||
fn: {MessageQueueExplorer#2}.invokeProcessMethods (module: message-queue.explorer)
|
||||
209: } catch (err) {
|
||||
210: if (shouldCaptureException(err)) {
|
||||
211: this.exceptionHandlerService.captureExceptions([err]);
|
||||
212: }
|
||||
213: throw err;
|
||||
[+] ../../../../../src/engine/core-modules/file/jobs/file-deletion.job.ts:23:46
|
||||
fn: {FileDeletionJob#2}.handle (module: file-deletion.job)
|
||||
24:
|
||||
25: if (!filename) {
|
||||
26: throw new UnrecoverableError(
|
||||
27: `[${FileDeletionJob.name}] Cannot parse filename from full path - ${fullPath}`,
|
||||
28: );
|
||||
[+] /app/packages/twenty-shared/dist/utils.cjs:4:81480
|
||||
fn: bw (module: utils)
|
||||
contexts:
|
||||
app: app_start_time=2026-02-19T15:50:56.104Z; app_memory=1265209344; free_memory=2638311424
|
||||
device: arch=x64; memory_size=8191066112; free_memory=4874039296; boot_time=2025-12-08T16:23:55.306Z; processor_count=2; cpu_description=Intel(R) Xeon(R) Plat...
|
||||
os: os=Alpine Linux 3.23.3 ; name=Alpine Linux; version=3.23.3 ; kernel_version=6.1.132-147.221.amzn2023.x86_64
|
||||
runtime: runtime=node v24.13.1; name=node; version=v24.13.1
|
||||
breadcrumbs_http[50]{ts,type,level,msg}:
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:03,http,i,
|
||||
09:45:04,http,i,
|
||||
09:45:04,http,i,
|
||||
09:45:04,http,i,
|
||||
09:45:04,http,i,
|
||||
09:45:04,http,w,
|
||||
09:45:05,http,i,
|
||||
09:45:05,http,i,
|
||||
09:45:05,http,i,
|
||||
09:45:05,http,i,
|
||||
```
|
||||
|
||||
## Severity Assessment
|
||||
|
||||
After analyzing the bug, determine severity independently based on your analysis:
|
||||
- **critical**: User CANNOT complete a critical task. Crashes, core feature broken, data loss risk.
|
||||
- **medium**: User CAN complete tasks but degraded experience. Non-critical feature broken, workaround exists.
|
||||
- **low**: User unlikely to notice. Cosmetic, rare edge case, transient error that auto-recovers.
|
||||
|
||||
Your severity assessment in the output JSON is the FINAL severity that will be used.
|
||||
## STRICT GIT RULES (violations = failed run)
|
||||
|
||||
- You are already on the correct fix branch — do NOT run `git checkout`, `git switch`, or `git merge`
|
||||
- **NEVER run `git merge`** — merging other branches (feature branches, main, etc.) is FORBIDDEN
|
||||
- **NEVER run `git checkout` on a different branch** — stay on your current branch at all times
|
||||
- **NEVER run `git rebase`** — rebasing is not needed and can corrupt the worktree
|
||||
- If the code you need to fix is not on this branch, fix the code that IS on this branch
|
||||
or report that the fix cannot be applied — do NOT merge or pull in other branches
|
||||
- **NEVER run `git add`, `git commit`, or `git push`** — the system handles all git write operations automatically after your analysis
|
||||
- Only allowed git commands: `git blame`, `git log`, `git diff`, `git show` (read-only)
|
||||
|
||||
## Your Task (in this order)
|
||||
|
||||
1. **Find the Root Cause**
|
||||
- Locate the exact file and line where the bug originates
|
||||
- Understand why this error occurs
|
||||
|
||||
2. **Git Blame Analysis**
|
||||
- Use `git blame` to find the commit that introduced this bug
|
||||
- Note the commit SHA, author, and date
|
||||
|
||||
3. **Fix the Bug**
|
||||
- Implement a **minimal, targeted fix** — only change what's necessary to resolve this specific error
|
||||
- **NEVER modify shared/generic utilities, base classes, or ORM internals** to work around a missing field or feature.
|
||||
Instead, fix the specific code paths that trigger the error (e.g. add a guard/try-catch in the caller).
|
||||
Changing a generic utility to silently skip errors is ALWAYS wrong — it masks future bugs.
|
||||
- Do NOT refactor surrounding code, add new features, or make unrelated improvements
|
||||
- Do NOT build new components, screens, or functionality — only fix the reported error
|
||||
- Add appropriate error handling if needed
|
||||
- Do NOT run any git write commands (`git add`, `git commit`, `git push`) — the system handles committing and pushing automatically after your analysis
|
||||
|
||||
4. **Output Structured Analysis**
|
||||
At the end of your response, output a JSON block between these markers:
|
||||
|
||||
```
|
||||
SONARLY_ANALYSIS_START
|
||||
{
|
||||
"title": "User-focused title (max 60 chars)",
|
||||
"severity": "critical|medium|low",
|
||||
"summary": "1-2 sentence summary of the bug",
|
||||
"user_impact": "Who was impacted and how they were impacted",
|
||||
"evidence": { // Each code item: file (relative path from repo root), line (integer), snippet (faulty code, max ~10 lines). Multiple items for multiple files. {} if no evidence.
|
||||
"code": [
|
||||
{"file": "src/checkout/process.py", "line": 42, "snippet": "def process_order(order_id):\n orders = db.query(\"SELECT * FROM orders\") # missing WHERE clause"}
|
||||
]
|
||||
},
|
||||
"root_cause": {
|
||||
"explanation": "Root cause explanation. Use plain text only — NO bold, italic, or code backticks. When listing multiple points, use a numbered list (1. 2. 3.) with each item on its own line. Include who introduced it (git blame author), when (date), and why.",
|
||||
"blame": {
|
||||
"commit_sha": "abc123def (the full commit SHA from git blame, or null if unknown)",
|
||||
"author": "Author Name (from git blame output, or null if unknown)",
|
||||
"date": "2026-01-15 (date from git blame, or null if unknown)",
|
||||
"commit_url": "https://github.com/{owner}/{repo}/commit/{sha} (build from git remote get-url origin + sha, strip any access token, or null)",
|
||||
"explanation": "Brief explanation of when/who introduced the bug (e.g. Added in commit abc123 by John on Jan 15)"
|
||||
}
|
||||
},
|
||||
"suggested_fix": {
|
||||
"explanation": "What the fix does and why it solves the problem. Use plain text only — NO bold, italic, or code backticks. When listing multiple steps, use a numbered list (1. 2. 3.) with each item on its own line.",
|
||||
"files_changed": ["path/to/file.py", "path/to/other.py (list of file paths you created or modified in the fix)"]
|
||||
}
|
||||
}
|
||||
SONARLY_ANALYSIS_END
|
||||
```
|
||||
|
||||
CRITICAL: The JSON block is the ONLY part of your response shown to the user.
|
||||
Everything outside the SONARLY_ANALYSIS markers is discarded. Put ALL investigation details,
|
||||
evidence (code snippets and log lines), and findings INSIDE the JSON fields,
|
||||
especially root_cause.explanation, and summary. Do NOT write a separate investigation summary before the JSON.
|
||||
|
||||
IMPORTANT: The JSON between SONARLY_ANALYSIS_START and SONARLY_ANALYSIS_END must be valid JSON.
|
||||
|
||||
## Critical: ALWAYS output the analysis JSON
|
||||
|
||||
You MUST output SONARLY_ANALYSIS_START...SONARLY_ANALYSIS_END even if you could not find the code or fix the bug.
|
||||
If you cannot locate the relevant code or create a fix,
|
||||
explain what you found in the `root_cause.explanation` field.
|
||||
A run without the analysis JSON is a FAILED run — never end without it.
|
||||
|
||||
Don't ask any questions to the user
|
||||
@@ -19,6 +19,12 @@ export class FileDeletionJob {
|
||||
async handle(data: FileDeletionJobData): Promise<void> {
|
||||
const { workspaceId, fullPath } = data;
|
||||
|
||||
if (!fullPath) {
|
||||
throw new UnrecoverableError(
|
||||
`[${FileDeletionJob.name}] Invalid fullPath provided - ${fullPath}`,
|
||||
);
|
||||
}
|
||||
|
||||
const { folderPath, filename } =
|
||||
extractFolderPathFilenameAndTypeOrThrow(fullPath);
|
||||
|
||||
|
||||
+7
-1
@@ -28,11 +28,17 @@ export class FileAttachmentListener {
|
||||
>,
|
||||
) {
|
||||
for (const event of payload.events) {
|
||||
const fullPath = event.properties.before.fullPath;
|
||||
|
||||
if (!fullPath) {
|
||||
continue;
|
||||
}
|
||||
|
||||
await this.messageQueueService.add<FileDeletionJobData>(
|
||||
FileDeletionJob.name,
|
||||
{
|
||||
workspaceId: payload.workspaceId,
|
||||
fullPath: event.properties.before.fullPath ?? '',
|
||||
fullPath,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.