twentyhq / twenty Goto Github PK
View Code? Open in Web Editor NEWBuilding a modern alternative to Salesforce, powered by the community.
Home Page: https://twenty.com
License: GNU Affero General Public License v3.0
Building a modern alternative to Salesforce, powered by the community.
Home Page: https://twenty.com
License: GNU Affero General Public License v3.0
We are already retrieving email, first name, last name from google.
We could also retrieve profile picture.
The profile picture will come as an URL, if we store it directly in our DB this won't work because we are currently storing relative path to our own storage in backend
I see two alternatives:
To keep it simple, I would go for the second option :
https://stackoverflow.com/questions/18264346/how-to-load-an-image-from-url-into-buffer-in-nodejs
Front only
From SyncLinear.com | T-325
On Companies and People tables
From SyncLinear.com | T-279
TBD if this task is mostly Front or Front + Back, depending on if T-280 is done before or after this one
Related: #238
From SyncLinear.com | T-55
Maybe we should deactivate linting for this folder instead because it's painful to wait so long for linting-generated code.
With the current setup it's easy to inadvertently erase a lot of records by mistake.
We should show a toast that defers sending the deletion request by a few seconds.
The deletion shouldn't still happen if I move to a new page.
See prototype here: https://www.figma.com/file/xt8O9mFeLl46C5InWwoMrN/Twenty?type=design&node-id=5215-59367&mode=design&t=3yzJPjValanNrceO-4
Concurrency issue between Postgres and Hasura
Setup failed for me because Postgres started right before Hasura, therefore Hasura failed to connect to the DB.
The solution was to restart the Hasura container once Postgres had been fully loaded.
Metadata issue
Second issue was that metadata were not in sync with migrations. The column deleted_at was missing, either from the model or from the db, I'm not sure.
From SyncLinear.com | T-287
Coming soon item in the navigation menu are to heigh 28px instead of 24px.
From SyncLinear.com | T-280
Implement scoping of recoil atomFamily by using a generic react context.
The idea is to create a RecoilScope component that will be used to wrap a hierarchy of components.
Each component or hook called inside a RecoilScope component can then use something like :
useRecoilState(myAtomFamily(useContext(RecoilScopeContext)))
Which can be factorized to :
useRecoilState(myAtomFamily(useRecoilScope()))
See atomFamily documentation here : https://recoiljs.org/docs/api-reference/utils/atomFamily/#example
I should be able to field first name > tab > last name > tab > email > tab > company > tab, etc.
From SyncLinear.com | T-268
From SyncLinear.com | T-289
Since entity chips can have different max width, whether they are used in a table cell or a entity picker, they should handle themselves the text that is overflowing the max width.
We should also find a way to fix their max width :
Currently each time we select / deselect an entity from the multi relation picker, it shows up empty during the network roundtrip, then shows the incoming data.
Here are 3 ways of doing it :
Current behavior :
Expected behavior :
It should be fixable by adding the right request in the refetch query array of some request in the page related to comment threads.
From SyncLinear.com | T-291
And apply it on every updateOne mutations
From SyncLinear.com | T-288
New scope for this ticket:
Put all the FilterDropdownState information in a recoil state or context
read this state from FilterDropdown components to display the right dropdown content
make this "generic"
use DropdownMenu hook to pilot the dropdown itself
use existing filterDefinition recoil state to communicate with view system
query GetCommentThreads($commentThreadTargetIds: [String!]!) {
findManyCommentThreads(where: {
commentThreadTargets: {
some: {
commentableId: {
in: $commentThreadTargetIds
}
}
}
}
orderBy: {
comments: {_count}
}
){
id
comments {
id
body
createdAt
updatedAt
author {
id
displayName
avatarUrl
}
}
}
}```
null
How it should look on mobile:
From SyncLinear.com | T-233
From SyncLinear.com | T-56
From Logout button in settings panel
From SyncLinear.com | T-322
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.