Skip to content

Github OAuth App Error - CR DB expects "last_name" field #295

Description

@Franchovy

Hi all,

Having some issues with the Github Integration. I cleared my entire setup to try again from scratch, beginning with the Github OAuth setup.

Reproduction steps:

Start with a clean setup, clone the huly-selfhost repo, and run ./install.sh. Using caddy as a reverse-proxy in front of the nginx container but shouldn't make a difference here.

I created a personal OAUTH app in github, and added the two environment variables (GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET) to the account service. I left the ACCOUNTS_URL in the front container unchanged since it seemed correct.

However, when I try logging in, I get this issue:

{"email":"<myemail>","err":{"code":"23502","file":"errors.go","line":"68","message":"null value in column \"last_name\" violates not-null constraint","name":"PostgresError","routine":"NewNonNullViolationError","severity":"ERROR","severity_local":"ERROR","stack":"PostgresError: null value in column \"last_name\" violates not-null constraint\n    at ErrorResponse (/usr/src/app/bundle.js:65657:31)\n    at handle (/usr/src/app/bundle.js:65414:11)\n    at Socket.data (/usr/src/app/bundle.js:65223:13)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)\n    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)"},"level":"error","message":"Provider login failed","timestamp":"2026-04-30T12:53:15.573Z"}
{"err":{"code":"23502","file":"errors.go","line":"68","message":"null value in column \"last_name\" violates not-null constraint","name":"PostgresError","routine":"NewNonNullViolationError","severity":"ERROR","severity_local":"ERROR","stack":"PostgresError: null value in column \"last_name\" violates not-null constraint\n    at ErrorResponse (/usr/src/app/bundle.js:65657:31)\n    at handle (/usr/src/app/bundle.js:65414:11)\n    at Socket.data (/usr/src/app/bundle.js:65223:13)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)\n    at TCP.onStreamRead (node:internal/stream_base_commons:189:23)"},"level":"error","message":"failed to auth","timestamp":"2026-04-30T12:53:15.575Z","type":"github","user":{"_json":{"avatar_url":"https://avatars.githubusercontent.com/u/13244295?v=4","bio":"\r\n    Constantly engineering.\r\n","blog":"","company":null,"created_at":"2015-07-08T21:06:48Z","email":"<myemail>","events_url":"https://api.github.com/users/Franchovy/events{/privacy}","followers":19,"followers_url":"https://api.github.com/users/Franchovy/followers","following":20,"following_url":"https://api.github.com/users/Franchovy/following{/other_user}","gists_url":"https://api.github.com/users/Franchovy/gists{/gist_id}","gravatar_id":"","hireable":null,"html_url":"https://github.com/Franchovy","id":13244295,"location":"Frankfurt","login":"Franchovy","name":"Franchovy","node_id":"MDQ6VXNlcjEzMjQ0Mjk1","notification_email":"<myemail>","organizations_url":"https://api.github.com/users/Franchovy/orgs","public_gists":1,"public_repos":38,"received_events_url":"https://api.github.com/users/Franchovy/received_events","repos_url":"https://api.github.com/users/Franchovy/repos","site_admin":false,"starred_url":"https://api.github.com/users/Franchovy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Franchovy/subscriptions","twitter_username":null,"type":"User","updated_at":"2026-04-18T13:19:31Z","url":"https://api.github.com/users/Franchovy","user_view_type":"public"},"_raw":"{\"login\":\"Franchovy\",\"id\":13244295,\"node_id\":\"MDQ6VXNlcjEzMjQ0Mjk1\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/13244295?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Franchovy\",\"html_url\":\"https://github.com/Franchovy\",\"followers_url\":\"https://api.github.com/users/Franchovy/followers\",\"following_url\":\"https://api.github.com/users/Franchovy/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Franchovy/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Franchovy/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Franchovy/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Franchovy/orgs\",\"repos_url\":\"https://api.github.com/users/Franchovy/repos\",\"events_url\":\"https://api.github.com/users/Franchovy/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Franchovy/received_events\",\"type\":\"User\",\"user_view_type\":\"public\",\"site_admin\":false,\"name\":\"Franchovy\",\"company\":null,\"blog\":\"\",\"location\":\"Frankfurt\",\"email\":\"<myemail>\",\"hireable\":null,\"bio\":\"\\r\\n    Constantly engineering.\\r\\n\",\"twitter_username\":null,\"notification_email\":\"<myemail>\",\"public_repos\":38,\"public_gists\":1,\"followers\":19,\"following\":20,\"created_at\":\"2015-07-08T21:06:48Z\",\"updated_at\":\"2026-04-18T13:19:31Z\"}","displayName":"Franchovy","emails":[{"value":"<myemail>"}],"id":"13244295","nodeId":"MDQ6VXNlcjEzMjQ0Mjk1","photos":[{"value":"https://avatars.githubusercontent.com/u/13244295?v=4"}],"profileUrl":"https://github.com/Franchovy","provider":"github","username":"Franchovy"}}

Which, my LLM analyzed and saw that there was an unfulfilled requirement for "last_name" coming from the DB.

Workaround:

Signing into the database using:

docker exec -it huly_v7-cockroach-1 ./cockroach sql --insecure --user=selfhost

and entering the DB password (found in .env file).

Then, run:

selfhost@localhost:26257/defaultdb> ALTER TABLE global_account.person ALTER COLUMN last_name DROP NOT NULL;                                                                                                                                        
ALTER TABLE

This effectively drops the requirement for a "Last Name". I'm now able to log in with Github.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions