SNOWLUMA_ variables can set the factory OneBot listen ports, WebUI TLS,
packet and hook timeouts, the stream directory, file download timeout,
and notification HTTP timeout. The values apply in memory and are not
written back to saved config.
Operators can set SNOWLUMA_SESSION_RELEASE_DEADLINE_MS, in milliseconds.
The wait stays at 10 seconds when that variable is absent or not a positive integer.
If the previous OneBot session does not finish closing, the account now
comes back online instead of staying disconnected until QQ is restarted.
Fixes#509
get_group_tags lists the tags under one group category. add_group_tag
and delete_group_tag add or remove a tag by name. Callers pass the
category number as group_class. An empty name is rejected.
Refs #506
Group video sends could exit the process with no error after the file was
staged. Refresh the bundled addon from the build that covers this case.
Fixes#507
Document contributor expectations, validation steps, and manual issue submission requirements for AI-assisted contributions. Provide a shared project guide for coding agents.
Keep forwarded cards readable when previews contain unsupported characters
without changing the forwarded messages.
Reject invalid resource references and record affected preview fields for
troubleshooting.
Refs #467
Keep custom titles and previews available when reading uploaded forwards,
including nested messages and refreshed sender names.
Reject malformed preview metadata before processing the request.
Refs #493
Speed up unfinished history migration while preserving all messages and
existing processing limits.
Keep migration diagnostics under the configured logging policy and surface
preparation failures.
Fixes#462
Preserve message history and the media information needed for reliable
forwarding. Retain available older data during upgrades and report storage
failures explicitly.
Fixes#462
Add account identifiers, compatible level names, available registration and membership details, and documented account age for group members. Keep unavailable values absent and refresh the action documentation.
Fixes#496
Avoid selecting a text message when another cached message could share its truncated or media preview. Extend the quote-context regression checks.
Fixes#502
Carry quoted text into receipt lookup and require a unique content match when several outgoing messages share a timestamp. Preserve sequence matches and log unresolved ambiguity.
Fixes#502
Require a server message receipt before returning success. Log unconfirmed responses and leave retries to the caller to avoid duplicate sends.
Fixes#492
Private-chat voice bubbles arrived without a waveform: the NapCat-derived
14-byte c2c bytesGeneralFlags blob suppresses it. A/B testing that single
field (everything else byte-identical) shows the receiver drops the shipped
waveform while it is present and draws the bars as soon as it is gone, so c2c
now sends no flags at all. Group voice keeps its 10-byte blob unchanged.
Allow selecting animated face results and preserve received results in messages and history. Keep the default selection when no result is supplied.
Fixes#487
Correct approval handling for filtered friend requests and preserve clear failures when an account cannot be resolved or the request is rejected.
Add regression coverage for separate account identities, approval errors, and existing list and rejection behavior.
Fixes#460
Allow image replies in existing group temporary conversations while preserving passive-only restrictions. Missing, expired, or mismatched sessions remain rejected before media processing, and sending never creates or refreshes a session.
Fixes#471
Expose large in face builders and preserve it through CQ parsing and serialization. Reject invalid animation choices instead of silently discarding them.
Fixes#483
Resolve saved stickers by resource ID or MD5, support group and private destinations with optional replies, and preserve presentation in upload and message metadata.
Fixes#468
Decode every group in the third face panel and allow IDs absent from the catalog to use the small-face wire format. Keep animation resources dependent on authoritative catalog metadata.
Fixes#482
Drop download acknowledgements carried by the offline-file subcommand in both push and history paths, while retaining incoming file transfers.
Fixes#477
Send available face animations by default and accept large=false for the small representation. Preserve the sticker business type when encoding animated faces.
Fixes#483
Every tile was a nested scrollport that swallowed the wheel even when its contents already fit. Clip the card instead and leave inner lists to scroll themselves.
Safari layout work dropped the page height that the fill wizard needs, so the agreement card shrank to a line. Restore a full-viewport column so the documents can show.