* [supervisor] Add Gitpod commit annotation
* server and API changes
* [dashboard] add org setting for commit annotation
* Fix things
* Fix label for annotation switch
* Revert accidental rename
* minor docs fixes
* Add a feature flag for the setting: `commit_annotation_setting_enabled`
* Register hook in the cloned repo instead of under /etc/
* don't override existing hooks
* `gp git-commit-message-helper` to use `git interpret-trailers`
* Test it!
* 🧹 indeed
* Update timestamp of DB migration
* Introduce `max_parallel_running_workspaces` for orgs
* Add migration
* Add UI and org settings server changes
* Rough edges
* Number inputs (:trollface:)
* Move LazyOrganizationService to UBP entitlement service to get rid of circ. dep. errs
* Fix tests
* Update components/gitpod-db/src/typeorm/entity/db-team-settings.ts
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Rename `isPaidPlan` to `isPaidOrDedicated` and get rid of `update_max_parallel_running_workspaces`
* Update components/server/src/workspace/workspace-service.ts
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Deduplicate instance counting logic
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Add WS image metrics to workspace instances
* Update tests
* fix ws-manager-api field description
* [dashboard] Org Insights page
* Pagination, date filters and downloads
* Safety limits for pagination and prettier icons
* UI improvements
* Enhance `from` date to capture whole day
* some more props for the CSVs
* Include git context with workspace responses
* Context url segments in CSV
* ide => editor to align with papi convention
* Remove duplicate fc
* revert route deletion
* Update papi converter tests and revert unecessary changes
* fix error rendering
* partly revert ws api svc changes
* Remove debug lines
* fix proto typo
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Remove org member listing from frontend
* Shorter == better 😎
* Move workspace.metadata.context onto a top-level `WorkspaceSession` property
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [server config] Introduce isDedicatedInstallation, and use it to replace isSIngleOrgInstallation
incl. further cleanup around getConfiguration and server config
* [server, dashboard] Remove enableDedicatedOnboardingFlow feature flag and replace is with getInstallationConfiguration.IsDedicatedInstallation
* [dashboard, server] Remove "sinlgeOrgMode"
* [server] OrganizationService: block createTeam consistently for org-owned users
* [server, dashboard] Introduce "enable_multi_org" feature flag to allow admin-user to create organizations
* [dashboard] introduce "/?orgSlug=", which allows to pre-select an org in a "create workspace" URL (e.g. "/?orgSlug=org1#github.com/my/repo")
* [db] Auto-delete container "test-mysql" if it's already present
* fix tests
* [dashboard] Check if localStorage is available before using it
* [dashboard] SSOLogin: fix orgSlug source precedence to: path/search/localStorage
* [server] Deny "joinOrganization" for org-owned users
* Gpl/970-multi-org-tests (#20436)
* fix tests for real
* [server] Create OrgService.createOrgOwnedUser, and use that across tests to fix the "can't join org" permission issues
* Update components/server/src/orgs/organization-service.ts
Co-authored-by: Filip Troníček <filip@gitpod.io>
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* Add WS image metrics to workspace instances
* Update tests
* fix ws-manager-api field description
* Prefer existing DB values for metrics
* Copy proto comments over to protocol type
* [ws-gc] Additional logging
* typo fix
* test update
* Workspace is active now if it just stopped, started or just got created
* Don't ever GC currently running workspaces
* Fix tests
* Fix tests
* No more async filter predicates
* More prevention logging
* Log all timestamps and don't update `lastActive` when `activeNow === true`
* even cooler timestamps
* Add instance id to log context
* Remove filtering for only non-running workspaces
* add proto
* codegen
* impl
* WIP UI
* make it work
* Make it work
* Empty state
* Update copies (thx Fernando!)
* Fix tip flexbox
* fix newline for role restriction empty state
* When arbitrary repos are restricted, don't suggest them
* Remove project context fetching
* limit projects returned from `ListSuggestedRepositories`
* Get rid of all projects query
* A WIP state
* Enhance search and normalize links
* Revert find project DB changes
* Make repo finder responsible for current selection
* remove debug
* Comments
* Re-use pagination flattening
* Query improvements
* limit pagination
* Add test about keeping length
* Fix test
* Fix repo ordering
* add normalize comment
* Organization timeout defaults proto
* Generated code
* Implement TimeoutSettings on the API layer
* Add timeout setting UI
* Actually change default workspace timeout based on org settings
workspace starter fixes
* Add alert for free plans
* denyUserTimeouts
* [dashboard] Fix check for "timeout config eligibility" by using BillingMode
* [server] Drop FF "disable_set_timeout"
* fix
* Move to team policies
* don't include `timeoutSettings` if not set
* [dashboard] TeamPolicies: Disable "save" if workspace timeouts are disabled
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [prebuilds, workspace-gc] Fix and add tests for not showing soft-deleted prebuilds anymore
* [workspace-gc] Add more explanatory comments
* Apply suggestions from code review
Co-authored-by: Filip Troníček <filip@gitpod.io>
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* redirect in the offline case
* [public-api] generate noise
* [server] Refactor Prebuild resolution to happen in a single place
* [dashboard, api] Show Prebuild details
* fixup! [server] Refactor Prebuild resolution to happen in a single place
* [bridge] Revive Prebuild QUEUED state: it's everything before running
* [server] Fix dead-end for streaming logs when starting too early
* [dashboard] Adds SHA + duration, fix re-rendering when prebuildId changes, and uses the new/old streaming logic
WIP because still has the "duplicate (sometimes triple!) logs" react re-rendering issue
* Prevent unnecessary re-renders of task output
* remove double-comment
* Duration display improvements
* Properly dismiss toasts and render durations
* Remove SHA from prebuild list
* Clean up and implement the `reset` event for workspace logs
* fix comment
* Tiny cleanup
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* [server] allow to update org settings
* [dashboard] allow org-level editor restriction
* Org owned user's editor settings should be restricted too
* Never pass empty array
* Fix user onboarding editors always loading
* Fix incorrect loading state of ide versions
* Show available editors for org owned users
* Update components/dashboard/src/user-settings/SelectIDE.tsx
Co-authored-by: Filip Troníček <filip@gitpod.io>
* Address feedback
* Revert version pin on user settings page
* Add json rpc checking
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* Ensure valid repository tie when listing prebuilds
* Make sure tests have a valid project
* Prettier display of not found entries
* Fix toasters
* Test non-existent configuration
* Refactor error components
* Init prebuilds list
* Text size and color tweaks
* Dropdown filtering UI
* wip changes
* File renames and such
* Filter by state
* fix path
* Add configuration ID filtering
* Prebuild list error state
* Protobuf sorting definition
* API-level sorting
* Simplify pagination
* Fix undefined inference
* Dashboard adopt sort behavior
* make sorting required
* Move ordering 🤷♂️
This will most definetely not solve anything, but...
* Hopefully fix sorting 🤷♂️
* less `as`
* Simplify state check
* Repeated sorting
* Sort out sorting
Sorry :/
* Configuration dropdown WIP
* Make configuration filter disableable
* Use in in SQL
* Minor styling adjustements
* Nav item
* Rename menu item
* Const 🤷♂️
* Always display filter reset opt
* Add prebuild link to prebuild settings
* Simplify
* Don't throw errors
All my homies hate throwing in `server`
* FF hook
* Name failed to load state
* typo
* Better unknown inference
* Add ConfigurationField component to display repository name and link
* Do not retry configuration load
* Move prebuild utils
* Unify sort types
* Refactor PrebuildTable to use arrow function syntax for mapping prebuilds
* fix imports
* Widen triggered column
* Widen even more
* Shorten status labels
* Init ws db tests
* Rename list item comp accordingly
T'was an oopsie doopsie
* Test configuration ids and branches filtering
* Define `ListOrganizationPrebuilds`
* Fix because of name changes
* Add unimplemented `listOrganizationPrebuilds`
* Crazy stuff right here
* Address huiwen's comments
* Fix more types
* sad™
* trrr
* WIP API changes
* Add configuration id and search term filtering
* Filtering
* Offload prebuild listing to prebuild manager
* unused thingy delete
* Add filtering by status
* `listPrebuilds` -> `listOrganizationPrebuilds`
* Configuration filtering could be done with a branch
... what do you say?
* Implement branch filtering
* Update pagination rules
* Fix pagination limit validation error
* Migrate one more
* Fix org id for prebuild listing
* Update components/gitpod-db/src/typeorm/workspace-db-impl.ts
Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
* Apply code suggestions
* Align pagination with config service
* Status filter validation
* Align org id usage
* Revert back to `listPrebuilds`
* Update components/gitpod-db/src/typeorm/workspace-db-impl.ts
Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
* Bring in search
* Fix proj id instead of org id
* Fix search query‽‽‽
* nit 💄
---------
Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
Co-authored-by: Huiwen Huang <huiwen@gitpod.io>
* Adding prebuildsEnabled filter to projects search query
* adding prebuilds_enabled param
* stubbing out UI for prebuild status filter
* mark prebuilds_enabled as optional so we have an undefined state
* ui stuff
* whoopsie
* drop animations for now
* comments
* cleanup
* convert to string
* consider prebuild filter in showing table
* add prebuilds query param
* fix issue w/ fragment around routes preventing 404 handler
* [dashboard] remove unused service mock
* [dashboard] use `GetAuthenticatedUser` instead of `getLoggedInUser`
* fixup: override workspaceAutostartOptions
also fix toDurationString call
* fixup: move `isOnboardingUser` to dashboard
* fixup: move getProfile from protocol to common
* fixup fromWorkspaceAutostartOption
* move getPrimaryEmail to common and clean up
* rm getProfile from protocol, use ProfileDetails
* fixup missing leeway dependencies
* fix getPrimaryEmail
* fix resetting workspace timeout
* [gitpod-db] remove dependency to `@gitpod/public-api-common`
* cleanup BUILD.yaml