1. 08 Feb, 2026 2 commits
    • erio's avatar
      fix: parse Gemini native request format in ParseGatewayRequest for correct session hash generation · 35598d56
      erio authored
      ParseGatewayRequest only parsed Anthropic format (system/messages),
      ignoring Gemini native format (systemInstruction/contents). This caused
      GenerateSessionHash to produce identical hashes for all Gemini sessions.
      
      Add protocol parameter to ParseGatewayRequest to branch between
      Anthropic and Gemini parsing. Update GenerateSessionHash message
      traversal to extract text from both formats.
      35598d56
    • erio's avatar
      fix: prevent sessionHash collision for different users with same messages · 5c76b9e4
      erio authored
      Mix SessionContext (ClientIP, UserAgent, APIKeyID) into
      GenerateSessionHash 3rd-level fallback to differentiate requests
      from different users sending identical content.
      
      Also switch hashContent from SHA256-truncated to XXHash64 for
      better performance, and optimize Trie Lua script to match from
      longest prefix first.
      5c76b9e4