| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
What's new popup: the new MausBot Cloud and Team's shared bots, once per person, each button tagged for the Cloud's funnel (#4000) * What's new popup: the new MausBot Cloud and Team's shared bots, once per person, each button tagged for the Cloud's funnel A centered carousel after an install or an update, on this computer's page: - No Cloud plan: "Meet the new MausBot Cloud" (the Cloud website's Home, light or dark) with Get Pro (the app's own Add a Cloud, source app_whats_new_pro) and See the new Cloud (cloud.openmausbot.com/cloud?src=app_whats_new_pro), then "Shared bots for your whole team" with Start a Team (/pro/buy?plan=team&src=app_whats_new_team). - A Cloud plan of one's own: the Team slide alone; Start a Team opens the app's Add a Cloud with app_whats_new_team, which now goes with the added Cloud's checkout. - In a team, a payment being linked or needing attention, a checkout open, or a sign-in that can't be checked: nothing. Next, Back, dots and the arrow keys; prices from the Admin's offer; the Team picture is drawn in the skin's tokens with the app's own mascots and moves only when motion is allowed. Once per person per campaign id (whats-new-2026-11), never during the welcome, the tour, a turn or another dialog, never on a branded build or an organization's desktop. The notice queue shows one notice a launch: the first one shown takes the launch for the window's session, and only the product-updates question may follow it. What's new comes before Boat's credit offer, which waits for the next launch. NOTICES is the one ordered list. The earlier Cloud Pro popup goes with its email tie ($identify) and the desktop's per-day "shown" record; a first run no longer settles the popup, so everyone who installs sees it once. whats_new counts each slide seen and each step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * What's new: the Team slide says you choose who can see, chat with or edit each bot Per-bot team access is on main now, so the Team slide lists it with the other shared pieces, one point per line. Screenshots retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 5 天前 | |
Merge pull request #4476 from AdityaUmale/fix/4406-open-in-browser feat(html-preview): open HTML files in the preview, desktop "Open in browser" (#4406) | 8 小时前 | |
feat(bot-settings): src/data/given-names/README.md | 1 个月前 | |
Every click on a bot's message lands in its thread, on desktop as on the phone A row, tile or circle opens the thread its mark is about. Every other click goes through openThread, which reveals the thread in the sidebar, closes what covers the chat and says so when a thread is gone. Main shows a bot's banner on the desktop app, so its click still lands after a reload or a move to another place, and raises the window. Simple gets Active Threads while anything is active, and a bot-opened thread at work stays out of its fold. A teammate's own step in a chain no longer sends a banner or leaves an unread mark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> | 1 天前 | |
Merge pull request #4489 from AdityaUmale/fix/mail-1a1a554f-same-account-backups Backups: allow another model on the bot's own account | 8 小时前 | |
Merge pull request #4476 from AdityaUmale/fix/4406-open-in-browser feat(html-preview): open HTML files in the preview, desktop "Open in browser" (#4406) | 8 小时前 | |
Team plan fixes from end-to-end testing (#3853) * fix(team): hide bot actions a member's session cannot use and say who chooses the Chief A session without the admin scope no longer sees Duplicate, Move to department, Delete all threads, Archive or Delete on a bot's menu, and the greyed crown says only an admin can choose the Chief of Staff. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): offer Undo on a department memory notice only to who may review team memory Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): call a team's Cloud by the team's name and draw no window buttons in a browser The environment descriptor says when a Cloud home is a team's, so the sign-in page, the sidebar's place and the account menu name the team instead of My Cloud. The browser build no longer draws macOS window buttons. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): keep the bot's name in a narrow chat header; the audience label shrinks to its icon Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): name each teammate's MausBot for its person in pickers and on the team map Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): the Apps panel gives a member's session the role as the reason and stops loading A 403 from the connected-apps or catalog route no longer reads as an unreadable credential store, and a failed catalog no longer leaves Loading catalog spinning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team-cloud): an Admin-signed pairing at a new role ends the old role's sessions A Team Cloud kept a demoted Admin's sessions and phones at admin scope until their hour ran out. Each Admin-signed pairing now ends that member's sessions, phones and waiting codes at any other role first, and the Admin signs one as soon as the Owner changes a role. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): show a member's session why instead of admin controls, and stop asking routes it may not use Settings' AI accounts and keys, the bots' computers, usage, import and backups say only an admin can change them; the team map's Add menu and Create department are left out. Once a route answers that the session lacks the admin scope, the instances lane, the live call lookup, the limits poll and the connected-apps read stop asking it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): each person opens, edits and deletes what a bot remembers about them On a Team Cloud /api/bots/:id/memory/mine and /memory/mine/file reach the signed-in person's own layer of a bot's memory, from any session and nobody else's. The bot panel's What it remembers reads and changes those notes, topic files included, so a member no longer sees Nothing yet or a read error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): a group chat's unread mark is each person's own on a Team Cloud Each person's read line in each room is kept apart (room-reads.json). The room list, the room's frames and POST /api/groups/:id/read answer the room as that person has read it, so one person opening a room no longer clears a bot's reply for everyone else. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(team): About me on a Team Cloud saves to the person's own profile Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): type the panel's memory notes and the new tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): a bot's main chat is never another person's private chat, and a missing one never blanks the app On a Team Cloud the main chat named to a viewer falls back to a team conversation they read when the server's choice is someone else's private chat; that id is no longer sent. The chat view no longer crashes on a bot without a conversation, and a bot added without a transcript starts with an empty one. Fixes T-04. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): a teammate's line is theirs, and a member's own MausBot is not labelled as everyone's In a shared chat another person's message keeps their name and no longer wears the viewer's bubble colour or offers Edit. A member's own MausBot chat says it is their own helper that other members can't see, instead of "Shared · everyone in <team> can see". Fixes T-03, T-18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(chat): a send whose answer was lost is reconciled before it is called failed When the request for a send fails without an answer from the server, it is sent again with the same sendId (the server never delivers it twice) until the server answers or refuses, or the message arrives on the live stream. A delivered message no longer comes back to the composer with "Couldn't reach OpenMausBot". Fixes T-22. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(chat): New conversation makes one conversation per action A double or triple click no longer makes two or three empty conversations: a bot's new conversation is made once while its request is in flight. Fixes T-33. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(chat): single line breaks in a reply show as line breaks Markdown soft line breaks in chat replies render as <br> instead of joining the lines into one paragraph; code keeps its own newlines. Fixes T-35. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(bot): an Instructions edit is saved before the page reloads Done sends the pending edit at once, and leaving or reloading the page sends every edit still waiting out its pause, as a keepalive request the browser lets finish. Fixes T-37. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(chat): say the turn stopped after Stop ended it before any answer When the person's Stop reached a turn and no answer or stopped row followed their message, the chat shows "You stopped this." instead of leaving the message with nothing under it. Fixes T-34. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(app): say so when the live stream is down After a few seconds without the live stream the app shows "Reconnecting…", and "You're offline" at once when the device goes offline, until the stream is back. Fixes T-24. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(app): show a signed-out page when the session ends When the server refuses a request (401/403) and no longer knows this device, the app replaces itself with the pairing page saying the session ended, instead of a raw "forbidden: …" banner over chats that look signed in. A reload in that tab says the same. Fixes T-23. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Delete a departing member's own MausBot, sent files and unsent uploads When a member leaves or is removed from a Team Cloud, their own MausBot is deleted with its chats and notes and counted in the departure record (bots, chats). Leave cleanup now finds sent documents referenced by their full attachments/ path, and deletes every file the member uploaded that nothing uses. A file taken off a message before sending is deleted at once through DELETE /api/attachments/<name>, by its uploader only and only while no message or bot picture uses it. Fixes T-02, T-31, T-53. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Refuse a team member's bot look changes and webhook list On a Team Cloud a User's session may no longer change a team bot's colour, mascot or picture, which everyone sees; their own MausBot's look they still change. GET /api/webhooks, which shows the internal webhook address, now needs the admin scope like the other webhook routes; the app shows no webhooks when it is refused. Fixes T-15, T-40. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Record team bot profile changes; keep a team's main chat out of "private" On a Team Cloud the admin activity now records a team bot's name, title, description, instructions and colour changes, from PATCH /api/bots/:id and PATCH /api/bots/:id/profile. The recent-work brief calls a conversation private there only when it is one person's alone, so a bot's shared main chat no longer shows as "a private chat with you" in a room. Fixes T-47 (server part), T-52 (recent-work part). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Time out slow request bodies on a Team Cloud; validate names and text A Team Cloud now ends a request whose body has not all arrived within 55 seconds (plus time in proportion to a large upload's size) with a 408, as the Cloud does; requests without a body, such as event streams and long polls, are never timed. Room names refuse a null byte or line break as bot names do, message text must be a string without a null byte, and POST /api/bots answers a bad field with one plain sentence instead of the raw validation issues. Fixes T-25, T-29, T-21. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Keep the webhook list a client route; own-helper label shrinks too The webhook list is secret-free and narrowed to the bots a member sees (bot-visibility.e2e). The internal address seen in testing came from a Team Cloud started without OMB_WEBHOOK_PUBLIC_URL, which cloud-home-start always sets. The own-helper chat label uses the same narrow-header layout as the shared and private ones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(team-cloud): a member reads the webhook list; creating one stays an admin's Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(app): a member's first load opens bots the server sent without a transcript The server leaves a bot's transcript out when its last conversation isn't the viewer's (bot-visibility.ts); hydrate kept those bots as sent, so a new member's first open crashed in transcriptLookups ("is not iterable") and the page went blank. Completes T-04. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(team-cloud): webhook list shows the public address; colour change is a real change A Team Cloud started as cloud-home-start starts it lists webhooks with its public address, never the loopback listener (T-40). The activity test now changes the bot to a colour it doesn't already have: new bots get a random starter colour, so "blue" sometimes changed nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor: simplify Team plan fixes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: code review findings on Team plan fixes (server) - Every room response on a Team Cloud carries the caller's own read state; PATCH {unread} sets or clears that person's read line. - A room's unread counts only bot replies; a read line off the active path reads up to the last message at or before it. - A person's room read goes to their own streams only; per-person room frames are built once per person per broadcast. - Room read lines are forgotten with the room and with a departing member. - A departing member's MausBot is stopped before deletion; failures are reported (botsKept) and logged. - revokeMember without a role ends every session of that member again. - The Team bot audit records an instructions digest, not their text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix: code review findings on Team plan fixes (app) - A New conversation click that arrives while one is being made gets the same outcome through its own callbacks; one for another folder waits and then runs. - Bot saves use keepalive only when the page is going away. - A 403 for a missing admin scope no longer starts a session check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Team plan fixes fit the size-pinned files: their new code moves into modules server/index.ts, src/state/store.tsx, ChatView.tsx, Composer.tsx and PluginsPanel.tsx had grown past the sizes scripts/testing/ file-size-ratchet.test.ts lists for them (the ratchet already failed on this branch before main was merged in). Nothing changes in behaviour. The branch's own additions move into modules with explicit deps: - Each person's view of a room (their unread mark and read line, their own group frames, Mark read/unread for them) is createPersonRooms in server/host/room-reads.ts. - Stopping and deleting a leaving member's own MausBot is server/host/member-own-bot.ts. - Who uploaded a file, for the thread routes, is uploadsFor in server/host/member-uploads.ts. - New conversation making one conversation per action is src/state/new-task-once.ts, and saving waiting edits as the page is left (with its keepalive size check) is in src/state/bot-patch-queue.ts. Unchanged code moves out as it is: roomRoutingInput to server/host/room-routing-input.ts, liveCallFromFrame and nextLiveCallLookup to src/state/live-call.ts (store.tsx still exports them), and AppsSection, PhonePlus and DaySeparator to their own files. Each pinned file is now at or under its listed size: index.ts 15816 (15818), store.tsx 3379 (3388), ChatView.tsx 1309 (1313), Composer.tsx 1011 (1020), PluginsPanel.tsx 1006 (1028). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * A request whose body stops arriving: the 408 says to check the connection and try again Main's plain-words pass (#3865) has every error say what happened and what to do next. The 408 this branch adds for a body that never finishes said only "The request took too long."; it now adds "Check the connection and try again." Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * The Apps grid test reads the grid where it now lives, AppsSection.tsx AppsSection moved out of PluginsPanel.tsx (the size pin), so the check that the Apps grid reflows inside the pop-up reads its classes from AppsSection.tsx. The @container it answers to stays in PluginsPanel.tsx, and the test still reads it there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: milind-soni <milindsoni201@gmail.com> | 6 天前 | |
Merge #4455 at a1aa74862 # Conflicts: # server/drivers/agents-catalog-goldens/bridged.profiles.json # server/drivers/agents-catalog-goldens/profiles.json # server/drivers/agents-catalog-wire.test.ts | 19 小时前 | |
perf(desktop): load only the shown language, and give the window's rail its own page The first load carried every translation (5.4 MB of a 9.1 MB chunk). English stays in the bundle as the fallback; the language a person chose loads before the first render and on a change, so nobody sees English first. The rail at /rail is now rail.html with its own small entry (the rail, its sheets, the skin and the language) instead of the whole app. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 3 天前 | |
Merge pull request #4476 from AdityaUmale/fix/4406-open-in-browser feat(html-preview): open HTML files in the preview, desktop "Open in browser" (#4406) | 8 小时前 | |
Merge #4388 at 0e22de931 # Conflicts: # shared/notification.ts # src/components/NotificationsPanel.tsx | 23 小时前 | |
perf(desktop): load only the shown language, and give the window's rail its own page The first load carried every translation (5.4 MB of a 9.1 MB chunk). English stays in the bundle as the fallback; the language a person chose loads before the first render and on a change, so nobody sees English first. The rail at /rail is now rail.html with its own small entry (the rail, its sheets, the skin and the language) instead of the whole app. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 3 天前 | |
perf(desktop): load only the shown language, and give the window's rail its own page The first load carried every translation (5.4 MB of a 9.1 MB chunk). English stays in the bundle as the fallback; the language a person chose loads before the first render and on a change, so nobody sees English first. The rail at /rail is now rail.html with its own small entry (the rail, its sheets, the skin and the language) instead of the whole app. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 3 天前 | |
Windows: lend a PC's apps and screen, say plainly when it can't, and let a Cloud's bot ask to turn it on (#3950) * ci(windows): start computer control as the installed app does and lend it A Windows smoke that runs electron/cua.mjs's packaged branch unchanged, in Electron's main process, then takes a Cloud's first look at the PC through the lend path (computer_tools, get_screen_size, list_apps). It reports the driver's mode and whether apps and screen would be lent, and sends no input. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci(windows): settle each answer with a statement in the lend smoke Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(windows): lend a PC's apps and screen, say plainly when it can't, and let a Cloud's bot ask to turn it on Computer control on Windows starts once, at launch. When it didn't (a helper Windows Security stopped, or a slow first start), nothing tried again, nothing was recorded (the driver's error carried only its kind, and console output is lost in the packaged app), the app showed nothing and reported Windows as unsupported, and a Cloud's bot was told to have the person "check computer control", which no Windows screen offers, then offered its own cloud computer. - Computer control keeps the reason Windows gave and logs every change to the app's log. On Windows a start that failed for a passing reason is tried again by itself, twice; a blocked or missing helper waits for the person. - The taskbar or menu-bar icon says what the Clouds can't use and why, with the one fix ("Screen control isn't running on this PC", Start screen control). The Computer panel on a PC says the same with a Start button. - A Cloud's bot that needs the person's computer and can't use it calls ask_for_computer: one card with what it wants and why, the reason, and a one-tap Turn on (resume, start screen control, ask macOS, or run commands after the computer's own confirmation), or Get MausBot when the app there is closed, missing or too old. The app on that computer, paused or not, hears the ask and shows its own prompt once, one at a time; the first answer wins. Once the computer lends what was needed the bot's waiting call returns, or its request goes on by itself. Only on the person's own Cloud. - Every "not available" answer a bot gets there points it at the card, and the Cloud prompt says never to switch to its cloud computer unless asked. - The person can keep writing while a Turn on card waits. - CI's Windows CUA job runs for changes to the modules it starts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(lending): a neutral computer name in the ask tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(lending): the help names the PC's screen-control status and the Turn on card, in the app's words Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(windows): the lent screen's driver gets Windows' own folders cua-driver 0.28.2 keeps its settings, history and cursor themes under LOCALAPPDATA and APPDATA; the lend path started its proxy without them. They hold no secret, and the app's keys still never reach it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci(windows): the lend smoke reports the lending decision the app makes, with why and the fix Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * ci(windows): on a pull request the lend smoke runs the base branch first, so one run shows the change Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(lending): screenshots of the PC's status and the Turn on card, light and dark Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(lending): the ask's internal route answers from its own module, so server/index.ts gains no route Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Windows Defender check: build the real installer, install it like a download, and report what Windows Security does A hand-run job on a fresh GitHub Windows machine (workflow_dispatch, or the "defender-check" label on a pull request while the workflow isn't on main): builds the NSIS installer the way the release's Windows job does, turns Defender's protection on the way a home PC has it (GitHub's image turns most of it off and excludes every drive), saves the installer to Downloads with a browser's Zone.Identifier (ZoneId=3), scans it, installs it silently (first the way a double-click starts it), opens the app for two minutes and presses Start screen control through the app's DevTools port. The summary and the defender-check artifact say what the machine allowed, Defender's detections and Operational events 1116, 1117, 1006-1008 and 1015, whether cua-driver-background.exe runs, the app log's computer-control lines and whether Start screen control worked. The run fails when Windows Security flagged the app or screen control doesn't run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Windows Defender check: show what holds a downloaded installer, and check Defender's cloud When the double-click start of the downloaded installer is still waiting after 30 s with no installer running, the check records the windows on screen, whether SmartScreen runs and a screenshot, then stops waiting instead of sitting out five minutes. It also records Defender's cloud connection (MpCmdRun -ValidateMapsConnection), the signatures' age, what GitHub's passive-mode policy means on a machine Defender reports in Normal mode, and a screenshot of the app after two minutes. A workflow test keeps the check's build step for step the same as the release's Windows job. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Windows lend smoke: read electron-builder.yml the same with CRLF line endings git checks electron-builder.yml out with CRLF on a Windows runner, so the smoke found none of the CUA resources it places and stopped before starting anything (the first CI run that reached the Windows CUA job). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 5 天前 | |
The window is named MausBot before the brand file answers (#4186) The page starts as index.html's OpenMausBot and was renamed only once /api/brand answered. With the app in its own chunk the page loads sooner, so the packaged Linux smoke read the title first, and a person could see the project's name flash in the window title. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> | 3 天前 | |
feat(ui): design refresh: bundled Inter, calmer chat, one type and radius scale - Bundle Inter Variable after the system face; concrete mono stack. - Round every half-pixel text size to a whole pixel; a test keeps it. - Midnight secondary ink 60% -> 75%; Daylight and Meadow one step darker. - Default icon stroke 1.75; softer shadow-lg/xl/2xl; surfaces on rounded-2xl. - Formatted bot replies read as plain text at a prose measure; short replies keep their bubble. Same rule in group chats. - "Color my messages" off by default; Meadow's own bubble is light. - Quieter inline code, 600 bold, 18/16px headings, small tables without search, row count or wrap toggle. - Composer: text on its own row, resting two lines tall. - Settings card titles 16px semibold. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> | 10 天前 | |
refactor: simplify duplicated runtime and tooling (#604) | 2 个月前 | |
fix(local-vm): proxy remote browser viewers through the workspace | 1 个月前 | |
Write less on the server while a bot works (#4151) * wip: write less on the server * perf(server): write less while a bot works bots.json and routines.json are written compact, and a save whose text equals the last one written is skipped without reading the file back. Saves asked for while one runtime event is delivered, or while a turn's synchronous start runs, land once when that pass returns, before the server yields to anything else; permission changes, and every save a caller rolls back on failure, still write at once. An unchanged resume cursor or read marker saves nothing. The scheduler finds queued runs through an index instead of a scan per run. The app starts with two weeks of routine runs plus the ones each automation's status, badge and panel need, and loads older ones when the calendar or a run's chat shows them. The native engine log keeps whole messages, not every streamed fragment, and appends each thread's lines together every 250 ms, at the end of its turn, before the inspector reads it and at exit. The server loads the chart library at the first chart. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * test(server): a turn and a routine run killed mid-way keep what was saved Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(server): cover on-demand routine runs; the onboarding preview answers the windowed request Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(server): name the native tee's test threads by what they check Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 3 天前 | |
Move to My Cloud: move the rest when some things never arrive, say why in the open, and stop freezing every hour A move whose check found the same things missing pass after pass failed for good: one PC failed 94 times in a week, its server frozen for each try, and the person saw only "My Cloud move needs you" with the reason in a tooltip. - The check keeps its gaps by key. When three passes carried none of them and the try before ended the same way, they stay on this computer, the rest moves, and the done line lists what stayed and why ("These stayed on it:"), in the person's words: a bot's name for its notes, chats and files, a room, an app or key, attachments, sign-ins. - A move that keeps failing while frozen waits 1, 2, 4, 8, then 12 hours between tries instead of every hour. - The Admin's move report leads with what the check found missing, by kind and count (never a name or an id). - The failing line says what is wrong and what happens next under "My Cloud move needs you", and the menu's Try again row carries the same words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> | 20 小时前 | |
Team: Looked after by, two-way sharing, one inbox list, plain words (#4203) * feat(team): simpler words and defaults for a team MausBot is a member's Chief: crowned on arrival unless they already have a Chief, with no second crown and an inbox that never moves. The crown widens nothing: Chief tools still follow the member's role, and it takes no place-wide notice, proactive work, incident turn or backup Chief. "Looked after by" replaces owner and reports-to words. Sharing is two choices, with stored view and edit levels kept in the data. The inbox is one list. People no longer read incident, delegated, handoff or lends. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): drop imports the rewrite left unused Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): the second Chrome line uses the new key too Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): the crown check takes any patch body Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(team): pin the backup, setup card and leaving guards around the crown Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): a MausBot that can't be deleted gets its crown back, and German for the new lines Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(team): word expectations, the MausBot's reach, and a Chief crowned earlier keeps working Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(team): keep crowns as they are on main, and leave a member's MausBot uncrowned A MausBot only its person sees reaches no bot everyone sees, so a crown would tell it to direct bots it cannot hand work to. Refusing other crowns would also take a delegating Chief away from new members. Hide the crown in the app instead, and change no route. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 2 天前 | |
Merge origin/main into perf/load-less # Conflicts: # src/main.tsx | 3 天前 | |
perf(desktop): load only the shown language, and give the window's rail its own page The first load carried every translation (5.4 MB of a 9.1 MB chunk). English stays in the bundle as the fallback; the language a person chose loads before the first render and on a change, so nobody sees English first. The rail at /rail is now rail.html with its own small entry (the rail, its sheets, the skin and the language) instead of the whole app. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 3 天前 | |
Review fixes for the train - A bot on an engine this server no longer has isn't told no AI is connected. - A hand-off refusal is remembered only for a routine run still going. - A frame without onlyPeopleAdded clears it. - The wrap rule no longer splits the .chat-text selector list. - acp/core.ts stays inside its size limit, and the tool catalog inside its budget. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> | 1 天前 | |
perf(desktop): load only the shown language, and give the window's rail its own page The first load carried every translation (5.4 MB of a 9.1 MB chunk). English stays in the bundle as the fallback; the language a person chose loads before the first render and on a change, so nobody sees English first. The rail at /rail is now rail.html with its own small entry (the rail, its sheets, the skin and the language) instead of the whole app. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> | 3 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 8 小时前 | ||
| 1 个月前 | ||
| 1 天前 | ||
| 8 小时前 | ||
| 8 小时前 | ||
| 6 天前 | ||
| 19 小时前 | ||
| 3 天前 | ||
| 8 小时前 | ||
| 23 小时前 | ||
| 3 天前 | ||
| 3 天前 | ||
| 5 天前 | ||
| 3 天前 | ||
| 10 天前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 3 天前 | ||
| 20 小时前 | ||
| 2 天前 | ||
| 3 天前 | ||
| 3 天前 | ||
| 1 天前 | ||
| 3 天前 |