291 Commits
Author SHA1 Message Date
DrSmoothl f2ea3354f8 chore(release): v2.4.2 2026-11-07 19:49:06 +08:00
DrSmoothl 84f4cde85e chore(release): v2.4.1 2026-11-07 14:20:00 +08:00
DrSmoothl e44e4ced17 chore(release): v2.4.0 2026-11-03 11:07:44 +08:00
DrSmoothl f452c657ed fix(webui): tint default surfaces with the active accent 2026-11-03 11:03:29 +08:00
DrSmoothl 1cd838e7a1 feat(webui): adopt lavender mascot branding 2026-11-03 10:41:11 +08:00
DrSmoothl e9faec0e28 chore(release): v2.3.4 2026-11-02 09:09:06 +08:00
DrSmoothl 5f1700fc1b feat(onebot): add HTTP event streaming
Refs #593
2026-11-01 23:15:51 +08:00
KazusaUwU 8d9f44b6b0 feat(onebot): make the websocket frame cap configurable and diagnosable (#631)
- expose DEFAULT_MAX_PAYLOAD_BYTES; an inbound frame over the cap now reports its
  declared byte size, message type and the effective limit, recovered by walking
  the buffered frame stream so the number is right when a chunk carries several
  frames, the oversized header spans chunks, or control frames are interleaved;
  when the walk cannot reach a verdict the error names the cap without a size
- truncate close reasons to the RFC 6455 control-frame room on a UTF-8 boundary
  (an over-long reason previously produced an invalid control frame)
- add optional maxPayloadBytes (default 100 MiB unchanged) to the three adapters
  that read WebSocket frames: wsServers, wsClients and httpServers with
  enableWebSocket. httpClients rejects the field because it has no WebSocket
  transport, and the value is part of the binding signature so a change rebinds
  the transport instead of being saved without taking effect
- keep the existing 1009 log lines and append the actionable hint instead of
  replacing the template
- WebUI field (including httpServers once the embedded listener is on) and README
  docs for the 100 MiB => ~445 s (7:26) inline PCM consequence
2026-11-01 20:29:16 +08:00
DrSmoothl 60733aacab chore(release): v2.3.3 2026-11-01 14:05:51 +08:00
DrSmoothl 7882081bdb chore(release): v2.3.2 2026-11-01 01:04:27 +08:00
DrSmoothl c120b0fb97 chore(release): v2.3.1 2026-10-31 23:41:23 +08:00
DrSmoothl 11d42b4e98 chore(release): v2.3.0 2026-10-31 20:29:11 +08:00
DrSmoothl 8ffd314260 chore(release): v2.2.1 2026-10-27 17:28:27 +08:00
DrSmoothl 3acd3cd28b fix: resolve dependency security alerts 2026-10-26 10:43:32 +08:00
DrSmoothl dafe2082f1 fix(onebot): preserve public Qzone input semantics
Keep comment and reply text unchanged and support structured input in the debug console. Report malformed input before sending a request.

Refs #587
2026-10-25 23:26:55 +08:00
DrSmoothl 5c9328206f feat: add configurable parallel video uploads
Allow up to four video upload connections while keeping one connection as the default. Preserve existing messaging interfaces and add configuration controls, reliable failure handling, and upload diagnostics.

Closes #569
2026-10-24 22:58:46 +08:00
DrSmoothl 3bd74acb60 chore(release): v2.2.0 2026-10-24 22:21:43 +08:00
DrSmoothl f8cb15c27b chore(release): v2.1.1 2026-10-22 01:02:02 +08:00
DrSmoothl c5464e48d1 fix(security): update runtime baseline and vulnerable dependencies
Require patched Node.js releases and refresh affected application and build dependencies.

Align installation requirements, startup checks, and release workflows with the security baseline.
2026-10-22 01:00:13 +08:00
DrSmoothl 8fc68c0ec3 chore(release): v2.1.0 2026-10-21 20:28:15 +08:00
DrSmoothl 5cd4ae61dd feat(webui): add opt-in MaiBot appearance overlay 2026-10-21 13:07:44 +08:00
手瓜一十雪 db142db9e6 chore(release): v2.0.3
Validated by the full CI workflow: https://github.com/SnowLuma/SnowLuma/actions/runs/39187830699
2026-10-19 10:02:42 +08:00
手瓜一十雪 059faf79c0 chore(release): v2.0.2 2026-10-18 19:41:10 +08:00
手瓜一十雪 20cf7394e5 fix(update): recover from GitHub rate limits with configurable mirrors 2026-10-18 19:41:02 +08:00
手瓜一十雪 68deb48811 chore(release): v2.0.1 2026-10-18 19:02:31 +08:00
手瓜一十雪 c15b2d857d chore: prepare v2.0.0 release 2026-10-18 13:58:08 +08:00
手瓜一十雪 0f358b2ac2 fix(webui): stop idle polling and release background timers 2026-10-18 13:49:48 +08:00
手瓜一十雪 fb39af6c28 fix: unify stream cleanup and async request ownership 2026-10-18 13:20:22 +08:00
手瓜一十雪 9b165a8971 refactor: await native operations across the bridge lifecycle 2026-10-18 13:19:21 +08:00
手瓜一十雪 1faa6c58fa fix: unify stream cleanup and configuration response handling 2026-10-18 13:18:25 +08:00
手瓜一十雪 38a7c3da63 fix: standardize version parsing and simplify string escaping 2026-10-18 13:00:39 +08:00
手瓜一十雪 4e2b6b1200 refactor: use native async discovery and simplify shared state 2026-10-18 12:57:18 +08:00
手瓜一十雪 5032cbb8c0 feat(core): add staged self-updates and unify application version 2026-10-18 12:50:11 +08:00
手瓜一十雪 c54aeffc77 refactor: clarify async state and subscription ownership 2026-10-18 12:42:54 +08:00
H3CoF6 f6ca9d5f65 feat(bridge): detect local QQ accounts with shared process snapshots (#525)
Read QQ account databases and attribute identities to their owning processes. Share snapshots across REST, watcher updates and login reconciliation, discard stale results, and report detection failures.
2026-10-18 12:10:37 +08:00
8e24995fc3 feat(core): add process facts to ordered account notifications (#539)
* feat(core): carry hook process status in notifications

`offline` alone cannot tell an external supervisor whether the QQ session dropped (log back in) or the process is gone (restart the client). Resolve the hook process behind a UIN at notify time and expose `status`, `pid` and `error` as template variables; a failing lookup degrades to empty values so delivery is never blocked.

The default webhook/email templates gain a process-status line; existing channels keep their stored template untouched.

* fix(core): preserve notification lifecycle ordering and simplify state

---------

Co-authored-by: zhngzhu <215231231+zhngzhu@users.noreply.github.com>
Co-authored-by: 手瓜一十雪 <nanaeonn@outlook.com>
2026-10-18 11:13:58 +08:00
DrSmoothl 5150d83403 fix(webui): preserve reverse proxy authentication
Prevent login loops when the WebUI is protected by HTTP authentication
at a reverse proxy. Apply the fix to settings, uploads, and live streams
while retaining compatibility with existing WebUI clients.

Fixes #523
2026-10-14 08:13:50 +08:00
DrSmoothl d6dd748beb docs(webui): clarify account detection reliability
Explain that account detection is not guaranteed to succeed and its results are for reference.
2026-10-13 16:42:28 +08:00
MliKiowa c7428363cb feat: add async SQLite on Node 24 and improve messaging diagnostics (#520)
Move database work off the main thread on Node.js 24 and improve message handling and runtime diagnostics.

Preserve migration, restart, and concurrency coverage with the async SQLite driver.
2026-10-13 10:12:47 +08:00
DrSmoothl 7c0519f75f lint 2026-10-12 15:43:34 +08:00
DrSmoothl 87527cb764 chore(release): v1.14.22 2026-10-07 11:04:07 +08:00
DrSmoothl 9632b00638 chore(release): v1.14.21 2026-10-04 16:10:01 +08:00
DrSmoothl 1ef9a2c330 chore(release): v1.14.20 2026-09-26 16:34:14 +08:00
DrSmoothl 726fbc6c67 fix(webui): hide sidebar pin controls in menu mode
Keep sidebar pinning available in desktop navigation and hide its controls when navigation uses the menu.

Fixes #485
2026-09-26 15:54:38 +08:00
DrSmoothl fe245d84bf chore(release): v1.14.19 2026-09-21 16:39:11 +08:00
DrSmoothl d0a1b0e804 fix(webui): let the dashboard page scroll while the pointer is over a card
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.
2026-09-21 16:27:49 +08:00
DrSmoothl 51c0ffab74 fix(webui): keep the first-run agreement panel from collapsing
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.
2026-09-21 16:18:18 +08:00
DrSmoothl 3e581780b3 chore(release): v1.14.18 2026-09-21 14:25:21 +08:00
DrSmoothl 173e21d80d fix(webui): drop an unused appearance-migration assignment
The first assignment was overwritten on every path, which the linter rejected.
2026-09-21 14:23:46 +08:00
DrSmoothl 6efadce2eb fix(webui): let Safari add widgets and reorder without HTML5 drag
Touch cannot reliably start a drag. Add a tap control for the
gallery, a file-input label, and handle-only reorder.
2026-09-19 16:30:11 +08:00