mirror of
https://github.com/Mudlet/Mudlet
synced 2026-08-13 18:26:27 -04:00
#### Brief overview of PR changes/additions - **Media**: a preload that has to fetch its file now keeps it without playing it (#9783 - the same guard covers GMCP `Client.Media.Load`, which preloads the same way), each `load*File()` stamps its own media type so a load can only reach players of its own kind (#9784), and the load/play errors name the function that was actually called instead of always `loadMusicFile`/`playSoundFile` (#9785). - **IRC**: `setIrcServer()` keeps a stored password it was not given - an empty string still clears it - and takes an explicit `nil` for any optional argument the way an omitted one is taken (#9786, #9787); `getIrcConnectedHost()` returns the documented `true, host` pair instead of dropping the boolean (#9788); `setIrcChannels()` drops a name carrying whitespace or a comma rather than storing one channel that reads back as two (#9789). - Specs for six of the seven ship with them; the fixture server answers a GET below `/media` for a `.wav` with generated silence, so a preload spec has a real file to fetch. `getIrcConnectedHost()`'s success path needs a client connected far enough for the server's `RPL_YOURHOST`, which this suite deliberately never opens, so that one was checked with temporary instrumentation (before: 1 value, the host name; after: `true` plus the host name) rather than left to a spec that could not reach it. #### Motivation for adding to Mudlet All seven were found while writing the IRC and media specs in #9772 and filed from there. The two with teeth: a preload occupies a player and reports itself as playing, and a script that adjusts the IRC server destroys the saved password as a side effect. #### Other info (issues closed, discussion etc) Keeping an unmentioned password means it now survives a change of server too, which the spec pins; `setConfig("ircPassword", "")` and the empty string both clear it. No `mmcp*` code or Networking_spec MMCP region is touched, so #9744 stays clear. **Test case:** `lua loadSoundFile({name = "x.wav", url = "http://127.0.0.1:PORT"})` - after `sysDownloadDone` the file is in the profile's media directory and `getPlayingSounds()` is empty, while `playSoundFile()` with the same url still plays. Closes #9783 Closes #9784 Closes #9785 Closes #9786 Closes #9787 Closes #9788 Closes #9789 Assisted-by: Claude:claude-opus-5 |
||
|---|---|---|
| .. | ||
| http-fixtures | ||
| after_success.sh | ||
| assemble-release-checksums.sh | ||
| before_install.sh | ||
| build-mudlet-for-windows.sh | ||
| check-mpackage-sync.lua | ||
| check-release-tag.sh | ||
| deploy-mudlet-for-windows.sh | ||
| discord-ipc-fixture.py | ||
| generate-changelog.lua | ||
| http-fixture-server.py | ||
| install.sh | ||
| linux.after_success.sh | ||
| linux.install.sh | ||
| lua-5.1.5-so.patch | ||
| mmcp-peer.py | ||
| org.mudlet.mudlet.yml | ||
| osx.after_success.sh | ||
| osx.before_install.sh | ||
| osx.install.sh | ||
| package-mudlet-for-windows.sh | ||
| prepare-release-assets.sh | ||
| register-windows-release.sh | ||
| send_debug_files_to_sentry.sh | ||
| set-build-info.sh | ||
| setup-windows-sdk.sh | ||
| update-autocompletion.lua | ||
| validate-deployment-for-windows.sh | ||
| validate_deployment.sh | ||
| verify-release-checksums.sh | ||