Commit Graph

343 Commits (bbc2ad8fc50b2efb19a40a2db57043690addc492)

Author SHA1 Message Date
Signal Linden 4b5d1c660c
Add workflow_dispatch trigger to build workflow (#4774)
Allow builds to be manually triggered
2025-10-02 12:42:02 -07:00
Andrey Kleshchev 0fb6dc22ff Fix builds after update of build-variables branch 2025-09-19 15:45:59 +03:00
Jonathan "Geenz" Goodman 82e431e090 Merge remote-tracking branch 'origin/release/2025.07' into geenz/2025.07-develop 2025-09-18 15:23:26 -04:00
Andrey Lihatskiy badeccbebc
NSIS build fix (#4698) 2025-09-18 21:37:12 +03:00
Roxanne Skelly a6d4c1d394
[WebRTC] Rework device handling sequence so that we can handle unplugging/re-plugging devices (#4593)
* [WebRTC] Rework device handling sequence so that we can handle unplugging/re-plugging devices

The device handling was not processing device updates in the proper sequence as
things like AEC use both input and output devices.  Devices like headsets are both
so unplugging them resulted in various mute conditions and sometimes even a crash.

Now, we update both capture and render devices at once in the proper sequence.

Test Guidance:
* Bring two users in the same place in webrtc regions.
* The 'listening' one should have a headset or something set oas 'Default'
* Press 'talk' on one, and verify the other can hear.
* Unplug the headset from the listening one.
* Validate that audio changes from the headset to the speakers.
* Plug the headset back in.
* Validate that audio changes from speakers to headset.
* Do the same type of test with the headset viewer talking.
* The microphone used should switch from the headset to the computer (it should have one)

Do other various device tests, such as setting devices explicitly, messing with the device selector, etc.

* Fix race condition when multiple change device requests might come in at once

* Update to m137

The primary feature of this commit is to update libwebrtc from m114
to m137.  This is needed to make webrtc buildable, as m114 is not buildable
by the current toolset.

m137 had some changes to the API, which required renaming or changing namespace
of some of the calls.

Additionally, this PR moves from a callback mechanism for gathering the energy
levels for tuning to a wrapper AudioDeviceModule, which gives us more control
over the audio stream.

Finally, the new m137-based webrtc has been updated to allow for 192khz audio
streams.

* Properly pass the observer setting into the inner audio device module

* Update to m137 and get rid of some noise

    This change updates to m137 from m114, which required a few API changes.

    Additionally, this fixes the hiss that happens shortly after someone unmutes: https://github.com/secondlife/server/issues/2094

    There was also an issue with a slight amount of repeated after unmuting if there was audio right before unmuting.  This is because
    the audio processing and buffering still had audio from the previous speaking session.  Now, we inject nearly a half second of
    silence into the audio buffers/processor after unmuting to flush things.

* Install nsis on windows

* Use the newer digital AGC pipeline

m137 improved the AGC pipeline and the existing analog style is going away
so move to the new digital pipeline.

Also, some tweaking for audio levels so that we don't see inworld bars when tuning,
so one's own bars seem a reasonable size, etc.

* Install NSIS during windows sisgning and package build step

* Try pinning the packaging to windows 2022 to deal with missing nsis

* Adjust gain calculation and audio level calculations for tuning and peer connections

* Update with mac universal webrtc build

* Tuning of voice indicators for both tuning mode and inworld for self.

* Redo device deployment to handle cases where multiple deploy requests pile up

Also, mute when leaving webrtc-enabled regions or parcels,
and unmute when voice comes back.

* pre commit issue
2025-09-12 20:07:51 -04:00
Jonathan "Geenz" Goodman 42695904d6
Use XL mac runners due to the unibin build time. (#4674)
Temporary until we can better parallelize architecture specific builds.
2025-09-12 19:17:58 -04:00
Jonathan "Geenz" Goodman dd1113ba2b
Merge branch 'release/2025.07' into project/mac_universal 2025-09-10 13:29:51 -04:00
Andrey Kleshchev 1754002308 Fix build failing due to missing nsis
Temporary switch to windows 2022, latest 2025 doesn't have nsis
2025-09-10 00:29:06 +03:00
Rye 2b44464a14 Fix up windows build error in GHA 2025-08-28 06:08:13 -04:00
Rye 96ff5f8e70 Merge branch 'develop' of github.com:secondlife/viewer into rye/infinitemac 2025-08-28 00:53:15 -04:00
Dan Linden e33439e523
Update qatest.yaml
corrected kurt's machine name to qa-windows-kurt
2025-08-26 15:18:10 -07:00
Dan Linden bbdb46a833
Update qatest.yaml
Removed dan's z600 windows machine from the matrix.
Added dan's mac, caleb's mac and kurt's windows machines.
2025-08-26 14:41:07 -07:00
Rye ba30737d8f Merge branch 'develop' of github.com:secondlife/viewer into rye/infinitemac 2025-08-20 18:04:55 -04:00
AtlasLinden e4a25dc5b9
Merge branch 'develop' into atlas-qaworkflow 2025-08-06 09:42:26 -04:00
Andrey Kleshchev acc8928330
Merge release/2025.05 into develop 2025-08-06 14:17:18 +03:00
AtlasLinden 9311b522d8
Add new runners to QA workflow 2025-07-30 13:56:44 -07:00
Signal Linden 632bcd3d1e
Add media request to pull_request_template.md (#4440)
* Add media request to pull_request_template.md

A picture can be worth a thousand words. Prompt users to provide media when creating a PRs.

* Update pull_request_template.md
2025-07-26 11:29:12 -07:00
Andrey Kleshchev 6e186befad Reapply "Merge develop into glTF mesh import"
To simplify merging into mesh import branch
This reverts commit b0c951ffe3.
2025-07-17 11:23:51 +03:00
AtlasLinden 9cc5c07299
New method to handle removing previous viewer
Moving previous viewer to trash instead of "removing" it.
2025-07-10 10:36:16 -07:00
AtlasLinden db5af314b9
Remove previously installed viewer
More permission issues encountered if a job is repeated. That is, when attempting to replace an existing installed viewer.
2025-07-10 10:27:16 -07:00
AtlasLinden c70875e0ba
Redirecting viewer installation to Application directory 2025-07-10 08:56:37 -07:00
AtlasLinden 2f77cd09a9
Remove --no-xattrs option 2025-07-10 08:42:34 -07:00
AtlasLinden 450d4d77f7
New copy app command
An attempt to resolve another permission issue
2025-07-10 08:39:09 -07:00
AtlasLinden 239a9c7242
Removing previous permission "fix" 2025-07-10 08:18:16 -07:00
AtlasLinden 8fe51b3c9a
Adjusting dmg mount point
Permission issues yet again. Adjusting this back
2025-07-09 14:38:36 -07:00
AtlasLinden c8f6eb045d
Remove whitespace 2025-07-09 14:27:46 -07:00
AtlasLinden 9533232ce7
Mount dmg to new /Volumes
Currently hitting another permission error while attempting to mount dmg in tmp
2025-07-09 14:26:09 -07:00
AtlasLinden 7b4cdd3040
Adjust permission before copying app 2025-07-09 14:14:40 -07:00
AtlasLinden 8c6e766311
Adjust mac artifact name
It was previously looking for a Mac-installer artifact instead of macOS-installer
2025-07-09 13:12:16 -07:00
AtlasLinden 0bb0d3efea
Add mac runner
Uncommenting mac runner lines to enable newly set up self-hosted runner with the workflow.
2025-07-09 08:50:41 -07:00
Signal Linden 2e1d8c3063
Fix link in pull_request_template.md (#4329)
Fix the link to CONTRIBUTING.md in the pull request template and simplify some of the checklist item language.
2025-07-02 09:50:23 -07:00
Signal Linden c58caf6b42
Create pull_request_template.md
Provide a PR template to expedite both internal and external contributions.
2025-07-02 09:20:59 -07:00
Jonathan "Geenz" Goodman b0c951ffe3
Revert "Merge develop into glTF mesh import" 2025-06-27 21:28:58 -04:00
Jonathan "Geenz" Goodman 6dd8a02ed1 Merge branch 'project/gltf_mesh_import' into geenz/develop-to-gltf-mesh 2025-06-27 17:18:00 -04:00
Andrey Lihatskiy 781d9fa481 Use latest release for changelog 2025-06-24 01:29:58 +03:00
Andrey Lihatskiy 03b6d09ae5
Use windows-latest runner for sign-and-package-windows (#4263) 2025-06-12 03:40:20 +03:00
AtlasLinden 41ef5b2553
Resolve qatest.yaml invalid workflow error
Previous edit to allow runners to work independently caused the following error:
The workflow is not valid. .github/workflows/qatest.yaml (Line: 19, Col: 10): Unrecognized named-value: 'matrix'. Located at position 1 within expression: matrix.runner
2025-06-10 11:11:20 -07:00
Signal Linden 3c7dde56e5
Require PR descriptions (#4233)
* Require PR descriptions

Add a simple workflow check to ensure PRs have a description.

* Potential fix for code scanning alert no. 32: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-06-10 09:21:49 -07:00
AtlasLinden 8dd3955d78
Merge pull request #4140 from secondlife/atlas-qaworkflow
Allow self-hosted runners to operate independently
2025-06-05 09:07:42 -07:00
Andrey Lihatskiy 7aea88fb84 Use awk to make PV channel name 2025-05-31 01:40:34 +03:00
Jonathan "Geenz" Goodman fe4f85e587 Merge remote-tracking branch 'origin/main' into geenz/2025.04-to-develop 2025-05-28 11:52:16 -04:00
AtlasLinden cee546977d
Allow runners to operate independently
Currently if there are multiple workflow runs queued and a runner is offline, the online runner will wait for the offline runner to either timeout or complete the job before moving to the next job.
This adjustment should allow the online runner/s to move onto new workflow runs regardless of what other runners are up to.
2025-05-22 09:05:24 -07:00
AtlasLinden a889740709
Account for further Playwright dependencies in .venv 2025-05-14 14:25:36 -07:00
AtlasLinden 33fb7903f9
Added "verify repo is up-to-date" step
Local changes are stashed temporarily upon repo update and an attempt to restore them is made afterwards. If a merge conflict is hit then a new local branch is created.
2025-05-14 08:32:25 -07:00
AtlasLinden ca81b40f5a
Add virtual env setup step to qatest.yaml
A step is created for both Win and Mac
2025-05-14 07:33:58 -07:00
AtlasLinden 147442c240
Adjust install path for new repo name 2025-05-08 06:41:29 -07:00
AtlasLinden 8c5df1ad9d
Update Windows Build ID step to use pwsh syntax 2025-05-06 12:41:08 -07:00
AtlasLinden 469730f187
Separate Build ID step for each OS 2025-05-06 12:31:18 -07:00
AtlasLinden 2c176c75fc
Resolve qatest.yaml concurrency group error
Error: "The workflow is not valid. .github/workflows/qatest.yaml (Line: 23, Col: 10): Unrecognized named-value: 'matrix'. Located at position 1 within expression: matrix.runner"
2025-05-06 11:02:57 -07:00
AtlasLinden 4bb51a5f27
Add permissions to QA Workflow
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-05-06 06:28:57 -07:00