Update the copy on the task starting page to be more user-friendly:
- Change "Building the workspace" to "Starting your workspace"
- Change "Your task will run as soon as the workspace is ready" to "This
should take a few minutes"
The new copy provides clearer expectations about timing and uses more
user-friendly language.
Fixes#18164
Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com>
- hardcode a custom pathname (`/chat/embed`) to use in the sidebar
iframe. this is a temporary fix so that the agentapi chat displays
properly
- make the sidebar a bit wider so that the chat fits without line
wrapping
<img width="1512" alt="Screenshot 2025-06-04 at 15 32 30"
src="https://github.com/user-attachments/assets/8be5d053-d7b3-40da-8b62-a6151975527d"
/>
**Demo:**
<img width="1512" alt="Screenshot 2025-06-03 at 14 36 25"
src="https://github.com/user-attachments/assets/e4a61bd3-2182-4593-991d-5db9573a5b7f"
/>
- Extract components to be reused and easier to reasoning about
- When having cloude-code-web, embed the chat in the sidebar
- The sidebar will be wider when having the chat to better fit that
**Does not include:**
- Sidebar width drag and drop control. The width is static but would be
nice to have a control to customize it.
## Summary
This PR adds template export functionality to the Coder UI, addressing
issue #17859. Users can now export templates directly from the web
interface without requiring CLI access.
## Changes
### Frontend API
- Added `downloadTemplateVersion` function to `site/src/api/api.ts`
- Supports both TAR (default) and ZIP formats
- Uses existing `/api/v2/files/{fileId}` endpoint with format parameter
### UI Enhancement
- Added "Export as TAR" and "Export as ZIP" options to template dropdown
menu
- Positioned logically between "Duplicate" and "Delete" actions
- Uses download icon from Lucide React for consistency
### User Experience
- Files automatically named as
`{templateName}-{templateVersion}.{extension}`
- Immediate download trigger on click
- Proper error handling with console logging
- Clean blob URL management to prevent memory leaks
## Testing
The implementation has been tested for:
- ✅ TypeScript compilation
- ✅ Proper function signatures and types
- ✅ UI component integration
- ✅ Error handling structure
## Screenshots
The export options appear in the template dropdown menu:
- Export as TAR (default format, compatible with `coder template pull`)
- Export as ZIP (compressed format for easier handling)
## Fixes
Closes#17859
## Notes
This enhancement makes template management more accessible for users
who:
- Don't have CLI access
- Manage deployments on devices without Coder CLI
- Prefer web-based workflows
- Need to transfer templates between environments
The implementation follows existing patterns in the codebase and
maintains consistency with the current UI design.
---------
Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com>
Co-authored-by: Kyle Carberry <kyle@coder.com>
Refactor the workspace SSH command syntax across the project to use the
"workspace.coder" format instead of "coder.workspace". This standardizes
the SSH host entries for better consistency and clarity.
This is a follow-up from #17445 and recommends using the suffix-based
format for all new Coder versions.
<img width="418" alt="image"
src="https://github.com/user-attachments/assets/3893f840-9ce1-4803-a013-736068feb328"
/>
This PR which updated react-query to 5.77.0 introduced an issue on the
create workspace page where the error dialog would be briefly displayed
while the page is loading. https://github.com/coder/coder/pull/18039
The issue is that there is a moment when `optOutQuery.isLoading` is
false and `optOutQuery.data` is undefined causing the ErrorAlert to
display.
Subdomains should have 63 max characters, so we don't want to have a
long default workspace name that could overflow this limit. With that in
mind, I'm reducing 3 characters from the default name.
PS: I've been facing issues with that already. Eg:
```
claude-code-web--dev--ai-task-1748889021126--brunoquaresma--apps.sao-paulo.fly.dev.coder.com
```
Updates the placeholder text in the task prompt box to be consistent
with the "task" terminology used throughout the UI.
**Changes:**
- Changed placeholder from "Write an action for your AI agent to
perform..." to "Prompt your AI agent to start a task..."
- This aligns with the "Run task" button text and overall task-focused
language
**Testing:**
- Verified the text change renders correctly in the UI
- No functional changes, only text update
Co-authored-by: blink-so <blink-so@users.noreply.github.com>
Auto select the proxy on first load (stored in local storage, so per
browser), then defer to user selection. The auto selected proxy will not
update again once set.
Set the form parameters using autofill parameters based on the workspace
build parameters for the latest build
---------
Co-authored-by: Steven Masley <stevenmasley@gmail.com>
Normally parameters had red text for error diagnostics. The goal here is
to make errors more obvious when the form_type is error meaning the
parameter could not be processed correctly.
<img width="543" alt="Screenshot 2025-05-27 at 18 35 50"
src="https://github.com/user-attachments/assets/2265553e-34a3-4526-8209-6253d541f784"
/>
resolvescoder/preview#137
This hides the `Use classic workspace creation form` checkbox on the
template settings page if the dynamic-parameters experiment is not
enabled
Add mention of "workspace parameters settings form" in the checkbox
description as this is also affected.