
rune-discord-presence
Discord Rich Presence extension for Rune
This release brings stable workspace-relative path tracking to Discord rich presence. Files outside the workspace are now correctly ignored and set to Idle, while files within the workspace will now display their full relative path (e.g., cmd/extension_haskell/main.go) instead of just the filename. This provides a clearer view of the project structure being worked on within your Discord status. 
Improved the logic for detecting active file paths in the workspace to ensure Discord presence updates only trigger for files within the current workspace scope. Added specific checks against relative path resolution behavior and cleaned up debug log statements. This ensures redundant or invalid workspace path updates are correctly ignored, keeping Discord activity status accurate. 
Updated the presence tracker to only display files within the current workspace in Discord. This ensures that editing configuration files outside the project scope (e.g., global settings) does not leak unintended file paths to your Discord status. 
Replicated the workspaceapi.makeFileURI logic directly within the presence package to improve handling of file URI construction. This change ensures local independence for URI parsing when tracking workspace editor state for Discord Rich Presence.
Updated the SetActive method in the presence module to log errors instead of returning them when parsing file paths. This prevents unnecessary interruption of the presence tracking flow when minor path issues occur. 
Updated the SetActive method to declare path-processing variables outside of if-blocks. This improves code maintainability and prepares the logic for potential future use of these variables beyond the initial validation checks.
Improved robustness in the presence module by adding explicit error handling when expanding and parsing file paths. This prevents the extension from crashing or behaving unexpectedly when it encounters invalid or malformed file URIs while updating Discord rich presence.
Corrected path expansion and relative path derivation in the presence tracking logic. This ensures the correct file path is reported to Discord when focusing files, resolving potential errors in the workspace path handling. 
Updated the SetActive method to use the correct workspace API function ExpandPathWithURI instead of ExpandWith. This ensures consistent path resolution when tracking the active file for Discord presence updates.
Applied minor fixes to the Discord presence module to improve robustness. Resolved a type mismatch in workspace root resolution and corrected the reference to the active file path. 
Cleaned up the return type for the internal wsSchemeRoot function to better match its expected return value type. This ensures consistency across the presence package and improves internal API clarity.
Fixed a crash occurring during presence updates when resolving the active file path. Reverted to using ExpandWith to ensure an absolute path is correctly resolved before computing workspace-relative paths, and cleaned up debug logs for better readability. 
Cleaned up the presence tracking implementation by removing temporary debug log lines that were added to troubleshoot log output issues. The code is now back to its previous state. 
Included new logging statements within the presence tracking flow to improve visibility when activity updates are processed. This helps diagnose issues where Discord presence status changes were not appearing as expected. 
Fixed an issue where relative path resolution was failing due to using a directory name instead of a full URI. The Presence service now correctly utilizes a full workspace URI for path prefix validation, ensuring consistent mapping between workspace and absolute paths. This change improves robustness when handling path-dependent operations within the service. 
Adjusted the logic used in SetActive() to resolve the absolute path for file tracking. This improves the reliability of detecting the correct file path displayed in the Discord presence status. 
Updated the presence handler to log the URI path instead of the file name during focus events to provide more granular debugging information. This change helps clarify which specific files are triggering presence updates without cluttering the logs with ambiguous names. 
Fixed an issue where Discord activity was displaying full, absolute file paths instead of workspace-relative paths. By updating Presence.SetActive to normalize file URIs against the workspace root before change detection, we ensure consistent and cleaner activity reporting. This change specifically scopes the path normalization to the presence module without impacting other components, resulting in a better UX for users tracking their coding activity. 
