1f5c25ac0a
fix: navigate with arrow keys in select/multi-select ( #5983 )
...
closes : #4977
https://github.com/twentyhq/twenty/assets/13139771/8121814c-9a8a-4a8d-9290-1aebe145220f
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-08-02 20:12:46 +02:00
Aditya Pimpalkar and Lucas Bordeau
4a67cfa1c3
feat: Revamp navigation bar ( #6031 )
...
closes : #4428
Testing for fetchMoreRecords is pending, along with component tests
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-07-16 14:38:17 +02:00
Aditya Pimpalkar
8c6e96c41b
fix: Column header menu Filter button ( #5973 )
...
fixes : #5957
https://github.com/twentyhq/twenty/assets/13139771/51d42aa5-c774-4cbe-adca-b95ea6e17bbd
2024-06-20 16:44:28 +02:00
Aditya Pimpalkar and Félix Malfait
59b9ce689d
add object id column to csv export ( #5971 )
...
closes : #5893
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-06-20 16:42:33 +02:00
Aditya Pimpalkar
14abd99bb7
add multiple filters of same FieldMetadataType ( #5892 )
...
fixes : #5378
2024-06-18 10:49:33 +02:00
Aditya Pimpalkar and Félix Malfait
4603999d1c
Support orderBy as array ( #5681 )
...
closes : #4301
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-06-14 11:23:37 +02:00
Aditya Pimpalkar
a12c1aad5e
fix: user has to login every time chrome sidepanel is opened ( #5544 )
...
We can pass the auth tokens to our front app via post message, which
will also allow us to pass route names to navigate on it
2024-05-30 12:58:45 +02:00
Aditya Pimpalkar
008813f194
fix: twenty-chrome-extension:"graphql:generate" ( #5649 )
...
fixes : #5645
2024-05-29 14:45:32 +02:00
Aditya Pimpalkar
f9a3d5fd15
chore: remove OAuth from chrome extension ( #5528 )
...
Since we can access the tokens directly from cookies of our front app,
we don't require the OAuth process to fetch tokens anymore
2024-05-24 00:01:47 +02:00
Aditya Pimpalkar and Lucas Bordeau
eb78be6c61
feat: replace iframe with chrome sidepanel ( #5197 )
...
fixes - #5201
https://github.com/twentyhq/twenty/assets/13139771/871019c6-6456-46b4-95dd-07ffb33eb4fd
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-05-21 10:39:43 +02:00
Aditya Pimpalkar
ea5a7ba70e
feat: add renew token query for apollo client (chrome-extension) ( #5200 )
...
fixes - #5203
2024-05-16 10:21:16 +02:00
Aditya Pimpalkar and Thaïs Guigon
2828492945
chore: add nx/project.json to twenty-chrome-extension ( #5217 )
...
Fix for `build` CI on `twenty-chrome-extension`
---------
Co-authored-by: Thaïs Guigon <guigon.thais@gmail.com >
2024-05-06 11:33:48 +02:00
Aditya Pimpalkar and Félix Malfait
c63ee519ea
feat: oauth for chrome extension ( #4870 )
...
Previously we had to create a separate API key to give access to chrome
extension so we can make calls to the DB. This PR includes logic to
initiate a oauth flow with PKCE method which redirects to the
`Authorise` screen to give access to server tokens.
Implemented in this PR-
1. make `redirectUrl` a non-nullable parameter
2. Add `NODE_ENV` to environment variable service
3. new env variable `CHROME_EXTENSION_REDIRECT_URL` on server side
4. strict checks for redirectUrl
5. try catch blocks on utils db query methods
6. refactor Apollo Client to handle `unauthorized` condition
7. input field to enter server url (for self-hosting)
8. state to show user if its already connected
9. show error if oauth flow is cancelled by user
Follow up PR -
Renew token logic
---------
Co-authored-by: Félix Malfait <felix@twenty.com >
2024-04-24 11:45:16 +02:00
Aditya Pimpalkar
14f97e2e80
fix: "Add to Twenty" button render fix (chrome-extension) ( #5048 )
...
fix - #5047
2024-04-19 18:13:53 +02:00
Aditya Pimpalkar
3e65fbd3d5
bug: update revokedAt on PKCE flow ( #4918 )
...
The authorization token has an expiry of 5 minutes, we already have
checks in place to verify this and throw a Forbidden exception. We need
to revoke the token once it's used otherwise it could be used multiple
times to gain access to tokens till it expires.
2024-04-15 12:49:05 +02:00
Aditya Pimpalkar
ed8ecb154d
feat: traditional Oauth alongside PKCE ( #4697 )
...
ref: #4437
2024-04-05 13:09:41 +02:00
Aditya Pimpalkar
6ed0a5e2d6
feat: Redirect to previous page after login ( #4731 )
...
fix : #4721
2024-04-03 08:05:18 +02:00
Aditya Pimpalkar and Félix Malfait
d24d5a9a2e
feat: authorize screen ( #4687 )
...
* authorize screen
* lint fix
* add BlankLayout on Authorize route
* typo fix
* route decorator fix
* Unrelated fix
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-31 12:23:56 +02:00
Aditya Pimpalkar
0391bf65f2
feat: Oauth with PKCE ( #4648 )
...
* authorizeApp and exchangeAuthcode methods
* module rename
* import fix
* lint fix
* fix import
2024-03-27 21:18:07 +01:00
Aditya Pimpalkar
5c5dcf5cb5
feat: check if company/person saved (chrome-extension) ( #4280 )
...
* add twenty icon
* rest api calls for company
* check if company exists
* refacto
* person/company saved call
* gql codegen init
* type defs
* build fix
* DB calls with gql codegen and apollo integration
2024-03-26 14:37:36 +01:00
Aditya Pimpalkar and Félix Malfait
da12710fe9
feat: multi-workspace (frontend) ( #4232 )
...
* select workspace component
* generateJWT mutation
* workspaces state and hooks
* requested changes
* mutation fix
* requested changes
* user workpsace delete call
* migration to drop and createt user workspace
* revert select props
* add DropdownMenu
* seperate multi-workspace dropdown as component
* Signup button displayed accurately
* update seed data for multi-workspace
* lint fix
* lint fix
* css fix
* lint fix
* state fix
* isDefined check
* refactor
* add default workspace constants for logo and name
* update migration
* lint fix
* isInviteMode check on sign-in/up
* removeWorkspaceMember mutation
* import fixes
* prop name fix
* backfill migration
* handle edge cases
* refactor
* remove migration query
* delete user on no-workspace found condition
* emit workspaceMember.deleted
* Fix event class and unrelated fix linked to a previously missing dependency
* Edit migration (I did it in prod manually)
* Revert changes
* Fix tests
* Fix conflicts
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-20 14:43:41 +01:00
Aditya Pimpalkar and Lucas Bordeau
638a12c571
feat: iframe addition (chrome-extension) ( #4418 )
...
* toggle iframe addition
* React UI init
* remove files
* loading state files
* render iframe logic
* remove event
* build fix
* WIP
* Ok
* Cleaned
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-15 16:36:53 +01:00
Aditya Pimpalkar
caa4dcf893
feat: adding metadata open-api endpoints and updating docs ( #4170 )
...
* initialise metadata schema for open-api
* remove "soon" label on metadata rest-api
* open-api fetch paths
* remove parameter type for metadata schema
* add REST module to open-api
* metadata schema components
* metadata paths
* refactor and /open-api route fix
2024-03-05 11:37:16 +01:00
Aditya Pimpalkar and martmull
63d403454c
feat: multi-workspace followup ( #4197 )
...
* Seed UserWorkspace for existing demo/dev users
* add workspaces field to currentUser
* new token generation endpoint for switching workspace
* lint fix
* include dependency
* requested fixes
* resolver test pass
* changing defaultWorkspace and workspaceMember when switching workspaces
* tests fix
* requested changes
* delete user/workspace edge case handled
* after merge
* requested changes
* :wq!
* workspace manytoone relation
* lint fix / import fix
* gql codegen
* Fix migrations and generateJWT
* migration fix
* relations fix
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-03-04 16:14:04 +01:00
Aditya Pimpalkar and Charles Bochet
b67957bf94
feat: user can have multiple workspaces (backend) ( #4036 )
...
* create user-workspace mapping
* user-workspace service and integration
* invite condition on sign-up/sign-in
* save/update defaultWorkspace on signup
* add unique decorator on user-workspace entity
* remove resolver permissions
* Fixes
* Fixes
* Fix tests
* Fixes
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-25 10:58:14 +01:00
Aditya Pimpalkar and martmull
9d9ba97fb7
feat: REST endpoints for metadata API ( #3912 )
...
* parse metadata path
* metadata rest api
* add queryAction condition and return object singular/plural
* handle GET endpoint for metadata
* FindOne and FindMany query for metadata endpoint
* Request all objects and nest fields in object request
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-02-20 15:17:41 +01:00
Aditya Pimpalkar
5413513554
fix: updatedAt parameter ( #3208 )
...
* fix: updatedAt param
* lint fix
2024-01-03 19:52:10 +01:00
Aditya Pimpalkar
93a01c7292
Chore: Improve dropdown draggable list ( #1738 )
...
* draggable menu item component
* Menu item isDragged prop removed
* Droppable list component
* Draggablee item component
* Drag and drop use refactor
* lint fix
* isDragDisabled check on DraggableItem
* revert changes on non visibility items
* MenuItemDraggable stroybook
* DraggableItem storybook
* lint fix
* lint fix
* BoardColumnMenu css fix
* showGrip prop addition
* isDragged css fix
2023-10-04 15:56:25 +02:00
Aditya Pimpalkar and Charles Bochet
46ad36061e
feat: reorder kanban columns ( #1699 )
...
* kaban header options
* gql codegn
* moveColumn hook refactor
* BoardColumnContext addition
* saved board columns state
* db call hook update
* lint fix
* state change first db call second
* handleMoveTableColumn call
* codegen lint fix
* useMoveViewColumns hook
* useBoardColumns db call addition
* boardColumns state change from BoardHeader
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-09-27 15:59:44 +02:00
Aditya Pimpalkar and Charles Bochet
cb05b1fbc9
feat: reorder columns from table options ( #1636 )
...
* draggable prop addition
* draggable component addition
* state modification
* drag select state addition
* changed state name
* main merged
* lint fix
---------
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2023-09-19 15:31:21 -07:00
Aditya Pimpalkar and Charles Bochet
321488ad3c
feat: Column title menus ( #1616 )
...
* view field index to float
* gql codegen and package.json
* list implementation
* db call
* reposition logic
* lint fix
* edge case fix
* review changes
* handleColumnMove refactor
* dropdown recoil scope
* rename props
* Update server/src/database/migrations/20230727124244_add_view_fields_table/migration.sql
---------
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2023-09-19 15:27:02 -07:00
Aditya Pimpalkar
a392a81994
fix: hover behaviour on table cells ( #1557 )
...
* edit button focus fix
* cell feedback fix
* using theme prop
* isHovered prop drill
* edit button component
* refactor editable cell
* import fix
* index fix (merge issue)
2023-09-13 16:31:59 -07:00
Aditya Pimpalkar
cdd7890bef
fix: Icon size stroke in MenuItem ( #1545 )
...
* icon size change
* stroke prop
* lint fix
* lint refix
* wrong repo change
2023-09-12 12:54:01 -07:00
Aditya Pimpalkar and Charles Bochet
bcbf303364
Refactor useFilteredSearchEntityQuery to accept multiple filters ( #1526 )
...
* refactoring useFilteredSearchEntityQuery
* refactor with filter addition
---------
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2023-09-10 16:12:16 -07:00
Aditya Pimpalkar
b6eb280639
fix: POC assigning in opportunities ( #1443 )
...
* fix: opportunities-poc-select
* gql codegen
* code review changes
2023-09-10 16:08:44 -07:00
Aditya Pimpalkar
0490c6b6ea
feat: Favorites ( #1094 )
...
* Adding the favorite button
* favorites services and resolvers
* favorites schema
* favorite ability handler
* favorite module export
* front end UI
* front end graphql additions
* server ability handlers
* server resolvers and services
* css fix
* Adding the favorite button
* favorites services and resolvers
* favorites schema
* favorite ability handler
* favorite module export
* front end UI
* front end graphql additions
* server ability handlers
* server resolvers and services
* css fix
* delete favorites handler and resolver
* removed favorite from index list
* chip avatar size props
* index list additions
* UI additions for favorites functionality
* lint fixes
* graphql codegen
* UI fixes
* favorite hook addition
* moved to ~/modules
* Favorite mapping to workspaceMember
* graphql codegen
* cosmetic changes
* camel cased methods
* graphql codegen
2023-08-10 15:24:45 -07:00
Aditya Pimpalkar
09a019da5d
(fix): Filter/sort button positioning ( #928 )
2023-07-25 17:23:34 -07:00