Skip to content

chore(deps): bump golang.org/x/crypto from 0.52.0 to 0.57.0 - #37

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/golang.org/x/crypto-0.57.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/golang.org/x/crypto-0.57.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 12, 2026

Copy link
Copy Markdown
Contributor

Bumps golang.org/x/crypto from 0.52.0 to 0.57.0.

Commits
  • 3f62bf1 go.mod: update golang.org/x dependencies
  • 86efde5 ssh: reject unexpected message types on established channels
  • a6cdac6 ssh: drop traffic on undecided channels
  • 39dc44e ssh: don't skip the source-address critical option in CheckCert
  • afebf4c x509roots/fallback/bundle: make subjectsEqual stricter on Go 1.27+
  • 89f4e9b x509roots/fallback: update bundle
  • 71488c4 ssh/knownhosts: compare only public key portions for revocation
  • 82adefa ssh: synchronize unexpected response test
  • c757c98 all: upgrade go directive to at least 1.26.0 [generated]
  • 593c81a ssh: correctly ignore pre-banner lines
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.52.0 to 0.57.0.
- [Commits](golang/crypto@v0.52.0...v0.57.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.57.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Sep 12, 2026
@github-actions

Copy link
Copy Markdown

🧪 Test Coverage & Motivation Report

Metric Value
Base Branch (main) 70.5%
Pull Request Coverage 70.5%
Coverage Delta ⚖️ 0.0% (steady at 70.5%)

Steady as she goes! Test coverage remained constant at 70.5%. Feel free to add edge-case tests if applicable! 🎯

📋 Detailed Package Coverage Breakdown
github.com/halpworld/halpradio/main.go:12:					main					0.0%
github.com/halpworld/halpradio/pkg/app/app.go:42:				RunPluginCLI				36.8%
github.com/halpworld/halpradio/pkg/app/app.go:209:				formatPlaybackInfo			78.1%
github.com/halpworld/halpradio/pkg/app/app.go:253:				RunCurrent				66.7%
github.com/halpworld/halpradio/pkg/app/app.go:386:				RunStatus				77.8%
github.com/halpworld/halpradio/pkg/app/app.go:441:				RunRemote				64.7%
github.com/halpworld/halpradio/pkg/app/app.go:530:				RunHelp					100.0%
github.com/halpworld/halpradio/pkg/app/app.go:535:				SetupApp				59.0%
github.com/halpworld/halpradio/pkg/app/app.go:863:				Run					0.0%
github.com/halpworld/halpradio/pkg/app/cli_party.go:26:				RunParty				71.4%
github.com/halpworld/halpradio/pkg/app/cli_party.go:54:				runPartyCreate				0.0%
github.com/halpworld/halpradio/pkg/app/cli_party.go:158:			runPartyJoin				55.6%
github.com/halpworld/halpradio/pkg/app/cli_party.go:250:			runPartyStatus				28.0%
github.com/halpworld/halpradio/pkg/app/cli_party.go:327:			runPartyLeave				0.0%
github.com/halpworld/halpradio/pkg/app/cli_party.go:361:			runPartyReact				22.2%
github.com/halpworld/halpradio/pkg/app/cli_party.go:393:			runPartyChat				30.0%
github.com/halpworld/halpradio/pkg/app/cli_party.go:410:			executeHeadlessParty			0.0%
github.com/halpworld/halpradio/pkg/app/cli_party.go:545:			setupPartyApp				42.1%
github.com/halpworld/halpradio/pkg/app/cli_play.go:32:				RunPlay					81.6%
github.com/halpworld/halpradio/pkg/app/cli_play.go:152:				resolveStation				96.6%
github.com/halpworld/halpradio/pkg/app/cli_play.go:221:				executeHeadlessPlay			72.9%
github.com/halpworld/halpradio/pkg/app/cli_play.go:309:				printPlayHelp				0.0%
github.com/halpworld/halpradio/pkg/app/cli_play.go:315:				reorderFlagsFirst			100.0%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:33:			RunStations				77.8%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:67:			loadStore				100.0%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:74:			runStationsList				87.8%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:138:			runStationsSearch			61.4%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:227:			runStationsFav				93.0%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:297:			runStationsAdd				73.3%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:353:			renderStationsJSON			87.5%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:382:			renderStationsPlain			90.0%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:406:			renderStationsTable			87.5%
github.com/halpworld/halpradio/pkg/app/cli_stations.go:455:			printStationsHelp			0.0%
github.com/halpworld/halpradio/pkg/app/cli_theme.go:17:				PrintThemeHelp				100.0%
github.com/halpworld/halpradio/pkg/app/cli_theme.go:49:				RunThemeCLI				80.5%
github.com/halpworld/halpradio/pkg/app/cli_theme.go:279:			RenderTerminalThemePreview		100.0%
github.com/halpworld/halpradio/pkg/app/cli_theme.go:370:			truncate				80.0%
github.com/halpworld/halpradio/pkg/app/cli_volume.go:15:			RunVolume				75.4%
github.com/halpworld/halpradio/pkg/app/help.go:44:				IsHelpArg				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:54:				HasHelpFlag				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:64:				RenderHelpHeader			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:69:				RenderHelpUsage				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:78:				RenderHelpItems				90.9%
github.com/halpworld/halpradio/pkg/app/help.go:117:				formatItemLeft				93.8%
github.com/halpworld/halpradio/pkg/app/help.go:144:				RenderHelpExamples			85.0%
github.com/halpworld/halpradio/pkg/app/help.go:184:				RenderHelpFooter			80.0%
github.com/halpworld/halpradio/pkg/app/help.go:195:				PrintRootHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:268:				PrintPlayHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:305:				PrintStationsHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:349:				PrintStationsListHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:376:				PrintStationsSearchHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:403:				PrintStationsFavHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:422:				PrintStationsAddHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:449:				PrintVolumeHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:480:				PrintCurrentHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:512:				PrintStatusHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:532:				PrintRemoteHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:562:				PrintPluginHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:587:				PrintUpdateStationsHelp			100.0%
github.com/halpworld/halpradio/pkg/app/help.go:601:				PrintPlaybackControlHelp		100.0%
github.com/halpworld/halpradio/pkg/app/help.go:610:				PrintPartyHelp				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:652:				RouteHelp				93.5%
github.com/halpworld/halpradio/pkg/app/help.go:741:				SuggestCommand				100.0%
github.com/halpworld/halpradio/pkg/app/help.go:779:				levenshteinDistance			89.5%
github.com/halpworld/halpradio/pkg/app/help.go:814:				minInt					100.0%
github.com/halpworld/halpradio/pkg/art/braille.go:23:				renderBraille				100.0%
github.com/halpworld/halpradio/pkg/art/braille.go:78:				otsuThreshold				97.5%
github.com/halpworld/halpradio/pkg/art/cache.go:36:				expired					100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:56:				cacheKey				100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:61:				hashKey					100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:73:				normalizeText				100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:93:				stripGroups				100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:136:				collapseSpace				100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:156:				memGet					100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:176:				memPut					88.2%
github.com/halpworld/halpradio/pkg/art/cache.go:206:				diskPaths				100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:217:				diskGet					100.0%
github.com/halpworld/halpradio/pkg/art/cache.go:255:				diskPut					69.2%
github.com/halpworld/halpradio/pkg/art/client.go:54:				clone					100.0%
github.com/halpworld/halpradio/pkg/art/client.go:85:				NewClient				100.0%
github.com/halpworld/halpradio/pkg/art/client.go:101:				CacheDir				100.0%
github.com/halpworld/halpradio/pkg/art/client.go:114:				Fetch					97.1%
github.com/halpworld/halpradio/pkg/art/client.go:178:				fetchITunes				100.0%
github.com/halpworld/halpradio/pkg/art/client.go:220:				fetchDeezer				88.2%
github.com/halpworld/halpradio/pkg/art/client.go:268:				fetchCoverArtArchive			90.9%
github.com/halpworld/halpradio/pkg/art/client.go:323:				fetchLastFM				83.3%
github.com/halpworld/halpradio/pkg/art/client.go:383:				lastFMSizeRank				100.0%
github.com/halpworld/halpradio/pkg/art/client.go:402:				getJSON					92.9%
github.com/halpworld/halpradio/pkg/art/client.go:427:				download				81.0%
github.com/halpworld/halpradio/pkg/art/client.go:462:				httpClient				66.7%
github.com/halpworld/halpradio/pkg/art/client.go:470:				contentType				100.0%
github.com/halpworld/halpradio/pkg/art/client.go:479:				isImageContentType			100.0%
github.com/halpworld/halpradio/pkg/art/client.go:487:				isMBID					90.9%
github.com/halpworld/halpradio/pkg/art/client.go:511:				baseOr					100.0%
github.com/halpworld/halpradio/pkg/art/client.go:520:				firstNonEmpty				100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:43:				Label					100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:64:				Graphical				100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:75:				DetectEnv				100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:133:				Detect					100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:140:				Resolve					100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:150:				parseProtocol				100.0%
github.com/halpworld/halpradio/pkg/art/detect.go:171:				truthy					100.0%
github.com/halpworld/halpradio/pkg/art/halfblock.go:19:				renderHalfBlock				100.0%
github.com/halpworld/halpradio/pkg/art/halfblock.go:54:				writeSGRColor				100.0%
github.com/halpworld/halpradio/pkg/art/halfblock.go:67:				rgbKey					100.0%
github.com/halpworld/halpradio/pkg/art/iterm2.go:10:				renderITerm2				75.0%
github.com/halpworld/halpradio/pkg/art/kitty.go:21:				renderKitty				95.7%
github.com/halpworld/halpradio/pkg/art/render.go:20:				NewRenderer				100.0%
github.com/halpworld/halpradio/pkg/art/render.go:31:				Render					89.3%
github.com/halpworld/halpradio/pkg/art/render.go:86:				Clear					100.0%
github.com/halpworld/halpradio/pkg/art/render.go:100:				escapeLines				100.0%
github.com/halpworld/halpradio/pkg/art/render.go:112:				encodePNG				75.0%
github.com/halpworld/halpradio/pkg/art/resize.go:24:				decodeImage				87.5%
github.com/halpworld/halpradio/pkg/art/resize.go:43:				subCellGrid				85.7%
github.com/halpworld/halpradio/pkg/art/resize.go:62:				fitDimensions				93.3%
github.com/halpworld/halpradio/pkg/art/resize.go:89:				resampleBox				94.4%
github.com/halpworld/halpradio/pkg/art/resize.go:144:				prepare					100.0%
github.com/halpworld/halpradio/pkg/art/resize.go:153:				prepareImage				100.0%
github.com/halpworld/halpradio/pkg/art/resize.go:176:				pixelAt					100.0%
github.com/halpworld/halpradio/pkg/art/resize.go:185:				luminance				100.0%
github.com/halpworld/halpradio/pkg/art/resize.go:189:				maxInt					100.0%
github.com/halpworld/halpradio/pkg/art/resize.go:196:				clampInt				100.0%
github.com/halpworld/halpradio/pkg/art/sixel.go:30:				renderSixel				98.2%
github.com/halpworld/halpradio/pkg/art/sixel.go:119:				writeSixelRun				100.0%
github.com/halpworld/halpradio/pkg/art/sixel.go:148:				quantizeSixel				96.1%
github.com/halpworld/halpradio/pkg/art/sixel.go:226:				medianCut				91.7%
github.com/halpworld/halpradio/pkg/art/sixel.go:282:				widestAxis				100.0%
github.com/halpworld/halpradio/pkg/art/sixel.go:308:				sortByAxis				90.0%
github.com/halpworld/halpradio/pkg/art/sixel.go:328:				quantKey				100.0%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:38:			Enabled					100.0%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:45:			Path					100.0%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:53:			EnvEnabled				100.0%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:64:			Init					89.5%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:96:			rotateLocked				100.0%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:105:			Close					100.0%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:121:			Logf					72.7%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:141:			Header					87.5%
github.com/halpworld/halpradio/pkg/debuglog/debuglog.go:158:			sortedKeys				100.0%
github.com/halpworld/halpradio/pkg/debuglog/watchdog.go:40:			Watch					100.0%
github.com/halpworld/halpradio/pkg/debuglog/watchdog.go:75:			watchdogLoop				88.9%
github.com/halpworld/halpradio/pkg/debuglog/watchdog.go:105:			DumpStacks				69.2%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:53:			isPartyAction				66.7%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:63:			NewManager				40.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:182:			UpdatePlayback				100.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:187:			UpdatePlaybackFull			86.2%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:294:			NotifySong				87.5%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:308:			GetPlaybackInfo				80.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:350:			SetPartyHandler				0.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:360:			SetPartyInfo				0.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:370:			SetNotificationsEnabled			100.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:378:			SetNotifierRunner			100.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:386:			SetDiscordClient			100.0%
github.com/halpworld/halpradio/pkg/desktop/desktop.go:396:			Close					88.2%
github.com/halpworld/halpradio/pkg/desktop/discord.go:52:			GetDiscordDJAsset			100.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:131:			NewDiscordRPCClient			100.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:141:			SetDialer				100.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:148:			UpdateActivity				83.9%
github.com/halpworld/halpradio/pkg/desktop/discord.go:224:			ClearActivity				100.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:229:			Close					100.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:252:			closeConnLocked				80.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:261:			ensureConnectedLocked			75.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:315:			sendFrameLocked				72.7%
github.com/halpworld/halpradio/pkg/desktop/discord.go:336:			readDiscordFrame			100.0%
github.com/halpworld/halpradio/pkg/desktop/discord.go:357:			dialDiscordSocket			45.5%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:20:				SanitizeString				86.5%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:109:				SplitArtistTitle			100.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:161:				GetDefaultSocketPath			50.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:176:				StartIPCServerWithPayload		80.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:204:				StartIPCServer				75.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:213:				serve					90.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:230:				handleConn				94.3%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:298:				Close					100.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:317:				SendIPCCommand				100.0%
github.com/halpworld/halpradio/pkg/desktop/ipc.go:322:				SendIPCCommandWithPayload		70.4%
github.com/halpworld/halpradio/pkg/desktop/mediakeys.go:31:			NormalizeKey				100.0%
github.com/halpworld/halpradio/pkg/desktop/mediakeys.go:54:			ParseAction				86.4%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:54:				MapStatusToMPRIS			100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:68:				BuildMPRISMetadata			100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:112:			Raise					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:116:			Quit					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:128:			Next					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:135:			Previous				100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:142:			Pause					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:149:			PlayPause				100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:156:			Stop					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:163:			Play					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:170:			SetPosition				100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:174:			OpenUri					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:179:			StartMPRISServer			0.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:269:			onRemoteVolume				100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:288:			setProp					100.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:299:			UpdatePlaybackState			90.0%
github.com/halpworld/halpradio/pkg/desktop/mpris.go:330:			Close					20.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:23:			defaultCommandRunner			0.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:40:			NewNotifier				100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:49:			SetRunner				71.4%
github.com/halpworld/halpradio/pkg/desktop/notify.go:62:			GetRunner				80.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:72:			SetEnabled				100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:82:			IsEnabled				100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:92:			ResetDeduplication			100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:104:			FormatSongNotification			100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:124:			NotifySong				100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:161:			Notify					100.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:179:			sanitizeNotificationString		90.0%
github.com/halpworld/halpradio/pkg/desktop/notify.go:196:			dispatchOSNotification			90.9%
github.com/halpworld/halpradio/pkg/desktop/ownership_unix.go:11:		isOwnedByCurrentUser			66.7%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:55:				newMemCache				100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:76:				get					100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:105:				putSheet				100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:114:				putNegative				100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:118:				put					88.2%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:151:				len					80.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:161:				clear					83.3%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:196:				newDiskSheet				100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:216:				toSheet					100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:240:				diskPath				100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:247:				readDisk				100.0%
github.com/halpworld/halpradio/pkg/lyrics/cache.go:280:				writeDisk				62.5%
github.com/halpworld/halpradio/pkg/lyrics/client.go:62:				NewClient				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:74:				CacheDir				66.7%
github.com/halpworld/halpradio/pkg/lyrics/client.go:89:				Fetch					100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:167:			applyRequestMetadata			100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:184:			memCacheRef				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:193:			httpClient				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:200:			lrclibBase				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:207:			netEaseBase				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:216:			getJSON					100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:258:			hasLyrics				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:264:			isSynced				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:269:			toSheet					100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:298:			lrclibGet				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:328:			lrclibSearch				86.7%
github.com/halpworld/halpradio/pkg/lyrics/client.go:357:			pickLRCLibCandidate			100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:374:			betterLRCLibCandidate			100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:385:			absFloat				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:405:			artistName				100.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:429:			netEase					92.5%
github.com/halpworld/halpradio/pkg/lyrics/client.go:503:			pickNetEaseSong				96.0%
github.com/halpworld/halpradio/pkg/lyrics/client.go:550:			absDuration				66.7%
github.com/halpworld/halpradio/pkg/lyrics/lrc.go:29:				ParseLRC				100.0%
github.com/halpworld/halpradio/pkg/lyrics/lrc.go:79:				leadingTimestamps			90.5%
github.com/halpworld/halpradio/pkg/lyrics/lrc.go:116:				fractionToDuration			88.9%
github.com/halpworld/halpradio/pkg/lyrics/lrc.go:136:				plainToLines				92.9%
github.com/halpworld/halpradio/pkg/lyrics/sheet.go:35:				ActiveIndex				100.0%
github.com/halpworld/halpradio/pkg/lyrics/sheet.go:58:				Progress				100.0%
github.com/halpworld/halpradio/pkg/lyrics/sheet.go:85:				IsEmpty					100.0%
github.com/halpworld/halpradio/pkg/lyrics/sheet.go:98:				PlainLines				100.0%
github.com/halpworld/halpradio/pkg/lyrics/sheet.go:110:				clone					100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:75:				SplitTrackTitle				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:99:				cleanStreamTitle			100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:128:				stripUnprintable			100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:144:				collapseSpace				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:149:				unwrapQuotes				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:162:				splitOnDash				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:189:				splitOnBy				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:199:				finishPart				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:207:				isUnusablePart				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:225:				normalizeQuery				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:248:				normalizeKey				100.0%
github.com/halpworld/halpradio/pkg/lyrics/title.go:254:				cacheKey				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:37:				NewTCPPeerConn				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:44:				RemotePeerID				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:50:				SetRemotePeerID				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:56:				RemoteAddr				0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:63:				Send					91.7%
github.com/halpworld/halpradio/pkg/party/mesh.go:82:				Close					87.5%
github.com/halpworld/halpradio/pkg/party/mesh.go:104:				NewWebRTCPeerConn			0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:112:				RemotePeerID				0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:118:				RemoteAddr				0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:122:				Send					0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:131:				Close					0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:176:				NewMeshNetwork				75.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:206:				PeerID					100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:210:				Nickname				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:216:				SetNickname				0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:226:				RoomCode				0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:230:				ListenPort				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:236:				SetPacketHandler			100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:242:				SetPeerJoinedHandler			100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:248:				SetPeerLeftHandler			100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:255:				StartListening				90.9%
github.com/halpworld/halpradio/pkg/party/mesh.go:272:				acceptLoop				81.2%
github.com/halpworld/halpradio/pkg/party/mesh.go:299:				handleIncomingTCP			100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:304:				readFramedPackets			88.9%
github.com/halpworld/halpradio/pkg/party/mesh.go:358:				ConnectPeer				75.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:390:				addPeer					100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:396:				removePeer				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:413:				dispatchPacket				100.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:424:				SendDirect				71.4%
github.com/halpworld/halpradio/pkg/party/mesh.go:451:				Broadcast				95.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:482:				PeerCount				0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:489:				PeerIDs					0.0%
github.com/halpworld/halpradio/pkg/party/mesh.go:500:				StartLANDiscovery			44.3%
github.com/halpworld/halpradio/pkg/party/mesh.go:618:				Close					88.2%
github.com/halpworld/halpradio/pkg/party/mesh.go:647:				min					0.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:59:			GenerateRoomCode			87.5%
github.com/halpworld/halpradio/pkg/party/protocol.go:73:			NormalizeRoomCode			100.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:80:			FormatRoomCode				75.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:89:			HashRoomCode				100.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:97:			ComputeBeaconToken			100.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:106:			VerifyBeaconToken			100.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:119:			DeriveRoomKey				83.3%
github.com/halpworld/halpradio/pkg/party/protocol.go:211:			SanitizeString				63.9%
github.com/halpworld/halpradio/pkg/party/protocol.go:271:			EncryptPacket				68.8%
github.com/halpworld/halpradio/pkg/party/protocol.go:301:			DecryptPacket				75.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:342:			Next					100.0%
github.com/halpworld/halpradio/pkg/party/protocol.go:346:			Current					0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:23:				Age					0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:85:				NewPartySession				84.6%
github.com/halpworld/halpradio/pkg/party/sync.go:154:				SetHandlers				100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:170:				RoomCode				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:176:				FormattedCode				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:180:				RoomName				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:186:				IsHost					0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:192:				HostNickname				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:198:				DJPass					0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:204:				PeerCount				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:210:				ListenPort				100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:214:				PeerID					100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:218:				Nickname				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:222:				IsActive				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:229:				CanChangeStation			100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:239:				ToggleDJPass				61.1%
github.com/halpworld/halpradio/pkg/party/sync.go:270:				BroadcastStationChange			100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:299:				broadcastSync				80.0%
github.com/halpworld/halpradio/pkg/party/sync.go:313:				CurrentSync				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:324:				BroadcastReaction			90.5%
github.com/halpworld/halpradio/pkg/party/sync.go:372:				ActiveReactions				100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:388:				BroadcastChat				80.0%
github.com/halpworld/halpradio/pkg/party/sync.go:427:				RecentChat				100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:436:				ConnectDirect				100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:442:				PeerRoster				0.0%
github.com/halpworld/halpradio/pkg/party/sync.go:463:				Tick					58.3%
github.com/halpworld/halpradio/pkg/party/sync.go:506:				heartbeatLoop				62.5%
github.com/halpworld/halpradio/pkg/party/sync.go:527:				handleIncomingPacket			47.9%
github.com/halpworld/halpradio/pkg/party/sync.go:752:				applySync				90.9%
github.com/halpworld/halpradio/pkg/party/sync.go:788:				calcHostWinnerLocked			80.0%
github.com/halpworld/halpradio/pkg/party/sync.go:805:				handleHostElection			84.2%
github.com/halpworld/halpradio/pkg/party/sync.go:843:				handlePeerJoined			100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:859:				handlePeerLeft				100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:880:				makeRosterPayload			100.0%
github.com/halpworld/halpradio/pkg/party/sync.go:894:				notifyPeerChange			88.9%
github.com/halpworld/halpradio/pkg/party/sync.go:909:				flash					80.0%
github.com/halpworld/halpradio/pkg/party/sync.go:920:				Close					80.0%
github.com/halpworld/halpradio/pkg/player/autopause_stub.go:7:			startAutoPause				100.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/cache.go:25:		NewLRUCache				60.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/cache.go:41:		Get					71.4%
github.com/halpworld/halpradio/pkg/player/fingerprint/cache.go:65:		Put					94.7%
github.com/halpworld/halpradio/pkg/player/fingerprint/cache.go:99:		Len					0.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/cache.go:106:		Clear					0.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/capture.go:18:		CaptureAudioSample			0.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/capture.go:103:		decodeMP3ToMono				0.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/capture.go:124:		Read					0.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/capture.go:134:		WriteWAVFile				88.9%
github.com/halpworld/halpradio/pkg/player/fingerprint/client.go:56:		NewClient				40.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/client.go:73:		Identify				0.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/client.go:145:		queryAcoustID				75.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/fingerprint.go:25:	ComputeFingerprint			25.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/fingerprint.go:43:	generatePureGoFingerprint		83.6%
github.com/halpworld/halpradio/pkg/player/fingerprint/fingerprint.go:153:	encodeChromaprint			100.0%
github.com/halpworld/halpradio/pkg/player/fingerprint/result.go:23:		Badge					66.7%
github.com/halpworld/halpradio/pkg/player/fingerprint/result.go:39:		ShortBadge				66.7%
github.com/halpworld/halpradio/pkg/player/fingerprint/result.go:51:		SimpleTitle				42.9%
github.com/halpworld/halpradio/pkg/player/fingerprint/result.go:65:		FullDisplay				43.8%
github.com/halpworld/halpradio/pkg/player/fingerprint/result.go:90:		ConfidenceBar				60.0%
github.com/halpworld/halpradio/pkg/player/mock.go:30:				NewMockPlayer				66.7%
github.com/halpworld/halpradio/pkg/player/mock.go:43:				Play					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:70:				Stop					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:80:				Pause					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:90:				Resume					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:100:				SetVolume				77.8%
github.com/halpworld/halpradio/pkg/player/mock.go:115:				Volume					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:125:				ToggleMute				100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:133:				IsMuted					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:140:				Status					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:147:				CurrentStation				100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:154:				CurrentTrack				100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:161:				ActiveBackend				100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:168:				Error					100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:175:				SetTrack				100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:192:				SetStatus				100.0%
github.com/halpworld/halpradio/pkg/player/mock.go:199:				SetTunerMode				0.0%
github.com/halpworld/halpradio/pkg/player/mock.go:209:				UpdateTunerSignal			0.0%
github.com/halpworld/halpradio/pkg/player/mock.go:218:				IsTunerActive				0.0%
github.com/halpworld/halpradio/pkg/player/mock.go:225:				TunerSignal				0.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:42:				Cleanup					100.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:67:				newMPVControl				0.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:73:				connectLoop				0.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:98:				attach					80.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:122:			SetVolume				100.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:129:			SetMute					100.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:136:			setProperty				63.2%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:166:			Close					100.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:194:			SetVolume				0.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:203:			SetMute					0.0%
github.com/halpworld/halpradio/pkg/player/mpvipc.go:216:			Close					0.0%
github.com/halpworld/halpradio/pkg/player/mpvipc_unix.go:18:			newMPVIPCEndpoint			66.7%
github.com/halpworld/halpradio/pkg/player/mpvipc_unix.go:31:			dialMPVIPC				0.0%
github.com/halpworld/halpradio/pkg/player/native_oto.go:17:			playNative				18.6%
github.com/halpworld/halpradio/pkg/player/player.go:95:				NewManager				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:112:			SetOnAutoPause				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:120:			SetAutoPause				45.5%
github.com/halpworld/halpradio/pkg/player/player.go:135:			autoPauseOnDeviceLoss			100.0%
github.com/halpworld/halpradio/pkg/player/player.go:152:			Close					100.0%
github.com/halpworld/halpradio/pkg/player/player.go:164:			detectBackend				80.0%
github.com/halpworld/halpradio/pkg/player/player.go:184:			ActiveBackend				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:190:			Status					100.0%
github.com/halpworld/halpradio/pkg/player/player.go:196:			CurrentStation				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:202:			CurrentTrack				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:208:			Error					100.0%
github.com/halpworld/halpradio/pkg/player/player.go:214:			Volume					100.0%
github.com/halpworld/halpradio/pkg/player/player.go:223:			IsMuted					100.0%
github.com/halpworld/halpradio/pkg/player/player.go:229:			SetVolume				84.6%
github.com/halpworld/halpradio/pkg/player/player.go:268:			ToggleMute				76.2%
github.com/halpworld/halpradio/pkg/player/player.go:298:			Stop					77.8%
github.com/halpworld/halpradio/pkg/player/player.go:335:			Pause					77.3%
github.com/halpworld/halpradio/pkg/player/player.go:367:			Resume					50.0%
github.com/halpworld/halpradio/pkg/player/player.go:390:			IsValidStreamURL			100.0%
github.com/halpworld/halpradio/pkg/player/player.go:403:			sanitizeTrackTitle			100.0%
github.com/halpworld/halpradio/pkg/player/player.go:413:			Play					79.4%
github.com/halpworld/halpradio/pkg/player/player.go:464:			clampVolume				60.0%
github.com/halpworld/halpradio/pkg/player/player.go:477:			buildExternalArgs			100.0%
github.com/halpworld/halpradio/pkg/player/player.go:507:			playExternal				0.0%
github.com/halpworld/halpradio/pkg/player/player.go:600:			setError				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:612:			startICYListener			83.8%
github.com/halpworld/halpradio/pkg/player/player.go:744:			ioReadFull				100.0%
github.com/halpworld/halpradio/pkg/player/player.go:757:			SetTunerMode				94.7%
github.com/halpworld/halpradio/pkg/player/player.go:787:			UpdateTunerSignal			94.1%
github.com/halpworld/halpradio/pkg/player/player.go:815:			IsTunerActive				100.0%
github.com/halpworld/halpradio/pkg/player/static.go:45:				NewStaticSynthesizer			66.7%
github.com/halpworld/halpradio/pkg/player/static.go:62:				SetEnabled				100.0%
github.com/halpworld/halpradio/pkg/player/static.go:69:				IsEnabled				100.0%
github.com/halpworld/halpradio/pkg/player/static.go:76:				SetParams				75.0%
github.com/halpworld/halpradio/pkg/player/static.go:100:			SetNearestStationCarrier		100.0%
github.com/halpworld/halpradio/pkg/player/static.go:107:			SetVolume				75.0%
github.com/halpworld/halpradio/pkg/player/static.go:120:			nextFloat				100.0%
github.com/halpworld/halpradio/pkg/player/static.go:131:			Read					95.2%
github.com/halpworld/halpradio/pkg/player/static_oto.go:9:			startOrStopStaticPlayer			95.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:41:			NewManager				100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:56:			SetNotifyHandler			100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:63:			SetFlashHandler				100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:70:			SetLogHandler				100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:76:			log					100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:86:			Init					75.7%
github.com/halpworld/halpradio/pkg/plugin/manager.go:159:			startPluginLocked			52.6%
github.com/halpworld/halpradio/pkg/plugin/manager.go:198:			stopPluginLocked			100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:206:			loadSavedStates				33.3%
github.com/halpworld/halpradio/pkg/plugin/manager.go:222:			saveStatesLocked			87.5%
github.com/halpworld/halpradio/pkg/plugin/manager.go:236:			GetPlugins				100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:257:			GetPlugin				85.7%
github.com/halpworld/halpradio/pkg/plugin/manager.go:278:			EnablePlugin				88.9%
github.com/halpworld/halpradio/pkg/plugin/manager.go:295:			DisablePlugin				87.5%
github.com/halpworld/halpradio/pkg/plugin/manager.go:310:			ApprovePermissions			72.7%
github.com/halpworld/halpradio/pkg/plugin/manager.go:330:			RegistryClient				100.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:335:			InstallFromRegistry			0.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:389:			UninstallPlugin				88.9%
github.com/halpworld/halpradio/pkg/plugin/manager.go:406:			Close					83.3%
github.com/halpworld/halpradio/pkg/plugin/manager.go:420:			DispatchTrackChange			71.4%
github.com/halpworld/halpradio/pkg/plugin/manager.go:446:			DispatchPlaybackChange			71.4%
github.com/halpworld/halpradio/pkg/plugin/manager.go:471:			DispatchTimerTick			50.0%
github.com/halpworld/halpradio/pkg/plugin/manager.go:500:			ToRegistryPlugin			100.0%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:21:			init					100.0%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:52:			IsPrivateOrLoopbackIP			75.0%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:75:			HasStorage				75.0%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:85:			HasEvent				83.3%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:98:			IsIPAllowed				0.0%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:142:			CanAccessNetwork			82.4%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:260:			Validate				88.9%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:295:			LoadManifest				75.0%
github.com/halpworld/halpradio/pkg/plugin/manifest.go:304:			ParseManifest				70.0%
github.com/halpworld/halpradio/pkg/plugin/registry.go:29:			NewRegistryClient			100.0%
github.com/halpworld/halpradio/pkg/plugin/registry.go:42:			FetchRegistry				76.5%
github.com/halpworld/halpradio/pkg/plugin/registry.go:73:			DownloadAndInstall			67.3%
github.com/halpworld/halpradio/pkg/plugin/registry.go:174:			fallbackRegistry			100.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:42:			sanitizeString				100.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:58:			newSandboxedHTTPTransport		10.5%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:105:			NewSandbox				47.6%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:168:			log					0.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:174:			registerHostFunctions			7.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:401:			Start					87.5%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:435:			Stop					0.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:447:			Close					100.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:460:			UpdateState				100.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:467:			InvokeHook				100.0%
github.com/halpworld/halpradio/pkg/plugin/sandbox.go:473:			invokeHookLocked			11.8%
github.com/halpworld/halpradio/pkg/plugin/storage.go:20:			ValidateStorageKey			88.9%
github.com/halpworld/halpradio/pkg/plugin/storage.go:45:			NewStorage				88.9%
github.com/halpworld/halpradio/pkg/plugin/storage.go:66:			load					87.5%
github.com/halpworld/halpradio/pkg/plugin/storage.go:79:			save					71.4%
github.com/halpworld/halpradio/pkg/plugin/storage.go:93:			Get					100.0%
github.com/halpworld/halpradio/pkg/plugin/storage.go:104:			Set					83.3%
github.com/halpworld/halpradio/pkg/plugin/storage.go:136:			Delete					83.3%
github.com/halpworld/halpradio/pkg/plugin/storage.go:147:			GetAll					100.0%
github.com/halpworld/halpradio/pkg/plugin/storage.go:158:			Dir					100.0%
github.com/halpworld/halpradio/pkg/plugin/verifier.go:12:			CalculateSHA256				100.0%
github.com/halpworld/halpradio/pkg/plugin/verifier.go:18:			VerifyChecksum				85.7%
github.com/halpworld/halpradio/pkg/plugin/verifier.go:33:			VerifySignature				70.6%
github.com/halpworld/halpradio/pkg/radio/activity.go:54:			GetActivityByID				0.0%
github.com/halpworld/halpradio/pkg/radio/activity.go:65:			MatchesActivity				57.1%
github.com/halpworld/halpradio/pkg/radio/broadcasters.go:17:			normalizeStationName			100.0%
github.com/halpworld/halpradio/pkg/radio/broadcasters.go:106:			LookupVerifiedBroadcaster		15.5%
github.com/halpworld/halpradio/pkg/radio/broadcasters.go:254:			EnrichStation				93.3%
github.com/halpworld/halpradio/pkg/radio/catalog_updater.go:43:			NewCatalogUpdater			60.0%
github.com/halpworld/halpradio/pkg/radio/catalog_updater.go:62:			LoadMetadata				100.0%
github.com/halpworld/halpradio/pkg/radio/catalog_updater.go:72:			SaveMetadata				80.0%
github.com/halpworld/halpradio/pkg/radio/catalog_updater.go:82:			ShouldCheck				83.3%
github.com/halpworld/halpradio/pkg/radio/catalog_updater.go:95:			CheckAndUpdate				72.0%
github.com/halpworld/halpradio/pkg/radio/geo.go:166:				GeocodeStation				78.3%
github.com/halpworld/halpradio/pkg/radio/geo.go:212:				HaversineDistance			100.0%
github.com/halpworld/halpradio/pkg/radio/geo.go:229:				BuildStationClusters			90.5%
github.com/halpworld/halpradio/pkg/radio/geo.go:275:				FindNearestCluster			91.7%
github.com/halpworld/halpradio/pkg/radio/geo.go:301:				ExtractOrAssignFrequency		96.3%
github.com/halpworld/halpradio/pkg/radio/geo.go:352:				LookupNearestLocation			81.5%
github.com/halpworld/halpradio/pkg/radio/health.go:12:				CheckStreamHealth			80.0%
github.com/halpworld/halpradio/pkg/radio/history.go:30:				ParseArtistAndTitle			100.0%
github.com/halpworld/halpradio/pkg/radio/history.go:69:				FullDisplay				46.2%
github.com/halpworld/halpradio/pkg/radio/history.go:89:				FormatBookmarkLine			100.0%
github.com/halpworld/halpradio/pkg/radio/history.go:95:				AddIdentifiedHistory			0.0%
github.com/halpworld/halpradio/pkg/radio/history.go:146:			AddHistory				100.0%
github.com/halpworld/halpradio/pkg/radio/history.go:184:			GetHistory				100.0%
github.com/halpworld/halpradio/pkg/radio/history.go:194:			ClearHistory				100.0%
github.com/halpworld/halpradio/pkg/radio/history.go:201:			SaveTrackBookmark			88.9%
github.com/halpworld/halpradio/pkg/radio/history.go:217:			GetBookmarkedTracks			76.9%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:48:			NewRadioBrowserClient			100.0%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:70:			ParseSearchQuery			96.4%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:160:			SearchSmart				70.0%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:187:			SearchByCountry				66.7%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:200:			SearchByLocation			66.7%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:214:			SearchWithParams			81.2%
github.com/halpworld/halpradio/pkg/radio/radiobrowser.go:355:			Search					100.0%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:54:			SanitizeTrackTitle			86.7%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:225:			IsDirtyOrGeneric			100.0%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:230:			stripAdSegments				91.7%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:250:			isPureSlogan				100.0%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:269:			isStationSelfReference			90.9%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:290:			isPureNoiseOrURL			100.0%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:304:			cleanCompositeNoise			100.0%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:319:			stripPunctuation			100.0%
github.com/halpworld/halpradio/pkg/radio/sanitizer.go:341:			ValidateCandidateWithMusicBrainz	0.0%
github.com/halpworld/halpradio/pkg/radio/somafm.go:27:				NewSomaFMClient				0.0%
github.com/halpworld/halpradio/pkg/radio/somafm.go:36:				FetchChannels				0.0%
github.com/halpworld/halpradio/pkg/radio/station.go:67:				CountryNameToCode			23.1%
github.com/halpworld/halpradio/pkg/radio/station.go:144:			CountryFlagForCode			100.0%
github.com/halpworld/halpradio/pkg/radio/station.go:157:			CountryFlag				100.0%
github.com/halpworld/halpradio/pkg/radio/station.go:161:			CountryName				50.0%
github.com/halpworld/halpradio/pkg/radio/station.go:172:			LocationString				50.0%
github.com/halpworld/halpradio/pkg/radio/station.go:185:			IsTerrestrial				100.0%
github.com/halpworld/halpradio/pkg/radio/station.go:195:			BroadcastType				46.7%
github.com/halpworld/halpradio/pkg/radio/station.go:220:			BroadcastBadge				41.7%
github.com/halpworld/halpradio/pkg/radio/station.go:244:			ShortBroadcastBadge			57.1%
github.com/halpworld/halpradio/pkg/radio/station.go:261:			DisplayLocationAndBand			80.0%
github.com/halpworld/halpradio/pkg/radio/station.go:271:			ToYAMLSnippet				88.9%
github.com/halpworld/halpradio/pkg/radio/store.go:25:				NewStore				100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:37:				Load					60.0%
github.com/halpworld/halpradio/pkg/radio/store.go:88:				ReloadBundledFromCache			85.7%
github.com/halpworld/halpradio/pkg/radio/store.go:112:				LoadSomaFM				0.0%
github.com/halpworld/halpradio/pkg/radio/store.go:125:				syncFavoritesLocked			63.6%
github.com/halpworld/halpradio/pkg/radio/store.go:143:				SyncFavorites				100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:149:				SaveFavorites				83.3%
github.com/halpworld/halpradio/pkg/radio/store.go:159:				SaveLocalStations			85.7%
github.com/halpworld/halpradio/pkg/radio/store.go:170:				AddOrUpdateLocalStation			100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:192:				DeleteLocalStation			100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:203:				ToggleFavorite				100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:220:				GetAllStations				68.4%
github.com/halpworld/halpradio/pkg/radio/store.go:252:				FindStationByID				0.0%
github.com/halpworld/halpradio/pkg/radio/store.go:265:				GetFavorites				83.3%
github.com/halpworld/halpradio/pkg/radio/store.go:276:				GetCategories				100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:304:				GetCountries				94.7%
github.com/halpworld/halpradio/pkg/radio/store.go:342:				GetCities				100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:366:				Filter					100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:370:				FilterWithActivity			100.0%
github.com/halpworld/halpradio/pkg/radio/store.go:374:				FilterWithLocation			89.2%
github.com/halpworld/halpradio/pkg/theme/registry.go:49:			ToTheme					100.0%
github.com/halpworld/halpradio/pkg/theme/registry.go:86:			NewRegistryClient			100.0%
github.com/halpworld/halpradio/pkg/theme/registry.go:100:			FetchRegistry				62.5%
github.com/halpworld/halpradio/pkg/theme/registry.go:145:			sanitizeRegistryThemes			94.1%
github.com/halpworld/halpradio/pkg/theme/registry.go:168:			DownloadAndInstall			46.2%
github.com/halpworld/halpradio/pkg/theme/registry.go:235:			Uninstall				81.8%
github.com/halpworld/halpradio/pkg/theme/registry.go:255:			fallbackRegistry			100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:175:				copyBuiltins				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:184:				ResetCustomThemes			100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:192:				RegisterTheme				82.4%
github.com/halpworld/halpradio/pkg/theme/theme.go:221:				UnregisterTheme				88.9%
github.com/halpworld/halpradio/pkg/theme/theme.go:238:				GetTheme				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:270:				GetAllThemes				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:294:				GetThemeIDs				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:312:				LoadCustomThemes			80.5%
github.com/halpworld/halpradio/pkg/theme/theme.go:385:				EnsureExampleTheme			83.3%
github.com/halpworld/halpradio/pkg/theme/theme.go:399:				ExportActiveTheme			63.6%
github.com/halpworld/halpradio/pkg/theme/theme.go:421:				ExportTheme				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:427:				FormatThemeYAML				90.9%
github.com/halpworld/halpradio/pkg/theme/theme.go:483:				SampleThemeYAML				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:513:				normalizeID				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:519:				prettifyName				0.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:531:				isValidColor				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:558:				sanitizeColor				100.0%
github.com/halpworld/halpradio/pkg/theme/theme.go:566:				sanitizeString				87.5%
github.com/halpworld/halpradio/pkg/theme/theme.go:581:				sanitizeThemeTokens			90.3%
github.com/halpworld/halpradio/pkg/timer/notify.go:24:				SetBellWriterForTesting			100.0%
github.com/halpworld/halpradio/pkg/timer/notify.go:39:				SetNotificationRunnerForTesting		100.0%
github.com/halpworld/halpradio/pkg/timer/notify.go:54:				SetHookRunnerForTesting			0.0%
github.com/halpworld/halpradio/pkg/timer/notify.go:68:				DispatchEvent				64.3%
github.com/halpworld/halpradio/pkg/timer/notify.go:95:				RingTerminalBell			100.0%
github.com/halpworld/halpradio/pkg/timer/notify.go:105:				defaultDesktopNotification		0.0%
github.com/halpworld/halpradio/pkg/timer/notify.go:131:				defaultCommandHookRunner		90.9%
github.com/halpworld/halpradio/pkg/timer/notify.go:161:				runCommandHook				100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:79:				DefaultPomodoroConfig			100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:105:				DefaultSleepConfig			100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:130:				NewTimer				100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:142:				StartSleep				75.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:179:				StartPomodoro				78.9%
github.com/halpworld/halpradio/pkg/timer/timer.go:218:				Pause					75.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:232:				Resume					75.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:246:				TogglePause				80.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:255:				Stop					100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:274:				ResetCurrentInterval			27.3%
github.com/halpworld/halpradio/pkg/timer/timer.go:293:				AddMinutes				100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:309:				SkipPhase				75.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:318:				advancePomodoroPhase			90.6%
github.com/halpworld/halpradio/pkg/timer/timer.go:438:				Tick					95.5%
github.com/halpworld/halpradio/pkg/timer/timer.go:489:				BadgeText				82.4%
github.com/halpworld/halpradio/pkg/timer/timer.go:526:				WindowTitleBadge			91.7%
github.com/halpworld/halpradio/pkg/timer/timer.go:551:				FormattedTime				100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:556:				Progress				72.7%
github.com/halpworld/halpradio/pkg/timer/timer.go:575:				PhaseDescription			100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:595:				IsActive				100.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:599:				timerTypeName				50.0%
github.com/halpworld/halpradio/pkg/timer/timer.go:611:				FormatDuration				100.0%
github.com/halpworld/halpradio/pkg/ui/components/art.go:26:			RenderAlbumArtModal			97.8%
github.com/halpworld/halpradio/pkg/ui/components/globe/globe.go:25:		NewBrailleCanvas			75.0%
github.com/halpworld/halpradio/pkg/ui/components/globe/globe.go:48:		SetDot					100.0%
github.com/halpworld/halpradio/pkg/ui/components/globe/globe.go:88:		MarkHotspot				90.0%
github.com/halpworld/halpradio/pkg/ui/components/globe/globe.go:105:		RenderGlobeView				92.8%
github.com/halpworld/halpradio/pkg/ui/components/globe/globe.go:415:		latDirection				100.0%
github.com/halpworld/halpradio/pkg/ui/components/globe/globe.go:422:		lonDirection				100.0%
github.com/halpworld/halpradio/pkg/ui/components/globe/mapdata.go:24:		init					100.0%
github.com/halpworld/halpradio/pkg/ui/components/globe/mapdata.go:28:		initWorldBitmap				57.1%
github.com/halpworld/halpradio/pkg/ui/components/globe/mapdata.go:52:		IsLand					63.6%
github.com/halpworld/halpradio/pkg/ui/components/header.go:12:			RenderHeader				91.7%
github.com/halpworld/halpradio/pkg/ui/components/history.go:13:			RenderHistoryList			90.6%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:43:			RenderLyricsDrawer			90.0%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:99:			renderLyricsBody			88.3%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:223:			lyricGauge				66.7%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:243:			lyricsFooter				100.0%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:277:			signedSeconds				75.0%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:287:			wrapSheet				75.0%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:313:			firstRowFor				62.5%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:329:			wrapPlain				87.0%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:367:			splitAtWidth				71.4%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:383:			centerLine				80.0%
github.com/halpworld/halpradio/pkg/ui/components/lyrics.go:392:			absInt					100.0%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:15:			RenderPRExportModal			81.2%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:72:			RenderThemePickerModal			79.6%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:385:			renderThemePreviewCard			75.0%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:487:			RenderAddStationModal			91.2%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:586:			RenderTimerModal			92.6%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:866:			RenderPluginManagerModal		77.5%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:1066:		RenderPermissionApprovalModal		84.2%
github.com/halpworld/halpradio/pkg/ui/components/modals.go:1129:		RenderPartyManagerModal			0.0%
github.com/halpworld/halpradio/pkg/ui/components/partybar.go:17:		RenderPartyBar				81.7%
github.com/halpworld/halpradio/pkg/ui/components/playerbar.go:14:		RenderPlayerBar				88.5%
github.com/halpworld/halpradio/pkg/ui/components/sidebar.go:11:			RenderSidebar				81.5%
github.com/halpworld/halpradio/pkg/ui/components/stationlist.go:12:		RenderStationList			87.3%
github.com/halpworld/halpradio/pkg/ui/components/stationlist.go:221:		padRight				85.7%
github.com/halpworld/halpradio/pkg/ui/components/stationlist.go:233:		truncate				66.7%
github.com/halpworld/halpradio/pkg/ui/components/statusbar.go:10:		RenderStatusBar				85.7%
github.com/halpworld/halpradio/pkg/ui/components/tuner/tuner.go:55:		NextBand				100.0%
github.com/halpworld/halpradio/pkg/ui/components/tuner/tuner.go:67:		CalculateSignalRSSI			94.1%
github.com/halpworld/halpradio/pkg/ui/components/tuner/tuner.go:97:		FindNearestStation			100.0%
github.com/halpworld/halpradio/pkg/ui/components/tuner/tuner.go:116:		FormatSMeter				59.1%
github.com/halpworld/halpradio/pkg/ui/components/tuner/tuner.go:145:		RenderAnalogTunerView			85.9%
github.com/halpworld/halpradio/pkg/ui/components/tuner/tuner.go:502:		generateStaticPattern			100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:38:		normalizeMode				88.9%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:59:		NewVisualizer				100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:66:		Tick					100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:95:		CycleMode				71.4%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:107:		Render					100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:131:		renderStopped				81.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:177:		getAnimalPoses				100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:217:		renderAnimalDJ				96.9%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:327:		ensureBins				83.3%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:338:		updateBarPhysics			100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:391:		renderBars				88.6%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:445:		renderWave				88.9%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:503:		renderSpectrum				95.2%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:541:		renderMinimal				93.3%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:566:		clamp					66.7%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:573:		clampFloat				100.0%
github.com/halpworld/halpradio/pkg/ui/components/visualizer.go:583:		clampRange				60.0%
github.com/halpworld/halpradio/pkg/ui/components/whichkey.go:11:		RenderWhichKeyOverlay			84.0%
github.com/halpworld/halpradio/pkg/ui/components/whichkey.go:192:		PlaceOverlay				100.0%
github.com/halpworld/halpradio/pkg/ui/keymap.go:62:				DefaultKeyMap				100.0%
github.com/halpworld/halpradio/pkg/ui/model.go:258:				NewModel				95.5%
github.com/halpworld/halpradio/pkg/ui/model.go:354:				SwitchTab				87.5%
github.com/halpworld/halpradio/pkg/ui/model.go:378:				RefreshStations				90.6%
github.com/halpworld/halpradio/pkg/ui/model.go:439:				WindowTitle				81.5%
github.com/halpworld/halpradio/pkg/ui/model.go:483:				Init					100.0%
github.com/halpworld/halpradio/pkg/ui/model.go:494:				checkCatalogUpdateCmd			16.7%
github.com/halpworld/halpradio/pkg/ui/model.go:509:				tickCmd					50.0%
github.com/halpworld/halpradio/pkg/ui/model.go:516:				SetDesktop				100.0%
github.com/halpworld/halpradio/pkg/ui/model.go:521:				SetPluginManager			100.0%
github.com/halpworld/halpradio/pkg/ui/model.go:526:				SetMsgSender				0.0%
github.com/halpworld/halpradio/pkg/ui/model.go:531:				SetPartySession				0.0%
github.com/halpworld/halpradio/pkg/ui/model.go:539:				SetupPartyHandlers			42.9%
github.com/halpworld/halpradio/pkg/ui/model.go:573:				openPartyModal				90.9%
github.com/halpworld/halpradio/pkg/ui/model.go:590:				SyncDesktop				76.9%
github.com/halpworld/halpradio/pkg/ui/model.go:658:				PlayNextStation				100.0%
github.com/halpworld/halpradio/pkg/ui/model.go:679:				PlayPrevStation				100.0%
github.com/halpworld/halpradio/pkg/ui/model.go:700:				TogglePlayPause				55.6%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:39:				nowPlayingTrack				50.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:50:				nowPlayingParts				54.5%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:71:				lyricElapsed				100.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:87:				nowPlayingSignature			77.8%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:103:			coverSourceLabel			66.7%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:112:			resetNowPlaying				100.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:129:			syncNowPlaying				25.9%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:172:			fetchLyricsCmd				0.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:198:			fetchCoverCmd				0.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:228:			LyricsDrawerWidth			87.5%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:256:			lyricsSurface				87.5%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:272:			artTarget				84.4%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:331:			drawerArtBudget				100.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:341:			cellRowsFor				75.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:350:			cellColsFor				75.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:361:			renderArt				73.3%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:388:			dropArt					100.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:398:			ArtClearSequence			100.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:407:			toggleLyricsDrawer			94.4%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:435:			toggleArtModal				76.9%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:456:			scrollLyrics				70.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:475:			nudgeLyricsSync				100.0%
github.com/halpworld/halpradio/pkg/ui/nowplaying.go:485:			formatOffset				100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:33:				describeUpdateMsg			100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:48:				Update					49.1%
github.com/halpworld/halpradio/pkg/ui/update.go:1757:				openTimerModal				100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:1775:				applyTheme				100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:1784:				getFilteredRegistryThemes		100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:1800:				fetchThemeRegistryCmd			10.0%
github.com/halpworld/halpradio/pkg/ui/update.go:1824:				installThemeCmd				10.0%
github.com/halpworld/halpradio/pkg/ui/update.go:1842:				deleteThemeCmd				0.0%
github.com/halpworld/halpradio/pkg/ui/update.go:1854:				handleThemePickerKey			48.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2143:				handleTimerEvent			44.4%
github.com/halpworld/halpradio/pkg/ui/update.go:2188:				tuneToStationByID			100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2198:				handleTimerModalKey			31.8%
github.com/halpworld/halpradio/pkg/ui/update.go:2406:				startPomodoroFromMenu			100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2413:				startSleepFromMenu			100.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2427:				handleAddModalKey			66.7%
github.com/halpworld/halpradio/pkg/ui/update.go:2494:				searchRadioBrowserCmd			0.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2501:				handlePermissionApprovalKey		75.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2521:				handlePluginModalKey			25.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2636:				fetchRegistryCmd			11.1%
github.com/halpworld/halpradio/pkg/ui/update.go:2651:				installPluginCmd			0.0%
github.com/halpworld/halpradio/pkg/ui/update.go:2663:				cycleGlobeStation			81.8%
github.com/halpworld/halpradio/pkg/ui/update.go:2682:				seekTunerStation			84.8%
github.com/halpworld/halpradio/pkg/ui/update.go:2729:				onTunerFreqChanged			84.6%
github.com/halpworld/halpradio/pkg/ui/update.go:2773:				identifyTrackCmd			56.2%
github.com/halpworld/halpradio/pkg/ui/update.go:2802:				handlePartyChatKey			61.5%
github.com/halpworld/halpradio/pkg/ui/update.go:2826:				handlePartyModalKey			34.3%
github.com/halpworld/halpradio/pkg/ui/view.go:14:				View					81.4%
github.com/halpworld/halpradio/pkg/util/browser.go:20:				defaultURLOpener			0.0%
github.com/halpworld/halpradio/pkg/util/browser.go:37:				SetURLOpenerForTesting			100.0%
github.com/halpworld/halpradio/pkg/util/browser.go:51:				IsValidHTTPURL				100.0%
github.com/halpworld/halpradio/pkg/util/browser.go:64:				BuildSearchURL				100.0%
github.com/halpworld/halpradio/pkg/util/browser.go:86:				OpenURL					87.5%
github.com/halpworld/halpradio/pkg/util/clipboard.go:19:			SetClipboardWriterForTesting		100.0%
github.com/halpworld/halpradio/pkg/util/clipboard.go:33:			CopyToClipboard				83.3%
github.com/halpworld/halpradio/pkg/util/config.go:54:				DefaultConfig				100.0%
github.com/halpworld/halpradio/pkg/util/config.go:100:				GetConfigDir				42.9%
github.com/halpworld/halpradio/pkg/util/config.go:113:				EnsureConfigDir				75.0%
github.com/halpworld/halpradio/pkg/util/config.go:121:				GetThemesDir				100.0%
github.com/halpworld/halpradio/pkg/util/config.go:125:				GetLocalStationsFile			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:129:				GetCatalogCacheFile			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:133:				GetCatalogMetadataFile			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:137:				GetFavoritesFile			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:141:				GetSavedTracksFile			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:147:				GetDebugLogFile				0.0%
github.com/halpworld/halpradio/pkg/util/config.go:151:				GetConfigFile				100.0%
github.com/halpworld/halpradio/pkg/util/config.go:158:				GetCacheDir				0.0%
github.com/halpworld/halpradio/pkg/util/config.go:171:				GetLyricsCacheDir			0.0%
github.com/halpworld/halpradio/pkg/util/config.go:176:				GetAlbumArtCacheDir			0.0%
github.com/halpworld/halpradio/pkg/util/config.go:182:				EnsureCacheDir				0.0%
github.com/halpworld/halpradio/pkg/util/config.go:189:				GetPluginsDir				100.0%
github.com/halpworld/halpradio/pkg/util/config.go:193:				GetPluginsDataDir			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:197:				GetPluginsConfigFile			100.0%
github.com/halpworld/halpradio/pkg/util/config.go:202:				LoadConfig				90.9%
github.com/halpworld/halpradio/pkg/util/config.go:242:				SaveConfig				66.7%
total:										(statements)				70.5%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants