Warn about inappropriate usage of glVertexAttribFormat

Description
When specifying vertex attribute format for integer attributes, it is a common mistake to call glVertexAttribFormat instead of glVertexAttribIFormat.
Currently, RenderDoc simply displays the values  of attributes specified in this erroneous way without any indication that something might be wrong, even though the application might be exhibiting incorrect behaviour.
It can make this type of bug hard to spot. Theoretically, it should be possible to detect this situation and warn the user about it, though I am not sure what might be the best way to surface this information to the user (stick an error message instead of the attribute value perhaps?)
Environment

RenderDoc version: 1.9
Operating System: Windows, or any other OS supporting OpenGL
Graphics API: OpenGL

In that commit I've added information to the GL pipeline state viewer for the vertex attributes to show where integer data is being converted to float (and possibly normalised):

However API validation is explicitly not in scope for RenderDoc. This kind of thing is the responsibility for the API's validation, and e.g. on D3D11 you get a warning about this behaviour:

D3D11 WARNING: ID3D11Device::CreateInputLayout: The provided input signature expects to read an element with SemanticName/Index: 'COLOR'/0 and component(s) of the type 'int32'.  However, the matching entry in the Input Layout declaration, element[1], specifies mismatched format: 'R32_FLOAT'.  This is not an error, since behavior is well defined: The element format determines what data conversion algorithm gets applied before it shows up in a shader register. Independently, the shader input signature defines how the shader will interpret the data that has been placed in its input registers, with no change in the bits stored.  It is valid for the application to reinterpret data as a different type once it is in the vertex shader, so this warning is issued just in case reinterpretation was not intended by the author. [ STATE_CREATION WARNING #391: CREATEINPUTLAYOUT_TYPE_MISMATCH]


Detect low-level engine based keys

The low-level engine based keys have to be treated as not
exportable to providers and used with old legacy pmeths.
Fixes #14632

This needs some more work to add support for low-level application methods.

Ping for review(s)?

This pull request is ready to merge

Merged to master. Thank you for the review.


ReactContext: currentActivity is null when onActivityResult is called

I use addActivityEventListener to listen for the result of an Intent.

when I start the Intent RN calls onHostPause and releases the reference mCurrentActivity in ReactContext.java.
my onActivityResult fires, but there is no currentActivity set yet, because onHostResume is called afterwards.

0.29 / Android / Mac

Can you provide some code?

Yes, but it's in Kotlin, do you mind?

I'm not familiar with Kotlin, but for other people who will check this that will be better than nothing I guess.

@facebook-github-bot label Android

Stripped version:
package at.feibra.mobileqm

class ControllerModule(ctx: ReactApplicationContext) : ReactContextBaseJavaModule(ctx) {

    // ~ Constructors ----------------------------------------------------------------------------------

    init {
        /* forward activity event to controller */
        ctx.addActivityEventListener { requestCode, resultCode, data ->
            L.info("activity result: requestCode: {}, resultCode: {}, data: {}", requestCode, resultCode, data);
        }

        /* forward resume, pause, destroy to controller */
        ctx.addLifecycleEventListener(object : LifecycleEventListener {
            override fun onHostResume() {
                L.info("host resumed")
            }

            override fun onHostPause() {
                L.info("host paused")
            }

            override fun onHostDestroy() {
            }
        })
    }
}

This line: https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java#L157
is called AFTER this: https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java#L208

I can confirm this that I've run into this issue.
cc @foghina

Yeah, this is how Android works, unfortunately. If you have a plain Activity you will see the same thing: onActivityResult is called before onResume. We're not going to make hacks to work around this at the platform level (since we want to mimic Android as much as possible), but feel free to work around it yourself by e.g. storing the result and dealing with it in onHostResume. Even better, you can handle both cases easily, like this:
@Override
public void onHostResume() {
  if (mActivityResult != null) {
    // getCurrentActivity() will never return null here
    handleActivityResult(getCurrentActivity(), mActivityResult);
    mActivityResult = null;
  }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  final Activity activity = getCurrentActivity();
  if (activity != null) {
    handleActivityResult(activity, data);
  } else {
    mActivityResult = data;
  }
}

private void handleActivityResult(Activity activity, Intent result) {
  // insert business logic
}

I'd write this in Kotlin but I'm pretty rusty 🙃

I've worked around it like that already.
I still think this needs fixing: Usually, without RN, people would override [onActivityResult](https://developer.android.com/reference/android/app/Activity.html#onActivityResult(int, int, android.content.Intent) and have their activity around using this.

@foghina Please reopen this issue. You said RN wants to mimic Android as much as possible. In a regular Android application you have access to your Activity on  onActivityResult. In RN you don't…

Fine. Feel free to send a PR that e.g. adds an Activity arg to onActivityResult().

@foghina Awesome thanks. I can do that, but I noticed another problem which might be related. I worked around like you said by storing the result and waiting for the Activity to return.
Now I tested my app for low-memory using "Don't keep activities". When using that second "onActivityResult" is actually never called, because apparently the Host is destroyed?

Ah yes, the problem there is the ReactInstanceManager gets destroyed when the Activity is destroyed. I might fix that soon anyway as part of a different thing I'm working on.

@foghina Ok. I would help, but I don't know what the "structural plan" is. One ReactInstanceManager  and one ReactNativeHost per Android Application, is that right? The ReactRootView is destroyed and recreated along with Activities?
Is the actual JS structure (the component-tree, the callbacks) tied to the ReactRootView too or can it be reused across Activities?

Has this be changed with 0.31? Thanks!

Any idea when this will be fixed?

This should be fixed by 3c4fd4.
However, note that if the activity returning a result is also a RN activity, it will be returned by getCurrentReactActivity() during onActivityResult(), instead of the activity receiving the result.
If the activity returning the result is not RN (e.g. camera app), current activity will be correct.
Also, running with don't keep activities is probably still broken.
Working on a fix for these two issues.

@foghina So does this work now when not keeping activities?

It should work, I've tested a bunch of scenarios but not onActivityResult specifically. Feel free to try it out (e.g. using master) and open a new bugreport if it still doesn't work (and cc me).

@foghina I'll test it when it's released (in 0.32?)

Probably 0.33-rc and then 0.33, not sure though. @bestander?

0.33-rc.0 next Monday unless this is critical to get as a patch into 0.32.0.

@bestander It is not critical to me, but, since Android is allowed to kill Activities any time, this can lead to spurious bugs for inexperienced users, which in turn creates new issues for this already overwhelmed project…

@fab1an, 0.32 becomes stable early next week and 0.33-rc is released.
This issue has been there for a while so I don't think we should rush and risk 0.32 stable and release it without a good 2 weeks of release-candidate testing.
But thanks for caring and feel free to discuss more.

This is actually a big deal. This patch seems to fix a whole class of issues for us. We will be testing .33-rc over the weekend.

@conover Did it fix your issues?

I can confirm this fixed as of version 0.34, I did not try 0.33.

I hava the same issues. version 0.36
when i used getCurrentActivity in ReactContextBaseJavaModule some times return null.
I create ReactInstanceManager not in onCreate method，But in the onCreate after a period of time。
So there is no onHostResume method is called, passing the current activity to ReactContext.
My solution is to create a ReactInstanceManager called after ReactInstanceManager.onHostResume.


Confusing error message when positional arguments were passed.

Raise better error instead of TypeError __call__ ....

Superseded by #627


module type mismatch on h2 push

currently we are receiving warnings from chrome about two of our h2 pushes not being used
https://spark-website--adobe.hlx.live/express/
it would be great if we had some form of an isolated h2 test service, where we can easily play around with header etc. in an outerCDN.

In version 35 I'm using </express/scripts/scripts.js>; rel=modulepreload; as=script; crossorigin=use-credentials, </express/styles/styles.css>; rel=preload; as=style, </express/testing.json>; rel=preload; as=fetch; crossorigin=anonymous and I don't see the warnings anymore, but scripts.js is still being double-fetched.

I think I've got it: https://push-me.hlx.live/ https://manage.fastly.com/configure/services/2IoEXKgmmmdULrVtb39Rf8/versions/4/contents
No warnings, /script.js is only pushed, not fetched and the module is being loaded.


Regression: Unable to set EC_KEY private_key to NULL starting in 1.1.1h

OpenSSL 1.1.1h introduces a behavior change wherein one can no longer set an EC_KEY's private_key to NULL.
This behavior changes in 6a01f6f4b41d045e2a3abcb10163633d769db76a. Based on the original PR (https://github.com/openssl/openssl/pull/11127), it appears that this is hardening backported from 3.0.0 that unintentionally introduced a regression.
From https://github.com/openssl/openssl/commit/6a01f6f4b41d045e2a3abcb10163633d769db76a#diff-38a47bf175cde97de2df18870a9ab300366f191a848bdea84def068fe0fde69fR484-R486:
+    tmp_key = BN_dup(priv_key);
+    if (tmp_key == NULL)
+        return 0;

EC_KEY_set_private_key returns early and never sets key->priv_key to NULL.

So, before the patch in #11127, EC_KEY_set_private_key(some_eck, NULL); returned an error but also modified the inner field, which at the time looked like a bug.
Documentation said and says nothing about being allowed to pass NULL and what is the expected behavior.
So, questions for OTC:

what do we think is the expected behavior for 1.1.1? which one is the bug, original behavior or the one after hardening of #11127?
depending on the answer above, what do we want for 3.0.0?
finally what about master?

Formally my hold is to let OTC evaluate if the original report describes a regression or not.
I am not objecting to fixing it if we deem that it is a regression, but this statement needs more consideration:

OpenSSL 1.1.1h introduces a behavior change wherein one can no longer set an EC_KEY's private_key to NULL.

As far as the public API is defined, passing NULL return an error code, so one can say that the API before 1.1.1h did not allow the semantic of passing NULL to unset the private key.
On the other hand, if the caller did not check the return value and relied on undocumented inner behavior, one can say this is a regression.

All those functions explicitly handle being passed NULL as an argument and set the corresponding value to NULL - that is their intent. It didn't happen by accident.
BN_dup(NULL) returns NULL and that is not an error - as that is what it should do.
Changing long term explicit behaviour like this is one place where things get broken unnecessarily and we should not be backfitting this short of change into a stable release - that was a mistake to backfit it IMHO entirely independent of what you think about what the behaviour should be.
EC_KEY_set_group, EC_KEY_set_private_key, EC_KEY_set_public_key all operate the same way and changing one API out of a set of APIs to behave inconsistently was clearly the wrong choice to be making (for backfit or in any other context).
Someone wanting to make a behaviour change like that should be explicitly flagging that as a separate PR and discussing the context and the scope - not including it in with other changes.

I don't disagree with anything you said @t-j-h !
But the previous code was already considering the BN_dup() returning NULL as an error, and returning an error to the caller: https://github.com/openssl/openssl/blob/b5acbf914833a83368e51766de4cf2e2074a9436/crypto/ec/ec_key.c#L428-L429

So, questions for OTC:

OTC: We should revert to the old behaviour on all branches, where passing NULL sets the internal key to NULL and we get a failure result code back

Thanks @dpirotte for reporting this and @robertohueso for the fix.
The fix has been merged:

#18942 to master as:

b304b3e8f7 Fix EC_KEY_set_private_key() priv_key regression
d93f154d5a Add test for EC_KEY_set_private_key()
fae06b5779 Fix EC_KEY_set_private_key() NULL priv_key docs

#18941 to openssl-3.0 as:

f76cf4d988 Fix EC_KEY_set_private_key() priv_key regression
66627cdfc2 Add test for EC_KEY_set_private_key()
c682dfdbdf Fix EC_KEY_set_private_key() NULL priv_key docs

#18874 to OpenSSL_1_1_1-stable as:

143d7d4c79 Fix EC_KEY_set_private_key() priv_key regression
1c2f52bed3 Add test for EC_KEY_set_private_key()
4648839300 Fix EC_KEY_set_private_key() NULL priv_key docs


live() Select multiple options re-appear when removing quickly on relationship data

Package
filament/forms
Package Version
^3.0-stable
Laravel Version
^10.0
Livewire Version
V3.0.0
PHP Version
PHP 8.1
Problem description
I am using multiple (live - important) Select Component with multiple select and preload in my form and the issue I am facing is when I have some options selected and I want to remove some of them  by clicking on x button quickly then it hits the server as expected but if I click them one by one quickly some of them re-appear in the options. It works a bit better on local but the production server is a bit slower and we face this issue all the time.
Thank you
Expected behavior
Is it possible to make live only when blur like on TextInput ->live(onBlur: true) or disable removing item until the previous request is complete please?
Thank you
Steps to reproduce

Please install this repository linked in this issue, migrate and add a user.
Run php artisan db:seed
Go to Buyers page and click on add a new buyer
Now here we can see 3 Select components, Regions, Industries, Revenue Ranges please select 15 to 20 from the preloaded items.
Now the real problem is when we quickly remove items from the list, I have used the 4 characters so that clicking quickly is easy to do, there you can see the options sometimes re-appear while removing other items, this is where I need to fix this.
This is a really simple form and it still has the issue but I am using more forms which has whereIn("id",[1,2,3]) as well as whereNotIn("id",[4,5,6]) queries which are dependent on a few live TextInputs so I can't remove the live option from here.

Thank you
Reproduction repository
https://github.com/mohdaftab/filamentphp-mohdaftab
Relevant log output
N/A

https://github.com/filamentphp/filament/assets/25055576/91390ebc-ff83-4bd0-8ffd-dbeb853f22ce
Please check this video for reference.
Thank you

looking at the code, it looks to be a livewire issue given we are not doing a live call. We will test this, but can you please update with your exact livewire version? 3.0.0 is old now it is on 3.2.1.
Thanks

Hello @tonypartridge
This is what I see in the composer.lock file
"livewire/livewire": "^3.0",
"livewire/volt": "^1.3",
"orchestra/testbench": "^7.0|^8.0",
"phpunit/phpunit": "^9.0|^10.0"

I updated the livewire version using php artisan livewire:update and it asked me so many questions and asked to make changes with Before/After code and it seems to be working fine now.
I will try to update my production project and see how it goes.
Thank you so much.

@tonypartridge turns out my production server had Livewire 2 somehow working with Filament v3 but I have now updated it. I just wanted to confirm that the changes it asked me to do will be automatically fixed on the Filament version and I just have to fix them on my front-end which I coded myself?
Thank you

@tonypartridge turns out my production server had Livewire 2 somehow working with Filament v3 but I have now updated it. I just wanted to confirm that the changes it asked me to do will be automatically fixed on the Filament version and I just have to fix them on my front-end which I coded myself? Thank you

That is standard livewire upgrade, filament doesn't have livewire which is why we advise you do it.


Dragging of images doesn't work when inserting between nodes

This gif shows if you try to drag a file between the nodes (when the horizontal black line shows), the image is not inserted but if you insert the image inline it works.
As far as I understand a wrapper node needs to be created so that the image can be inserted into this. We can look into how prosemirror handles within the document image drag.

I'll work on this next

@kepta I can't reproduce this locally.


Native Notebooks - Support right click, copy output

Customer feedback is requesting support for the ability to right click on an output and copy the image

Dupe of microsoft/vscode#124917


Fancy Zones crashes when editing an existing layout on a second screen

Microsoft PowerToys version
0.45.0
Running as admin

[X] Yes

Area(s) with issue?
General
Steps to reproduce
trying to edit the setup on a second screen
✔ Expected Behavior
allow me to edit fancy zones
❌ Actual Behavior
the program crashed
Other Software
FZEditorCrashLog.txt

Duplicate of #13105


Optionally create statically linked binaries

fixes #438

To create a statically linked binary, prefix the make command with STATICBIN=true or set an environment variable to that effect.

I have updated the Makefiles to piggyback on GOOS to determine the LDflags. Static compilation will be done when compiling for Linux arch (i.e. GOOS=linux). To review the PR, I suggest looking at the composite change instead of the individual commits.

Not sure what caused the previous commit-mess, but rebase have sorted it.

Note that with this change, non-linux machines cannot be used to build binaries/docker images for release purposes, nor to run integration tests. For that, we'll have to find a way to properly build on OSX.

We do that via Travis. So I doubt we have to worry about that.
On Mon, Dec 12, 2016 at 2:28 AM Zvi Cahana<EMAIL_ADDRESS>wrote:

Merged #439 https://github.com/amalgam8/amalgam8/pull/439.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/amalgam8/amalgam8/pull/439#event-889949040, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qd5carzHX7WCEVY6yvy-D4d8q2mhIks5rHPevgaJpZM4LIimR
.

--
~shriram


[ETFE-3569] Rename isTFESubmission to draftMovementExists

Note, can't be merged until FE PR is ready. Then can be merged together.

test this please

I need to push a commit to this to remove the PORTAL prefix check too; as that isn't really relevant now the approach for the content has changed. It also won't work where prefix is PORTAL but the draft has expired.


Fix issues with DPI Scaling

I have currently upgraded to a 4k monitor and with 125% screen scaling many of the elements get misaligned or the font is too big making the GUI somewhat unusable.

I found a fix for the scaling issue, this is a fix but the application will look small on screens at a distance! (This makes the application ignore DPI)


HDDS-3111. Add unit test for container replication behavior under dif…

What changes were proposed in this pull request?
Add unit test for container replication behavior under different container placement policy.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3111
How was this patch tested?
Add new unit test and passed in my local.

I have added some comments suggesting changes, to the way how the test is organised in the belief the changes will help to the next person looks at the test to understand what is happening from the code.
Please if you agree address the comments as you think suits best.

/pending  Please if you agree address the comments as you think suits best.

/close


Crash pressing drives after being in tags

Description
Going into one of the tags and then pressing on the drives tab crashes Files.
Steps To Reproduce

Press on one of the tags
Press on the drives main

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.1281
Windows Version
Microsoft Windows 11 Pro 10.0.22000 Build 22000
Relevant Assets/Logs
debug.log

Is this not an issue in the stable version?

no only on preview

now it happens in the new stable version too


freerdp Windows Server 2008 R2 - Barcode Scanner USB - missing double characters

Hello, we are using freerdp 2.0.0-dev with our 2008 R2 Terminal Servers. Attached to the Linux Device is a USB Barcode scanner from OPTICON.
If we scan Barcodes with Double Numbers via freerdp , like
02612295 or 02422288 we are loosing in 9 from 10 scans the double 22 or 88.. It just prints only one 2 or one 8.
Label:
02422288
barcode scan:
024228
.. If i do this on the Linux client in a xterm it works without a problem.. also rdesktop works without any problems. it seeams to be a timing issue ? i already has configured the usb barcode reader to use a bigger delay between the intercharacters, but it doesn´t help.
Output of dmesg:
[12396.196149] usb 1-1: USB disconnect, device number 2
[12402.708041] usb 1-1: new full-speed USB device number 3 using uhci_hcd
[12403.089079] usb 1-1: New USB device found, idVendor=065a, idProduct=0001
[12403.089088] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[12403.089094] usb 1-1: Product: USB Code Reader
[12403.089099] usb 1-1: Manufacturer: Optoelectronics Co., Ltd.
[12403.097724] input: Optoelectronics Co., Ltd. USB Code Reader as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.0/0003:065A:0001.0009/input/input13
[12403.098422] hid-generic 0003:065A:0001.0009: input,hidraw0: USB HID v1.00 Keyboard [Optoelectronics Co., Ltd. USB Code Reader] on usb-0000:00:1d.0-1/input0
~ #
output of the second reader:
Kernel is 3.16.7-29
if i change the opticon device and use an other usb barcode device the behavior is the same..
[12672.608058] usb 1-1: new low-speed USB device number 4 using uhci_hcd
[12672.969091] usb 1-1: New USB device found, idVendor=040b, idProduct=6543
[12672.969099] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[12672.984681] hid-generic 0003:040B:6543.000A: hiddev0,hidraw0: USB HID v1.10 Device [HID 040b:6543] on usb-0000:00:1d.0-1/input0
[12673.013627] input: HID 040b:6543 as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1:1.1/0003:040B:6543.000B/input/input14
[12673.014283] hid-generic 0003:040B:6543.000B: input,hidraw6: USB HID v1.10 Keyboard [HID 040b:6543] on usb-0000:00:1d.0-1/input1
Anyone here who can give me an advice what i can try to solve this ? some more debugs needed ? if so please ask..
thanks a lot..

We use the following command line to start the session
/opt/freerdp/bin/xfreerdp -grab-keyboard /t:RemoteSessionname /workarea +compression /cert-ignore -nego /sec:rdp +clipboard /sound:sys:pulse /drive:USB /media /v:servername

@ropetry just to clarify the reader is a regular HID device and you losing input on each scan when connected with xfreerdp?

@bmiklautz  yes it´s a normal hid device as seen by the dmesg output i think.. and yes on all scans.. 9 of 10 are wrong.. anything i can do ??

@ropetry I quickly tried to reproduce your behavior with the only barcode scanner I had at hand here but without success. Can you try to stick a debug message in libfreerdp/core/input.c functions input_send_keyboard_event and input_send_unicode_keyboard_event to see what is actually send out?
You might also want to check check the repeat rate on the windows side.

@ropetry Is your command line complete?
What is the /media argument you're using?
Is your purpose to use your USB scanner in your 2008 R2 environment (using USB redirection)? If yes, I don't see the /usb:id parameter...

@bmiklautz : thats sad as i just have tested it again and i can replicate it with two different readers on our 2008 r2 ts farm.. i have now checked it also with a windows 7 rdp server and a normal 2008r2 server.. (without rdp termianl server) just remote administration.. and i have no errors.. the barcode scanners work.. i have to test this again on monday... i checked the repeating rate so far, but i don´t see a cause there..
i will move one terminal server away from all group policy settings and check it again..
on the other side i would like to do the debug you said, what should i insert into the code ?
thanks roman
and sorry for answering so late, i was off the work for 2 days..

@HenryJacques : hi.. i have only usb media redirection enabled.. the barcode scanner -hid device should be only connected as a normal keyboard. it emulates a keyboard..
i can try to use the way you suggested if you can give me some more advice on it..
thanks
roman

@ropetry Ok, I didn't know it emulates a keyboard. I should have suspected it thanks to your output of dmesg...
That said, if you compiled xfreerdp with URBDRC support, you could try to redirect it to Windows using the /usb:id,dev:065a:0001
However, I don't know if it makes sense since it is a HID device.

@ropetry  any update on this? - Could you add what scanner you are actually using?

We had same issue in freerdp 1.1.0, no test in freerdp 2.0.0-dev.
"missing double characters" happens because some USB scanner send two key_press and one key_release to rdp windows. 2_press, 2_press, 2_release, so in windows, it show just one 2, some times.
Our workaround is, send key_release before 2nd key press. in client/X11/xf_event.c:
static BOOL xf_event_KeyPress(xfContext* xfc, XEvent* event, BOOL app)
{
	KeySym keysym;
	char str[256];

	XLookupString((XKeyEvent*) event, str, sizeof(str), &keysym, NULL);

+++	// release key before send
+++	if(NoSymbol != xfc->pressed_keys[event->xkey.keycode]){
+++		xf_kbd_unset_keypress(xfc, event->xkey.keycode);
+++		xf_kbd_send_key(xfc, FALSE, event->xkey.keycode);
+++	}

	xf_kbd_set_keypress(xfc, event->xkey.keycode, keysym);

@bmiklautz : sorry, but i was in holidays: i tried again with our terminal servers and with a clean installed terminal server. just server 2008 and role terminal server added.. of 20 scan´s i get only 1 wrong. i´m just checking if we have changed something else at our server side.. but i don´t think so. in the meantime i will try to test the patch of @fadeer ..
anyway. could you please point me to a little bit more into the right debug messages or functions i could change to get more infos as you have written in one of your first post. thanks

@ropetry Can you try to stick a debug message in libfreerdp/core/input.c functions input_send_keyboard_event and input_send_unicode_keyboard_event to see what is actually send client side.

@bmiklautz : hello bmiklautz, tried this now but my messages doesn´t appear. i compiled it and freerdp works..
after that i did a make clean , changed some code and made again a new compiler run, but my changes are not in the generated code.. is make clean not the right thing ?
i think he still uses some cached code/objects..
thanks roman

@fadeer : i tried to change your patch to match the new "objects/methodes" style. but had no luck so far.. still trying.to figure it out

@ropetry what was your exact change?

solved so far with some of the latest commits..
Using Commit GIT Version 1dbd2d2 ..


Is it possible to skip global bundle adjustment?

Is it possible to skip global bundle adjustment when using ns-process-data? I would like to try the result with just hloc, and see if it is usable without waiting for the global bundled adjustment which takes a while. Thanks in advance!

@KevinOPG, good point, this is currently not supported in the ns-process-data images ... script. Basically, the bundle adjustment is always ran after feature extraction and matching commands here, but it is perhaps easy to just add a new user flag like --skip-bundle-adjustment similar to the other flags for ns-process-data.

@KevinOPG, good point, this is currently not supported in the ns-process-data images ... script. Basically, the bundle adjustment is always ran after feature extraction and matching commands here, but it is perhaps easy to just add a new user flag like --skip-bundle-adjustment similar to the other flags for ns-process-data.

Thank you for the reply! I am using hloc so it seems like global bundle adjustment is called within mapper which is used in reconstruction in hloc_util.py. Not sure how to complete stops it so instead I passed a few additional arguments to mapper to make it not do as many iterations of global BA and so far so good!
I added these to line 153 of hloc_utils.py:
mapper_options={"ba_global_max_num_iterations":20, "ba_global_max_refinements":2,
                             "ba_global_function_tolerance":1e-4, "ba_local_function_tolerance":1e-4},


wumpus game needs help text

for example how does user indicate where a move or shot may go? I like the "huh?" but should we have instructions like "select room to move to" or is it "select direction to move to"?
maybe this should be part of intro, "each turn you may choose which room to move or shoot into"

I think just the intro text would be better, no help


Tab-Autocomplete throws an Exception

Sponge: sponge-1.8-1371-2.1DEV-428
Forge: <IP_ADDRESS>7
Client: Vanilla 1.8.4
Plugins/Mods: none
Java Version:

C:\Windows\system32>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

OS: Windows 7 - 64 bit
If you type /tell  (with space at the end) and press tab, you get an ArrayIndexOutOfBoundsException. Here is the Console-Output, and here the latest fml-server.log.

Have you update the submodules?

@nikosgram13 I guess he downloaded the compiled jar from the repo.

@boformer thats right. :)


DASH (Dynamic Adaptive Streaming over HTTP).

Now DASH is used as the preferred means for videos playback on NewPipe instead of progressive HTTP, improving loading times in playback and seeking.
*Maybe DASH can be used in JTube, to improve load times in playback and search.
-https://newpipe.net/blog/pinned/release/newpipe-0.23.1/
-https://github.com/TeamNewPipe/NewPipe/commit/210834fbe933654804016e547833288f90e2135e
-https://github.com/TeamNewPipe/NewPipe/commits?author=AudricV
-https://github.com/TeamNewPipe/NewPipe/pull/8153

Symbian can't handle DASH


missing feature

VSCode Version:
OS Version:

Steps to Reproduce:

thanks

Please provide some information for the issue


Update Central-Package-Management.md

Docs Build status updates of commit 8692043:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/Central-Package-Management.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix bit reader, add tests, update proto

Fixes certain types in BitReader
Adds regression specs for multiple patches
Update game-tracking and dota proto

fyi: I still have some commits on the way

:+1: thanks, made this to facilitate discussion


Performance Improvement - Avoid event copying for the first sub-pipeline

Description
Currently Pipeline connector code makes a copy of the records even if there is only one pipeline. Copying is required only when there are multiple sub pipelines.
For example if the config is like this -
pipeline1 -> source -> processor -> pipeline-2(as sink) -> pipeline2 (source) -> processor -> sink
This will do a copy of every record even though it is not necessary.
This fix avoids copying to the first sink and makes a copy only when the same record is sent to multiple sinks.
Issues Resolved
[List any issues this PR will resolve]
Check List

[X ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X ] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2290 (171f2a1) into main (36c1d47) will decrease coverage by 0.16%.
The diff coverage is 72.09%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #2290      +/-   ##
============================================
- Coverage     93.92%   93.76%   -0.16%
- Complexity     1964     1971       +7
============================================
  Files           226      227       +1
  Lines          5462     5485      +23
  Branches        436      442       +6
============================================
+ Hits           5130     5143      +13
- Misses          224      231       +7
- Partials        108      111       +3

Impacted Files
Coverage Δ

...search/dataprepper/pipeline/PipelineConnector.java
89.65% <ø> (+5.93%)
:arrow_up:

...pper/pipeline/router/RouterCopyRecordStrategy.java
66.66% <66.66%> (ø)

.../org/opensearch/dataprepper/pipeline/Pipeline.java
80.72% <100.00%> (+0.23%)
:arrow_up:

...epper/pipeline/router/DataFlowComponentRouter.java
100.00% <100.00%> (ø)

...opensearch/dataprepper/pipeline/router/Router.java
100.00% <100.00%> (ø)

...rwarder/discovery/AwsCloudMapPeerListProvider.java
92.85% <0.00%> (-2.39%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[Help Update] Ability to add arguments to argument groups in help.yaml file

Currently, arguments / parameters can only be added to argument groups in code. It would be good if argument groups can be specified in help.yaml files.

see #9790


Update pegleg syntax

Pegleg syntax seems to have changed; this is what works for me; please check if semantics is still as intended. Thanks!

Thank you for contributing to openstack/airship-treasuremap!
openstack/airship-treasuremap uses Gerrit for code review.
If you have never contributed to OpenStack before make sure you have read the
getting started documentation:
https://docs.openstack.org/infra/manual/developers.html#getting-started
Otherwise please visit
https://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.


Feature(UI): Enhancement of groups cards in group Dashboard

Is your feature request related to a problem? Please describe
Current Card UI is good but can be improved
Describe the solution you'd like

Describe alternatives you've considered
Alternatively we can have random colours to enhance the ui

Additional context
figma link: https://www.figma.com/file/RuyznYuBVdMy20kKi6ljGA/Untitled?type=design&node-id=0%3A1&mode=design&t=oRRFaEQl2TfeOA4K-1
Are you working on this?
Yes

We may keep the lower portion of card as white like Google Classroom, else the icon buttons are not looking good.
Also, We may show latest open assignments as well in that space.
WDYT ??

We may keep the lower portion of card as white like Google Classroom, else the icon buttons are not looking good.
Also, We may show latest open assignments as well in that space.
WDYT ??

@tanmoysrt yeah that would be great thanks for the inputs, will improve  it

@tanmoysrt yeah that would be great thanks for the inputs, will improve  it


oelint-adv: 3.26.12 -> 4.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for oelint-adv is: Advanced bitbake-recipe linter
meta.homepage for oelint-adv is: https://github.com/priv-kweihmann/oelint-adv
meta.changelog for oelint-adv is: https://github.com/priv-kweihmann/oelint-adv/releases/tag/v4.0.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.0.0 with grep in /nix/store/0iqvnwmx8jicxj1x34z79mwmqxs5qadk-oelint-adv-4.0.0
found 4.0.0 in filename of file in /nix/store/0iqvnwmx8jicxj1x34z79mwmqxs5qadk-oelint-adv-4.0.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
oelint-adv

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0iqvnwmx8jicxj1x34z79mwmqxs5qadk-oelint-adv-4.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A oelint-adv https://github.com/r-ryantm/nixpkgs/archive/33dd6fa78f8104694fbddcf828202bef3d398f0d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/33dd6fa78f8104694fbddcf828202bef3d398f0d#oelint-adv

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0iqvnwmx8jicxj1x34z79mwmqxs5qadk-oelint-adv-4.0.0
ls -la /nix/store/0iqvnwmx8jicxj1x34z79mwmqxs5qadk-oelint-adv-4.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

oelint-adv

Maintainer pings
cc @otavio for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for oelint-adv is: Advanced bitbake-recipe linter
meta.homepage for oelint-adv is: https://github.com/priv-kweihmann/oelint-adv
meta.changelog for oelint-adv is: https://github.com/priv-kweihmann/oelint-adv/releases/tag/v4.1.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.1.0 with grep in /nix/store/1s72518xg97x4dpjqb4diqp0p9lfwrj6-oelint-adv-4.1.0
found 4.1.0 in filename of file in /nix/store/1s72518xg97x4dpjqb4diqp0p9lfwrj6-oelint-adv-4.1.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
oelint-adv

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1s72518xg97x4dpjqb4diqp0p9lfwrj6-oelint-adv-4.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A oelint-adv https://github.com/r-ryantm/nixpkgs/archive/946ac7831c493e622195dfd930eadbb11289ba7a.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/946ac7831c493e622195dfd930eadbb11289ba7a#oelint-adv

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1s72518xg97x4dpjqb4diqp0p9lfwrj6-oelint-adv-4.1.0
ls -la /nix/store/1s72518xg97x4dpjqb4diqp0p9lfwrj6-oelint-adv-4.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

oelint-adv

Maintainer pings
cc @otavio for testing.


withTheme() HoC for theming normal components

As discussed with @kwelch in #24 we might want to provide a withTheme() HoC that allows using theming capabilities with non-glamorous components.
import {withTheme} from 'glamorous'

const Hello = ({theme, ...rest}) =>
  <div style={{color: theme.colors.primary}} {...rest} />

export default withTheme(Hello)

withTheme() will just receive the context, setup subscription and return the wrapped component with a theme prop.
Am I correct @kwelch ?

Looks good to me!

Yes, this should isolate context to within the library so users don't have to use an experimental API (knowingly).

Is anyone willing to take this one? Otherwise I can do it.

Let's wait a day or so to see whether anyone else wants to do it. Unless you need it now if course. The more the merrier!

I would love to jump on this, been working with HOCs a lot lately.

Awesome! 👍

@kentcdodds sent a PR, mostly there but there are some questions that need answering before its ready to go! :smile:


Feature/33 contributing guide

Contribution guide for issue #33

Pipelines are failing because of #39, I'm on it.


fix: use correct icmpv6 type for echo request

ICMPv6 uses different message types than ICMPv4. So in order to enable ICMPv6 echo requests we have to used message type 128 instead of 8.  See https://de.wikipedia.org/wiki/ICMPv6 for reference.

Thank you for the fix, much appreciated.


Fix traceability in SRS for changes from VnV

Documents:
SRS, VnV Plan
Changes:
Fix traceability with changes made for VnV

Completed in commit id: fd684242dc1584248227078c482b651bbb1c9a8c


[sysrst] Inconsistent key interrupt bit assignment

The register KEY_INTR_CTL lists bit 7 as reserved, with the result that the low byte controls the 7 falling edge triggers, and the high byte controls the 7 corresponding rising edge triggers.
The register KEY_INTR_STATUS also has one bit for each of the 14 possible transitions, but that one does not have bit 7 reserved, and instead packs the 14 values into the lowest 14 bits.
I would argue that the bit assignment between these two registers should be identical, as is almost always the case with pairs of "interrupt enable" and "interrupt status" registers.

This appears to be a bug in the CSR layout, hence we can fix this right away as part of M3.
There should be no DV impact since it neither removes nor adds a new feature.
The DV environment and DIFs should pick up the bit index change automatically.


building for python3

Dear guys,
I tried following the instructions to make lanelet2 in Python3, so, inside your docker image the command :
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPYTHON_VERSION=3.6
catkin build

yielded this error :
[build] Found '11' packages in 0.0 seconds.
[build] Updating package table.
Starting  >>> catkin_tools_prebuild
_______________________________________________________________________________________
Errors     << catkin_tools_prebuild:cmake /home/developer/workspace/logs/catkin_tools_prebuild/build.cmake.000.log
ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg'
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at /opt/ros/melodic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
  execute_process(/usr/bin/python3.6
  "/opt/ros/melodic/share/catkin/cmake/parse_package_xml.py"
  "/opt/ros/melodic/share/catkin/cmake/../package.xml"
  "/home/developer/workspace/build/catkin_tools_prebuild/catkin/catkin_generated/version/package.cmake")
  returned error code 1
Call Stack (most recent call first):
  /opt/ros/melodic/share/catkin/cmake/catkin_package_xml.cmake:74 (safe_execute_process)
  /opt/ros/melodic/share/catkin/cmake/all.cmake:167 (_catkin_package_xml)
  /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:4 (find_package)

cd /home/developer/workspace/build/catkin_tools_prebuild; catkin build --get-env catkin_tools_prebuild | catkin env -si  /usr/bin/cmake /home/developer/workspace/build/catkin_tools_prebuild --no-warn-unus
ed-cli -DCATKIN_DEVEL_PREFIX=/home/developer/workspace/devel/.private/catkin_tools_prebuild -DCMAKE_INSTALL_PREFIX=/home/developer/workspace/install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DPYTHON_VERSION=3.6;
 cd -
.......................................................................................
Failed     << catkin_tools_prebuild:cmake           [ Exited with code 1 ]
Failed    <<< catkin_tools_prebuild                 [ 1.3 seconds ]
Abandoned <<< mrt_cmake_modules                     [ Unrelated job failed ]
Abandoned <<< lanelet2_core                         [ Unrelated job failed ]
Abandoned <<< lanelet2_io                           [ Unrelated job failed ]
Abandoned <<< lanelet2_maps                         [ Unrelated job failed ]
Abandoned <<< lanelet2_projection                   [ Unrelated job failed ]
Abandoned <<< lanelet2_traffic_rules                [ Unrelated job failed ]
Abandoned <<< lanelet2_routing                      [ Unrelated job failed ]
Abandoned <<< lanelet2_python                       [ Unrelated job failed ]
Abandoned <<< lanelet2_examples                     [ Unrelated job failed ]
Abandoned <<< lanelet2_validation                   [ Unrelated job failed ]
[build] Summary: 0 of 11 packages succeeded.
[build]   Ignored:   1 packages were skipped or are blacklisted.
[build]   Warnings:  None.
[build]   Abandoned: 10 packages were abandoned.
[build]   Failed:    1 packages failed.
[build] Runtime: 1.3 seconds total.

I may have found a solution doing apt-get install python3-catkin-tools but still
The following packages have unmet dependencies:
 python-catkin-tools : Conflicts: python3-catkin-tools but 0.4.5-1 is to be installed
 python3-catkin-tools : Depends: python3-catkin-pkg (>= 0.2.9) but it is not going to be installed
                        Depends: python3-trollius but it is not installable
                        Conflicts: python-catkin-tools but 0.4.5-1 is to be installed

The problem is on ROS side. They still use python2 for building their stuff. Installing catkin with python3 will uninstall your complete ROS installation because of conflicting files. To do this correctly on bionic and earlier, you would have to build ros from source with python3 as your default interpreter.
The "hacky" way to do this is to use python2 catkin for building while being in a python3-virtualenv and add the catkin package to your workspace. You might have to adapt your PYTHONPATH variable to make this work so that no python2 modules are mixed with python3 modules.
I'll close this because this is not related to Lanelet2. It is a general issue with ROS and catkin.


cimport does not work for functions returning tuples

With the following structure:
test/
    __init__.py
    test.pyx
    lib.pyx
    lib.pxd
setup.py

test.pyx:
# cython: language_level=3
from .lib cimport foo

print(foo())

lib.pyx
# cython: language_level=3
cdef (double, double) foo():
    return 5.0, 3.0

lib.pxd
# cython: language_level=3
cdef (double, double) foo()

setup.py
from setuptools import setup, find_packages
from Cython.Build import cythonize

setup(
    name='test',
    packages=find_packages(),
    ext_modules=cythonize('test/test.pyx'),
)

Running python setup.py build_ext raises the following compiler error:
test/test.c:1002:1: warning: parameter names (without types) in function declaration
 static PyObject* __pyx_convert__to_py___pyx_ctuple_double__and_double(__pyx_ctuple_double__and_double);
 ^~~~~~
test/test.c:1037:41: error: expected declaration specifiers or ‘...’ before ‘*’ token
 static __pyx_ctuple_double__and_double (*__pyx_f_4test_3lib_foo)(void); /*proto*/
                                         ^
test/test.c: In function ‘__Pyx_modinit_function_import_code’:
test/test.c:1194:64: error: ‘__pyx_f_4test_3lib_foo’ undeclared (first use in this function); did you mean ‘__pyx_k_test’?
   if (__Pyx_ImportFunction(__pyx_t_1, "foo", (void (**)(void))&__pyx_f_4test_3lib_foo, "__pyx_ctuple_double__and_double (void)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
                                                                ^~~~~~~~~~~~~~~~~~~~~~
                                                                __pyx_k_test
test/test.c:1194:64: note: each undeclared identifier is reported only once for each function it appears in
test/test.c: In function ‘__pyx_pymod_exec_test’:
test/test.c:1406:68: warning: implicit declaration of function ‘__pyx_f_4test_3lib_foo’ [-Wimplicit-function-declaration]
   __pyx_t_1 = __pyx_convert__to_py___pyx_ctuple_double__and_double(__pyx_f_4test_3lib_foo()); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
                                                                    ^~~~~~~~~~~~~~~~~~~~~~
test/test.c: At top level:
test/test.c:1948:71: error: unknown type name ‘__pyx_ctuple_double__and_double’
 static PyObject* __pyx_convert__to_py___pyx_ctuple_double__and_double(__pyx_ctuple_double__and_double value) {
                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test/test.c:1002:18: warning: ‘__pyx_convert__to_py___pyx_ctuple_double__and_double’ used but never defined
 static PyObject* __pyx_convert__to_py___pyx_ctuple_double__and_double(__pyx_ctuple_double__and_double);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: command 'gcc' failed with exit status 1

I can confirm this issue. I had to add a cdef (int, int) _dummy_declaration to the .pxd files of Python scripts, which used a (int, int) ctuple declaration through a called function.

Duplicate of #1427.


After using mock to send message , consumer paused with exception .

Exception in thread "main" org.apache.kafka.common.errors.SerializationException: Error deserializing key/value for partition topic_1-0 at offset 23143. If needed, please seek past the record to continue consumption.
Caused by: org.apache.kafka.common.errors.SerializationException: Size of data received by IntegerDeserializer is not 4

mock use StringSerializer as KEY_SERIALIZER, but i usually use IntegerSerializer as KEY_SERIALIZER


How to use a FetcherStore with a computed() atom

I'm looking for a little advice on the best way to use one or more fetcher stores from a computed() atom - I'm struggling with what to use to actually subscribe to the fetcher.
Example:
const ids = atom(/* some dymanic thing that returns an array of ids */);

const requestFactory = (id: string | undefined) => {
  const store = createFetcherStore<Response>(['/api/v1/thing/', atom(id)]);
  return store;
}

computed(ids, (ids) =>
    ids.map((id) => {
        const singleStore = requestFactory(id);
        /* How to use `singleStore` here though? */
    }).reduce(/* Something with all these ids against the API call... */);
);

You can try to avoid the dynamic creation of query atoms and process all the logic within the fetcher function:
const $ids = atom([1,2,3]);

// need convert ids into string because only primitive values should be as part of key
const $idsKey = computed($ids, (ids) => ids.join(','));

const $responses = createFetcherStore<Response[]>(['/api/v1/thing/', $idsKey], {
  fetcher: (url, idsKey) => {
    // convert stringified ids into array
    const ids = idsKey.split(',');
    // call all API requests and return array of responses
    return Promise.all(
      ids.map((id) =>
        fetch(`${url}/${id}`).then((response) => {
          if (response.ok) {
            return response.json();
          }
          throw new Error();
        }),
      ),
    );
  },
});

const $result = computed($responses, (responses) => responses.reduce(/* Do something with all responses of API call */));

@Bwvolleyball Yo!
Fetcher stores are just smarter versions of basic atoms from nanostores. They have all the same methods to work with: .get(), .listen(), .subscribe() and others.

I wouldn't suggest going the route @mrfratello offered, because it kind of makes the cache very inefficient: if you change a single id in the array, you end up wasting the whole cache record and re-requesting too much stuff. Generally, you need one request per one store at the same time. There are exceptions to this rule (e.g., when API is not well-built and you actually need to perform a chain of operations that yield one API record), but they are truly rare.
I'm not entirely sure what you're trying to do though. Typically we use state managers with some frameworks. It's true that sometimes you have an unpredictable/dynamic amount of stores that cannot be encoded within JS module. In such cases I typically go for the hack that's covered in Readme. Essentially, create fetcher stores dynamically in the component using useState's factory signature (in React that is; in other frameworks you can just memo them or create during mount phase) and subscribe to them right there. Cache is singleton, and fetcher stores are just an interface to it, so even if you create 10 stores with the same cache keys, requests will be deduplicated, data will be in sync, etc.
Lmk if you have any questions!


revisit background_task

This module is not very significant. Maybe it can be deprecated.

made small improvements to doc; keep the module


Infix precedence being ignored?

class A b where
  infixl 5 <!!
  (<!!) :: b -> b -> b

instance A Int where
  x <!! y = x + y

3 . 3 <!! 3

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

From ghci I get this:
GHCi, version 7.10.1: http://www.haskell.org/ghc/  :? for help
Prelude> :set +m
Prelude> class A b where
Prelude|   infixl 5 <!!
Prelude|   (<!!) :: b -> b -> b
Prelude| instance A Int where
Prelude|   x <!! y = x + y
Prelude|
Prelude> 3 . 3 <!! 3

<interactive>:9:1:
    Precedence parsing error
        cannot mix ‘.’ [infixr 9] and ‘<!!’ [infixl 9] in the same infix expression

I guess this is not an issue with IHaskell.

Oh, huh. I didn't realize GHCi was broken here...

Now I get
<interactive>:1:1: error:
    • Couldn't match expected type ‘Int’ with actual type ‘a0 -> c0’
    • Probable cause: ‘(.)’ is applied to too few arguments
      In the first argument of ‘(<!!)’, namely ‘3 . 3’
      In the expression: 3 . 3 <!! 3
      In an equation for ‘it’: it = 3 . 3 <!! 3


Distribution input files are relative to running directory rather than input directory

The distribution input files find the files relative to the running directory rather than the working directory:
raven/tests$ ../raven_framework framework/test_distributionCustom1D.xml fails but raven/tests/framework$ ../../raven_framework test_distributionCustom1D.xml works.
From: https://hpcgitlab.inl.gov/idaholab/raven/issues/658
See also #65

I think this is resolved by PR #1870


feat(df-repr): add back join order enumeration

ref https://github.com/cmu-db/optd/issues/194
after the memo table refactor, adding back a more efficient join order enumeration implementation.

(physical join not supported for now, and I don't think it's necessary to support it)

enable auto-merge...


RunCommandPreview required Azure CLI upgrade (2.23.0 didn't work) but no min version mentioned

dev:$ az aks command invoke -g xyz -n cluster1-priv -c "kubectl get pods -n kube-system"
'command' is misspelled or not recognized by the system.
dev:$ az upgrade
...
Your current Azure CLI version is 2.23.0. Latest version available is 2.27.1.
...
after upgrade:
dev:$ az aks command invoke -g xyz -n cluster1-priv -c "kubectl get pods -n kube-system"
command started at 2021-09-02 23:45:10+00:00, finished at 2021-09-02 23:45:14+00:00 with exitcode=0
NAME                                  READY   STATUS    RESTARTS   AGE
azure-ip-masq-agent-x5w9p             1/1     Running   0          58m
coredns-autoscaler-6699988865-82p95   1/1     Running   0          61m
coredns-d4866bcb7-4dnvs               1/1     Running   0          61m
coredns-d4866bcb7-5xtbm               1/1     Running   0          47m
kube-proxy-8wpkk                      1/1     Running   0          58m
metrics-server-97958786-c4hjv         1/1     Running   1          61m
omsagent-rs-b5694fb48-t59qz           1/1     Running   0          37m
omsagent-x9hxc                        1/1     Running   0          58m
tunnelfront-cd57656f7-w8tlh           1/1     Running   0          61m

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0b68f2c4-bb6c-11a2-6c61-8af4057a2438
Version Independent ID: e3498bed-1447-6841-8353-9f1b5d3dc8df
Content: Create a private Azure Kubernetes Service cluster - Azure Kubernetes Service
Content Source: articles/aks/private-clusters.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Thanks for bringing this to our attention.
The Prerequisites section mentions :

The Azure CLI version 2.2.0 or later

It is recommended to use the latest version of Azure CLI. In your case, it was confusing as both the versions are still > 2.2.0 (2.23 and 2.27). The error message as you shared above (Your current Azure CLI version is 2.23.0. Latest version available is 2.27.1) is meant to avoid such confusion.
The prerequisites will be updated when 2.2.0 is no more valid and the minimum is 2.3.0, for example.
We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.


Make: generate dependency files

Generate dependency files for our C files so that we actually rebuild them when
local header files are modified.
Signed-off-by: Bjoern Doebel<EMAIL_ADDRESS>By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Testing
BEFORE
$ touch include/slab.h
$ make
DIST=Fedora
make: Nothing to be done for 'all'.

AFTER
$ touch include/slab.h
$ make
DIST=Fedora
CC  common/setup.o
CC  mm/slab.o
LD  kernel64.bin
GEN  symbols.S
CC  symbols.S
LD  kernel64.bin symbols.o

While we are at it, can we also store all *.d in a dedicated dir like: .deps ?
Is the dependency for a linker script also covered?

While we are at it, can we also store all *.d in a dedicated dir like: .deps ?
Let's leave that for later.

Is the dependency for a linker script also covered?
I pulled the PREP_LINK_SCRIPT generation into a separate rule.


Remove HIR

closes #273
closes #814
HIR is removed from this PR, with the minifier being commented out.
HIR is a wonderful idea for compiling to lower languages, but after sitting on it for a few months I found that it only adds confusion and uncertainties to both myself and future contributors.
It also adds too much burden to maintainers if we plan to support more downstream tools.
1 AST is the only way.

We need an article about it!

We need an article about it!

On the technical aspects or why it is removed?

+1 for an article, or a short tweet thread. I'm mostly interested in your experiences like what the hope was, what worked, what didn't work out and concluding with the removal of HIR.


Feature/user badge management

Initial structure for generic user badge management. Currently includes solutions for a few specific teacher badges.
This branch contains functionality for:

Communication with database storage to extract and update badge states;
Inner-API management for Badge object manipulation;
Interface definitions for specific badge unlocking policies;
Facade-level triggering of badge updates and exposure of badge status;

Pull Request Check List

[ ] Unit Tests & Regression Tests Added (Optional)
[ ] Removed Unnecessary Logs/System.Outs/Comments/TODOs
[ ] Added enough Logging to monitor expected behaviour change
[ ] Security - Injection - everything run by an interpreter (SQL, OS...) is either validated or escaped
[ ] Security - Data Exposure - PII is not stored or sent unencrypted
[ ] Security - Access Control - Check authorisation on every new endpoint
[ ] Security - New dependency - configured sensibly not relying on defaults
[ ] Security - New dependency - Searched for any know vulnerabilities
[ ] Security - New dependency - Signed up team to mailing list
[ ] Security - New dependency - Added to dependency list
[ ] DB schema changes - postgres-rutherford-create-script updated
[ ] DB schema changes - upgrade script created matching create script
[ ] Updated Release Procedure & Documentation (& Considered Implications to Previous Versions)
[ ] Peer-Reviewed

I am a little uncertain about various aspects of the Guice injection here so it would be good to get a review of this.
Additionally we have explicitly included transactions in the badge management architecture, but the current implementation does not make use of passing around a single DB connection amongst layers. I'm wondering how to achieve this.

Additionally we have explicitly included transactions in the badge management architecture, but the current implementation does not make use of passing around a single DB connection amongst layers. I'm wondering how to achieve this. >

Transactions are fine, however the architecture expects that this feature is handled at the lower levels (mainly because not all databases provide transactions in the same way and we wanted to be able to change dbms's easily - ahem Mongo...)
If you want to do transactions you could handle them in the PersistenceManager layer? Happy to chat about this separately.

Latest commit generalises database transactions for this particular area of the API. If the underlying database changes then a transactional template can be optionally used depending on whether we need it or not.
Unfortunately our model requires some form of transaction baked into at least one level higher than the persistence level. This is because of how we have content data (elasticsearch) separate from user activity data (postgres) which are both needed to compute badges. This requires a "get from db -> modify -> update db" approach, and of course we need this to be atomic.
Hence in this incarnation I have the transactions defined in one layer above the persistence layer.
The edge case which we are particularly worried about with the badges is when a user performs an action which triggers a badge update and the badge does not yet exist, which sets of a chain of events which computes the badge state from the beginning of time. An example is the teacher group badge, which updates every time a teacher makes a new group (the process also describes any badge):

Create Group -> Insert group to Group table;
Start Transaction
Get group badge from db;
a) Badge state is null -> requires computing (go to 4a);
b) Badge state is not null -> append group ID to badge state (go to 4b);
a) Get all user's groups from group table to compute badge;
b) Simply append group ID to badge state list if not already present;
Update badge state in db.
End transaction

The worry is that the user may trigger stage 1 while stage 3a/4a is already occurring from a previous trigger. The state of the badge on the second trigger must reflect the state after the first trigger and hence the whole "get -> modify -> update" chain must exist in a single transaction and block the second update attempt.
In the case of 3b/4b we have to check in the group ID is already present in the badge state list because it might have been included in a situation where 3a/4a blocked a second trigger. An alternative to this is to start the transaction at point 1, but this would require:

moving the transactions to higher layer of the API;
enforcing "repeatable read" isolation level on the transaction to prevent additional inserts to the group table, which would require secondary triggers to retry if the were ever blocked.

It's possible that we would prefer this option if we believe checking for the presence of a group ID every time we try and add it to the state is less desirable.
Please let me know if any of this makes no sense.

Front end pull request:
https://github.com/ucam-cl-dtg/isaac-app/pull/969

[x] Added database migration to create the user_badges table.
[x] Manual testing.


Support toggling attributes that have a value

Background
It is already possible to toggle empty attributes like so:
html! { elem attr[toggle] { ... } }

On most cases (if not all), adding an empty value to an attribute will do the same as not adding anything. But if you are dynamically building an element with multiple optional attributes, the generated HTML will be unnecessary longer.
Proposition
I would suggest combining the syntax for toggling empty attributes and the syntax for defining attributes with a value.
Therefore, it would be possible to write something like this:
let show_attr = true;
let attr_value = "...";
html! {
    elem attr[show_attr]=(attr_value) { ... }
}

Alternatives

Don't modify maud at all and rely on conditional structures to build attributes. This is fine if the element only contains one optional attribute, but is impractical as soon as there are more:
let show1 = true;
let value1 = "...";
let show2 = true;
let value2 = "...";
html! {
    @if show1 && show2 {
        elem attr1=(value1) attr2=(value2) { ... }
    }
    @else if show1 && !show2 {
        elem attr1=(value1) { ... }
    }
    @else if !show1 && show2 {
        elem attr2=(value2) { ... }
    }
    @else {
        elem { ... }
    }
}

Expect the toggle after the value:
html! {
    elem attr=(attr_value)[show_attr] { ... }
}

I don't have a preference for one or the other, they both make sense and should not introduce a breaking change in the syntax parsing logic.

Allow attribute values to be Option<T>:
html! {
    // attr would be shown.
    elem attr=(Some(attr_value)) { ... }

    // attr would be hidden.
    elem attr=(None) { ... }
}

This makes for a shorter syntax, but might be harder to read.

What do you think? If you are interested, I already have a PR implementing the first solution.

Thanks for mapping this out!
I've had this requested elsewhere (https://github.com/lambda-fairy/maud/issues/240#issuecomment-866272601), and markup.rs supports it as well, so I think the idea has merit.
Before going into syntax – I wonder if we should only support Option<T>, like your third option?
My reasons are:

You can implement the boolean flag approach on top of the Option<T> one, but not vice versa.
More importantly: with boolean flags, it's easy for them to get out of sync with the thing they're controlling. Especially if there are many of them.

@DataTriny @Zopieux what do you think?

Hi @lambda-fairy ,
The boolean syncing issue didn't really came to my mind at the time, but it is something to consider indeed. Plus I think most of the time you would use this syntax to toggle an optional value, so you would probably have an Option<T> already.
Looking back at my first comment, the second alternative would conflict with str indexing syntax I guess.

I like the suggestion of only accepting Option<T>. I'm a bit confused about the API though (not the syntax itself but the expected behavior).
To sum up, do I understand correctly that it would be:
let toggle = true;
html! { checkbox checked[toggle] {} }  // current syntax for a valueless attr
// ↑ Would this syntax be deprecated?

// Non-Option
let id = 42;
html! { div data-id=(id) {} }  //

let id = "42";
html! { div data-id=(id) {} }  //

// Option<not bool>
let id = Some(42);
html! { div data-id=(id) {} }  //

let id: Option<usize> = None;
html! { div data-id=(id) {} }  //

let flag = Some("false");
html! { div data-flag=(flag) {} }  //

// Option<bool>.
let toggle = Some(true);
html! { checkbox checked=(toggle) {} }  // <checkbox checked>
let toggle = Some(false);
html! { checkbox checked=(toggle) {} }  // <checkbox>
let toggle: Option<bool /* not that it matters though */> = None;
html! { checkbox checked=(toggle) {} }  // <checkbox>

To be more precise, my proposal only involved passing Option<&str> as a value. Allowing Option<bool> for toggling valueless attributes seems a bit weird to me since both None and Some(false) could be used to hide the attribute. If we really want to allow Option type to toggle valueless attributes, maybe Option<()> would make more sense, it clearly indicate that there is no value there.

Ok @DataTriny, so if my understanding is correct:

get rid of the attr[bool] syntax
have attr=(value) everywhere, with value: Option<T>, meaning that what is currently attr=(s) would have to be attr=(Some(s)) or attr=(s.into())
do not produce the attr=… html at all if value is None
special-case value = Some<()> to produce a value-less attr (checked instead of checked="")

While that make sense, don't you think point 2. would make html! blocks quite verbose with into() or Some everything?

Hi @Zopieux ,
Since my original proposal didn't target valueless attributes, I wasn't suggesting to get rid of the attr[toggle] syntax. I wasn't suggesting to get rid of the current syntax for attributes with value either, but rather extending it so that it would accept both &str and Option<&str> values (introducing no breaking change).
So to go through all your points:

Keep this syntax as is, unless we want to go the Option<()> route.
Accept both &str and Option<&str> as values if possible, so that existing code don't have to be modified, and attributes with values that don't need to be toggled could still use the old, simpler syntax.
Correct.
To be determined, but wasn't part of my original proposal, otherwise correct.

That makes sense. Backward compatibility notwithstanding, I must admit keeping the toggle syntax sounds important so that bothchecked[t] and .class[t] stay nice and short.
I'm not sure we need 4. in that situation.
So yeah, big +1 on that proposal!

Thanks for the proposal!
I would make two minor changes:

For syntax, I prefer: attr=[attr_value]. This communicates both the presence of a value (=) and the ability to toggle ([]). Also, I believe this will be easier to implement than overloading the existing syntax.
Allow all Option<T: Render>, not just Option<&str>.

So here's what I'm thinking:

If there is an expression caption with type Option<T: Render>, then
img alt=[caption];

is valid syntax. If caption is Some, then its value will be used; if None, then the alt attribute will be omitted.

If that sounds good to you @DataTriny @zopieux, would one of you like to try implement it? :slightly_smiling_face:

I can try, but I'll be away from my development workstation for a few days :-) Thanks for weighting in, I'm fine with your latest suggestions.

Hello, and thank you for taking the time to investigate this proposal.
Not being familiar at all with Rust's procedural macros, I started doing some research which led me to think that overloading the existing syntax would probably be hard. Introducing the =[..] syntax would simplify this, but it apparently is tricky to make sur you actually have an Option<T>: we of course want to allow literal values and variables, but if type aliases are involved then the procedural macro will not work.
Do you have more knowledge on this @lambda-fairy ?
I can also try to implement it, once this point is resolved.

@DataTriny yep that's right. In Rust, macro expansion happens before name resolution and type checking. So information from the latter phases won't be available.
I don't think that will be a problem in our case, though. Because if we see =[..] syntax, we can generate code that assumes the expression is an Option<T>, without checking it. The compiler will raise an error later if that's incorrect.
If you're curious about how an overloading solution works, check out the markup.rs code (macro, runtime). It works around the lack of type information by putting the decision in the Render trait. (There's no need to do that here; just thought you might find it interesting 🙂 )


Externally defined phpdoc

I've been enjoying the phpdoc functionality, due to the number of magic methods and fields defined by the ORM I'm using, in this case, SilverStripe. However, there's a large number of classes in composer dependencies that don't have phpdoc defined. Additionally, in SilverStripe, there are Extension classes that define additional methods and fields on class types, similar to traits, but exactly. Extension classes are usually added by other packages than the one they're extending, so it doesn't make sense to phpDoc the added magic methods and fields added by extensions to the target class itself.
It would be very useful if a class' documentation could be defined/extended in other files. Relevant SO question.
A potential example usage:
Foo.php included by dependency composer require example/foo:
/**
 * @property bool $Bar
 */
class Foo extends DataObject {
  private static $db = [
    'Bar' => 'Boolean'
  ];
}

FooExtension.php either in project code or another dependency
//In this case its relevant to include the extension doc in FooExtension.php, but it could be defined with a bunch of other doc extensions in a 'phpdoc.php' too
/**
 * @class \Foo
 *
 * @property bool $Baz
 * @method null qux()
 */

/**
 * FooExtension added to Foo via a config.yml elsewhere
 */
class FooExtension extends DataExtension {
  private static $db = [
    'Baz' => 'Boolean'
  ];
  public function qux() {
    //...
  }
}

This way you could get full autocomplete for Foo without having to fork/modify the "example/foo" package.

You should be able to create a stub file to include the additional methods. It would need to have the same class name.
class Foo {
  private static $db = [
    'Baz' => 'Boolean'
  ];
  public function qux() {
    //...
  }
}


Rebase moving without action

When I want to move commits around I only have the option to move them up/down one at a time.
Sometimes I need to move certain commits to a certain place, or squash with a certain commit, and moving them one position at a time can yield conflicts.
Adding an option to select a commit (or multiple) for any action before commiting (basically queuing) them would be nice.
For displaying this, you could use a different color for the ref, and/or indent them further, just thoughts.

Can you give me an example of a time when moving a commit several places would not result in a merge conflict, but moving one spot at a time would result in a merge conflict?  I assume it'd be something you changed and then changed back in the context of your branch?
We've thrown around a queuing mechanism before, and while it sounds like a useful feature, I'm not really sure how it would function in the context of the dashboard.  It might be worth building something closer to git rebase -i, or maybe even providing a shortcut to use git rebase -i itself.

When there are hunks close to each other would be a good example.

Ah that's an irritatingly solid example.  OK.  How do you feel about farming this work out to git rebase -i?  That may be hard to integrate well with GitSavvy/Sublime - Git makes certain assumptions about how that workflow should happen (namely, you're doing it on the terminal and it will open a text editor in your terminal, full stop).
We could try to create some sort of "stage changes" mode, where you move commits around, drop commits, etc, but they won't take effect until you accept all of the changes (with an option to abort).  It would add significant complexity to the rebase dashboard, which is a downside, and would also diverge from the real-time behavior, which is also a downside (unless we dump realtime behavior altogether).
In any case, this will be a largish task.  If you have UX ideas, or anything that might make for a good middle-ground, I'm all ears!

(namely, you're doing it on the terminal and it will open a text editor in your terminal, full stop)

Setting the gitconfig flag core.editor to subl -nw works fine, it's what I've used on Windows forever, and it is something you can do on a non-global basis, as long as you have SublimeText as part of the path (or just use the full path).

We could try to create some sort of "stage changes" mode, where you move commits around, drop commits, etc, but they won't take effect until you accept all of the changes (with an option to abort).

Sounds perfect to me, the dashboard has the (UX) potential of normal rebase -i operation.
I would help on the matter, but I've fallen behind on the packages internals, and don't have much time to work on such a large task in the foreseeable future.

Alright, I'll pick this up when I can.  Agree that this isn't ideal.  A smaller change that might help with your particular use-case is fixing up commits directly from staged changes.  This may provide more flexility to make small changes to earlier commits, that you currently can't edit because of intermediate commits that happen in the same file...


Fields not defined in schema do not get inserted in mongo

Current scenario for schema in MongoDB:
If we do not mention schema, then the GraphQL inserts work in a schemaless fashion. However, if we do define schema then the GraphQL inserts work in a complete typed fashion. (i.e fields not defined in the schema do not get inserted).
Not sure if this is a bug or it should be like this only. Should MongoDB become completely type strict if a schema is defined or should we do type checking only for the fields defined in the schema but still allow inserts for undefined fields in the schema.
I believe the current behaviour is desirable otherwise people can corrupt the database by inserting a lot of fields into the document. So ideally if anyone is defining a schema then complete typed behaviour should be enforced or else completely schemaless behaviour should be enforced in case schema is not provided in my opinion.
Creating this issue to keep this discussion open and accommodate everyone's views on this.

I wanted to discuss this. Provide a flag to merge the new field with the predefined schema before inserting into db.

I think we should simply throw an error when something like this happens. The entire point of the schema is making sure your structure gets preserved.

Coming in v0.17.0


org.openrewrite.maven.UpgradeDependencyVersion doesn't add a version if there wasn't one previously

What version of OpenRewrite are you using?

I am using

Maven plugin v5.43.1
rewrite-maven v8.38.0

How are you running OpenRewrite?

I am using the Maven plugin, and my project is a multi-module project.
      <plugin>
        <groupId>org.openrewrite.maven</groupId>
        <artifactId>rewrite-maven-plugin</artifactId>
        <version>5.43.1</version>
        <configuration>
          <activeRecipes>
            <recipe>my.company.rewrite.recipe.MyRecipe</recipe>
          </activeRecipes>
          <exportDatatables>true</exportDatatables>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>my.company.rewrite.recipe</groupId>
            <artifactId>my-rewrite</artifactId>
            <version>1.0.0-SNAPSHOT</version>
          </dependency>
        </dependencies>
      </plugin>

And this is MyRecipe:
type: specs.openrewrite.org/v1beta/recipe
name: my.company.rewrite.recipe.MyRecipe
displayName: My Recipe
description: This is an OpenRewrite recipe
recipeList:
  - org.openrewrite.maven.UpgradeDependencyVersion:
      groupId: com.querydsl
      artifactId: "*"
      newVersion: 5.1.0

What is the smallest, simplest way to reproduce the problem?

<?xml version="1.0" encoding="UTF-8"?>
<project
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>my.company.myapp</groupId>
  <artifactId>myapp</artifactId>
  <packaging>jar</packaging>
  <name>My App</name>

  <dependencies>
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-jpa</artifactId>
    </dependency>
  </dependencies>

</project>

What did you expect to see?

<?xml version="1.0" encoding="UTF-8"?>
<project
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>my.company.myapp</groupId>
  <artifactId>myapp</artifactId>
  <packaging>jar</packaging>
  <name>My App</name>

  <dependencies>
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-jpa</artifactId>
      <version>5.1.0</version>
    </dependency>
  </dependencies>

</project>

What did you see instead?

Nothing changed:
<?xml version="1.0" encoding="UTF-8"?>
<project
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>my.company.myapp</groupId>
  <artifactId>myapp</artifactId>
  <packaging>jar</packaging>
  <name>My App</name>

  <dependencies>
    <dependency>
      <groupId>com.querydsl</groupId>
      <artifactId>querydsl-jpa</artifactId>
    </dependency>
  </dependencies>

</project>

What is the full stack trace of any errors you encountered?

None
Are you interested in contributing a fix to OpenRewrite?

Yes. If you agree with this bug report, I can implement as I already implemented a recipe from scratch.

hi! Did you also try the property overrideManagedVersion already? That's set to false by default:
https://docs.openrewrite.org/recipes/maven/upgradedependencyversion

I suppose the sections:
What is the smallest, simplest way to reproduce the problem?
What did you expect to see?
What did you see instead?

are messed up in the description.
The observed is without the <version>5.1.0</version>. The expected is with the line. And the foo-bar is irrelevant.

@timtebeek , I tried but it didn't work either.
@mccartney , sorry about that. I fixed.


execution-spec-tests tooling support

PR description
Add needed tooling support for execution-spec-tests
Adding the t8n and b11r tool allows Hyperledger besu to produce reference tests from the https://github.com/ethereum/execution-spec-tests repository.

Add t8n tool, or transition tool.  Calculates the state changes from a set of transactions against a given parent context
Add b11r tool, or block-builder tool.  Given block parts it can generate a RLP block.
Changes to some tracing CLI flags to work better with retesteth

Fixed Issue(s)

Documentation

[ ] I thought about documentation and added the doc-change-required label to this PR if
updates are required.

Changelog

[ ] I thought about the changelog and included a changelog update if required.

Please put in the PR description what CLI flags are changed. Apparently --nomemory is gone, but it now says it has
      --trace.stack        Enable showing the operand stack in tracing for each
                             op.

However, it seems to show me the stack even if I don't explicitly ask for it, just --json state-test foo

I'll restore --nomemory.

--nomemory added.  the other --trace. flaggs are all boolean flags now.  Defautls are a mix of true and false but --trace.no<foo> and --trace.<foo> will fix them to on or off.
Unit test fixed, I was juggling rewards from both the protocol and CLI and flubbed it.  In other news unit tests did their job.
Ready for another round of reviews.

I got confused with what you were going for w.r.t --nomemory vs --memory. I think you went for --memory but some of the code and comments seemed to suggest otherwise.

I want both to work, so the default can change arbitrarily.  If you explicitly want memory or not use the --memory or --nomemory and the flag will reflect that choice.  No CLI means the current default will be used. There is some PicoCLI config needed to accomplish this, as the default wants to do --no-memory, but the standard APIs from geth don't use the dash for their toggles.

Also, it sounds like this PR might make this CI work that @garyschulte started and paused redundant:
https://github.com/hyperledger/besu/issues/4934#issuecomment-1406090671
IIRC he was using a gradle task to pull down a execution-spec-tests release artifact and add them to the existing reference test executor so they would run as part of the referenceTests task.

No, this is complementary.  The resulting .json files are generated with the t8n tool, but they are different steps.  Javac vs Java.  So Gary's work will still be needed.

...Will this PR result in the execution-spec-tests running in our CI?

No.  This PR adds features to the evm tool so that the execution-spec-tests can use Besu to generate the final test vectors.

Geth is the only other client to implement t8n at the moment.  Besu and geth implement the retesteth endpoints.  There is pressure on Nethermind to implement one of the testing APIs and the one they are pointing them to is t8n, so it looks like t8n support will be needed.  The long term client diversity goal is to have every client capable of "filling" (or compiling) the reference tests.
The goal of having all clients implement the testing APIs is then new EIPs can be first implemented on any of the clients, and then the other two can work on implementation and differential testing from there.
As for documentation, typically these tools are only used by automation. The human audience is about 10 people, max, and highly enfranchised into the ethereum ecosystem.  The "spec" I wrote this off of is here https://ethereum-tests.readthedocs.io/en/latest/t8ntool.html#command-line-parameters.  For the b11r tool nothing more than a more verbose restating of the --help options would be needed.  Users who aren't sure of the exact implication are comfortable diving into clients codebases to see what is really going on.

The goal of having all clients implement the testing APIs is then new EIPs can be first implemented on any of the clients, and then the other two can work on implementation and differential testing from there.

Nice, makes sense.

As for documentation, typically these tools are only used by automation.

Only mentioned updating docs because they already exist: https://besu.hyperledger.org/en/stable/public-networks/reference/evm-tool/#nomemory

Can you add the docs reference how to use it (compile with t8n) ?


1.0.4 is built with a way too recent glibc version, making it incompatible with most LTS server OS.

Seems like 1.0.4 supports a minimum of glibc 2.32. Debian 10 uses 2.28. Please consider lowering the glibc you use to compile this package, as of now it's pretty much impossible to run it in a server environment.

EDIT: 1.0.4a release works under Debian 10.

FTR: fixed in v1.0.4b


Simplifying the treatment of heterogeneous equality

It used to be that h_equals and eq3 = squash (h_equals) were primitive.
But, with the l-to-r bias of /\, heterogeneous equality can just be defined as let ( === ) #a #b x y = a == b /\ x == y.
That's what this PR does, remove all special treatment of eq3 and h_equals.
It also has an everest green with a small patch in Vale/Hacl.
Cf #1533

Looks good to me, thanks!


解决Windows编译问题 #11

Motivation

Solution

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Jason:x: anwentecJason seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

非常棒，还有一些 lint 的问题和 cla 的问题需要解决一下，就可以啦～

我本地git配置的阿里云的云效git，所以Jason用户提交的commit，我也不知道怎么签署CLA.非常抱歉

我可以删除我fork的库，然后重新fork，配置好anwenteck这个账号后，再提交commit,是否可行？


Investigate caching github data to decrease github api calls

https://github.com/ekristen/node-github-cache is a wrapper around node-github to provide caching in a local leveldb file based db. It has two modes: etag-based cache validation or cache forever. etag caching doesn't help the kinds/frequency of requests we're doing, and caching forever isn't an option either. This wrapper doesn't seem like it'll be useful. But, forking it and swapping in redis with ttl could be a good way to pull it off.


Remove existing conflict resolution from datasync offix

We need to remove or temporary disable version based conflict resolution.
Alternatively we can add early conflict by requiring update and delete function to specify lastUpdated.
@ssd71 Whatever way you prefer. We will need to restore this later anyway.

I think this issue has been addressed, we can research conflict resolution in #1445 wdyt

Would we use timestamp now instead of version?

The other issue is for delta store.
We haven't made this change and it is kinda making entire implementation unusable. See:
https://github.com/aerogear/graphback/blob/ed6a766f15fa7dbacd2f1f0070799ec90dcab5aa/packages/graphback-runtime-mongodb/src/OffixMongoDBDataProvider.ts


fixed decorators to return a property descriptor to work with babel d…

…ecorators

Reference Issue
Fixes #205

I signed it!

Can't add decorators to our classes right now using Bable7.  Does this fix that issue?

@43081j I found away to support all, stage-0 babel, stage-0 typescript and stage-2 babel decorators while experimenting in my own decorator project: https://github.com/mzeiher/ce-decorators/blob/master/src/stage2decorators.ts, https://github.com/mzeiher/ce-decorators/blob/master/src/prop.ts, should in include such a thing in the PR to be future proof?

I'll have a read soon.
One thing to keep in mind is that the legacy decorators babel produces are neither stage 0 nor stage 2, they are an incorrectly patched stage-0 by the looks of it:
https://github.com/babel/babel/blob/5150f5f5003b25d89f8b5041543412839cfde5fd/packages/babel-helpers/src/helpers.js#L999
They make use of PropertyDescriptor#initializer which doesn't seem to be a thing. New decorators (stage-2) do have an initializer but not on the descriptor (rather on the "class element descriptor", a new interface introduced by stage-2 decorators which wraps the property descriptor).

hehe that's the fun when using experimental features :)
that's the how the implementation works at the moment (still in development):
Stage-0 and Stage-0 babel case:
member:
if decorating a member which is a "value" property:
define "hidden" value-property with undefined as value (for ts and initializer for babel) on prototype (es extra in stage-2 case)
return get-set property with a delegate to the created "hidden" value property and then handles reflection/sync/re-render
if  decorating a member which has get/set (case e.g. @prop() get whatever() {} or when another decorator already patched the property):
return a new get-set property which delegates to the previous get/set (in this case there is no initializer in babel case)  and then handles reflection/sync/re-render
the same is done for stage-2 decorators, this way multiple decorators are possible which manipulates the property every decorator delegates to get/set to the previous get/set
for method decorators it's just the get/set case is used but the delegate goes to the value of the previous PropertyDescriptor which holds the original function or a overidden one from another decorator (value = function(...parameter) { original.value.apply(this, [...parameter] }
the delegation logic must be implemented from every decorator which patches a member or member-function so the one implementing the decorator must take care of that (if someone mixes the decorators created by you and for example own logging decorators), I'll add an example and a test for it...

cosing... implemented by the lit-element team


random_podcast_answer.py:23: Перенести классы в отдельные...

The puzzle 899-037d8afe from #899 has to be resolved:
https://github.com/blablatdinov/quranbot-aiogram/blob/03092c3de528c0bada1a264c71724a7f1d8f2d80/src/handlers/random_podcast_answer.py#L23-L23
The puzzle was created by Ilaletdinov Almaz on 09-Jun-24.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 899-037d8afe has disappeared from the source code, that's why I closed this issue.


Using c# code

How to read the IP list using c# code

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2632af75-7664-b79b-ac5b-c7c17e6a609a
Version Independent ID: 6ecf71b6-77c4-3ab6-8ec9-353ea407d70f
Content: Configure Azure Storage Firewalls and Virtual Networks
Content Source: articles/storage/common/storage-network-security.md
Service: storage
GitHub Login: @cbrooksmsft
Microsoft Alias: cbrooks

@NambiVenkatesh Thanks for the feedback! You will need to create a Rest API Request. The best place to ask that question will most likely be StackOverflow. I have assigned the issue to the content author to evaluate and update as appropriate.

Check out the NetworkRuleset property of the StorageAccount type here:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.storage.models.storageaccount?view=azure-dotnet

#please-close


FancyZones Editor fix: Save data after layout deletion immediately

Summary of the Pull Request
Saving data right after user clicks delete button

References

PR Checklist

[x] Applies to #1754
[x] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments
Fixed scenarios:

Delete Custom layout A. create and apply Custom layout B.
Delete Custom layout A, select custom Layout B, click "edit selected Layout", click "Save and Apply".

Both layout were saved in settings file in these scenarios, though only layout A expected to be saved.

Validation Steps Performed
Tests now pass:
https://github.com/microsoft/PowerToys/blob/90a228619e6f9e66124ea86635d6d007dca5bbcd/src/tests/win-app-driver/FancyZonesTests/EditorCustomLayoutsTests.cs#L228
https://github.com/microsoft/PowerToys/blob/90a228619e6f9e66124ea86635d6d007dca5bbcd/src/tests/win-app-driver/FancyZonesTests/EditorCustomLayoutsTests.cs#L198

think this can wait until after hotfix for merging

It turned out, we don't need the explicit call there, the bug got fixed as a side effect of another fix.