188 Commits

Author SHA1 Message Date
Huiwen
62c573a453
Add default image get to PAPI and improve Dashboard (#18767)
* [server] update getDefaultWorkspaceImage api

* [dashboard] api usage update

* [protocol] add go definition

* [papi] add getDefaultWorkspaceImage method

* fixup

* [dashboard] add org image warning to start workspace page

* fix error wrap

* Update supervisor to use publicApi

* [dashboard] always show default image and remove tag width limit

* fixup

* move new warning to StartPage

* Update components/dashboard/src/teams/TeamSettings.tsx

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* Address feedback

---------

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2023-09-22 11:58:01 +02:00
Gero Posmyk-Leinemann
af88bed373
[server, dashboard] Remove api.maySetTimeout (+ code cleanup in User- + EntitlementService) (#18769)
* [dashbaord, server] Remove api.maySetTimeout

* [server] Remove dead code in Entitlement- and UserService

* review comments
2023-09-22 11:03:01 +02:00
Huiwen
a2b5b00db1
[server,dashboard] improve org default image input placeholder (#18746)
* [server,dashboard] improve org default image input placeholder

* fix build failed

* Use null instead of `NULL_TO_UNDEFINED`

* fixup

* fixup toast not shown
2023-09-20 10:03:59 +02:00
Alex Tugarev
cb3a7f00c6
Add "Enable Prebuilds" to Project Settings – EXP-573 (#18698)
* cleanup: remove obsolete remainings of /prebuild prefix

* Add Project.settings.enablePrebuilds

* PrebuildManager.shouldPrebuild to consider Project.settings.enablePrebuilds

* Don't install webhooks on project creation

* foreseeable change: don't prefetch project details

* fix: unused imports

* redirect to project settings on project created

* don't trigger prebuilds on project created

* fix: get rid of many ListProjects requests on Settings page

* Project Settings: add checkbox for "enable prebuilds"

* handle "enable prebuilds" in server

* updating PAPI

* fixup

* fixup

* make PrebuildManager require a Project to work on

* also SCM webhook handlers
* move project usage registration to PrebuildManager

* address feedback on useListProjectsQuery and  useCurrentProject

* remove empty class name attributes

* make use of <InputField> as wrapper for <SelectWorkspaceClassComponent>

* fixup <SelectWorkspaceClassComponent> width

* update hint on "Enable Prebuilds" action

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* fix "enablePrebuild" handling

* add [Enable Prebuilds] button to "Project Created" page

* show detailed prebuild setting only if prebuilds are enabled

* drive-by: fix max width on "Remove Project"

* fix: re-add `loading` state to `useCurrentProject` hook

this caused an issue with loading components as `useListProjectsQuery.isLoading` is false initially.

* add "Enable Prebuilds" to project card

* fixup project-context.tsx

state should only be updated if `useListProjectsQuery` is loaded.

* fixup button type

* add hint to create a .gitpod.yml

* Apply suggestions from code review

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* remove unnecessary !

* extract Project.isPrebuildsEnabled

* fixup: add missing await

* render "Learn more" if not enabled, too.

* fix getCloneUrl for BBS

* fix getCloneUrl for GitLab

---------

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2023-09-15 09:07:54 +02:00
Brad Harris
fa3010a305
Adding getSuggestedRepositories method (#18681)
* Adding getSuggestedRepositories method

* accounting for lastUse better

* limit to org

* remove repoName for now

* add checks

* cleanup

* remove repositoryName for now

* cleanup

* removing repo name for now

* adding tracing
2023-09-12 17:11:52 +02:00
Brad Harris
25c949e976
Incremental repo searching (#18566)
* Wiring up api repo searching for bitbucket server

* adding lodash.debounce dep

* add lodash.debounce types

* Hiding account for bitbucket server

* print host only

* adjust loading state to not be totally blocking

* adjust filtering and query key

* support fetching recent repos

* use search params instead of strings

* adjusting loading component

* cleanup

* wrap incremental search code w/ feature flag

* yarn lock updates

* adding a limit to grab only the first 100 repos

* rename for clarity

* change to call in series to reduce rate limit chances

* renaming cap => maxPages

* fixing some stuttering widths changing as things load

* add alert message for bbs searching
2023-08-24 00:36:49 +02:00
Alex Tugarev
3ba583c710
[server] add searchString to getRepositoriesForAutomatedPrebuilds – EXP-461 (#18533)
* [server] add `searchString` to `getRepositoriesForAutomatedPrebuilds`

* reintroduce and fix paginated requests

* using a default cap at 10 requests per paginated request

* make getProviderRepositoriesForUser cancellable
2023-08-17 15:04:43 +02:00
Gero Posmyk-Leinemann
9acc185fe5
[server] Merge WorkspaceDeletionService into WorkspaceGC (#18410)
* [server] Merge WorkspaceDeletionService into WorkspaceGC

* [server] WorkspaceService.getOwnerToken + .getIDECredentials

* review comments

* [server] Cleanup around EntitlementService and BillingMode
2023-08-07 13:38:32 +08:00
Anton Kosyakov
b3ae12f956
git real time (#18323) 2023-08-03 20:51:28 +08:00
Alex Tugarev
29ace4982b
[server] Remove obsolete (Theia) User Storage Resource (#18377)
* [server] Remove obsolete (Theia) User Storage Resource

* more cleanup
2023-08-01 15:48:26 +08:00
Sven Efftinge
075e14c47f
[build] enabled some eslint rules (#18165) 2023-07-04 22:32:21 +08:00
Thomas Schubart
3185a1f88f
[server] Set maximum workspace lifetime (#17919) 2023-07-04 22:22:21 +08:00
Sven Efftinge
caf26b812d
[server] remove getUserProjects (#18093) 2023-06-29 16:30:47 +08:00
Sven Efftinge
248a00eaa8
[server] clean up org-only migration code (#17939) 2023-06-22 15:03:12 +08:00
Milan Pavlik
0777246800
Remove getContentBlob Upload/Download URL (#17983)
* Remove getContentBlob Upload/Download URL

* fix
2023-06-21 16:18:11 +08:00
Milan Pavlik
cf84bf01a7
[server] Remove hasPermission rpc (#17981) 2023-06-20 21:24:11 +08:00
Brad Harris
27f539cbad
track a verificaitonId during phone verification (#17898)
* track a verificaitonId during phone verification

* use snake case property names for tracking

* validate verificationId is uuid

* move validation into service

* typo in error msg
2023-06-12 22:42:02 +08:00
Gero Posmyk-Leinemann
f0f3dfe7bb
[server] Removed deprecated api.getEnvVars (#17832) 2023-06-07 19:01:58 +08:00
Alex Tugarev
9f6b6c0943
Validate cloneUrl agains accessible repositories – WEB-402 (#17809)
* [orgs] Disallow creating Projects under User

* [Projects] Validate cloneUrl against accessible repositories

* fixup condition in createProject
2023-06-05 20:49:56 +08:00
Sven Efftinge
44e92bfd2b
Show migration message after migration (#17672) 2023-05-24 02:08:57 +08:00
Sven Efftinge
28e3649850
Org slugs are kept in sync with name (#17596) 2023-05-12 20:42:57 +08:00
Brad Harris
2eaf257d89
removing setup intent related code (#17539) 2023-05-10 01:41:54 +08:00
Alex Tugarev
af796f2825
[server] Compute state of Dedicated Onboarding (#17466) 2023-05-03 14:27:41 +08:00
Sven Efftinge
d18edfe28c
[orgs-only] Show Information before migration. (#17319) 2023-04-25 15:39:45 +08:00
Milan Pavlik
eb2ceadb76
[server/dash] Remove license RPCs/view WEB-214 (#17342)
* [server/dash] Remove license RPCs/view

* remove licence refs

* Fix

* fix
2023-04-24 22:29:45 +08:00
Alex Tugarev
b7872c1372
Remove deprecated and unused getPortAuthenticationToken method (#17321) 2023-04-24 16:02:45 +08:00
Brad Harris
0f88afefb8
adding backend support for payment intents (#17309)
* adding support for payment intents

* support payment intents in server

* handling new arg

* adjust hold to be 1.00

* removing old comment
2023-04-22 03:05:42 +08:00
Gero Posmyk-Leinemann
ae37d8c1ab
Remove api.isStudent and all connected code/DB (#17275)
* [server, dashboard] Remove isStudent

* [server] Remove hasEducationalInstitutionSuffix and swot-js

* [db] Clean EduEmailDomainDB model

* [db] Drop d_b_edu_email_domain

* [yarn] Remove swot-js from yarn.lock

* [db] Remove d_b_edu_email_domain from tables.ts

* Fix
2023-04-19 15:58:51 +08:00
Gero Posmyk-Leinemann
7635623980
Purge all Chargebee-related API methods (#17262)
* [server] Remove unused Chargebee-related payment APIs

* [server] Handle all permission cases for operations on attributionIds

* [server] Leftover import

* fix build
2023-04-18 19:54:50 +08:00
Milan Pavlik
973c455964
[server] Remove TermsProvider - unused - WEB-167 (#17252)
* [server] Remove TermsProvider - unused

* fix

* fix

* fix
2023-04-18 17:48:50 +08:00
Sven Efftinge
c44aa18c28
[workspace list] filter by org (#17228) 2023-04-17 17:48:49 +08:00
Sven Efftinge
b12678bde1
remove generic notifications (#17217) 2023-04-14 13:57:53 +02:00
Jan Keromnes
f7101c5aed
Implement user account verification with LinkedIn during onboarding (#17074)
* Implement user account verification with LinkedIn during onboarding

* updating connect with linked-in banner

* removing unused imports

* Store token, fix binding

* Refactor LinkedInToken to LinkedInProfile

* Actually write the LinkedIn secret to the server config

* Fetch LinkedIn user profile and email address

* Add creationTime column to d_b_linked_in_profile

* Add more debug logging

* Fix LinkedIn API calls, mount LinkedInProfileDB

* Also bind LinkedInProfileDB

* Add LinkedIn scope r_liteprofile

* Enhance LinkedIn profile retrieval, store the profile, ensure uniqueness

* Align with UX spec and complete onboarding flow

* Prevent the LinkedIn button from auto-submitting the onboarding form

* Address nits (LinkedInService to /src and minor spacing)

---------

Co-authored-by: Brad Harris <bmharris@gmail.com>
2023-04-12 16:39:52 +02:00
Sven Efftinge
d91fbff30d
[Create WS] Various fixes (#17135)
* [server] normalize contextURL

* [create workspace] only create one workspace

- respect referrer context
- useWorkspaceContext returns null instead of being disabled
when contextUrl is undefined

* [dashboard] immediately show running workspaces
2023-04-11 10:07:50 +02:00
Huiwen
0bc795bd28
Allow to disable workspace sharing in team settings (#17042)
* server impl

* dashboard

* dashboard improve

* 1

* add permission check

* update error message

* improve mutation

* 💄

* * remote `deleted` field in respond
* dashboard use new data from server

* update db select

* address UI feedback

* disable query when no org loaded yet

* rename team to org

* allow to stop sharring always

* fix

* Fix

* Fix

* Fix

* Fix

---------

Co-authored-by: Anton Kosyakov <anton@gitpod.io>
Co-authored-by: Brad Harris <bmharris@gmail.com>
Co-authored-by: Milan Pavlik <pavlik.mil@gmail.com>
2023-03-27 23:10:25 +02:00
Alex Tugarev
275e782341
[Orgs] Persist slug (#16923)
* [orgs] Persist `slug`

* [Orgs] Make `slug` changeable on Settings page

* update to use input/button components and mutation

* [papi] Re-add Team.slug

---------

Co-authored-by: Brad Harris <bmharris@gmail.com>
2023-03-24 10:51:16 +01:00
Sven Efftinge
581408def5
[dashboard] make new workspace aware of project (#16742) 2023-03-09 11:30:45 +01:00
Gero Posmyk-Leinemann
9382e36bcd
[server] Implement cancelTeamSubscription (#16663) 2023-03-06 09:28:03 +01:00
Brad Harris
7e15f6d793
Report ErrorBoundary from Dashboard (#16647)
* adding a reportErrorBoundary method

* temp test of error boundary

* adding a fallback for error.mesage

* remove test code

* removing unintentional change

* Dropping url from metric label, feedback changes
2023-03-06 09:02:03 +01:00
Christian Weichel
da4cafd5e5
Gitpod OIDC Identity Provider (#16482)
* Prototype IDP provider

* [gp cli] Add IDP commands

* [public-api] Remove zitadel based IDP implementation

* [gitpod-cli] Add IDP support for Vault

* [idp] Remove per-org IDP

* [idp] Add key cache and random key IDs

* [idp] Defer GetIDToken authorisation to server

* [idp] Add Redis public key cache

* [gitpod-cli] Hide IDP commands

* [idp] Add key ID to JWT

* [idp] Add unit tests

* [idp] Adress review comments

* [public-api-server] Use logging middleware globally

* [public-api-server] Simplify service registration

* [idp] Add Redis outage resilience
2023-03-03 17:11:01 +01:00
Pudong
5ee2a66b13
[dashboard, server] Add global custom timeout preference (#16503)
* [dashboard] add custom global timeout user preference

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>

* [server] allow user custom global timeout

* [server] add `supportConfigureWorkspaceTimeout` and `updateWorkspaceTimeoutSetting` api

* [dashboard] use new api to configure workspace timeout setting

* [dashboard, server] use maySetTimeout

---------

Co-authored-by: George Tsiolis <tsiolis.g@gmail.com>
2023-03-03 09:30:00 +01:00
Gero Posmyk-Leinemann
9d2d729b37
[server] Implement tsAddMembersToOrg (#16638) 2023-03-02 17:44:00 +01:00
Alex Tugarev
aa49b87cca
[dashboard] Add "Switch to pay-as-you-go" page (#16488)
* [server] add tsCancel to support Switch-to-PAYG

* [server] relax Stripe-check for switchToPAYG

* [server] fix faulty guard in deleteUser

* [dashboard] add "Switch to pay-as-you-go" Page
2023-02-24 16:27:54 +01:00
Gero Posmyk-Leinemann
b21e2f276a [server] Create nudges for all Chargebee Personal/Team Subscription/Team Subscription 2 owners 2023-02-22 11:02:52 +01:00
Gero Posmyk-Leinemann
632f872b3c [server, dashboard] Extend getNotifications to: AppNotification 2023-02-22 11:02:52 +01:00
Anton Kosyakov
532513a848 fix #12208: gp env to respect workspace env vars 2023-02-20 18:36:50 +01:00
Huiwen
0810836f85 [server,dashboard] add endpoints to get ide credentials 2023-02-15 08:44:19 +01:00
Sven Efftinge
0c0178b610 [server] pass organizationId to create ws 2023-02-14 12:07:19 +01:00
Milan Pavlik
db05a7f5be [server] Typed workspace region 2023-02-10 15:26:15 +01:00
Filip Troníček
880f186042 gp timeout set and gp timeout show to echo back the server-interpreted display duration
This means that 1439m doesn't become "1439 minutes", but rather "29 hours and 59 minutes"
2023-02-10 11:38:15 +01:00