Commit Graph
100 Commits
Author SHA1 Message Date
YumeMichi 1b0116539f webui: Add profile reset defaults
- Add a reset action for profile values in the admin page
- Restore reset values to the auto-created user defaults instead of the bootstrap user
- Remind users to re-login after saving or resetting profile changes

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 19:31:48 +08:00
YumeMichi 2e2b6259b5 webui: Improve responsive admin layout
- Add mobile drawer behavior for the admin sidebar
- Make admin forms adapt better on small screens
- Keep the login dialog width within the viewport while preserving desktop-style alignment

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 19:31:40 +08:00
YumeMichi b1049d804a webui: Move admin copyright to login page
- Remove admin footer from backend pages to avoid content overlap
- Show copyright text at the bottom-left of the login page instead
- Simplify admin content area layout after dropping footer

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 19:31:36 +08:00
YumeMichi fa2efe4298 webui: Make some user preferences configurable
This extends 09f0237560.

- Extend user_pref with configurable profile fields and automatic migration defaults
- Move user info responses to read from user_pref instead of hardcoded values
- Add admin profile page for editing UI values after login

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 19:31:27 +08:00
YumeMichi 9ad66c2dc6 Reorganize setup guides
- Move documentation from doc/ to docs/ with descriptive filenames
- Rewrite and reflow the setup, client patching, deployment, and testing guides
- Keep 99_0_115.zip deployment notes and update run.sh usage details

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 15:48:13 +08:00
YumeMichi d8875490b6 Remove personal CDN override hacks
These CDN compatibility hacks are personal deployment adjustments and should not live in the public codebase.

Keep them in a separate personal branch when needed, while preserving only the generic 99_0_115.zip probe-and-append behavior in the shared branch.

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 14:50:41 +08:00
YumeMichi b32b5fd531 Overwrite log on start
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 03:20:24 +08:00
YumeMichi e61c07a9a3 Reduce handler request boilerplate
- Add session.Attach to reuse per-request sessions across middleware and ghome handlers
- Make Session finalize/abort paths idempotent to avoid duplicate commit or rollback work
- Move request_data parsing helper to internal/utils
- Expand ParseRequestData usage across api, download, unit, live, multiunit, and subscenario handlers
- Extract download package metadata into internal/handler/download/types.go
- Return explicit errors from selected session lookup helpers and update callers
- Make api action handlers return errors directly instead of calling ss.CheckErr in nested layers

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 03:05:32 +08:00
YumeMichi 60677fe0dd Disable floating window permission requirement
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 02:24:40 +08:00
YumeMichi 674d904e84 Correct package size calculation in batch download
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 01:56:46 +08:00
YumeMichi b71dc7c6ae Make 99_0_115.zip optional
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-04 00:09:35 +08:00
YumeMichi 9b367594ba Drop redundant internal utils
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-03 23:22:33 +08:00
YumeMichi f255b25a2e Build binary only when missing
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-03 01:41:10 +08:00
YumeMichi 8d82d60ece Fix download/getUrl
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 22:51:26 +08:00
YumeMichi e3f62faa75 Fix live replay
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:48:41 +08:00
YumeMichi 4664847f10 Minor cleanup and fixes
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:48:41 +08:00
YumeMichi 5ccde3f34a Add daemon control script
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:48:41 +08:00
YumeMichi 897851a2eb Add support for package size override
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:48:41 +08:00
YumeMichi 8a7d7ccb93 Add support for server config override
Add settings.override_server_config with enable flag and per-platform
(Android/iOS) url + size fields.

Use this config in /download/update to override the fixed
99_0_115.zip package source when needed.

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:48:41 +08:00
YumeMichi 259351b7ac Bump dependencies
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:48:41 +08:00
YumeMichi 4e8dd7eab5 Merge branch 'master' into dev
* master:
  Update broken download link

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-06-01 21:47:28 +08:00
YumeMichi ecef4dfa2c Fix login SQLITE_BUSY by reusing session transaction
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-29 11:55:21 +08:00
YumeMichi 3926aef60c Switch webui card import to textarea input
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-29 11:55:18 +08:00
YumeMichi 1e52fd04af Normalize phone input and default user phone
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 20:08:21 +08:00
YumeMichi 581990a52f Refactor user bootstrap
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 19:59:27 +08:00
YumeMichi 7a3ac35566 Bump dependencies
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 11:44:56 +08:00
YumeMichi f1066acbfb Replace recursive user id retry with bounded loop
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 11:44:56 +08:00
YumeMichi eeaf1d9c73 Validate decoded query and required params
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 11:44:56 +08:00
YumeMichi ae847f5e29 Validate rand key length before 3des operations
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 11:44:56 +08:00
YumeMichi 666388a5ed Use crypto/rand for token string generation
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 11:44:56 +08:00
YumeMichi 150ce674ad Implement more endpoints & overhaul [2/n]
Drop LevelDB and move all the things to SQLite.

Implemented endpoints:
/api <unit, accessoryMaterialAll>
/api <unit, accessoryTab>
/live/continue
/live/partyList
/unit/favoriteAccessory (WIP)
/unit/sale

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-04-28 11:44:56 +08:00
YumeMichi 1500821f3e Add maintenance page
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-02-01 13:55:52 +08:00
YumeMichi 74413c844a Revert "Remove unused certificates for ALL STARS"
These are also needed by SIF iOS client.

This reverts commit 51ab2716da.

Signed-off-by: Sean Du <do4suki@gmail.com>
2026-02-01 12:34:25 +08:00
YumeMichi c77241a883 Overhaul [1/n]
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-29 02:42:28 +08:00
YumeMichiandGitHub a749efad9f Merge pull request #19 from NijiharaTsubasa/patch-1
更新失效的客户端下载链接
2026-01-27 13:40:38 +08:00
YumeMichi 989acd6ff1 Bump dependencies
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-27 06:52:50 +08:00
YumeMichi 675493023d Remove unused tables for ALL STARS
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-27 06:52:50 +08:00
YumeMichi 51ab2716da Remove unused certificates for ALL STARS
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-27 06:52:48 +08:00
YumeMichi da019cc849 fixup! Add backup CDN server
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-14 17:39:15 +08:00
YumeMichi dc1e56c013 Filter logging endpoints
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-14 17:36:26 +08:00
YumeMichi eb3bb8d660 Append EOL to config file
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-14 16:59:35 +08:00
YumeMichi c873f224fa Add backup CDN server
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-08-15 19:31:06 +08:00
YumeMichi 80a686849f Implement session module
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-08-15 19:24:36 +08:00
YumeMichi 985895a780 Fix static check
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-08-05 20:12:35 +08:00
YumeMichi adf2a72630 Reorganize directory structures
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-08-05 20:06:35 +08:00
YumeMichi d666470272 Bump dependencies
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-08-05 19:38:13 +08:00
YumeMichi cbca847fdf Bump dependencies
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-03-10 15:33:41 +08:00
YumeMichi 39d0803f4a Update documents
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-03-10 15:29:29 +08:00
YumeMichi 94a822e5d1 Make listen port configurable
Signed-off-by: Sean Du <do4suki@gmail.com>
2025-03-10 15:29:29 +08:00
YumeMichi 9dcfc90226 Update leveldb
Signed-off-by: Yuan Si <do4suki@gmail.com>
2025-03-10 15:29:29 +08:00
YumeMichi 70398da4b9 Cleanup
Signed-off-by: Yuan Si <do4suki@gmail.com>
2025-03-10 15:29:29 +08:00
YumeMichi 782c2d7ab0 Drop ALL STARS
Signed-off-by: Yuan Si <do4suki@gmail.com>
2025-03-10 15:29:29 +08:00
YumeMichi fc55a09773 Update path for certificates
Signed-off-by: Yuan Si <do4suki@gmail.com>
2025-03-10 15:29:29 +08:00
YumeMichi 44b0498bbe Revert "github: Add workflows"
This reverts commit 29e7779be6.

Signed-off-by: Sean Du <do4suki@gmail.com>
2025-03-10 15:29:27 +08:00
YumeMichi c2fcd16426 sif: Fix json typo in some live notes
Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-07-29 17:26:26 +08:00
YumeMichi 0e6530e12a sif: Add more missing live notes
Missing part:
Live_s1707.json
Live_s1612.json
Live_s1620.json
Live_s1621.json
Live_s1624.json
Live_s1628.json
Live_s1629.json
Live_s1645.json
Live_s1669.json
Live_s1653.json
Live_s1654.json
Live_s1677.json
Live_s1678.json
Live_s1657.json
Live_s1681.json
Live_s1661.json
Live_s1662.json
Live_s1685.json
Live_s1686.json

Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-07-29 17:11:30 +08:00
YumeMichi 29e7779be6 github: Add workflows
Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-07-01 20:47:33 +08:00
YumeMichi 0ddc10333f Add video tutorials
Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-06-18 09:26:18 +08:00
YumeMichiandGitHub c05a85decc Merge pull request #17 from YumeMichi/dependabot/go_modules/google.golang.org/protobuf-1.33.0
build(deps): bump google.golang.org/protobuf from 1.30.0 to 1.33.0
2024-05-09 05:27:30 +08:00
YumeMichiandGitHub ce5492d0dd Merge pull request #16 from YumeMichi/dependabot/go_modules/golang.org/x/net-0.23.0
build(deps): bump golang.org/x/net from 0.17.0 to 0.23.0
2024-05-09 05:24:32 +08:00
YumeMichi 66459e7a64 !fixup: sif: Make some user/ui preferences configurable
Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-02-01 15:57:52 +08:00
YumeMichi 9603234e29 sif: Import cards from csv file
This way is more easy

Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-02-01 15:41:53 +08:00
YumeMichi 4a72a3bfa7 sif: Update announcement
Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-01-27 05:12:35 +08:00
YumeMichi 09f0237560 sif: Make some user/ui preferences configurable
people wants to change them

Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-01-27 05:12:35 +08:00
YumeMichi a6fe2e7740 sif: Fix derp
Signed-off-by: Yuan Si <do4suki@gmail.com>
2024-01-27 05:12:35 +08:00
YumeMichiandGitHub 6778972c1f Merge pull request #13 from YumeMichi/dependabot/go_modules/golang.org/x/crypto-0.17.0
Bump golang.org/x/crypto from 0.14.0 to 0.17.0
2023-12-26 14:56:39 +08:00
YumeMichiandGitHub 3edf9adb73 Merge pull request #11 from YumeMichi/dependabot/go_modules/golang.org/x/net-0.17.0
Bump golang.org/x/net from 0.10.0 to 0.17.0
2023-11-18 16:20:33 +08:00
YumeMichi 303f415e78 Fix game freeze after changing live MV suit
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-07-22 03:38:54 +08:00
YumeMichi 9450deb4a2 as: Add more missing live stages
Taken from KR server

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-07-20 01:02:17 +08:00
YumeMichi 5cc261af17 as: Add more live stages
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-07-20 00:35:19 +08:00
YumeMichi 81e97cf997 Sync updates with elichika
As of https://github.com/YumeMichi/elichika/commit/81a78e964dcdb8bb2d123237f966f95e7fba190e

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-07-20 00:21:22 +08:00
YumeMichi 4146728579 Fix saveDeckAll
They should be null instead of 0 when undefined.

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-07-01 15:46:40 +08:00
YumeMichi e570391f41 Update documents
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-24 20:25:08 +08:00
YumeMichi cf06d1320d sif: Move 99_0_115.zip out of database
Better for modification

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-24 19:16:38 +08:00
YumeMichi 9d03532a1b sif: Fix parsing multipart again
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-24 19:14:42 +08:00
YumeMichi c85ddda228 as: Fix notification push settings
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-23 16:18:19 +08:00
YumeMichi 39bd746d36 as: Fix daily live
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-23 16:12:00 +08:00
YumeMichi e69f54c071 as: Update master version data to f7f2ac627227500b
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-23 15:17:51 +08:00
YumeMichi 0d56db2dcb gofmt: Replace interface{} with any
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-20 09:08:42 +08:00
YumeMichi 43edc4f346 Code cleanup
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-17 13:33:39 +08:00
YumeMichi b361f12158 as: Add live notes data [3/3]
Special thanks to [LLASWiki](https://wiki.loveliv.es/)

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-08 14:14:43 +08:00
YumeMichi 3f8546b418 as: Add story related APIs
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 21:42:52 +08:00
YumeMichi 31f86f2b93 as: Add official announcements
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 20:42:31 +08:00
YumeMichi bb8158d070 as: Add live notes data [1/3]
This includes:
1. All challenge difficulty lives
2. All expert difficulty lives
3. All μ's normal difficulty lives

Todo:
1. Add Aqours and Nijigasaki normal lives
2. Add daily random lives

All Story, SBL, DLP lives will not be included.

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 20:30:09 +08:00
YumeMichi efc65e2eae as: Clean up preset data
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 20:30:09 +08:00
YumeMichi e907b6b4a3 as: Add /card/getOtherUserCard
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 08:01:55 +08:00
YumeMichi 8f9771d927 as: Move some tables to common database
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 07:38:33 +08:00
YumeMichi d191be6137 sif: Move live notes data to its directory
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 07:02:11 +08:00
YumeMichi affc960a95 as: Support playing lives
Only support "Sweet Eyes" currently.

Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 07:01:37 +08:00
YumeMichi 2d207cfd68 as: Update deck and accessory info
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-07 06:47:35 +08:00
YumeMichi 42982e5758 as: Update card info
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-05 23:58:29 +08:00
YumeMichi 1508cf7812 as: Save deck info
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-05 23:58:29 +08:00
YumeMichiandGitHub 6f06b72585 Merge pull request #5 from YumeMichi/dependabot/go_modules/github.com/gin-gonic/gin-1.9.1
Bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1
2023-06-05 11:05:26 +08:00
YumeMichi 427264acf8 as: Unlock everything
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-06-05 09:24:36 +08:00
YumeMichi 71bf7eba6e as: Add saveUserNaviVoice
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-05-27 01:57:48 +08:00
YumeMichi 5bc855d764 as: Add update packages for iOS
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-05-26 05:38:31 +08:00
YumeMichi 71f989a875 Move response files to specific directory
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-05-25 06:15:37 +08:00
YumeMichi 9ad8d91f4b as: Unlock all emblems
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-05-25 05:56:53 +08:00
YumeMichi c18842ef95 as: Add more useful APIs
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-05-25 04:23:25 +08:00
YumeMichi 29ae1681c7 as: Unlock all suits (costumes)
Signed-off-by: Yuan Si <do4suki@gmail.com>
2023-05-23 01:12:54 +08:00