Upgrade from 1.0 > 1.3 broke twenty

After a recent upgrade i v1.3 I get "an error occured" when logging in. And container logs for twenty-server says this:
Computing new Datasource for cacheKey: 10f069ce-793a-4ada-b841-0bb11359b874-17 out of 0 │
metadata query time: 1.6534839999949327 ms │
Uncompiled message detected! Message: │

> sVtYE5 │

That means you use raw catalog or your catalog doesn't have a translation for the message and fallback was. │
ICU features such as interpolation and plurals will not work properly for that message. │

Please compile your catalog first. │
Computing new Datasource for cacheKey: 10f069ce-793a-4ada-b841-0bb11359b874-17 out of 0 │
metadata query time: 1.6534839999949327 ms │
Uncompiled message detected! Message: │

> sVtYE5 │

That means you use raw catalog or your catalog doesn't have a translation for the message and fallback was. │
ICU features such as interpolation and plurals will not work properly for that message. │

Please compile your catalog first. │
I upgraded from 1.0 to 1.1 to 1.2 to 1.3. I made a db backup in between all upgrades. Not sure if these translation errors have anything to do with the actual problem preventing me from logging in. Are there other logs I should check? Is this a known issue? Did I miss some post-upgrade steps?
42 Replies
flomero
flomero4mo ago
seams to be the same issue thats discussed here: https://discord.com/channels/1130383047699738754/1406698879575130254
EbenezerIbiza
EbenezerIbizaOP4mo ago
I just upgraded to 1.4.0 now. After the upgrade, I still get the blank screen....
EbenezerIbiza
EbenezerIbizaOP4mo ago
If I change to a new browser which has not logged into twenty, I can log in and then I get this briefly:
No description
charles
charles4mo ago
@EbenezerIbiza let's work from there could you share your network tab and specifically the faily requests errors?
EbenezerIbiza
EbenezerIbizaOP4mo ago
Btw. this error disappears WAAAY too fast. Please consider having errors stay around. Yeah, no failed requests. All 200 OK
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
EbenezerIbiza
EbenezerIbizaOP4mo ago
I hope this was what you meant?
EbenezerIbiza
EbenezerIbizaOP4mo ago
I have this also. Not sure if relevant
No description
charles
charles4mo ago
filter on XHR requests I think the metadata queries are actually returning errors, could you check their response it's 200 but that's because graphql standard requires it to always be 200 and errors are embed in the response
EbenezerIbiza
EbenezerIbizaOP4mo ago
I have tried filtering on XHR. Not sure what I am looking for though
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
Huzef
Huzef4mo ago
Click on the file column it will expand the view then look for Response tab
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
Huzef
Huzef4mo ago
this one seems fine, could you repeat it for the 3 other above it?
client-config
metadata
metadata
client-config
metadata
metadata
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
EbenezerIbiza
EbenezerIbizaOP4mo ago
Is this what you're looking for? I dont see any errors in this
Huzef
Huzef4mo ago
Yes, but your backend seems fine
EbenezerIbiza
EbenezerIbizaOP4mo ago
Thats good, I guess 🙂
Huzef
Huzef4mo ago
Could you DM me this full console log
EbenezerIbiza
EbenezerIbizaOP4mo ago
Sure From firefox or from containers?
Huzef
Huzef4mo ago
Firefox
EbenezerIbiza
EbenezerIbizaOP4mo ago
No description
EbenezerIbiza
EbenezerIbizaOP4mo ago
Tried to DM you
Huzef
Huzef4mo ago
Sent you a friend request
subscribe https://REDACTED/assets/index-DVBRJWXR.js:97
index-DVBRJWXR.js:4117:74
subscribe https://REDACTED/assets/index-DVBRJWXR.js:97
index-DVBRJWXR.js:4117:74
can't convert null to object
can't convert null to object
,yke=({objectPermissions:e})=>{const t=e.restrictedFields;return Object.entries(t)
,yke=({objectPermissions:e})=>{const t=e.restrictedFields;return Object.entries(t)
seems to be throwing the error here
EbenezerIbiza
EbenezerIbizaOP4mo ago
So is this unrelated to the stuff that was fixed in 1.4?
pmckeown
pmckeown4mo ago
I'm getting the same issue after upgrading from 1.2 to 1.3. Going then up to 1.4 didn't fix it. Happy to test a patch when it comes out but for now I've downgraded to 1.2 and restored the DB. Stack: Self-hosted in GKE on GCP.
EbenezerIbiza
EbenezerIbizaOP4mo ago
Interesting, so I guess it is not just me then.... What steps did you try? @charles : did you have the chance to look at the errors from @NEO ?
charles
charles4mo ago
Looks good! What timezones are you guys on? Let's schedule some time to check together
EbenezerIbiza
EbenezerIbizaOP4mo ago
CET/CEST Now is good for me. But I am very flexible What TZ are you in? When would be a good time for you?
charles
charles4mo ago
I'll do an Office Hour tomorrow at 11am (Paris time), would it work for you?
EbenezerIbiza
EbenezerIbizaOP4mo ago
Hi. Yes! I have a slot from 1100-1130 CEST Do you want me to DM you a Google Meet link?
Prastoin
Prastoin4mo ago
Hey @EbenezerIbiza if Charles in the end isn't available I will be able to take the call
EbenezerIbiza
EbenezerIbizaOP4mo ago
Excellent!
pmckeown
pmckeown3mo ago
Did you guys come up with a solution? I've just tried to upgrade from 1.2 -> 1.3 -> 1.4 -> 1.5 and I'm still getting the same issue. Deployment works, database is migrated to correct version every time. But after authenticating against our IDP, the redirection halts when the browser gets the page https://<host>/verify?loginToken=<token> Same behaviour happens on Safari, Chrome and Arc. The Authentication against the IDP is fine, redirects back to /verify where lots of subsequent requests for /client-config and /metadata etc are successful with 200 responses from the server, but I am seeing this error in one of the calls to /metadata:
{
"errors": [
{
"message": "column ObjectMetadataEntity.isUIReadOnly does not exist",
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"userFriendlyMessage": "An error occurred."
}
}
],
"data": null
}
{
"errors": [
{
"message": "column ObjectMetadataEntity.isUIReadOnly does not exist",
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"userFriendlyMessage": "An error occurred."
}
}
],
"data": null
}
I'm self-hosting, on GCP Kubernetes. I've taken a backup again at 1.2, and have rolled back so we can use the system. @Prastoin Any ideas?
Prastoin
Prastoin3mo ago
Hello @pmckeown you're missing a migrate from previous version Please review your workspace version in database, core.workspace.version
pmckeown
pmckeown3mo ago
Ahh that makes sense. My workspace version is back to 1.2.1. Any clue as to which might have been missed? Looks like this one: https://github.com/twentyhq/twenty/blob/d308f5adf905c889d773c10ad0466dd08a227f1e/packages/twenty-server/src/database/typeorm/core/migrations/common/1755000000000-addIsUIReadOnlyToFieldMetadata.ts Doesn't seem to be an easy way to determine which set of ORM migrations relate to a particular release?
EbenezerIbiza
EbenezerIbizaOP3mo ago
I recently upgraded from 1.5 to 1.6. Since then, I can log in and when I do, it opens Settings. However, I cannot seem to exist Settings. If I click the X in the top, it just goes to settings again. If I go to /objects/companies directly by entereing the URL, it will show me the companies list. But if I go to the "main page" I am sent to Settings I have verified both app version and db version: v1.6.7 version --------- 1.6.7 (1 row) Output from
echo 'echo $APP_VERSION; exit' | podman exec -i twenty-server /bin/sh
echo 'SELECT version FROM core.workspace;' | podman exec -i twenty-db psql -U twenty
echo 'echo $APP_VERSION; exit' | podman exec -i twenty-server /bin/sh
echo 'SELECT version FROM core.workspace;' | podman exec -i twenty-db psql -U twenty
Prastoin
Prastoin3mo ago
Hello there please create a dedicated help thread 🙏 You can view the file and change its versioning using all the tag until it disapears
pmckeown
pmckeown3mo ago
OK so this was a tricky one to pin down. For others I will describe the issue and fix. Upgrading from 1.2.1 to 1.3.1 has a breaking change in that if a user's email account is not marked as verified, when they are redirected back from the AuthN provider (Microsoft in our case) the authentication process stops at the browser having loaded the /verify?loginToken=eyJhbG... URL.
Some requests are made from the browser here, and this one to /metadata is the failing with the attached error. Once the user.isEmailVerified record is marked as true, the user can log in again.
Please add this to the release notes or something for 1.3.1 to avoid this hassle for others.
No description
kmbuthia
kmbuthia3mo ago
Thank you for sharing this! I keep coming across a lot of people facing challenges upgrading and that makes me very nervous about continuing to self-host Twenty. I hope the Twenty team are taking note of all these migration issues.

Did you find this page helpful?