Artifacts Rebuilt, Compute Channels & Agents That Work a Full Week
Artifacts is rebuilt from the ground up: a home of its own, a real editor, a canvas you can arrange and play, version history with a working Compare, PNG and PDF export, and a hand-off pack that takes the whole thing into your own codebase — and you can now hand Copera your shadcn setup and have everything built on your design system. Alongside it, Compute channels let you buy a Linux server or a remote desktop inside your workspace and use it straight from the browser, and hired agents learn to work a full week: working hours, an email support desk, hand-overs between each other, and a ledger of everything they did.
New Features
Artifacts — A New Home, a Real Editor and a Hand-off You Can Take With You
Artifacts stops being a preview pane and becomes a place you work in (#3735, #3739, #3740, #3742, #3745, #3750).
- A home for everything you have made — a Create screen with a composer, a saves-to line, Start from an idea and Recent, all in one column that fills the space beside the nav and centres itself on wide screens. The idea cards reflow from one across to two to four, never leaving an orphan card. Library tiles say how each artifact was made.
- A Quick brief before an open-ended idea — ask for something broad and Copera asks a few short questions first, with options you can click, then states a one-line plan before it starts building. Your chosen options are treated as choices, not as words you typed, so the reply still comes back in your own language.
- A building checklist that keeps its place — you see the page being written, live. If the connection drops and reconnects, the checklist keeps the progress it had instead of resetting to "Preparing…", and a write still in flight no longer disappears from the list.
- A canvas you can arrange and play — notes save when you click away, Space pans, zoom stays crisp, and page tabs open at 100% with Fit in the zoom menu. While a page is playing in its frame the toolbar reads Stop instead of Play, so one click returns it to its screenshot. Play full screen covers the window and Escape leaves it, and the phone preview is a real 390×844.
- Version history that works while it is open — it refreshes as new versions land, actions appear on hover, and Compare does what it says. The Save dialog's text becomes that version's change summary.
- Export — images and canvases save real PNG bytes, and a PDF export that fails now says why (unavailable, too large, timed out) instead of failing silently.
- A hand-off pack for your own codebase — take an artifact out as real project files with the commands to set it up, pages mapped to routes, the stylesheet wired per page entry, both router and no-router modes, and a merge recipe for an existing app. Everything in the pack is screened the same way every other source file is, and you are told when something was withheld.
- Stop means stop — stopping now also ends a writer's wait for its build instead of leaving it hanging.
- Honest failures — when Copera's own build service is the problem, the preview says so plainly and that it will retry automatically, instead of telling you to ask AI Chat to fix code that was never wrong. It only promises a retry for the version actually being retried, and a real code error is never hidden behind a service failure at the end of a turn. A failed-change pill can be dismissed and clears itself.
- Replies in the language you wrote in — a turn now reads the language from the words you typed, not from the ids and context wrapped around them, so an English request no longer comes back in Portuguese. Pasted earlier requests keep their words too.
Artifacts — Design With Your Own shadcn Setup
Bring your own design system and have every page built on it, instead of accepting whatever Copera picks (#3776).
- Hand over your setup — paste your setup or a preset code and Copera reads it: the base library, style, radius, fonts and colour tokens. All 24 library-and-style combinations are supported, and the generated
components.jsonandglobals.cssare byte-for-byte what the shadcn CLI itself would write. - Saved design systems — keep up to 50 per workspace, reuse them across artifacts, rename and update them. A design preview shows light and dark tokens side by side, and a picked radius or font replaces a pasted one so you never end up with two answers for the same thing.
- Your setup is locked in — once you give one, Copera never asks about look and feel again and never quietly changes it. A change has to be something you asked for by name or picked from an option, and a new preset reports which of your custom tokens it replaced. Copera only chooses for itself when you explicitly ask it to decide.
- AI that works inside the system — Copera can add components and apply a design on request, using your setup's icon library, real components instead of raw elements, and tokens rather than hard-coded colours. A pasted colour and its text colour are always replaced together, so text stays readable.
- A hand-off that reproduces it — the pack carries the preset, the setup and add commands, your
components.jsonandglobals.css, and the components each page uses. Files the install would not write are left out, and files you customised are told apart from untouched registry ones.
Compute Channels — A Machine in the Cloud, Inside Your Workspace
Buy a Linux machine as a channel in your workspace and use it from your browser, billed monthly (#3737, #3762, #3763, #3764).
- Two modes, 17 sizes — Server for a machine you use through a text console, or Remote computer for a full Linux desktop in your browser. Sizes run from small to Max Performance, with the specs and monthly price on each card, and you pick the keyboard layout the console should type with.
- A console in the browser — connect, type, and take the keyboard over when you need it (and give it back with a shortcut). Paste text into the machine, copy the machine's clipboard back out, send Ctrl+Alt+Del, and go full screen. When the desktop will not come up, the Rescue console shows the machine's own screen and works even without its network.
- Power and login — start, stop and reboot with a confirmation that tells you what happens, and reveal the machine's username and password when you need it. Every reveal is recorded in the machine's access log, and the login hides itself again on a timer.
- Daily backups and restore points — add automated daily backups when you buy, then put the whole disk back to the moment of any restore point. The restore is spelled out before you confirm, including that everything written after that moment is lost.
- Members — choose who can open the console, see the login and control the power, at purchase or any time after. Guests cannot use compute channels at all.
- Billing you can see and undo — a Compute channels list with each machine's size, price, status and renewal date. Cancel any time and the machine keeps working until the end of the month you paid for; you can undo a cancellation up to 24 hours before it takes effect. Delete now destroys the machine immediately, and says so clearly.
- Ready to work on arrival — provisioned machines greet you with a Copera login banner and come with the Copera CLI already installed.
- Change your mind about the mode — switch a machine between Server and Remote computer, with a typed-name confirmation because it reinstalls and wipes the disk. A setup that did not finish can simply be retried in the mode it already has, and a mode change that never started tells you your machine was not touched.
- Clear words when something goes wrong — a payment that did not go through, a size that cannot be bought right now, a workspace at its machine limit, a console closed for inactivity: each says what happened and what to do, and points you at whoever manages compute channels if it is not you.
AI Agents — A Working Week: Hours, an Email Support Desk and Hand-overs
Hired agents stop being request-response and start keeping a schedule (#3766, #3770, #3774).
- Working hours — give an agent the hours it works, or a calendar to follow, and it works a list instead of everything at once: one lead at a time inside its hours, a note for the day, and follow-ups on day 3 and day 7 under the authority it was given at first touch. You can pause an agent until a date, and an expired pause stops offering Resume.
- An email support desk — bind an agent to a shared inbox and it answers from its knowledge. Machine mail (out-of-office replies, delivery reports, mailing lists) is filtered out and never mistaken for the customer writing. The agent hands a thread over to a person with a note, and a hand back returns it — now reliably, including when the hand-over notice went out in the same second. Thread banners say who holds a thread, and a Needs a person filter with its count shows you what is waiting, even in an empty folder.
- A person's reply holds the thread — when you step into a thread the agent stands down and stays down until the thread is handed back, on every route. In an inbox with no support desk, your reply holds it until the customer writes again. The agent never answers over a newer message of yours.
- Agents hand work to each other — through a room only hired agents share, with a receipt in the handing agent's channel. You get one outcome per hand-off: the finished work, a denial, or the deadline. An agent never promises more privacy than the audience a note was actually kept with.
- An activity ledger — every action an agent took, with columns, filters and export. Run statuses now say what actually happened: waiting on budget, outside working hours, no work to do, or hours not set yet.
- Budgets and governance — alerts at 80% and 100% of an agent's budget, with the week they apply to shown in the agent header. An owner leaving hands their agents over. An approval that expired, or one an AI tried to give, is refused. If someone's access changes mid-run, the run stops and tells you why the rest did not happen.
- Knowledge everywhere, memory where it belongs — an agent answers from its knowledge on every route, and what it keeps privately stays out of channels. When it shares something, it tells you who will be able to see it.
AI Agents — Knowledge You Give Them, WhatsApp Limits and Clearer Cards
The first round of agent work landed this week too (#3754, #3755).
- A Knowledge card — give an agent documents and pinned facts, and its answers quote them instead of improvising. A passage read live carries its live heading, so a renamed heading is never shown over new text. The card's content is kept out of session recordings, including the confirmation that names a source, and each source stays locked until its own save is answered.
- Sales by email and WhatsApp — an agent can run a first-touch chain over both, with send limits you set and standing authority per channel. A hand-over in Omni stays with the person who took it, and outreach finds its channel.
- Approval cards you can read — cards name the board, table, column and status they act on, approvals complete instead of stalling, and one approval covers one call.
- Safety that holds — an agent cannot make anyone an administrator, powers with no tool behind them are no longer offered, and board and table deletion are not assembled at all: the agent says plainly that it cannot. A do-not-contact list is respected, and a reply claiming real work is only kept when there is a receipt behind it.
Shared Inboxes — Email Forwarding
Forward new incoming mail from a shared inbox and its aliases to an address outside Copera, while Copera keeps the original (#3752, #3757).
- A verified destination — enter an address and confirm it with a six-digit code that expires in 15 minutes. The address cannot be swapped while forwarding is on, and your draft is kept if you try.
- Only the people who should — the inbox owner and workspace administrators can change forwarding; everyone else sees it read-only.
- Sensible limits — mail already in the inbox is not forwarded, and anything marked as spam on arrival is left behind.
Boards — A Discoverable "Add Column" and a Grouped My Tasks Drawer
- "Add column" you can actually find — the trailing column is now a full header: the whole cell takes the header hover fill, the + sits where a type icon would, and the label sits at the title position, sized to your language. In Group By the group cards end at the last real column and the trailer sits outside them (#3765, #3772).
- Header icons that render — column type icons are now drawn by the grid itself, so a selected header keeps its icon and icons are no longer clipped or partly dropped on some graphics cards. Three of them are back in sync with the icons the field-type menu shows (#3772).
- Group By edge cells — the content of a card's first and last cells is laid out inside the card at every nesting level, with the editor anchors, click targets and inline editor width to match, on scaled grids too (#3772).
- A grouped My Tasks drawer — tasks grouped by In progress / To do / Done with sticky collapsible headers that remember whether you left them open. Each row is two lines: the full title, then id, board and table, due date, comments and status. Plus a borderless search, a double-click guard on the completion circle, and overdue dates that roll over at midnight (#3765).
Deep Research — Citations That Match Their Sources
A research report's citations now point where they say they do (#3760).
- Numbered in reading order — the
[n]markers are renumbered 1 to N as you read them and the Sources list is written to match, with ids that stay unique across rounds and cited sources saved first. - No follow-up that disowns the report — the turn after a report only runs when you actually asked for something beyond it and wrote nothing after confirming; when it does run, it gets the research findings.
- Planning stays inside your request — sub-questions about a search result you never mentioned are dropped.
- A finished report is always saved, even if the step reading your request for deliverables times out, errors or is cancelled.
Bug Fixes
- Rich-text edits silently thrown away — a workspace administrator without a board admin role had every keystroke in a rich-text popup refused, while the editor stayed editable and the failed save was swallowed on close. The elevation rule is now shared, access changes are pushed to the editor live, a forced save only reports success once the text is actually stored, and a refused save keeps the popup open with a warning. Text typed while a closing save is in flight gets its own save (#3753).
- Each rich-text field in "Add linked row" shares one editor — every field now gets its own (#3753).
- Duplicate events left in Google Calendar — every write to a booking's calendar event is now recorded before it is made, serialised per event, and retried by a sweep if it was interrupted, so a crash or a reschedule can no longer leave an untracked copy nobody can clean up (#3753).
- CSV import — you can skip columns, duplicate and dotted headers are handled, column limits are enforced, and a retry can never read another header's column. Import identity and search data are preserved properly (#3753, #3733).
- Chat messages blank after switching desktop tabs — hiding a tab destroyed the editor that renders message bodies, and rows that re-rendered while it was hidden came back empty. Message bodies, activity messages, voice-channel comments and doc comments now all redraw when the tab returns (#3743).
- Text channel permissions and state — who can post, edit and act on a message now follows one rule everywhere, pending drafts are guarded, and a private poll keeps your selection through live updates instead of losing it (#3777).
- The knowledge limit error did not say what the limit was — it now names the characters pinned facts may hold together and suggests shortening or unpinning one, in all six languages (#3758).
- PDFs and AI file delivery — document tasks survive, delivered files are verified, and supported PDF variants are accepted instead of rejected (#3736).
- Chat and inbox stability — chat repair, live confirmations and forwarding recovery all hold through a restart or a dropped job (#3752, #3757).
- My Tasks and automation values — better field mappings, and an automation that copies rich text now waits for the source write to land before copying it (#3761).
- Reducing an add-on's quantity could hand out credit — lowering a quantity mid-cycle no longer prorates a refund, while increases still bill the added units immediately.
- A question you already answered being asked again — later runs of the same turn read a marker where your answer had been and saw no trace of the question, so roughly one in ten asked twice. Every step now reads the real answer and a repeat gets the answer back instead of a second card (#3751).
- A dismissed card ending a turn with an empty reply — dismissing every card used to drop the rest of your request. Copera now finishes whatever did not depend on the dismissed change, or answers in one sentence, and never re-proposes a card you just dismissed (#3751).
- Internal reasoning markup appearing in short replies — a one-word reply could arrive with a stray closing tag in it. It is now stripped, including in the saved message (#3751).
- An automation drafted but never saved — a turn about to end with an unsaved automation gets one corrective step with the save tools, and a draft you asked to stay a draft still stays one (#3751).
- Grid paste writing where it should not — pasting now refuses cells locked by a workflow and rows hidden from you (#3753).
- Compute channel names — channel names are computed correctly.
Improvements
- Long Ask Copera requests keep going — a big request now gets extra rounds to reach its goal instead of stopping part-way, and every step of a long turn is charged properly rather than being dropped (#3749).
- Cell values checked before you are asked to approve — a value that does not fit the column's type, a write-locked cell or one that cannot be stored is refused up front, with both possible fixes and a way out, naming only columns you can actually read (#3749).
- Approvals know what already happened — the step that resumes after your approval is told what the turn already wrote and keeps the same tool window, so it finishes the work instead of starting over. Cards withhold anything you are not allowed to see (#3749).
- A status write has to name a real option — any agent, Public API, bulk import or automation setting a status must use one of the column's own options or the exact label of one. Anything else writes nothing and answers with the valid options, and an automation moving an option between columns writes the target's same-named option or fails saying there is none (#3774).
- Formula columns refuse references that do not exist — a formula naming a column the table does not have is rejected when it is created or edited, rather than saved broken, and references are read with the real grammar so text inside quotes is left alone (#3741).
- Conversation memory per branch — each branch of a conversation keeps its own summary, so going back and trying again no longer mixes the two (#3741).
- Destructive changes are confirmed once — a text confirmation is only asked for when there is no review card already stopping the change (#3741).
- Less of your AI allowance spent on repeated context — long tool-heavy runs now reuse what the model already read instead of re-sending the whole conversation at every step (#3771).
- Thorough lives in the composer menus — the controls moved to where you compose, instead of sitting apart (#3759).
- German notices use "du" consistently across Ask Copera (#3749).
- Artifacts housekeeping — assets no artifact version references are cleaned up after 7 days, page reviews only run for pages that changed, and the library page and editor load with far fewer round trips (#3735, #3740).
