Skip to content

test(tools): give the progress encoding subprocess 60 s - #6098

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
adriadam10:test/progress-encoding-timeout
Oct 14, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
adriadam10:test/progress-encoding-timeout

Conversation

@adriadam10

Copy link
Copy Markdown
Collaborator

What

progress_encoding gives its progress.py --compare subprocess 10 s. On a loaded Windows runner the first one (a cold Python start under --parallel 4) took longer and raised TimeoutExpired in test_implemented_report_with_cp1252_stdout: Build runs 38642532107 (#6093) and 38570483873 (#5422's train), red on nothing but this test. The timeout is now 60 s; ctest still bounds the whole test at 120 s.

Tested

Linux, python3 tools/tests/test_progress_encoding.py: 5 tests pass. Fix of a red test, merged without the full Build; main's push build is its check.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

The first cp1252 run timed out at 10 s on a loaded Windows runner (Build
runs 38642532107 and 38570483873); ctest still bounds the test at 120 s.

Co-Authored-By: Claude <noreply@anthropic.com>
@adriadam10
adriadam10 merged commit d65b977 into boykopovar:main Oct 14, 2026
3 checks passed
RINNECODER added a commit to RINNECODER/AnyPS5 that referenced this pull request Oct 15, 2026
* feat(libSceHttp2): export sceHttp2WebSocketSetPingTimeout

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 73f53dd)

* docs(debt): list sceHttp2WebSocketSetPingTimeout

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit ddf5e14)

* feat(libSceCesCs): convert EUC-JP (CP51932) strings through a profile context

sceCesUcsProfileInitEucJpCp51932 returns a profile for EUC-JP, and
sceCesMbcsUcsContextInit now keeps the profile in the context. The
multibyte string conversions (UTF-8, UCS-2, their length queries) and
sceCesEucJpToUcs2 convert ASCII and the JIS X 0201 half-width katakana
for that profile, and every character for the existing CP1252/CP1251
profiles. Two- and three-byte JIS X 0208/0212 characters throw, since
their mapping table is not present.

A title's game executable imports the set and fails to load without it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 61e10ef)

* feat(libSceJson2): implement Object::Pair, Array::iterator copies and notifyError

A title imports these without a known signature. The mangled names
give them: Pair's constructor deep-copies its key and value into the
layout Object iteration already returns and its destructor frees both,
Array::iterator gets its default constructor, copy assignment and
post-increment (returning the copy through a result pointer, as begin
does), and MemAllocator::notifyError is the base class's empty virtual.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dh1MhYBFyzxRceoAxrepZ6
(cherry picked from commit c976fd0)

* feat(libSceOpusCeltDec): decode CELT packets with the libSceOpusDec decoder

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit caee9a8)

* feat(libSceUlt): implement sceUltMutexDestroy and sceUltWaitingQueueResourcePoolDestroy

(cherry picked from commit ca9f4e4)

* feat(libSceAjm): support ratio ramp in sceAjmBatchJobSetResampleParametersEx

(cherry picked from commit 4c58702)

* docs(debt): mark the ratio ramp semantics as assumed

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 3faeae8)

* feat(libSceCesCs): convert two-byte EUC-JP characters through the CP932 table

The EUC-JP profile threw on every two-byte character. It now maps the rows
0xA1-0xFE through a 94x94 table taken from Microsoft code page 932 (JIS X 0208
plus NEC row 13 and the NEC-selected IBM rows), and encodes a code point to its
lowest cell. Unassigned cells answer UNASSIGNED_CODE, a bad trail byte
INVALID_ENCODE, and a cut pair SRC_BUFFER_END. Three-byte JIS X 0212 characters
still throw.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
(cherry picked from commit db69769)

* feat(libSceSystemGesture): implement sceSystemGestureGetTouchRecognizerInformation

sceSystemGestureCreateTouchRecognizer now records the gesture type and
rectangle in the title-owned recognizer buffer, and
sceSystemGestureUpdateTouchRecognizerRectangle replaces the stored
rectangle. sceSystemGestureGetTouchRecognizerInformation reports them
back with updated_time 0, since no recognizer is ever updated with
input. Recognizers that were not created by
sceSystemGestureCreateTouchRecognizer, or that have no rectangle, throw
because the console's result for them is unknown.

The guest test now passes full-size recognizer and rectangle structures
instead of an int.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 1536689)

* feat(libSceVoice): implement sceVoiceResetPort

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit ea80fe1)

* fix(input): read the input file from paths with non-ASCII characters

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit b8ed789)

* build(libs): keep import libraries stable so a source edit relinks one library

Every library under core/libs/prx links the libc and libkernel import
libraries, and every NID patch step depended on the unpatched libc.prx.
GNU ld 2.46 rewrites the import library on every link with new archive
timestamps (the member headers and the symbol map header), so the restat
on the link edge never pruned anything: one libc or libkernel .cpp edit
relinked all 124 libraries and re-patched all of them.

On MinGW the shared library link now writes the import library to
<implib>.new with SOURCE_DATE_EPOCH=0 (ld then writes zero member
timestamps), makes the symbol map deterministic with ranlib -D and copies
the result over the import library only when its bytes differ
(cmake -E copy_if_different). The link edge keeps restat, so a link that
keeps the exports leaves the import library untouched and prunes every
dependent link. The SOURCE_DATE_EPOCH also zeroes the export directory
TimeDateStamp of the DLL; the COFF header TimeDateStamp that the unwinder
keys on is unchanged.

The NID patch steps only use the names libc exports. nid_patcher
--write-export-list writes those names, normalized and sorted, to
libc.exports and leaves the file untouched when they did not change; the
patch steps read it with --preserve-export-list and depend on it instead
of libc.prx, on every platform. A patched library is byte-identical to
one patched against libc.prx.

Measured on Windows (GCC 15.2, -j 4, loaded machine) after touching
libc/src/Strings.cpp: with CMAKE_LINK_DEPENDS_NO_SHARED off, 124 links and
124 patches in 74.9 s before, 1 compile, 1 link, the export list and the
libc patch in 4.3 s after; with it on, 124 patches in 7.8 s before and
the same four steps in 5.3 s after. Touching libkernel/Time/Time.cpp
runs 123 links and 123 patches (89.1 s) before and one compile, link and
patch (3.4 s) after. Removing a libc export still relinks and re-patches
all 124 libraries.

nid_patcher_macho covers --write-export-list (sorted normalized names, no
rewrite when unchanged, rewrite when changed) and --preserve-export-list
(the same exports kept as with --preserve-exports; malformed lists and
two references refused). It fails on main, where the option is unknown.

Sources: SOURCE_DATE_EPOCH, https://reproducible-builds.org/specs/source-date-epoch/;
ranlib -D and ld --out-implib, GNU binutils documentation; ninja restat,
https://ninja-build.org/manual.html#ref_rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 2251649)

* docs(input): describe the forwarded touchpad fingers and the View button

(cherry picked from commit 1258d35)

* feat(libSceAudioOut): open HDMI bitstream ports with sceAudioOutExOpen

A title opens an Ex port for IEC 61937 bursts
when a clip is played. Follow the disassembly and console log in
sainsaji/PS5-Audio-Passthrough-Research: ExOpen refuses modes outside
mask 0x61F with 0x80260015 and opens an S16 stereo port of 256 frames at
48 kHz or 1024 frames at 192 kHz; ExConfigureOutput refuses a nonzero
first argument with 0x80268009 and returns 0 for the documented modes
and targets; ExClose returns 0. The host has no HDMI bitstream output,
so an Ex port has no device and drops its bursts at its own rate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit a08310b)

* fix(libSceFiber): end the frame chain of a fiber with a null frame

Aps5FiberMain kept the fiber's entry address in rbp when it called the
entry, so the guest entry saved that code address as the caller's frame.
A guest walking frame pointers from inside a fiber read machine code as
a frame record and faulted. libSceFiber is now built with frame
pointers: Aps5FiberMain sets up a frame whose saved rbp is the zero of
the initial fiber frame, and the chain ends there.

(cherry picked from commit 27b7531)

* fix(libSceAudioOut): report the port's channel count from sceAudioOut2PortGetState

sceAudioOut2PortGetState returned the two channels of the host output for
every port. It now reports the channel count of the port's data format and
clears the rest of the state, so the reserved fields no longer keep the
caller's stack contents. The speaker info and system state calls are
unchanged; a new test covers all three, since none had one.

The channel count follows SharpEmu, another emulator; no console
measurement exists, recorded in TechnicalDebt.md. ASTRO BOT and ASTRO's
PLAYROOM reportedly stop on an assertion that depends on the reported
state (boykopovar#4317); which field matters is not isolated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
(cherry picked from commit 72fae20)

* refactor(libSceSaveData.native): name sceSaveDataPrepareForTransferring

The NID RvID8BVeg+g, declared as sceSaveDataUnknown_RvID8BVeg for
a title, hashes to sceSaveDataPrepareForTransferring. The
name is not in aerolib; it was found by combining words from the
libSceSaveData names that are. Behaviour is unchanged: it still throws,
now naming the real function.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017WeVmjnnPPKdxVTpr2Vjtw
(cherry picked from commit 204c2ac)

* fix(libSceSaveData.native): drop the duplicate APS5_EXPORT of the real name

(cherry picked from commit 31e53e5)

* docs(user): stage the original eboot.bin in app0

Four homebrew titles locate their own
directory with stat("/app0/eboot.bin"), which always exists on the
console, and fall back to /data/homebrew/<title id> without it; that
directory is empty here, so they fail to load their fonts and die with
"renderer init failed". Staging the original eboot.bin next to the app
resources makes all four load their fonts; one of them then renders
(1267 frames in 60 s on Windows).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 4310220)

* fix(audio): preserve completed AudioOut2 grains across threads

(cherry picked from commit bb4ec48)

* fix(libSceNetCtl): answer sceNetCtlGetInfo from the host IPv4 interface

sceNetCtlGetState reports IPOBTAINED from the host's addresses, but
sceNetCtlGetInfo returned NOT_CONNECTED for every code. It now answers
from the host interface that holds an IPv4 address, preferring the one
with the default route: its address, netmask, gateway, MTU and DNS
servers. The link is presented as wired, connected, configured by DHCP
and without a proxy, with the Ethernet address sceNetGetMacAddress
reports. A null info returns INVALID_ADDR and a code outside 1..21
INVALID_CODE; the Wi-Fi, DHCP host name, PPPoE and proxy server codes
throw.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 3065b89)

* fix(libSceJpegDec): use the JpegDec parameter and image info layouts

The JpegDec structures were libScePngDec's under new names. OpenOrbis
jpeg.h and SharpProspero JpegDec.cs agree on a 12-byte create param, a
0x30-byte decode param with a coefficient buffer, decode mode and down
scale, and a 0x24-byte image info that reports the coefficient memory
size, the suitable CSC attribute and the output size.

Accept the CSC attributes 1 and 2 that SharpProspero passes, fill the
output size, component count, coefficient memory size and suitable
attribute, apply the requested alpha, and throw for decode modes other
than 0 and down scales other than 1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 95e5198)

* refactor(libSceShare.native): drop duplicated exports

(cherry picked from commit fdf9215)

* fix(libSceVideodec2): report the coded picture size

Decode and Flush let FFmpeg crop every picture to its display size, so a
1080p H.264 stream came out as 1920x1080 with the chroma after 1080 luma
rows. The console reports and writes the coded picture: EVO-PLAYER-PS5's
hardware run of a 1080p H.264 IDR returned 1920x1088 with pitch 2048 and
the chroma after the 1088 luma rows, and a title rejects a 1080p
H.264 or HEVC picture whose height is not 1088. FFmpeg's cropping is now
off, so the frame size, the chroma offset and the sizes in the AVC
picture info are those of the coded picture. The pitch is unchanged, and
the frame size QueryDecoderMemoryInfo reports, which aligns the maximum
height to 32 rows, still holds a picture coded within the maximum and the
macroblock-padded H.264 picture of a maximum given as the display size.

libSceVdecsw derived its crop offsets from the difference between that
size and the macroblock grid, which is now zero. It takes the crop FFmpeg
exports for the picture from libSceVideodec2 instead.

The H.264 fixture is coded at 64x48 with frame_crop_bottom_offset 4: its
pictures are checked at 64x48 and the crop through Vdecsw. The HEVC and
VP9 fixtures are coded at 64x40 and keep their hashes. The new hashes come
from FFmpeg 8.1 decoding with apply_cropping 0, hashed as the tests do;
the same method reproduces every previous H.264, HEVC and VP9 hash.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 6fd0e33)

* test(videodec2): pass the picture height to the VP9 hashes

The VP9 superframe and render-size tests added after this PR's base call hashNv12 without a height.

(cherry picked from commit dec6e0d)

* test(libkernel): cover reservation hints with no room above them

guest_memory reserves with a hint above the guest arena and with a hint
on the arena's last page for two pages, and checks that both land inside
the arena, the second below its hint.

(cherry picked from commit cf1c80d)

* fix(libSceUserService): report initialization the way the console does

Measured on a PS5 (firmware 13.60): before sceUserServiceInitialize and
after sceUserServiceTerminate, the login list, the event poll and
Terminate return NOT_INITIALIZED (0x80960002); a second Initialize
returns ALREADY_INITIALIZED (0x80960003); a new initialization reports
the initial user's login again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit bae9b32)

* feat(libSceNpCommerce): implement sceNpCommerceDialogOpen2

(cherry picked from commit 2b4cb38)

* fix(libSceNpCommerce): open sceNpCommerceDialogOpen2 as prosper does

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 68bddf8)

* fix(tests): skip the host mlock checks of guest_mlock in the ASan build

(cherry picked from commit baf02ca)

* fix(tools): preserve Unicode paths in PR overlap checks

(cherry picked from commit e2e57ce)

* test(libSceUserService): cover user event polling

(cherry picked from commit 741b34e)

* Revert "test(libSceUserService): cover user event polling" (boykopovar#3507)

The test calls sceUserServiceGetEvent without sceUserServiceInitialize, which
returns NOT_INITIALIZED since boykopovar#5233, so guest_user_service aborts on main.
boykopovar#5233's GuestUserServiceLifecycle covers the login event after Initialize.

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit fad72c5)

* test(pngenc): cover output capacity boundaries

(cherry picked from commit 8e1cf6d)

* fix(libScePad): check scePadSetVibrationMode's arguments in the console's order

Measured on a PS5 (firmware 13.60): before scePadInit the call returns
NOT_INITIALIZED (0x80920005); after it, a mode of 0 or below returns
INVALID_ARG before the handle is checked, and a bad handle with a
higher mode returns INVALID_HANDLE.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit b80fefd)

* docs: explain required app metadata in runtime layout

(cherry picked from commit d5209e3)

* docs: clarify app metadata selection and mounts

(cherry picked from commit 150c24c)

* fix(tools): link top-of-file insertions to line 1 in pr_overlap

A -U0 hunk for an insertion before line 1 starts at line 0, so two PRs
inserting at the top of one file produced a link to the nonexistent
line L0. hunks now clamps the start to line 1 and derives the end from
the clamped start. A test covers the clash range and the rendered link.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_012zyXkUzTZGh3nBwNMtrLaW
(cherry picked from commit a310f96)

* test(tools): give the progress encoding subprocess 60 s (boykopovar#6098)

The first cp1252 run timed out at 10 s on a loaded Windows runner (Build
runs 38642532107 and 38570483873); ctest still bounds the test at 120 s.

Co-authored-by: Claude <noreply@anthropic.com>
(cherry picked from commit d65b977)

* fix(libkernel): keep sem_timedwait debt entry on its own line, include <algorithm>/<cctype> in the kqueue test

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 970ff0c)

* fix(libScePlayGo): report missing chunk metadata

(cherry picked from commit a44689c)

* fix(pad): accept vibration mode 5

A title calls scePadSetVibrationMode(handle, 5)
at start-up, and main rejects any mode above 3 with
SCE_PAD_ERROR_INVALID_ARG (0x80920001). The title then carries on
with the call failed.

The modes are not documented. SharpProspero names 1 (advanced) and 2
(compatible); mode 3 was accepted for A title. The call now also
accepts 5, which a shipped title passes, and keeps rejecting the values
no title has been seen to use (4, 6 and above). The mode is stored as
before and has no other effect.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit d476518)

* fix(libSceNet): report SO_SNDBUF and SO_RCVBUF from sceNetGetsockopt

A title reads SO_RCVBUF on its UDP socket with
sceNetGetsockopt, and main fails it with EOPNOTSUPP (0x8041012d),
although sceNetSetsockopt already accepts the option.

FreeBSD 11.4 answers both options with the buffer's high-water mark
(sys/kern/uipc_socket.c, sogetopt), which setsockopt sets to the
requested size through sbreserve:

	case SO_SNDBUF:
		optval = so->so_snd.sb_hiwat;
		goto integer;

	case SO_RCVBUF:
		optval = so->so_rcv.sb_hiwat;
		goto integer;

sceNetGetsockopt now answers both. A size the guest set is reported as
set, as on FreeBSD; reading the host would give twice the value on
Linux, which doubles it. Before the guest sets one, the host socket's
current size is reported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 2c25b18)

* fix(libSceAudioOut): park guest audio calls at exit before the port tables are destroyed

The library registered no shutdown callback, so a guest mixer thread kept calling sceAudioOut2ContextPush while exit ran the static destructors and mixed from the freed port table (boykopovar#5864). Exports that read the port tables or output audio now hold a guard: once exit starts they park the thread with LibcAwaitExit_nid_postfix, and the shutdown callback waits for the calls already inside. A push waiting for a grain from sceAudioOut2ContextAdvance also wakes on the shutdown token, so the callback does not wait for an advance that is parked.

(cherry picked from commit e7219e4)

* feat(libSceJson2): implement sce::Json::String find, rfind, substr, append, clear, reserve and npos

(cherry picked from commit 495b4f5)

* fix(libScePlayGo): report optional chunks as supported and installed

A dump is fully installed, so scePlayGoGetSupportedOptionalChunk and
scePlayGoGetOptionalChunk report every optional chunk (language pack) like
scePlayGoGetLanguageMask reports every language. They returned an empty
bitmask, so a title hid every text language its playgo-scenario.json
lists as a chunk language, English included.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit c43af1f)

* fix(psml): name two exports that only had NIDs

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 6f5f176)

* feat(ngs2): support custom submixer rack UserFx module 0x1d

Accept SCE_NGS2_CUSTOM_MODULE_ID_USER_FX (0x1d) on custom submixer racks alongside UserFx2 (0x1f). When configuring a custom rack voice, support voice control parameter SCE_NGS2_CUSTOM_VOICE_PARAM_USER_FX (0x40001d00) to install custom submixer UserFx callbacks with user data. Run legacy UserFx callbacks during custom voice rendering and update sample presence flags accordingly.

Fixes a runtime abort in a title:
  terminate called after throwing an instance of 'std::runtime_error'
    what(): NGS2: custom module id 0x1d is not implemented
  FATAL: abort() (SIGABRT)

Closes boykopovar#5055

(cherry picked from commit 40e2019)

* fix(conventions): accept first-line BOM shebangs

(cherry picked from commit ef1f2b8)

* fix: drop the duplicate sceHttp2WebSocketSetPingTimeout stub, use MaxQueuedMs

The fork already returns 0 for sceHttp2WebSocketSetPingTimeout, so the
throwing stub from the upstream pick redefined it; keep the fork's
export and drop the stub and its technical debt line. The AudioOut2
grains pick referenced upstream's MAX_QUEUED_MS, which the fork names
MaxQueuedMs(context).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DgW4n3qYgi5jAAohEmXRQj

---------

Co-authored-by: simonbronk <275178677+simonbronk@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: ps54all <ps5@4.all>
Co-authored-by: klosixgaming-arch <klosixgaming@gmail.com>
Co-authored-by: jacob6769 <jacob67692@naver.com>
Co-authored-by: mrfelek <17274927+mrfelek@users.noreply.github.com>
Co-authored-by: pushkarreddyy <212133856+pushkarreddyy@users.noreply.github.com>
Co-authored-by: Adrià Franch <adriadam10@gmail.com>
Co-authored-by: KernelPanicNT <76663133+KernelPanicNT@users.noreply.github.com>
Co-authored-by: snipeTR <31975916+snipeTR@users.noreply.github.com>
Co-authored-by: AlxcBTW <187763517+AlxcBTW@users.noreply.github.com>
Co-authored-by: fdfawef324 <287205748+fdfawef324@users.noreply.github.com>
Co-authored-by: dantdmdarealguy <vaibhav.vaidish.898@gmail.com>
Co-authored-by: p3nicillin <lcmcclellan12@gmail.com>
Co-authored-by: ee6aba54 <340958984+ee6aba54@users.noreply.github.com>
Co-authored-by: xXPBSXx <20614131+xXPBSXx@users.noreply.github.com>
Co-authored-by: Nicolas Falesy <112726756+nicolasfalesy@users.noreply.github.com>
Co-authored-by: screamm <davidrydgren@gmail.com>
Co-authored-by: eljackjoestar-cmd <eljackjoestar@gmail.com>
Co-authored-by: Rick <99503318+0xRickx@users.noreply.github.com>
Co-authored-by: ducloc080202 <ducloc080202@gmail.com>
Co-authored-by: Yossi Yadgar <yadgar360@gmail.com>
Co-authored-by: hugodearaujo <hugoinjustice@gmail.com>
Co-authored-by: virp-mta <vaqrux1@gmail.com>
Co-authored-by: Niko <nikobilger2000@gmail.com>
Co-authored-by: David-cmrg <202826622+David-cmrg@users.noreply.github.com>
Co-authored-by: MiniRML <134226498+MiniRML@users.noreply.github.com>
Co-authored-by: krishalivaibhav <krishalivaibhav@gmail.com>
Co-authored-by: Anthony <132519619+Wild-Badger@users.noreply.github.com>
Co-authored-by: MarcZX100 <marczxrr@gmail.com>
Co-authored-by: GalaxyGamingFR <153150716+GalaxyGamingFR@users.noreply.github.com>
Co-authored-by: Adrià <57327458+adriadam10@users.noreply.github.com>
Co-authored-by: milescoviello <kitslayer29@gmail.com>
Co-authored-by: toxinexx <easysn92@gmail.com>
Co-authored-by: Cesar Rodriguez <11452991+Tamalero@users.noreply.github.com>
Co-authored-by: Kaua <kaua02249@gmail.com>
Co-authored-by: Kikoarl <7354010+Kikoarl@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant