Commit Graph

  • 0414913bc7 fix(api): serialise RedeemPlayerBindCode — concurrent redeem 500s become clean 400s/idempotent converges Lemon-miaow 2026-09-22 20:08:38 +08:00
  • dcc3b7403e fix(api): fill ListPendingOpLogins username/created_at (PG lagged the interface+fake) Lemon-miaow 2026-09-22 20:04:32 +08:00
  • 52549f7b3a fix(api): ConsumeLoginEmailOTP honesty — wrong/expired/consumed codes are ErrOTPInvalid 400, not a 500 Lemon-miaow 2026-09-22 19:51:04 +08:00
  • 9309ff5a7f chore: apply the missed S1016 conversions in handlers_users Lemon-miaow 2026-09-22 17:57:03 +08:00
  • e690b058db fix(restore): wait for the tracking finalizer before recreating Lemon-miaow 2026-09-22 17:54:01 +08:00
  • 90ccbfede4 fix(restore): replace a finished Job so retries enqueue; replicate felis-config Lemon-miaow 2026-09-22 17:50:04 +08:00
  • fd0794d04d chore(deps): pgx v5.9.2, x/net v0.55.0, x/text v0.39.0 Lemon-miaow 2026-09-22 17:50:04 +08:00
  • a05edc934c chore: gofmt the tree, clear staticcheck, add a CI gofmt gate Lemon-miaow 2026-09-22 17:49:54 +08:00
  • a56c326518 chore: stop tracking the docs/changes ledger flyemoji 2026-09-22 15:02:47 +09:00
  • 7b5b28c587 fix(bootstrap): keep the nano build toolchain under /opt/felis flyemoji 2026-09-22 14:59:39 +09:00
  • 0faec2b02a fix(bootstrap): open the nano port to the proxy alone flyemoji 2026-09-22 14:51:49 +09:00
  • 99c31c1d4e fix(config): refuse plaintext auth-source urls to public hosts flyemoji 2026-09-22 14:24:41 +09:00
  • e9f74f3f0f fix(nano): stop trusting an expired free name while mojang is failing flyemoji 2026-09-22 14:17:53 +09:00
  • fa7b54f5ab fix(bootstrap): refuse an unbracketed ipv6 nano listen address flyemoji 2026-09-22 14:08:11 +09:00
  • 928a1fdfff docs(bootstrap): credit velocity, not authlib, with the hasjoined call flyemoji 2026-09-22 13:55:12 +09:00
  • b58c20311c test(bootstrap): pin the nano listen default to loopback flyemoji 2026-09-22 13:54:31 +09:00
  • cf65ffdae5 fix(bootstrap): open up a nano-only config dir an older run left 0750 flyemoji 2026-09-22 13:54:18 +09:00
  • 2458ee1722 docs(bootstrap): say auth_source tags are permanent and order is trust flyemoji 2026-09-22 13:53:15 +09:00
  • 6794e66c4d fix(bootstrap): fail a tokenless private clone instead of prompting flyemoji 2026-09-22 13:53:03 +09:00
  • 34f73ba19f fix(bootstrap): detect a missing terminal by opening /dev/tty flyemoji 2026-09-22 13:52:51 +09:00
  • 0758b9c5d7 docs(bootstrap): pass tunables on the sudo line, not by export flyemoji 2026-09-22 13:52:40 +09:00
  • 02c079c893 fix(bootstrap): verify the go toolchain tarball against a pinned digest flyemoji 2026-09-22 13:52:29 +09:00
  • 3b0fc7a3e0 fix(bootstrap): print the address nano binds in the install summary flyemoji 2026-09-22 13:52:18 +09:00
  • 404d1172a6 fix(bootstrap): refuse a nano listen address without a usable port flyemoji 2026-09-22 13:52:08 +09:00
  • 3918a4b11a fix(bootstrap): install only the full control plane under felis setup flyemoji 2026-09-22 13:52:00 +09:00
  • 515c4a6496 fix(bootstrap): keep a nano host's listen address and mode on re-run flyemoji 2026-09-22 13:51:52 +09:00
  • 17b4396460 fix(bootstrap): carry auth_source tables with spaced or quoted headers flyemoji 2026-09-22 13:51:45 +09:00
  • c2a5645c55 fix: keep internal section numbers out of runtime messages flyemoji 2026-09-22 13:44:38 +09:00
  • 9ee8c48fff docs(openapi): list every answer hasjoined gives flyemoji 2026-09-22 13:43:08 +09:00
  • 1ebd73a309 docs(nano): describe the hasjoined path as it works flyemoji 2026-09-22 13:42:03 +09:00
  • 59ec23d4a8 test(nano): cover the nano delivery path and its loopback default flyemoji 2026-09-22 13:37:51 +09:00
  • e0ad78af98 test(config): make the identity-key test fail when the key is accepted flyemoji 2026-09-22 13:36:29 +09:00
  • 30b4e1dfb2 test(nano): cover the bar-list error, bad identity id and ip relay flyemoji 2026-09-22 13:35:50 +09:00
  • 942e9a5ff8 test(nano): cover the premium-name cache rules flyemoji 2026-09-22 13:34:43 +09:00
  • 3f7274d29f test(nano): pin the auth namespace and one rewritten uuid as literals flyemoji 2026-09-22 13:32:45 +09:00
  • a7fe525bfc test(api): keep the package's tests off the live mojang profile api flyemoji 2026-09-22 13:31:53 +09:00
  • 8e9c8ca4e6 fix(nano): say that [server] listen is ignored instead of defaulting it flyemoji 2026-09-22 13:30:23 +09:00
  • 1d6c73007e fix(nano): drain in-flight logins on shutdown flyemoji 2026-09-22 13:28:59 +09:00
  • fa3eda5228 fix(nano): quote and cap the request log line flyemoji 2026-09-22 13:27:28 +09:00
  • 1905cac950 fix(config): refuse auth-source tags padded with whitespace flyemoji 2026-09-22 13:24:23 +09:00
  • 72a2750461 fix(config): refuse mojang as an auth-source tag flyemoji 2026-09-22 13:23:37 +09:00
  • 2c74080b78 fix(config): reject auth-source urls the resolver cannot query flyemoji 2026-09-22 13:23:02 +09:00
  • 3338d6f0fe fix(nano): drop oversized hasJoined parameters before asking sources flyemoji 2026-09-22 13:21:43 +09:00
  • a4779186a4 fix(nano): refuse hasJoined requests that declare a body flyemoji 2026-09-22 13:19:55 +09:00
  • ff81295aa9 fix(nano): report failing sources instead of treating them as a no flyemoji 2026-09-22 13:18:33 +09:00
  • a0f54df2a6 fix(bootstrap): fail the nano install when the unit does not stay up flyemoji 2026-09-22 13:05:42 +09:00
  • 26f685be0e fix(bootstrap): create the nano config dir world-searchable flyemoji 2026-09-22 13:04:34 +09:00
  • 1dd62a9bdc fix(nano): cap upstream response headers at 16 KiB flyemoji 2026-09-22 13:02:48 +09:00
  • 2180e77cf5 chore: drop tool-name markers from source comments flyemoji 2026-09-22 12:57:19 +09:00
  • 4e98ae6e56 fix(config): reject auth-source tags that contain a colon flyemoji 2026-09-22 12:53:35 +09:00
  • 1976fca809 fix(nano): always relay properties as an array flyemoji 2026-09-22 12:52:04 +09:00
  • 28d3638952 fix(nano): stop following redirects from upstream Yggdrasil roots flyemoji 2026-09-22 12:50:56 +09:00
  • 07bafebf0d fix(bootstrap): keep the operator's auth sources across re-runs flyemoji 2026-09-22 12:49:25 +09:00
  • 8fe255e38f fix(api): relay Mojang logins when no auth source is configured flyemoji 2026-09-22 12:46:00 +09:00
  • 800a9042a1 test: use placeholder domains in setup and system-server tests flyemoji 2026-09-22 12:43:54 +09:00
  • d9246ddae6 feat(bootstrap): verify Paper and Velocity jars against Fill's digest flyemoji 2026-08-04 17:36:47 +09:00
  • 3f2b28d0ec fix(bootstrap): ship deploy/paper in the embedded game-stack tar flyemoji 2026-08-04 16:34:09 +09:00
  • 587f183191 Merge pull request #19 from MliroLirrorsIngenuity/chore/issue-sweep flyemoji 2026-07-29 01:52:15 +09:00
  • 503240db7b ci: stop running the whole suite twice on every pull-request push chore/issue-sweep flyemoji 2026-07-28 18:20:40 +09:00
  • 584d31fc49 feat(bootstrap): refuse to install an unverified Velocity fork jar flyemoji 2026-07-28 18:01:39 +09:00
  • 4f5014d033 feat(bootstrap): make the legacy-forwarding backend list overridable flyemoji 2026-07-28 17:27:02 +09:00
  • 4e5a809dad docs(nano): drop the promise of a felis setup --nano that should not exist flyemoji 2026-07-28 17:27:02 +09:00
  • afdbfac7a8 docs: index the deferred integration seams and correct two stale markers flyemoji 2026-07-28 17:27:01 +09:00
  • 23792d6251 fix(crd): remove spec.storage.retainOnDelete rather than leave it inert flyemoji 2026-07-28 17:27:01 +09:00
  • 417769407f ci: run the checks on push and pull request flyemoji 2026-07-28 17:27:00 +09:00
  • 82a1275fcf docs(plugins): say which plugin jars an install actually produces flyemoji 2026-07-28 14:33:37 +09:00
  • 3af5cc360c docs(troubleshooting): correct four fields the runbook documents as inert flyemoji 2026-07-28 13:49:07 +09:00
  • 71e1664c36 build: pin line endings to LF so the embedded bootstrap.sh ships without CRs flyemoji 2026-07-28 12:58:46 +09:00
  • 5d4f3063a9 feat(operator): make any Paper image joinable behind the forwarding proxy flyemoji 2026-07-28 07:45:53 +09:00
  • 0798f903b0 feat(bootstrap): allow the Felis-Legacy Velocity fork to be installed as the proxy flyemoji 2026-07-23 03:31:08 +09:00
  • c9f3aa68f6 fix(velocity): stop the lobby tile failing for players already in the lobby flyemoji 2026-07-23 00:00:59 +09:00
  • 8480387c50 fix(velocity): pin ViaRewind 4.1.3, the release that matches ViaVersion 5.11.0 flyemoji 2026-07-22 18:10:53 +09:00
  • f532684249 feat(velocity): let 1.8.x players through the modern-forwarding proxy flyemoji 2026-07-22 17:03:01 +09:00
  • 0e69ade1b3 docs(license): state AGPL-3.0 in the READMEs, matching the LICENSE file flyemoji 2026-07-22 15:01:25 +09:00
  • 37ab87f07c docs(mail): say plainly what a green SMTP self-test does not prove flyemoji 2026-07-22 14:40:58 +09:00
  • a8c4077202 fix(api): log the panic value and stack behind the opaque 500 flyemoji 2026-07-22 14:40:42 +09:00
  • c4c964578e fix(setup): stop the forced-onboarding gate trapping players who have no email flyemoji 2026-07-22 14:40:28 +09:00
  • 60b0ec97ac feat(invite): let a player bring a friend to the server they're on flyemoji 2026-07-22 14:32:51 +09:00
  • a0064adfdd fix(setup): stop the login gate sending players to the old console after a re-domain flyemoji 2026-07-21 00:47:04 +09:00
  • 80a29ba653 feat(lobby): ship LuckPerms in the lobby image so the panel's permission controls work flyemoji 2026-07-21 00:39:46 +09:00
  • 694e3cb800 feat(rcon): provision per-server RCON so the console, player list and permissions work flyemoji 2026-07-21 00:12:37 +09:00
  • b3989fa4af fix(mail): prove SMTP deliverability before saving, and stop losing the relay flyemoji 2026-07-21 00:11:40 +09:00
  • 32be3e17b7 docs(readme): give an install command that works against a private repo flyemoji 2026-07-20 20:25:51 +09:00
  • ecbeb20761 fix(bootstrap): reuse the installed root domain instead of re-deriving it flyemoji 2026-07-20 20:25:33 +09:00
  • f7815629bf fix(update): say that setup cannot move felis-api to a newer release flyemoji 2026-07-20 19:53:55 +09:00
  • 8b25114fb4 fix(update): say that setup cannot move felis-api to a newer release flyemoji 2026-07-20 19:53:55 +09:00
  • 8675cda001 fix(setup): refuse --dev rather than silently installing the release channel flyemoji 2026-07-20 19:53:32 +09:00
  • e5ea51c0db fix(bootstrap): wrap the downloaded binary in the same base CI ships flyemoji 2026-07-20 19:53:04 +09:00
  • 646d514a65 test(updates): pin the ordering of a dev build's own version stamp flyemoji 2026-07-20 19:05:19 +09:00
  • d9ef5e4ffd chore(deps): tidy the module files flyemoji 2026-07-20 18:53:25 +09:00
  • c4300cb005 feat(updater): authenticate GitHub polling and track the real release repo flyemoji 2026-07-20 18:53:12 +09:00
  • 659c8e5e9f feat(bootstrap): install the published release build instead of compiling on the host flyemoji 2026-07-20 18:53:01 +09:00
  • d146f1ccd7 fix(bootstrap): keep the install alive on a host with only felis-api flyemoji 2026-07-20 18:30:19 +09:00
  • fe4c92c1c5 feat(files): add the server file editor flyemoji 2026-07-20 14:33:29 +09:00
  • 05cb8f6320 feat(cli): report component updates and make the router a data table flyemoji 2026-07-20 14:32:58 +09:00
  • f36d5b87f6 feat(images): mark platform-curated images and seed the lobby flyemoji 2026-07-20 14:31:14 +09:00
  • d26acc20ae feat(api): let in-game staff manage any server without claiming it flyemoji 2026-07-20 11:10:23 +09:00
  • f0b79e9edd feat(mail): deliver email one-time codes over SMTP and add the setup email screen flyemoji 2026-07-20 10:24:52 +09:00
  • 7860152f57 feat(auth)!: go fully passwordless and fix cross-check review findings flyemoji 2026-07-20 04:47:32 +09:00
  • c96b36a41f fix(bootstrap): retry transient Fill failures when resolving build jars flyemoji 2026-07-19 19:21:26 +09:00