Code Review Rebuilt, Agents That Browse Without Interrupting & Diagrams That Finally Save
AI Code Review is rebuilt from the ground up: connect GitHub, pick your repositories in three steps, then work from a pull request list, a per-pull-request verdict page and a memory of your team's own rules. Hired agents get a new browser loop that asks what it needs once, then does the requested work without stopping you for approval on every click — while Pay and Delete still always ask. Diagrams finally save, with autosave and conflict handling. And the week your AI allowance said "used up" at 87% is over.
New Features
Code Review — Rebuilt Around Connecting GitHub First
AI > Code Review is a new area, built from the approved design study (#3873).
- Connect first, then three steps — nothing else shows until GitHub is connected. A handoff dialog takes you across, then setup walks you through choosing repositories, picking a review style with its score scale, and a final screen listing the commands you can use. The header afterwards reads Connected to N repositories on your account, and shows N reviews running now while reviews are live.
- Five places to work — Home, Pull requests, Repositories, Memory and Settings. Home shows what needs attention, How Copera helped the team as outcome counts, reviews per day, and your latest pull requests.
- A pull request list that tells a story — one row per pull request with the trail of every round's score, scope tabs, search and a repository filter, all kept in the address so you can share or bookmark a view. A pull request with more rounds than the ten drawn says so: "12 review rounds, the latest 10: …".
- A page per pull request — a verdict card on the shared score scale, comments with copy fix prompt and a guided dismiss, a sidebar of every round, the rules that applied to that repository, and review again.
- Memory — the rules Copera learned, with a suggestion inbox you can approve, edit, or mark not right (with undo), plus your instruction files and knowledge maps with write it and write all.
- Settings as one sentence — your review policy reads as a sentence with clickable phrases, each section edited and saved on its own. Automatic approval sits behind an explicit confirmation step, review depth is Base, Plus or Max, you can list files to ignore, and disconnecting asks you to type the account name. Leaving with unsaved edits warns you first.
- A merge check that stays honest — a round that ends without a new score (a reopened pull request with no new commits, a re-run skipped as too large, a round that failed) no longer replaces the commit's earlier pass or fail with a neutral result. It completes the check it opened with the earlier verdict instead, so a required check can never be quietly satisfied by a review that did not happen.
- A knowledge map whose build died now reads as failed instead of saying "writing" forever, and offers to write it again.
- Review depth in a mention — asking for
maxin a@copera-aimention works as its own command, and the Max tier is labelled as such.
Everything is available in all six languages, and old Code Review links redirect to the new pages.
AI Agents — A Browser Loop That Asks Once, Then Works
The agent that drives your browser was rebuilt as a single loop, then tuned again after a real production run (#3861, #3870).
- One task, one row — an agent task shows as a single working row in the channel, with its steps, the question it is waiting on, and a Stop you can press at any time. Stop keeps the tab you ended up on.
- It asks you inside the conversation — when the agent needs something from you it asks right there and waits for your answer in the same turn, instead of ending and starting again. Answer on the card or just reply in the chat.
- It stops asking you the same thing twice — your own details (the email and phone on your Copera account, what you typed in an earlier answer) are part of the task, so the agent types them without asking. An already-answered question is answered from what you said before, with a correction always winning.
- It does the work you asked for — a submit, a booking or a save on a site you named goes through without an approval card, and so do the ordinary Next and Confirm steps of a multi-step form. Pay and Delete always ask, as do sends, posts and invites to anyone you did not name, sign-ins, and typing page content into a site you never mentioned.
- It hands the browser back — a finished task settles and releases the browser right after its reply, instead of leaving your browser occupied for another quarter of an hour.
- It sees more of the page and waits for it — number fields, toggle states and frame boundaries are visible to the agent, it waits for a page that is still working, and it can fill, choose from a dropdown, read a whole page, wait, and follow links that open in new tabs.
- It only touches its own tabs — a task works in the tabs it opened, never reads or closes anyone else's, keeps them across a pause so a half-filled form is not redone, and closes them when it ends. A finished task keeps its last tab, which only you can see.
- Clearer to watch — tool activity collapses around each question so the card is never buried, and a step that merely retried no longer reads like a red error.
This is rolling out progressively; until it reaches your workspace, agents behave exactly as before.
Diagrams — Your Edits Are Saved Now
Diagrams shipped with saving unfinished, so every edit was lost on close. That is fixed, and the editor around it is finished (#3840).
- Autosave, and a status you can trust — your work saves a few seconds after you stop typing, with saving / saved / unsaved / error shown in the header. Closing or leaving saves first and asks before anything is lost.
- Two people at once — if someone else saved while you were editing, the editor stops writing and asks whether to load their version or keep yours.
- A clean version history — a run of autosaves collapses into one version instead of leaving dozens behind. Pressing save with nothing changed writes nothing.
- Only real diagrams open in the editor — spreadsheets, database exports, Visio files and other files that merely look similar now open on their normal Drive page instead of a loading screen that never ends.
Workspace Audit History — See What Changed, and Who Changed It
A new Audit history page in Workspace Settings records what happened in your workspace.
- Board, table, row and channel changes are recorded with the member and the name as they were at the time, so an entry still makes sense after someone is renamed or leaves.
- Member photos and historical names are shown, falling back to initials for members who have left.
- Not just for owners — a new View audit history permission can be granted to any role, in all six languages. Owners and administrators keep their access, and external members are kept out.
- Filters that read properly, with resource references kept and internal identifiers hidden.
Automations — Save a Recipe as a Template
- Save as template — any managed automation can be saved as a template, kept to yourself, shared with your workspace, or published to a global library when an administrator has enabled it. Reusing one creates an independent draft under your own authority, with its boards, tables and channels rebindable (#3860).
- Templates fire again — an automation created from a template could never trigger, because the template it came from was being read as a condition on the event. Fixed, with existing saved and built-in copies untouched (#3860).
Inbox — Forwarding Rules, Shared Sending Setup and Better Contact Import
- Forward by sender, recipient or subject — new forwarding rules match on who sent it, who it was addressed to (including Cc) and the subject line, matching all or any of your conditions. The original stays in your inbox, and the existing loop and spam protections still apply (#3860).
- Simpler domain setup — new domains get Copera's shared sending policy, and a domain that already publishes one for another provider is accepted rather than broken. Active domains pick up the change without being deactivated, reprovisioned or re-emailed, and anything that still needs a change in your DNS says so plainly (#3860).
- Contact imports that survive real spreadsheets — accented names, semicolon and tab separators, files saved by older versions of Excel, Portuguese or English column headers, and contacts with a phone number but no email all import correctly now, with the preview and the import agreeing. If you are not allowed to upload, you are told why instead of being offered a button that fails (#3860).
Calls & Meetings — Direct Calls That Behave Like Phone Calls
Calling someone directly no longer behaves like joining a meeting room (#3869, #3872, #3865).
- Ring, then connect — the caller waits for an answer instead of dropping straight into an empty room, a declined or unanswered call ends on both sides, and the duration starts when the two of you are actually connected. Declines, expiry, calls that cross, cancellations and immediate retries all behave.
- Incoming calls keep ringing — opening a notification, switching channel or changing tab no longer silences a call that is still ringing (#3865).
- People and chat moved into the call bar — one People panel now holds the participant list, lobby requests, the share link and one-click invitations. On desktop the panel resizes the stage; on narrow screens it opens as a drawer. Guests get exactly the same controls instead of the old side rail (#3872).
- A permanent link for group meeting rooms — on by default, with copy, email and regenerate in the People panel. Regenerating warns you that the old link stops working and asks for a red confirmation first.
- AI Notes is now AI Personal Notes, sharing one menu with meeting transcription while keeping its own indicator and its own stop button.
- Screen Share picks its quality from one button, and an active share can be stopped from the same place.
- Session comments read properly — the comment total is shown separately from your unread badge, an empty total is hidden entirely, and new-message previews show the author's avatar and retract after five seconds.
- Create any channel from the group plus button — all eight channel types are offered, with the type list staying put while the form scrolls.
Docs — Continuous by Default, With a Page View Switch
Long documents are faster and steadier to work in (#3849).
- Continuous by default — documents flow continuously, with a page view switch when you want paper pages. Page layout settings appear only when page view is on.
- Honest page counts — the page total is marked approximate until the whole document has been measured, instead of jumping around as you scroll.
- One broken section does not take the document down — a part that fails to render is contained and offers a retry, leaving the rest readable.
Boards — Formulas, Lookups and Rollups That Keep Up
Derived values (formulas, lookups and rollups) are being moved into the save itself, so a change shows its knock-on effects immediately (#3854, #3838).
- Recalculated and pushed live — an edit recalculates everything that depends on it and pushes the new values to everyone with the board open, rather than leaving other people on stale numbers.
- Cells that tell the truth — a cell still being worked out shows as updating, and a cell that could not be calculated is marked with the reason in your own language: a cycle between columns, an invalid configuration, a temporary problem, or too many failed retries. A failed cell no longer reads "failed" forever once it recovers.
- Sort and group by what you actually see — lookup and link columns sort and group by the label shown in the cell, in lists, Kanban, the grid, exports and the public API.
- Clock formulas refresh every fifteen minutes instead of twice an hour, and only the cells that actually changed are rewritten.
- Automations wake on recalculated columns — a trigger that watches a formula, rollup or lookup column now fires when that value really changes.
- Views catch up after a dropped connection — Kanban, List, Calendar, Gantt, Timeline, To-Do and Workload refresh themselves after the connection comes back, instead of showing stale rows until you reload.
- Far less needless work — pasting 20 rows under a parent with 223 children used to rewrite 9,040 rows; it now writes 305. Boards also stop refreshing themselves over edits that have nothing to do with what you are looking at.
Live recalculation is rolling out workspace by workspace; the honest cell states and the reconnect refresh are on for everyone.
Boards — Text Widgets That Resize and Screenshot Paste That Works
- Text widgets you can shape — text widgets get sensible full-width defaults and can be resized in both directions, with wrapped text, internal scrolling and proper multiline editing. Existing layouts and rich system descriptions are preserved (#3865).
- Paste a screenshot straight into an attachment cell — Ctrl/Cmd+V in an editable attachment cell uploads the image, with spreadsheet text still taking priority when that is what you pasted (#3865).
AI Credits — Your Whole Weekly Allowance, Actually Usable
A workspace could see "87% used" and "This week's AI is used up" on the same screen, with the rest of the money locked up by work already running (#3847, #3850, #3855).
- One honest figure — the bar and the paused state now read the same number, and AI only stops when the allowance and any extra credit are genuinely both spent. The bar reads 100% only then, and you can reach it.
- Agents can no longer hold the week — an agent turn reserves one step at a time and grows as it goes, instead of reserving its entire possible run up front and starving everything else.
- A clear message instead of a wrong one — a request refused while your week is merely held says AI is finishing work already running, in all six languages, and retries itself rather than funnelling you to a top-up you do not need. A hired agent paused for the same reason says so too.
- Money that was stuck is released — credit held by work that ended without ever reporting back is now released automatically, and usage figures count what is actually spent rather than mixing in spending that was later refunded.
- Live usage during long tasks — your weekly usage now includes work in progress, so a long task moves the meter as it goes instead of jumping at the end.
Bug Fixes
- Lookup cells crashing on anything that was not plain text — a lookup pointing at rich text, an SLA timer, a checklist, a vote, a Gantt dependency or a formula error showed a generic error. All of them now show a readable preview, in cells, popovers, browse summaries and when copied out of the grid (#3863).
- Text filters that threw instead of filtering — "is" and "is not" on a text column could fail outright, and comparing against empty text matched every row. Both are fixed, with blank text now properly distinct from an empty cell (#3864).
- Lookup status labels in comments showed raw values instead of the status name (#3859).
- Grid selection borders vanishing — selection outlines, grid lines and the fill handle survive redraws and scrolling again, including on large selections (#3868).
- Grouped columns cut short — group cards now close at the real edge of the last column, so headers, content, editors and selection all line up (#3868).
- Tempo calendar crashes — calendar entries carrying parameterised text crashed the agenda, and the error message that followed crashed too. Both are fixed, along with a render loop on unchanged calendar ranges (#3868).
- Meeting channels in the conversation rail — meeting channels no longer appear in the chat rail, including ones saved there earlier. Text channels, agents and direct messages are unaffected (#3868).
- Corrections sent mid-reply going missing — a correction typed while Copera was still answering is now kept and shown, survives a reload or a retry, and never duplicates your message or the reply (#3867).
- Calendly invitations failing in the inbox, and the repeated errors that followed while neighbouring emails loaded (#3867).
- The first message in a new group conversation — sending it now waits for the conversation to exist, so the message lands where you meant it and your draft follows it there. Changing who you are writing to mid-send can no longer redirect a newer draft into the wrong conversation (#3867).
- "AI Chat is ready" for a reply you had already read — the notification no longer fires when you are sitting there watching the follow-up run (#3853).
- Agent replies buzzing your phone seconds after you read them on desktop — agent messages now wait a short grace period and recheck whether you have read them, muted the channel, or left. Human messages and calls are unchanged, and intermediate progress notices from a browser run are quiet (#3856).
- Conversations jumping around in the rail — the list is ordered by real message activity. Opening, closing or marking a conversation read keeps its position and your scroll; a new message in either direction moves it to the top (#3855).
- Recents keeping a read badge — Recents now follows live unread state, including when the count is genuinely zero (#3858).
- "Reconnecting" flashing during a healthy chat, and generated images reloading and closing their viewer along with it (#3858).
- Board calendar clipping the last week in short windows — the weeks area scrolls within the height it has (#3858).
- My Tasks completion circles missing — the circles were waiting on an icon download that some networks block. They are drawn by the app now (#3866).
- Designs running out of images, and failing after they had actually saved — a Design can generate up to eight images across its whole workflow, repeated checking of unchanged work is bounded, and a Design is no longer reported as failed for a missing document export nobody asked for (#3866).
- Images failing to reach the model — image sizing is now worked out per request rather than by turning the picture into text, so a large screenshot no longer inflates the estimate and gets your request rejected (#3858, #3855).
- Game-style Designs — asking for something playable now produces a real interactive Design (#3867).
- Joining a workspace you were invited to — registering or signing in with Google now opens the workspace that invited you, instead of somewhere else (#3875).
- WhatsApp edits and deletions — a message edited on WhatsApp now updates in Copera, including in the conversation preview, and a message deleted there is removed here (#3875).
- Link previews hanging — previews now give up after a sensible wait instead of leaving a message stuck (#3842).
- The AI drawer showing internal error codes — a chat that could not reload its history now offers readable retry guidance in your own language instead of a raw code in a toast (#3868).
- Oversized forwarding fields and generic desktop tab names — desktop tabs show the real channel, person, agent or design name, including in a second workspace window and when a background tab changes (#3860).
Improvements
- Workspace View As is safer to use — a session lasts 15 or 30 minutes and ends firmly at the deadline, including any live connection it had open, and every request made during one is recorded. A session ends automatically when the member's role or ownership changes in a way that no longer permits it (#3839).
- DocSign signing links are personal — a signing link belongs to the one signer it was sent to, and only the sender and that signer can see the details recorded with a signature. Draft actions such as sending for signature or moving a field are limited to the document's owner (#3844).
- Chat access is checked consistently — reading a channel's threads or sub-channels, muting a channel, and creating, refreshing or deleting a guest link all require access to the channel in question, and other participants' personal settings stay personal (#3843).
- Pasted images in Designs, attachment image previews, filenames separated from their actions, and failure messages that wrap properly on narrow screens (#3855).
- The board To-Do view's rollover toggle has been retired — rollover was already switched off everywhere, so the unused control and checkbox are gone. Nothing else about To-Do views changes (#3837).
- Guest meeting panels use their space — the invitation list fills spare panel height, giving way to the participant list as a call grows and keeping about three rows visible in a tall panel (#3872).
- Account menu icons are consistent, sized alike with a shared label column, keeping presence colours intact (#3869).
- Inbox classification keeps going past a blocked item — one message that cannot be processed yet is retried later on its own instead of stopping the whole sweep (#3877).
