Skip to content

Release/2025.05 #3913

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 241 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 234 commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
7947ce3
triage#162 "Away" status is removed even by a random hover
akleshchev Apr 8, 2024
a902138
triage#166 Select 'No Description' when clicking on a text field
akleshchev Apr 9, 2024
0acee93
Merge branch 'main' into marchcat/c-merge
marchcat Apr 10, 2024
5af93ff
Merge pull request #1177 from secondlife/marchcat/c-merge
marchcat Apr 10, 2024
f4c41ec
triage#170 Fix 'Clear log' button having incorrect state
akleshchev Apr 10, 2024
4f2f328
triage#171 Sometimes conversation.log remains empty
akleshchev Apr 10, 2024
15908fd
viewer#1195 Real Life photo can be set to a bake texture
akleshchev Apr 12, 2024
aa67d6c
Remove BuildParams
bennettgoble Mar 31, 2024
6e761c0
Remove unused fix-incredibuild.py
bennettgoble Apr 11, 2024
e84107b
CI: Remove python-version from matrix
bennettgoble Apr 11, 2024
d378c72
CI: adopt xz compression
bennettgoble Apr 11, 2024
e6c8312
Merge branch 'main' into marchcat/c-merge
marchcat Apr 15, 2024
1ede307
Merge pull request #1237 from secondlife/marchcat/c-merge
marchcat Apr 15, 2024
d7614a8
viewer#1213 My Environments 'Apply' buttons enabled for folders
akleshchev Apr 15, 2024
be1f322
viewer#1215 My Environments' trash button is missing a notification
akleshchev Apr 15, 2024
495a402
Make it so that reset skeleton is a networked ViewerEffect
FelixWolf Apr 12, 2024
180a2aa
Remove animesh networked skeleton reset for now
FelixWolf Apr 16, 2024
7723da1
Cleaned up code a bit, fixed issue with referencing effectp instead o…
FelixWolf Apr 16, 2024
79b560d
Fix bad copypasting of code, hopefully for good this time
FelixWolf Apr 16, 2024
505ed20
viewer#1216 Library settings can be deleted via My Environments
akleshchev Apr 15, 2024
2194777
SL-18721 Window shutdown adjustments
akleshchev Apr 16, 2024
3758618
viewer#1260 Fix thumbnail preview being blury
akleshchev Apr 16, 2024
f660f1f
viewer#1260 Fix thumbnail preview not loading
akleshchev Apr 17, 2024
b1b2ae0
Revert "SL-20140 Setting shape hand size to 36 won't save"
marchcat Apr 15, 2024
195a6c5
Merge branch 'main' into marchcat/c-merge
marchcat Apr 24, 2024
e5b14e4
Merge pull request #1315 from secondlife/marchcat/c-merge
marchcat Apr 24, 2024
0d4f52b
secondlife/viewer#1200 Avatar rotates 360 degrees when viewed from th…
LLGuru Apr 15, 2024
0cceb13
viewer#1321 allow to set price before clicking the "For Sale" box
maxim-productengine Apr 25, 2024
a220acb
viewer#1300 Inventory favorites basic framework
akleshchev Apr 22, 2024
7e536f4
viewer#1300 Rename landmark favorites tab
akleshchev Apr 22, 2024
a0b0f20
viewer#1300 Update Gear Menu Items
akleshchev Apr 22, 2024
384d694
viewer#1300 Inventory favorites context menu
akleshchev Apr 23, 2024
cea6eee
viewer#1300 'Star' favorites in inventory
akleshchev Apr 25, 2024
a0c4d81
viewer#1300 'Star' favorites in inventory #2
akleshchev Apr 27, 2024
204b7ff
Add timestamp to snapshot file names
bennettgoble Apr 27, 2024
2add3b4
viewer#1300 'Star' favorites in inventory #3
akleshchev Apr 29, 2024
c05c066
Merge pull request #1344 from secondlife/signal/snapshot-time
bennettgoble Apr 29, 2024
1e7dc04
viewer#1300 'Star' favorites in inventory #4
akleshchev Apr 29, 2024
645811c
Viewer#1301 Implement Inventory Favorites Tab WIP
akleshchev May 1, 2024
2372944
secondlife/viewer#1359 Introduce enum ERezzedStatus
LLGuru Apr 30, 2024
fc5e532
Viewer#1301 Implement Inventory Favorites Tab WIP#2
akleshchev May 2, 2024
18f23d9
secondlife/viewer#1360 Avoid of using avatar full names
LLGuru Apr 30, 2024
faefd35
secondlife/viewer#1330 EmojiPicker inserts emoji to inactive chat flo…
LLGuru Apr 28, 2024
d738aa7
pviewer#235 slurl command should require at least click action
maxim-productengine May 2, 2024
bbadb8b
Viewer#1301 Small cleanup
akleshchev May 2, 2024
db3e5af
Viewer#1301 Implement Inventory Favorites Tab
akleshchev May 2, 2024
1c17038
viewer#1300 Update Inventory Settings
akleshchev May 3, 2024
26f7045
viewer#1195 Don't allow Bake textures as group images
akleshchev May 6, 2024
5c78396
viewer#1424 Favorites in Appearance floater #1
akleshchev May 8, 2024
a420e84
viewer#1424 Favorites in Appearance floater #2
akleshchev May 9, 2024
b6d195a
SL-20288 Fix renaming
akleshchev Mar 13, 2024
f8cc05a
viewer#1424 Colored Favorites in Appearance floater
akleshchev May 9, 2024
b9633c1
viewer#1424 Favorites in Appearance floater #3
akleshchev May 10, 2024
7d1597f
viewer#1424 Favorites in Appearance floater #4
akleshchev May 13, 2024
dcb85f9
Merge branch 'marchcat/w-whitespace' into release/maint-c
marchcat May 15, 2024
e592164
Merge branch 'main' into release/maint-c
marchcat May 15, 2024
ee05a06
Merge branch 'release/maint-x' into marchcat/x-c-merge
marchcat May 15, 2024
363b899
Mac build fix
marchcat May 15, 2024
4ddaeb3
Merge pull request #1477 from secondlife/marchcat/x-c-merge
marchcat May 15, 2024
1eeecfa
viewer#1425 Sorting in Appearance floater
akleshchev May 14, 2024
50b93bd
viewer#1424 Favorite support in galleries
akleshchev May 14, 2024
738cf84
viewer#1424 Favorite support for items in outfits
akleshchev May 9, 2024
2f600d8
secondlife/jira-archive-internal#71144 Mouselook no longer allows pit…
LLGuru May 16, 2024
dfdd84e
Update threejs to use the platform agnostic package
marchcat May 16, 2024
98f7d73
viewer#1424 Finish menus
akleshchev May 16, 2024
382b45c
viewer#1424 Favorite support in galleries #2
akleshchev May 16, 2024
3066cce
viewer#1300 Small menu adjustment
akleshchev May 17, 2024
0b46cef
Merge branch 'main' into marchcat/c-merge
marchcat May 17, 2024
e8de17d
Merge pull request #1507 from secondlife/marchcat/c-merge
marchcat May 17, 2024
f2358a2
viewer#1425 Sorting in Appearance floater #2
akleshchev May 17, 2024
4c676ac
viewer#1300 More favorite settings
akleshchev May 17, 2024
25b19eb
viewer#1424 Proper links support for favorites
akleshchev May 17, 2024
741b79d
viewer#1529 Mesh Uploader should permit lowering material count
akleshchev May 21, 2024
6f7e50e
viewer#1425 Fix missed 'static' declarations
akleshchev May 22, 2024
c255174
viewer#1400 Show LODs info in Build Tools
akleshchev May 21, 2024
b052240
viewer#1400 Allow forcing specific LODs for selection
akleshchev May 22, 2024
e0f5606
viewer-private#240 Restore missing marketplace notification
akleshchev May 23, 2024
c4392d4
viewer#1408 Change misleading content removal wanring
akleshchev May 24, 2024
1fcd284
viewer#1218 Moon beacon can't be toggled when setting is no-mod
akleshchev May 27, 2024
82b1f23
viewer#1584 Reword the "Arrow keys always move me"
akleshchev May 30, 2024
9f00bb1
viewer#1600 Fixed being unable to delete links to worn objects
akleshchev May 31, 2024
3f150fb
viewer#1594 Add a "Cancel" button to exit the "New List" prompt
akleshchev May 31, 2024
bd9add8
viewer#1595 Add a prompt to confirm deleting an 'auto raplace' list
akleshchev May 31, 2024
29e1089
viewer-private#245 The "Voice chat" is truncated on the slider
akleshchev Jun 3, 2024
db3f7ea
viewer#1588 Upload directly to Specified Inventory Folder
akleshchev Jun 3, 2024
268281a
An alternative in getting CPU freq on M-series
erikkundiman Dec 26, 2023
2117dca
tbfreq x clockrate.hz only when cpufrequency is 0
erikkundiman Dec 31, 2023
9e584ed
viewer-private#244 Reconnect to voice after 'tuning'
akleshchev Jun 5, 2024
39c1894
viewer#1154 Fix an extra key
akleshchev Jun 5, 2024
6339bc8
Merge branch 'main' into marchcat/c-merge
marchcat Jun 6, 2024
94a18c4
Merge pull request #1656 from secondlife/marchcat/c-merge
marchcat Jun 6, 2024
8f6e50e
Merge pull request #1636 from megapahit/macos-arm64
marchcat Jun 6, 2024
bd8438f
viewer#1619 Fix outfits search pulling up results sometimes
akleshchev Jun 7, 2024
0dcc912
Merge main into inventory_favorites
akleshchev Jun 10, 2024
d1cf13f
viewer#1673 Crash calling dirtyDescendantsFilter
akleshchev Jun 10, 2024
ee49b3b
Merge branch 'main' into marchcat/c-merge
marchcat Jun 10, 2024
e6a34da
Merge pull request #1689 from secondlife/marchcat/c-merge
marchcat Jun 11, 2024
534605e
Merge branch 'main' (featurette) into inventory_favorites
akleshchev Jun 11, 2024
daad8dc
viewer#1672 Crash at setDefaultFOV
akleshchev Jun 11, 2024
51f5e09
viewer#1692 Crash at LLVOVolume::getReflectionProbeIsBox()
akleshchev Jun 11, 2024
fd2626c
viewer#1698 Uniform being out of range shouldn't crash viewer
akleshchev Jun 11, 2024
c137e6a
Merge pull request #1704 from secondlife/main
marchcat Jun 11, 2024
ba160ed
viewer#1728 Crash in LLViewerRegion::probeCache
akleshchev Jun 12, 2024
8b18906
viewer#1730 Crash in LLFetchedGLTFMaterial::bind
akleshchev Jun 12, 2024
63ef1d1
viewer#1731 Crash at LLPipeline::markVisible
akleshchev Jun 12, 2024
078e8fd
viewer#1750 Crash at LLGLTFMaterial::operator=
akleshchev Jun 13, 2024
5d1e3d4
viewer-private#245 The "Voice chat" is truncated on the slider #2
akleshchev Jun 13, 2024
fece367
jira-archive-internal#63268 Several objects are worn on the same part
akleshchev Jun 14, 2024
7ae63da
viewer#1300 Increment inventory cache for favorites
akleshchev Jun 14, 2024
3fc8d4b
#1611 Regression in anti-flipping mechanism for mouselook camera
LLGuru Jun 6, 2024
3d84a14
#1611 Regression in anti-flipping mechanism for mouselook camera
LLGuru Jun 14, 2024
6b251fb
viewer#1781 More detailed model upload errors for textures
akleshchev Jun 17, 2024
f32a6d4
#1773 Advanced Lighting Model info still showing in About for other l…
LLGuru Jun 17, 2024
574dc78
#1207 EEP: Water settings only displaying one decimal place
LLGuru Jun 17, 2024
4d0b980
viewer#1772 Teleport History landing going higher and higher
akleshchev Jun 17, 2024
5513459
#1644 On-water property lines persist at water level
LLGuru Jun 18, 2024
a3a7733
viewer-private#242 Last used picker mode can force picker into a disa…
akleshchev Jun 18, 2024
fcffbad
viewer#1501 Crash initiating screenSpaceReflUtil.glsl
akleshchev May 17, 2024
6ee6d19
viewer#1005 Review fixes
akleshchev Jun 26, 2024
ac0f566
Merge pull request #1840 from secondlife/inventory_favorites
akleshchev Jun 27, 2024
f010ab9
viewer#1300 Small 'favorites' improvement
akleshchev Jul 3, 2024
826236f
SL-18721 Move window shutdown further down
akleshchev Jul 4, 2024
a620e58
SL-18721 Don't 'post' window destruction, make thread do it automatic…
akleshchev Jul 4, 2024
8ae0e6c
viewer#2102 Update feature notification to notify about Favorites
akleshchev Jul 25, 2024
0c643d9
Update expired cert in integration test
marchcat Jul 22, 2024
9e24b30
Fix local resetting (#2383)
FelixWolf Aug 22, 2024
99a9258
Issue #2687: Honor flag sent by server indicating server side autopil…
Rider-Linden Sep 26, 2024
81df047
Private Issue #297: Accept new flags in ScriptTeleportRequest message…
Rider-Linden Oct 14, 2024
3dc945c
Private Issue #297: Code review feedback.
Rider-Linden Oct 14, 2024
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
09af45d
Server Issue #1493: New notification message for llTransferOwnership.
Rider-Linden Nov 9, 2024
ea79f8f
Merge pull request #3624 from secondlife/rider/map_beacon
Geenz Mar 1, 2025
8c671a0
Merge pull request #3623 from secondlife/rider/server_autopilot
Geenz Mar 1, 2025
5aa359e
Merge pull request #3626 from secondlife/rider/transfer_message
Geenz Mar 1, 2025
5d78ff4
Merge pull request #3634 from secondlife/release/2024.12-ForeverFPS
Geenz Mar 1, 2025
37b2606
Merge pull request #3686 from secondlife/main
Geenz Mar 6, 2025
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
1a92e39
message_template.msg to agree with master-message-template
AndrewMeadows Mar 17, 2025
f462037
Merge pull request #3760 from secondlife/leviathan/update-message-tem…
Geenz Mar 18, 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
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
42dc450
Merge pull request #3853 from williamweaver/fix/cloud-texture-loading
Geenz Apr 9, 2025
2813097
Merge commit '7947ce3' into marchcat/maint-c/maint-c-restore
marchcat Apr 9, 2025
5d7a500
Merge commit '9e24b30' into marchcat/maint-c/restore
marchcat Apr 10, 2025
3f64894
Fix pre-commit error
marchcat Apr 10, 2025
32e894b
Switch to smaller runners (#3722)
Geenz Mar 21, 2025
d34e323
macos buildfix
marchcat Apr 10, 2025
e66637f
Fix missing inventory unlock
akleshchev Oct 15, 2024
28f4596
Post-merge cleanup: llwindowwin32.cpp
marchcat Oct 15, 2024
d531835
Post-merge cleanup: llvoavatar.cpp
marchcat Oct 15, 2024
19347f7
Fix merge issues:
Ansariel Oct 15, 2024
a510a1d
Convert BOOL to bool
Ansariel Oct 15, 2024
bab3bc4
Fix more merge issues:
Ansariel Oct 15, 2024
f52b281
Apply changes from 55f2103adc36db0d3f068a31a144e15465226e13 to LLFold…
Ansariel Oct 16, 2024
9117a37
Give control over thread queue's automatic shutdown
akleshchev Oct 31, 2024
7bffdd7
#3367 Move Maximum # of animated avatars slider in Graphics
marchcat Jan 8, 2025
f9503bd
#3353 Fix favorited items not being readded on parent removal
akleshchev Jan 8, 2025
1dd0059
#3354 adjust controls positions to avoid overlapping
maxim-productengine Jan 9, 2025
eb0ca41
#3373 Rename "My Favorites" system folder to "Favorites Bar"
maxim-productengine Jan 9, 2025
b1fa03e
#3374 LLFolderViewFolder::updateHasFavorites
akleshchev Jan 9, 2025
3daf086
#3374 Fix item reparenting moving containing folder
akleshchev Jan 9, 2025
2d11e10
#3377 Select 'All items' tab when creating a folder via '+' button
maxim-productengine Jan 10, 2025
0c9f6f5
#3394 Fix colour change not applied to favourites in Outfit Gallery
maxim-productengine Jan 13, 2025
154d15d
#3403 fix Favorited worn outfit not coloured in My Outfits tab
maxim-productengine Jan 15, 2025
dab8b9c
#3383 'InventoryAddAttachmentBehavior' setting should affect inventor…
maxim-productengine Jan 28, 2025
c07817c
Fix(Tonemap): Correct blend logic to preserve HDR detail
williamweaver Apr 10, 2025
cfad42b
Refactor LLWindowWin32::LLWindowWin32Thread::wakeAndDestroy()
marchcat Apr 12, 2025
1dacabe
#3379 Crash on gIdleCallbacks iteration
akleshchev Apr 12, 2025
1f17536
#3900 Skip checking AFK status during startup states
marchcat Apr 12, 2025
207ef20
#3897 Fix favorite's stars being hidden in some cases
akleshchev Apr 14, 2025
5a893f2
Fix llhttpdate test on windows and macos (#3909)
marchcat Apr 14, 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
ae93198
Merge branch 'main' into marchcat/maint-c-restore
marchcat Apr 15, 2025
293462d
Merge pull request #3883 from williamweaver/fix/remove-duplicate-rend…
Geenz Apr 15, 2025
06a76ed
Merge branch 'develop' into marchcat/05-develop
marchcat Apr 15, 2025
d464901
Post-merge fix compareGalleryItem() in lloutfitgallery.cpp (#3917)
marchcat Apr 16, 2025
3142429
#3910 Sometimes can't favorite a folder
akleshchev Apr 15, 2025
f8782b0
#3897 Fix favorite's stars being hidden in some cases #2
akleshchev Apr 16, 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
082c915
Merge branch 'develop' into marchcat/05-develop
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
53b3aed
#3898 Make default inventory size a bit wider
akleshchev Apr 17, 2025
d3d8513
#1424 Favorites in Appearance floater #4
akleshchev Apr 17, 2025
01f73fe
Merge branch 'release/2025.05' into marchcat/05-develop
marchcat Apr 18, 2025
933f522
Merge branch 'develop' into marchcat/05-develop
marchcat Apr 18, 2025
1c3ce46
Restore missing 'override'
marchcat Apr 18, 2025
11cd9b9
Merge pull request #3914 from secondlife/marchcat/05-develop
marchcat Apr 18, 2025
f5be549
#3910 Fix sorting of 'favorites' inventory tab
akleshchev Apr 18, 2025
74a71e3
Restore llmath fixes that got lost during merge (#3948)
Ansariel Apr 18, 2025
1e4f12f
#3382 Rename inventory setting
maxim-productengine Apr 22, 2025
ec6c988
#3918 Implement automatic shutdown for WorkQueueBase
marchcat Apr 22, 2025
fb4925d
Increment viewer version after 2025.03
brad-linden Apr 25, 2025
d6699df
Increment viewer version after 2025.04
brad-linden Apr 25, 2025
61af5d6
Merge pull request #3983 from secondlife/brad/version-increments
brad-linden Apr 25, 2025
e8b1e07
#3953 My Inventory folder appears in Favorites
akleshchev Apr 28, 2025
14f5cd2
#3924 Fix favorites inventory panel being stuck
akleshchev Apr 28, 2025
00d612f
#3993 Fix missing 'add to favorites' option
akleshchev Apr 29, 2025
3bddaea
p#428 Fix texture picker's tentative behavior
akleshchev Apr 29, 2025
778a69c
#4005 Crash at LLVOVolume::isMesh
akleshchev Apr 30, 2025
f73e0d0
#3905 Crashes in LLInventoryModel::saveToFile
akleshchev Apr 30, 2025
3de223a
#1300 Test coverage for inventory metadata
akleshchev May 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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 }}"

Check failure

Code scanning / CodeQL

Code injection Critical

Potential code injection in
${ github.event.workflow_run.head_branch }
, which may be controlled by an external user (
workflow_run
).

Copilot Autofix

AI 12 days ago

To fix the issue, we will follow the recommended best practices for avoiding code injection in GitHub Actions. Specifically, we will:

  1. Assign the value of ${{ github.event.workflow_run.head_branch }} to an environment variable.
  2. Use the environment variable in the shell command with proper quoting to ensure it is treated as a literal string and not executed as code.

This change will be applied to all instances where untrusted input is directly interpolated into shell commands.

Suggested changeset 1
.github/workflows/qatest.yaml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/qatest.yaml b/.github/workflows/qatest.yaml
--- a/.github/workflows/qatest.yaml
+++ b/.github/workflows/qatest.yaml
@@ -14,8 +14,10 @@
   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 }}"
+    runs-on: ubuntu-latest
+    steps:
+      - name: Debug Workflow Variables
+        env:
+          HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
+        run: |
+          echo "Workflow Conclusion: ${{ github.event.workflow_run.conclusion }}"
+          echo "Workflow Head Branch: $HEAD_BRANCH"
           echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
@@ -27,12 +29,14 @@
 
-  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:
+  install-viewer-and-run-tests:
+    runs-on: [self-hosted, qa-machine]
+    # Run test only on successful builds of Second_Life_X branches
+    env:
+      HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
+    if: >
+      github.event.workflow_run.conclusion == 'success' &&
+      (
+        startsWith(env.HEAD_BRANCH, 'Second_Life')
+      )
+
+    steps:
       - name: Temporarily Allow PowerShell Scripts (Process Scope)
EOF
@@ -14,8 +14,10 @@
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 }}"
runs-on: ubuntu-latest
steps:
- name: Debug Workflow Variables
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
echo "Workflow Conclusion: ${{ github.event.workflow_run.conclusion }}"
echo "Workflow Head Branch: $HEAD_BRANCH"
echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
@@ -27,12 +29,14 @@

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:
install-viewer-and-run-tests:
runs-on: [self-hosted, qa-machine]
# Run test only on successful builds of Second_Life_X branches
env:
HEAD_BRANCH: ${{ github.event.workflow_run.head_branch }}
if: >
github.event.workflow_run.conclusion == 'success' &&
(
startsWith(env.HEAD_BRANCH, 'Second_Life')
)

steps:
- name: Temporarily Allow PowerShell Scripts (Process Scope)
Copilot is powered by AI and may make mistakes. Always verify output.
echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
echo "Head Commit Message: ${{ github.event.workflow_run.head_commit.message }}"

Check failure

Code scanning / CodeQL

Code injection Critical

Potential code injection in
${ github.event.workflow_run.head_commit.message }
, which may be controlled by an external user (
workflow_run
).

Copilot Autofix

AI 12 days ago

To fix the issue, the untrusted input ${{ github.event.workflow_run.head_commit.message }} should be assigned to an intermediate environment variable. The environment variable should then be referenced using the native shell syntax to prevent direct interpolation of untrusted input into the run block. This approach ensures that the input is treated as a literal string and not executed as a command.

Suggested changeset 1
.github/workflows/qatest.yaml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/qatest.yaml b/.github/workflows/qatest.yaml
--- a/.github/workflows/qatest.yaml
+++ b/.github/workflows/qatest.yaml
@@ -21,3 +21,6 @@
           echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
-          echo "Head Commit Message: ${{ github.event.workflow_run.head_commit.message }}"
+          env:
+            HEAD_COMMIT_MESSAGE: ${{ github.event.workflow_run.head_commit.message }}
+          run: |
+            echo "Head Commit Message: $HEAD_COMMIT_MESSAGE"
           echo "GitHub Ref: ${{ github.ref }}"
EOF
@@ -21,3 +21,6 @@
echo "Workflow Run ID: ${{ github.event.workflow_run.id }}"
echo "Head Commit Message: ${{ github.event.workflow_run.head_commit.message }}"
env:
HEAD_COMMIT_MESSAGE: ${{ github.event.workflow_run.head_commit.message }}
run: |
echo "Head Commit Message: $HEAD_COMMIT_MESSAGE"
echo "GitHub Ref: ${{ github.ref }}"
Copilot is powered by AI and may make mistakes. Always verify output.
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:
Comment on lines +15 to +28

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
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
Comment on lines +29 to +168

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
50 changes: 12 additions & 38 deletions autobuild.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2332,59 +2332,33 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
</map>
<key>threejs</key>
<map>
<key>copyright</key>
<string>Copyright © 2010-2021 three.js authors</string>
<key>license</key>
<string>MIT</string>
<key>license_file</key>
<string>LICENSES/THREEJS_LICENSE.txt</string>
<key>name</key>
<string>threejs</string>
<key>platforms</key>
<map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>cfed00d8ea7265c035c2d86a234b28efb0b23756</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-three_js/releases/download/v0.132.2-b8f6746/threejs-0.132.2-darwin64-b8f6746.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>9de1295b157c9913c28be81ff933c73493ecc132</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-three_js/releases/download/v0.132.2-b8f6746/threejs-0.132.2-linux64-b8f6746.tar.zst</string>
</map>
</map>
<key>windows64</key>
<key>common</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>4141710fccbd1ea2b3b53d00e189bdfa2ee9d441</string>
<string>982c0fa427458082ea9e3cb9603904210732b64e</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-three_js/releases/download/v0.132.2-b8f6746/threejs-0.132.2-windows64-b8f6746.tar.zst</string>
<string>https://github.com/secondlife/3p-three_js/releases/download/v0.132.2-5da28d9/threejs-0.132.2-common-8454371083.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
<string>common</string>
</map>
</map>
<key>license</key>
<string>MIT</string>
<key>license_file</key>
<string>LICENSES/THREEJS_LICENSE.txt</string>
<key>copyright</key>
<string>Copyright © 2010-2021 three.js authors</string>
<key>version</key>
<string>0.132.2</string>
<key>name</key>
<string>threejs</string>
</map>
<key>tinygltf</key>
<map>
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
2 changes: 2 additions & 0 deletions indra/llcharacter/llcharacter.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ class LLCharacter

virtual void addDebugText( const std::string& text ) = 0;

virtual std::string getDebugName() const { return getID().asString(); }

virtual const LLUUID& getID() const = 0;
//-------------------------------------------------------------------------
// End Interface
Expand Down
Loading