-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH-4797 Implement websockets [WIP] #5237
GH-4797 Implement websockets [WIP] #5237
Conversation
we discussed some changes to be made over Discord, amazing work!!! |
import { ObjectRecordUpdateEvent } from 'src/engine/integrations/event-emitter/types/object-record-update.event'; | ||
|
||
@Injectable() | ||
export class EventsListener { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Naming feels too generic, every listener is an event listener :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: Ideally we don't want to mix graphql annotations with existing classes (your services could use those classes and don't want to be tied to a particular API strategy such as REST or GraphQL), even more true with typeorm entities and we create dtos/input specific to graphql (but you can provide a name in the @ObjectType decorator so they keep the same name in the schema if needed)
Closes twentyhq#5113 --------- Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com>
### Description Add Relation Id to Table in CSV exports ### Demo Before: <https://www.loom.com/share/c853cf32767947dcb23a91363bff52c4?sid=0295b6ee-4510-47f8-8ba9-b81b5182985a> After: <https://www.loom.com/share/5aa4f87a266c4d96881170a38e063fc0?sid=44eed60c-01a2-406f-9bac-af162e39b66e> Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com> Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: Chiazokam <chiazokamecheta@gmail.com>
### Description Enable phone field type ### Refs twentyhq#2700 ### Demo https://github.com/twentyhq/twenty/assets/140154534/e9810718-9916-4ad4-a080-4d718777de15 Fixes twentyhq#2700 --------- Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
## Context Currently, this middleware validates the token and stores the user, workspace and cacheversion in the request object. It only does so when a token is provided and ignores the middleware logic if not. If the token is invalid or expired, the exception is swallowed. This PR removes the try/catch and adds an allowlist to skip the token validation for operations executed while not signed-in. I don't know a better way to do that with Nestjs. We can't easily add the middleware per resolver without refactoring the flexible schema engine so I'm doing it the other way around. Fixes twentyhq#5224
- Add placeholders in db connection edit page - Fix icon alignement and size (should not change) in Info banner
## Context Those settings are not implemented yet, we would like to move them to a different page as well. In the meantime, we are hiding them since we plan to launch calendar in the next release and this won't be implemented before. We will implement it in this twentyhq#5140
While troubleshooting self-hosting migration, we run into issues with sync-metadata script introduced by recent changes
Adding stripe integration by making the server logic independent of the input fields: - query factories (remote server, foreign data wrapper, foreign table) to loop on fields and values without hardcoding the names of the fields - adding stripe input and type - add the logic to handle static schema. Simply creating a big object to store into the server Additional work: - rename username field to user. This is the input intended for postgres user mapping and we now need a matching by name --------- Co-authored-by: Thomas Trompette <thomast@twenty.com>
…entyhq#5232) ## Context We have a non-nullable constraint on authorId in attachments and documents, until we have soft-deletion we need to handle deletion of workspace-members and their attachments/documents. This PR introduces pre-hooks to deleteOne/deleteMany This is called when a user deletes a workspace-member from the members page Next: needs to be done on user level as well. This is called when users try to delete their own accounts. I've seen other issues such as re-creating a user with a previously used email failing.
## Context We recently introduced a change that now throws a 401 if the token is invalid or expired. The first implementation is using an allow list and 'IntrospectionQuery' was missing so the playground was broken. The check has been updated and we now only check the excludedOperations list if a token is not present. This is because some operations can be both used as loggedIn and loggedOut so we want to validate the token for those sometimes (and set the workspace, user, cache version, etc). Still not a very clean solution imho.
Various fixes - Remote objects are read-only for now, we already hide and block most of the write actions but the button that allows you to add a new record in an empty collection was still visible. - CreatedAt is not mandatory on remote objects (at least for now) so it was breaking the show page, it now checks if createdAt exists and is not null before trying to display the human readable format `Added x days ago` - The filters are overwritten in query-runner-args.factory.ts to handle NUMBER field type, this was only working with filters like ``` { "id": { "in": [ 1 ] } ``` but not with more depth such as ``` "and": [ {}, { "id": { "in": [ 1 ] } } ] ``` - Fixes CREATE FOREIGN TABLE raw query which was missing ",".
- Fixes storybook coverage command: the coverage directory path was incorrect, but instead of failing `storybook:test --configuration=ci`, it was hanging indefinitely. - Switches back to `concurrently` to launch `storybook:static` and `storybook:test` in parallel, which allows to use options to explicitly kill `storybook:static` when `storybook:test` fails. - Moves `storybook:test --configuration=ci` to its own command `storybook:static:test`: used in the CI, and can be used locally to run storybook tests without having to launch `storybook:dev` first. - Creates command `storybook:coverage` and enables cache for this command. - Fixes Jest tests that were failing. - Improves caching conditions for some tasks (for instance, no need to invalidate Jest test cache if only Storybook story files were modified).
## Context There is no calendarChannel syncStatus column compared to the messageChannel table. In the meantime, we are trying to infer its status based on the fact that the connection hasn't failed and the sync is enabled
While using middleware (executed pre-graphql) for graphql endpoint, we need to swallow exception and return errors with a 200. Otherwise it's not a valid graphql response
As title. Only relations are exported right now Co-authored-by: Thomas Trompette <thomast@twenty.com>
As title Co-authored-by: Thomas Trompette <thomast@twenty.com>
- Added dynamic OG Image to share and download in contributors page <img width="1176" alt="Screenshot 2024-05-02 at 16 24 00" src="https://github.com/twentyhq/twenty/assets/102751374/0579454b-ccc7-46ba-9875-52458f06ee82"> - Added dynamic metadata - Added design to contributor page - Added a NEXT_PUBLIC_HOST_URL in the .env file Co-authored-by: Ady Beraud <a.beraud96@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
## Context Positions are used within a view to display and sort the different records of standard/custom object. When we add a new record and want to put it before the existing first record, we have to use float values to insert them in the DB and respect the desired order. We are adding a new command that can be executed to flatten those positions. --------- Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
Remove Calendar feature Flag!
The whole viewBar component was re-rendered on view changes which was introducing performance issue. The need was to compute page title, this should be done in a lower level component
As per title! Bumping to 0.11.1 as we have already merged a few minor upgrades on top of 0.11
Hey @i-am-chitti really eager to see this!!! Thanks for your work. We're trying to limit the number of PR opened so I will close this for now but please re-open it/create a new one as soon as you want feedback from us! Thanks |
Description
This PR is under WIP.