- With the support of OIDC we began processing updates to a user's
email and username to stay in sync with the upstream provider. This
can cause issues in templates that use the user's username as a stable
identifier, potentially causing the deletion of user's home volumes.
- Fix some faulty error wrapping.
- move OAuth-related fields off of api_keys into a new user_links table
- restrict users to single form of login
- process updates to user email/usernames for OIDC
- added a login_type column to users
* chore: improve dump error output
- Properly report the error that occurs during the DB connection retry
loop.
- Fail fatally if migration is unsuccessful.
- Problems can arise spawning workspaces if a schemeless URL is passed
as the access URL.
If an access url is detected to not have an "http" or "https" scheme
then it is prepended with "https". If the hostname is detected
to be a loopback device then "http" is preferred.
- If the name is not specified the current working directory
name is used or the name specified by "--directory". This
reflects 'templates create" behavior.
* fix: Add reaper to coder agent
- The coder agent runs as PID 1 in some of our Docker workspaces.
In such cases it is the responsibility of the init process to
reap dead processes. Failing to do so can result in an inability
to create new processes by running out of PIDs.
This PR adds a reaper to our agent that is only spawned if it
detects that it is PID1.
- When a workspace is deleted the user is nudged
to create a new workspace. The page to which they
are routed 404s. This PR simply routes them to the
/templates page where they can pick a template for their
new workspace.
- Previously, specifying 'no' to the tunnel prompt just killed
the process. It should be possible to start the server without
a tunnel and not have the process killed.