Commit Graph

135 Commits

Author SHA1 Message Date
a5019f1b11 fix: invalid API key after install - force page reload to pick up injected key 2026-08-16 23:01:31 +08:00
1740a52cda fix: install page blank - init() early return skipped route registration 2026-08-16 21:27:46 +08:00
6e9101a506 fix: deploy crash + multiple bug fixes + cleanup
- server.js: fix getSiteName() returning string when not installed causing
  'getSiteName(...).then is not a function' crash on homepage (deploy blocker)
- server.js: auto-load business routes after install completes (no restart needed),
  HTML cache keyed by api_key
- install: validate db name/email/password, trigger route loading after complete
- app.js: fix forgot/reset/verify pages rendering HomePage (missing page mapping)
- verify.js: support URL token auto-verification for external registration links
- auth: new email_code template for 6-digit code, reset_password template
  (forgot-password was using verify_email template)
- upload.js: fix MP4 magic-bytes check using undefined buf variable
- tickets.js: status enum validation, anonymous submission rate limit
- security.js: XSS whitelist preserves email template HTML, strips scripts,
  blocks javascript:/data: hrefs; CORS reject returns 403
- bans.js: allow clearing reason/duration, status enum validation
- users.js: fix req.user.role ReferenceError in create user modal
- home.js: tracking results now have detail view button
- .gitignore: ignore data/ (db credentials), logs, session files, temp scripts
2026-08-16 21:21:25 +08:00
64199a0aaf refactor: universal compatibility - spigot-api, no api-version lock 2026-07-23 12:48:50 +08:00
02aeab1e9c docs: Paper 1.20-1.21+ compatibility, folia-supported 2026-07-22 21:49:55 +08:00
2a534718fd refactor: plugin permissions to SeaStudio.Report.* namespace 2026-07-21 15:43:05 +08:00
37657a7ba4 docs: plugin README with build instructions 2026-07-19 03:06:23 +08:00
7bc22dee0c fix: add source field to dashboard ban form 2026-07-19 00:40:54 +08:00
19615cfa56 feat: edit ban entries with modal form 2026-07-18 01:53:24 +08:00
12721d09ee fix: duplicate res.json crash + missing try/catch in bans POST 2026-07-18 01:45:00 +08:00
5cb17228a8 fix: missing duration dropdown in bans add form 2026-07-18 01:41:37 +08:00
dce812aa2f feat: bans show account source + ban source (ticket/manual) 2026-07-18 01:35:30 +08:00
140ff3e3ae fix: remove duplicate closing brace in auth.js 2026-07-18 01:30:14 +08:00
ce51abc127 fix: add source field to bans + display in list 2026-07-18 01:26:37 +08:00
d242786a3a feat: bans sidebar page, public view with masked names 2026-07-18 01:17:40 +08:00
2e09dd2d3a fix: pass bans to renderContent, restore exports wrapper 2026-07-18 01:14:43 +08:00
2a12e7b740 fix: ban duration >= not >, auto-prefill min duration 2026-07-18 01:11:41 +08:00
aa2c296971 feat: escalating ban duration - each ban must be longer than previous 2026-07-18 01:09:14 +08:00
5ed109ec0e feat: ban list with dashboard widget, owner add/edit bans 2026-07-18 00:52:33 +08:00
5497de9aac feat: batch ticket operations (close/delete/change status) 2026-07-17 21:55:15 +08:00
ed6fe9dcf1 fix: admin/owner skip rate limiting, anon 10/min 2026-07-17 21:51:32 +08:00
6dfc6788e5 fix: show target UID when name is empty in ticket list 2026-07-17 19:25:39 +08:00
1e1e8282e6 style: add spacing between code input and submit button 2026-07-17 15:05:01 +08:00
771e28472e fix: remove duplicate email field and extra send button 2026-07-17 14:57:33 +08:00
f21ea19789 fix: captcha input left, image right same row 2026-07-17 14:50:42 +08:00
96e55d8715 feat: anonymous ticket reply via tracking cookie 2026-07-17 14:16:21 +08:00
9e5967d6ea fix: reuse tracking cookie for multiple anonymous submissions 2026-07-17 14:14:02 +08:00
5e998b2201 fix: hide type tabs when embedded in home page 2026-07-17 13:41:29 +08:00
0bd32a1549 fix: keep top bar on home page, tabs stay in page content 2026-07-17 13:39:15 +08:00
0892dd5f8e fix: hide top bar on home page, tabs back in page content 2026-07-17 13:32:28 +08:00
d697ea1353 fix: add priority selector to ticket create form 2026-07-17 13:25:17 +08:00
9eb8aba371 fix: home page tabs in top bar, single nav layer 2026-07-17 13:21:30 +08:00
8f7c34dd86 fix: captcha full-width row, hide top-auth on anonymous submit page 2026-07-17 13:14:15 +08:00
fbd98ca801 fix: email back to original position, code+button after captcha 2026-07-17 01:51:40 +08:00
982437af06 fix: email after captcha, captcha required before sending code 2026-07-17 01:00:34 +08:00
292c863d95 style: register layout - email solo row, source+name together, code+captcha full width 2026-07-17 00:53:12 +08:00
3fdfb206cd style: cleaner register UI with email+code on same line 2026-07-17 00:47:15 +08:00
926bcb626b feat: send-code before register, dup game_name check, skin hides uid 2026-07-17 00:42:19 +08:00
511d5ab36f fix: inline email verification after registration, no separate page 2026-07-17 00:35:50 +08:00
ead50beccd feat: 6-digit email verification code, fix missing script+route includes 2026-07-17 00:34:47 +08:00
bfc63a8194 fix: captcha uses dark high-contrast colors only 2026-07-17 00:30:18 +08:00
17bf5a611d feat: type tabs on create form (report/suggestion/appeal) 2026-07-17 00:21:48 +08:00
2961ca67d1 fix: sidebar highlights tickets-create when on create form 2026-07-17 00:10:34 +08:00
1762b016cd fix: tickets-create route matches create?type param, proper redirect 2026-07-17 00:09:02 +08:00
c3cd97676e fix: create user server toggle only shows for admin/owner, initial state correct 2026-07-17 00:07:58 +08:00
18bb8152ef feat: multi-channel notifications (Discord/email/generic Webhook) 2026-07-16 23:51:09 +08:00
ab08b1a2a9 feat: feature discussion as separate detail page, not inline 2026-07-16 23:50:16 +08:00
e9ef425545 fix: simplify player ticket list - hide type/priority/tab filters 2026-07-16 23:47:24 +08:00
09f0d8f2aa fix: 12 issues - admin permission scope, player sidebar nav, SMTP label, user create servers 2026-07-16 23:04:15 +08:00
e46dad9f95 fix: features page use .filter-bar class instead of inline style 2026-07-16 22:05:38 +08:00