* [context parser] Check current ref for Docker image existence
* Better builder bob errors from supervisor
* Gently soft-fail when the Dockerfile isn't found
* Add warning to ws metadata when starting workspace
* Introduce a magic constant instead of empty strings
* Improve supervisor failed reading bob log error
* Fixup cloning our special SHA
* idk what happened
* let workspaces start even on invalid docker refs
* 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
* Add `GetConfigurationWebhookActivityStatus` to proto
* codegen
* `GetConfigurationWebhookActivityStatus` impl
* give it a UI
* Revert trigger strategy on webhook event
* debug: enable webhooks again
* fix UI
* maybe fix build?
* Automatically convert to activity-based prebuilds
* 🤷♂️
* don't limit to a week when converting to activity-based
* Change copy
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Less cyclic deps
* removing warning and add informative trigger strategy field
* fix sizing of prebuild trigger strategy info
* Revert "debug: enable webhooks again"
This reverts commit 1c47067734b9f19bbe7e72522eab387fec6022b5.
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* proto update
Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: Gero Posmyk-Leinemann <32448529+geropl@users.noreply.github.com>
* dashboard + server
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: Gero Posmyk-Leinemann <32448529+geropl@users.noreply.github.com>
* 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>
* Start prebuilds on started workspaces
* Fix circl dep
* move out to workspace creation
* Do it in the workspace service
* remove webhook tests
* remove webhook handling code
* Revert "remove webhook handling code"
This reverts commit d7c4550ec6b16091344607bfeee234b1f0e5705b.
* Anotate new setups with an `activity-based` activation strategy
* Update tests
* Alert banner
* add correct changelog path
* fix tests
* Remove code for registering prebuilds
* Still pass prebuild preconditions in order to run
* Re-add link to prebuild history of a repo
* Rename to trigger strategy and change project activity indicator
* 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>
* Image builds in prebuilds UI
* update java gitignore
* Introduce a public API `watchWorkspaceImageBuildLogs`
* Use papi impl in prebuild logs
* Special case for missing prebuild tasks
* Add route handler for image build logs
* remove the papi method
* 404 if nothing was written
* remove unused converter changes
* update golden files
* Remove unused hook
* reset backoff when imagebuild logs are not ready
* Handle unavailable logs better
* revert adding unused dep
* Fix test
* Do not use `null`s and refactor disposables
* revert disposable changes
* Add gero's comments
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* Fix handling multiple repos with same context URL
* Fix projects name in import view
* list items fix
* Exclude projs when excluding projs!
* Make it work™
* update tests real quick
* Figure stuff out
Merge ws projects with project projects and clean up ws projects whose projects no longer exist
* 💄
* Revert ordering to keep things stable
* Add repo migrate coachmark
* Public API: `coachmarksDismissals`
* Early exit for new signups
* Try to inject dismissal to link
* Dismiss on path visit
* Align to the left
* Dismiss on trigger
* Simplify show logic
Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
* Consider `showPrebuildsMenuItem` when hiding projects
* update tests
* Adjust date for testing
* fix projects hide condition
* Fix repo link id ref
* Do not dismiss accidentally
* up-date
* move prebuild detail to correct folder
* Make sure errors are displayed properly for prebuilds list
* don't throw
* Report dismiss
---------
Co-authored-by: Siddhant Khare <siddhant@gitpod.io>
* 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>
* Define `ListOrganizationPrebuilds`
* Fix because of name changes
* Add unimplemented `listOrganizationPrebuilds`
* Crazy stuff right here
* Address huiwen's comments
* Fix more types
* sad™
* Add configuration id and search term filtering
* Update spicedb schema
* SpiceDB gen code
* [server] add collaborator
* Update papi
* Dashboard
* nit
* Complete TODOs
* server dataops pass teamId
* Add test cases for collaborator's PAT and cookie API fetch
* Add test case description
* remove unnecessary export
* Redirect to dashboard after join an org
* Hide settings for collaborator
* dataops join via oidc should be collaborator
* Fix test
* Goes back to /workspaces
* Setting up saving and error state on prebuild settings
* cherry picking in backend work that updates some of the scm errors when installing webhooks for prebuilds
* updating tests
* adding placeholders for prebuild error cases
* adding isMissingScopes to error
* updating error messaging
* update tests
* adding toasts to projects settings for prebuild errors
* updating generic message styles
* Update components/dashboard/src/projects/ProjectSettings.tsx
Co-authored-by: Filip Troníček <filip@gitpod.io>
* Apply suggestions from code review
Co-authored-by: Filip Troníček <filip@gitpod.io>
* adjusting enabled state lookup
* updating again
* adding missing deps
---------
Co-authored-by: Filip Troníček <filip@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