Skip to content

Make some things configurable - #42

Merged
Ughuuu merged 8 commits into
mainfrom
make-some-thigns-configurable
Sep 26, 2026
Merged

Ughuuu merged 8 commits into
mainfrom
make-some-thigns-configurable

Conversation

@Ughuuu

@Ughuuu Ughuuu commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

…tions sweep

The API lint (R3) wants an instant's name to end in _at. The retention
query for accounts past their deletion date now takes its batch limit
inside from/2, like the other retention queries (R13).

The migration is edited in place: the branch is unmerged. A database
that already ran 20260925130000 needs those three migrations rolled
back and run again.
…ttings

GAMEND_REALTIME_SOCKET_TIMEOUT_MS (300000) and
GAMEND_REALTIME_SOCKET_MAX_FRAME_BYTES (131072). socket/3 fixes a
transport's options when the endpoint compiles, so /socket is declared
with no transport (Phoenix still supervises it) and the endpoint's first
plug serves /socket/websocket with options built at runtime, through the
same Phoenix.Transports.WebSocket plug the macro would call.
GameSocketTest upgrades through the real endpoint and checks the options,
so a Phoenix change there fails the suite.

Tests for what was left uncovered:
- tournament tick and retention live cycle reschedule at their settings
  (handle_info in the test process, a one-second interval observed as the
  message arriving); a live interval of 0 schedules nothing; the full
  sweep interval as the value its timer is set from
- retention deletes batch_size rows per statement, counted through Repo
  telemetry
- Google ID-token checks, OAuth code exchanges and Steam payment calls go
  through Gamend.HTTP, which now merges a req_options test hook
- provider sign-in refuses an account scheduled for deletion over the
  polling flow and the ID-token API, and keeps it on the website
@Ughuuu Ughuuu changed the title Make some thigns configurable Make some things configurable Sep 25, 2026
ui::pill is ui::button, horizontal and vertical are row and column, colour
tokens are <group>_<role> (k.text_muted, k.success_text), roles follow the
editor's roles.toml (chip with a checked flag, text_caption, note_danger),
option keys are the widget's own (font_size, font_family, text_color), and
register() declares panels with a title.
Found fixing forge and gamend_starter against this branch:

- Gamend.Retention and GamendWeb.IpBanSync take enabled: false, like the
  other background workers, and gamend's test configs set both. The
  retention sweep's first full run, five minutes after boot, landed inside
  long suites outside the SQL sandbox; the IP-ban boot load held a pooled
  connection a host suite in sandbox auto mode then lacked.
- The boot log's JWT line read the Guardian ttl key, which is gone, and
  always said "TTL: default". It reads GamendWeb.Auth.Tokens.ttls/0.
- The stable-storage-URL migration's queries no longer log at debug.
- CHANGELOG: the full list of workers a host's test config turns off, and
  that a host handing out non-avatar/icon keys from a private S3 bucket
  must ask for Storage.url(key, signed: true).
Found fixing gamend_polyglot against this branch:

- GAMEND_STORAGE_PUBLIC_PREFIXES (default avatars/,icons/) is what
  GET /storage/<key> serves. It was fixed in the controller, so a host with
  keys of its own (polyglot's cached PDFs) had no way to serve them on local
  disk, and on a private S3 bucket once Storage.url/1 became that route.
- A blog post that opens with an image repeated its first paragraph: the
  lede was stripped only when it was the first <p>, and the image is. It is
  now the first paragraph with text, as extract_lede/1 already took it.
- Outside prod, HostRuntime copied GAMEND_CACHE_ENABLED into bypass_mode
  both ways; the setting defaults to on, so every test config's
  bypass_mode: true became false and suites ran cached. Only turning the
  cache off is copied now.
@Ughuuu
Ughuuu merged commit 08ab537 into main Sep 26, 2026
16 of 21 checks passed
@Ughuuu
Ughuuu deleted the make-some-thigns-configurable branch September 26, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make access token TTL configurable

1 participant