* [server] Move /ready to /startup, and rename code to StartupController (because it's used by the StartupProbe)
Tool: gitpod/catfood.gitpod.cloud
* [server] Introduce special /ready handler that only returns "false" during the shutdown phase
Tool: gitpod/catfood.gitpod.cloud
* [server] Introduce ReadinessController and probe at /ready
Tool: gitpod/catfood.gitpod.cloud
* [server] Move /live and /ready endpoints to a separate express app and port
Tool: gitpod/catfood.gitpod.cloud
* [memory-bank] task-related learnings
Tool: gitpod/catfood.gitpod.cloud
* [server] Introduce `server_readiness_probe` feature flag so we can disable the ReadinessProbe if required
Tool: gitpod/catfood.gitpod.cloud
* docs: formalize Product Requirements Document workflow
- Add PRD workflow to systemPatterns.md as a standardized development process
- Update .clinerules with instructions to follow the PRD workflow
- Update activeContext.md and progress.md to reference the new workflow
This formalizes the process we used for implementing the server readiness probe feature.
Tool: gitpod/catfood.gitpod.cloud
* [server] ReadinessProbe: add redis as dependency
Tool: gitpod/catfood.gitpod.cloud
* review comments
Tool: gitpod/catfood.gitpod.cloud
* [dev] Remove outdated gopls config
Tool: gitpod/catfood.gitpod.cloud
* [server] Fix import
Tool: gitpod/catfood.gitpod.cloud
* [dev] Bump grpc/grpc-js 1.10.8 -> 1.12.6 and authzed/authzed-node 0.15.0 -> 1.2.2
Tool: gitpod/catfood.gitpod.cloud
* [server] Streamline spicedb gRPC client usage and creation options
- instead of doing retries on two levels, rely on the gRPC-level retries
- to mitigate the loss of insights, introduce createDebugLogInterceptor
- client options: use sane defaults derived from the documentation instead of the excessive ones we had in place before
- use "waitForReady" option: it should a) make our calls for responsive on re-connects, while b) - because we keep re-trying on DEADLINE_EXCEEDED - should be as reliable as before
Tool: gitpod/catfood.gitpod.cloud
* [protocol] Centralize grpc.isConnectionAlive
Tool: gitpod/catfood.gitpod.cloud
* [server] SpiceDB client: retry with new client on "Waiting for LB pick" error
Tool: gitpod/catfood.gitpod.cloud
* feat(dashboard): Enhance team onboarding with member avatar and framework selection
- Add OrgMemberAvatarInput component with improved member selection using Popover and Command
- Implement ComboboxDemo for framework selection
- Update Button variant and add cmdk package
- Improve UI components with more flexible selection and filtering
Tool: gitpod/catfood.gitpod.cloud
* fix(orgs): when updating org welcome msg settings, enforce updating `featuredMemberId`
Tool: gitpod/catfood.gitpod.cloud
* A proper fix with existing prebuild list combobox
Tool: gitpod/catfood.gitpod.cloud
* chore: Remove unused cmdk package and related components
- Remove cmdk package from package.json
- Delete Command.tsx component
- Remove unused featuredMemberId state from TeamOnboarding
- Clean up yarn.lock dependencies related to cmdk and radix-ui packages
Tool: gitpod/catfood.gitpod.cloud
* Clean up
Tool: gitpod/catfood.gitpod.cloud
* [docker-up] Minor fixes and add tests
Tool: gitpod/catfood.gitpod.cloud
* [image-builder-bob] Tests&fixes from an experimental PR
Tool: gitpod/catfood.gitpod.cloud
* [supervisor, ws-manager] Write docker credentials into client config file if passed into workspace
Tool: gitpod/catfood.gitpod.cloud
* [server] Introduce project.settings.enableDockerdAuthentication and expose it on the API
Tool: gitpod/catfood.gitpod.cloud
* [dashboard] Add "Docker registry authentication" toggle under projects/env vars
Tool: gitpod/catfood.gitpod.cloud
* [server] Guard project.settings.enableDockerdAuthentication by org write_settings permission
Tool: gitpod/catfood.gitpod.cloud
* review comments with cleanup + small fixes
Tool: gitpod/catfood.gitpod.cloud
* [server] Don't block soft deletion rewinds in `updateDeletionEligibilityTime`
Tool: gitpod/catfood.gitpod.cloud
* Use ISO date strings for comparison
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [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
* UI reorg
* generated stuffs
* Make it woooooooork
* Enterprise workspace list overhaul
Todo:
- [ ] only enable on dedicated installs
- [ ] add org setting for org-wide suggestions
- [ ] possibly adopt `Recommended` badges from figma
- [ ] open configurationId instead of cloneUrl if possible
* Conditionally show top sections
* Refactor PillLabel component usage and improve workspace card layout
* Reduce PR scope
* Behave nicely in dedicated emulated preview envs
* Make Getting started dismissible
* Still show old empty ws page for PAYG
* Use ff to display
* accordions are stylish (and clean u user prefs)
* Approach accordions differently (feat. @geropl)
* Revert things for later
* Get rid of debug logs!
* Use pk colors
* 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>
* Fix prebuild lookup for prebuilds run in reverse-chronological order
* Minor fixes
* 🧹
* Simplify prebuild ordering
* [server] Prefer exact matches plus order incremental matches by commit history
* Do expensive image and prebuild promises in parallel
* [server] Prefer exact matches plus order incremental matches by commit history
* Fix test comment typo
* Do commit index computation once + better logs
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* [server] Extend and fix context parser tests around prebuild discovery
* [server] Add more "prebuild selection" tests to ContextService
* review comments
* [server] Fix order of commits in MockRepositoryProvider to be aligned with actual implementation
Co-authored-by: Filip Troníček <filip@gitpod.io>
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* [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
* [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
* Provide a nicer image build failed message
* an error message that actually shows up
* Tweak error message
* Make env retrieval consistent in supervisor config
* Fix broken docs link in dashboard