blob: 21268704ac31e2e261d124e5b4b51eade2547a64 [file] [view]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Collect evidence for a Desktop conversation problem
[简体中文](./session-diagnostics.zh-CN.md)
Open the affected task before collecting evidence. For an assistant to read the
conversation, save it as Markdown. For a crash, failed request, or disconnected
Runtime Host, also copy diagnostics. These exports answer different questions.
## What happened to the file path in Trace?
The old **record file** row showed the workspace's shared `runtime.sqlite`
database, not a separate text file for the selected conversation. It was added
in [#2196](https://github.com/apache/maka/pull/2196) on August 8, 2026, and
explicitly removed, together with its unused service and bridge fields, in
[#3610](https://github.com/apache/maka/pull/3610) on August 23, 2026.
The current Trace panel reads a Session-specific projection from the Runtime
Host: usage, context composition, and the turn timeline. It does not expose a
replacement database-path button. The removal commit establishes what changed;
it does not document a broader product rationale for removing path access.
## Save readable conversation text
1. Select the affected task. For a long conversation, load the earlier messages
you need before exporting: these actions serialize the messages loaded by
the current interface, rather than querying the complete stored ledger.
2. Open the command palette with **Cmd+K** on macOS or **Ctrl+K** on Windows/Linux.
3. Choose **Save task as an .md file** and select a destination in the save dialog.
Give that saved file to the assistant investigating the problem. Alternatively,
**Copy task as Markdown** puts the same representation on the clipboard.
Markdown contains the user messages, assistant answers, and tool names/intents.
It leaves out reasoning, raw tool results, token-usage records, and permission
decisions. It is useful for discussing what happened in the conversation, but
it is not a complete execution trace. User text is kept as entered; assistant
text and tool intents pass through secret redaction. Review the selected
content before sharing it.
## Copy diagnostics for a failure
With the affected task open, choose **Copy diagnostics** in the command palette.
The shortcut is **Cmd+Shift+D** on macOS or **Ctrl+Shift+D** on Windows/Linux.
The report is copied to the clipboard; paste it into a text file or your report.
**Settings → About → Copy diagnostics** is also available for general app issues.
The report includes the Desktop environment, recent main-process logs, and
Runtime Host diagnostics when available. A task-targeted report resolves the
Host for that task; an unavailable Host is reported as unavailable. Reports
apply secret redaction and home-path shortening. They are not full conversation
exports. Include the action that failed, the approximate time, and the relevant
Trace-panel error or screenshot alongside the report.
## Export a portable Session when more state is needed
Builds containing [#5197](https://github.com/apache/maka/pull/5197), merged on
September 12, 2026, also offer **Settings → Import/export tasks → Export tasks**
for the **Local** Host. Choose the task and export a `.maka-session` file. Wait
until the task and its subagents have stopped running; confirm inclusion of
subagent conversations if prompted. This Desktop export surface is not shown
for remote Hosts.
The bundle carries the selected Session, its subagent subtree, and referenced
artifacts/context-offload data. It excludes connection credentials and the
user's project directory. It also intentionally omits diagnostic events such
as provider-request captures, model-call attempts, and stream diagnostics, so
it does not replace the diagnostic report. Conversation and artifact content
can still contain private information.
A `.maka-session` bundle is intended for import into a compatible Maka
installation, not for opening as plain text. Use Markdown for an assistant
that only needs readable conversation text. If the export page is absent on
an older build, use the Markdown and diagnostic commands available there.
## Implementation references
- [Current Trace panel](../apps/desktop/src/renderer/features/workbar/tools/inspector/session-inspector-panel.tsx)
- [Command actions and loaded-message export](../apps/desktop/src/renderer/app-shell-command-actions.ts)
- [Markdown fields and redaction](../apps/desktop/src/renderer/conversation-markdown.ts)
- [Diagnostic collection and formatting](../apps/desktop/src/main/main-process-diagnostics.ts)
- [Local Session export surface](../apps/desktop/src/renderer/features/session-bundle/session-bundle-tasks.tsx)
- [Bundle export contract](../packages/runtime/src/session-export.ts) and [omitted diagnostic events](../packages/storage/src/session-bundle-policy.ts)