Report a problem: categories, attached context and the assistant

The Report a problem screen sends a bug report with a measured technical context (version, OS, open module, data source, last error lines) that is displayed before you send it. It works without a session and without an AI key; the side assistant only helps you write the description.

Senzoukria · Documentation · Updated September 2026


Where to find it

Where
Menu → Report a problem, or Settings → About → Report a problem →
Route
/report, reachable without being signed in
Endpoint
POST https://senzoukria.com/api/report, 15 s timeout
Default category
Deduced from the module you left (chart pages → Chart & indicators, Trading → Broker connection, otherwise Something else)

What it does

The screen has one form and one side panel. The form collects a category, a title, a description and an optional reply address. The technical context is not asked for: it is measured by the application and listed in a Technical context attached block next to the send button, so what leaves the machine is visible before it leaves. The manifest shows the app version, the operating system, the interface language, the open module, the broker and environment line, the last error lines and the reply address (a dash means nothing is sent on that line).

Sending never fails silently. A network failure shows that nothing was sent and offers Try again; an HTTP 429 shows that too many reports left this machine and asks you to wait a few minutes. The form keeps its content in both cases. On success the screen shows Report sent with a reference to keep, and a Send another report button that clears the title and description but keeps the email address.

Fields and categories

Form fields, their defaults and how they are processed
FieldDefaultWhat it changes
What is affectedPre-selected from the last open module; Something else otherwiseRoutes the report. Broker connection, Market data and Account & licence are sent with severity blocking; Chart & indicators, Scripting, Replay & backtest and Something else with severity normal
TitleEmpty, requiredOne line, scrubbed of credentials, cut at 160 characters
What happenedEmpty, required, 9 visible rowsFree text, scrubbed, cut at 8 000 characters. The hint asks for what you did, what you expected, what happened
Your email — optionalEmptyOnly used to write back when the problem is fixed. Kept across Send another report. Validated for an obvious typo, cut at 200 characters
Technical context attachedCollapsed; Show what is attached opens itDisplays the exact diagnostic bundle serialised into the request

What is attached and what is stripped

The diagnostic bundle contains the app version, the platform, the interface locale, the last module path opened before the report screen, the data-source preference (Rithmic direct, NinjaTrader or Quantower), a one-line summary per active connection and up to five recent error lines. Error lines come from unhandled promise rejections and uncaught errors, not from console output, each cut at 240 characters.

Every text field, including the title and the description you type, passes through the same scrubber as crash reports before it enters the payload. It masks AI API keys, Bearer and Basic tokens, Windows and Unix user paths, email addresses and key/value pairs such as password, token, api_key, user_id, username, login or account. The reply address is the one deliberate exception, because you typed it to be contacted. Balance, positions and P&L are never read.

The assistant panel

The right-hand Assistant conducts a short interview: what you observed, what you expected, the steps to reproduce and the module concerned. When it has them it writes a report and offers Use this as the description, which appends the text to what you already typed rather than replacing it. It never asks for the version or the OS since those are attached automatically. Three suggested prompts start the conversation: The chart stays empty after connecting, Help me describe this bug precisely, and Which details should I attach?

The panel opens only when an engine can answer: your own Claude API key stored in the operating-system keychain, or a reachable local engine. You can attach up to three screenshots by paste, drop or file picker; a local engine does not read images, so the attachment is refused at once. The warning reminds you that a screenshot shows your balance and open positions, so crop before attaching. Clear the conversation resets the panel. The form itself never needs a key.

Limits and pitfalls

  • The report screen opens even when the rest of the application is broken; each context source is collected independently and a missing one does not block sending.
  • The reference shown after sending is the only way to find the report again; there is no in-app list of past reports.
  • The category does not limit what you write, but it decides the severity and the routing, so pick the closest one.
  • The assistant's chat history is local to this panel and separate from the other assistants.

This page in other languages

Frequently asked questions

Do I need an account or an AI key to send a report?
No. The route is reachable without a session and the form posts without any key. Only the side assistant needs a Claude key in the keychain or a reachable local engine, and it only gates itself.
Will my broker login or account number end up in the report?
Text fields and error lines pass through the credential scrubber before being sent, and balance, positions and P&L are never read. The optional reply email is the only identifying field, and it is kept as typed because you asked to be contacted.
What happens if the send fails?
The form stays filled and shows a specific message: server unreachable (nothing was sent) with a Try again button, or too many reports from this machine (wait a few minutes). A success without a readable body still counts as sent, only without a reference.

Keep reading