Repository navigation
File safety, playback hardening, and N1–N6 - #11
Draft
ZenQuantDev wants to merge 54 commits into
Draft
ZenQuantDev wants to merge 54 commits into
ZenQuantDev wants to merge 54 commits into
Conversation
…registry, docs) - not for merge
- global.json pins SDK 10.0.403 with latestFeature rollForward - All projects target net10.0 - System.Security.Cryptography.ProtectedData updated to 10.x
…nload hardening, and comprehensive test suite
…collapse filename spaces
…wnload hardening, and other
…lized metadata - Add IsOffline flag and Schema v11 migration to quarantine dead URLs instead of deleting them - Implement auto-relink for missing files using [nw-id-videoId] filename suffixes - Add Debug Sandbox fallback in NullWavePaths to protect real user data during development - Restrict ShellHelper.OpenFile to media extensions to prevent arbitrary code execution - Add '--' defense-in-depth to yt-dlp argument lists to prevent URL flag injection - Implement SplitWithKnownArtist and ResolveArtistTitle to fix swapped Artist/Title metadata - Add YouTube Mix/Playlist front-door prompt and Bandcamp album routing - Globalize search and tokenization (Cyrillic/CJK support, accent folding) - Add TagLib retry loop to handle file locks from LibVLC/Windows Defender - Expand Maintenance tab with Relink integration and accurate reporting
…k fallback - QueueViewModel: Coalesce refresh events to prevent UI thread storms - PlaybackNavigator: Cache navigation pool by StateVersion - LibraryService: Add TryRelink name-matching fallback and sweep orphan guard - PlayerViewModel: Cache track duration, marshal audiobook saves to UI thread - TrackDetailViewModel: Run artist library scan off the UI thread - KeyStoreService: Handle temporary I/O errors without quarantining the file - NullWavePaths: Prevent sandbox LegacyDataDir from touching real user data
…ntralized enforcement
…ink matches FileNamer ids
…r formats, secure temp files
…e, archive old guides Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add Installed/Store tabs with search and category filtering - Implement effects tier visibility card in Appearance tab - Add wallpaper minimal tier note - Redesign settings rail with grouped navigation and art tiles - Implement lazy page loading with cross-fade transitions - Add wave spine animation with active page tracking - Add header watermark glyph per settings page - Fix plugin state preservation bug (Unavailable/Disabled not overwritten) - Add plugin manifest support and setup page navigation - Convert EffectsTierResolver to singleton pattern - Add localization keys for integrations hub (EN/RU)
…ather reference plugin - Create NullWave.Plugins.Contracts as standalone packageable project - Implement PluginDiscovery with AssemblyLoadContext isolation - Add OpenWeather as first external reference plugin - Migrate IPlugin/PluginState/ProviderKind to Contracts namespace - Convert EffectsTierResolver to singleton pattern - Fix PluginManager state preservation for Unavailable/Disabled - Add BuiltInPluginManifest factory for legacy providers - Implement PluginHost with permission-gated API access
…dicators - Add cross-fade transitions to main window page navigation - Replace wave spine with sliding pip indicator in settings - Fix plugin status display (show correct Ready/Off/Needs setup states) - Add attention dots to Integrations/API Keys when plugins need setup - Remove ShowWaveSpine property, add IntegrationsNeedsAttention tracking - Refresh plugin states when switching to Integrations tab
- Add 180ms opacity fade when switching between Installed/Store tabs - Add 120ms opacity transitions to sidebar filter buttons - Add 150ms fade-in animation when track list data context changes - Use BoolToDouble converter for smooth tab transitions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes milestone M1. Everything since the v0.6.4 merge: shipped beta.1 content (keystore v2, consent gate, smart playlists, M3U, four new sources), the beta.2 hardening batch, and the N1–N6 file-safety work.
What's in it
d0d34e2).FileNamer(1343cb6,bc51187);TagWriteMode+ centralCanWriteTags(de8765b,8204ab6); import Keep/Copy with duplicate-check-before-copy and the file-operation journal (8638c23,af82021); OS-native Recycle Bin removal (1343cb6,d3574fd); export pipeline that copies/renames/retags copies only, ID3v2.3 + relative M3U8 (f6e9351,fc7550d).Stop()off the UI thread under a generation lock; consent checked before DB insert (no ghost rows); UI hang watchdog; honest update/dependency status (1e42119,46a6e0a,32ad56e,9faa006,44434fa).302ebc6).-warnaserror:RS0030(40943a3).Automated verification
4be9e2a, both jobs green;NeedsVlctraits excluded in CI).mainruleset.Still waiting on manual checks
[SLOW] PlayTracklinesCommits
See the Commits tab (37 commits,
main..feature/v0.6.5). Note:ce88aa7is a WIP backup snapshot pulled in by merge3581b30; its content is superseded by the fix commits above it.