Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
7cd50ce
Issue #2907: Process metadata sent along with chats of type IM_NOTHIN…
Rider-Linden Oct 21, 2024
a097f88
Issue #2907: Code review comments.
Rider-Linden Oct 23, 2024
48ccb0f
Issue #2907: When passing the injected notification message into addM…
Rider-Linden Oct 25, 2024
942527d
**fix: Correctly update shadows on RenderShadowResolutionScale change**
williamweaver Mar 11, 2025
76db64e
Fixes: Add guard to prevent shadow texture resize with invalid mRT di…
williamweaver Mar 12, 2025
423df2b
prevent erroneous edit of wrong parcel (#3759)
AndrewMeadows Mar 21, 2025
b86c36e
Merge remote-tracking branch 'remotes/origin/develop' into rider/bot_…
Rider-Linden Mar 25, 2025
e452084
Merge pull request #3625 from secondlife/rider/bot_tattle
Rider-Linden Mar 25, 2025
1e2d4d3
Added QA workflow file
AtlasLinden Mar 26, 2025
7d58d46
Merge pull request #3818 from secondlife/atlas-qaworkflow
Geenz Mar 26, 2025
51f5b85
Removed unnecessary comments in QA workflow file
AtlasLinden Mar 27, 2025
571e33c
Merge pull request #3821 from secondlife/atlas-qaworkflow
AtlasLinden Mar 27, 2025
e185772
Merge branch 'secondlife:develop' into fix/shadow-resolution-update
williamweaver Mar 27, 2025
0a39fe8
Allow QA workflow to run on Second_Life_X branches
AtlasLinden Mar 27, 2025
e1ebb33
fix(pipeline): Remove incorrect zeroing of mRT dimensions in createGL…
williamweaver Mar 28, 2025
c555d23
Merge pull request #3832 from secondlife/atlas-qaworkflow
AtlasLinden Mar 28, 2025
b9015dc
Merge branch 'develop' into fix/shadow-resolution-update
Geenz Mar 29, 2025
6110028
Merge pull request #3719 from williamweaver/fix/shadow-resolution-update
Geenz Mar 29, 2025
04af042
Fix(EnvAdjust): Ensure cloud texture selection updates the sky
williamweaver Apr 1, 2025
61ba4b0
Fix(XUI): Remove unrecognized user_resize attribute from sun_moon_tra…
williamweaver Apr 2, 2025
be595b4
Fix(XUI): Resolve parsing warnings for Fixed Environment editor widgets
williamweaver Apr 2, 2025
f0ad01c
Merge branch 'fix/xui-parsing-fixes' of https://github.com/williamwea…
williamweaver Apr 2, 2025
2bb4de9
Fix normal and specular repeats per meter scaling
Hecklezz Apr 2, 2025
b7dd677
Add discord channel for open source discussion.
Geenz Apr 3, 2025
01dc5ae
Merge pull request #3869 from secondlife/main
Geenz Apr 3, 2025
7c35a02
Merge branch 'secondlife:develop' into fix/cloud-texture-loading
williamweaver Apr 4, 2025
1fcabcd
Fix(EnvAdjust): Properly update sky after cloud texture selection
williamweaver Apr 4, 2025
be2e7e9
Merge pull request #3854 from williamweaver/fix/xui-parsing-fixes
Geenz Apr 4, 2025
cfbcdd7
Fix: Remove potentially redundant RenderAutoHideSurfaceAreaLimit sett…
williamweaver Apr 7, 2025
27fd726
#3846 Crash at updateGLTFMaterials
akleshchev Apr 1, 2025
b62aae7
#3849 Crash at LLSelectMgr::updatePointAt
akleshchev Apr 1, 2025
8f6bc55
#3868 Crash in updateHoveredState
akleshchev Apr 3, 2025
3d7de1b
#3870 Crash at LLVOAvatarSelf::getJoint()
akleshchev Apr 3, 2025
40acaaf
#3878 Crash at LLPipeline::unlinkDrawable
akleshchev Apr 4, 2025
a7a8d6c
#3627 std::bad_alloc when loading a model
akleshchev Apr 6, 2025
1df890d
#3627 std::bad_alloc in EventPoll
akleshchev Apr 7, 2025
75bf857
#3884 Crash in kdu_core::kdu_params::get
akleshchev Apr 7, 2025
417e0c6
#3745 fix for showing system notification on login #2
maxim-productengine Apr 8, 2025
9f12c98
Bump feature table version.
Geenz Apr 8, 2025
df1c018
Merge pull request #3891 from secondlife/geenz/25.03-feature-table-bump
Geenz Apr 8, 2025
632a864
#3892 Crash at fillCompositionLogfont
akleshchev Apr 8, 2025
42dc450
Merge pull request #3853 from williamweaver/fix/cloud-texture-loading
Geenz Apr 9, 2025
c07817c
Fix(Tonemap): Correct blend logic to preserve HDR detail
williamweaver Apr 10, 2025
cf2b4db
Merge pull request #3706 from secondlife/release/2025.03
Geenz Apr 15, 2025
d19d44c
Merge pull request #3911 from secondlife/main
Geenz Apr 15, 2025
822cc2a
Merge pull request #3896 from williamweaver/fix/tonemap-hdr-blend
Geenz Apr 15, 2025
293462d
Merge pull request #3883 from williamweaver/fix/remove-duplicate-rend…
Geenz Apr 15, 2025
d65de99
Use standard library functions for llisnan and replace obvious NaN ch…
Ansariel Apr 17, 2025
441c844
Fix lerp issues on newer GCC versions
Ansariel Apr 17, 2025
4c6afbb
Restore llmath improvements from archived develop branch:
Ansariel Apr 17, 2025
c7ebde4
Merge pull request #3927 from Ansariel/develop-math-improvements
marchcat Apr 17, 2025
922cc94
Remove obsolete cmake_minimum_required that is lower than the require…
Ansariel Apr 17, 2025
a7e84c9
Restore currently entered text in chat entry textbox after going thro…
Ansariel Sep 25, 2024
698a301
Remove orphaned LLPanelOutfitSnapshotInventory
Ansariel Sep 25, 2024
0c380eb
Fix upload cost calculation for snapshots to inventory based on encod…
Ansariel Sep 25, 2024
85cf1d7
Remove incorrectly calculated upload fee from snapshot options button…
Ansariel Sep 25, 2024
67d1838
Force snapshot update when opening a snapshot panel and the resolutio…
Ansariel Sep 25, 2024
9c3ce3d
Clean up LLUI and fix/add suggestions from VS (#2746)
Ansariel Oct 2, 2024
c73fbed
Merge pull request #3929 from Ansariel/develop-cmake-deprecation-warning
Geenz Apr 17, 2025
2fb0abb
Merge pull request #3930 from Ansariel/develop-chatentry-improvement
Geenz Apr 18, 2025
37bbc6f
Merge pull request #3932 from Ansariel/develop-snapshot-fixes
Geenz Apr 18, 2025
c0ecfce
Merge pull request #3933 from Ansariel/develop-llui-improvements
Geenz Apr 18, 2025
f029903
Fix '1:angle_between' test failure
marchcat Apr 17, 2025
8c5d144
Fix llhttpdate test on windows and macos (#3909)
marchcat Apr 14, 2025
4cccf8a
Restore missing 'override'
marchcat Apr 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 168 additions & 0 deletions .github/workflows/qatest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
name: Run QA Test # Runs automated tests on a self-hosted QA machine

on:
workflow_run:
workflows: ["Build"]
types:
- completed

concurrency:
group: qa-test-run
cancel-in-progress: true # Cancels any queued job when a new one starts

jobs:
debug-workflow:
runs-on: ubuntu-latest
steps:
- name: Debug Workflow Variables
run: |
echo "Workflow Conclusion: ${{ github.event.workflow_run.conclusion }}"
echo "Workflow Head Branch: ${{ github.event.workflow_run.head_branch }}"
echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
echo "Head Commit Message: ${{ github.event.workflow_run.head_commit.message }}"
echo "GitHub Ref: ${{ github.ref }}"
echo "GitHub Ref Name: ${{ github.ref_name }}"
echo "GitHub Event Name: ${{ github.event_name }}"
echo "GitHub Workflow Name: ${{ github.workflow }}"

install-viewer-and-run-tests:
runs-on: [self-hosted, qa-machine]
# Run test only on successful builds of Second_Life_X branches
if: >
github.event.workflow_run.conclusion == 'success' &&
(
startsWith(github.event.workflow_run.head_branch, 'Second_Life')
)

steps:
- name: Temporarily Allow PowerShell Scripts (Process Scope)
run: |
Set-ExecutionPolicy RemoteSigned -Scope Process -Force

- name: Verify viewer-sikulix-main Exists
run: |
if (-Not (Test-Path -Path 'C:\viewer-sikulix-main')) {
Write-Host '❌ Error: viewer-sikulix not found on runner!'
exit 1
}
Write-Host '✅ viewer-sikulix is already available.'

- name: Fetch & Download Windows Installer Artifact
shell: pwsh
run: |
$BUILD_ID = "${{ github.event.workflow_run.id }}"
$ARTIFACTS_URL = "https://api.github.com/repos/secondlife/viewer/actions/runs/$BUILD_ID/artifacts"

# Fetch the correct artifact URL
$response = Invoke-RestMethod -Headers @{Authorization="token ${{ secrets.GITHUB_TOKEN }}" } -Uri $ARTIFACTS_URL
$ARTIFACT_NAME = ($response.artifacts | Where-Object { $_.name -eq "Windows-installer" }).archive_download_url

if (-Not $ARTIFACT_NAME) {
Write-Host "❌ Error: Windows-installer artifact not found!"
exit 1
}

Write-Host "✅ Artifact found: $ARTIFACT_NAME"

# Secure download path
$DownloadPath = "$env:TEMP\secondlife-build-$BUILD_ID"
New-Item -ItemType Directory -Path $DownloadPath -Force | Out-Null
$InstallerPath = "$DownloadPath\installer.zip"

# Download the ZIP
Invoke-WebRequest -Uri $ARTIFACT_NAME -Headers @{Authorization="token ${{ secrets.GITHUB_TOKEN }}"} -OutFile $InstallerPath

# Ensure download succeeded
if (-Not (Test-Path $InstallerPath)) {
Write-Host "❌ Error: Failed to download Windows-installer.zip"
exit 1
}

- name: Extract Installer & Locate Executable
shell: pwsh
run: |
# Explicitly set BUILD_ID again (since it does not appear to persist across steps)
$BUILD_ID = "${{ github.event.workflow_run.id }}"
$ExtractPath = "$env:TEMP\secondlife-build-$BUILD_ID"
$InstallerZip = "$ExtractPath\installer.zip"

# Print paths for debugging
Write-Host "Extract Path: $ExtractPath"
Write-Host "Installer ZIP Path: $InstallerZip"

# Verify ZIP exists before extracting
if (-Not (Test-Path $InstallerZip)) {
Write-Host "❌ Error: ZIP file not found at $InstallerZip!"
exit 1
}

Write-Host "✅ ZIP file exists and is valid. Extracting..."

Expand-Archive -Path $InstallerZip -DestinationPath $ExtractPath -Force

# Find installer executable
$INSTALLER_PATH = (Get-ChildItem -Path $ExtractPath -Filter '*.exe' -Recurse | Select-Object -First 1).FullName

if (-Not $INSTALLER_PATH -or $INSTALLER_PATH -eq "") {
Write-Host "❌ Error: No installer executable found in the extracted files!"
Write-Host "📂 Extracted Files:"
Get-ChildItem -Path $ExtractPath -Recurse | Format-Table -AutoSize
exit 1
}

Write-Host "✅ Installer found: $INSTALLER_PATH"
echo "INSTALLER_PATH=$INSTALLER_PATH" | Out-File -FilePath $env:GITHUB_ENV -Append

- name: Install Second Life Using Task Scheduler (Bypass UAC)
shell: pwsh
run: |
$action = New-ScheduledTaskAction -Execute "${{ env.INSTALLER_PATH }}" -Argument "/S"
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
$task = New-ScheduledTask -Action $action -Principal $principal
Register-ScheduledTask -TaskName "SilentSLInstaller" -InputObject $task -Force
Start-ScheduledTask -TaskName "SilentSLInstaller"

- name: Wait for Installation to Complete
shell: pwsh
run: |
Write-Host "Waiting for the Second Life installer to finish..."
do {
Start-Sleep -Seconds 5
$installerProcess = Get-Process | Where-Object { $_.Path -eq "${{ env.INSTALLER_PATH }}" }
} while ($installerProcess)

Write-Host "✅ Installation completed!"

- name: Cleanup Task Scheduler Entry
shell: pwsh
run: |
Unregister-ScheduledTask -TaskName "SilentSLInstaller" -Confirm:$false
Write-Host "✅ Task Scheduler entry removed."

- name: Delete Installer ZIP
shell: pwsh
run: |
# Explicitly set BUILD_ID again
$BUILD_ID = "${{ github.event.workflow_run.id }}"
$DeletePath = "$env:TEMP\secondlife-build-$BUILD_ID\installer.zip"

Write-Host "Checking if installer ZIP exists: $DeletePath"

# Ensure the ZIP file exists before trying to delete it
if (Test-Path $DeletePath) {
Remove-Item -Path $DeletePath -Force
Write-Host "✅ Successfully deleted: $DeletePath"
} else {
Write-Host "⚠️ Warning: ZIP file does not exist, skipping deletion."
}

- name: Run QA Test Script
run: |
Write-Host "Running QA Test script..."
python C:\viewer-sikulix-main\runTests.py

# - name: Upload Test Results
# uses: actions/upload-artifact@v3
# with:
# name: test-results
# path: C:\viewer-sikulix-main\regressionTest\test_results.html
3 changes: 2 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ developer-to-developer or support.
- [Official forums][] exist for many topics including content creation,
scripting, social topics and more.
- The [opensource-dev mailing list][] is useful for announcements and
discussion between viewer maintainers.
discussion between viewer maintainers.
- Our [discord channel](https://discord.com/channels/677442248157167619/1357059883400167585) is available for real-time discussion.


## Reporting bugs and requesting features
Expand Down
6 changes: 0 additions & 6 deletions indra/doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
# -*- cmake -*-

# cmake_minimum_required should appear before any
# other commands to guarantee full compatibility
# with the version specified
## prior to 2.8, the add_custom_target commands used in setting the version did not work correctly
cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR)

set(ROOT_PROJECT_NAME "SecondLife" CACHE STRING
"The root project/makefile/solution name. Defaults to SecondLife.")
project(${ROOT_PROJECT_NAME})
Expand Down
8 changes: 4 additions & 4 deletions indra/llappearance/llpolymorph.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -550,12 +550,12 @@ void LLPolyMorphTarget::apply( ESex avatar_sex )

mLastSex = avatar_sex;

// Check for NaN condition (NaN is detected if a variable doesn't equal itself.
if (mCurWeight != mCurWeight)
// Check for NaN condition
if (llisnan(mCurWeight))
{
mCurWeight = 0.0;
mCurWeight = 0.f;
}
if (mLastWeight != mLastWeight)
if (llisnan(mLastWeight))
{
mLastWeight = mCurWeight+.001f;
}
Expand Down
Loading
Loading