Commit graph

5 commits

Author SHA1 Message Date
8070f11aa2 feat(ergonomics): allowed_mentions config default with field-wise merge; Embed builder 2026-07-05 08:09:56 -03:00
45688193d6 Phase 5: Prefix/Slash ergonomics, Registrar, presence delegate, gateway polish 2026-07-04 01:39:08 -03:00
2dec62e72d Phase 4: ETS cache, event coverage, gateway send budget, member chunking
- Dexcord.Cache GenServer: creates 8 public ETS tables (me/guilds/channels/
  users sets; members/roles/presences/voice_states ordered_set keyed {guild_id,x}).
  Writes only via handle_dispatch/3 (single writer = Dispatcher, gateway-ordered);
  reads are direct ETS. Full event coverage incl. GUILD_DELETE cascade purge and
  cache_presences toggle. Read API + bang variants.
- Dispatcher: inline Cache.handle_dispatch before handler task; op-8 chunk request
  on real GUILD_CREATE when request_guild_members and :guild_members intent set.
- Gateway: send-budget token bucket (default 115/60s, heartbeats bypass); op-3/op-8
  consume tokens, queue when empty (bounded, drop+warn), drain on :send_refill ticks.
- Supervisor: Cache child after Session, before Finch.
- Config: validate cache_presences / request_guild_members are booleans.
2026-07-04 00:52:58 -03:00
9b6413371a feat: gateway gen_statem, supervisor tree, child_spec 2026-07-03 22:59:32 -03:00
868426cf4d chore: scaffold dexcord mix project with deps 2026-07-03 22:47:31 -03:00