feat: support deployment strategy settings.

Fixes #1520
For more others settings, users can use the deployment patch yaml set them. like follows
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: envoy
    app.kubernetes.io/component: proxy
    app.kubernetes.io/managed-by: envoy-gateway
    gateway.envoyproxy.io/owning-gateway-name: default
    gateway.envoyproxy.io/owning-gateway-namespace: default
  name: envoy-default-eg-63636f73
  namespace: envoy-gateway-system
spec:
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 50%
      maxUnavailable: 70%

I think we should provide an common way like Kustomize to support things like this, rather than adding every single fields from Deployment/Service to EG's API.

I think we should provide an common way like Kustomize to support things like this, rather than adding every single fields from Deployment/Service to EG's API.

IMO, some common fields we should intervene in, another field can be set like PR description using the patch yaml or Kustomize. this strategy setting is the basic for deploy.


Fix the issue when the FlutterViewController is not the rootViewController

Recently I was working on an animated splash screen for our flutter app at flaconi, and for this purpose, we have to create a launchScreenViewController and make it the rootViewController and run the animation, when the animation gets completed we are presenting the flutterViewController in the iOS project.
In this scenario, Usercentrics native iOS dialogs stop working  because of the following code
 return window?.rootViewController as? FlutterViewController assuming that FlutterViewController is always the rootViewController.
I tried to fix that on my fork by using the presentedViewController instead and it was working fine.
This PR is to fix this issue.
Let me know in case you have any questions.

any updates?

Hi @mohammadshrahi! Thanks a lot for your PR, it makes sense and we are going to include it in the upcoming minor version release that we are going to do tomorrow.

Implemented in this PR: https://github.com/Usercentrics/flutter-sdk/pull/27

https://github.com/Usercentrics/flutter-sdk/pull/28


After installing Vro.FindExportImport package getting assembly reference error

Hi,
Any Idea why I am facing this issue?

The framework version which already exists in my project:

EPiServer.Framework: <IP_ADDRESS>
EPiServer.Find: <IP_ADDRESS>
EPiServer.Find.Framework: <IP_ADDRESS>
EPiServer.Find.Optimizations: <IP_ADDRESS>


Breaking on exception should jump to top frame that has source

This is slightly related to #25104. The exception peek dialog has been moved to "the top frame that has source" which is great, but the user is still dumped in the frame without source.
Example:

The top two frames in the call stack here (_AssertionError) do not have source and the user ends up looking at a rather useless message.
If you manually navigate to the third stack frame (main.<...>) you'll get the exception popup:

It seems to place the exception popup in the correct place but not to take the user to it when the exception occurs. Jumping directly to where the exception popup would be displayed seems like the ideal thing to do.

@DanTup I agree, we should jump directly to where the exception popup happend.
However since I do not have repro steps for this on my machine I would ask you to put some breakpoints so we have a better idea what is going on here. An alternative is to provide repro steps so I have this on my machine.
F1 > developer tools > sources
Put a breakpoint here and verify that gets called once the exception is hit. You shuold be able to step into to this piece of code here and there you can check why a stackFrame with no source is chosen. Since the point of that line is to auto reveal only stack frames with sources.
Thanks a lot

@isidorn Apologies, I didn't include a repro because I thought it was a missing feature not a bug :-)
I put a breakpoint where you suggested and found that stackFrames only has one item in it (the top-most). So I checked stackTraceRequest in my debug adapter, and it seems like the request to it has the levels argument set to 1, which means we only return the top frame. Then this code fires, and then later another request is sent asking for more stack frames (which then renders in the list).
So I guess more stack frames need to be fetched prior to trying to find the first one with sources? Presumably this'll repro with any language, but if you want to repro with Dart (you'll need the Dart extension and a Dart SDK on PATH) just open a folder that has a single .dart file in it that does this:
main() {
  assert(false);
}

(FWIW, while testing that just now, I noticed that sometimes when I switch to the main frame from the callstack, the exception popup doesn't appear - but if I move away to another frame and then back, it does - I'm not sure if there's another bug here or whether it might be something in my debug adapter, but I thought it worth noting in case you've seen it before).

@DanTup Thanks for the investigation.
I acknowledge the bug. As you already found out the issue here is:

The top stack frame gets fetched first (due to performance reasons)
We try to auto focus that stack frame as soon as it is retrieived (we do not wait for the rest of the call stack)
The rest of the call stack comes back later, however we do not try to autofocus them

The fix would be to try to auto focus the stack fames also when the rest of the call stack comes back as well.
Moving this to On Deck since I do not plan to fix it in December.

I think we should fix this in the Jan milestone.

Instead of focusing twice, couldn't we just delay the loading of the source until we have gotten a frame that has source?

@DanTup I have pushed a fix for this, please try it out in the insiders after we start updating it again after holidays (in 10 days).

@isidorn This one, however, doesn't seem to work. If I remove the deemphasize hints, then I'm still breaking on missing source (using the Insiders build from today):

This is how I'm sending the source back:
data.thread.getScript(scriptRef).then((script: VMScript) => {
			if (script.source) {
				response.body = { content: script.source };
			} else {
				response.success = false;
				response.message = "<source not available>";
			}
			this.sendResponse(response);

(this is less urgent for me personally though, since deemphasize works now :-))

@DanTup thanks for trying it out. Well it seems like in your case the check here
https://github.com/Microsoft/vscode/blob/0d1139653803f7acb831a593f816c1278638011b/src/vs/workbench/parts/debug/electron-browser/debugService.ts#L781
focuses the wrong stack frame for you
Could you please put a breakpoint there and check why he chooses the wrong stack frame for you?
Thank you


Why is ProvisioningState in IDeployment not an Enum

Currently ProvisioningState is a string. From sample code I figured that possible values are:
"Succeeded", "Failed", "Canceled".
Why is this not an enum?

@abhi1509 ProvisioningState is not a finite list of three values. Each service team may have their additional statuses that they want to provide to caller - e.g. Restarting,

shouldn't then each service team have a version of it?
eg: https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.management.resources.models.provisioningstate_members.aspx
How is a consumer to know what are valid values?

@abhi1509 are you getting provisioning state anything different from what you see in here? Please do let us know.
https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.management.resources.models.provisioningstate_members.aspx
Regarding not making it an enum, that is a good suggestion. I agree that would be definitely easy from discoverability point of view.
But due to distributed and fluid nature of various teams across Azure, maybe string was a better/flexible option when ResourceManager teams designed this for the rest of the Azure service teams.
Please reopen this issue, if you have more information about the Provisioning state as requested above.

How is one supposed to know what the right values are across different
teams? Documentation is not discoverable.
Even at
https://msdn.microsoft.com/en-us/library/azure/microsoft.azure.management.resources.models.provisioningstate_members.aspx
it doesn't describe much.
On Wed, Jul 12, 2017 at 9:47 AM, Abhijeet<EMAIL_ADDRESS>wrote:

@abhi1509 https://github.com/abhi1509 are you getting provisioning
state anything different from what you see in here? Please do let us know.
https://msdn.microsoft.com/en-us/library/azure/microsoft.
azure.management.resources.models.provisioningstate_members.aspx
Regarding not making it an enum, that is a good suggestion. I agree that
would be definitely easy from discoverability point of view.
But due to distributed and fluid nature of various teams across Azure,
maybe string was a better/flexible option when ResourceManager teams
designed this for the rest of the Azure service teams.
Please reopen this issue, if you have more information about the
Provisioning state as requested above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-net/issues/3470#issuecomment-314828382,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMuI2iYAK_987CRQvD3BJf2viT-XcJ3wks5sNPiEgaJpZM4OTUYn
.

Something like what Network team did would be really helpful-
using Microsoft.Azure.Management.ResourceManager.Fluent.Core;
namespace Microsoft.Azure.Management.Network.Fluent.Models
{
public class ProvisioningState : ExpandableStringEnum
{
public static readonly ProvisioningState Succeeded =
ExpandableStringEnum.Parse("Succeeded");
public static readonly ProvisioningState Updating =
ExpandableStringEnum.Parse("Updating");
public static readonly ProvisioningState Deleting =
ExpandableStringEnum.Parse("Deleting");
public static readonly ProvisioningState Failed =
ExpandableStringEnum.Parse("Failed");
}
}
On Fri, Jul 14, 2017 at 4:19 PM, Abhishek Agrawal<EMAIL_ADDRESS>wrote:

How is one supposed to know what the right values are across different
teams? Documentation is not discoverable.
Even at https://msdn.microsoft.com/en-us/library/azure/microsoft.
azure.management.resources.models.provisioningstate_members.aspx it
doesn't describe much.
On Wed, Jul 12, 2017 at 9:47 AM, Abhijeet<EMAIL_ADDRESS>wrote:

@abhi1509 https://github.com/abhi1509 are you getting provisioning
state anything different from what you see in here? Please do let us know.
https://msdn.microsoft.com/en-us/library/azure/microsoft.azu
re.management.resources.models.provisioningstate_members.aspx
Regarding not making it an enum, that is a good suggestion. I agree that
would be definitely easy from discoverability point of view.
But due to distributed and fluid nature of various teams across Azure,
maybe string was a better/flexible option when ResourceManager teams
designed this for the rest of the Azure service teams.
Please reopen this issue, if you have more information about the
Provisioning state as requested above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-net/issues/3470#issuecomment-314828382,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMuI2iYAK_987CRQvD3BJf2viT-XcJ3wks5sNPiEgaJpZM4OTUYn
.


[Feature]: Renaming the file to "2020-24" for consistency with the naming inside the file

Description
Regarding the years, the naming inside the file uses "2020-24," but the file name is "20-24." Would you consider changing the file name to "2020-24" to maintain consistency
Requirements

Ensure consistency in the year format

Definition of Done

[x] Refactor the logic of the year format
[x] Relevant documentation is updated
[x] Unit tests are updated/written and passing

Additional Notes
No response

Thanks for raising this @Laotree! This is fixed via #56 😄

Thanks for raising this @Laotree! This is fixed via #56 😄

ASCII Art in README.md should be updated as listed in tasks Relevant documentation is updated


The downloaded item is not highlighted in the file explorer if only one transfer is selected on the 'Retry Azcopy' dialog

Storage Explorer Version: 1.35.0-dev (98)
Build Number: 20240625.2
Branch: main
Platform/OS: Windows11/Windows 10/Linux Ubuntu 22.04 & MacOS Sonoma 14.5(Apple M1 Pro)
Architecture: arm64/x64/x64/arm64
How Found: Ad-hoc testing
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> Blob Containers.
Create one blob container -> Upload two blobs -> Download the two blobs.
Download the two blobs to the same destination again -> Select 'Do not download -> Apply to All Conflicts'.
Click 'Retry...' next to the failed activity log -> Uncheck one transfer -> Select 'Enable overwrite' option -> Click 'Retry Selected'.
Click 'Show in Folder' next to the successful activity log.
Check whether the file is highlighted in the file explorer.

Expected Experience
The file is highlighted in the file explorer.
Actual Experience
The file is not highlighted in the file explorer.
Additional Context
This issue also reproduces for file shares.

@v-kellyluo I am unable to produce, because I get no "Show in Folder" action when the activity completes.

@craxal, here is the GIF, we must only select one transfer when there are several transfers on the 'Retry Azcopy' dialog.

Oh, my bad. This is download, not upload.

OK, I see now. This happens because the original download was more than two files. Therefore, the location for the "Show In Folder" action is a folder, not an individual item. This is behaving as intended, and I don't think we need to worry about refining this unless users are bothered.


Adding the elliptical integral functions ellipj, ellipk, ellipe.

These has been adopted from the corresponding Cephes C implementations in scipy - https://github.com/scipy/scipy/tree/master/scipy/special/cephes.
One question I don't have the answer to is where to put some tests and what template too look after to write them?

Awesome, thanks for this, @botev!
I think the best place to put tests is lax_scipy_test.py (our test naming conventions are a bit inconsistent). You might be able to reuse the infra in that file, though let me know if any questions come up.

Does this code follow the scipy / cephes source closely enough that we should vendor it in jax/third_party ? See this directory.

That one I do not know and it would be to you guys. The code follows exactly the cephes C code that is found in the scipy repo (which I think has been updated/fixed throughout the years from the original cephes code). However, it does use a lot of masking in order everything to be vectorized with just jax.numpy.
I will leave that to you guys to decide where should I put it.

It seems like there's no downside to putting it in jax/third_party, since we can then import it from jax.scipy.special (analogous to how jax.numpy.linalg imports things). (Tangentially, this comment about using Cephes code gives some permission to use Cephes-based routines, but that's not necessarily the same as the scipy version of these algorithms. So while we could check the Cephes sources to see if there are any scipy-specific modifications we're importing here, I think it's just easy to put things in jax.third_party.)
Want to attempt a move into jax.third_party?

 We could do the if isinstance(nondiff_argnums, int): nondiff_argnums = (nondiff_argnums,) thing, though I think perhaps there are other tests not yet working.
With test_autodiff=False on the records, I got just one failure, on LaxBackedScipyTests.testScipySpecialFunEllipj_float64[]_float64[4] and it was just a nan issue:
x = array([0.50589103, 0.50836648, 0.50964179, 0.51231481])
y = array([       nan, 0.5083664 , 0.5096418 , 0.51231486], dtype=float32)

I'm not familiar enough with those functions to know if we care about avoiding that nan. WDYT?
When switching the autodiff tests on, I see bigger numerical errors iiuc.

So I have two issues with the tests which not sure how to resolve:

When using float32 the scipy operation still returns float64 which makes the dtypes not equal.
When comparing JAX_ENABLE_FLOAT64=0 it should not be tested against scipy as the inaccuracies of float32 might in certain cases lead to NaNs. There is a loop which I can increase the number of iterations, but who knows.

Technically the ellipj uses an arithmetic-geometric mean which requires an iteration. In the cephes code they use a fixed number of iterations (8) and if the termination criteria is not met return NaN. There are two possible improvements here: I can use use a while_loop to run it until the termination is met, or I can return values even if the termination criteria is not met (the criteria is that the two values are close to each either as measured by (fabs(a/b) < eps). Happy to do either, but I'm definitely not a numerical guru to know which one "makes more sense".

Should I maybe create separate tests for them?

Yes, I think the usual pattern here would be to add a new test if you need some particularly strange behavior the generic function test harness can't provide. You can then disable the relevant parts of the test based on the conditions you state.

@j-towns ignore this mention

It'd be great to polish this off and get it merged!

Any estimated timeline for this getting in?

@Joshuaalbert Unfortunately, I'm quite busy atm with other things. The commits I have pretty much port the C code implementations into Jax. The main part remaining is how to properly do tests, as these integrals are quite tricky and numerically not so stable, so especially checks for gradients (e.g. numerical differences) are usually inaccurate.

@botev Okay, understood. If you do manage to find time, I think the tests would take about 1-2 hours of your time to implement. One simple way to test would be the following.

First, for each elliptical function compare their values to scipy's over n randomly generated input values in a valid domain.

Then if those pass, then you can use JAX's built in grad checking util jax.test_util.check_grads. Since the first test ensures you can trust the values of the ellip functions, then you can use this util to check that the gradients make sense.


Possible connection leak

A read timeout would prevent possibly leaking a UDP connection when the client does not successfully complete the transfer. If you leak enough you can start to impact other services like DNS when the system runs out of available UDP ports.
https://github.com/shevek/tftp4j/blob/1cf2584481a2e7e5883f249e8638d053c7df133f/tftp-server-netty/src/main/java/org/anarres/tftp/server/netty/TftpPipelineInitializer.java#L63-L71

Is this a real concern? I guess not, since there's no response here. Also, the code snipped included above doesn't really show how such a "read timeout" can be applied anyway, but merely shows some existing code, so isnät really that helpful.
-JM


Overload POST / to handle both JSON and FormData

Currently we have an endpoint POST / that can handle Form data and responds with HTML. We also have POST /shorten  that can handle JSON data and responds with JSON. Usually you would only have one API, version scoped, endpoint for JSON and have the HTML component use that internally as well. The alternative, which feels slightly odd, and I am not sure why, is to overload  POST / to handle both JSON and FormData based on the content type headers (which is their purpose after all).
Should FastAPI allow easy overloading of the route, I thinking we can just implement it there. If not, then we should change POST /shorten  to POST /api/v1/ or something like that, especially since we may want to expand API endpoints in the future for stats etc.

I think we should just remove the POST version... that was the intent. It was only around because we were using FastAPI to serve a HTML page. As we pull the frontend out into it's own thing; we won't have to serve HTML and the requests will just be regular fetch calls to the actual API end point.

I just tried to overload the method and it is a real pain and I don't want to push against the grain here. Agree we should just rename /shortener to something logical like v1 and call it a day.


unable to compile

Hi.
I downloaded your example 1:1 and try to compile it.
Get following error (installed the wifimanager lib manually, too).
warning: Calling missing SConscript without error is deprecated. Transition by adding must_exist=False to SConscript calls. Missing SConscript 'C:\lib\esp8266-iot-framework\scripts\preBuild.py' File "C:\Users\lars\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 189, in <module>       Compiling .pio\build\esp32dev\src\helloWorld.cpp.o Generating partitions .pio\build\esp32dev\partitions.bin Compiling .pio\build\esp32dev\lib126\AsyncTCP\AsyncTCP.cpp.o Compiling .pio\build\esp32dev\lib30b\FS\FS.cpp.o Compiling .pio\build\esp32dev\lib30b\FS\vfs_api.cpp.o In file included from src\helloWorld.cpp:10:0: .pio\libdeps\esp32dev\WiFiManager/WiFiManager.h:16:25: fatal error: ESP8266WiFi.h: No such file or directory
Edit: Hold on. I used the default iot-framework and not your´s. Will report.
New errors:
`warning: Calling missing SConscript without error is deprecated.
Transition by adding must_exist=False to SConscript calls.
Missing SConscript 'scripts\preBuild.py'
File "C:\Users\lars.platformio\penv\lib\site-packages\platformio\builder\main.py", line 189, in
Compiling .pio\build\esp32dev\lib11a\ESP8266 IoT Framework\WiFiManager.cpp.o
Compiling .pio\build\esp32dev\lib11a\ESP8266 IoT Framework\certStore.cpp.o
Compiling .pio\build\esp32dev\lib11a\ESP8266 IoT Framework\configManager.cpp.o
Compiling .pio\build\esp32dev\lib11a\ESP8266 IoT Framework\dashboard.cpp.o
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/WiFiManager.cpp:5:10: fatal error: ESP8266WiFi.h: No such file or directory

Looking for ESP8266WiFi.h dependency? Check our library registry!

CLI  > platformio lib search "header:ESP8266WiFi.h"
Web  > https://registry.platformio.org/search?q=header:ESP8266WiFi.h

#include <ESP8266WiFi.h>
^~~~~~~~~~~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib11a\ESP8266 IoT Framework\WiFiManager.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESP8266 IoT Framework/src/certStore.cpp:1:
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/certStore.h:9:10: fatal error: BearSSLHelpers.h: No such file or directory

Looking for BearSSLHelpers.h dependency? Check our library registry!

CLI  > platformio lib search "header:BearSSLHelpers.h"
Web  > https://registry.platformio.org/search?q=header:BearSSLHelpers.h

#include <BearSSLHelpers.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pio\build\esp32dev\lib11a\ESP8266 IoT Framework\certStore.cpp.o] Error 1
In file included from .pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:4:
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.h:31:38: error: 'std::function' has not been declared
void setConfigSaveCallback( std::function<void()> func );
^~~~~~~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.h:31:46: error: expected ',' or '...' before '<' token
void setConfigSaveCallback( std::function<void()> func );
^
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.h:35:9: error: 'function' in namespace 'std' does
not name a template type
std::function<void()> _configsavecallback;
^~~~~~~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.h:35:4: note: 'std::function' is defined in header ''; did you forget to '#include '?
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.h:6:1:
+#include
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.h:35:4:
std::function<void()> _configsavecallback;
^~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp: In member function 'void config::save()':
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:76:10: error: '_configsavecallback' was not declared in this scope
if ( _configsavecallback != NULL) {
^~~~~~~~~~~~~~~~~~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:76:10: note: suggested alternative: 'setConfigSaveCallback'
if ( _configsavecallback != NULL) {
^~~~~~~~~~~~~~~~~~~
setConfigSaveCallback
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp: At global scope:
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:81:42: error: variable or field 'setConfigSaveCallback' declared void
void config::setConfigSaveCallback( std::function<void()> func ) {
^~~~~~~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:81:42: error: 'function' is not a member of 'std'
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:81:42: note: 'std::function' is defined in header ''; did you forget to '#include '?
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:5:1:
+#include
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:81:42:
void config::setConfigSaveCallback( std::function<void()> func ) {
^~~~~~~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:81:59: error: 'func' was not declared in this
scope
void config::setConfigSaveCallback( std::function<void()> func ) {
^~~~
.pio/libdeps/esp32dev/ESP8266 IoT Framework/src/configManager.cpp:81:59: note: suggested alternative: 'sync'
void config::setConfigSaveCallback( std::function<void()> func ) {
^~~~
sync
*** [.pio\build\esp32dev\lib11a\ESP8266 IoT Framework\configManager.cpp.o] Error 1
========================================= [FAILED] Took 26.73 seconds =========================================`

Did you know about this project?
https://github.com/rjwats/esp8266-react

Hello @Eisbaeeer , thank for the pointer, wasn't aware of esp8266-react that also works on ESP32.  Lots of useful features!  The UI configurable MQTT feature looks useful for a home lighting project am working on.  Taking a deeper look...
Are you still hitting build errors when trying to build these examples using my ESP32 branch forked from maakbaas's framework?  https://github.com/aaronse/esp8266-iot-framework/tree/esp32 will try to repro...

Hey @Eisbaeeer, the following worked for me (Windows 10).  Please excuse the verbose write up, planning to eventually update the doc with this content to help others as well.

cd to your usual git/dev enlistment folder, e.g. c:\git, or some temporary scratch folder, e.g. c:\scratch
Clone this repo containing example projects, then clone the my ESP32 branch of maakbaas's framework, until if/when ESP32 pull request is approved and submitted.

git clone https://github.com/aaronse/esp-iot-framework-examples
cd esp-iot-framework-examples\helloWorld\lib
git clone --single-branch --branch esp32 https://github.com/aaronse/esp8266-iot-framework

Ensure esp8266-iot-framework dependencies are installed, and that the framework UI will build and webpack ok.

cd esp8266-iot-framework
npm install
echo verify freshly cloned framework UI bundle builds successfully
npm run build

Open helloworld app in VS

cd ..\..
code .

Use PlatformIO Build task within VS Code... Ctrl + Alt + B

Build should succeed, but with some warnings caused by code within referenced libraries) :

    Transition by adding must_exist=False to SConscript calls.
    Missing SConscript 'C:\lib\esp8266-iot-framework\scripts\preBuild.py'
    File "C:\Users\aaron\.platformio\penv\lib\site-packages\platformio\builder\main.py", line 189, in <module>

    C:\Users\aaron\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c: In function 'spiTransferBytesNL':
    C:\Users\aaron\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c:922:39: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] ...
    C:\Users\aaron\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c:923:40: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]   ...

Use PlatformIO Upload task within VS Code.
Use PlatformIO Monitor task within VS Code.

[2202-02-28] Currently, for fresh device without SSID name/password configured, startup will block for 60secs during startup until connect times out.  Look at monitor output traces to observe this.  Eventually captive portal will start.  imo, cause is bug in the existing WifiManager.cpp startup logic.  Expecting startup time to be improved orthogonal to the ESP32 branch edits.

@aaronse I will try it and give you a feedback here. ;-)

Hi!
I have successfully installed your version using the step by step provided above using ESP32 Wrover-IE.
I didn't more tests yet.
Thanks!

Applying only the changes below to configManager example I have a crash loop.
#ifdef ESP32
    #include "LITTLEFS.h"
    #define LittleFS LITTLEFS
#elif defined(ESP8266)
    #include "LittleFS.h"
#endif

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
webServer::begin enter
Calling server.begin();  Will fail on ESP32 if tcp stack not initialized.  Ensure WiFiManager was called first.
assertion "Invalid mbox" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/api/tcpip.c", line 416, function: tcpip_api_call
abort() was called at PC 0x40108493 on core 1

ELF file SHA256:<PHONE_NUMBER>000000

Backtrace: 0x400887bc:0x3ffb1e00 0x40088a39:0x3ffb1e20 0x40108493:0x3ffb1e40 0x401394cf:0x3ffb1e70 0x40174b99:0x3ffb1ea0 0x400dc712:0x3ffb1ef0 0x400d362a:0x3ffb1f10 0x400d4b3e:0x3ffb1f60 0x400ec882:0x3ffb1fb0 0x40089a4a:0x3ffb1fd0

Applying only the changes below to configManager example I have a crash loop.
#ifdef ESP32
    #include "LITTLEFS.h"
    #define LittleFS LITTLEFS
#elif defined(ESP8266)
    #include "LittleFS.h"
#endif

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
webServer::begin enter
Calling server.begin();  Will fail on ESP32 if tcp stack not initialized.  Ensure WiFiManager was called first.
assertion "Invalid mbox" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/lwip/lwip/src/api/tcpip.c", line 416, function: tcpip_api_call
abort() was called at PC 0x40108493 on core 1

ELF file SHA256:<PHONE_NUMBER>000000

Backtrace: 0x400887bc:0x3ffb1e00 0x40088a39:0x3ffb1e20 0x40108493:0x3ffb1e40 0x401394cf:0x3ffb1e70 0x40174b99:0x3ffb1ea0 0x400dc712:0x3ffb1ef0 0x400d362a:0x3ffb1f10 0x400d4b3e:0x3ffb1f60 0x400ec882:0x3ffb1fb0 0x40089a4a:0x3ffb1fd0

Is configManager example that's crashing calling GUI.begin before WifiManager.begin?  If so, try moving GUI.begin after WifiManager.begin, for example see...
https://github.com/aaronse/esp-iot-framework-examples/blob/main/helloWorld/src/helloWorld.cpp

I have it working now.
Now I have the setup in this order:
    LittleFS.begin();
    configManager.begin();
    configManager.setConfigSaveCallback(saveCallback);
    WiFiManager.begin(configManager.data.projectName);
    timeSync.begin();
    GUI.begin();

Thank you!

Closing as resolved.

Don't forget to fix the extra_scripts path pointed above. :)

Thanks @FernandoGarcia!  done, closing...


image stylization demo produces black images in gpu colab session

I tried some different versions of magenta and tf but with no luck
Pls check
regards
Roman

I'm running into the same problem as well.


Hello guys, i have this error

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

My config
Your config but without your bot token!
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

DiscordAPIError[50035]: Invalid Form Body
components[0].components[0].options[2][SELECT_COMPONENT_OPTION_VALUE_DUPLICATED]: The specified option value is already used
at handleErrors (C:\Users\Administrator\Desktop\Ticket-Bot-main\node_modules@discordjs\rest\dist\index.js:722:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async SequentialHandler.runRequest (C:\Users\Administrator\Desktop\Ticket-Bot-main\node_modules@discordjs\rest\dist\index.js:1120:23)
at async SequentialHandler.queueRequest (C:\Users\Administrator\Desktop\Ticket-Bot-main\node_modules@discordjs\rest\dist\index.js:953:14)
at async _REST.request (C:\Users\Administrator\Desktop\Ticket-Bot-main\node_modules@discordjs\rest\dist\index.js:1266:22)
at async InteractionWebhook.editMessage (C:\Users\Administrator\Desktop\Ticket-Bot-main\node_modules\discord.js\src\structures\Webhook.js:339:15)
at async ButtonInteraction.editReply (C:\Users\Administrator\Desktop\Ticket-Bot-main\node_modules\discord.js\src\structures\interfaces\InteractionResponses.js:158:17) {
requestBody: {
files: [],
json: {
content: undefined,
tts: false,
nonce: undefined,
embeds: undefined,
components: [Array],
username: undefined,
avatar_url: undefined,
allowed_mentions: undefined,
flags: undefined,
message_reference: undefined,
attachments: undefined,
sticker_ids: undefined,
thread_name: undefined
}
},
rawError: {
message: 'Invalid Form Body',
code: 50035,
errors: { components: [Object] }
},
code: 50035,
status: 400,
method: 'PATCH',
url: 'https://discord.com/api/v10/webhooks/1224500904686915584/aW50ZXJhY3Rpb246MTIyNDUxMzEyNjc3NTM5MDI3MTpuZXVBZlRBSHMzaDQ3U3EybFhpZUtJYVlJRE1sbkVBT0NKaDBPYlFRbWVGaG42WnM1N0hkcFRRdVNRNUVGVVhHRHRMbHZFaVBtQWZnTWhmNUY2RWhXY1cxR2J6MnhxVGNaVG5EUzJlY0Y2blJKMHZnVG1YenFsSU1WOHRJR0pGTw/messages/@original'
}

This bug report is very unhelpful!
The report already has a template that you can fill up, which will help us identify the issue. So when you submit another report, please complete that next time. The title should also describe the issue in very few words.
For your issue, this is not a bug. If you take a closer look, you'll see components[0].components[0].options[2][SELECT_COMPONENT_OPTION_VALUE_DUPLICATED]: The specified option value is already used, which means one of ur config field is duplicated. But again, you did not complete anything from the template so this answer may not be accurate.
For further assistant, use the discord #community-support channel instead.


High latency when use group intergration

When I use group intergration to control 4 lights intergrated with XiaomiGateway3, it has very hight latency. I don't know why. Need help.

Same here. It seems only happened to 2024.11

Well. This is asyncio loop. Maybe some HA components blocking it. It can't be fixed in this integration.


cmd: export Run() function

For livepeer-in-a-box v2 purposes. I'm not married to this way of doing it, but it seems reasonably clean?

@darkdarkdragon Would love for you to weigh in on this general technique — after this PR ships I'm coming for stream-tester next 😄

CI failing because Docker is down, ugh. Merging anyway.


Creating Dashboard using distributed tracing

Hi Team, is it possible to create dashboard using distributed tracing way? The dashboard will show all the messages received from devices, ability to filer the data, like power BI.
Thanks,
Bhupal

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

ID: 85a00a92-3048-645b-d4a1-eb6b6446268a
Version Independent ID: 3e4326bd-6992-9aee-e0f4-9c1141982a5a
Content: Add correlation IDs to IoT messages with distributed tracing (preview)
Content Source: articles/iot-hub/iot-hub-distributed-tracing.md
Service: iot-hub
GitHub Login: @jlian
Microsoft Alias: jlian

With some setup, yes. Please check out the sample we have for App Map
https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-distributed-tracing#application-map

@BhupalPatil Closing this issue since we haven't heard back from you. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Yarn 2074

YARN-2074 Preemption of AM containers shouldn't count towards AM failures
https://issues.apache.org/jira/browse/YARN-2074
Note: Second half of the testPreemptedAMRestartOnRMRestart() test in TestAMRestart.java is failing.
Commented out and marked with // TODO

Can one of the admins verify this patch?

I merged it with a correction I don't know why it appear as not merged in github


Display confused since recently

This was a lifesaver, thank you!
But now something happened (likely to GitHub's display of PR diffs):

Note the extra dots at the beginning of the line, and the extra dots within the blue "+".
That's with Firefox 94.0.1 on macOS 11. Anyone else seeing this? If so, is there anyone willing to dig into this and find a fix?

I'd recommend using the Refined GitHub extension: https://github.com/refined-github/refined-github
Ever since it got whitespace rendering support I'd stopped maintaining this one

Thanks a lot, @glebm for your recommendation, much appreciated!

You might want to leave this issue open then (as a known issue), and/or add a note to the readme that it's no longer maintained.
The alternative is fine. But I almost opened a new issue before thinking to look through closed issues just in case.


Wifi maxclients

We used to limit the amount of users able to connect to the hotspot.
A server and a KoomBook don't have the same antennas, same context.
This PR allows us to configure the limit. Defaults to 15 for all, then 15 for a KB and 30 for a server.

Wrong branches :D


tweak autocompletion style

#1727 can show silly large description, and this PR suppress that more

Does this add scroll bar or use an elipse? Can I get a screenshot example?

Does this add scroll bar or use an elipse?
No, would be better if we could tho

Can I see what it looks like and I think both options are fine.

Ah sorry, I found that the other package (atom-ink) had a change like:
autocomplete-suggestion-list.select-list.popover-list {
    .suggestion-description {
      line-height: 1;
      .suggestion-description-content {
        overflow-y : hidden;
        display    : inline;
        white-space: normal; // can be useful to workaround https://github.com/atom/autocomplete-plus/issues/868
      }
    }
  }

and actually display    : inline; made something like:

But it's now fixed with: https://github.com/JunoLab/atom-ink/pull/217
and there is no more annoyance, so gonna close this.
Sorry for taking your time !


⚠ Jenkins Plugins Artifactory has degraded performance

In 93d3426, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1242 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 31a41a5 after 26 minutes.


Use pdf.js to open pdf files

PDFs files currently download onto the system when clicked on .We can used pdf.js to open them instead. A pdf reader was first used but had a bug upstream due to which it had to be disabled.

@zulipbot claim


add automatic fixes for json "contains" files checks

specifically: -> if the key is defined, replace it, by default
maybe also expose this fix type to the user so they can compose it (E.g., do that and do another thing)

this was done now


Enable to input λ easily

Maybe mapping (\ to expand to (λ in inset mode?

This is just a syntax plugin. Regarding UNIX philosophy, such enhancement should be in another plugin.


Support for deployment at different scopes

https://learn.microsoft.com/en-us/rest/api/resources/deployments/what-if-at-subscription-scope?tabs=HTTP


lib/systems: make riscv{32,64}-embedded soft-float by default

Description of changes
By default, the target configuration riscv{32,64}-none-elf builds a GCC with a hard-float libgcc.a. Many RISC-V embedded implementations do not feature hard float support, so using the compiler shipped through pkgCross.riscv{32,64}-embedded.buildPackages.gcc will not work for them. Building a new target with the proper options requires two compilations of GCC, due to the way Nix builds the compiler (target GCC -> libc with target GCC -> target GCC with built libc), which is not exactly a cheap operation.
Instead, it appears to make more sense to follow the approach of other architectures (e.g. arm-embedded) and default to soft-float, eventually providing an explicit hard-float target as well.
What makes this issue worse with RISC-V is that a given compiler theoretically supports multiple different target architectures specified through the -march flag. The compiler with hard-float intrinsics will happily compile a soft-float target, and is able to link as long as no hard-float objects (e.g. intrinsics) are included. However, changing from a target with multiplication support (rv32imc) to one without (rv32i) now requires linking against muldi3.o and div.o of libgcc.a, which are hard-float modules, despite this change not introducing any floating point arithmetic per se:
  LD        build/rv32i/rv32i.0x00080060.0x40008000.elf
/nix/store/j98mn0mvm4fxg5bia7hf47d6bbd5ws1r-riscv32-none-elf-binutils-2.38/bin/riscv32-none-elf-ld: /nix/store/457pgk7c91w462lawn43lzvf5rlxk4q1-riscv32-none-elf-stage-final-gcc-debug-11.3.0/lib/gcc/riscv32-none-elf/11.3.0/libgcc.a(muldi3.o): can't link double-float modules with soft-float modules
/nix/store/j98mn0mvm4fxg5bia7hf47d6bbd5ws1r-riscv32-none-elf-binutils-2.38/bin/riscv32-none-elf-ld: failed to merge target specific data of file /nix/store/457pgk7c91w462lawn43lzvf5rlxk4q1-riscv32-none-elf-stage-final-gcc-debug-11.3.0/lib/gcc/riscv32-none-elf/11.3.0/libgcc.a(muldi3.o)
/nix/store/j98mn0mvm4fxg5bia7hf47d6bbd5ws1r-riscv32-none-elf-binutils-2.38/bin/riscv32-none-elf-ld: /nix/store/457pgk7c91w462lawn43lzvf5rlxk4q1-riscv32-none-elf-stage-final-gcc-debug-11.3.0/lib/gcc/riscv32-none-elf/11.3.0/libgcc.a(div.o): can't link double-float modules with soft-float modules
/nix/store/j98mn0mvm4fxg5bia7hf47d6bbd5ws1r-riscv32-none-elf-binutils-2.38/bin/riscv32-none-elf-ld: failed to merge target specific data of file /nix/store/457pgk7c91w462lawn43lzvf5rlxk4q1-riscv32-none-elf-stage-final-gcc-debug-11.3.0/lib/gcc/riscv32-none-elf/11.3.0/libgcc.a(div.o)
collect2: error: ld returned 1 exit status
make: *** [../../AppMakefile.mk:269: build/rv32i/rv32i.0x00080060.0x40008000.elf] Error 1

I'm currently facing this issue within https://github.com/tock/libtock-c. I would prefer to avoid having users build GCC twice before they can produce binaries.
Alternatively we could look into shipping a multilib-GCC by default for this target, which would then support soft-/hard-float and intrinsics optimized for multiple different -march (e.g. rv32i, rv32imc, rv32imac, ...). I don't know what's the preferred/best approach here and looking for feedback. According to my findings, this change does not influence binaries built for architectures where some instrinsics are backed by hardware instructions (meaning a libgcc.a built for rv32i without hardware multiplication does not cause binaries linked for rv32imc with hardware multiplication to use the software multiplication implementation), so the tradeoff of this change would really only be using soft-float for intrinsics (libgcc.a) by default, even if the target potentially has hard-float.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Thanks to @alyssais for helping me debug this!
@NixOS/exotic-platform-maintainers

cc @NickCao @Madouura @chuangzhu who have done some risc-v things lately. Also maybe @Ericson2314?

I don't think this should be an issue, and would only effect the firmware part of my PR, which if needed I can just explicitly define what I want there.
We do need a clear way to build hard-float programs, like NickCao says though.

Given the (possible) proliferation of all sorts of embedded targets with soft-float/f/fd and even zfinx, IMHO we should expect the user to specify arch and abi instead of juggling with multilib.
However if there's an easier way to handle building both soft-float and hard-float with the same buildPackages.gcc I'd take that.
For lib.systems.examples, I don't have a strong opinion on this, but if I had to pick defaults to put in lib.systems.examples I'd do:

riscv32-embedded: rv32imac ilp32 (I think there are chips with this?)
riscv32-embedded-hardfloat: rv32imafc ilp32f (WCH QingkeV4 and SiFive E2)
riscv64-embedded: rv32imac lp64 (SiFive S7)
riscv64-embedded-hardfloat: rv64gc lp64d (RTOS on a Linux-capable processor maybe)

@dramforever: I agree with your comment. Unfortunately, I have not yet figured out a way to get the toolchains to work with both hardfloat and softfloat targets and use the appropriate libgccs (which seems to be the only architecture-defined part which can't be influenced at runtime with RISC-V compilers, right?). Your default march and mabi specs for riscv{32,64}-embedded{,-hardfloat} targets do make sense to me.
In the meantime, we no longer ship an rv32i target in Tock and hence this problem has vanished for me right now. I'd like to improve our toolchain situation to have things just work(TM), including things like newlib & SSP support (if anyone is interested, here's the mess of flags I needed to smash together to get that to work). However, I currently don't have the capacity to took into these things more in depth. If someone else wants to pick this back up in the meantime, feel free!


Update NU5026.md

fixed a typo:
mbuild -> msbuild

Docs Build status updates of commit 9cbee2a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/errors-and-warnings/NU5026.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


Expose a DateTime type?

Hi I think it's beneficial to expose DateTime type, for two reasons:

It implements Display so can be written directly into output buffer without intermediate allocated String
It's also smaller than SystemTime

Hi, I want to hide DateTime as an implementation detail and only use the standard SystemTime. Avoiding the allocated string would be good. I could either provide a function like this:
pub fn format_http_date(f: &mut fmt::Formatter, d: SystemTime) -> fmt::Result {
    DateTime::from(d).fmt(f)
}

It avoids the intermediate string but it can only be called if you already have a formatter. The alternative would be a type pub struct HttpDate (SystemTime} and implement FromStr and Display for it. Do you know if the smaller size of DateTime actually makes a difference?

Well, the tokio's structures are generally quite large. And sure, 16 bytes vs 8 bytes of timestamp does not matter here.
Still I'm not sure why you want a yet another wrapper. There is no need to expose any methods or internal structure of DateTime except FromStr, Display, From, Into and perhaps a PartialOrd. So both options will look the same from the point of view of a user.

There is no need to expose any methods or internal structure of DateTime except FromStr, Display, From, Into and perhaps a PartialOrd. So both options will look the same from the point of view of a user.

Ah good idea. So parse_http_date would return an opaque DateTime and can be converted to a SystemTime if necessary. It can also be formatted with Display. Maybe DateTime is too generic would you agree to name it HttpTime?

Yes HttpTime sounds good.

While editing the code I noticed that the crate is called httpdate but the type would be named HttpTime. Either I need to rename the crate and yank the old version or I should call it HttpDate.

For that matter, I think HttpDate is equally meaningful as HttpTime :)

Sorry for the delay, can you please have a look at the publicdate branch? I will release it after your review.

Looks good. Thanks!

Published as v0.3.0


DS-4537 Update OAI index for deleted items

See: https://jira.lyrasis.org/browse/DS-4537
When items are deleted (not withdrawn, deleted) from DSpace, the OAI index holds onto them until a clean oai index rebuild is done. This is not ideal because it means rebuilding the OAI index has to happen periodically, and during those windows, OAI can report erroneous results (just like a full discovery re-index would). Even with that approach, there is no opportunity for OAI to report that the item is deleted (aka “persistent deletion support” in OAI).
I have created a solution that cross references handles that belonged to Items that no longer have a resource id with OAI docs sharing that set of handles and updated item.deleted to true.
main version of this PR at https://github.com/DSpace/DSpace/pull/2856

Closing, as this is outdated. Will be fixed in 7.x instead in #2856


[Go] Fix for decoding into a struct with pre-allocated slices.

This change allows you to call Decode() on an sbe struct where the struct has pre-allocated slices. Before, the code would allocate a new slice if the capacity on the existing slice was less than the number of groups in the message. If the old slice had a greater capacity, it wouldn't truncate the number of elements to the new length. The same issue with vardata fields.

@billsegall can you have a look?

I like it. It's a neat fix.


README customization code does not work

Hello, I am trying to get started with Superform and Phlex, but the example in the Customization section is not working with superform v0.4.5. I'd love to figure out what is needed here, because being able to override different form component as mentioned in the superform README styles for usage with Tailwind makes much more sense to me conceptually than messing around with Rails FormBuilder.
Steps to reproduce:

rails new superform_example
cd superform_example
rails g scaffold User name email
rails db migrate
bundle add superform --version 0.4.5
rails g superform:install
Update app/views/forms/application_form.rb

# ./app/views/forms/application_form.rb
class ApplicationForm < ApplicationForm
  class MyInputComponent < ApplicationComponent
    def template(&)
      div class: "form-field" do
        input(**attributes)
        if field.errors?
          p(class: "form-field-error") { field.errors.to_sentence }
        end
      end
    end
  end

  class Field < Field
    def input(**attributes)
      MyInputComponent.new(self, attributes: attributes)
    end
  end

  def labeled(component)
    div class: "form-row" do
      render component.field.label
      render component
    end
  end

  def submit(text)
    button(type: :submit) { text }
  end
end

Create app/views/users/form.rb

# ./app/views/users/form.rb
class Users::Form < ApplicationForm
  def template(&)
    labeled field(:name).input
    labeled field(:email).input(type: :email)

    submit "Sign up"
  end
end

Update app/views/users/new.html.erb to render the form:

New user

<%= render Users::Form.new @user %>

  <%= link_to "Back to users", users_path %>

rails s
Visit http://localhost:3000/users/new

Expected: Users::Form renders
Actual: Rendering error
ActionView::Template::Error (wrong number of arguments (given 2, expected 0)):
    1:
New user

    2:
    3: <%= render Users::Form.new @user %>
    4:
    5:

    6:

app/views/forms/application_form.rb:15:in `input'
app/views/users/form.rb:3:in `template'
app/views/users/new.html.erb:3

This is what I've been able to get working. The only thing I'm not sure about is where errors? and errors come from.
class ApplicationForm < Superform::Rails::Form
  class MyInputComponent < Superform::Rails::Components::InputComponent
    def template(&)
      div class: "form-field" do
        input(**attributes)
        # if field.errors?
        #   p(class: "form-field-error") { field.errors.to_sentence }
        # end
      end
    end
  end

  class Field < Superform::Rails::Form::Field
    def input(**attributes)
      MyInputComponent.new(self, attributes:)
    end
  end

  def labeled(component)
    div class: "form-row" do
      render component.field.label
      render component
    end
  end

  def submit(text)
    button(type: :submit) { text }
  end
end

If I uncomment the line with field.errors?, I get an undefined method errors? error.


Rewrite of LDAP implementation

After a request from @PhonicUK, i should post my code on GitHub, so they can check on monday.
apparently there is a nuget library available called System.DirectoryServices.Protocols which is compatible with .NET 4.8 and an effective replacement to the old stuff.
using System.DirectoryServices.Protocols;
using System.Net;
using System.Text.RegularExpressions;

var server    = "WIN-4TM3C1UMGVK.peerstudios.net";

var username = "robin";
var password = Environment.GetEnvironmentVariable("USER_PASSWORD");

var pre2000DC = false;
var stripDomainFromFilter = false;

var queryUserDN = "Administrator@PEERSTUDIOS";
var queryUserPassword = Environment.GetEnvironmentVariable("ADMIN_PASSWORD") ?? throw new NullReferenceException();

var usersFilterDN = "CN=Users,DC=peerstudios,DC=net";

using var ldap = new LdapConnection(server);
ldap.SessionOptions.ProtocolVersion = 3;

//
// Query user Authentication
//
ldap.AuthType = AuthType.Basic;
try
{
   ldap.Bind(new NetworkCredential(queryUserDN, queryUserPassword));
}
catch (LdapException e)
{
   Console.WriteLine(e);
   //return new LDAPAuthResponse(false, null, null, "Invalid query user credentials.");
}

var filterUser = stripDomainFromFilter
   ? new Regex("@\"^(.+?)@.+?$|^.+?\\\\(.+?)$\"").Replace(@"^(.+?)@.+?$|^.+?\\(.+?)$", "$1$2")
   : username;

var response = (SearchResponse)ldap.SendRequest(new SearchRequest(
usersFilterDN,
   $"(&(objectClass=user)(sAMAccountName={filterUser}))", // TODO: sanitize the filter
   SearchScope.OneLevel,
   // Attributes
   "sAMAccountName",
   "memberOf",
   "distinguishedName"
));

if (response.Entries.Count <= 0)
{
   Console.WriteLine("Invalid username");
   // return new LDAPAuthResponse(false, null, null, "Invalid username");
   return 1;
}

var user = response.Entries[0];
var userDN = user.DistinguishedName;

//
// User Authentication
//
try
{
   ldap.Bind(new NetworkCredential(userDN, password));
}
catch (LdapException e)
{
   Console.WriteLine(e);
   Console.WriteLine("The query was successful but the user credentials were refused.");
   // return new LDAPAuthResponse(false, null, null, "The query was successful but the user credentials were refused.");
   return 1;
}

return 0;

Like I said, you either die a hero or live long enough to become the villain


Version checker cannot cope with single digit strings in package.json

Steps to reproduce:

In client/package.json specify version: "react-on-rails": "^6"
In root path run bundle exec rails server

Expected behaviour:

Should run fine

Actual behaviour:

Crashes with:

/Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/react_on_rails-6.0.5/lib/react_on_rails/version_checker.rb:69:in `major': undefined method `[]' for nil:NilClass (NoMethodError)
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/react_on_rails-6.0.5/lib/react_on_rails/version_checker.rb:21:in `warn_if_gem_and_node_package_versions_differ'
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/react_on_rails-6.0.5/lib/react_on_rails/engine.rb:5:in `block in <class:Engine>'
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:396:in `instance_exec'
    from /Users/sam/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0/lib/active_support/callbacks.rb:396:in `block in make_lambda'
(... trace truncated ...)

The problem is on version_checker.rb line 69. The regex should probably be more like this: raw.match(/(\d+)(\.|\z)/)[1]

Hi @samphilipd!
Any chance that you can help us with a PR (including a test?)
CC: @robwise

This issue is still present in 8.0.6.
I installed the js package as follows: yarn add react-on-rails@8, and the gem tries to parse "8" with "major.minor.patch" regex.

So it's been reverted to the broken version here https://github.com/shakacode/react_on_rails/commit/251fa75498a333d11e4c76d06b4065c951b39817#diff-0c19a2d62c614c09b80b965b9aa73eac
This issue needs to be re-opened.

@RKushnir We require the full X.Y.Z version number to stay in sync between the gemfile and the package.json. The reason:
In case we deploy a change that has a bug, we may need to update both the Gem and the NPM version and require both are at the same exact version.

@justin808 I understand that, but the parser should tell what the problem is, not just fail with a random exception. To figure it out, I had to explore the gem source and debug the reason of failure, quite inefficient.

@RKushnir Any chance that you can submit a PR for a better error message?

u

Closing for lack of interest.


Is there something wrong calculate usedMem in ColumnWriteStoreBase.java

Reporter: JiangYang / @Ted-Jiang
Assignee: JiangYang / @Ted-Jiang
Related issues:

Clean Up parquet-columns Module (Blocked)

Original Issue Attachments:

image-2021-08-05-14-37-51-299.png

Note: This issue was originally created as PARQUET-2073. Please see the migration documentation for further details.

JiangYang / @Ted-Jiang:
this line is to calculate the rowsToFillPage number.
rows(one row more than one bytes) should be always smaller than usedMem, so the rowsToFillPage always be zero, in current code.

I think you are right we should use
(long) ((double) rows / usedMem * remainingMem )
for more accurate numbers.

Could I create a PR for fix this ?  I want to be involved in the community, especially big data storage.

Gabor Szadovszky / @gszadovszky:
@Ted-Jiang, you're right, rowsToFillPage will always be zero. It means (because of line 256) that we never use this estimate correctly so the next row count check will always step by props.getMinRowCountForPageSizeCheck(). Funny that it was working this way ever since we have this estimation logic.
About fixing this issue. We can have proper results without casting:

rows * remainingMem / usedMem

Meanwhile, this form is a bit misleading so we need some comments that we are calculating the estimated number of rows can be written to the page based on the average size of rows already written.
The tricky part is how to test it. This will be a new behavior of the page writing and we have never tested this properly. (Otherwise, we would have caught this issue.) It highly depends on the characteristics of the values if this approach works fine or not. (For example small values at the beginning and large ones later can cause this logic overrun the maximum size of the page. However, the same can happen if the wrong values are used for min/maxRowCountForPageSizeCheck.)
Sure, please, create a PR. I am happy to review.

JiangYang / @Ted-Jiang:
Greate！ could you assign this task to me?

JiangYang / @Ted-Jiang:
@belugabehr  Sorry for disturb， is this change right? results are different

Gabor Szadovszky / @gszadovszky:
So, we are talking about this line.
The original line was

(long) ((float) rows) / usedMem * remainingMem

Here both the casts are for rows so it is completely fine removing the (float) cast. Even the (long) cast can be removed since all the tree values are long. I can see only one option were the result can be different in the two when the value in rows overflows at downcast to float. Could you please list exact numbers where you got different numbers?
It is another thing that the very original code should have been

(long) ((double) rows / usedMem * remainingMem )

This way you would get more accurate numbers.


Upgrade Go from 1.13 to 1.15

Our Debian-based BuildKite host now has Go 1.15 to unblock
github.com/go-openapi/runtime upgrade.
Signed-off-by: Kazuyoshi Kato<EMAIL_ADDRESS>Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The main branch build wouldn't work due to #371.

Another blocker is https://github.com/firecracker-microvm/firecracker/pull/2876.
Firecracker 1.0 is coming. So we need to take these changes anyway later.


Add trivial fma impl

Closes: #62

Todo is marked on implementing the rounding modes of add, sub, mul, div. Since this is the classic example that breaks in floating point we'll know quickly if the rounding modes aren't working.


Build failure on macOS, error[E0004]: non-exhaustive patterns: Inspect not covered

Building on macOS with cargo 1.62.0 (a748cf5a3 2022-06-08), M1 machine, Monterey 12.5, main being commit 023c665e1bc845b02e063d42c273277935f07762, I get the following:
~/Work/krunvm [main]> cargo build
   Compiling libc v0.2.90
   Compiling proc-macro2 v1.0.24
   Compiling serde v1.0.124
   Compiling unicode-xid v0.2.1
   Compiling syn v1.0.64
   Compiling bitflags v1.2.1
   Compiling unicode-width v0.1.8
   Compiling cfg-if v0.1.10
   Compiling serde_derive v1.0.124
   Compiling vec_map v0.8.2
   Compiling ansi_term v0.11.0
   Compiling strsim v0.8.0
   Compiling krunvm v0.1.6 (/Users/ddd/Work/krunvm)
   Compiling text_io v0.1.8
   Compiling textwrap v0.11.0
   Compiling dirs-sys v0.3.5
   Compiling atty v0.2.14
   Compiling clap v2.33.3
   Compiling directories v2.0.2
   Compiling quote v1.0.9
   Compiling toml v0.5.8
   Compiling confy v0.4.0
error[E0004]: non-exhaustive patterns: `Inspect` not covered
  --> src/utils.rs:47:11
   |
47 |     match cmd {
   |           ^^^ pattern `Inspect` not covered
   |
note: `BuildahCommand` defined here
  --> src/utils.rs:12:5
   |
10 | pub enum BuildahCommand {
   |          --------------
11 |     From,
12 |     Inspect,
   |     ^^^^^^^ not covered
   = note: the matched value is of type `BuildahCommand`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
66 ~         }
67 +         Inspect => todo!()
   |

For more information about this error, try `rustc --explain E0004`.
error: could not compile `krunvm` due to previous error

The build error does not occur on Linux with cargo 1.59.0 (49d8809dc 2022-02-10) (Fedora 36).

Problem does not occur with slp/main, but that seems to be behind (last commit from July 5)
Bisecting from there gives me:
2285182aa254df8af86fca8f3e6e46a9c657418c is the first bad commit
commit 2285182aa254df8af86fca8f3e6e46a9c657418c
Author: Sergio Lopez<EMAIL_ADDRESS>Date:   Thu Aug 4 15:02:38 2022 +0200

    Export container config on microVM creation

    libkrun's init/init.c is now able to read the workload parameters from
    an OCI config file. Use "buildah inspect" to obtain this configuration
    and write it to the expected location ("/.krun_config.json").

    Signed-off-by: Sergio Lopez<EMAIL_ADDRESS>
 src/create.rs | 40 ++++++++++++++++++++++++++++++++++++++++
 src/utils.rs  |  2 ++
 2 files changed, 42 insertions(+)


Generate .PLY file from the result

I can't find in the docs, but is it possible to generate a common .PLY file (which is widely used by many splat viewers) as the result of gsplat?
Thanks in advance.

Duplicate of #234


Can not find a model after training - strange

Hi, cool repo.
I fine-tune small_ft.pkl with the following training parameter in Google Colab:
!python LSP_train.py --model_name_or_path /content/DialoGPT/models/small --init_checkpoint /content/apex/DialoGPT/small_ft.pkl --train_input_file /content/apex/DialoGPT/data/train_raw_friend.128len.db --eval_input_file ./data/dummy_data.tsv --output_dir /content/DialoGPT/models/output_model --seed 42 --max_seq_length 128 --train_batch_size 16 --gradient_accumulation_steps 8 --eval_batch_size 64 --learning_rate 1e-5 --num_optim_steps 1000 --valid_step 5000 --warmup_steps 4000 --normalize_data true --fp16 false --lr_schedule noam --loss_scale 0.0 --no_token_id true --pbar true
Trainig finished but when i navigate to /content/DialoGPT/models/output_model there is no actual model ! i see only 2 files in generated folder GPT2.1e-05.2.1gpu.2020-04-04161237
eval_log and train_log, but no large pkl file.
What i am doing wrong?

Maybe you could print some debug information before you dump the model?
After a quick scan of you command I noticed that your num_optim_steps is 1000 but --valid_step is 5000, noticed that condition to save model is
if global_step % args.valid_step == 0

, so it looks your training haven't finished "one epoch" to save the model yet.
Hope it helps.

Maybe you could print some debug information before you dump the model?
After a quick scan of you command I noticed that your num_optim_steps is 1000 but --valid_step is 5000, noticed that condition to save model is
if global_step % args.valid_step == 0

, so it looks your training haven't finished "one epoch" to save the model yet.
Hope it helps.

Yes, closing


featurerequest: add a fromTeX method to Expression

It would be cool to have fromTex an inverse function of toTex.
Instead of:
var expr1 = new Expression("x").add(3);

one could build and equivalent expression using:
var expr2 =  new Expression().fromTex("x + 3")

Yeah, that came up on HN too. I'm not sure I'm up for parsing TeX, but I could take a stab at parsing strings.

I'm closing this as the conversation about this is happening over in https://github.com/nicolewhite/algebra.js/issues/7. Feel free to jump in over there.


Corrected a small grammar error

[ ] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)
[ ] My pull request targets the master branch of freeCodeCamp.
[ ] None of my changes are plagiarized from another source without proper attribution.
[ ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congratulations @anjucheran  on your first contribution to freeCodeCamp!
We're all really looking forward to your next contribution

Congratulations @anjucheran on your first contribution to freeCodeCamp!
We're all really looking forward to your next contribution

Congratulations on your first contribution to freeCodeCamp!
Thank you for submitting this PR, @anjucheran . We're all really looking forward to your next contribution.


Avoid Generating Useless Dependent Information

Overview

Some information can be assumed to be missing / not useful when certain other parts of the information are also missing. Perhaps we should add checks to avoid generating useless information.
Suggestions
If there is no Profession:

Do not show Job Site
Do not show Last Worked at Workstation
Do not show Restocks Today

If there is no Job Site:

Do not show Last Worked at Workstation
Do not show Restocks Today

If there is no Home:

Do not show Last Slept

Hello, I would like to work on this! It could take a few hours before I'm able to contribute though.

Nice :D


[BEAM-14348] Upgrade to ZetaSQL 2022.04.1

This upgrades to ZetaSQL 2022.04.1

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Java PreCommit

test this please
Seems precommit status is not being sent to github.

test this please

Run SQL_Java17 PreCommit


Fix #19 RuntimeError with dict key deletion

Could also be fixed by this equivalent:
    for k in list(config):
        if k in self._internal_only:
            del config[k]

Might fix #18 as well, with a change in the support matrix.


Pattern: content block – with media, too much vertical spacing

Detailed description
Describe in detail the issue you're having.
There is too much space between the top description and child (content group – simple).
Is this a feature request (new component, new icon), a bug, or a general issue?
Design layout defect
What did you expect to happen? What happened instead? What would you like to see changed?
The vertical space between description and child should be 64px.
What browser are you working in?
Chrome
Steps to reproduce the issue
Go to Storybook pattern and view.
Additional information
This is what's happening in browser right now. There is additional space at the bottom of the first description + 96px above the following child. The total vertical space should be 64px.

@larahanlon2 Can you confirm this is bug with @kennylam ?  On QA call this morning, this was raised by QA team but Kenny said it may have to do with the breakpoint.  I trust it may be a bug but just want to make sure it's not a repeat of the item discussed with Kenny on the QA call.  Thx

Yes, no problem.
@kennylam Hey, any thoughts on this? The excessive space is showing across different breakpoints for me:
Desktop

ipad

Mobile


feat: Add flex wrapper around repo list content

What type of PR is this? (check all applicable)

[x] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Description

This PR adds responsiveness to the repo list component by adding a flex wrapper around the repo information.
Related Tickets & Documents

Fixes #437
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

LGTM

My attempt at fix merge conflicts has broken this. @RozzaysRed let me know if you have bandwidth to take a look at this agin.

@bdougie sure, I can work on getting figuring out what's going on.

@bdougie should be addressed now.


Can't compile with no_std in libraries, but not binaries?

Version of embedded-graphics in use (if applicable): 0.6.2
Target: thumbv7em-none-eabihf

Description of the problem/feature request/other
So, I've been trying to add embedded-graphics to my embedded OS, in a library for reusing - its microkernel-based, but there's a no_std issue when compiling - I've narrowed it down to the byteorder crate.
This only happens when the lib.rs is present, i.e, no [[bin]] key.
I've made a repo that should reproduce the error. You'll need to compile using the target specified.
I don't know why it only happens when the crate is configured to be a library, but I'm designing this OS with a library-centric approach in mind, and I don't really want to move the graphics system into kernel-space.
What do you think?

OK, its clippy. Forgot to add that. It must be a conflict with their usage of byteorder... closing.

So, it turns out you're meant to use clippy-preview now from rustup! I guess I'm out of date :D Leaving my example repo in archive mode, for historical purposes.


spirv-fuzz: Segmentation fault in FuzzerPassAddEquationInstructions

First of all, I know this issue is similar to #3213, but still, it's quite different from that case (at least it seems so).
To reproduce:

use this commit 2a20e6e
compile the code
spirv-fuzz shader.spv -o fuzzed.spv --donors=donors.txt --seed=520311

At this point, you will get a segfault.
What happens is:

during one of the iterations FuzzerPassAddEquationInstructions::Apply collects instructions into integer_instructions variable here https://github.com/KhronosGroup/SPIRV-Tools/blob/da4cd214850296225484d3c2575c0e7eec83d607/source/fuzz/fuzzer_pass_add_equation_instructions.cpp#L76 The first instruction in that array will be an unsigned integer OpConstant.
on this line https://github.com/KhronosGroup/SPIRV-Tools/blob/da4cd214850296225484d3c2575c0e7eec83d607/source/fuzz/fuzzer_pass_add_equation_instructions.cpp#L81 we select an instruction from the array at random, which in our case will be unsigned integer OpConstantComposite vector
on this line https://github.com/KhronosGroup/SPIRV-Tools/blob/da4cd214850296225484d3c2575c0e7eec83d607/source/fuzz/fuzzer_pass_add_equation_instructions.cpp#L94 we get number of elements in the vector which will be 3 in our case
then when we launch RestrictToVectorWidth function on this line https://github.com/KhronosGroup/SPIRV-Tools/blob/da4cd214850296225484d3c2575c0e7eec83d607/source/fuzz/fuzzer_pass_add_equation_instructions.cpp#L107 it will iterate over all instructions in integer_instructions. When we select the first instruction (which is OpConstant), we will get a segfault on this line https://github.com/KhronosGroup/SPIRV-Tools/blob/da4cd214850296225484d3c2575c0e7eec83d607/source/fuzz/fuzzer_pass_add_equation_instructions.cpp#L206 when AsVector() returns nullptr. (Remember that we computed vector_width  and set it to 3).

All the necessary files are in this gist

Thanks for this!  Are you able to repro it (albeit with a different seed) on a master commit?  If so please list the commit here.  Issues that require seeds to reproduce can be painful because as the tool evolves, a seed that once revealed the problem ceases to do so.

@afd, try 2a20e6e9 with seed 21041.

@Vasniktel A couple of questions on how to repro:

Should I use "after_applied_transformations.spv" as "shader.spv", or should I compile the GLSL shader using glslangValidator and use that as "shader.spv"?

Should donors.txt be an empty file or did you use some donor shaders?

after_applied_transformations.spv is the same as fuzzed.spv. The reason I saved it is because when spirv-fuzz crashes, it doesn't leave any logs so I had to manually figure out what happened and print them. Compiling the shader with glslangValidator should be enough to reproduce the bug. Note that I didn't save the commit id when I created after_applied_transformations.spv, so when you try to run

spirv-fuzz shader.spv -o fuzzed.spv --donors=donors.txt --seed=520311

the sequence of transformations will be different but the reason for the crash remains the same.
2. donnors.txt is empty.

I just reproduced #3213 and it does seem that this issue has the same root cause, so closing as a duplicate, and a PR to address both this and #3213 is coming soon.


Updated COMPONENT_VERSION file for release-2.8

Signed-off-by: dislbenn<EMAIL_ADDRESS>

/hold

/hold

/unhold


Mono GetGlobalTransform seem problematic.

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Manjaro 64bit, Godot Beta1
Issue description:

Seems that the values from GetGlobalTransform to be wrong. (Not sure thought)
Steps to reproduce:
Run the example project. It uses the Mono script for the player.
Clasic fps controls WASD and mouse to move.
Switch the script of the Player to Player.gd to see how it was used to work in Godot.
Link to minimal example project:
GlobalTransform.zip
P.S. I am not sure that the problem is in GetGlobalTransform but seem to me that only this method can ruin the movement.

CC @neikeq @Hinsbart

After some more testings I realized that GetGlobalTransform acts ok, but the problem is in Vector3.cs
I think I found the problem but right now I cannot compile master to test it.
If I am right the problem is in  godot/modules/mono/glue/cs_files/Vector3.cs
link:
https://github.com/godotengine/godot/blob/7f022a33a31ad276047744ef42a9fbd85f39a6b4/modules/mono/glue/cs_files/Vector3.cs
at the lines 270-276
        public static Vector3 operator -(Vector3 vec)         {             vec.x = -vec.x;             vec.y = -vec.y;             vec.z = -vec.z;             return vec; }
I think this must be removed.

If I am right the problem is in godot/modules/mono/glue/cs_files/Vector3.cs
link:
https://github.com/godotengine/godot/blob/7f022a33a31ad276047744ef42a9fbd85f39a6b4/modules/mono/glue/cs_files/Vector3.cs
at the lines 270-276
public static Vector3 operator -(Vector3 vec) { vec.x = -vec.x; vec.y = -vec.y; vec.z = -vec.z; return vec; }

I don't know, in my tests it works as it should:
Vector3 vec0 = new Vector3(5.3f, -2.0f, -0.087f);
GD.Print(vec0);
Vector3 vec1 = -vec0;
GD.Print(vec1);
Vector3 vec2 = new Vector3();
vec2 -= vec0;
GD.Print(vec2);

outputs:
(5.3, -2, -0.087)
(-5.3, 2, 0.087)
(-5.3, 2, 0.087)

Yes looks like I am wrong again.
I tested on my example project by replacing all the Vector3 operators and the problem remains, so the problem must be somewhere else.
Here is a better example project.
GlobalTransform.zip
It does not move but only rotates the object by using the mouse. (I removed the movement to be sure I am not messing up anything). I also created a gdscript and attached it to a child of the object which is doing the same thing abd outputs the results.
So now I get in the output : CS + direction
GD + direction.
I get very strange results.
For example if press only forward or backward the x value of CS is just negative of the GD.
If I press only left and right CS get switched values of x and z of the GD.

@akien-mga I just made the same test by using Godot-Nim and I got the same strange output.
I believe this proves that the problem is inside GDNative.

I believe this proves that the problem is inside GDNative.

I don't think so as Mono doesn't use GDNative.

I don't think so as Mono doesn't use GDNative.
Are you sure about that? Seems too strange to have the same problem in Nim and C#, that's why I thought that Mono is using parts of GDNative.

Here is the example project (like the first example project) for Nim.
test_nim.zip

Try using axis instead of [] (aim.axis(2)). [] returns rows of the basis, and axis returns columns, similar to Godot's C++ API. I'm not sure how it works in GDScript.

I think what GDScript used is how it's defined in Variant::get: https://github.com/godotengine/godot/blob/master/core/variant_op.cpp#L2422-L2434

I'm not sure what are the established conventions for this, but in the context of Basis I think it makes sense for basis[i] to return a Vector3 with the column of the i-th coordinate (x, y or z), a.k.a. the "axis".
It seems to be consistent with linear indexing of matrices in Matlab at least: https://de.mathworks.com/help/matlab/math/matrix-indexing.html?requestedDomain=www.mathworks.com#f1-85511

Perfect.
Just for future reference.
In Nim we have to replace basis[0] to basis.axis(0)
and in Mono to basis.GetAxis(0)

Quoting @reduz from IRC:

<reduz> yeah, Basis should return transposed axes and also accept them as constructor. I wasted a few hours yesterday trying to fix a bug because of that
<reduz> they are flipped in C++ for performance

Mono part is fixed, only GDNative left.

As I explained in #16937

linear indexing of Basis returns rows, expected columns (axis)

you should be expecting rows if M[i][j] should refer to M_{ij} on paper. The first index is row, the second is column. Basis implementation got it right. It is Transform2D which is transposed and awkward, which has M[j][i] corresponding to M_{ij} on paper.
get_axis returns a column, not a row (because, to get the local x-axis of the transformation, you do M.(1,0,0) for example which gives you the first column, not row) so you shouldn't expect to be able to access it like M[i], just use the accessor function.

The main problem why columns/rows are swapped in Basis is so compilers can
take advantage of SSE optimization. It is confusing though, as in GDScript
and Mono, using operator[] is the same as get_axis(). Not sure what the
best way around this is.
On Thu, Mar 22, 2018 at 8:22 AM, tagcup<EMAIL_ADDRESS>wrote:

As I explained in #16937
https://github.com/godotengine/godot/issues/16937
linear indexing of Basis returns rows, expected columns (axis)
you should be expecting rows if M[i][j] should refer to M_{ij} on paper.
The first index is row, the second is column. Basis implementation got it
right. It is Transform2D which is transposed and awkward, which has M[j][i]
corresponding to M_{ij} on paper.
get_axis returns a column, not a row (because, to get the local
x-axis of the transformation, you do M.(1,0,0) for example which gives you
the first column, not row) so you shouldn't expect to be able to access it
like M[i], just use the accessor function.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14553#issuecomment-375345577,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z26EStxIVOne6gZbStyxp49I5Li1Aks5tg8GpgaJpZM4Q9VmP
.

@reduz Columns/rows are not swapped in Basis. See my explanation above

Columns/rows are swapped in Transform2D though

They are regarding to how GLSL and OpenGL uses them, which is also how
most people expect them to be.
On Thu, Mar 22, 2018 at 8:35 AM, tagcup<EMAIL_ADDRESS>wrote:

Columns/rows are swapped in Transform2D though
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14553#issuecomment-375350518,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z29tj8xYsw4BC5n-d3wVc9OhsFNQSks5tg8S3gaJpZM4Q9VmP
.

No they aren't. The old version was like that, if you remember, and led to many bugs, and I fixed them

Oh wait, you mean the OpenGL itself. Sorry. Yeah, could be.

@reduz you're totally right about it, OpenGL is for whatever reason column major: https://www.opengl.org/archives/resources/faq/technical/transformations.htm
I see where you're coming from now. Actually you did mention this back then I totally forgot. But they also admit this choice in OpenGL caused endless confusion among programmers, so I think it is best to avoid and stick with the current sensible row major implementation

The confusion comes from DirectX being row major. I prefer we stick to
column major simply for the fact we already are adopting all other OpenGL
conventions, such as coordinate system, clip space range, shading language,
etc.
On Thu, Mar 22, 2018 at 9:00 AM, tagcup<EMAIL_ADDRESS>wrote:

@reduz https://github.com/reduz you're totally right about it, OpenGL
is for whatever reason column major: https://www.opengl.org/
archives/resources/faq/technical/transformations.htm
I see where you're coming from now. Actually you did mention this back
then I totally forgot. But they also admit this choice in OpenGL caused
endless confusion among programmers, so I think it is best to avoid and
stick with the current sensible row major implementation
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14553#issuecomment-375359867,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2xcjH9r1naxPVuO5xEabzY0wepg3ks5tg8q3gaJpZM4Q9VmP
.

I'm guessing their reasoning for this awkward choice is because it made get_axis simpler, which they probably use a lot internally, and they're trying to rationalize that by saying if you transposed all the maths in the world it'll work OK so it's the same, just a matter of convention, you just need to flip the entire math literature upside down! ("Column-major versus row-major is purely a notational convention.  Note that post-multiplying with column-major matrices produces the same result as pre-multiplying with row-major matrices.")

When they made this choice, vector instruction sets were not common, so I
can understand it. DirectX swapped it because it could take better
advantage of SSE. On the hardware level (GPUs) it doesn't really matter.
In any case, will prefer to stay true to the OpenGL convetion, so bound
languages will be column major.
On Thu, Mar 22, 2018 at 9:09 AM, tagcup<EMAIL_ADDRESS>wrote:

I'm guessing their reasoning for this awkward choice is because it made
get_axis simpler, which they probably use a lot internally, and they're
trying to rationalize that by saying if you transposed all the maths in the
world it'll work OK so it's the same, just a matter of convention, you just
need to flip the entire math literature upside down! ("Column-major versus
row-major is purely a notational convention. Note that post-multiplying
with column-major matrices produces the same result as pre-multiplying with
row-major matrices.")
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14553#issuecomment-375362867,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z28Re0YLZ03Msv-cc32D-Ap5iuNpCks5tg8yigaJpZM4Q9VmP
.

Actually I found that OpenGL do both column major and row major. There's apparently a transpose flag just for that https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glUniform.xhtml

So I don't see any single argument for column major.
Not to mention bound languages don't interact with OpenGL

Yes, this is OpenGL4 though,  which we don't use and pretty much no one
uses.
Again, this will not change.
On Thu, Mar 22, 2018 at 9:14 AM, tagcup<EMAIL_ADDRESS>wrote:

So I don't see any single argument for column major.
Not to mention bound languages don't interact with OpenGL
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/14553#issuecomment-375364743,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2-7HivBw3KO6Alh3oxT0g2fYE67vks5tg83ugaJpZM4Q9VmP
.

No it's not OpenGL4. and in fact, you're using that function already in Godot and explicitly settings the transpose flag to false here.
Also the fact that you don't use something doesn't mean the entire world isn't using it

Whatever suit yourself then

This was incorrectly marked as fixed for C#. #26203 fixes it.

Thanks @neikeq.
@karroffel What was the conclusion in the end? This needs to be fixed in C++ bindings and not GDNative?

@akien-mga exactly, the GDNative C API doesn't actually expose the indexing, so it's only a binding issue

Alright, moved to GodotNativeTools/godot-cpp#241.


Message_fields[n].data_offset is unsigned, but offset can be negative

Steps to reproduce the issue

Create a message where data_offset is negative. (See below)
Try to pb_encode that message with 64bit pointers (e.g. in a unit test)

Encountered this with nanopb-<IP_ADDRESS>. I can try to repro with latest.
What happens?
Crash during encoding due to attempt to access an invalid address.
What should happen?
Not crash.

I suspect the negative offset is a result of the .proto not sorting by tag. The SensorReading struct generated by nanopb matches the order of the .proto. The SensorReading_fields is sorted by tag and pb_encode follows this order. As a result the offset in _fields needs to be negative, but data_offset is unsigned.
.proto
message SensorReading {
        int64 sample_timestamp = 38;
        float sample_a = 1;
        float sample_b = 2;
        ... (many more fields)
}

In the generated SensorReading_fields, the sample_timestamp entry with tag 38 has data_offset=4294967148.
When iterating through fields, we the following wraps around nicely and does the right thing if pointers are 32 bits but not if pointers are 64 bits.
iter->pData = (char*)iter->pData + prev_size + iter->pos->data_offset;

My use case is unit tests for software that ultimately targets a 32-bit device. So for me, switching the unit test build to be 32-bit is a quick fix and probably a good thing in general. In general though:

is this supposed to work for 64 bit builds?
is data_offset expected to be negative - if so, maybe a signed type would be better?

Yes, nanopb is automatically tested with architectures ranging from 8-bit to 64-bit, so it should work.
In nanopb before 0.4.x, the fields in the struct should be in the same order as the generated _fields array. Thus data_offset should be always positive. In 0.4.0 and newer absolute offsets are used so the field order is no longer critical, though it remains the same by default for optimal encoding / decoding speed.
When I run the <IP_ADDRESS> generator on your example, I get this struct:

typedef struct _SensorReading {
    float sample_a;
    float sample_b;
    int64_t sample_timestamp;
/* @@protoc_insertion_point(struct:SensorReading) */
} SensorReading;

and the _fields in .pb.c is in matching order.
Are you sure you are running an unmodified <IP_ADDRESS> version? Have you regenerated both .pb.h and .pb.c files to make sure they haven't been manually modified?

Thanks for the prompt response!
After more digging it appears you are right. There's an extra step in this build I was unaware of that reorders the fields in this struct. Looks like this strange behavior is due to our own meddling.
Not a nanopb issue.


Failed to get session cookie on server side.

Describe the bug
Actually, I have two projects that use the same stack as Hono and TanStack, and of course, Better Auth. The issue is that when I copied my auth files to another project, which also has the same .env, I was unable to get a session on the newer project. After debugging, I discovered that when I pass headers to getSession(), there is no Better Auth cookie present.
To Reproduce
import { Hono } from "hono"
import { handle } from "hono/vercel"
import { auth } from "@/lib/auth/auth";
import { Session } from "@/types/auth";
import fileRoutes from "@/features/files/server/route";

const app = new Hono<{
    Variables: {
        user: Session["user"] | null;
        session: Session["session"] | null
    }
}>().basePath("/api");

app.use("*", async (c, next) => {
    const session = await auth.api.getSession({ headers: c.req.raw.headers });
    console.log(c.req.raw.headers)  //no better auth cookie
    if (!session) {
        c.set("user", null);
        c.set("session", null);
        return next();
    }

    c.set("user", session.user);
    c.set("session", session.session);
    return next();
});

app.on(["POST", "GET"], "/auth/**", (c) => {
    return auth.handler(c.req.raw);
});

const routes = app.route("/file", fileRoutes);

export const GET = handle(app)
export const POST = handle(app)

export type AppType = typeof routes

@Bekacru

I'm having the same error using hono in cf workers.
const session = await auth.api.getSession({ headers: c.req.raw.headers });
Session returns null so it probably doesn't get the cookies on my custom routes.
Also, can see the cookie or the auth bearer token when I log the raw headers.
@0xPratikPatil did you find out any solutions to this?

Yes, I tried the same thing with different Hono versions and TanStack components. I also attempted to change the auth configurations, but it's still not working. By the way, I am facing this issue with the 0.7.5 better auth version. I have the exact same code in another project, and it's working there, but not in the newer one.

Where exactly? @Bekacru

on the client where you're sending the request from

Is this new implementation necessary? It works fine on my other projects without doing this on better-auth 0.7.5 and previous versions.

import { auth } from "@/lib/auth/auth";
import { headers } from "next/headers";

export const getSession = async () => {
  const [session] = await Promise.all([
    auth.api.getSession({
      headers: await headers(),
    }),
  ]).catch((e) => {
    throw e;
  });

  return session;
};

Turns out in my case it wasn't passing the cookies correctly because I was using Hono's RPC client where you do something like this:
const client = hc<AppType>('http://localhost:8787/') const res = await client.posts.$get()
Which basically is using a function similar to fetch under the hood, but I could not pass "credential": "include" in the requests.
So I had to basically write a custom fetch function like so:
export const client = hc<AppType>('http://localhost:8787/', {   fetch: (input: RequestInfo | URL, requestInit?: RequestInit) => {     return fetch(input, {       method: requestInit?.method ?? 'GET',       credentials: 'include',       headers: {         ...requestInit?.headers,       },       body: requestInit?.body ?? null,     })   }, })
IMHO it's an edge case, but if anyone is using Hono RPC with BetterAuth, this could help.

Me using the same in mine like this
import { hc } from "hono/client"
import { AppType } from "../app/api/[[...route]]/route"

export const client = hc<AppType>(process.env.NEXT_PUBLIC_APP_URL!)

Thanks for the solution. However, it's not working for me. I think there might be something wrong with my project still don’t know how it is working in other projects fine.

@0xPratikPatil Did you fix this?

Yes I have fixed it used same pkgs and version then it was working for me then


Suggestion: Multiple/short-long name support

Example: if my deadname was "Benjamin" commonly shortened to "ben" this would only work for one of the two, with "ben" being corrected, "Benjamin" would become "jamin"

Nicknames/multiple names should be in the next update


Increase allocated space for cmsgs

Increase allocated space for cmsgs to a large size of 1024. (Hoping very hard that we do not exceed stack limits.) This causes issues when the size of OPT_STATS is larger than expected

Known issues : #18008, #18004


sequential causes panic

A simple sequential pattern is causing panics:
language python

sequential {
  find_replace_imports(list=[
    [`langchain_community.llms.anthropic`, `Anthropic`, `langchain_anthropic`, `Anthropic`],
    [`langchain_community.callbacks.tracers`, `LangChainTracer`, `langchain_core.tracers`, `LangChainTracer`],
  ]),
  find_replace_imports(list=[
    [`langchain_community.llms.anthropic`, `Anthropic`, `langchain_anthropic`, `Anthropic`],
    [`langchain_community.callbacks.tracers`, `LangChainTracer`, `langchain_core.tracers`, `LangChainTracer`],
  ])
}

Vector::index: index out of bounds: 0 < 0
thread '<unnamed>' panicked at /Users/runner/work/rewriter/rewriter/vendor/gritql/crates/grit-pattern-matcher/src/pattern/state.rsthread ':<unnamed>42' panicked at :/Users/runner/work/rewriter/rewriter/vendor/gritql/crates/grit-pattern-matcher/src/pattern/state.rs43thread '::
Vector::index: index out of bounds: 0 < 0<unnamed>
thread '' panicked at <unnamed>' panicked at thread '/Users/runner/work/rewriter/rewriter/vendor/gritql/crates/grit-pattern-matcher/src/pattern/state.rs<unnamed>:' panicked at 42/Users/runner/work/rewriter/rewriter/vendor/gritql/crates/grit-pattern-matcher/src/pattern/state.rs/Users/runner/work/rewriter/rewriter/vendor/gritql/crates/grit-pattern-matcher/src/pattern/state.rs:4243::
43Vector::index: index out of bounds: 0 < 0:

@mistydemeo
Hello, could you please tell are there any alternative ways to use sequential pattern?


calling getDuration after calling the setUrl throw Exception

Hi there is a bug in Android when you call the " await setUrl " and exactly after it you call " await getDuration " it throws the Exception wich says that you are calling getDuration on the wrong state and I think it is because in the setUrl method you are calling the prepareAsync you should use the prepare method which waits until player state changes to the prepare so when you are calling the await setUrl it waits until the player state changed to the prepare

Don't call getDuration() until you get AudioPlayerState.PLAYING status. I do it this way:
_audioPlayerStateSubscription =
        audioPlayer.onPlayerStateChanged.listen((s) {
      if (s == AudioPlayerState.PLAYING) {
        audioPlayer.getDuration().then((d) {
          /// This is called only once when the recording starts playing.
          _duration = d;
        });
      } else if (s == AudioPlayerState.STOPPED) {
      } else if (s == AudioPlayerState.COMPLETED) {
      }
    }, onError: (_msg) {
    });

volgin suggestion is the correct way to do this, closing this.


Add Material theme style

Adds a material style based on the popular theme of the same name.
Closes #1661

Adjusted the line numbers and highlight colors a bit to be more faithful to the original theme.
Ran into the same issue as @sirex on #1659—where I had to set noclasses=True to preview the special formatting.

Ok, I think the class issue is fixed in #1701. I'll merge the theme for now, thanks for your contribution, and going forward nobody should have to suffer like you did! Thanks!