Feature request: adding DuckStation standalone

DuckStation standalone is preferable to the slowish and bugged libretro core (not officially supported by the author too).
Will be good to try to compile an Aarch64 standalone version, to include in ArkOS, to see if it runs full speed on the 351 devices. It will basically solve the PS1 issues with the 351 devices (Metal Gear Solid, Soul Blade, R-Type Delta, Quake II, Crash Bash, Battle Arena Toshinden and other games that are bugged with the pcsx_rearmed core).

I don't think it will work due to the qt5 requirement but I'll try and see.  What issues are you having the MGS and BAT with pcsx-rearmed?  I run those fine on my end with the pcsx-rearmed core updated from the repo a couple of weeks ago.

With the libretro pcsx_rearmed core MGS has several visual glitches (for example the transistion just after the elevator is completely broken, BAT needs the PEOPS plugin to properly work (several effects don't works in the arm32 neon version).
Soul Blade crashes too. Did you have build your core from the notaz repo? I heard that some glitches are corrected.
However there a lot of famous games (like ISS Pro Evolution 2) that has serious problems in pcsx, being able to load a standalone version of DuckStation will be greato (with no enhancements obviosly): the libretro core can run at least a full speed R-Type Delta, Crash Bash, ISS Pro Evolution 2, MGS and Soul Blade, for example, are just some frames below the full speed.

Tested more games: sadly games that worked perfectly full speed on my PS Classic (pcsx_rearmed based) don't work good in ArkOS (even in Lakka).
There are a lot of stuttering, espexially at screen transutions (strange).
The strange thing is that after the stutter happened, it won't repeat anymore, as a sort of "caching".
If you reload the game it will reappen.
Examples:
first kick in a Football match in ISS Pro Evolution;
selecting a car and starting a race in Gran Turismo (stucks badly at the race start);
Kula World opening screen (the transition between copyright screen and menu is glitched) -> if you restart the game without closing retroarch it won't happen as badly as the firse loading (lol).
It is a bug?
They're happening only on the rg351: my mini classic consoles, my pi4, my PS Classic doesnt do that (and I don't think PS Classic is more powerful that an rk3326)

What is your specific unit?
If you, know how to load add core change cores, try restoring this older versiin of pcsx-rearmed and see if it performs any differently: https://github.com/christianhaitian/retroarch-cores/raw/4592a499af429368ee1e5737f8343fa332060600/arm7hf/pcsx_rearmed_libretro.so.zip

I have an RG351V. Tried your old core and behave exactly like my old core.
Made some videos to show you what's happening. I'd like to know if they're performance issues related to the rk3326, or something is wrong with my unit, or there are some bugs inherently to how retroarch works on this device.
It happens in Lakka 3.4, 3.6, ArkOS, 351elec and stock firmware.
It's driving me crazy because the stutterings and framerate problems happens only at the first "play": if you restart the race or match, the hiccups fade away.
That's so so strange, like some slow storage problems: I have already tried 4 different SanDisk SDs, and even the stock ones -> same problem.
Here's the videos:
https://youtube.com/shorts/fN99SUZIbIs?feature=share
https://youtu.be/8aP0DXJyf_8
https://youtu.be/FSC-ltCbl-c
They happen on your unit too?

Have you tried the non rumble enabled core?

Yes. Tried a lot of cores, the last, the one you sent to me, the rumble version and a core for arm32 I compiled myself in may.
My issue seems something like this one, no one answered (https://www.reddit.com/r/RG351/comments/nyao1n/ps1_games_audio_stutter_between_screen_transitions/).
I wasn't expecting full PS1 compatibility, due to pcsx_rearmed core (duckstation works without issues with few games) but I always read that RG351 devices has "perfect" ps1 emulation speed.
Fun fact: the duckstation core does the same stutterings in the same moments and they clean after the first "play" too.
I'm thinking some problems in reading the sd cards.

Not yet.  What program did you use to flash ArkOS onto your sd card?

Raspberry Pi imager, Win32DiskImager. Tried different times, different combinations and different sd cards.

Did you try going to the retroarch settings menu>quick menu>options>CD Access Method>Aynschronous or precache.?

Yes. The videos are with asynchronous option: it's the same.
Tried precache with a CHD too (precache doesnt work with a bin+cue): it's the same.
I'm puzzled by the fact that the stutters are only present when you first load a thing. Those devices uses some kind of cache?

Where did you get your Sandisk sd card from?

Some from Amazon, some from a physical shop. I don't think it's an SD problem: I use the same SDs on a Pi4 and it's all fine.
Maybe the rk3326 needa some kind of "threaded rendering: async" option like in the 3ds core.
Downloaded the vm image from you: I'll do a final try trying to compile a core with built_in_gpu option as UNAI renderer. Maybe half of the games needs that.

Are you using a dual sd card setup on the 351v?  If so, what file format are you using for the second sd card?  If using exfat, try ntfs and see if there's any difference there.

Yes, I'm using dual SD setup.
Tried launching games from the internal SD and it's the same.
I'm using exFAT with the second SD, I'll try NTFS.
Allocation unit size? Some difference?

Neither on an NTSF card.
I think it's something that can be resolved, it is not like slowdowns in N64 or Dreamcast games:
tried to activate the frame throttle and, aside from general slowdown (not too hard) it behaves the same:
stuttering when first loading something, no more stuttering after restarting the "play", even in frame throttle.
Fun fact: in some games, even after shutting down the device, if you load back a save state it stutters less.
What is happening?
I'm not an expert: is something related to the swapfile? I checked: the ram is essentially "empty" when playing, is strange.

One more item you can test is if you're experiencing issues with the updated screen timings.  You can try the stock timings by go to the options section and select switch to original screen timings.

You must have updated ArkOS to the 2.0 11/09/2021 version

Eheh found the culprit.
Im DuckStation core, with 32 sectors of readahead buffer (213kb) the stucks are gone eheh.
Too bad that DuckStation isn't full speed in many games (like Gran turismo).
Doesn't work with standard 8 sectors (53kb) of buffer.
In cdriso.c
https://github.com/libretro/pcsx_rearmed/blob/master/libpcsxcore/cdriso.c
the buffer is only 4096 byte eheh.
Wanna try recompile the core with 213kb of buffer?
Maybe the RG351 is intrinsically a slow reading device.
(P.S. the new it will be great to have a ~may 2021 version of the core too: many cd timing corrections of the last months solved many games issues but broken mamy others that worked flawlessy before. It will be great to have an "old fast" and a "new accurate" version of the core too eheh, I have quite a compatibility list here. Maybe we can made a "perfect" ps1 for ArkOS eheh).

Interesting.  It's an idea.

Maybe this core build from May of this year solves the issue?
https://github.com/christianhaitian/retroarch-cores/commit/c8624fea53cf6c1f9ae4d6ca7eb67f59ea1f7aef#diff-db05b6f2b9e479f0e7be6e63a0120f2bf2b3c5f14376bf16f556c0251e6bd714

mmm let me try

nope, it is the same. I'm trying to compile the standalone upstream version: how to launch it from emulation station??

you'd have to edit /etc/emulationstation/es_systems.cfg

tried to compile some core from the chroot armhf environment you did:
if I compile with "make -f Makefile.libretro" I got errors like "cpu doesn't support blabla in arm mode" when it encounters "gte.neon.S".
If I compile with "./configure --platform=libretro" and then "make -f Makefile" it works, and the core works on the RG351V but doesn't have the dynarec, so it is slow (managed to compile with UNAI gpu too, that can resolve some graphic issues in some games".
How do you compile the 32 bit cores for the rk3326?

You can use scripts from here.  Those that support 32bit I've marked in the README.MD.

Ooooh thanks! I used a different version of your script to compile. I'm experimenting: I compiled a an UNAI version and it plays finally MGS without graphical glitches and slowdowns :D.
I'll tell you more but first, how to use different version of the same core and launch it from Emulationstation? For now I'm renaming one as pcsx_rearmed_rumble to launch it differently from the frontend eheh

If it’s still a libretro core, just add another <core>corename_without_libretro</core> to the psx section of /etc/emulationstation/es_systems.cfg

Maybe try the 1.9.14 build of Retroarch that just released today?

Ok, I'm experimenting. Found some interesting things (like MGS full speed without visual glitches).
Can I wrote here in this issue or I'm messing it up?

Here is fine

Ok, Gran Turismo is performing better with CPU >85 but there is still a "freeze" when starting the first race of the play session.
I'm using a core compiled as:
make -f Makefile.libretro HAVE_NEON=1 ARCH=arm BUILTIN_GPU=neon DYNAREC=ari64 platform=rk3326 -j4
with the device
# (armv8 a35, hard point, neon based) ###
'# RG351'
else ifeq ($(platform), rk3326)
	TARGET := $(TARGET_NAME)_libretro.so
	fpic := -fPIC
	CFLAGS += -Ofast \
	-fmerge-all-constants -fno-math-errno -march=armv8-a \
	-marm -mtune=cortex-a35 -mfpu=neon-fp-armv8 -mfloat-abi=hard
	HAVE_NEON = 1
	ARCH = arm
	BUILTIN_GPU = neon
	DYNAREC = ari64
	LDFLAGS += -static-libgcc -static-libstdc++ -fPIC`

added in the Makefile.libretro.
You were compiling with Pi3 option: Pi3 is a cortex a53, rk3326 is a cortex a35, as the PSC.
I managed to play MGS without graphical glitches and slowdown with a core built with UNAI gpu, not NEON:
it is a little slower, so you have to enable threaded rendering to async (sync works but a little slowdown in the end of the opening cinematic): the async option eats some frames sometimes but it runs fullspeed all the time with "perfect graphics" (no more glitches during cutscenes and slowdowns).
make -f Makefile.libretro HAVE_NEON=1 ARCH=arm BUILTIN_GPU=unai THREAD_RENDERING=1 DYNAREC=ari64 platform=rk3326 -j4
Is "perfmax" on when launching PSX games?
Checked the governor, max cpu speed is set to 1416 MHz

Ok, using the core compiled from the notaz repository solve the stutterings. BUT in the libretro version of that you cannot change the psx_clock value, so I'm adding this option to obtain a smooth framerate.

perfmax is enabled when launching psx.  You should submit a PR to the libretro psx repo to have the rk3326 platform added.  Until then, what's your recommendation at this point for pcsx-rearmed?

Sorry for the late response, now that I added the option to overclock the psx cpu to the notaz repo (the libretro core) basically the emulation of the psx on the rg351 is "perfect".
I have to submit some PR to the libretro and notaz repos. We can make it even better if we made some sligthly modifications more.
Basically you have to choose a specific core per game and you're ok with most games.
I'm kinda busy at the moment, later I'll tell you all the stuff. If you want I can make a wiki section for the psx settings for ArkOS.

No problem.  For now, I just want to use your modified compile flags.  I can create a patch for it until it's upstreamed.  Thanks

Ok, basically pcsx_rearmed is kind of a "mess": you have to use specific core (+ configuration) per game, for the optimal experience (like the POPS plugins for the psp).
I'm testing games and finding the right core/option combination to run them optimally.
I have never pushed a PR on Github, I'm kind of a noob, if you tell me how to do it I'll do it.
Per now the best is to use the Notaz upstream version for everything that doesn't need the UNAI gpu, because the upstream version for now doesn't have the threaded rendering needed to run the UNAI gpu fullspeed on these potato devices.
The notaz repo has no dualshock support in the libretro version, but I've added the CPU clock option that was needed to run games with the right framerate (for now I added 4 options: default (57), PAL optimized (70), NTSC optimized (85) and max (100) (https://www.reddit.com/r/PlaystationClassic/comments/aa2d5q/finding_the_optimal_clock_speed/).
Because of the no dualshock (and messy analog support) and no rumble in the notaz libretro version (we can add to it without problems later I think) it's good to keep the pcsx_rearmed_rumble version too (basically the last libretro NEON gpu version with the rumble patch, if I understand correctly).
https://drive.google.com/drive/folders/1IN_J75x8DhDl8EHfnxC2h2pdi1v5pE1p?usp=sharing
try these core:
the libretro UNAI solves graphical issues in FF VII, No Fear Downhill, MGS (remember to use threaded rendering on sync for better performances, on MGS you need the async option for fullspeed.
Try the "notaz" core and you will see no stuttering and things like no more open polygons in Crash Team Racing.
Recent cd fixes solved some issues in games like Castlevania and Medievil but introduced glitches in the music of games like ISS Pro Evolution, Ballistic etc... so I use a fourth old core (the ones from may that you sent to me).
I'm writing a spreadsheet for the exact optimal core/configuration per game.
Thanks for your patience.

That makefile and settings (unai gpu) are for the libretro version, the notaz repo doesn't have the threaded rendering, so it's useless with the unai for the rk3326.
Later I'll send you all the stuff and the modification I made to to the notaz for using the cpu clock.

I tried with the libretro repo and got the same results.  I'll wait for your notes.

I'm a n00b so, try to compile that https://github.com/CometHunter92/pcsx_rearmed
with
make -f Makefile.libretro HAVE_NEON=1 ARCH=arm BUILTIN_GPU=neon DYNAREC=ari64 platform=rk3326 -j4

here's the libretro version
https://wetransfer.com/downloads/b1a01dd8c14345ea7a89d9333282db7520211209221539/a39e15
for the NEON version try:
make -f Makefile.libretro HAVE_NEON=1 ARCH=arm BUILTIN_GPU=neon DYNAREC=ari64 platform=rk3326 -j4
for the unai version try:
make -f Makefile.libretro HAVE_NEON=1 ARCH=arm BUILTIN_GPU=unai DYNAREC=ari64 THREAD_RENDERING=1  platform=rk3326 -j4

Still no dice to compile on my end using the libretro repo for unai.  Can you fork the libretro repo to your github, and provide your changes, confirm it compiles with unai and let me know if it works for you?

Have you tried to compile locally the libretro version in the WeTransfer link?
I'm a n00b, I forked the notaz repo and now cannot fork the libretro one, for that I put all the directory of the libretro one in that zipped file. If you want you can fork the libretro repo and upload that zipped repo.

I have not tried that one.  Did you make your changes in it?

Yep, that's why I uploaded to you. I managed to fork only the notaz repo, these repos have the same name and when I try to fork the libretro one too it pushes me back because I have already one "pcsx_rearmed" forked from notaz.

Compiled a standalone version of DuckStation with wayland. How can I try it?

Ok, doesn't work, it says
ark@rg351v:/opt/duckstation$ ./duckstation-nogui
Program directory "/opt/duckstation"
User directory: "/home/ark/.local/share/duckstation"
[    0.0023] I/SDLControllerInterface: Loading game controller mappings from '/opt/duckstation/database/gamecontrollerdb.txt'
[    0.3739] E(GetPlatformWindowInfo): Unhandled syswm subsystem 0
[    0.3740] E(ReportError): Failed to get platform window info
[    0.3740] E(Initialize): Failed to create host display

Tried to launch standalone scummvm from the ssh and it worked, so...
Is it possible to launch duckstation from retrorun to get a little more performances?

you can try it and see what you get.

Ok, how to launch a core from retrorun? I have to create a playstation.sh like the saturn.sh (for example) and launch it from es_systems.cfg?

see /usr/local/bin/dreamcast.sh for examples on how to launch it.

ok thanks

For PSX games, there's also an interesting thread here, explaining how an sdcard with a bigger cluster size, can improve reading CHD games: https://www.reddit.com/r/retroid/comments/icsw32/i_spent_entirely_too_much_time_researching/?utm_medium=android_app&utm_source=share
Thanks

Very true.  The other side is that it waste space for smaller files which many of the non cd based systems are.  I honestly don't bother with CHD files and just get a big enough card to handle the collection of CD based games I plan to play in cue/bin format.

@CometHunter92 I've updated the psx retroarch cores in the repo to add the pcsx_rearmed_peops_libretro.so and pcsx_rearmed_rumble_peops cores on the 32bit side.  Can you test and confirm both perform as expected.  I want to be sure the build process I"m following mimics your results with the cores you built.  I also update the 64 bit build as well.
Thanks again,

Yes! Where I can find your repo that I don't remember? Just downloading the cores from retroarch in a RG351 device?

You can do the update via retroarch or download it manually from here: https://github.com/christianhaitian/retroarch-cores/tree/master/arm7hf

and here for 64bit: https://github.com/christianhaitian/retroarch-cores/tree/master/aarch64

Thanks, now I test them but the MD5 checksum isn't the same as mine: what is the script you used for build them?

script is here: https://github.com/christianhaitian/rk3326_core_builds/blob/main/scripts/pcsx_rearmed.sh
Patches applied
https://github.com/christianhaitian/rk3326_core_builds/blob/main/patches/pcsx_rearmed-patch-build.patch
https://github.com/christianhaitian/rk3326_core_builds/blob/main/patches/pcsx_rearmed-patch-rumble.patch

Don't know why but the pcsx_rearmed_peops, for example, doesn't seem to have the peops options in.
It's strange, I'm trying to understand the error in https://github.com/christianhaitian/rk3326_core_builds/blob/main/scripts/pcsx_rearmed.sh

It seems like the configuration in "rk3326" overrides the configuration from the Makefile command.
However I'll make you notice that line "58", line "60" and line "101" you're still pointing to an "rpi3" build.
It's unrelated to this issue but still.

It's very very strange, these cores have performance issues and seems "glitchy":
the peops versions act graphically as the peops plugin but they show the NEON options in the menu:
have you implemented something like
make -f Makefile.libretro clean
between the buildings?
You should add a line like that after compiling ALL cores or you will have glitches, I've experimented that in the past time.

P.S you copied my error before I corrected it, at https://github.com/christianhaitian/rk3326_core_builds/blob/main/patches/pcsx_rearmed-patch-build.patch line 30 should be "64 bit", doesn't affect code obviously but it can generate some confusion

Ok.  I'll do a clean between builds and see if that helps.

~It seems like the configuration in "rk3326" overrides the configuration from the Makefile command.~ However I'll make you notice that line "58", line "60" and line "101" you're still pointing to an "rpi3" build. It's unrelated to this issue but still.

Those rpi3 builds is because the cpu is tuned to a35 with the sed that happens on the makefile.libretro before the make is run. https://github.com/christianhaitian/rk3326_core_builds/blob/77f139dd11a92cc6cba08cf3cbd15a0dbf7713d0/scripts/pcsx_rearmed.sh#L54

~It seems like the configuration in "rk3326" overrides the configuration from the Makefile command.~ However I'll make you notice that line "58", line "60" and line "101" you're still pointing to an "rpi3" build. It's unrelated to this issue but still.

Those rpi3 builds is because the cpu is tuned to a35 with the sed that happens on the makefile.libretro before the make is run. https://github.com/christianhaitian/rk3326_core_builds/blob/77f139dd11a92cc6cba08cf3cbd15a0dbf7713d0/scripts/pcsx_rearmed.sh#L54

You should just point to the "rk3326" or "rk3226_64" because the RK3326 is an ARM A53, not an ARM A35 like the RPi3.
It's possibile?

The rk3326 is a a35 processor.  The RPI3 is a A53 processor.

The rk3326 is a a35 processor. The RPI3 is a A53 processor.

Yes lol sorry, I inverted them now,  but in fact the "rk3326" and "rk3326_64" build options have the correct flags for the arm a35 processor.
So when you launch the rpi3 build you still have the correct a35 flags and not the a53 of the rpi3 build options?

I'll try that and see if it helps.

@CometHunter92 I've updated the 32bit pcsx_rearmed cores.  Please test them when you can.  Thanks

Tested them briefly but now they work as they're intended to.
Tested the 32 bit peops and the 64 bit unai and they work exactly like mine in the games I tested.
Nice! Now the plugin's options are showed in the menu and the performance is good.
Nice work!
It was the "make clean" the culprit?

One last thing:
make a patch to use the "sync" as the default option in "Threaded Rendering" or the people will complain about performances with the 32 bit peops core.
https://github.com/CometHunter92/pcsx_rearmed/commit/63aa1cc18f2821716482113ad01b2efacfd26afe

That and I decided to build them all with your rk3326 definition. I already included a patch with the sync as default with these builds. https://github.com/christianhaitian/rk3326_core_builds/blob/main/patches/pcsx_rearmed-patch-enable-threaded-rendering.patch

Given that Duckstation Standalone is no longer continuing development on the Linux side (https://www.youtube.com/watch?v=v-iRW7BAoOU), i'm closing this ticket.


Auto convert separation symbols when comparing search results

Automatically convert , ; / & etc to a certain character (I rec. ; as it's the accepted one in ID3v2.4 or / which is used for QQ Music) when comparing search results.
This means after the fuzzy search and trying to select a result, ignore differences in these symbols i.e. if they only differ in these symbols, treat them as the same. For implementing maybe just replace all the characters.

BTW, I think #242 should be reconsidered.

It could also search with just the first artist's name. Often when a search fails, searching again with just the first artist's name succeeds


Forums: delete unneeded data fields

On Forum summary page, the following data fields can be removed:

isLocked
isModerated
isPostFirst
openDate
closeDate
assocGradebookItemName
isDraft
modifiedDate
modifiedBy

topics

modifiedDate
modifier
isLocked
isPostFirst
assocGradebookItemName
openDate
closeDate

Done!

@dah36 - Is this what you are looking for?

@steveswinsburg Let's cancel this one. David and I are looking at the HTML layout of all the tools most holistically and will submit a different ticket.


Document making Vagrant development environment reachable for testing integrations

While Zulip has an excellent integrations dev panel, sometimes it's useful to be able to have an external service (e.g. JIRA) send webhooks to the development environment directly.
It took me a while to piece together all of the information needed to make my Zulip development environment reachable, so it might be worth documenting all of this in one place.
These are the steps I took:

Modify this line to <IP_ADDRESS> so that the VM is reachable.

https://github.com/zulip/zulip/blob/de66b3b0f19e7faf16cdae9de08fa082294f9bec/Vagrantfile#L77

Run export EXTERNAL_HOST="$IP_OF_HOST:9991" (or prefix the ./tools/run-dev.py command with it).

Pass --interfaces='' to ./tools/run-dev.py.

I agree that this would be useful.  For cloud services, this also requires a public IP address (or instructions for how to configure something to proxy to your laptop), so we should be sure to mention that.  I'm not sure where to put it; maybe a new section at the bottom of https://zulip.readthedocs.io/en/latest/development/using.html (plus a link from the integrations developer guide?)


Cannot read property 'string' of undefined | React.PropTypes | LayoutPropTypes.js

After deleting and reinstalling my node_modules folder, I'm facing an issue that I don't understand in LayoutPropTypes.js file.
In node_modules/react-native/Libraries/StyleSheet/LayoutPropTypes.js
The following variable is undefined : var ReactPropTypes = require('React').PropTypes;
react-native: 0.45.1
react: 16.0.0-alpha.12
Hey @hramos , don't close this issue giving an advice to search for solution on StackOverflow. It is a critical issue. My whole development is down because of this. And of course, first I tried to look an answer on StackOverflow, the only answer is to use prop-types package, but HOW in RN source?!

Did you try Reactiflux? If you really think this belongs in the issue tracker, at least make an effort to fill out the template. Thanks!


remove "defidx" and related classes

@bratseth please review and merge

it seems something went wrong with my git handling, making a new one...


Unable to read data from contracts deployed to Topos Testnet

I get this error whenever I try to read data from the topos contract:
errors.js:124 Uncaught (in promise) Error: could not decode result data (value="0x", info={ "method": "contentVotes", "signature": "contentVotes(bytes32)" }, code=BAD_DATA, version=6.9.0)
    at makeError (webpack-internal:///(app-pages-browser)/./node_modules/ethers6/lib.esm/utils/errors.js:137:21)
    at assert (webpack-internal:///(app-pages-browser)/./node_modules/ethers6/lib.esm/utils/errors.js:156:15)
    at Interface.decodeFunctionResult (webpack-internal:///(app-pages-browser)/./node_modules/ethers6/lib.esm/abi/interface.js:792:64)
    at staticCallResult (webpack-internal:///(app-pages-browser)/./node_modules/ethers6/lib.esm/contract/contract.js:265:35)
    at async staticCall (webpack-internal:///(app-pages-browser)/./node_modules/ethers6/lib.esm/contract/contract.js:230:24)
    at async Proxy.contentVotes (webpack-internal:///(app-pages-browser)/./node_modules/ethers6/lib.esm/contract/contract.js:270:20)

Writing to the contracts works fine, however.
But  I realised that the transaction receipt after writing to the topos network comes with no logs.
Transaction Receipt from creating a post On Topos Network:
    "_type": "TransactionReceipt",
    "blockHash": "0xa43639e1748d9bd404ecf6aeb45bd74e8b7907efdb2baff7ceb3d34fafdfc097",
    "blockNumber": 26255,
    "contractAddress": null,
    "cumulativeGasUsed": "21432",
    "from": "0xf7A4aaA6824bd6a6f7Fb1478F7319A6538d8CCbC",
    "gasPrice": "1433300",
    "gasUsed": "21432",
    "hash": "0x1404db761197064c4a134bcd2f30d43d74b3c1804fa89ce858e45a3c6bc5f5df",
    "index": 0,
//🔴empty logs
    "logs": [],
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "root": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "status": 1,
    "to": "0x169D209c8210F11e292BA9D923525A29A9759787"
}

Transaction receipt from creating a post on polygon mumbai:
{
    "_type": "TransactionReceipt",
    "blockHash": "0x67f11b51d47a846c7fe582459c70150bdc74c55a3db639f03102e0d937abb1f1",
    "blockNumber": 43237872,
    "contractAddress": null,
    "cumulativeGasUsed": "289710",
    "from": "0xDb9ebFe6092f8B3Cb22A6236c69ca460fA1a4aE1",
    "gasPrice": "1500000015",
    "gasUsed": "45941",
    "hash": "0xd1a9d43174ecacefb7da1bf90f42a5da8a3eac5be155899b161bfae281b75db0",
    "index": 3,
  //🔴logs` as expecteed
    "logs": [
        {
            "_type": "log",
            "address": "0xcc484A378714d5Eb7608280d5f2693A9A87116B7",
            "blockHash": "0x67f11b51d47a846c7fe582459c70150bdc74c55a3db639f03102e0d937abb1f1",
            "blockNumber": 43237872,
            "data": "0x417452323442726751516439434c4532774b6c31000000000000000000000000",
            "index": 8,
            "topics": [
                "0x71d58f643edf3d402ab8476ecd4351de00374789657d01019787587ed82d5e9c",
                "0x000000000000000000000000db9ebfe6092f8b3cb22a6236c69ca460fa1a4ae1"
            ],
            "transactionHash": "0xd1a9d43174ecacefb7da1bf90f42a5da8a3eac5be155899b161bfae281b75db0",
            "transactionIndex": 3
        },
        {
            "_type": "log",
            "address": "0x0000000000000000000000000000000000001010",
            "blockHash": "0x67f11b51d47a846c7fe582459c70150bdc74c55a3db639f03102e0d937abb1f1",
            "blockNumber": 43237872,
            "data": "0x00000000000000000000000000000000000000000000000000003eacb57a7b0000000000000000000000000000000000000000000000000022c3eae6c32b1d8f00000000000000000000000000000000000000000000001e5a7391ae636db4da00000000000000000000000000000000000000000000000022c3ac3a0db0a28f00000000000000000000000000000000000000000000001e5a73d05b18e82fda",
            "index": 9,
            "topics": [
                "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63",
                "0x0000000000000000000000000000000000000000000000000000000000001010",
                "0x000000000000000000000000db9ebfe6092f8b3cb22a6236c69ca460fa1a4ae1",
                "0x00000000000000000000000004ba3ef4c023c1006019a0f9baf6e70455e41fcf"
            ],
            "transactionHash": "0xd1a9d43174ecacefb7da1bf90f42a5da8a3eac5be155899b161bfae281b75db0",
            "transactionIndex": 3
        }
    ],
    "logsBloom": "0x00000000000000000000000000000004000000000000000000000000000004800000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000800800000000000080000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000004000000008000000000000000000800000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000002000000000000000000000000000300000",
    "status": 1,
    "to": "0xcc484A378714d5Eb7608280d5f2693A9A87116B7"
}

steps to reproduce:

set NEXT_PUBLIC_DEVCHAIN to 2359 in .env.development to use topos chain. ( The folder names in frontend/nextjs/src/deployments represent the chains ids for the chains to which the contract has deployed. This value can be set to any of them)
start project.
I have temporarily exposed the contract objects on the window  object in contracts.js, line 96) so you can interact with it from the browser console (Eg: EMTMarketPlace.mentTokenAddress())

@mickeymond @od41

@mickeymond helped discover that there was a scheduled topos testnet reset which wiped out the deployed contracts, causing this error. I redeployed and the issue was fixed.


Add support for OpenSUSE Leap

Fixes #491

Coverage increased (+0.2%) to 89.499% when pulling 845d0872b86b1e91a31cb8685fa4a0b0a23098d5 on DStape:add-openSUSE-leap-support into 01b7efe7e75e1ce4dc6fa7135ba557fabf4194fe on matschaffer:master.

Coverage increased (+0.2%) to 89.499% when pulling 845d0872b86b1e91a31cb8685fa4a0b0a23098d5 on DStape:add-openSUSE-leap-support into 01b7efe7e75e1ce4dc6fa7135ba557fabf4194fe on matschaffer:master.

Thanks! Looks like the test failure is gem versions so not likely anything to do with this PR. Will need to sort it out before release though.


Adding DrawCubeWiresV for convenience

Adding DrawCubeWiresV for convenience as the library has DrawCubeV.

Thanks for the addition!

Thanks for the addition!

Thanks for the library :)


redis can not start success-

vagrant up
and See error
redis not start
and I vagrant ssh to redis vm,run script, I found script can not make directory in /home/vagrant
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Kuma: [e.g. v0.3.1]
Environment [e.g. Kubernetes, Universal]
Browser [e.g. chrome, safari]

Additional context
Add any other context about the problem here.

I hava the same probem .
error msg :
 redis: Running: /var/folders/ql/9lb5vf4s6hz5xv7m7h12jbjh0000gn/T/vagrant-shell20200806-20264-1uh6sk0.sh
    redis: Error: Could not create a resource (Resource is not valid)
    redis: * networking.inbound[0].tags["kuma.io/service"]: tag has to exist
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

the tag issue is now resolved thanks to pr #86 by @jakubdyszkiewicz. Tags had some breaking change in v0.7.0, apologizes for not updating this part the demo to fix it.

along with pr #88 that I just merged, should fix any remaining issues with running the demo on universal. once again, sorry for the inconvenience folks!
I'll close off this issue for now. If you encounter anything else, feel free to create a new issu


Getting errors when running any artisan command after installing entrust

I recently installed Entrust via composer.  I've been trying to run the two following commands but they both give me the same error.
php artisan app:name MyApp

and
php artisan entrust:migration

They both give this error:
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined method Illuminate\Foundation\Application::bindShared()

Hi qwertytech,
Do this. I hope this will help you. https://github.com/Zizaco/entrust/pull/459#issuecomment-167227538.

I have this problem too, help:
search in project bindShared and rename to singleton()

@DarkCobalt I found that answer too but if I ever use composer update it will overwrite my change.  I was hoping for a supported fix so that I can continue to use composer update.

I had this issue and fixed it by using the dev-master branch instead. Go into your config/app.php file and comment out the entrust stuff in there. Then update your composer file to use the following instead:
"zizaco/entrust":"dev-master",

Then run composer update and then finally uncomment out the stuff in the app config that you commented out earlier.

running dev-master on 5.2.10  getting:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Fatal error: Class name must be a valid object or a string
Is there a PR for this?

yes there is, https://github.com/Zizaco/entrust/issues/462


pkg_rpm: Specify _topdir for install stanza

If we don't specify the _topdir as part of the install-from path we can't seem to find the correct files to install when using a set of rules like:
pkg_filegroup(
    name = "my_filegroup",
    srcs = [
      "//some/label:foo",
    ],
    prefixs = "/usr/bin",
)

pkg_rpm(
    name = "rpm",
    ...
    srcs = [
        ":my_filegroup",
    ],
)

Adding %{{_topdir}/BUILD/ as a prefix to the source path seems to solve this problem.

Can you add a test for this and explain more clearly what is failing?
The RPM builder has been working for a long time, and some test input is from pkg_filegroup, so it is surprising that the code is so for off.

Can you add a test for this and explain more clearly what is failing? The RPM builder has been working for a long time, and some test input is from pkg_filegroup, so it is surprising that the code is so for off.

I'll try to rig up a test for this tomorrow and also provide more details.  The tl;dr was that it couldn't find the expected inputs in the relative path, but putting the prefix in place means it becomes an absolute path and can be resolved.

Can you add a test for this and explain more clearly what is failing? The RPM builder has been working for a long time, and some test input is from pkg_filegroup, so it is surprising that the code is so for off.

Still working through adding a test for this, but figured I'd provide a bit more detail as to what the failure (and my rules) look like.  I'm using https://github.com/bazelbuild/examples/tree/main/cpp-tutorial/stage1 as a simple scaffold for verifying the failure.  My rules are as follows:

main/BUILD:

load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "pkg_attributes")

pkg_files(
    name = "exe",
    srcs = [
        ":hello-world",
    ],
    visibility = ["//visibility:public"],
    attributes = pkg_attributes(
        mode = "0755",
        user = "root",
        group = "root",
    ),
)

Root BUILD:
load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup")
load("@rules_pkg//pkg:rpm.bzl", "pkg_rpm")

pkg_filegroup(
    name = "rpm_filegroup",
    srcs = [
        "//main:exe",
    ],
    prefix = "/usr/bin",
)

pkg_rpm(
    name = "rpm",
    package_name = "example",
    license = "bar",
    summary = "baz",
    version = "1.0.0",
    release = "foo",
    description = "bam",
    architecture = "x86_64",
    srcs = [
        ":rpm_filegroup",
    ],
)

in WORKSPACE I'm configuring things with:
load("@rules_pkg//toolchains/rpm:rpmbuild_configure.bzl", "find_system_rpmbuild")

find_system_rpmbuild(name="rule_pkg_rpmbuild")

Where @rules_pkg is just pointing at a fresh clone of rules_pkg in my local worktree.
When I run bazel build rpm the output I get is:
> bazel build rpm
Loading:
Loading:
Loading: 0 packages loaded
Analyzing: target //:rpm (1 packages loaded, 0 targets configured)
INFO: Analyzed target //:rpm (2 packages loaded, 5 targets configured).
INFO: Found 1 target...
bazel: Entering directory `/tmp/mkelly/bazel/execroot/__main__/'
[0 / 8] [Prepa] BazelWorkspaceStatusAction stable-status.txt
INFO: From MakeRpm example-1.0.0-foo.x86_64.rpm:
Error calling rpmbuild:
Executing(%install): /bin/sh -e /tmp/tmp2s0xmxiy/TMP/rpm-tmp.u26xbD
+ umask 022
+ cd /tmp/tmp2s0xmxiy/bld-x86_64/example
+ '[' /tmp/tmp2s0xmxiy/BUILDROOT '!=' / ']'
+ rm -rf /tmp/tmp2s0xmxiy/BUILDROOT
++ dirname /tmp/tmp2s0xmxiy/BUILDROOT
+ mkdir -p /tmp/tmp2s0xmxiy
+ mkdir /tmp/tmp2s0xmxiy/BUILDROOT
++ dirname /usr/bin/hello-world
+ install -d /tmp/tmp2s0xmxiy/BUILDROOT//usr/bin
+ cp bazel-out/k8-fastbuild/bin/main/hello-world /tmp/tmp2s0xmxiy/BUILDROOT//usr/bin/hello-world
cp: cannot stat 'bazel-out/k8-fastbuild/bin/main/hello-world': No such file or directory
error: Bad exit status from /tmp/tmp2s0xmxiy/TMP/rpm-tmp.u26xbD (%install)

RPM build errors:
    Bad exit status from /tmp/tmp2s0xmxiy/TMP/rpm-tmp.u26xbD (%install)

No RPM file created.
ERROR: /tmp/test/examples/cpp-tutorial/stage1/BUILD:12:8: output 'example-1.0.0-foo.x86_64.rpm' was not created
ERROR: /tmp/test/examples/cpp-tutorial/stage1/BUILD:12:8: MakeRpm example-1.0.0-foo.x86_64.rpm failed: not all outputs were created or valid
bazel: Leaving directory `/tmp/mkelly/bazel/execroot/__main__/'
Target //:rpm failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 0.255s, Critical Path: 0.17s
INFO: 2 processes: 1 internal, 1 linux-sandbox.
FAILED: Build did NOT complete successfully

cp bazel-out/k8-fastbuild/bin/main/hello-world /tmp/tmp2s0xmxiy/BUILDROOT//usr/bin/hello-world
cp: cannot stat 'bazel-out/k8-fastbuild/bin/main/hello-world': No such file or directory
I'm scratching my head a bit on this. That should be the path to hello-world.

cp bazel-out/k8-fastbuild/bin/main/hello-world /tmp/tmp2s0xmxiy/BUILDROOT//usr/bin/hello-world
cp: cannot stat 'bazel-out/k8-fastbuild/bin/main/hello-world': No such file or directory
I'm scratching my head a bit on this. That should be the path to hello-world.

That would be my expectation and with this PR it actually correctly points to it because the path ceases to be relative.  When you take the example repo and apply my BUILD + WORKSPACE setup what do you get?
Also, missed part of my WORKSPACE the correct variant also includes:
local_repository(
    name = "rules_pkg",
    path = "/home/mkelly/repos/bazel/rules_pkg",
)

load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")

rules_pkg_dependencies()

After a bit of thrashing around with the Fedora docker image it seems like I got this working and it's using rpmbuild 4.18.1 - I'll see if I can upgrade rpmbuild in my build environment to determine if this also happens there.
Secondary to this, should there be a minimum version check for the version of rpmbuild being used?


Added some linting tools

@avishayil did you mean to change the templates?
remove depends on, add " ", remove mapping?


One of three nodes didn't delete object which had been deleted by kubernetes

I have a three nodes etcd cluster. It is the data store of my kubernetes cluster. But I found inconsistency of the etcd cluster today. The state of my etcd cluster is:
https://<IP_ADDRESS>:2379, 6c66db9dc17b0eb5, 3.2.7, 136 MB, false, 54529, 17002106
https://<IP_ADDRESS>:2379, 5227f18ffa089aec, 3.2.7, 136 MB, true, 54529, 17002949
https://<IP_ADDRESS>:2379, e448a37828aa0925, 3.2.7, 240 MB, false, 54529, 17003472

I get all keys from the three nodes respectively, node <IP_ADDRESS> and node <IP_ADDRESS> are totally same. However, node <IP_ADDRESS> has some objects that I have deleted with kubectl.
To figure out the inconsistency, I run kubectl create ns etcd-test. Then get the object from three nodes, the command and results are:
ETCDCTL_API=3 etcdctl --cacert="/etc/kubernetes/ssl/ca.pem" --cert="/etc/flanneld/ssl/flanneld.pem" --key="/etc/flanneld/ssl/flanneld-key.pem" --endpoints=https://<IP_ADDRESS>:2379 get /registry/namespaces/etcd-test -w json | jq
{
  "header": {
    "cluster_id":<PHONE_NUMBER>4831794000,
    "member_id":<PHONE_NUMBER>323120000,
    "revision": 7183747,
    "raft_term": 54529
  },
  "kvs": [
    {
      "key": "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZXRjZC10ZXN0",
      "create_revision": 7177967,
      "mod_revision": 7177967,
      "version": 1,
      "value": "azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmEKRwoJZXRjZC10ZXN0EgAaACIAKiRjODQ4Y2EzMy0wNWJmLTExZTgtOWVhYy0wMDBjMjlhZWNjMTYyADgAQggIreDB0wUQAHoAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA=="
    }
  ],
  "count": 1
}

ETCDCTL_API=3 etcdctl --cacert="/etc/kubernetes/ssl/ca.pem" --cert="/etc/flanneld/ssl/flanneld.pem" --key="/etc/flanneld/ssl/flanneld-key.pem" --endpoints=https://<IP_ADDRESS>:2379 get /registry/namespaces/etcd-test -w json | jq
{
  "header": {
    "cluster_id":<PHONE_NUMBER>4831794000,
    "member_id":<PHONE_NUMBER>879292000,
    "revision": 7183284,
    "raft_term": 54529
  },
  "kvs": [
    {
      "key": "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZXRjZC10ZXN0",
      "create_revision": 7177967,
      "mod_revision": 7177967,
      "version": 1,
      "value": "azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmEKRwoJZXRjZC10ZXN0EgAaACIAKiRjODQ4Y2EzMy0wNWJmLTExZTgtOWVhYy0wMDBjMjlhZWNjMTYyADgAQggIreDB0wUQAHoAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA=="
    }
  ],
  "count": 1
}

 ETCDCTL_API=3 etcdctl --cacert="/etc/kubernetes/ssl/ca.pem" --cert="/etc/flanneld/ssl/flanneld.pem" --key="/etc/flanneld/ssl/flanneld-key.pem" --endpoints=https://<IP_ADDRESS>:2379 get /registry/namespaces/etcd-test -w json | jq
{
  "header": {
    "cluster_id":<PHONE_NUMBER>4831794000,
    "member_id":<PHONE_NUMBER>5444371000,
    "revision": 2613905,
    "raft_term": 54529
  },
  "kvs": [
    {
      "key": "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZXRjZC10ZXN0",
      "create_revision": 2611610,
      "mod_revision": 2611610,
      "version": 1,
      "value": "azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmEKRwoJZXRjZC10ZXN0EgAaACIAKiRjODQ4Y2EzMy0wNWJmLTExZTgtOWVhYy0wMDBjMjlhZWNjMTYyADgAQggIreDB0wUQAHoAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA=="
    }
  ],
  "count": 1
}

Later I delete this namespace using kubectl delete ns etcd-test. Then run the same get command, the results are:
{
  "header": {
    "cluster_id":<PHONE_NUMBER>4831794000,
    "member_id":<PHONE_NUMBER>323120000,
    "revision": 7208175,
    "raft_term": 54529
  }
}

{
  "header": {
    "cluster_id":<PHONE_NUMBER>4831794000,
    "member_id":<PHONE_NUMBER>879292000,
    "revision": 7212676,
    "raft_term": 54529
  }
}

{
  "header": {
    "cluster_id":<PHONE_NUMBER>4831794000,
    "member_id":<PHONE_NUMBER>5444371000,
    "revision": 2630145,
    "raft_term": 54529
  },
  "kvs": [
    {
      "key": "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZXRjZC10ZXN0",
      "create_revision": 2611610,
      "mod_revision": 2611610,
      "version": 1,
      "value": "azhzAAoPCgJ2MRIJTmFtZXNwYWNlEmEKRwoJZXRjZC10ZXN0EgAaACIAKiRjODQ4Y2EzMy0wNWJmLTExZTgtOWVhYy0wMDBjMjlhZWNjMTYyADgAQggIreDB0wUQAHoAEgwKCmt1YmVybmV0ZXMaCAoGQWN0aXZlGgAiAA=="
    }
  ],
  "count": 1
}

It is obvious that  node <IP_ADDRESS> didn't delete the object at all.  I know there is a quorum mechanism in etcd cluster. But I am not sure if this is right.
What's more, according to https://coreos.com/etcd/docs/latest/faq.html, all request to etcd cluster followers will be forwarded to the leader.  All is default. K8s uses etcd v3, calico and flannel use  etcd v2. After installation, etcd, k8s, calico and flannel worked as their own way. And I found the inconsistency yesterday.

@learnMachining Do you have all server logs from beginning (from revision 1) that you can share?

@gyuho I'm afraid not. I cleared logs some times. But this is my own experiment environment. So I can give you all the logs I still have. Hope they are helpful.
etcd-node0-6c66db9dc17b0eb5.log
etcd-node1-5227f18ffa089aec.log
etcd-node2-e448a37828aa0925.log

Also the db file from all 3 nodes?

@gyuho I backup db files of node e448a37828aa0925 in /tmp directory, after restarting, I can't find them. Now all 3 nodes has the same data and the cluster run normallly.
I'm sorry for loosing the backup data. Please close this issue. I will reopen it if I encounter simmilar problems or find more useful information.

@learnMachining Yeah there seems like too many components... but the revision mismatch should not happen. Please keep all the logs or just book-keep all the operations that you do with etcd cluster, in case this happens again. And use latest etcd, if you can.
Let's close this for now, and reopen when it happens again.
Thanks.


[UI][Thread] Fix Responsiveness

Description
There are many components which are not responsive to mobile and other medias.
We can solve this issue in parts, this issue is a thread connecting those issues and we have to raise separate issues for specific components (maybe not individual components).
Screenshots
No response
Additional information
No response

I think the responsiveness of the website is well enough but only the screen is overflowing in the mobile view.
We can fix it by adding the overflow-x: hidden; property to the body of the website.

How's this in mobile view:
Before:-

After:-

@Rishav1707 I am talking about some of these in mobile view

This problem can be solved by applying the overflow property.

What do you want me to do in this picture?

What do you want me to do in this picture?

check the background, i guess same overflow problem

What do you want me to do in this picture?

check the background, i guess same overflow problem

Ok let me try once

@Rishav1707 Overflow did have some consequences

@Rishav1707 Overflow did have some consequences

Because you revert the merged pull request, that's why the overflow: hidden; property did not reflect in master branch.

Can I work on this issue @Rishav1707 @narayansoni ??

Can I work on this issue @Rishav1707 @narayansoni ??

Already solved

@Rishav1707 Overflow did have some consequences

Because you revert the merged pull request, that's why the overflow: hidden; property did not reflect in master branch.

it was breaking the site that's why I reverted the commit. Please check your changes at least once by yourself before making a pull request.

Please assign this issue to me

raise separate issues for specific components

Please raise separate issues for the part you'll work on as it's a significantly big issue. :)
PS: If you are from JWOC instead of IWOC then you should wait till 15th feb 00:00 hours after which I can assign you/ accept your issue. (Program guideline)

I want to work on this issue under JWOC,assign this to me @Rishav1707

I would like to work on this . Please assign this to me under JWOC .

Great, go ahead. Best of luck! :) @PARASnagpal99

I want to work on this issue under JWOC,assign this to me @Rishav1707

Sorry @SasiVardhan247, he claimed it first :/

I want to work on this issue under JWOC,assign this to me @Rishav1707

You can work on this issue, by specifying in a separate issue

I want to work on this issue under JWOC

I want to work on this issue under JWOC

follow the instructions in the previous message, thanks

I want to work for on this issue under jwoc , please assign me

I would like to work on this issue under JWOC

I want to work on this issue under JWOC

follow the instructions in the previous message, thanks

.

what is jwoc?

what is jwoc?

old program, this repo participated in...


React Aria Components: rendering as custom components

Provide a general summary of the feature here
We should have a simpler way to render components other than what is returned from the React Aria component by default. This would be either some sort of polymorphic component rendering or a higher level hook.
In the MenuItem component (and possibly some others), the current way to render a link is to pass an href prop. This simply renders an a link instead of a div. For a library like React Aria, which is typically used as a primitive to create design-system level components, this is quite limiting. There should be some API for rendering another component without dropping down to the lowest-level APIs with React Aria hooks.
🤔 Expected Behavior?
TBD (exact behavior depends on the solution)
😯 Current Behavior
Currently I can't get the functionality of a component like MenuItem without either rendering that component or recreating it entirely with the much lower-level React Aria hooks.
There are a few challenges with the current implementation:
TypeScript. Particularly when using forwardRef, the ref's type is always assumed to be HTMLDivElement. This is a common theme in pretty much every component lib that embraces the "polymorphic" component pattern, and it's difficult to solve without introducing a number of other tradeoffs.
Custom link components. React Aria basically assumes you either want a regular a for external links or you simply want to navigate using your app's client-side router, in which case it uses the navigator provided to RouterProvider. I think this leaves a lot to be desired, as router and/or framework link components often bake in other features we lose if rendered in the context of a RA component.
💁 Possible Solution

Allow for some sort of "slot" based solution that allows you to directly render a specific component, similar to asChild in Radix UI. This is probably not a great one for React Aria, since its interaction event props (onPress and family) heavily abstract and hide the underlying DOM props which a lot of components (including RR links) rely on. Leaving React Aria to decide how to resolve likely conflicts is probably going to be a mess.
Utility hooks with a higher level of abstraction. I think this would basically look like the lower level hooks in React Aria, but you get all of the props that React Aria would otherwise pass to its own components. This would allow consumers to decide how to resolve any conflicts and render whatever they'd like. This would be a sharp knife potentially but would allow us to drop down to a lower level without having to completely rewrite all of the component's functionality using the base React Aria hooks.

function MenuItemLink({ to, prefetch, ...props }) {
	// this would give you all of the props that are
	// passed into `ElementType` in your `MenuItemInner`
	// component, but leaves rendering to the consumer.
	const ref = React.useRef();
	const menuItemProps = useMenuItemProps(ref, props);
	return <Link prefetch={prefetch} to={to} {...menuItemProps} />;
}

🔦 Context + Examples
Assume here we're talking about rendering a link in MenuItem.
When the Link component in React Router resolves its to prop it can determine whether or not a URL value is internal (for client-side routing) or external (leave it to the browser). To do this well it needs to use internal context for apps with a basename. Recreating this behavior requires that you import non-public context modules and dupe their validation code, which isn't ideal.
Another example in React Router is NavLink. This component also relies on internal context to determine the link's current status and supports functional props so you can switch on it.
And in Remix, it's pretty much impossible to support their Link's prefetch functionality without actually rendering their Link.
🧢 Your Company/Team
Me personally
🕷 Tracking Issue
Couldn't find one!

Pasting what I said on Twitter for posterity:

It’s very difficult if not impossible to correctly compose components with built in behaviors like this, as I’m sure you know. For example Remix links have a built in click handler, but when used in another component, like a combobox or even a menu, that might not be the only/right interaction. That’s why we haven’t exposed an as prop, for example. Doing so would only work correctly 80% of the time, not 100%. This can have downsides for accessibility and cause hard to spot bugs.
We think there are usually better ways to solve individual issues that come up than a blunt instrument like as or asChild. In the case of pre-fetch, using a hook in your own wrapper component would probably be a better approach. We’ll definitely add more features to the API as they come up though!

The ideal solution in my view for this case in particular would be if Remix exported their internal usePrefetchBehavior hook, or something like it. Then you could just do something like this:
function MyMenuItem({prefetch, ...props}) {
  let [ref, prefetchProps] = usePrefetch(ref);
  return <ReactAriaMenuItem {...props} {...prefetchProps} ref={ref} />;
}

This separation of behavior from elements makes sense especially because pre-fetching has nothing to do with the underlying element that gets rendered. Sometimes we actually have to render a different element than a native <a> due to ARIA/HTML spec limitations, and separating the behavior out would make those work with prefetch too. Remix/React Router normally does this well, e.g. exporting a useLinkClickHandler that you can use to build custom links, but unfortunately not in this case.
Aside from this one in particular, I think we are planning on adding some additional options to pass to the router's navigate function (e.g. preventScrollReset) and support base path (#5395) in the short term. Longer term we can see what other use cases come up, but I'll definitely discuss your ideas with the team next week. Would be amazing to come up with a solution without the downsides of as. Thanks for writing this up, I really appreciate it! 😃

I've been struggling to integrate React Router with React Aria Components and agree with the points raised in this issue. I have encountered most of the examples given and they are all quite common use-cases. Another issue I have come up against is working with different kinds of router e.g. hash router or memory router. With a hash router, for example, the RAC Link component doesn't include the hash in the URL. If I use the useHref hook from React Router to resolve the URL then the href is correct but the link no longer functions correctly because the navigate function is called with two hashes.
Ultimately, I think the way client side routing works in React Aria needs a bit of a rethink. Simply providing the navigate function to the RouterProvider without any control over how it is called is too simplistic. Adding support for additional props at the library level (e.g. preventScrollReset), however, will always lag behind the features provided by individual routing libraries that users need to access. I am not sure what the best solution is but feel that it's important to be able to easily access all the features that the underlying routing library offers. If it helps, these are some examples of use cases that I feel need elegant solutions:

Adding additional router specific props to individual links e.g. preventScrollReset
Using the NavLink component from React Router
Using different routers e.g. HashRouter, MemoryRouter
Correctly resolving relative paths (needs knowledge of the route hierarchy)

Current plan for router props is to have a single object that gets passed through to the underlying router, rather than individual props. That way it isn't specific to one router and you don't need to wait when new props are added by your framework.
<MenuItem href="..." routerOptions={{preventScrollReset: true}} />

There is also a way to configure TypeScript to support autocomplete on these that we'll provide docs for.
Something like NavLink I think should be handled by React Aria instead. For example, depending on the component it's used within, the accessibility properties should be different (ie aria-selected in Tabs rather than aria-current). We had discussed adding a feature at some point for React Aria link components to know whether they are selected automatically based on the current URL as well, but haven't gotten around to implementing it yet. For now, you should set the selectedKey prop yourself based on the current url so that the item gets the right states. There's an example in the docs of that.
The href prop needs to be set to whatever the native URL would be. The hash issue is sort of related to the basepath one (#5395). Somehow the native URL needs to be backwards resolved to the router one. Still thinking about this.
The prefetching one is definitely more complex because it needs actual behavior from the router link, not just settings for the native URL. Somehow we need to separate the individual behaviors from the rendering so that React Aria can do the event handling, and delegate the routing. Without the router separating this out into a hook, it's a bit of a challenge.

Current plan for router props is to have a single object that gets passed through to the underlying router, rather than individual props. That way it isn't specific to one router and you don't need to wait when new props are added by your framework.

This sounds like a good solution and would help a lot.

The href prop needs to be set to whatever the native URL would be. The hash issue is sort of related to the basepath one (https://github.com/adobe/react-spectrum/pull/5395). Somehow the native URL needs to be backwards resolved to the router one. Still thinking about this.

Yes, I think resolving back to the router URL is the important bit.
How would you suggest using React Aria links so that you can provide relative URLs in the same way that you can with the routing library. For React Router, would it be to wrap the components that have an href prop with custom components that internally use the useHref hook to determine the URL? My worry is that you still end up having to recreate a lot of the implementation that exists in the router components.
It seems like adding more documentation for how to integrate deeper router functionality with React Aria would be really useful. This may also highlight what can already be achieved in a straightforward way and what needs changes at the library level. Thanks for thinking about this.

Just a thought about resolving the URLs. What if the RouterProvider had a useHref prop that takes a hook provided by the router? This hook would resolve the href prop that the user provides to the native URL in all React Aria components. The user provided href would be passed through as is to the navigate function, however, without being transformed. With React Router it would look like this:
import { RouterProvider } from 'react-aria-components';
import { useNavigate, useHref } from 'react-router-dom';

function App() {
  const navigate = useNavigate()

  return (
    <RouterProvider navigate={navigate} useHref={useHref}>
      {/* ... */}
    </RouterProvider>
  );
}

It's a bit unusual to pass a hook as a prop like this but it would resolve the issues with relative paths, base paths and hash routers.

I like that idea! Do you know if next.js has a similar API to resolve URLs? I couldn't find one in their docs.

I like that idea! Do you know if next.js has a similar API to resolve URLs? I couldn't find one in their docs.

I don't think they do. It's worth considering TanStack Router too as the usage will likely grow now that it's reached 1.0 (https://tanstack.com/router/v1). That has the added challenge of providing the same level of type inference via the React Aria link components. It's hard to think of a single approach that will integrate fully with different routing libraries.

FYI I implemented the useHref idea as well as routerOptions in https://github.com/adobe/react-spectrum/pull/5864. This should solve most of the issues with links here. The preload case is a remaining problem, until Remix offers hooks or some other programmatic way to trigger preloads.

RouterProvider

To not wrap RouterProvider, do we have a chance just use from react router useNavigate and Link component from react-spectrum? As far as I see, if we do, then in this case we will have reloading and you can't prevent this behavior using onPress

Just a thought about resolving the URLs. What if the RouterProvider had a useHref prop that takes a hook provided by the router? This hook would resolve the href prop that the user provides to the native URL in all React Aria components. The user provided href would be passed through as is to the navigate function, however, without being transformed. With React Router it would look like this:
import { RouterProvider } from 'react-aria-components';
import { useNavigate, useHref } from 'react-router-dom';

function App() {
  const navigate = useNavigate()

  return (
    <RouterProvider navigate={navigate} useHref={useHref}>
      {/* ... */}
    </RouterProvider>
  );
}

It's a bit unusual to pass a hook as a prop like this but it would resolve the issues with relative paths, base paths and hash routers.

To not wrap RouterProvider, do we have a chance just use from react router useNavigate and Link component from react-spectrum? As far as I see, if we do, then in this case we will have reloading and you can't prevent this behavior using onPress

Maybe I'm doing something wrong but relative paths are not resolved correctly using react-router.

You are not doing anything wrong. react-router links call the useNavigate inside the route so they're able to resolve relative paths. With the current RouterProvider integration, you always call useNavigate from root so all relative paths are resolved accordingly.
Aside from not using relative paths where possible, the only workaround I've found so far is using the useResolvedPath('history') hook to construct the correct absolute path then pass it to RAC's href.

Thanks @theMosaad I will try it out!

I'm also struggling integrating React Aria's links in Next.js.
The documentation suggests using RouterProvider which allows client-side routing methods (like router.push) to be triggered by any React Aria components with the href prop.
But you will lose all the nice prefetching behavior that the Next.js <Link /> component has.
Features like asChild/Slot has potential downsides in terms of correctness, but IMO it's a totally necessary evil for cases like this. Otherwise every project has to re-implement a huge chunk of functionality that something like asChild would give you for free (e.g. see the source code for the <Link /> compoenent).

Reiterating my prior comment, the problem is that the behavior of the Link component is not right in some cases. For example, links in tables and grids cannot be rendered as <a> elements due to accepting interactive children (which would be invalid html), and differences in events that should trigger links between components (sometimes on mouse down or up, different keyboard interactions, etc.).
Prefetching behavior really needs to be separated from link behavior so it can be applied independently from how the link is rendered or triggered. Perhaps there's a way to integrate that into RouterProvider or maybe a separate wrapper component to make this easier. For now you could do something like this to programmatically prefetch on hover or focus:
let router = useRouter();

<MenuItem
  href="..."
  onHoverStart={() => router.prefetch("...")}
  onFocus={() => router.prefetch("...")} />

Thank you for providing an alternative solution. But unfortunately you also need to re-implement the prefetch behavior when the element becomes visible: https://github.com/vercel/next.js/blob/d62627cecfcfcf6f03362be3be369725170a3876/packages/next/src/client/link.tsx#L560-L596. It's not a gargantuan task, but it's really annoying and trial-error-prone.
I feel like complementing the asChild-like functionality with a well-written page documenting how to use them properly would eliminate most mis-uses. It's not like people are spamming these everywhere, they just need it in a few critical places.

You are not doing anything wrong. react-router links call the useNavigate inside the route so they're able to resolve relative paths. With the current RouterProvider integration, you always call useNavigate from root so all relative paths are resolved accordingly.

I think this should be (at least) well documented in https://react-spectrum.adobe.com/react-aria/routing.html#routerprovider. Currently the solutions is actually buggy, as the urls are showing properly, yet the navigation itself is wrong (treating relative paths as absolute navigations) - this is probably going to be encountered by many different users of react-aria-components.
We had to implement a wrapper that makes sure our relative hrefs (sometimes [unfortunately] we're using them) work properly. The wrapper is based on useHref(useResolvedPath(href)).

I just realized that React Spectrum has elementType for Button and other elements, which allows you to render them as different elements (e.g. render Button as <a>).
I'm baffled why this behavior isn't included for React Aria. The only way to mimic this behavior is to drop down to raw hooks and recreate the entirety of react-aria-components yourself. It gets worst because the library has a massive amount of private utilities that you have to rewrite yourself. Is there a reason why react-aria-components isn't blessed with this behavior?
Trying to manage complex composition without this has been really, really frustrating, to the point that I've been reconsidering going back to Radix. Is there any chance that this could change in the future?

Pretty sure it's explained if you read the thread here.
What are you trying to accomplish that you cannot achieve at the moment?

What are you trying to accomplish that you cannot achieve at the moment? Are there examples other than prefetching?

Here is a use case not supported as far as I know:
https://github.com/adobe/react-spectrum/discussions/4813#discussioncomment-6532908
As I proposed in the above link. I think it would be awesome to have this API. As far as I know this would be non-breaking and works fine with typescript because if <motion.button/> would not support any of the buttonProps, it would throw a typescript error once you spread it.
<Button onPress={console.log} asChild>
     {(renderProps, buttonProps) =>
         <motion.button animate={{
                 // something based on renderProps
          }} {...buttonProps}>Click me</motion.button>
      }
</Button>

Having most of RAC already support a function as child, I really find it a missed opportunity to customize the actual rendering. Yes, this gives some responsibility back to the developer, but it prevents the developer having to fight RAC, or potentially quit it because something is simply not possible.
@devongovett You mentioned a couple times one could fallback to react-aria hooks, but as @musjj mentioned, that will end up you having to recreate the entirety of react-aria-components yourself. Wiring up react-aria and react-stately is very tricky, RAC really is super helpful. What adds to the problem, is that there is no DX in customizing a small part of RAC as many context providers or utility functions aren't exported. You cannot simply copy a snippet of RAC's component code (for example CalendarCell) and overwrite just that component.
Maybe, being able to control the root element of a component removes the need to having to copy an internal RAC component, as you would be able to overwrite any props passed to the element (just like react-aria can).
Somewhat related is an issue I ran into where I couldn't control the rendering part:
https://github.com/adobe/react-spectrum/issues/4749#issuecomment-2413823612


Typescript Template still has Jest in the ambient types list.

https://github.com/cloudflare/templates/blob/5d0c26c436c66b61a47e0984ba0d7fa45e357d83/worker-typescript/tsconfig.json#L12
Since everything uses vitest now this should be removed.

Removed when moving to https://github.com/cloudflare/workers-sdk/tree/main/templates


Upgrade eth-tester

This PR upgrades eth-tester.  Then the tests run the Constantinople rules.  That enables upgrading the Solidity compiler to 0.5.7.
This closes https://github.com/raiden-network/raiden-contracts/issues/868

Codecov is complaining about diff coverage, but I defer the action to https://github.com/raiden-network/raiden-contracts/issues/897 .

Then I give this up for now.


Added new PropType background to Table and TD elements

In order to enforce an absolute URL in the background attribute that is used when adding a background image support for multiple email clients.
Example -> https://blog.mailchimp.com/background-images-and-css-in-html-email/#comment-19940

Once this gets in, I'll make a new 0.8.0 release.


(704b) Test creation of referral

... and redirection to the tasklist page. Currently we have two h1s that have the same content: the referral start page and the tasklist page. We might want to review whether we're happy that these assertions are enough, although the pages are reasonably far apart, so it's unlikely that we'd accidentally be on the wrong one

 Create a referral on clicking "Confirm" on the "confirm person" page (UI)


when searchEnabled is false shortcuts in list do not work #331

fix for: https://github.com/angular-ui/ui-select/issues/331

Closed by #1717


PL/I Margins

More of a question.  I'm just getting started with this editor under Visual Studio Code.  I normally use Margins(1,200) and keep the source to about 120 characters wide.  When opening existing an program with this editor it immediately flags much of the program as having syntax errors.  Is there any way to override the default widths?  I've been able to the set tabs/rulers but not the syntax check.

@ThorOlson thanks for your feedback. I would like to resolve this as a duplicate to Issue #17 as we would like to provide compile options like these for a workspace or user. For now you need to specify the margins in each file in the first line such as
*process MARGINS(2,120);

Duplicate of #17

Thank you that response was a great help!  I wouldn’t have guessed that the editor was using the process statement.
Most of the errors went away with the addition of the margins setting, however there is still a bit of a problem with Margins(1,120) though.  It seems to randomly flag errors if the code starts in column 1.  The errors below go away when the declare starts in column 2…
Thanks,
Thor Olson
From: Peter Haumer<EMAIL_ADDRESS>Sent: Tuesday, April 21, 2020 10:51 AM
To: IBM/zopeneditor-about
Cc: Thor Olson; Mention
Subject: Re: [IBM/zopeneditor-about] PL/I Margins (#41)
@ThorOlson https://github.com/ThorOlson  thanks for your feedback. I would like to resolve this as a duplicate to Issue #17 https://github.com/IBM/zopeneditor-about/issues/17  as we would like to provide compile options like these for a workspace or user. For now you need to specify the margins in each file in the first line such as
*process MARGINS(2,120);
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/IBM/zopeneditor-about/issues/41#issuecomment-617228940 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APIMNM5YILGMCUDF4Y6HCLLRNWXEVANCNFSM4MML5EQQ . https://github.com/notifications/beacon/APIMNM3BO2VIS2OHIHZ34Z3RNWXEVA5CNFSM4MML5EQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOETFCVDA.gif

@ThorOlson yes, that is another known issue. Our editor does not "like" code that starts at 1; nor does IDz which provides our codebase.  For now we require column 2 for reasons that I need to research. I add it for the todos for #17 as well.


Create DynamoDB default table in On Demand mode, add example CloudFormation template for Provisioned mode

Closes #578, closes #598

Codecov Report

Merging #599 (76fb042) into master (108eea9) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #599   +/-   ##
=======================================
  Coverage   98.76%   98.76%
=======================================
  Files          23       23
  Lines        1619     1621    +2
  Branches      255      255
=======================================
+ Hits         1599     1601    +2
  Misses         10       10
  Partials       10       10

Impacted Files
Coverage Δ

requests_cache/backends/dynamodb.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 108eea9...76fb042. Read the comment docs.


A simple function which can convert String to a List of String/Char

Something of the type signature: string -> string list or string -> char list
Is that redundant? because sometimes I need to do something like map but instead of getting a string as an output, I'm more comfortable working with a string.
I'm not sure if that is worth it because it's a simple function like:
module String = Astring.String;;

let to_list str = String.fold_left (fun acc ch -> (String.of_char ch) :: acc) [] str;;
val to_list : string -> string list = <fun>

Is that redundant?

It's not redundant but it's a representation of strings that is very inefficient. One reason not to provide it is that it leads people into writing inefficient code.


polyA+ & polyA- RNA-seq distinctions #863

I edited assays.tsv in Excel and obi-edit.owl in Protege, but git status says I modified

src/ontology/modules/assays.owl
src/ontology/obi-edit.owl
src/ontology/templates/assays.tsv

If a term belongs in a template, then all its annotations should be in that template as well. So there should be no need to use Protege or touch obi-edit.owl in this case.
Unfortunately, a bunch of special characters in assays.tsv have been replaced with ???.
Is the desired change just to add an alternative term?


set, then unset, pending pipelinerun regardless of concurrency limit in startPR

Changes
This idea occurred to me during the SRVKP-3134 work, is not directly related to fixing the SIGSEGV.
The premise is that in besides say RHTAP controllers immediately trying to update an PipelineRun PaC just created (which we think is a possibility, but don't have proof of yet), we do know that the tekton pipeline controller will start updating a PipelineRun very quickly after it is created (as underlying TaskRuns and then their underlying Pods are created).
This change adds just tad more use of Pending PipelineRuns which PaC already leverages.
In particular, we set the pending bit regardless of the use of concurrency in the repo object, and we leave it on only until we make our changes to the PipelineRun within startPR, but we then turn if off before leaving startPR.
Unit tests passed for me locally, but let's see how the e2e's like this change, and then we can discuss the pros/cons @chmouel
Submitter Checklist

[/] ♽ Run make test before submitting a PR (ie: with pre-commit, no need to waste CPU cycle on CI. (or even better install pre-commit and do pre-commit install in the root of this repo).
[/] ✨ We heavily rely on linters to get our code clean and consistent, please ensure that you have run make lint before submitting a PR. The markdownlint error can get usually fixed by running make fix-markdownlint (make sure it's installed first)
[n/a] 📖 If you are adding a user facing feature or make a change of the behavior, please verify that you have documented it
[n/a] 🧪 100% coverage is not a target but most of the time we would rather have a unit test if you make a code change.
[n/a] 🎁 If that's something that is possible to do please ensure to check if we can add a e2e test.
[n/a] 🔎 If there is a flakiness in the CI tests then don't necessary ignore it, better get the flakyness fixed before merging or if that's not possible there is a good reason to bypass it. (token rate limitation may be a good reason to skip).

=== RUN   TestGiteaConcurrencyExclusivenessMultipleRuns
{"level":"info","ts":1686235566.023872,"caller":"repository/create.go:15","msg":"Namespace pac-e2e-test-c989g created"}
{"level":"info","ts":1686235566.8385696,"caller":"repository/create.go:24","msg":"Repository created in pac-e2e-test-c989g"}
{"level":"info","ts":1686235567.6474953,"caller":"gitea/scm.go:77","msg":"Pushed files to repo http://localhost:3000/pac/pac-e2e-test-c989g branch pac-e2e-test-c989g"}
{"level":"info","ts":1686235568.6375868,"caller":"gitea/test.go:129","msg":"PullRequest http://localhost:3000/pac/pac-e2e-test-c989g/pulls/1 has been created"}
{"level":"info","ts":1686235569.998235,"caller":"gitea/scm.go:77","msg":"Pushed files to repo http://localhost:3000/pac/pac-e2e-test-c989g branch pac-e2e-test-c989g"}
{"level":"info","ts":1686235572.0631301,"caller":"gitea/scm.go:77","msg":"Pushed files to repo http://localhost:3000/pac/pac-e2e-test-c989g branch pac-e2e-test-c989g"}
    gitea_test.go:205: Did not find PipelineRunPending in PipelineRuns
{"level":"info","ts":1686235722.873167,"caller":"repository/teardown.go:13","msg":"Deleting Repository in pac-e2e-test-c989g"}
{"level":"info","ts":1686235722.883305,"caller":"repository/teardown.go:16","msg":"Deleting NS pac-e2e-test-c989g"}
--- FAIL: TestGiteaConcurrencyExclusivenessMultipleRuns (157.08s)
FAIL
FAIL	github.com/openshift-pipelines/pipelines-as-code/test	269.289s
FAIL

So yeah I broke a concurrency e2e with this most likely.  Will look at handling that while we have the "overall conversation"

/assign @chmouel

on the RHTAP side with this change @chmouel , we could use the pending bit as the flag to all the RHTAP controllers, where they requeue instead of process/update a pipelinerun if the pending bit is set
and thus help avoid potential update conflicts with them as well, along with minimizing the tekton pipeline controller updating things, where as I'm sure you not, it does not schedule pods until the pending bit is off

and green e2e's now

nice work, i can't see issue doing that but not entirely confident tho this would not have side effects (which i can't think off)
@sm43 do you have any thoughts?
if we merge, we may wait a bit before merging with it to make it passes on our dogfooding clusters (and have extras nightly e2e we need to have green)
let me know if that works for you

yep extra testing and merging later on is reasonable to me @chmouel
let's see how the first 2 changes do in the RHTAP e2e's first
short term, I will rebase the PR later today

sounds good to me 👍🏻

rebase complete and e2e's are still green @chmouel

sounds good, lets give sometime for @sm43 to review this since he know that part of the code a bit better than me!

thanks @sm43 @chmouel
@chmouel - on your point about verifying on the dogfooding clusters in your comment https://github.com/openshift-pipelines/pipelines-as-code/pull/1316#issuecomment-1584119377 , is that something that is already happening, or does someone need to perform some set of steps for that dogfooding to commence?

(not for this pr)
@chmouel after creating the pipelineRun we do have 2/3 patch calls per PipelineRun, which could be merged in a single call.
although those are conditional based on concurreny/git provider but would simple a bit.. will need a refactor! 😄

@chmouel - on your point about verifying on the dogfooding clusters in your comment #1316 (comment) , is that something that is already happening, or does someone need to perform some set of steps for that dogfooding to commence?

yeah we had some CI breakage lately, if this goes green, we will merge it and it will be automatically used on this repository CI and for our e2e on every PR/Push

/retest


COMP: remove suppression of -Winconsistent-missing-override

I tested with AppleClang 10, the oldest AppleClang submitting to cdash, and this false positive seems to have been fixed long ago.

@dzenanz that "ITK.Linux.Python" bot seems to have failed pretty severely, any idea why?

/azp run ITK.Linux.Python

If a run fails, it is usually the most useful to look at the dashboard. Search for a build which contains the PR number in its name (in this case 4682).

If a run fails, it is usually the most useful to look at the dashboard. Search for a build which contains the PR number in its name (in this case 4682).

Good tip, I've noted in it my notes file.
Seems it was a transient failure and is green now.  (There seems to have a lot of these transient failures...)

@seanm thanks!


Potential dup'ing of a send_handle file descriptor in uv_write2()

Hello everybody,
Studying the code, I stumbled across a (potential) bug that leads to duplication of a file descriptor that is being sent via uv_write2(). Please consider the following scenario:

req->send_handle contains a file descriptor which is sent via sendmsg();
Under load, sendmsg() returns the number of bytes actually written that is less than the overall length of req->bufs;
After adjusting bufs accordingly, the code goes back to start: and retries which leads to re-sending send_handle once again;

I assume req->send_handle must be nullified after the first successful write both in UNIX and Windows routines.
It's really hard to write a test-case for that since one needs to generate lots of load, and it still will be machine/OS dependent. To see the problem, one can simply emulate it like this:
    do {
      n = sendmsg(uv__stream_fd(stream), &msg, 0);
      if (n > 0) n = 1; /* Emulate I/O oversubscription */
    }

This obviously leads to the same data being sent multiple times, but that's irrelevant. I can confirm that I observe dup'ed handles in my setup with this.
libuv 1.x HEAD

Are you using UV_HANDLE_BLOCKING_WRITES? That's the only way I could see that happening.
If the answer is 'no', then maybe we should just remove that flag. It's undocumented, untested and probably unloved.
If the answer is 'yes', I'd be curious to know what you're using it for.

Oh, sorry, you probably got me too literally. By the code goes back to start and retries, I didn't mean right away. It obviously sets up a watcher a retries next time the watcher fires. But it's largely irrelevant since req->send_handle isn't reset or otherwise marked anywhere in the code to have been already sent. That causes it to be sent again the next time we reach uv__write.

To put the issue another way, req->bufs is adjusted in uv__write for progressive re-entry through the use of req->write_index, pointer arithmetics, etc. whereas req->send_handle is never dealt with in the same way. That means that data is written properly in increments while send_handle is simply duplicated in case of  incomplete writes.

Yep, I see the issue. I have a fix in the works.


PAM: async sleep on wrong password

I think that the current patch won't sleep() upon a password failure. That means that the service allows password brutefrocing.
When this is fixed, let's prefer asynchronous sleeping so that the HTTP server's thread is not busy in a synchronous sleep (if at all possible).

fixed some time ago via 24584ebcf7859305d8b72240951eedc768d1d79e


[Mobile]After edit accout details -->click on view my profile leads to failed loading page.

Environment- staging
Device used  -Samsung Galaxy s8
Browser-Google chrome
1.Sign in with valid user name, password.
2.Go to profile.
3.Click on the pencil icon on right corner.
4.choose "Edit account" from the menu.
5.change name.
6.click on save changes.
7.click on view my profile from the side menu.
Result:
Failed loading.
If we go to help board and comes back to profile again still it shows failed loading page only.

Please re-test in incognito mode, this might be build issue. Thanks

@rabbi08 It still works the same in incotigo mode.

@Zaydme
This issue exist on mobile. Please see below GIF from iPhone.

@rabbi08 when the page show the error, can you please copy the current URL and post it here.

https://staging.fightpandemics.work/organisation/5f0d31f44f9daa1600e8bfdf

@Zaydme I looked at this issue and found the issue, so when we have hamburger menu irrespective of device, try to change profile and this issue occurs.
Reason behind it is url ->" /organisation/5fbe143fc9c17e1100f72852"
when clicking first time on view profile it redirects using correct url which is "/profile/5fbe143fc9c17e1100f72852"
But after you edit profile, it changes url to " /organisation/5fbe143fc9c17e1100f72852" . which it is unable to find and results in 404

Thanks @aditilamkhede
Yeah we have been able to identify the issue.
It was just something that looks for user.type and if it was null it assumes it is an Individual, but after a recent PR, when you edit your account the user gets updated and gets the type of "Individual".
So it was a simple fix.


remove include from neon file

Related to this commit which removed the ergebnis/phpstan-rules package.
The base neon file for this package still includes it as an included file, which means when you run Larastan, you get:

ergebnis/phpstan-rules/rules.neon' is missing or is not readable.

People will still need to remove it from their own applications, but this will fix it for any new forks.

Thanks @owenvoke - I've just committed another change which removes a now seemingly unneeded ignore line from the DumpCommand class.


Missing Letter in Table of Contents link

The Table of Contents has the letter 'e' missing for the following:
https://docs.microsoft.com/en-us/troubleshoot/windows-server/deployment/use-recovery-console-not-start

I have submitted a Pull request
https://github.com/MicrosoftDocs/SupportArticles-docs/pull/244

Thank you. @dipstar, I have merged the pull request.


Issue with running the codes

I was trying to run the AWR algorithm on the HalfCheetah environment as given in the README. So, first of all there is no run.py code in the folder of AWR. I copied run_script.py to the root of AWR folder and rand the command -
python run.py --env HalfCheetah-v2 --max_iter 20000 --visualize

However, I got an error as
Traceback (most recent call last):
  File "run.py", line 96, in <module>
    main(sys.argv)
  File "run.py", line 79, in main
    agent = build_agent(env)
  File "run.py", line 57, in build_agent
    agent = awr_agent.AWRAgent(env=env, sess=sess, **agent_configs)
  File "/Users/shs/Desktop/Projects/Offline RL/d4rl_evaluations/awr/learning/awr_agent.py", line 78, in __init__
    visualize=visualize)
  File "/Users/shs/Desktop/Projects/Offline RL/d4rl_evaluations/awr/learning/rl_agent.py", line 61, in __init__
    self._load_demo_data(self._env)
  File "/Users/shs/Desktop/Projects/Offline RL/d4rl_evaluations/awr/learning/rl_agent.py", line 466, in _load_demo_data
    demo_data = d4rl.qlearning_dataset(env)
  File "/Users/shs/Desktop/Projects/Offline RL/d4rl/d4rl/__init__.py", line 87, in qlearning_dataset
    dataset = env.get_dataset(**kwargs)
  File "/Users/shs/.local/lib/python3.6/site-packages/gym/core.py", line 216, in __getattr__
    return getattr(self.env, name)
AttributeError: 'HalfCheetahEnv' object has no attribute 'get_dataset'

How should I resolve this?

me too


Extract label from title metatag in screenshots

Description
bin/console pwa:create:screenshot https://<IP_ADDRESS>:8013/product/25 -o floppy-disk

pwa:
  manifest:
    screenshots:
      -
        src: floppy-disk/screenshot-1200x1100.png
        width: 1200
        height: 1100
        type: image/png

Example
I would like to see the label key filled with whatever's in the  tag of the HTML page that panther scrapes.
pwa:
  manifest:
    screenshots:
      -
        src: floppy-disk/screenshot-1200x1100.png
        label: "Floppy Disk Details"
        width: 1200
        height: 1100
        type: image/png

Good idea.
Feature added in the last 1.1.x branch


Odim-105 Adding Plugin with duplicate manager address is getting accepted

resolves #105

Re-doing changes in sub-branch.

https://github.com/ODIM-Project/ODIM/pull/188 replaces/supersedes this PR as it could not be reopened.


Update LEvent

Support like "Alt+a"

Because the system shortcut keys conflict,I will think about it or add it in future.


when switching from 2020.5 to 2021.1, the bounding boxes of the models increase

Describe the bug
when I start switching from version 2020.5 to 2021.1, all the hitboxes of the models increase
Details

OS: Windows 10
MCreator version 2020.5 and 2021.1
Generator type: forge-1.12.2

2021.1.zip
2020.5.zip

Caused by MCreator not this plugin

I believe this is caused by different Minecraft versions calculating bounding boxes differently and could be fixed in the generator.


Extension is unusable until the page loads

On slower pages such as http://www.dailymail.co.uk/home/index.html it is quite likely that a user will click on the extension before the page completes loading. In this case there is no Start button and no indication why. The start button does not appear when the page does load, giving the impression that the extension is broken.

The issue is that the content script of the extension is added on document_idle to not interfere with the page. https://developer.chrome.com/extensions/content_scripts#run_at

@simonhearne is this an issue? please prioritize or close

Yes, we should at least have a 'please wait while the page loads...' message, then load the button asap.


Fixed Missing Fuel Codes

#1327
Changelog:

Added another condition to take into account if the fuel code effective date and expiry date is greater than the compliance period dates

 Compliance Report B | Some active fuel codes are not selectable within Schedule B |2|


MacOS native-image changes international characters to ??

This is the same issue as #78, and that was fixed for Linux, but the same problem exists in MacOS. I looked that the Mac build file, it already has LC_ALL=C.UTF-8, so I don't know what could be problems. Maybe it has something to do with Mac toolchain and that flag may not have intended effect.

Thanks or testing this.
For the record, the result was that building without the LC_ was that it works like it should work.  Which seems strange, but perhaps the two different versions of GraalVM handle this differently.  Or not, who knows?  Anyway, I'll build the macOS version w/out the LC_ and the Linux version with the LC_ until something else comes up.

This is changed (and hopefully fixed) in version 0.4.16.  I don't have a great way to test this, so I hope it makes things better and not worse.


wineWowPackages.staging fails to build

Describe the bug
While trying to create https://github.com/NixOS/nixpkgs/pull/170943 I noticed that my buils were failing, but even rolling back to current master, wine won't build for me. This is on 57ba746ca7b.
$ nix-build -A wineWowPackages.staging --keep-failed --check
[...]
error: builder for '/nix/store/x2j1290fkwyzh200fxikwx6i59jwpcif-wine-wow-7.4-staging.drv' failed with exit code 2;
       last 10 log lines:
       > tools/winebuild/winebuild -b x86_64-w64-mingw32 -w --implib -o dlls/kernelbase/libkernelbase.cross.a --export \
       >   /build/wine-7.4/dlls/kernelbase/kernelbase.spec
       > tools/winebuild/winebuild -b x86_64-w64-mingw32 -w --implib -o dlls/sechost/libsechost.cross.a --export \
       >   /build/wine-7.4/dlls/sechost/sechost.spec
       > tools/winebuild/winebuild -b x86_64-w64-mingw32 -w --implib -o dlls/setupapi/libsetupapi.cross.a --export \
       >   /build/wine-7.4/dlls/setupapi/setupapi.spec
       > /nix/store/6nsvi3ar932jjlslpgywas2fkzmvasg8-x86_64-w64-mingw32-binutils-2.38/bin/x86_64-w64-mingw32-dlltool: dlls/rpcrt4/librpcrt4.delay.a: error reading rpcrt4_dll_t.o: No such file or directory
       > winebuild: /nix/store/6nsvi3ar932jjlslpgywas2fkzmvasg8-x86_64-w64-mingw32-binutils-2.38/bin/x86_64-w64-mingw32-dlltool failed with status 1
       > make: *** [Makefile:171142: dlls/rpcrt4/librpcrt4.delay.a] Error 1
       > make: *** Waiting for unfinished jobs....
       For full logs, run 'nix log /nix/store/x2j1290fkwyzh200fxikwx6i59jwpcif-wine-wow-7.4-staging.drv'.

Steps To Reproduce
Steps to reproduce the behavior:
On master (57ba746ca7b):
$ nix-build -A wineWowPackages.staging --keep-failed --check
Expected behavior
Wine staging builds successfully, as it did before.
Additional context
I've tried to bisect this issue (I suspect that the gcc compiler or binutils bump that happened since the 7.4 update in nixpkgs may be causing the issue), but my machine has been chugging along for twelve hours on 52f8cf58a45 and I still haven't reached the actual wine build yet, so that is turning out to be impractical for me. Commit dd6c7096d629d9c6814c6980180254d3336a9a3b (which bumps the wine version to 7.4) works for me.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.17.3, NixOS, 22.05 (Quokka), 22.05.20220426.cdb0887`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.0pre20220411_f7276bc`
 - channels(frijters): `""`
 - channels(root): `"nixos, nixos-unstable-20.09pre225264.683c68232e9"`
 - nixpkgs: `/etc/nixpkgs`

Continued my bisection - 52f8cf58a4504e5e219faebffa51033e400e3aec builds.

At e2d150f6b17175c16b8bfeb452790efb1170bf44 mingw fails to build...
error: builder for '/nix/store/nl2vwg5k1m1wldgnh5wch0qcbzirlxk3-mingw-w64-i686-w64-mingw32-9.0.0.drv' failed with exit code 2;
       last 10 log lines:
       > i686-w64-mingw32-dlltool: failed to open temporary head file: D3DCompiler_dll_h.o: No such file or directory
       > make[3]: *** [Makefile:83807: lib32/libd3dcompiler_36.a] Error 1
       > mv -f crt/.deps/lib32_libucrt_extra_a-ucrtbase_compat.Tpo crt/.deps/lib32_libucrt_extra_a-ucrtbase_compat.Po
       > rm lib32/libapi-ms-win-core-winrt-registration-l1-1-0.a lib32/libapi-ms-win-core-winrt-error-l1-1-1.a lib32/libapi-ms-win-ro-typeresolution-l1-1-0.a lib32/libapi-ms-win-core-winrt-error-l1-1-0.a lib32/libapi-ms-win-core-winrt-l1-1-0.a lib32/libapi-ms-win-core-winrt-roparameterizediid-l1-1-0.a lib32/libapi-ms-win-core-synch-l1-2-0.a lib32/libapi-ms-win-core-winrt-robuffer-l1-1-0.a lib32/libapi-ms-win-core-winrt-string-l1-1-0.a
       > make[3]: Leaving directory '/build/mingw-w64-v9.0.0/mingw-w64-crt'
       > make[2]: *** [Makefile:13841: all] Error 2
       > make[2]: Leaving directory '/build/mingw-w64-v9.0.0/mingw-w64-crt'
       > make[1]: *** [Makefile:364: all-recursive] Error 1
       > make[1]: Leaving directory '/build/mingw-w64-v9.0.0'
       > make: *** [Makefile:305: all] Error 2
       For full logs, run 'nix log /nix/store/nl2vwg5k1m1wldgnh5wch0qcbzirlxk3-mingw-w64-i686-w64-mingw32-9.0.0.drv'.

So e9cfdc6b77fefd77ed04a7eb3e3e0796dfca270c is fine, but e2d150f6b17175c16b8bfeb452790efb1170bf44 has issues (see above). @lovesegfault any idea what might be going on? Testing this one commit took another 12+ hours so brute-forcing bisecting to when the mingw error changes to a wine error  it is not a good option for me.

Possible fix / related https://github.com/NixOS/nixpkgs/pull/171147

No, not really related.  It's good to have a closer look at the logs.  It's always failing to find some generated file, so --cores 1 works around that reliably, but it takes a long time.  On Hydra it seems OK, so perhaps its default --cores 2 suffice usually.

Still (slowly) bisecting the loss of enableParallelBuild:
git bisect start
# bad: [8ba23e138d9714bf309facf0003d69b1f8b86265] Merge remote-tracking branch 'nixpkgs/staging-next' into staging
git bisect bad 8ba23e138d9714bf309facf0003d69b1f8b86265
# good: [35619ce1e513fa044b341f62a633deaa458eed06] Merge pull request #165453 from helsinki-systems/feat/systemd-manager-environment
git bisect good 35619ce1e513fa044b341f62a633deaa458eed06
# good: [711906d8ec0d7a306973375bd40396cc33136cb2] wine{unstable,staging}: 7.2 -> 7.4, vkd3d: 1.2 -> 1.3
git bisect good 711906d8ec0d7a306973375bd40396cc33136cb2
# good: [e9d2785e6b2bccfeb5b23d1eb3c474d0877861ec] cppy: 1.1.0 -> 1.2.0
git bisect good e9d2785e6b2bccfeb5b23d1eb3c474d0877861ec
# good: [474f700b19782fd6bdaf28fe77627d8d991ee14a] Merge #166381: knot-dns: 3.1.6 -> 3.1.7
git bisect good 474f700b19782fd6bdaf28fe77627d8d991ee14a
# good: [f97a925ba30ae62216b4bd00ba182308b1951977] Merge pull request #165405 from SuperSandro2000/pyparsing
git bisect good f97a925ba30ae62216b4bd00ba182308b1951977

I still suspect the binutils update causes something, but we'll see.

This is likely https://sourceware.org/bugzilla/show_bug.cgi?id=28885
See also https://github.com/Frogging-Family/wine-tkg-git/issues/764

Oh, great find! That seems like the culprit for sure. The commit I just skipped in my bisect was exhibiting the mingw build issue.

Currently wine has its enableParallelBuilding attribute set to false which allows it to build without issues.
I will make a PR to put it back to true after #172617 reaches master and close this issue once that has been merged.

As the binutils fix is part of the final staging-next iteration for 22.05 I think it would be important to have enableParallelBuilding reenabled on 22.05.

FWIW, I'm keeping an eye on it. But would it be possible to make a PR against staging-next directly with a commit just to enable the parallel wine build? When I made the binutils PR the flag was not yet set to false on staging so I couldn't add a commit for that at the time.

I don't believe wine causes many rebuilds, so that certainly would be an option.

Closed via https://github.com/NixOS/nixpkgs/pull/172617 and  https://github.com/NixOS/nixpkgs/pull/173981 .


Instrument production build via env variable

Fixes #135
(not tested)
Allow instrumentation of production build via an environment variable - CYPRESS_INSTRUMENT_PRODUCTION

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you, released in https://github.com/cypress-io/instrument-cra/releases/tag/v1.3.0

Fixes #135 (not tested)
Allow instrumentation of production build via an environment variable - CYPRESS_INSTRUMENT_PRODUCTION

I added this in .env file
how should i verify it using npm build & npm serve