Rye/linden264 - #372
Merged
Merged
Conversation
Velopack's uninstall can't be canceled, so instead it now checks for presense of a running window, makes sure window matches velopack's path, then sends a shutdown message. Window gets the message, verifies path, initiates shutdown.
This reverts commit d60b28e.
* #5690 fix viewer trying to fetch group chat history for p2p IM * #5690 cache "FetchGroupChatHistory" setting
secondlife/viewer#5702: Ensure non-visible preloaded media has PRIORITY_HIDDEN
Might be better to throw a 'missing files' error here, but we normally continue in such cases, so I'm just logging the incident.
I'm not sure if viewer should actually be shutting down on this, but as a minimum we should be updating or clearing marker files. If viewer crashes because of a hibernation, it isn't our problem. Viewer isn't built for that and we can't maintain 'heartbeats' in hibernation.
We can't be absolutely certain about the source in this case, but at least try to distinguish termination caused by task manager from 'unknowns'.
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 8. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v4...v8) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [BugSplat-Git/symbol-upload](https://github.com/bugsplat-git/symbol-upload) from 10.3.0 to 10.3.2. - [Release notes](https://github.com/bugsplat-git/symbol-upload/releases) - [Commits](BugSplat-Git/symbol-upload@2a0d2b8...33f604b) --- updated-dependencies: - dependency-name: BugSplat-Git/symbol-upload dependency-version: 10.3.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@v8...v9) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
LLSD are thread unsafe, don't pass them across threads.
Attempt to catch an inventory and name cache shutdown crash that we see in bugsplat.
235 upstream commits. Most of the work was deciding which side of a
conflict owned each behaviour, and finding the places where upstream's
code merged cleanly onto APIs this viewer no longer has.
Ported rather than taken, because the backend they target is gone here:
- OS hibernation prevention grows an SDL backend. Upstream ships one
file per platform; only the Windows one survives here, so the macOS
and Linux halves move into LLAppViewerSDL as an IOPMAssertion and a
logind Inhibit fd, with SDL3 owning the screen-saver half on both.
- Following the OS default audio device is gated on the output device
preference being empty. Upstream has no such preference, so their
version would drag a user off a device they had pinned.
- Tabular figures ask HarfBuzz for the 'tnum' feature instead of
measuring the widest digit: glyph entries here are keyed by glyph
index and cannot carry the character upstream's version needs.
- The LLSD formatter keeps its buffered Sink and gains upstream's
failure handling, minus the stream exception mask -- Sink flushes
from its destructor, so an enabled mask would throw from one.
Kept from upstream even where the mechanism differed: the JSON body for
Azure translation (URL escaping was mangling the text) now goes through
LlsdToJson; the colour picker keeps its own copy menu but takes their
hex parser, which accepts a leading '#'; scaleDown's macOS flush moves
to where this tree actually retires the old texture.
LLProcess drops APR for boost::process v2, so vcpkg gains boost-process.
Upstream's licenses-*.txt update is corrupt in their tree -- diff
artifacts pasted in and the DejaVu block truncated -- so only the
WebRTC block comes across. Their top-level Voice preferences tab and
the colour picker's format combo are both dropped: the equivalent
controls already exist here, in the Sound panel and the right-click
menu respectively.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Memory safety first. LLProcess' new async_write handed asio a raw pointer
into a live streambuf and held it for the whole operation; appending
through get_ostream() meanwhile calls overflow() -> reserve(), which
memmoves the pending bytes to offset 0 and can reallocate. The size
snapshot the comment relied on fixes the length, not the address, and
LLLeap answers stdout on stdin from inside the same poll_one() loop. The
write now owns its buffer.
Two regressions where taking upstream's file wholesale reverted work
this tree had already done:
- bufferInboundPacket returned 0 for a runt SOCKS datagram, which
ends drainUdpSocket's loop and leaves the rest of the kernel buffer
unread; the under-reported count then defeats the adaptive
CheckMessagesMaxTime backpressure. The socket-read size and the
usable-payload size are now separate, because the function also
gates the ACK harvest.
- Windows crash exits were classified EXITED, losing the
STATUS_ACCESS_VIOLATION test that told a crash from a return code.
Defects in the ports themselves:
- The SDL backend must not touch SDL_{Disable,Enable}ScreenSaver.
That flag is one absolute global which llwindowsdl already drives
from window focus, so both hibernation modes did the opposite of
what they promise after the first alt-tab, and DEFAULT could never
restore SDL's own initial state.
- A logind "sleep" inhibitor taken as "block" refuses every suspend,
including closing the lid. Windows asks for ES_SYSTEM_REQUIRED and
macOS for NoIdleSleep, which stop only the idle timer; "idle" is
the logind equivalent. The system bus connection is also unref'd
now, and no longer able to _exit() the viewer if it drops.
- The OpenAL default-device event fires for capture devices too, so
changing the default microphone reopened the output device.
- LLFontFreetype::wghtAxisSet returned the requested axis flag rather
than the one the face applied, which is what its comment promised.
- A synthetic packet injected by the message log carries no real
sequence number, so it must not advance the circuit's inbound state.
Two things that only looked like hardening. The macOS flush in
scaleDown preceded no GL call at all -- free_tex_image is CPU
accounting and deleteTextures defers by frames -- and this tree never
respecifies the source texture, so upstream's hazard cannot arise here.
The null glyph-slot guard returned early from renderGlyph while its
caller dereferenced the slot regardless.
Also: the alpha classifier counted samples it no longer takes, so an
odd-dimensioned texture could never reach the "all clumped at one end
of the range" escapes and a uniformly faint decal was treated as a
1-bit mask; the zerocode overflow guards no longer underflow on a
destination under 256 bytes, and its test now asserts the partial
output is discarded rather than merely bounded, which is what actually
distinguishes the fix; macOS gets the local-network usage description
WebRTC voice needs, which had nowhere to land because our plist is
renamed; and the PBR repeats/rotation spinners line up with their
Blinn-Phong equivalents again.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
26.4 added getStartupLogFileName() so a custom log file is used from the first line, but it reads the command line two ways that only work on Windows: gSavedSettings, which has no controls yet because this runs from LLAppViewer's constructor, and GetCommandLineW. macOS and Linux parse --logfile into UserLogFile and then ignore it, because the listener that would act on the value is registered after the value is set and so never fires. The entry point already has argv before it constructs the viewer, so it hands it over and the scan is shared by all platforms. Windows keeps asking the OS when that yields nothing, since its native entry point receives a command tail rather than argv. The option spellings the old Windows-only scan accepted are preserved and now apply everywhere: "--logfile X", "--logfile=X", and the "-opt" and "/opt" variants, with ':' allowed alongside '='. Separately: Develop > Selected Material Info gives up Ctrl+Alt+Shift+M. 26.4's new Mute/unmute sound claims the same accelerator and wins on document order, so the shortcut on the older item had stopped working while its menu label still advertised it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
Important Review skippedToo many files! This PR contains 361 files, which is 261 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (361)
You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Description
Related Issues
Issue Link:
Checklist
Please ensure the following before requesting review:
Additional Notes