neo773
@neo773
Joined on 28 March 2020
GitHub Stats
59
Followers
71
Repositories
0
Organizations
1
Gists
418
Pull Requests
28
Issues
270
Commits
0
Sponsors
35
Contributed To
47
Star Earned
Most Used Languages
83.54%
TypeScript
3.94%
Solidity
3.69%
JavaScript
3.33%
Swift
3.18%
CSS
1.30%
HTML
1.01%
Shell
Popular Projects
screenpipe-electron
No description
TypeScript
23
5
0
0
ScreenOCR
ScreenOCR extension for Raycast on macOS
TypeScript
13
1
2
2
proxycheck-ts
Typesafe API client for proxycheck.io
TypeScript
2
3
3
4
student-grading-dapp
Decentralized student grading App on Blockchain
TypeScript
2
0
0
1
cursor-agent-notifier
A Model Context Protocol (MCP) server that enables AI agents to send system notifications to users on macOS.
Swift
1
0
0
0
cursor-marketplace
No description
JavaScript
1
0
0
0
Top Contributions
Top contributions made by the user in the last year.
Charts
Follow Up
Activity Graph
Contributions Calendar
Contributions made by the user in the last 365 days.
Recent Activity
10/1/2025, 3:59:16 AM
9/30/2025, 11:51:59 PM
9/30/2025, 11:06:39 PM
9/30/2025, 10:36:24 PM
9/30/2025, 4:14:43 AM
9/30/2025, 4:11:11 AM
9/29/2025, 10:06:00 PM
9/29/2025, 4:24:12 PM
9/29/2025, 4:23:42 PM
9/29/2025, 1:18:36 PM
- Create save dashboard record action (#14665) Closes https://github.com/twentyhq/core-team-issues/issues/1502 - Created the save action - Removed the temporary data attribute from the page layout widget since we will connect widgets to real data soon https://github.com/user-attachments/assets/2b46b511-f2c2-4e11-873c-a76fd31704e5
- i18n - translations (#14683) Created by Github action --------- Co-authored-by: github-actions <github-actions@twenty.com>
- Create MenuPicker (#14681) Closes https://github.com/twentyhq/core-team-issues/issues/1534 <img width="746" height="324" alt="CleanShot 2025-09-24 at 14 32 52@2x" src="https://github.com/user-attachments/assets/6c36fe37-b945-4d43-917c-424e7b346902" />
- Add FK creation in migration v2 (#14685) ## Context - packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-default-relation-flat-field-metadatas-for-custom-object.util.ts Fixing targetFlatFieldMetadata not being accurate for default relation during object creation (was not used yet) - packages/twenty-server/src/engine/twenty-orm/workspace-schema-manager/services/workspace-schema-foreign-key-manager.service.ts Simplifying API + Removing unused methods and the ones that were querying pg schema as we want to avoid those as much as possible - packages/twenty-server/src/engine/workspace-manager/workspace-migration-v2/workspace-migration-runner-v2/action-handlers/field/services/create-field-action-handler.service.ts Adding FK creation when Join column is created
- update cleaning job to progressively delete metadata (#14596) Workspace cleaning jobs slow down the db each hours when running. We suspect the object metadata deleting query with all cascade/depending entities (field, index, ..) to be the cause.
- Store history when iterator reset the step info (#14684) - before reseting the step, enrich info with previous result - reset only when a step is executed more than once. This will avoid to store the initial `NOT_STARTED` status of the step
- Debug webhook job (#14675)
- Add basic support for iterators in workflow runs (#14680) ## Workflow <img width="3456" height="2234" alt="CleanShot 2025-09-24 at 11 50 49@2x" src="https://github.com/user-attachments/assets/c9db9f27-9c0a-4b77-ac49-330e6f934a9e" /> ## Workflow run <img width="3456" height="2234" alt="CleanShot 2025-09-24 at 11 50 56@2x" src="https://github.com/user-attachments/assets/c95d984f-03f0-4aa2-9677-dc86d851172f" />
- Implement groupBy resolver (with orderBy, without viewId) (#14690) Closes https://github.com/twentyhq/core-team-issues/issues/248?issue=twentyhq%7Ccore-team-issues%7C1543 In this PR - Implementation of groupBy resolver, without pagination, without viewId parameter - introduction of new GqlInputTypeDefinitionKind `OrderByWithGroupBy` which differs from `OrderBy` as it should use aggregations as order by conditions (e.g.: OrderByWithGroupBy should use avgEmployees and not employees which does not make sense) - Minor refacto of all orderBy expressions to use orderBy signature with `OrderByCondition` which is usable for both groupBy queries and non-groupBy queries. groupBy queries differ because their orderBy conditions are based on aggregatedFields (such as avgEmployees) for which we can't use the same orderBy signature <img width="728" height="216" alt="Capture d’écran 2025-09-24 à 15 07 14" src="https://github.com/user-attachments/assets/aa5c0875-cf38-4d4b-be70-f4d64da77a41" /> - Minor refacto to add table name in aggregates expressions `(AVG("employees") -> AVG("company"."employees")` to keep having the table names in the orderBy expression as we already had. Since we use common utils for orderBy and aggregates on findMany this change also impacts findMany queries with aggregates. It also impacts field permission check where we extract the name of the selected fields to check permission on, so I also updated that (see `extractColumnNamesFromAggregateExpression`)
- Migrate from Zod v3 to v4 (#14639) Closes [#1526](https://github.com/twentyhq/core-team-issues/issues/1526) --------- Co-authored-by: Félix Malfait <felix@twenty.com> Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
- Import - Fix erase on update on Number, Boolean and Multi Select fields (#14686) Before on an object with Number, Boolean, Multi-Select fields --> createMany input from import feature with only one name firstName column matched : ``` { "data": [ { "booleanField": false, "createdBy": { "source": "IMPORT", "context": {} }, "name": { "firstName": "Test" }, "multiSelectField": [], "numberField": null }, { "booleanField": false, "createdBy": { "source": "IMPORT", "context": {} }, "name": { "firstName": "Test1" }, "multiSelectField": [], "numberField": null } ], "upsert": true } ``` After with same object : ``` { "data": [ { "createdBy": { "source": "IMPORT", "context": {} }, "name": { "firstName": "Test" } }, { "createdBy": { "source": "IMPORT", "context": {} }, "name": { "firstName": "Test1" } } ], "upsert": true } ``` Fixes https://github.com/twentyhq/twenty/issues/14672
- Fix flaky test on page layout widget (#14703) The flakiness was due to the test considering that the widgets were ordered when they were not.
- Add UTC timezone label to CRON trigger form (#14674) - Added 'Cron will be triggered at UTC time' notice below trigger interval dropdown - Positioned correctly between dropdown and expression field to match design - Only shows when Custom CRON option is selected --------- Co-authored-by: Félix Malfait <felix@twenty.com> Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
- i18n - translations (#14704) Created by Github action --------- Co-authored-by: github-actions <github-actions@twenty.com>
- batched updates/insert and delete invalid folders (#14702)
- Fix calendar booking step in onboarding when env var is not configured (#14707) ## The Issue When CALENDAR_BOOKING_PAGE_ID env variable is not configured, the onboarding flow still sets the booking step as pending in the database. This causes users to get stuck on a broken booking page after logout/login, as the Cal.com iframe tries to load with an empty calendar link. ## The Fix Made the booking step handling idempotent across the stack: Backend: - setOnboardingBookOnboardingPending now checks if calendar is actually configured before setting the step as pending - getOnboardingStatus auto-cleans invalid booking states when detected (booking pending but no calendar configured) - Empty strings in env are now treated as undefined in client config Frontend: - Added navigation protection to redirect away from booking pages when calendar isn't configured - Existing defensive logic in useSetNextOnboardingStatus already skips booking when no calendar ID Result - New users won't get invalid booking states - Existing bad data self-heals when users interact with the system - Backend and frontend stay in sync about when booking should be shown Fixes the issue Felix reported where users saw a broken booking page in production. I think we should keep the old CAL_LINK constant for now - while we could remove the booking onboarding step entirely, it would break the plan/pricing modal which uses it as a fallback when no calendar is configured. Open for discussion! -- May be we dont show the `Book a Call` button if the env is not set -- but we should keep it as it is if we want two different behaviors :) closes https://github.com/twentyhq/core-team-issues/issues/1558
- docs: update PostgreSQL installation instructions for macOS (#14710) This pull request improves the local development setup instructions for PostgreSQL on macOS, especially for users installing via Homebrew. It clarifies how to ensure the PostgreSQL server is running and addresses potential issues with the default user role. This pull request solves issue #14637 I personally faced this issues today while trying to setup the project on my M1 Macbook Air. PostgreSQL setup enhancements: * Added instructions to start the PostgreSQL service using Homebrew and verify its status with `brew services list`. * Provided guidance on checking for the existence of the `postgres` role and steps to manually create it if missing, to avoid permission issues during development. --------- Co-authored-by: Charles Bochet <charles@twenty.com>
- Add logs to debug worker performance on production (#14712) As per title, just adding worker job execution time
- 1541 extensibility twenty cli use workspace migration v2 to synchronize application objects fields views (#14706) - synchronize objects https://github.com/user-attachments/assets/257317bc-2881-4b98-a3d4-6ae52bd72aa0
- Add ServerlessFunction to migration v2 (#14698)
9/25/2025, 3:20:43 AM
9/25/2025, 3:18:52 AM
9/25/2025, 3:00:46 AM
9/25/2025, 2:33:53 AM