Commit Graph

  • 26bdf00f02 fix: tracking page tab nav + wide layout main canglan 2026-08-23 18:02:13 +08:00
  • 1979cab5ec feat: anonymous ticket tracking as standalone public page canglan 2026-08-23 17:50:42 +08:00
  • 09e33128a8 fix: serve /webfonts static dir - icons missing after FA localization canglan 2026-08-22 20:46:01 +08:00
  • c5ceba7cf0 fix: data-action buttons, sources enabled, email notify, ticket detail single-page canglan 2026-08-22 20:00:12 +08:00
  • e5a1d693f1 fix: lazy-load ReferenceError + localize Font Awesome canglan 2026-08-22 19:29:24 +08:00
  • 4ebabfc703 fix: remove Google Fonts dependency + lazy-load page scripts canglan 2026-08-22 12:26:15 +08:00
  • da26dd5f69 fix: anonymous ticket submit 500 - undefined rgu param canglan 2026-08-22 12:21:58 +08:00
  • bab584f31d feat: ticket create - identity-only for logged-in users canglan 2026-08-22 02:56:13 +08:00
  • d7fb971f9f fix: public footer reads DB settings for all visitors canglan 2026-08-22 02:51:20 +08:00
  • 6c05a13ae4 feat: home page logout stays + wider PC layout canglan 2026-08-22 02:47:26 +08:00
  • effc262382 fix: site name in top logo + server-list public + external API docs page canglan 2026-08-22 02:18:29 +08:00
  • c4363deb46 feat: ticket create - sub-server selector canglan 2026-08-21 22:02:06 +08:00
  • cb5847d650 feat: game UID fully internal + remove multi-identity copy canglan 2026-08-21 21:52:40 +08:00
  • 188e083719 refactor: auth expiry - sync JWT exp check, remove async validation canglan 2026-08-21 21:01:30 +08:00
  • edf561729f fix: backend pages redirect loop - wrong /me path + init() clearing auth canglan 2026-08-21 20:57:25 +08:00
  • 7b50b599cf fix: infinite login loop from async auth validation canglan 2026-08-21 20:52:41 +08:00
  • e232f3b02e fix: auth expiry - validate token before showing protected pages canglan 2026-08-21 20:46:09 +08:00
  • 6ac8a5cd11 fix: site_name not loaded + expired token not cleared canglan 2026-08-21 20:31:45 +08:00
  • e1cdff2b4a security: backend validation for all inputs canglan 2026-08-21 20:10:05 +08:00
  • 8c5ce78fd0 chore: add AGPLv3 copyright header to all source files canglan 2026-08-19 20:27:05 +08:00
  • 356d7ab5ab chore: remove plugin from repo, add plugin guide, docs + AGPLv3 license canglan 2026-08-19 20:23:04 +08:00
  • 3441eb9478 chore: pure-random 32-char secret, no default source, legacy migration canglan 2026-08-19 20:16:16 +08:00
  • 65edbaf157 refactor: session-based external auth, dynamic sources, drop netease UID canglan 2026-08-19 20:08:06 +08:00
  • 6056153f57 security: external API - only ID+Secret auth, remove legacy key & JWT canglan 2026-08-19 19:44:34 +08:00
  • 4dfc30ce89 docs: standalone external API doc for bots/third-party canglan 2026-08-19 19:40:25 +08:00
  • 257cd14051 feat: external API for QQ bot - client id+secret auth, ticket tracking, bans, per-server data canglan 2026-08-19 19:12:34 +08:00
  • a11df22600 feat: system logs - email log + system log with admin UI canglan 2026-08-17 05:14:41 +08:00
  • 8d6c3c4a8d fix: notifications page crash + email code dev-mode false error canglan 2026-08-17 04:50:10 +08:00
  • 1d669fd1d0 feat: skin site UUID lookup - auto-fetch UUID from player name canglan 2026-08-17 02:05:21 +08:00
  • a6a548b1ce fix: identity bind row layout - select stole full width, inputs invisible canglan 2026-08-17 01:52:20 +08:00
  • 25a766591e feat: admin user management supports multi-identity bind/unbind canglan 2026-08-17 01:34:20 +08:00
  • 4c221ad6f1 docs: full API documentation + data compat guard canglan 2026-08-17 01:20:39 +08:00
  • 559970c5b7 feat: one account can bind both netease + skin identities canglan 2026-08-17 01:17:09 +08:00
  • 42d4cafedd fix: async route rejection crashes process - global async error wrap + email dup check canglan 2026-08-17 01:03:45 +08:00
  • 7e203d9a27 fix: 404 interface not found after login - business routes on dedicated router so dynamic loading precedes catch-all canglan 2026-08-17 00:01:36 +08:00
  • cc02041b61 fix: api key cache invalidated by config mtime - server picks up new key after reinstall canglan 2026-08-16 23:03:03 +08:00
  • a5019f1b11 fix: invalid API key after install - force page reload to pick up injected key canglan 2026-08-16 23:01:31 +08:00
  • 1740a52cda fix: install page blank - init() early return skipped route registration canglan 2026-08-16 21:27:46 +08:00
  • 6e9101a506 fix: deploy crash + multiple bug fixes + cleanup canglan 2026-08-16 21:21:25 +08:00
  • 64199a0aaf refactor: universal compatibility - spigot-api, no api-version lock canglan 2026-07-23 12:48:50 +08:00
  • 02aeab1e9c docs: Paper 1.20-1.21+ compatibility, folia-supported canglan 2026-07-22 21:49:55 +08:00
  • 2a534718fd refactor: plugin permissions to SeaStudio.Report.* namespace canglan 2026-07-21 15:43:05 +08:00
  • 37657a7ba4 docs: plugin README with build instructions canglan 2026-07-19 03:06:23 +08:00
  • 7bc22dee0c fix: add source field to dashboard ban form canglan 2026-07-19 00:40:54 +08:00
  • 19615cfa56 feat: edit ban entries with modal form canglan 2026-07-18 01:53:24 +08:00
  • 12721d09ee fix: duplicate res.json crash + missing try/catch in bans POST canglan 2026-07-18 01:45:00 +08:00
  • 5cb17228a8 fix: missing duration dropdown in bans add form canglan 2026-07-18 01:41:37 +08:00
  • dce812aa2f feat: bans show account source + ban source (ticket/manual) canglan 2026-07-18 01:35:30 +08:00
  • 140ff3e3ae fix: remove duplicate closing brace in auth.js canglan 2026-07-18 01:30:14 +08:00
  • ce51abc127 fix: add source field to bans + display in list canglan 2026-07-18 01:26:37 +08:00
  • d242786a3a feat: bans sidebar page, public view with masked names canglan 2026-07-18 01:17:40 +08:00
  • 2e09dd2d3a fix: pass bans to renderContent, restore exports wrapper canglan 2026-07-18 01:14:43 +08:00
  • 2a12e7b740 fix: ban duration >= not >, auto-prefill min duration canglan 2026-07-18 01:11:41 +08:00
  • aa2c296971 feat: escalating ban duration - each ban must be longer than previous canglan 2026-07-18 01:09:14 +08:00
  • 5ed109ec0e feat: ban list with dashboard widget, owner add/edit bans canglan 2026-07-18 00:52:33 +08:00
  • 5497de9aac feat: batch ticket operations (close/delete/change status) canglan 2026-07-17 21:55:15 +08:00
  • ed6fe9dcf1 fix: admin/owner skip rate limiting, anon 10/min canglan 2026-07-17 21:51:32 +08:00
  • 6dfc6788e5 fix: show target UID when name is empty in ticket list canglan 2026-07-17 19:25:39 +08:00
  • 1e1e8282e6 style: add spacing between code input and submit button canglan 2026-07-17 15:05:01 +08:00
  • 771e28472e fix: remove duplicate email field and extra send button canglan 2026-07-17 14:57:33 +08:00
  • f21ea19789 fix: captcha input left, image right same row canglan 2026-07-17 14:50:42 +08:00
  • 96e55d8715 feat: anonymous ticket reply via tracking cookie canglan 2026-07-17 14:16:21 +08:00
  • 9e5967d6ea fix: reuse tracking cookie for multiple anonymous submissions canglan 2026-07-17 14:14:02 +08:00
  • 5e998b2201 fix: hide type tabs when embedded in home page canglan 2026-07-17 13:41:29 +08:00
  • 0bd32a1549 fix: keep top bar on home page, tabs stay in page content canglan 2026-07-17 13:39:15 +08:00
  • 0892dd5f8e fix: hide top bar on home page, tabs back in page content canglan 2026-07-17 13:32:28 +08:00
  • d697ea1353 fix: add priority selector to ticket create form canglan 2026-07-17 13:25:17 +08:00
  • 9eb8aba371 fix: home page tabs in top bar, single nav layer canglan 2026-07-17 13:21:30 +08:00
  • 8f7c34dd86 fix: captcha full-width row, hide top-auth on anonymous submit page canglan 2026-07-17 13:14:15 +08:00
  • fbd98ca801 fix: email back to original position, code+button after captcha canglan 2026-07-17 01:51:40 +08:00
  • 982437af06 fix: email after captcha, captcha required before sending code canglan 2026-07-17 01:00:34 +08:00
  • 292c863d95 style: register layout - email solo row, source+name together, code+captcha full width canglan 2026-07-17 00:53:12 +08:00
  • 3fdfb206cd style: cleaner register UI with email+code on same line canglan 2026-07-17 00:47:15 +08:00
  • 926bcb626b feat: send-code before register, dup game_name check, skin hides uid canglan 2026-07-17 00:42:19 +08:00
  • 511d5ab36f fix: inline email verification after registration, no separate page canglan 2026-07-17 00:35:50 +08:00
  • ead50beccd feat: 6-digit email verification code, fix missing script+route includes canglan 2026-07-17 00:34:47 +08:00
  • bfc63a8194 fix: captcha uses dark high-contrast colors only canglan 2026-07-17 00:30:18 +08:00
  • 17bf5a611d feat: type tabs on create form (report/suggestion/appeal) canglan 2026-07-17 00:21:48 +08:00
  • 2961ca67d1 fix: sidebar highlights tickets-create when on create form canglan 2026-07-17 00:10:34 +08:00
  • 1762b016cd fix: tickets-create route matches create?type param, proper redirect canglan 2026-07-17 00:09:02 +08:00
  • c3cd97676e fix: create user server toggle only shows for admin/owner, initial state correct canglan 2026-07-17 00:07:58 +08:00
  • 18bb8152ef feat: multi-channel notifications (Discord/email/generic Webhook) canglan 2026-07-16 23:51:09 +08:00
  • ab08b1a2a9 feat: feature discussion as separate detail page, not inline canglan 2026-07-16 23:50:16 +08:00
  • e9ef425545 fix: simplify player ticket list - hide type/priority/tab filters canglan 2026-07-16 23:47:24 +08:00
  • 09f0d8f2aa fix: 12 issues - admin permission scope, player sidebar nav, SMTP label, user create servers canglan 2026-07-16 23:04:15 +08:00
  • e46dad9f95 fix: features page use .filter-bar class instead of inline style canglan 2026-07-16 22:05:38 +08:00
  • 547348d4fe fix: placeholder examples, filter bar styling improvement canglan 2026-07-16 22:00:23 +08:00
  • a417a1c376 style: features page CSS classes, onclick→data-action, site name hot-reload canglan 2026-07-16 06:03:33 +08:00
  • 4d2dade44e fix: site name hot-reloads from DB on every page load, no restart needed canglan 2026-07-16 05:49:22 +08:00
  • f423e1f791 fix: dynamic site name from DB, displayed in header/title/sidebar canglan 2026-07-16 04:02:19 +08:00
  • abf747e3af feat: dedicated server groups management page in sidebar canglan 2026-07-16 03:56:09 +08:00
  • 8ecefdcb19 fix: remove stale admin_servers column reference from users UPDATE canglan 2026-07-16 03:33:40 +08:00
  • a8309aa456 refactor: use user_servers junction table instead of JSON column canglan 2026-07-15 04:55:57 +08:00
  • a34314ac9d feat: admin server assignment in user management canglan 2026-07-15 04:53:27 +08:00
  • de22a9d9cb docs: full README+INSTALL sync, plugin source field canglan 2026-07-15 04:47:31 +08:00
  • 4fe1b30278 fix: include source in auth login response canglan 2026-07-15 04:44:14 +08:00
  • efe6b084be sync: add source field to user list, create, edit, and external API canglan 2026-07-15 04:43:30 +08:00
  • 880e3905dc fix: CSP scriptSrcAttr explicitly allow unsafe-inline canglan 2026-07-15 04:39:23 +08:00
  • 125b4f99fc fix: only two sources (netease/skin), plugin uses skin canglan 2026-07-15 04:36:01 +08:00
  • c493c1204b feat: registration source selector (netease/skin/java) canglan 2026-07-15 04:34:06 +08:00