* 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>
* [PAPI] Retry steams upon not receiving data for 10 seconds
* [PAPI] Retry steams upon not receiving data for 10 seconds (#20176)
* debug message
* Do not listen for ws updates globally and do not timeout for those calls
* Timeout signal as a getter
* use ff for disablement
* accesor fn => getter
* send empty initial data in papi for global ws watch requests
---------
Co-authored-by: Gero Posmyk-Leinemann <gero@gitpod.io>
* 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>
* [json-rpc] Fix encoding of watchImageBuildLogs data to number[]
Because json-rpc can't handle complex objects like UInt8Array properly.
Conversion is done using "Array.from(UInt8Array)" and "new UInt8Array(data)"
* [dashboard] Fix "workspaceId is required" errors
* Review suggestions
Co-authored-by: Filip Troníček <filip@gitpod.io>
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
Refactor the tooltip for displaying the last active time of a workspace in the WorkspaceEntry component. The tooltip now shows the relative time (e.g. "2 days ago") as visible text and the exact date and time with GMT offset on hover. It uses the dayjs library for date formatting and relative time calculation. Additionally, it handles potential undefined dates with a fallback to the current date and removes the leading zero from single-digit GMT hour offsets.
* [supervisor] Make sure we read the last chunk of message when task is closed
* [server, dashboard] Prebuild logs: stream as UInt8Array instead of string, and make sure we send the last chunk before closing the response
* Make log buffer more efficient
Merging done with `TypedArray.prototype.set()` as suggested here:
https://stackoverflow.com/a/73074813/10199319
* [dashboard] PrebuildTaskTab: use hash(err.message) as toastId
* [server] prebuild logs: Only call res.end after a timeout, so clients can continue reading from the stream
* [dashboard] prebuild logs emitter: If we receive code "200", forward prefixChunk, and stop streaming
* fixup! [dashboard] PrebuildTaskTab: use hash(err.message) as toastId
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
* Lock logs replaying to prevent overflowing xterm
* Chunk on the workspace logs side
* Revert to previous workspacelogs event emitter type
* remove unused dep
* fix import order
* Only change `isWriting` when there are logs
* log it all
* fix failing image logs prebuild updates
* make sure we dispose of requests properly
* minor cleanup
* handle aborts gracefully
* Try using a tailing library for reading supervisor task logs
* Fix caching requests on Firefox
* Revert "Try using a tailing library for reading supervisor task logs"
This reverts commit fdc3183aa76cab7ac4976fb633d148482054722b.
* Change log order
Make sure we wait for the line to be written first
* Tweak abortion error message
* Remove extra log line
* initial work
* more cleanup & improv.
* Improve logic for content rendering
* remove extra check of working professional
* chore: Handle case where localStorage is not available in PersonalizedContent component
* remove additional type safety check
* use content while pushing first week data
* Introduce new content recommendation system
* Fill remaining slots with unique items from defaultContent
* Update to use Podkit design H3
* copy text updates
Co-authored-by: Lou Bichard <contact@louisjohnbichard.co.uk>
* Fix svg method in light/dark mode
* more copy fixes
Co-authored-by: Lou Bichard <contact@louisjohnbichard.co.uk>
---------
Co-authored-by: Filip Troníček <filip@gitpod.io>
Co-authored-by: Lou Bichard <contact@louisjohnbichard.co.uk>
* 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
* intial commit
* Documentation links
* Update YouTube Videos
* cleanup + performant YT method
* Static section of `Personalised for you` 😜
* Add blog banners
* Minor fixes
* Educational content should only be in Gitpod PAYG & minor fixes
* nit fix
* nti fix
* reorder docs link
* nit fix
* final nit fix :)
* fix the label issue, video bug, line break in banner
* use `flex-1`
* bring back old description copy for header
* improve spacing
* Optimize VideoCarousel rendering and key usage
- Render only the current video to improve performance
- Remove redundant key prop from lite-youtube component
- Ensure unique keys for list items in VideoCarousel
* Enhance VideoCarousel button accessibility
- Add focus rings to video selection buttons
- Improve keyboard navigation with visible focus indicators
* 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>