Skip to content

Upgrade elixir phoenix deps#1

Merged
hashd merged 5 commits into
masterfrom
upgrade-elixir-phoenix-deps
Apr 9, 2026
Merged

Upgrade elixir phoenix deps#1
hashd merged 5 commits into
masterfrom
upgrade-elixir-phoenix-deps

Conversation

@hashd
Copy link
Copy Markdown
Owner

@hashd hashd commented Apr 9, 2026

No description provided.

hashd added 5 commits April 10, 2026 02:29
Comprehensive review covering architecture, security, efficiency,
and code quality findings for the Moth/Tambola game server.
- Elixir 1.4 → 1.19, Erlang/OTP → 28
- Phoenix 1.3 → 1.7.21, Ecto 2 → 3.13, Plug 1.4 → 1.19
- Cowboy 1 → 2 via plug_cowboy, PubSub 1 → 2
- Replace Poison with Jason for JSON encoding
- Remove Guardian beta (unused), ja_serializer (abandoned)
- Remove mix_test_watch + fs GitHub dep
- Modernize config: import Config, config_env(), runtime.exs
- Move PubSub from endpoint config to supervision tree
- Update socket transport, Gettext.Backend, Ecto sandbox API
- Fix deprecated Logger, system_time, and flash calls
Sqids is the official successor to Hashids by the same author.
Hashids is in maintenance mode; Sqids is actively maintained
with a cleaner API and built-in profanity filtering.
- Remove 5 view modules (BaseView, GameView, LayoutView, ErrorView, ErrorHelpers)
- Remove old templates/ directory with .eex templates
- Add HTML modules with embed_templates and HEEx templates
- Update MothWeb to use Phoenix.Component-based :html macro
- Colocate templates with their controller modules
- Remove Brunch, babel-brunch, and all npm build tooling
- Add esbuild for fast zero-config asset bundling
- Add Phoenix LiveDashboard at /dashboard for BEAM observability
- Add Telemetry supervisor with Phoenix, Ecto, and VM metrics
- Add Req HTTP client for modern HTTP/2 requests
- Simplify JS to plain ES module imports without Brunch wrappers
@hashd hashd merged commit d84a718 into master Apr 9, 2026
@hashd hashd deleted the upgrade-elixir-phoenix-deps branch April 9, 2026 21:03
hashd added a commit that referenced this pull request Apr 13, 2026
…validation

- Filter struck set per-ticket in prize claims to prevent cross-ticket fraud (#1)
- Filter prize progress per-ticket to prevent cross-ticket info leak (#9)
- Strip join_secret from sanitized state (#2)
- Filter REST show endpoint to only return requesting user's data (#3)
- Filter player_tickets_updated broadcast to target user only (#4)
- Add chat text length limit (500 chars) and validation (#13)
- Add reaction emoji allowlist (#14)
- Add max players per game limit (100) (#11)
- Add input validation for game creation params (#23)
- Remove inspect(reason) from error responses (#22)
- Store rich metadata in Registry for O(1) game listing
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.

1 participant