{
  "server": "Hyperfy",
  "title": "Hyperfy Discord - 2025-07-19",
  "date": 1752883200,
  "stats": {
    "totalMessages": 67,
    "totalUsers": 10
  },
  "categories": [
    {
      "channelId": "994775534733115412",
      "channelName": "💻│developers",
      "summary": "# Discord Chat Analysis for 💻│developers\n\n## 1. Summary\nThe discussion primarily focused on UI development in Hyperfy, specifically handling full-screen UI elements and viewport dimensions. Users discussed approaches to create UI elements that fill the entire screen without causing scrollbars, with 0mka sharing code examples using app.control() to access screen dimensions. Ashxn mentioned plans to add world.viewportWidth and world.viewportHeight properties and later confirmed creating PR #109 for this feature.\n\nThe conversation also touched on issues with Safari refreshing when UI elements extend beyond the overflow area, particularly with NPC dialog boxes. Later discussions shifted to loading models with rigidbodies and colliders, with Ashxn clarifying that while apps can't be loaded with world.load(), GLBs from remote sources can be loaded.\n\nFinally, Ashxn shared progress on animation layers for supporting held objects like guns, bows, and staffs, mentioning work on locomotion emotes retargeting and seeking mechanisms to easily implement various held objects with proper poses.\n\n## 2. FAQ\nQ: How can I create a UI that fills the entire screen? (asked by shmoji) A: Use app.control() to access screen dimensions and create a UI with those dimensions (answered by 0mka)\nQ: Is there a way to make a UI \"fill the entire screen\"? (asked by Ashxn) A: Use top-left pivot with position 0,0 and set width/height to viewport dimensions (answered by Ashxn)\nQ: Can we load an app using world.load()? (asked by .hyp shaman) A: Not apps, but you can load GLBs from remote sources (answered by Ashxn)\n\n## 3. Help Interactions\nHelper: 0mka | Helpee: shmoji | Context: Creating full-screen UI elements | Resolution: Shared code example using app.control() to access screen dimensions and create a full-screen UI\nHelper: Ashxn | Helpee: .hyp shaman | Context: Loading models with rigidbodies and colliders | Resolution: Clarified that while apps can't be loaded with world.load(), GLBs from remote sources can be loaded\n\n## 4. Action Items\nType: Technical | Description: Add world.viewportWidth and world.viewportHeight properties | Mentioned By: Ashxn\nType: Technical | Description: Implement animation layers to support held objects (guns, bows, staffs) | Mentioned By: Ashxn\nType: Technical | Description: Fix Safari refresh issue when UI elements extend beyond overflow area | Mentioned By: 0mka\nType: Feature | Description: Add device global for detecting touch devices, VR mode, etc. | Mentioned By: Ashxn\nType: Feature | Description: Implement UI responsiveness for better mobile support | Mentioned By: 0mka\nType: Technical | Description: Implement emissiveMap setting capability | Mentioned By: .hyp shaman\nType: Technical | Description: Develop raycast projectiles system | Mentioned By: .hyp shaman",
      "messageCount": 29,
      "userCount": 4
    },
    {
      "channelId": "958209074045026327",
      "channelName": "⚡│general",
      "summary": "# Analysis of Discord Chat in \"⚡│general\"\n\n## 1. Summary\nThe chat segment is very brief with minimal technical content. It contains a new member greeting, a welcome response, and a question about a video showing \"stormwind\" that was previously shared. The only technical reference is Ashxn's response indicating that stormwind relates to performance testing. No detailed technical discussions, decisions, or problem-solving occurred in this limited exchange.\n\n## 2. FAQ\nQ: What is stormwind? (asked by MUDBONE) A: Performance testing 😉 (answered by Ashxn)\n\n## 3. Help Interactions\nHelper: Ashxn | Helpee: MUDBONE | Context: MUDBONE asked about a \"stormwind\" video that Ashxn had previously shared | Resolution: Ashxn briefly explained it was related to performance testing\n\n## 4. Action Items\nNo specific action items were identified in this brief chat segment.",
      "messageCount": 7,
      "userCount": 4
    },
    {
      "channelId": "1326789867312775290",
      "channelName": "🪙│hyper",
      "summary": "The chat segment is extremely brief, containing only two messages. One user (bpvxduu) asked about paying someone to build a \"squid games world,\" and another user (.hyp shaman) responded with the command \"`hypgames`\". This appears to be a reference to a command or feature related to games in the Hyper ecosystem. There is insufficient technical discussion to provide a comprehensive summary of problem-solving or implementations.",
      "messageCount": 2,
      "userCount": 2
    },
    {
      "channelId": "1022421054582423562",
      "channelName": "🐞│issues",
      "summary": "# Discord Chat Analysis for \"🐞│issues\" Channel\n\n## 1. Summary:\nThe discussion centers around a critical bug where the \"world clean\" script sometimes deletes asset files but fails to remove corresponding database entries. This causes worlds to get stuck at the loading screen when users try to enter them, as the system attempts to load assets that no longer exist. The issue appears to occur even when following proper procedures: deleting hyps via the apps list, allowing world saves, and restarting the server after cleaning. The problem seems more prevalent with hyps containing additional files beyond GLB (like MP3/WEBP/MP4). Users discovered a temporary workaround by manually adding the missing assets back to the server's world/assets folder. A key suggestion emerged to improve error handling so that worlds remain accessible even with missing assets, implementing a \"crash block\" for the affected hyps rather than preventing world access entirely.\n\n## 2. FAQ:\nQ: Anyone else notice world clean is deleting files but not dB entries sometimes? (asked by 0mka) A: nope i run this often and haven't seen it. do you know how to reproduce? (answered by ash)\nQ: How can the issue be reproduced? (asked by ash) A: Add a hyp to world with an asset in config (mp3/webp/mp4), delete it via apps list, run world clean script, try to re-enter world and check console for missing assets. (answered by 0mka)\nQ: Is this an internet-related issue? (asked by .hyp shaman) A: unrelated. happened for those with fiber as well. (answered by 0mka)\nQ: Are you running world clean on a live world without restarting? (asked by ash) A: restarting the server post world clean did not resolve the issue either. (answered by 0mka)\n\n## 3. Help Interactions:\nHelper: HowieDuhzit | Helpee: Community | Context: Explained the root cause of the world clean issue deleting hyp files from assets folder | Resolution: Identified that the core problem is lack of error handling for missing files\nHelper: 0mka | Helpee: Community | Context: Provided detailed reproduction steps for the world clean bug | Resolution: Helped narrow down when the issue occurs, particularly with hyps containing additional file types\nHelper: 0mka | Helpee: Community | Context: Shared workaround for the loading screen issue | Resolution: Manually adding the missing assets back to the world/assets folder on the server allowed access to the world again\n\n## 4. Action Items:\nType: Technical | Description: Implement error handling for missing asset files so worlds remain accessible with \"crash blocks\" for broken hyps | Mentioned By: HowieDuhzit\nType: Technical | Description: Fix world clean script to ensure database entries are deleted when corresponding files are removed | Mentioned By: 0mka\nType: Technical | Description: Investigate why hyps with additional files (mp3/webp/mp4) are more susceptible to this issue | Mentioned By: 0mka\nType: Documentation | Description: Document proper procedure for running world clean to avoid this issue | Mentioned By: ash",
      "messageCount": 21,
      "userCount": 4
    },
    {
      "channelId": "1332430296737644677",
      "channelName": "🎨│showcase",
      "summary": "# Analysis of 🎨│showcase Discord Chat\n\n## 1. Summary\nThe conversation revolves around a QuestItems system with QuestItemUI components that 0mka shared with Roustan. The system allows for collecting items in a Hyperfy world with configurable features including persistent storage, visual effects (rotation and bobbing), sound effects, and UI customization. The code includes emit signals that can trigger other actions in the world. 0mka provided additional code to toggle block visibility, allowing quest items to be hidden or visible. Roustan implemented the system in a project called \"Coinquest\" and requested additional features like end-of-collection notifications. They noted an issue with persistent storage where refreshing the world allows users to collect the same coin repeatedly. Roustan also inquired about making coin collection sounds global rather than spatial. Lastraum suggested connecting to \"the forge\" to enable collection/minting functionality.\n\n## 2. FAQ\nQ: Is there a way to make the coin collect sound global instead of spatial? (asked by 𝕽𝖔𝖚𝖘𝖙𝖆𝖓) A: Unanswered\nQ: Would it be possible to add a notification when all coins are collected? (asked by 𝕽𝖔𝖚𝖘𝖙𝖆𝖓) A: I can adjust all that. Can give you an update tomorrow. (answered by 0mka)\n\n## 3. Help Interactions\nHelper: 0mka | Helpee: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓 | Context: Needed a quest/collection system for Hyperfy | Resolution: Provided QuestItems with QuestItemUI components with configurable features and code examples\nHelper: 0mka | Helpee: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓 | Context: Needed to hide block visibility for quest items | Resolution: Provided additional code snippet to toggle block visibility\n\n## 4. Action Items\nTechnical: Add end-of-collection notification feature | Description: Add congratulatory message when all coins are collected | Mentioned By: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓\nTechnical: Fix persistent storage issue | Description: Prevent users from collecting same coin repeatedly by refreshing the world | Mentioned By: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓\nTechnical: Make coin collection sound global | Description: Change spatial audio to global audio for coin collection sound | Mentioned By: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓\nFeature: Add collection/minting functionality | Description: Enable collecting/minting items at the end of quest completion | Mentioned By: 𝕽𝖔𝖚𝖘𝖙𝖆𝖓",
      "messageCount": 8,
      "userCount": 3
    }
  ]
}