{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":532894306,"defaultBranch":"master","name":"OpenLyricsClient","ownerLogin":"AlexanderDotH","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-09-05T12:37:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/20642291?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1695466603.0","currentOid":""},"activityList":{"items":[{"before":"fd0547f49d7c23c893c7cd69920835a64d1c2a48","after":"3cd5e50e4ba4e942b83114d3e2c98d72c564f8f6","ref":"refs/heads/master","pushedAt":"2024-06-02T15:43:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"0ae9558004c608d4195e1cc917a573b910287c13","after":"fd0547f49d7c23c893c7cd69920835a64d1c2a48","ref":"refs/heads/master","pushedAt":"2023-12-04T08:12:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":null,"after":"363098b0e3a33babcde9b0412132d9b53c4f67b8","ref":"refs/heads/dependabot/nuget/OpenLyricsClient.UI/SkiaSharp-2.88.6","pushedAt":"2023-09-23T10:56:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"chore(deps): bump SkiaSharp in /OpenLyricsClient.UI\n\nBumps [SkiaSharp](https://github.com/mono/SkiaSharp) from 2.88.3 to 2.88.6.\n- [Release notes](https://github.com/mono/SkiaSharp/releases)\n- [Commits](https://github.com/mono/SkiaSharp/compare/v2.88.3...v2.88.6)\n\n---\nupdated-dependencies:\n- dependency-name: SkiaSharp\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"chore(deps): bump SkiaSharp in /OpenLyricsClient.UI"}},{"before":"3fa0c8383ff083f1ef91d5bbfe5b91007dc8eae5","after":"afa7819d61ff5146411a6279111836bcf1a0418e","ref":"refs/heads/upgrade","pushedAt":"2023-09-14T19:08:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(codebase): Refactor code, add Dispose methods & introduction of SonarCloud\n\nThis commit introduces multiple changes mostly focused on two aspects: code cleanup and refactoring, and the introduction of automated code review via SonarCloud.\n\nCleanup and Refactoring:\n- Unused methods and redundant fragments, non-functional code and obsolete comments were removed, leading to cleaner and more maintainable code.\n- Several classes (NoteOverlay, TextOverlay, LyricsScroller etc.) were equipped with Dispose methods to ensure proper clean-up of unused resources.\n- The LyricsScroller class now implements 'IDisposable' to effectively manage resources.\n- Improved 'RemoveOldestEntry()' function in 'CacheManager' to remove oldest entry from cache when it exceeds maximum capacity.\n\nIntroduction of SonarCloud\n- Added a SonarLint workflow file for GitHub Actions which helps in identifying potential issues in code and providing suggestions for code improvements.\n- SonarLint settings have been configured to work with a Java 17 environment on Windows.\n\nThese changes aim to improve the quality of the code and implement better resource management mechanisms, while also adding a layer of automated code review for improved code quality.","shortMessageHtmlLink":"chore(codebase): Refactor code, add Dispose methods & introduction of…"}},{"before":"f6b5ae64b1cee90d256d6cacb8fc0b44a0850b57","after":"0ae9558004c608d4195e1cc917a573b910287c13","ref":"refs/heads/master","pushedAt":"2023-09-14T18:42:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Update sonarlint.yml","shortMessageHtmlLink":"Update sonarlint.yml"}},{"before":"f36bb83b817f93ce15491eb22b6fbd349589bb81","after":"f6b5ae64b1cee90d256d6cacb8fc0b44a0850b57","ref":"refs/heads/master","pushedAt":"2023-09-14T18:42:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Update sonarlint.yml","shortMessageHtmlLink":"Update sonarlint.yml"}},{"before":"110613c21dc77f157309ef9c62d300dd26a9a2f4","after":"f36bb83b817f93ce15491eb22b6fbd349589bb81","ref":"refs/heads/master","pushedAt":"2023-09-14T18:35:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Create sonarlint.yml","shortMessageHtmlLink":"Create sonarlint.yml"}},{"before":"635f6016610c8026eed381bb69dc956c9e12e73e","after":"3fa0c8383ff083f1ef91d5bbfe5b91007dc8eae5","ref":"refs/heads/upgrade","pushedAt":"2023-09-13T13:38:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(codebase): Some improvements\n\nAnimationUtils.cs was removed because it was no longer used in the project. Simplification of code and improvements in functionality made this utility class redundant. LyricsScroller.axaml.cs was updated to include a call to the ReSync() function immediately after filling visual elements. This ensures that lyrics are properly synchronized when updated.","shortMessageHtmlLink":"chore(codebase): Some improvements"}},{"before":"27a71494b2d22c6f3fcf5ce26397fe9aae0a18b5","after":"635f6016610c8026eed381bb69dc956c9e12e73e","ref":"refs/heads/upgrade","pushedAt":"2023-09-12T22:36:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(lyrics): Improved performance\n\nReplaced SplitTextToLines method's return type from AList to ObservableCollection.\nRemoved \"height\" and \"romanization\" parameters from SplitTextToLines method, since they were not needed.\nThe usage of \"height\" in UpdateView method and _viewPort in InstanceOnEffectiveViewportChanged was modified.\nAs a result, the overhead of unnecessary computations is avoided, improving the efficiency of the text wrapping process.\n\nThis change makes the code cleaner, easier to read, and improves the performance of the lyrics text formatting process.","shortMessageHtmlLink":"chore(lyrics): Improved performance"}},{"before":"ca222082f72b36f003117093bedebf92c489488a","after":"27a71494b2d22c6f3fcf5ce26397fe9aae0a18b5","ref":"refs/heads/upgrade","pushedAt":"2023-09-12T22:02:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"fix(performance): Some improvements\n\nAdded the playback feature for spotify. Fixed a memory leak.\n\nUtils/StringUtils.cs updated to perform asynchronous romanization of each generated line. This improves performance and keeps the UI responsive. Scheme for Blur objects was improved, and the newly added AvalonGlassButton was styled. In LyricsTile.axaml.cs, a clearer handling of detachment from logical tree was added to remove possible memory leaks. LyricsText overlay was updated to support Asynchronous Romanization. Removed RomanizationConverter from overlays for performance. Reduced opacity of progress text for improved visibility. SpotifyService was updated to perform seek operation when 'Previous Song' command is issued at >10% playback","shortMessageHtmlLink":"fix(performance): Some improvements"}},{"before":"7b4166f68451ac2a114a639c4bef4cbd1373abfb","after":"ca222082f72b36f003117093bedebf92c489488a","ref":"refs/heads/upgrade","pushedAt":"2023-09-06T20:40:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(ui): Improved ui\n\nThis updates the UI of LyricsPage.axaml, including modifying Grid, TextBlock and Border structures to refine visual design and improving image representation in the app. The LyricsPageViewModel.cs has been expanded to include color palette changes. This ensures the text and image colors are more synchronized for a better user interface experience, particularly for the lyrics display.","shortMessageHtmlLink":"chore(ui): Improved ui"}},{"before":"f4e3697ca718b7cf5f520b387c861b6dd7982d8e","after":"7b4166f68451ac2a114a639c4bef4cbd1373abfb","ref":"refs/heads/upgrade","pushedAt":"2023-09-06T17:14:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"test(test): Test Commit","shortMessageHtmlLink":"test(test): Test Commit"}},{"before":"9272ae95348d469005a783f74d9a988c344080fd","after":"f4e3697ca718b7cf5f520b387c861b6dd7982d8e","ref":"refs/heads/upgrade","pushedAt":"2023-09-06T17:11:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"test(test): Test Commit","shortMessageHtmlLink":"test(test): Test Commit"}},{"before":"e7008649603e4720d075cd8f2054963a5b4ea213","after":"9272ae95348d469005a783f74d9a988c344080fd","ref":"refs/heads/upgrade","pushedAt":"2023-09-06T17:02:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(artwork): Updated image quality selection\n\nArtwork fetching logic in DeezerCollector, SpotifyCollector, and MusixMatch, was updated to fetch and display smaller image sizes, enhancing performance and load times. Additionally, the ImageLoader.Source in LyricsPage.axaml was replaced with Image.Source to improve compatibility and reduce potential issues from the async image loader. Changes in LyricsPageViewModel.cs aim to directly assign the image from ArtworkFoundEventArgs, which condenses the code and eliminates the need for a separate artwork object.","shortMessageHtmlLink":"chore(artwork): Updated image quality selection"}},{"before":"960777282b9bf81df90a1c909239d8a520ef0508","after":"e7008649603e4720d075cd8f2054963a5b4ea213","ref":"refs/heads/upgrade","pushedAt":"2023-09-03T12:30:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"fix(performance): Improved performance\n\nEnhance handling of artwork in LyricsPageViewModel by adding a private field _currentArtwork which gets initialized in the constructor and updated by relevant event handlers. This change enables display of current artwork on the UI.\nModify ArtworkCollector to simplify artwork caching logic.\nAdd validation for artwork file path in CacheManager.\nModify LyricsPage UI to bind artwork source, and display song name.\nRemove ArtworkFoundHandler from ColorHandler and CacheManager: ArtworkAppliedHandler replaced it for more effective color updates.\nAmend a condition in ApplyArtworkTask against file path instead of the whole artwork object to prevent redundant operations.\nFix potential NaN issue in LyricsScroller's percentage calculation.\nThese changes collectively improve visuals, reliability and performance of artwork application in the UI.","shortMessageHtmlLink":"fix(performance): Improved performance"}},{"before":"0912cb13def3d1eecf456873a9b7b071839c2e9e","after":"960777282b9bf81df90a1c909239d8a520ef0508","ref":"refs/heads/upgrade","pushedAt":"2023-08-17T21:20:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"feat(lyrics): Added ElementType Classifier\n\nThe classification of lyric elements has been refactored to utilize a TypeClassifier utility class for determining lyric part type, which significantly cleans the `ApplyDataToOverlay` function in `LyricsTile.axaml.cs`. This change simplifies the codebase and allows for easier addition of new lyric element types in the future without making changes across multiple classes.\n\nMargins on `NoteOverlay.axaml.cs` have been reduced to 0 to fix cropping issues.\n\nAdditional changes were made in `LyricsScroller.axaml.cs` to address scrolling behavior. Now, the PointerWheelChanged event listeners also include `_layoutGrid` and `_visualElementsGrid` to ensure consistent scrolling across different sections of the application.\n\nThe use of ScrollViewer in `LyricsScroller.axaml` is additionally adjusted and a layout Grid has been added to better manage layout disposition and improve user experience.","shortMessageHtmlLink":"feat(lyrics): Added ElementType Classifier"}},{"before":"5caa53a926a9334209e2571ff1c5f785c7a6d656","after":"0912cb13def3d1eecf456873a9b7b071839c2e9e","ref":"refs/heads/upgrade","pushedAt":"2023-08-17T20:19:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"fix(performance): ScrollViewer Performance improvements\n\nAdded ElementType property to LyricsTile class ensuring better control over different types of elements. Enhanced FillVisualElements method in LyricsScroller class to address visual element issues. Added a new property _missingVisualElementsList for storing missing elements, _noteElementSize to capture note element size. Made changes to improve the viewport management and to operate on missing elements. This helps in efficiently rendering the lyrics by calculating missing visual elements and managing lyrics note sizes effectively.","shortMessageHtmlLink":"fix(performance): ScrollViewer Performance improvements"}},{"before":"d89cb6009bc93d1b22733b768b6ca9e07902fc64","after":"5caa53a926a9334209e2571ff1c5f785c7a6d656","ref":"refs/heads/upgrade","pushedAt":"2023-08-17T19:29:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"fix(performance): ScrollViewer Performance improvements\n\nSeveral sections in `NoteOverlay.axaml.cs` have been updated to return null if `Headless` is active. Adding this condition helps to bypass specific settings when running in headless mode, thereby avoiding unnecessary operations.\n\nChanges in `LyricsPage.axaml` and `LyricsScroller.axaml.cs` pertain to cosmetic and performance improvements. The foreground color in `LyricsPage.axaml` is changed to white for better visibility, and the transition speed in `LyricsScroller.axaml.cs` has been adjusted to improve UX.\n\nThe update in `LyricOverlayElement.cs` simplifies the condition for triggering property changes, potentially enhancing performance.\"","shortMessageHtmlLink":"fix(performance): ScrollViewer Performance improvements"}},{"before":"9fcf00fd3622d2b6a33f9d0702341787e0c8edef","after":"110613c21dc77f157309ef9c62d300dd26a9a2f4","ref":"refs/heads/master","pushedAt":"2023-08-15T06:52:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Delete manual.yml","shortMessageHtmlLink":"Delete manual.yml"}},{"before":"eee0d417572df8d01899373ce6ace27dc85f8d2e","after":"9fcf00fd3622d2b6a33f9d0702341787e0c8edef","ref":"refs/heads/master","pushedAt":"2023-08-15T06:51:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"Test-Drive","shortMessageHtmlLink":"Test-Drive"}},{"before":"0c87fad0f3b999f0412ba8a8d85a3469549494d0","after":"d89cb6009bc93d1b22733b768b6ca9e07902fc64","ref":"refs/heads/upgrade","pushedAt":"2023-08-06T19:20:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(lyrics): Fine-Tuning\n\nThe condition check for applying blur effect in LyricsTile.axaml.cs is simplified by removing unnecessary sub-condition `LyricsScroller.Instance.IsSynced`. This change avoids interfering with the blur functionality when the lyrics are not synced.\n\nAdditionally, redundant blank spaces in LyricsPage.axaml have been removed to keep the code clean. The margin of button inside the LyricsPage has been adjusted from \"0,0,30,80\" to \"0,0,30,30\" for better alignment and space utilization within the","shortMessageHtmlLink":"chore(lyrics): Fine-Tuning"}},{"before":"0d8a03fd7d46d2694e26d4b16a84cd284f2b9cc5","after":"0c87fad0f3b999f0412ba8a8d85a3469549494d0","ref":"refs/heads/upgrade","pushedAt":"2023-08-06T18:50:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(lyrics): Blur fixed, better performance\n\nAdded a new event LyricTimeChanged in LyricHandler which triggers upon change in lyrics' timestamp. This is to identify and distinguish between a simple change in lyrics and change in time of the lyrics. This new event is used in LyricsScroller to handle changes and ensure proper triggers. Furthermore, adjusted UI events associated with the lyrics display as they were causing misfires and incorrect functioning of the lyrics scroll. For instance, the functions associated with ScrollViewer have been refactored to be more efficient and predictable. Adjusted the code for UI elements involving lyrics for better alignment with the new event setup.","shortMessageHtmlLink":"chore(lyrics): Blur fixed, better performance"}},{"before":"c6ddac1496682c5c7d8060fe02360e2cef36719c","after":"0d8a03fd7d46d2694e26d4b16a84cd284f2b9cc5","ref":"refs/heads/upgrade","pushedAt":"2023-08-06T16:18:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(codebase): Huge performance improvements\n\nThis commit includes significant refactoring on LyricsPageViewModel.cs to add support for multiple lyric providers (NetEase, Textyl, LyricFind, MusixMatch). The changes include updated logic for subscription to specific events and new badges display to indicate the current lyric provider being used. New classes are created for each lyric provider's badges in OpenLyricsClient.UI.View.Custom.Badges.Lyrics.Providers namespace.\n\nThis change will improve the user experience by allowing them to see where the lyrics come from and providing variety in the sources of lyrics.","shortMessageHtmlLink":"chore(codebase): Huge performance improvements"}},{"before":"65c952b628d2e1c5e9a61233ffe8b99fd848e880","after":"c6ddac1496682c5c7d8060fe02360e2cef36719c","ref":"refs/heads/upgrade","pushedAt":"2023-07-31T16:52:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(lyrics): Scroller performance update\n\nSimplified the LyricsScroller component by replacing redundant ItemsRepeater and hidden items used for size calculation with a straight-forward ItemsControl and a live-list of visual elements. The refactor led to the removal of unnecessary invisible controls, unneeded measurement cache, and made way for more optimized rendering process by directly binding to ViewModel's properties, reducing the time complexity and enhancing the performant behavior of the application. Advanced the LyricsScroller UX by making it more responsive and less prone to bugs with a more direct rendering of Lyrics tiles","shortMessageHtmlLink":"chore(lyrics): Scroller performance update"}},{"before":"c695ac0517e3ed2a9f4b58d679b842fff625d489","after":"65c952b628d2e1c5e9a61233ffe8b99fd848e880","ref":"refs/heads/upgrade","pushedAt":"2023-07-31T12:04:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(lyrics): Minor changes\n\nIntroduced a new ScrollerElement class and refactored class LyricsScroller to\nyield better calculation of lyrics display. The ScrollerElement holds a tuple of the index and size,\nused in GetRenderedSize method, easing recall and manipulation of lyrics display properties.\nThe LyricsScroller was cleaned up to remove redundant code and improved syncing and resyncing functionalities.\nThe ScrollViewer transition easing property in LyricsScroller.axaml also got changed to CircularEaseOut for smoother scrolling effect","shortMessageHtmlLink":"chore(lyrics): Minor changes"}},{"before":"6dc206294befcaa691a73ec4caa5ca78a5f396f5","after":"c695ac0517e3ed2a9f4b58d679b842fff625d489","ref":"refs/heads/upgrade","pushedAt":"2023-07-25T19:26:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(codebase): Major performance improvements\n\nUncommented BlurArea in LyricsTile.axaml and LyricsTile.axaml.cs, enabling the blur effect. The enabled blur effect enhances the UI visibility. Modified LyricsScroller.axaml to run the CalculatePercentage method only if it is not headless. This prevents unnecessary calculations.\nAdded handling for LyricChanged events in LyricsScroller.axaml.cs to ensure smoother rendering of lyrics. Updated the VectorTransition Property in ScrollViewer of LyricsScroller.axaml to give much smoother scrolling effect.\nIn addition, minor fixes applied to avoid exceptions and improve performance on some specific scenarios\n\nBREAKING CHANGE: There are still some ui bugs and blur isn't working","shortMessageHtmlLink":"chore(codebase): Major performance improvements"}},{"before":null,"after":"6dc206294befcaa691a73ec4caa5ca78a5f396f5","ref":"refs/heads/upgrade","pushedAt":"2023-07-25T18:28:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(codebase): Upgrade to Avalonia 11\n\nUI elements `AnimatedScrollView`, `ComboBox`, `CustomScrollViewer` were removed due to redundancy. This change streamlines the codebase and simplifies UI structure. Those elements were previously used for customizing look and behavior of common UI controls, but equivalent functionality is now achieved through styles and built-in Avalonia controls properties.\n\nBREAKING CHANGE: Some UI elements are broken. The LyricsScroller is buggy as hell and the tool is unusable rn","shortMessageHtmlLink":"chore(codebase): Upgrade to Avalonia 11"}},{"before":"7f28ffeb51e73dd7d9afc038f290a28c206bb98d","after":"eee0d417572df8d01899373ce6ace27dc85f8d2e","ref":"refs/heads/master","pushedAt":"2023-07-24T16:41:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(codebase): Minor changes\n\nIntroduced ModelBase class that implements INotifyPropertyChanged and inherits from ViewModelBase. All ViewModels now inherit from this to localize PropertyChanged event, OnPropertyChanged and SetField methods instead of duplicating them in each ViewModel. Selected class names have been updated for better legibility and understanding. Most notably, NewLyricsScroller has been renamed to LyricsScroller.","shortMessageHtmlLink":"chore(codebase): Minor changes"}},{"before":"866f4962f09e57eeae4942c96a1f5b850467cace","after":"7f28ffeb51e73dd7d9afc038f290a28c206bb98d","ref":"refs/heads/master","pushedAt":"2023-07-23T17:45:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"chore(lyrics): Removed old lyrics-scroller\n\nDeleted LyricsScroller.axaml and associated files as they were obsolete. These files were related to a feature that displayed scrolling lyrics, but the feature has been redesigned and it no longer uses this component. This commit keeps the codebase clean by removing unnecessary files","shortMessageHtmlLink":"chore(lyrics): Removed old lyrics-scroller"}},{"before":"adeac8a83e5b19ef8d56d2e4f1708810a208e0c2","after":"866f4962f09e57eeae4942c96a1f5b850467cace","ref":"refs/heads/master","pushedAt":"2023-07-23T17:42:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlexanderDotH","name":"AlexH","path":"/AlexanderDotH","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20642291?s=80&v=4"},"commit":{"message":"feat(lyrics): The blur is back!\n\nAdded a new Blur functionality to the LyricsTile. This is to improve the user interface by providing a dynamic blur effect as lyrics transition changes. The BlurArea was added to the XAML and the corresponding Blur class was implemented in the code behind. Some adjustments were made in the LyricsScroller to properly check if lyrics are syncing. We ensured performance optimisation by directly checking if the blur effect is enabled and the size constraint is met before applying the effect. The result of this feature is a more visually appealing and readable lyrics scrolling experience","shortMessageHtmlLink":"feat(lyrics): The blur is back!"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWj268wA","startCursor":null,"endCursor":null}},"title":"Activity · AlexanderDotH/OpenLyricsClient"}