helm upgrade overrides manual edits in osm-config

Bug description:
helm upgrade will override user edits
This is an expected behavior of helm upgrade. What are some alternatives to address this behavior?
Affected area (please mark with X where applicable):

Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [ ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [ ]
CLI Tool                   [ ]
Metrics                    [ ]
Certificate Management     [ ]
Sidecar Injection          [ ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
CI System                  [ ]

Expected behavior:
Steps to reproduce the bug (as precisely as possible):
How was OSM installed?:
Anything else we need to know?:
Environment:

OSM version (use osm version):
Kubernetes version (use kubectl version):
Size of cluster (number of worker nodes in the cluster):
Others:

Helm upgrade will override user edits to the config map.
Helm upgrade doesn't work well with --reuse-values since it'll reuse the old imageTag and the controller won't be upgraded.

Helm upgrade will override user edits to the config map.
Helm upgrade doesn't work well with --reuse-values since it'll reuse the old imageTag and the controller won't be upgraded.

In our CLI, we could use --reuse-values and still override the new image tag by default so the images get updated.
--reuse-values also doesn't take the new chart's values.yaml into account at all, so if a required entry in values.yaml has been added, helm upgrade --reuse-values will error saying the required value is missing. It doesn't seem like Helm has a way to use (in increasing order of precedence):

The new chart's default values
The user-provided values for the old release
The user-provided values for the new release

We could certainly add something like that to our own CLI, but it would be nice if Helm could do that by itself.

In our CLI, we could use --reuse-values and still override the new image tag by default so the images get updated.
--reuse-values also doesn't take the new chart's values.yaml into account at all, so if a required entry in values.yaml has been added, helm upgrade --reuse-values will error saying the required value is missing. It doesn't seem like Helm has a way to use (in increasing order of precedence):

The new chart's default values
The user-provided values for the old release
The user-provided values for the new release

We could certainly add something like that to our own CLI, but it would be nice if Helm could do that by itself.

It seems to me that Helm owning and overwriting the osm-config ConfigMap is causing an array of issues. I see this coupling between Helm and the ConfigMap affects the design choices we make for OSM CLI, UX for toggling options, and of course it permeates through demos and docs for the project.
One such example is osm mesh upgrade --enable-egress=false.
A solution would be to remove the osm-config ConfigMap from Helm's purview. Helm won't create the ConfigMap, Helm won't overwrite the ConfigMap. OSM Controller can function without a ConfigMap. With this setup ConfigMap can be changed via OSM CLI and kubectl. The config map itself is the source of truth regardless of who modifies it. On upgrade it remains the same.
Question perhaps is - what happens on helm delete - how do we clean up all OSM artifacts? Who's responsible for the deletion of the ConfigMap. A simple way to perform a total OSM cleanup would be:
kubectl delete all -A --selector app=osm-controller

... as long as everything is labelled (https://github.com/openservicemesh/osm/issues/2925).
I propose we move ownership of the osm-config ConfigMap from Helm to OSM Controller. OSM Controller's responsibilities will be to a) ensuring osm-config exists, b) is always labeled with app=osm-controller (or whatever the common label is #2925) and c) create osm-config and fill with the current default values. The only reason for the ConfigMap to exist post-install is to add clarity on what current options are and where these can be changed (empathy). Operators don't have to know how to create osm-config when they need to toggle an option. OSM Controller has default values for all Configmap values - these can be populate in the newly created osm-config. If we get to this point we can change the semantic meaning of osm install --enable-permissive-traffic-policy to mean - use "permissive_traffic=true" as a default ConfigMap value. At that point I'd remove osm upgrade --enable-permissive, which narrows the purpose of osm upgrade to be exclusively upgrading from 0.5 to 0.8 (for example).

how do we clean up all OSM artifacts? Who's responsible for the deletion of the ConfigMap

We can consider setting this configmap object's ownerReference to the osm controller deployment object. BUT the issue there is a new install will wipe user configurations.
Another idea is to create a new CRD for osm configs and user configurations will be provided via a custom resource of this new CRD type. OSM will manage the lifecycle of osm resources, but not the user-created custom resource. Another benefit is watch/list of this CRD type will have smaller impact on the api server than the ConfigMap kind.

Same idea was suggested in https://github.com/openservicemesh/osm/issues/2738

Closing this GitHub issue since we are a) converting the ConfigMap to a CRD (##3039) and b) tracking upgradability in #3019


Figure pixellation

We noted high pixellation of some figures/images in the slide PDFs during the course. Noting this for the sequencing tech slides, assuming it also happens in other session slides (?)

Checked other slides, saw some pixellated figures, others looked fine, so it is not a systematic issue.


Week 6 Review Ticket Byron Lu

Score /5 - Graded by Evan Sanchez
GH Indi Page and Review Ticket for following
Test Score and Corrections
Create Task Github Page

[ ] Start review ticket with study plan and study reflection for week, due EOD Monday 4/18
Plan:
Monday - Create plan for the week
Tuesday - Proctored MC Quiz 1
Wednesday - Quiz Corrections for Quiz 1, study AP CB videos
Thursday - Proctored MC Quiz 2
Friday - Quiz Corrections for Quiz 1, study AP CB videos
[ ] Finals-Quiz1 score/50 and corrections
[ ] Finals-Quiz2 score/50 and corrections
[ ] Create Task code/runtime and 1 min video are reviewed by another person, you may request Teacher review as time permits
[ ] Review ticket with Crossover Score on Monday 4/25 in class

Score: 4.75/5

[x] Start review ticket with study plan and study reflection for week, due EOD Monday 4/18
1/1

[x] Finals-Quiz1 score/50 and corrections
1/1

[x] Finals-Quiz2 score/50 and corrections
1/1

[x] Create Task code/runtime and 1 min video are reviewed by another person, you may request Teacher review as time permits
.75/1
Video is only 30s long
Link to video

[x] Review ticket with Crossover Score on Monday 4/25 in class
1/1


1682master

@whoburg: file gas_male_rubber.py ready for review.
I still have some work to do.  (creating make file/md file)  But I finish the most important part which was updating the main model in gas_male_rubber to incorporate a mission class and account for cases with and without a fixed engine.  The answers are nearly the same as in the CDR with slight differences due to some upgrades.
NOTE: you have to checkout 82fixes in gpkit for this to run.

@whoburg ready for review/squashing
I just went through and tagged all the commits that I thought were relevant so you could squash them.  A lot of the earlier commits from Feb and March I wasn't even sure what was going on so I kind of just let them be...

@bqpd can I delete this branch now?

Yup! I'll do it right now

oops, looks like another PR depends on it?


Supporting DS1307

Hi, I'm really interested in your project. It's amazing.  My issue is I'm using Arduino Leonardo with a DS1307. Does your project support my case? Thanks in advance.

What is a DS1307? I2C RTC?
It's relatively easy to get random hardware working - take a look in https://github.com/sparkslabs/pyxie/blob/master/pyxie/profile/arduino.py
You need to define in there any function calls you use, the types, and any constants & their types you use.
Whether that's enough for your device I don't know. ( I don't have a DS1307)
Hope that's useful.

Closing - lack of response


update interpreter of add, multiply, maximum, and minimum w.r.t supporting bool type

Request description
Originated from https://github.com/openxla/stablehlo/pull/264#pullrequestreview-1131986897.
The spec of these ops are updated as part of https://github.com/openxla/stablehlo/pull/264. The issue is to update the interpreter.

Let's also include multiply here, since it's about to land.

The multiply op will be taken care of by https://github.com/openxla/stablehlo/pull/240


Dynamic variant display

Having analysed a gene list, it is obviously super cool to have them all appear at the left, but if the user selects a large gene list, they can be waiting for a while before having anything to look at.
When a gene analysis is completed, can any high priority variants appear at the left immediately rather than waiting till all genes are analysed?
If this was implemented, we would have to make it very clear that analysis was ongoing, and the available variant list is incomplete, but the user would then be able to start looking into those variants immediately.
As a follow on, it might then be nice to have a "viewed" status included next to each variant in the list at the left. If new variants get added as analysis proceeds, the variant order will shift, and the user would not want to forget which variants they have already looked at.

Not relevant anymore


MatBlazor not loaded properly when environment is set to anything but Development

MatBlazor fails to load when ASPNETCORE_ENVIRONMENT is anything else than Development. For example, change it to Local, Staging or Whatever, then it fails on page load with this error:
Microsoft.JSInterop.JSException: Could not find 'matBlazor' in 'window'.

Full stack trace:
Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer: Warning: Unhandled exception rendering component: Could not find 'matBlazor' in 'window'.
p/<@https://localhost:44322/_framework/blazor.server.js:8:30748
p@https://localhost:44322/_framework/blazor.server.js:8:30709
beginInvokeJSFromDotNet/r<@https://localhost:44322/_framework/blazor.server.js:8:31416
beginInvokeJSFromDotNet@https://localhost:44322/_framework/blazor.server.js:8:31390
C</e.prototype.invokeClientMethod/<@https://localhost:44322/_framework/blazor.server.js:1:19202
C</e.prototype.invokeClientMethod@https://localhost:44322/_framework/blazor.server.js:1:19173
C</e.prototype.processIncomingData@https://localhost:44322/_framework/blazor.server.js:1:17165
e/this.connection.onreceive@https://localhost:44322/_framework/blazor.server.js:1:10276
A</e.prototype.connect/</</</i.onmessage@https://localhost:44322/_framework/blazor.server.js:1:38091

Microsoft.JSInterop.JSException: Could not find 'matBlazor' in 'window'.
p/<@https://localhost:44322/_framework/blazor.server.js:8:30748
p@https://localhost:44322/_framework/blazor.server.js:8:30709
beginInvokeJSFromDotNet/r<@https://localhost:44322/_framework/blazor.server.js:8:31416
beginInvokeJSFromDotNet@https://localhost:44322/_framework/blazor.server.js:8:31390
C</e.prototype.invokeClientMethod/<@https://localhost:44322/_framework/blazor.server.js:1:19202
C</e.prototype.invokeClientMethod@https://localhost:44322/_framework/blazor.server.js:1:19173
C</e.prototype.processIncomingData@https://localhost:44322/_framework/blazor.server.js:1:17165
e/this.connection.onreceive@https://localhost:44322/_framework/blazor.server.js:1:10276
A</e.prototype.connect/</</</i.onmessage@https://localhost:44322/_framework/blazor.server.js:1:38091

   at Microsoft.JSInterop.JSRuntime.InvokeWithDefaultCancellation[T](String identifier, Object[] args)
   at MatBlazor.BaseMatComponent.JsInvokeAsync[T](String code, Object[] args)
   at MatBlazor.BaseMatButton.OnFirstAfterRenderAsync()
   at MatBlazor.BaseMatComponent.OnAfterRenderAsync(Boolean firstRender)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

Steps to reproduce:

Create a new Blazor application, using "Server" template
Add MatBlazor dependencies
An a Mat component somewhere, for example to Index.razor
Check application is loading correctly and the component is displayed properly
Open launchSettings.json and change the value of ASPNETCORE_ENVIRONMENT to anything than Development.

At this moment:

page will fail to load with the error cited above.
Sources loaded in browser doesn't contain the matBlazor.js file:

There's even simpler way to reproduce the problem:

clone the repo
Open launchSettings.json of MatBlazor.Demo.ServerApp project
Change the value of ASPNETCORE_ENVIRONMENT value to Anything
Run MatBlazor.Demo.ServerApp

It's not MatBlazor problem, It releted for all Blazor projects. Maybe you can solve this in https://github.com/dotnet/aspnetcore

Thanks for confirming my suspicion!
I've seen that recently released .NET Core SDK 3.1.2 has some fixes related to static files. Will try to give it a try to see if it solves the problem

Well, after digging into it, as it often happens, it's not a bug but a feature, related to loading of static assets. Consume content from a referenced RCL describes the correct way of referencing static assets. To get the resources loaded properly in environments other than Development one has to explicitly tell that to web host builder with UseStaticWebAssets
    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStaticWebAssets();
                webBuilder.UseStartup<Startup>();
            });

And it it works.
A little caution in case if your web host builder is located in an assembly that is not the "executing assembly", it will still not work. ASP.NET Core likes the configuration to be in the startup assembly. I've got through FW's code to see why that happens but have no idea if that's a bug or a badly documented feature...

@SamProf you might want also to close #423 and point it to this.

can you please consider adding this to the MatBlazor home page...just spent 2 hours trying to find out why MatBlazor wasn't loading in my app :(

Just spent 2 or 3 hours on this as well. Worked in Dev but not Production...
Weird thing is I already have another app which worked without making this change, only different is that on is net core 3.1.
Very glad I found this post!

Just spent 2 or 3 hours on this as well. Worked in Dev but not Production...
Weird thing is I already have another app which worked without making this change, only different is that on is net core 3.1.
Very glad I found this post!


stop clone and own for actionproxy

removed actionproxy.py, now taking from here https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/core/actionProxy/actionproxy.py
remove invoke.py now you can use the one from main repo here https://github.com/apache/incubator-openwhisk/blob/master/actionRuntimes/actionProxy/invoke.py

thanks for doing that.
My goal in life is to make you happy jefe


Validation of UCUM units

The CQL Release 1.2 standard allows for the use of UCUM units when they are need for specifying certain criteria:
In addition, CQL supports any valid Unified Code for Units of Measure (UCUM) unit code using the string representation of the UCUM code immediately following the numeric value, as shown in the first example in this section. UCUM codes can be specified in the case-sensitive (c/s) or case-insenstive form (c/i).

These units are not currently validated within the CQL-to-ELM translator. The inaccurate spelling of a UCUM code can cause issues within an execution environment. Based on conversations with @brynrhodes, we are creating a ticket to get this validation added for authoring purposes, so users of the MAT or other authoring environments that use CQL-to-ELM translator can know when the provide incorrectly spelled codes.

This feature is included in release 1.2.19.


Flashing ek_ra8m1/mck_ra8t1 may sometimes permamently change reserved part OFS area at 0300A270 preventing it from correctly flashing ever again

Describe the bug

Upon flashing zephyr binary OFS flash part of flash area changes at address 0x300A270 value at first to 0x00_00_00_ff, preventing from passing failing validation after flashing.
According to specification
PBPS_SEC: 0x0300_A260, 0x0300_A264, 0x0300_A268, 0x0300_A26C which is factory shipped with with value 0xFF
One is able to block flash writes by fusing bits of this area to '0'
Location 0x0300_A270 is reserved and according to specification should be written with values '0xFF'
For some unknown to me reason flashing zephyr binaries may result in fusing those bits also to 0
After that it is impossible to flash any binary with verification using JLink.
Currently zephyr GAP fills this area with correct values according to specification 'FF'.
Linker script puts correct values in .option_setting_s at specific locations.
Reserved locations in between are correctly filled with 0xff yet sometimes this area becomes fused first to 0x00_00_00_FF
Issue exhibited on two board mck_ra8t1 and later on ek_ra8m1
To Reproduce
Unknown?

Expected behavior
Area at 0x0300_A270:0x300_A273 is never written to or always written with value '0xFF' to prevent board from ever being flashed by usual means.

Impact
Board won't pass validation during flashing and is impossible to correctly flash using method used by zephyr.

Logs and console output

Incorrect value in flash that can't be reverted back to 0xFF_FF_FF_FF:
rfp-cli -d RA -tool jlink -if swd -rv 0300A270 4
Renesas Flash Programmer CLI V1.11
Module Version: V<IP_ADDRESS>

Connecting the tool (J-Link)
      J-Link Firmware: J-Link OB-RA4M2 compiled Oct  9 2024 11:01:47
Tool: J-Link (SEGGER J-Link (unknown))
Interface: SWD

Connecting the target device
Speed: 1,500,000 Hz
Connected to R7FA8M1AHECBD

Reading data from the device
  [Config Area 2]      0300A270 - 0300A273

Address  | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
---------+------------------------------------------------
0300A270 | 00 00 00 FF

Disconnecting the tool

Operation successful

Zephyr correct ELF.
eu-readelf -x .option_setting_s /home/prak/DEV/ra8-head/zephyr/build/zephyr/zephyr.elf
Hex dump of section [22] '.option_setting_s', 208 bytes at offset 0x6290:
  0x00000000 fffffffd ffffffff ffffffff ffffffff ................
  0x00000010 ffffffff ffffffff ffffffff ffffffff ................
  0x00000020 ffffffff ffffffff ffffffff ffffffff ................
  0x00000030 ffffffff ffffffff ffffffff ffffffff ................
  0x00000040 ffffffff ffffffff ffffffff ffffffff ................
  0x00000050 ffffffff ffffffff ffffffff ffffffff ................
  0x00000060 ffffffff ffffffff ffffffff ffffffff ................
  0x00000070 ffffffff ffffffff ffffffff ffffffff ................
  0x00000080 00000000 ffffffff ffffffff ffffffff ................
  0x00000090 ffffffff ffffffff ffffffff ffffffff ................
  0x000000a0 ffffffff ffffffff ffffffff ffffffff ................
  0x000000b0 ffffffff ffffffff ffffffff ffffffff ................
  0x000000c0 ffffffff ffffffff ffffffff ffffffff ................

Environment (please complete the following information):

OS: Linux
Toolchain Zephyr SDK
SHA: f786ecc075132297fc409bb1d89e3300de1a95db

Additional context
The same issue was observed before with mck_ra8t1 and exactly same value was written there.
Please see an issue: #83010 where I described when I hit this exact problem first time.
I have too little exposure if this issue is only related to zephyr since I have too little exposure to this MCU family.
Although it did happen to me with zephyr twice so far and in my eyes has pretty severe consequences.
I have raised this issue asking for help on Renesas forum asking for help few days before I knew little more, but it is pending still moderation. Thus for now I have no input from board manufacturer.

Can't confirm that it is an binary that caused it, issue is observable next time flashing with different binary.
This part of hex also looks fine to my eyes, dunno format but it looks pretty simple and makes sense.
Relevant part of  zephyr.hex:
:020000040300F7
:10A10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:04A11000FFFFFFFF4F
:04A13400FFFFFFFF2B
:10A20000FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF60
:10A21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:10A22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:10A23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:10A24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:10A25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:10A26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:10A27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:10A2800000000000FFFFFFFFFFFFFFFFFFFFFFFFDA
:10A29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:10A2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:10A2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:10A2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:040000050200119D47
:00000001FF

hi @piotrrak , have you flashed these board before using e2studio?

@duynguyenxa
That would be true for ra8m1 (have two of those and tested those ~Feb 2024 with e2studio once I got them)
One of them is affected, don't dare to use second now (keep it as spare).
I was sometimes using them with e2 for some AI inference with MVE before I got access to cortex-m55.
I've also used them zephyr with custom patches (eg. my own clock driver) without hal_renesas since it was not yet upstreamed.
I am bit worried to use those now, because if it did reproduce for example on PBPS_SEC: 0x0300_A260 the boards would be pretty much useless for me as I understand it right now at least.
And that would be no in the case mdk-ra8t1.
I used it only to verify https://github.com/zephyrproject-rtos/zephyr/issues/83010 and I will be needing for 6-phase motor control algorithm development project.
However after it happened on ra8t1 I've tried minimal e2studio template on ra8t1 and using it to restore flash tool on it without success.
Did it while trying figured out what's really going (why I can't flash it anymore) if it is only zephyr binaries.
I am getting spare mdk-ra8t1 (just a board), one has become available on DigiKey and is already in shipping. With bit of luck I should have it soonish.
Would you mind to tell me why do you ask?

@piotrrak , could you try to use the "Renesas Device partition manager" on the EKRA8M1 and reset the board back to factory state then flash the Zephyr image.

The e2studio when use for flashing will automatically calculate the memory boundaries of the image then pass them e2-server-gdb program which then sets those settings on the device TZ IDAU, this will prevent flashing other image that has boundary outside of the previous image flash using e2studio, you can check this for reference: https://community.renesas.com/mcu-mpu/ra/f/forum/18083/tz-idau-memory-boundaries-calculation/59655

@duynguyenxa I can't do that today but I'll try that tomorrow.
I've attempted to do just that with RA8T1 before without success, but maybe I've messed up.
Anyways will read up and I will do check that.
Please do note that after it happens, command:
rfp-cli -d RA -tool jlink -if swd -write32 0300A270 ffffffff

Ie. flash write this location won't revert bits that are already 0 to value 1
This flash location seem to act as if it were fuse bits from my limited observations.
After issuing this command the value of 0300A270 won't change for me;
In C I would model behavior I did observe as:
void write_0300_A270(uint32_t new_value32)
{
  uint32_t prev_flash_value = *((uint32_t*)0x300A270);
  *((uint32_t*)0x300A270) = prev_flash_value & new_value32;
}

Also by mistake I've bought RA6T2 not RA8T1 in crazy pre-xmas euphoria (was happy that it became available).


chore: enable typescript 4.3 noImplicitOverride option

Enable typescript 4.3 feature noImplicitOverride to improve code quality.
Besides that some other dev-dependencies are updated.

shouldn't all noop implementation use override keyword too ?

The noop classes do not override anything from a base class - they implement an interface. override in typescript seems to be slightly different then in java or C++.


When i open the project it cannot load the scripts

Every script attached to a Game Object says that has a compile error and that cannot be loaded

Which course and which version of Unity are you using?


[WIP] Implement EVM environmental opcodes

What was wrong?
Environment related opcodes weren't implemented.
Related to Issue #254
How was it fixed?
Following frontier yellowpaper
Cute Animal Picture

This should be reviewed post merging of #248

Thanks for your review @lightclient @SamWilsn . I'll be addressing these comments post merging of #248, as this PR also involves the commit mentioned in #248 . Thank you.

Codecov Report

Merging #255 (7013af3) into master (3aae4e4) will decrease coverage by 2.00%.
The diff coverage is 69.91%.

@@            Coverage Diff             @@
##           master     #255      +/-   ##
==========================================
- Coverage   95.85%   93.85%   -2.01%
==========================================
  Files          23       24       +1
  Lines        1352     1465     +113
==========================================
+ Hits         1296     1375      +79
- Misses         56       90      +34

Flag
Coverage Δ

unittests
93.85% <69.91%> (-2.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...c/ethereum/frontier/vm/instructions/environment.py
64.94% <64.94%> (ø)

src/ethereum/frontier/vm/gas.py
100.00% <100.00%> (ø)

src/ethereum/frontier/vm/instructions/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

@lightclient I believe I have addressed all your comments mentioned earlier. That said, given you would be busy in ethcc this week, we'll be merging this PR. Please do take a look later when free. Thanks!
@SamWilsn can you please merge this PR? Thanks.


Auto-generate package tool

Codecov Report

Merging #39 (0478c3e) into main (b0ea7f9) will decrease coverage by 0.43%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #39      +/-   ##
==========================================
- Coverage   43.37%   42.94%   -0.44%
==========================================
  Files          40       39       -1
  Lines         664      666       +2
  Branches      190      207      +17
==========================================
- Hits          288      286       -2
- Misses        376      380       +4

Impacted Files
Coverage Δ

packages/react-form/src/utils/helperTypes.ts
0.00% <ø> (ø)

packages/react-table/src/util.tsx
0.00% <0.00%> (ø)

packages/react-table/src/useSearch.ts
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


CE inactive time is not less than 4us

I added a countdown to ensure that there is at least 4us between two transmissions (CE low level)

Dear @apeng2012, thanks for pull request.
When i was working with this library i didn't think it might be important to wait at least some cycles to ensure CE is low. I merged your branch and i had also update example code with new version of library. I don't know quite  well how works fugit but i successfully implemented Delay trait. I also noticed that last example version was broken due to LSB first not supported by official stm32f1xx-hal crate. So i decided to add the newest version 'localy' in example directory and build the code from this point.
Thanks for contribution this crate has some gaps because i wrote this for learning purposes. For example structures for time and date could be replaced with some features from external crates which have time and date traits.

The minimum value in the datasheet is 4us, but it doesn’t work for my board, I use 10us
Maybe the compatible chip I use
or
The read operation in the datasheet is one less pulse than the standard SPI


Updated NLogGlobalVariablesContext implementation for NLog41

From version 4.1 NLog supports object variables (not just strings) from the Global Variable Context / {gdc}.
I've updated the NLogGlobalVariablesContext implementation in the NLog41, so it supports the change.
http://nlog-project.org/2015/08/31/nlog-4-1-0-is-now-available.html
https://github.com/NLog/NLog/wiki/Gdc-Layout-Renderer

Thanks for the contribution!

:+1:

Cool! Will this be incorporated into an updated nuget package for Common.Logging.NLog41?

Yes, probably later this weekend or early next week we'll be publishing a 3.4 update to NuGet for all adapter packages (this one included).

Perfect. Thanks!


Certificate Change - Just for API/Dash internal CA Signed

Ive been looking into this, but I have to admit Im a bit confused on getting to my end goal on this one.
All documentation around k8s (regardless of vendor) deals with self signed certificates for all components - or they document adding your own private root CA's for signing.   Neither of these will accomplish what I need for my corporate installations outside of my lab.
What I need to achieve is, at the very least, an internally signed certificate for anything externally facing (Non internal cluster communication) - So the API/Dashboard URL needs to be signed by my internal CA, which I need to request through a standard certificate request, which will return my public/private key.
I know where to change the certificate in the mater node for the API - but what confuses me is - All examples I find, which make sense, are based on a SANS certificate that has the desired Signed URL (ie: kube.xxxxx.xxxx - but they also include the standard kubernetes.cluster and other names for internal communication) - My PKI team will never sign a cert with that information in it - they will allow me to add the IPs and the official "internal" name - but they will not allow names that are not "owned" internally by the CA.
Do I have any options here?   If I run with a cert that doesnt have the internal kube domain name, but I do have the IP's, I assume I will have issues with internal functions?  (Sanity check here).
The only work around I have come up with is to use an internal cert on the load balanced URL on the F5 - Im not sure how security will look at it, thats why I am trying to verify options before I get to that point...
Thanks for any suggestions.

Do I have any options here? If I run with a cert that doesnt have the internal kube domain name, but I do have the IP's, I assume I will have issues with internal functions? (Sanity check here).

You will run into issues as pods that require access to the API server usually connect using the kubernetes service. If your cert doesn't have that SAN, the client will complain.

Thanks Alex - I was thinking similar - so the confirmation helps, something I'll need to address before our prod install

Closing as this isn't actionable as is. Feel free to reopen if you disagree.


externalbrowser Authenticator ignores Snowflake password

On this line, we're returning the ExternalBrowserCredential instance, before we fetch the password on this line. We need to fetch the password and pass it into the ExternalBrowserCredential constructor.

I take it back. This is still a bug, but the problem is that externalbrowser references the password at all. Closed by https://github.com/Snowflake-Labs/schemachange/pull/292


Planned features for ModTweaker2 0.9.1

Just to keep track of all changes, should be easier to write changelogs after release.
Forestry

[x] Update Centrifuge handlers for Forestry 3.6.0+ (4126c647922e2e4a7318abfd725fc80621f61d90)

Mekanism:

[x] Support for Energized Smelter (231f25eec4e54b798210132c78baed9b83df2dd2)
[x] Support for Solar Evaporation Plant (231f25eec4e54b798210132c78baed9b83df2dd2)
[x] Support for Solar Neutron Activator (231f25eec4e54b798210132c78baed9b83df2dd2)
[ ] Support for Rotary Condensentrator

Thaumcraft:

[ ] Add aspect bracket handler (e.g. <aspect:Vitreus> * 5)

Common:

[ ] Change handlers with chances to use WeightedItemStack

Bugfixes:

[x] ModTweaker 0.9.0 is not working properly if Botania is not loaded (a69971aca581bfa2a786d9f382404e97c694efc2)
[x] Handler for Thermionic Fabricator throws NullPointerException (#188, 79021f05e5bb20bba2e456744eef2f2abff41731)
[x] When using Thaumcraft handlers an error message will be thrown (#194, 269abc5750341687569e0f4ebd0f234bd6d1a047)
[ ] The handler for removing Mekanism Metallurgic Infuser recipes can't be invoked (#196)

Should Botania flowers get a custom bracket handler as well? :)

... I implemented that, remember? you begged me to swap back to strings...

Uhhh really? Mhm.

I'll release a new version with the bugfixes today, the features for thaumcraft aspect handler and WeightedItemStack have to wait one more release.


figure out how to test the offline command

We need to figure out how to test all the commands. deploy and configure might be harder, because they interact with servers; but offline at least should be doable, so let's start there.

We could use the test suite I built for https://github.com/marco-c/web-push (which currently only supports Linux, but should be easily extensible to support other OSes as well).

The sw-precache tests are really basic, they only test whether the generated code is different or the same when using different/the same config options.

I'll add some basic unit tests for now.


Windows 10 support?

Hi,
I would like to test rmw_ecal in Windows 10(ROS2 Foxy). I have installed eCAL 5.8.12 with binary installation.
But build failed when compiling rmw_ecal_shared_cpp.
Followings are log messages(stdout.txt) in 'log' folder :
C:\eCAL\include\ecal/pb/monitoring.pb.h(17,1): fatal error C1189: #error:  This file was generated by an older version of protoc which is ( C:\opt\workspace\src\rmw_ecal-1.0.0\rmw_ecal_shared_cpp\src\get_node_info_and_types.cpp) [C:\opt\workspace\build\rmw_ecal_shared_cpp\rmw_ecal_shared_cpp.vcxproj]
C:\eCAL\include\ecal/pb/monitoring.pb.h(17,1): fatal error C1189: #error:  This file was generated by an older version of protoc which is ( C:\opt\workspace\src\rmw_ecal-1.0.0\rmw_ecal_shared_cpp\src\get_service_names_and_types.cpp) [C:\opt\workspace\build\rmw_ecal_shared_cpp\rmw_ecal_shared_cpp.vcxproj]
C:\eCAL\include\ecal/pb/monitoring.pb.h(17,1): fatal error C1189: #error:  This file was generated by an older version of protoc which is ( C:\opt\workspace\src\rmw_ecal-1.0.0\rmw_ecal_shared_cpp\src\get_topic_names_and_types.cpp) [C:\opt\workspace\build\rmw_ecal_shared_cpp\rmw_ecal_shared_cpp.vcxproj]
C:\eCAL\include\ecal/pb/monitoring.pb.h(17,1): fatal error C1189: #error:  This file was generated by an older version of protoc which is ( C:\opt\workspace\src\rmw_ecal-1.0.0\rmw_ecal_shared_cpp\src\rmw.cpp) [C:\opt\workspace\build\rmw_ecal_shared_cpp\rmw_ecal_shared_cpp.vcxproj]

Hi james-yoo,
eCAL 5.8.12 for Windows ships with protobuf 3.11.4 (both protoc and libprotobuf). The .pb.h files we ship with eCAL are created with that exact verison. Somehow however your system seems to find another libprotobuf version that is newer than the one from eCAL.
CMake should at some point tell you about the libprotobuf version that it found:

Did it find the protobuf from eCAL?

Hi @FlorianReimold,
Thanks for your feedback. As you pointed out, this issue caused by version mismatch.
First, I checked the protoc version as follow(it shows version 3.11.4):
$ protoc --version
libprotoc 3.11.4

However, protobuf version changed after activating the ROS2 environment.
(As you know, ROS2 environment should be activated before compile the rmw_ecal packages)
$ call c:\opt\ros\foxy\x64\setup.bat
$ protoc --version
libprotoc 3.12.3

Is it a problem regarding of the ROS2 environment setup? I installed ROS2 Foxy on Windows 10 as guided below:
https://ms-iot.github.io/ROSOnWindows/GettingStarted/SetupRos2.html

Hm, looks like ROS2 for Windows ships its own protobuf version, just the way we do with eCAL. When using ROS and eCAL at the same time however you get conflicting versions. The file (monitoring.pb.h) your system is complaining about is an autogenerated file that is installed by eCAL. I have to admit that this is probably wasn't the greatest design choice.
A quick solution that should work perfectly is to adapt either one to the protobuf version of the other. As I don't know how to compile a ROS setup, I have compiled eCAL 5.8.12 against protobuf 3.12.3 and attached the installer for you to test. For the future I will check how to avoid exposing the exact protobuf dependency in eCAL, but that topic will take some time.
https://drive.google.com/file/d/1YVQTANcpYpzWeG0VZ5ZGDoiggvfH0VFE/view?usp=sharing
Pass: 1234 (Apparently google drive checks for exe files in zips and prevents sharing)
On Ubuntu neither ROS2 nor eCAL ships its own protobuf, as it is already present in the apt repository. That's why everything works fine on Ubuntu.

Hi @FlorianReimold ,
Thanks for the quick response! I will try a test binary that you provided.

Can you tell me if this solves your problem?

Hi @FlorianReimold,
After uninstall eCAL 5.8.12(protobuf 3.11.4 version), I installed binary which you provided and reboot.
Following is the step after reboot (rmw_ecal package is located c:\opt\workspace\src).
$ call c:\opt\ros\foxy\x64\setup.bat
$ protoc --version
libprotoc 3.12.3
$ cd c:\opt\workspace
$ colcon build

Unfortunately, rmw_ecal_shared_cpp still can not compile.
I attached build log which is generated in 'log' folder of workspace as below:
streams.log

Well, at least it went through the cmake step ;)
Which Visual Studio version are you using? I accidentally built eCAL with VS 2019 (v142 toolset). The official eCAL binaries we provide for download are Visual Studio 2015 (v140 toolset).

Hi @FlorianReimold ,
I am using Visual Studio 2019 and CMake version is 3.18

Hi @FlorianReimold ,
I am using Visual Studio 2019 and CMake 3.18 version.

Hm, strange, OK, can you try again with a build created by our CI?
https://github.com/continental/ecal/actions/runs/1049309961
That one is build with the v140 toolset and should therefore provide better compatibility. And please clean your build / cmake directory before trying again.

Unfortunately, new binary with v140 toolset is not working.
Build log shows same error as I attached before.
To avoid the protobuf dependency, I think either eCAL or ROS2 should build from source.

Yea, exactly. I talked to a colleague yesterday. And even though we think that one could theoretically hide protobuf well enough to make this work, we came to the conclusion that the proper way is to build eCAL with the ROS2 toolchain. So you would get all the same libraries that ROS uses.

Has this been solved? Can i close it?

I discussed with @FlorianReimold that it might be worthwile to add ecal as a submodule to be build as part of ecal_rmw (only the core, of course). In general, it should be possible to set the appropriate parameters from the top-level CMake files.

Yeah, that's seems like a good idea to me aswell, i'll create new issue for that.

I've created issue for eCAL submodule and i'm closing this one.


Reduce unnecessary sleep after API calls

Right now ApiAbstract._iterate calls time.sleep before yielding the results of its first API call. This slows down operations that only retrieve a single record (or a single page of results) and it seems unnecessary unless we're about to request a second page of results.
This moves the time.sleep call to the end of the loop, so it only happens if we need to fetch a second page.

thanks @mesozoic


Dropdown problem

Hello. I have a problem with dropdown. It does not display correctly. My code on the screns

And browser devTools:

`
import {Dropdown} from 'react-toolbox/lib/dropdown';
let countries = [
{ value: 'EN-gb', label: asd },
{ value: 'ES-es', label: 'Spain'},
{ value: 'TH-th', label: 'Thailand', disabled: true },
{ value: 'EN-en', label: 'USA'}
];
<Dropdown
source={countries}
onChange={(e)=>console.log(e)}
/>`

In this line:  value: 'EN-gb', label: asd Have you tried to close the span element?
Example:
 value: 'EN-gb', label: asd

Hello, I have the same problem don't understand why, if you can help me!

Your elements doesn't have any css class added, check your Webpack configuration, you have an example here in react-toolbox-example


ProcessReportData functon in CU8800 not available for CLOUD

Can you please make ProcessReportData ( CU 8800 ) available for cloud ?
We are trying to extend report selection to accommodate our custom report.
I tried to use the ProcessReportData function in CustomReportLayout, but got compiler error that this function cannot be used for cloud, i couldnt find any similar function for CLOUD, can you suggest alternative function or let me know if this will be made available in the future release?
"error AL0296: The type or method 'ProcessReportData' cannot be used for 'Extension' development."

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Can't provide AWSCredentials

Hi,
I am having a weird issue which I am pretty sure I am doing something wrong because it is such a simple thing.
I am simply trying to download a file from s3 using AWSTransferManager. The file is protected so credentials has to be used.
I am creating the S3Client in the following way:
Aws::Client::ClientConfiguration config;
config.connectTimeoutMs = 15000;
config.requestTimeoutMs = 15000;
s3Client = new Aws::S3::S3Client(Aws::Auth::AWSCredentials("XXXXXXXXXXXXXXXXX", "YYYYYYYYYYYYYYYYYYYYY"), config);

Then I just create my TransferManager and all that and try to download file by giving its bucket name and key name. Then in the errorCallback that I set in Aws::Transfer::TransferManagerConfiguration  I get the following message:
s3Erros.GetMessage() << " - " << s3Erros.GetErrorType()

prints out
No response body. Response code: 400 - 100

When I make the file public and provide empty credentials then the download works fine. But I can't seem to be able pass in credentials in the right way. I went over all the issues and documentation and I think I am using the api in the right way but it does not work for me. Any help is appreciated.

Here's what I use which works just fine:
ClientConfiguration s3_cfg;
AWSCredentials credentials("foo", "bar");
m_s3 = MakeShared("s3bkup", credentials, s3_cfg);

Yeah I am doing similar thing and it does not work for me. Here is what I do. Could you please review the code below and see if it has any issues?

    Aws::Client::ClientConfiguration config;
    config.connectTimeoutMs = 15000;
    config.requestTimeoutMs = 15000;
    auto s3Client = Aws::MakeShared<Aws::S3::S3Client>("AwsHelper", Aws::Auth::AWSCredentials("foo", "bar"), config);

    Aws::Transfer::TransferManagerConfiguration conf;
    conf.s3Client = s3Client;
    conf.maxParallelTransfers = QThread::idealThreadCount();
    conf.transferStatusUpdatedCallback = [&](const Aws::Transfer::TransferManager* transferManager_, const Aws::Transfer::TransferHandle& transferHandle_) {
        transferStatusUpdatedCallback(transferManager_, transferHandle_);
    };
    conf.errorCallback = [&](const Aws::Transfer::TransferManager* transferManager_, const Aws::Transfer::TransferHandle& transferHandle_, const Aws::Client::AWSError<Aws::S3::S3Errors>& s3Erros) {
        errorCallback(transferManager_, transferHandle_, s3Erros);
    };

    transferManager = Aws::Transfer::TransferManager::Create(conf);

Your code looks fine. Make sure you're using the right access/secret keys and that the IAM role that those credentials belong to have permissions to access your bucket/file.

I am pretty sure the keys and the role are fine. Because when I use boto3 it works fine. Actually, I am porting my code from python to cpp so there is no issue there.
The only IAM role the keys have is GetObject. So even GetObjectList won't work. Does TransferManager::DownloadFile try to use any other role other than GetObject? Because I remember when I was doing boto3, it was using GetObjectList to get the list of keys in the bucket. I had to pass in a flag to disable that.

It might be helpful to set your logging verbosity to Trace and paste the output here.
Look at the unit tests for an example on how to do that.

So I set the logging to Trace and here is the logs
[INFO] 2017-08-22 17:03:09 Aws_Init_Cleanup [3824] Initiate AWS SDK for C++ with Version:1.1.30
[INFO] 2017-08-22 17:03:38 Aws_Init_Cleanup [4052] Initiate AWS SDK for C++ with Version:1.1.30
[INFO] 2017-08-22 17:03:38 WinHttpSyncHttpClient [4052] Creating http client with user agent aws-sdk-cpp/1.1.30 Windows/10.0.15063.0 AMD64 with max connections 25 request timeout 15000,and connect timeout 15000
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [4052] API handle 00000240D759E220
[INFO] 2017-08-22 17:03:38 ConnectionPoolMgr [4052] Creating connection pool mgr with handle 00000240D759E220, and max connections per host 25, request timeout 15000 ms, and connect timeout in 15000 ms.
[INFO] 2017-08-22 17:03:38 WinHttpSyncHttpClient [4052] Creating http client with user agent aws-sdk-cpp/1.1.30 Windows/10.0.15063.0 AMD64 with max connections 25 request timeout 3000,and connect timeout 1000
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [4052] API handle 00000240D759E440
[INFO] 2017-08-22 17:03:38 ConnectionPoolMgr [4052] Creating connection pool mgr with handle 00000240D759E440, and max connections per host 25, request timeout 3000 ms, and connect timeout in 1000 ms.
[INFO] 2017-08-22 17:03:38 DefaultPCMOutputDriverFactory [4052] Adding WaveOut Audio Driver.
[TRACE] 2017-08-22 17:03:38 AWSClient [10728] No content body, content-length headers
[DEBUG] 2017-08-22 17:03:38 AWSAuthV4Signer [10728] Using cached empty string sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 because payload is empty.

[DEBUG] 2017-08-22 17:03:38 WinHttpConnectionPoolMgr [10728] Pool has no available existing connections for endpoint, attempting to grow pool.
[INFO] 2017-08-22 17:03:38 WinHttpConnectionPoolMgr [10728] Connection now available, continuing.
[DEBUG] 2017-08-22 17:03:38 WinHttpConnectionPoolMgr [10728] Returning connection handle 00000240D75D3050
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] Acquired connection 00000240D75D3050
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] AllocateWindowsHttpRequest returned handle 000002411E666C60
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] with headers:
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] authorization: AWS4-HMAC-SHA256 Credential=AKIAJY2LINRAF25KYDAQ/20170822/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=18faa97eca121af1a45d9f0f8fa2b9f3aa44d9af341fa87b9c7cbc98296a26bd

content-type: application/xml

host: xxxxxxxxxx.s3.amazonaws.com

user-agent: aws-sdk-cpp/1.1.30 Windows/10.0.15063.0 AMD64

x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

x-amz-date: 20170822T210338Z

[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] Received response code 400
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] Received content type application/xml
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] Received headers:
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] HTTP/1.1 400 Bad Request

Connection: close

Date: Tue, 22 Aug 2017 21:03:36 GMT

Transfer-Encoding: chunked

Content-Type: application/xml

Server: AmazonS3

x-amz-request-id: B2739997B63228B8

x-amz-id-2: hevQlJZYvxbp5PaviTUmgJ2qarT/hwqNfQHPpYQ28NeaFPYx4/wr0t4rDa7dLuOT9ZH+PJmmueI=

[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] Closing http request handle 000002411E666C60
[DEBUG] 2017-08-22 17:03:38 WinHttpSyncHttpClient [10728] Releasing connection handle 00000240D75D3050
[DEBUG] 2017-08-22 17:03:38 WinHttpConnectionPoolMgr [10728] Releasing connection to endpoint xxxxxxxxxx.s3.amazonaws.com:443
[DEBUG] 2017-08-22 17:03:38 AWSClient [10728] Request returned error. Attempting to generate appropriate error codes from response
[ERROR] 2017-08-22 17:03:38 AWSClient [10728] No response body. Response code: 400
[WARN] 2017-08-22 17:03:38 AWSClient [10728] If the signature check failed. This could be because of a time skew. Attempting to adjust the signer.
[DEBUG] 2017-08-22 17:03:38 AWSClient [10728] Server time is Tue, 22 Aug 2017 21:03:36 GMT, while client time is Tue, 22 Aug 2017 21:03:38 GMT
[INFO] 2017-08-22 17:03:45 WaveOutPCMOutputDriver [4052] Initializing device VE247 (Intel(R) Display Audio)
[TRACE] 2017-08-22 17:03:45 AWSClient [7260] Found body, but content-length has not been set, attempting to compute content-length
[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Calculated sha256 32c0a50f2bb5d28af46cbcb2a7b87088cd0cda6bedf0f217b82b70d9be931746 for payload.
[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Canonical Header String: content-length:160
content-type:application/x-amz-json-1.1
host:polly.us-east-1.amazonaws.com
x-amz-content-sha256:32c0a50f2bb5d28af46cbcb2a7b87088cd0cda6bedf0f217b82b70d9be931746
x-amz-date:20170822T210345Z

[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Signed Headers value:content-length;content-type;host;x-amz-content-sha256;x-amz-date
[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Canonical Request String: POST
/v1/speech

content-length:160
content-type:application/x-amz-json-1.1
host:polly.us-east-1.amazonaws.com
x-amz-content-sha256:32c0a50f2bb5d28af46cbcb2a7b87088cd0cda6bedf0f217b82b70d9be931746
x-amz-date:20170822T210345Z

content-length;content-type;host;x-amz-content-sha256;x-amz-date
32c0a50f2bb5d28af46cbcb2a7b87088cd0cda6bedf0f217b82b70d9be931746
[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Final String to sign: AWS4-HMAC-SHA256
20170822T210345Z
20170822/us-east-1/polly/aws4_request
ecc60f0e97363e19309fe68d7489ad922963291f4951e80821a1caed71419cef
[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Final computed signing hash: 12a2302094c61c4e790ade6f84d95a77e2a89124a9f68392291d771d3981b841
[DEBUG] 2017-08-22 17:03:45 AWSAuthV4Signer [7260] Signing request with: AWS4-HMAC-SHA256 Credential=AKIAJUQ7J5MPPSFBWJAQ/20170822/us-east-1/polly/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=12a2302094c61c4e790ade6f84d95a77e2a89124a9f68392291d771d3981b841
[DEBUG] 2017-08-22 17:03:45 AWSClient [7260] Request Successfully signed
[TRACE] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Making POST request to uri https://polly.us-east-1.amazonaws.com/v1/speech
[INFO] 2017-08-22 17:03:45 WinHttpConnectionPoolMgr [7260] Attempting to aquire connection for polly.us-east-1.amazonaws.com:443
[DEBUG] 2017-08-22 17:03:45 WinHttpConnectionPoolMgr [7260] Pool doesn't exist for endpoint, creating...
[DEBUG] 2017-08-22 17:03:45 WinHttpConnectionPoolMgr [7260] Pool has no available existing connections for endpoint, attempting to grow pool.
[INFO] 2017-08-22 17:03:45 WinHttpConnectionPoolMgr [7260] Connection now available, continuing.
[DEBUG] 2017-08-22 17:03:45 WinHttpConnectionPoolMgr [7260] Returning connection handle<PHONE_NUMBER>BB1A20
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Acquired connection<PHONE_NUMBER>BB1A20
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] AllocateWindowsHttpRequest returned handle<PHONE_NUMBER>3A3720
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] with headers:
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] authorization: AWS4-HMAC-SHA256 Credential=AKIAJUQ7J5MPPSFBWJAQ/20170822/us-east-1/polly/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=12a2302094c61c4e790ade6f84d95a77e2a89124a9f68392291d771d3981b841

content-length: 160

content-type: application/x-amz-json-1.1

host: polly.us-east-1.amazonaws.com

user-agent: aws-sdk-cpp/1.1.30 Windows/10.0.15063.0 AMD64

x-amz-content-sha256: 32c0a50f2bb5d28af46cbcb2a7b87088cd0cda6bedf0f217b82b70d9be931746

x-amz-date: 20170822T210345Z

[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Received response code 200
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Received content type audio/pcm
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Received headers:
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] HTTP/1.1 200 OK

Date: Tue, 22 Aug 2017 21:03:44 GMT

Transfer-Encoding: chunked

Content-Type: audio/pcm

x-amzn-RequestId: 61d4ff58-877d-11e7-b1d4-03ad4bd2a6cf

x-amzn-RequestCharacters: 40

[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Closing http request handle<PHONE_NUMBER>3A3720
[DEBUG] 2017-08-22 17:03:45 WinHttpSyncHttpClient [7260] Releasing connection handle<PHONE_NUMBER>BB1A20
[DEBUG] 2017-08-22 17:03:45 WinHttpConnectionPoolMgr [7260] Releasing connection to endpoint polly.us-east-1.amazonaws.com:443
[DEBUG] 2017-08-22 17:03:45 AWSClient [7260] Request returned successful response.
[TRACE] 2017-08-22 17:03:45 AWSClient [7260] Request successful returning.

TransferManager requires s3:GetObjectVersion permission as well to determine if it can use multi-part downloads. GetObjectVersion allows TransferManager to read the metadata of the object to determine its size.
Hope this helps.

I changed my permission file and now it is like this
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "*"
        }
    ]
}

However, it still does not work.

I checked the code and it looks it is making HeadObject request first. And in the logs, I think that is the request that is failing.
I checked Head Object docs here. It looks like s3:GetObject should be enough.
Yet it fails.

Just to rule out permissions, can you set your permissions to:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*"
            ],
            "Resource": "*"
        }
    ]
}

Also is it still the Head request that is failing after you set those permissions?

I tried that and still the same thing.
I am reading HEAD Object request docs and there is note
Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with AWS KMS–managed encryption keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error.
This is the only place where it says it will return 400. And the file, I am trying to download, has Encryption setting set to AES-256 (Use Amazon S3 server-side encryption to encrypt your data.). Would this have anything to do with it? But also note that I tried to set encryption setting to None and it still had the same issue.
Btw, if I make the file public and specify empty credentials then I can download the file fine. So this is definitely either permission issue or something related to file's attributes.

I was able to reproduce this when I accessed a bucket created in a different region other than the default us-east-1.
config.region = <region where your bucket is created>

Give that a try, if that still doesn't work then try to get the error by using S3 client directly.
Aws::S3::Model::GetObjectRequest req;
req.WithBucket("somebucket").WithKey("somekey");
auto result = s3client->GetObject(req);
if(!result.IsSuccess())
{
  printf("Failing with error: %s - %s", result.GetError().GetMessage().c_str(), result.GetError().GetExceptionName().c_str());
}

Hi,
Yes that was the issue. For me the region is us-west-2. I set the region to us-west-2 and now it downloads fine. So that is great.
However, I might have to download from any region. So how do I handle that? Do I create different s3Client and transfer manager for each region? Or is there an easier way of doing that?

Awesome.

Do I create different s3Client and transfer manager for each region?

Each S3Client is tied to a single region. So yes, you need a separate TransferManager instance for every region you are hitting.
You can find out the region dynamically by calling the  GetBucketLocation API http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
Please reopen this issue if you have further questions.


[shardformer] support layer state_dict and load_state_dict

We need to ensure that the weights of a distributed layer and that of a normal pytorch layer can be interchangeably loaded and saved in shardformer.

Closed by #4062 and #4073


MemGraph <IP_ADDRESS> works on both KSP 1.2 and 1.3

Update MemGraph metadata to correctly reflect compatible versions.
Mod thread link for convenience:
http://forum.kerbalspaceprogram.com/index.php?/topic/139128-12x13-memgraph-1103-with-stutter-reduction/

Merging with thanks!


Fix memory leak

IBM-Swift/Swift-Kuery#69
PQclear wasn't called for each result.

Codecov Report

Merging #16 into master will decrease coverage by 0.4%.
The diff coverage is 72.72%.

@@           Coverage Diff           @@
##           master   #16      +/-   ##
=======================================
- Coverage    75.4%   75%   -0.41%
=======================================
  Files           3     3
  Lines         366   368       +2
=======================================
  Hits          276   276
- Misses         90    92       +2

Flag
Coverage Δ

#SwiftKueryPostgreSQL
75% <72.72%> (-0.41%)
:arrow_down:

Impacted Files
Coverage Δ

...SwiftKueryPostgreSQL/PostgreSQLResultFetcher.swift
87.42% <66.66%> (ø)
:arrow_up:

Sources/SwiftKueryPostgreSQL/Utils.swift
66.66% <75%> (-13.34%)
:arrow_down:

...es/SwiftKueryPostgreSQL/PostgreSQLConnection.swift
63.63% <75%> (-0.35%)
:arrow_down:

Continue to review full report at Codecov.

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

LGTM


Feature request: partial_run_reset()

Experimental partial_run feature leaks memory. The problem is demonstrated below (with explanatory comments). A simple solution might look like session.partial_run_reset() at the end of the while loop.
Thanks if this can be added!
import tensorflow as tf

# Define graph
some_placeholder_value = tf.placeholder(tf.float32, shape=[])
long_list_of_ones = tf.ones(10000)
some_operation = long_list_of_ones + 1
a_second_operation = some_operation + some_placeholder_value

# Initialize
initialize = tf.global_variables_initializer()
session = tf.Session()
session.run(initialize)

# Using partial run in a loop causes a memory leak if not all fetches are fetched.
# For increased dynamism please allow resetting the partial run graph so that one
# does not have to know for sure which fetches will be used ahead of time.

while True:
    # Watch as application memory steadily increases...
    handle = session.partial_run_setup([some_operation, a_second_operation],
                                       [some_placeholder_value])
    run = session.partial_run(handle, some_operation)

Memory usage grows really fast! Since a great advantage of this feature is that it affords greater dynamism and modularity, the option to reset at the end of each iteration would help since it would allow one to use this feature without knowing the full list of fetches a priori.
Alternatively, allowing the same graph components to be re-fetched would also do the trick (by putting handle outside the while loop) and would afford even more dynamism and modularity... but is probably harder to implement.

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

/CC @vrv, can you take a look?

The two authors / maintainers of this experimental feature no longer work on TensorFlow, as far as I know, and partial_run functionality is probably better solved by using Eager Execution.
I'd love to leave this open for community contributions to fix this, but my guess is that no one will ever get to this, and everyone is better off moving to Eager, which is supposed to be the default mode in TF 2.0 anyway and will be supported much better.


SymfonySerializer is missing

subj

The master branch uses a library called normalt that uses Symfony Serializer behind the scenes.
Feel free to open a PR with documentation changes if that is the issue.


[BEAM-22] Wrap Exceptions thrown in StartBundle in the InProcessPipelineRunner

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @bjchambers

LGTM


Remove toast message which show on onPageStarted/onPageFinished

Is there any way to hide the toast message which display on onPageFinished()/onPageStarted() method?

Well, sure!
If you don’t explicitly create and show Toast messages, they won’t show up.
You may have copied the source code from the included sample application, which contains five calls to Toast.makeText – which you can easily remove.


Small improvements

Summary
This PR makes a set of changes to make the website more acessible and SEO friendly.
It adds metadescription so when the link is shared on twitter, it displays a description
about the website.
Also it refactors the website structure for the initial page, separating things like
the parallax bg from the actual content; Also it adds a max width for the content, in
order to avoid long F-scanning sessions from users on large displays.
Commits
- comment sections for readability, ensure max container width, avoid svg overflow in main components, format files using prettier

add class for main component
add metadescription
adds card information for twitter

Lmao

Thanks for your contribution, I haven't webdev'd since I was 15 lol

Thanks for your contribution, I haven't webdev'd since I was 15 lol

congratulations on not doing it for so long, I envy you


static ip address

Hi. Is there a way to set a static ip address?

Best way to manage static IP address is to assign the mac in your router to an IP address.


Does it support JSX?

I wonder if it supports/works with JSX?
Thanks.

CSS modules in JSX? I seem to either get an unused var error, or a JSX value should be an expression or quoted JSX text.

I have a react project with JSX syntax and it works beautifully, though all my sources are .js files, not .jsx

Standard does support JSX.

https://github.com/maxogden/standard-format/issues/99


Bug with 10.2.0 inside "cost_tracker_*.py" files leads to failure to load sensors

Describe the bug
Installing the latest version of the add on (10.2.0) causes issues where sensors cannot be loaded due to a bug in some logging code. Commenting this out seems to resolve the issue.
Reproduction steps
Install the latest version of the add on (10.2.0), configure you octopus account, reload HA and check for messages, debug logs confirm the issue with errors.
Expected behaviour
There are no errors related to logging.
Tariff Code
N/A
Integration Version
10.2.0
Home Assistant Version
2024.1.3 (Docker Container)
Fresh Install?
After upgrading
Home Assistant Logs
2024-04-06 18:18:43.718 ERROR (MainThread) [homeassistant.loader] Unexpected exception importing platform custom_components.octopus_energy.sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 842, in get_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 859, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/config/custom_components/octopus_energy/sensor.py", line 48, in
from .cost_tracker.cost_tracker_month import OctopusEnergyCostTrackerMonthSensor
File "/config/custom_components/octopus_energy/cost_tracker/cost_tracker_month.py", line 139
_LOGGER.debug(f"Tracked entity for '{self.entity_id}' updated from '{self._tracked_entity_id}' to '{data["entity_id"]}'. Reloading...")
I think it's something to do with the entity id literal in the f string of the log, perhaps because we're using " " to enclose it without escaping the variable value?
Confirmation

[X] I confirm that I cannot find my solution within the documentation
[X] I confirm that I cannot find my solution within the FAQ

Hello.
I'm not personally seeing this issue on my instance and I'm on the same version of HA but using HA OS (or whatever it's called these days) instead of a docker container. Could you see if it's due to data["entity_id"] by changing
_LOGGER.debug(f"Tracked entity for '{self.entity_id}' updated from '{self._tracked_entity_id}' to '{data["entity_id"]}'. Reloading...")

to
new_entity_id = data["entity_id"]
_LOGGER.debug(f"Tracked entity for '{self.entity_id}' updated from '{self._tracked_entity_id}' to '{new_entity_id}'. Reloading...")

Thanks

Think I'm also seeing this, I've tried to downgrade but the dropdown just reverts to 10.2.0 no matter what earlier version I select.
I'm on 2024.3.3 running HA Core.
I'm afraid I can't help with debugging as travelling tomorrow, but just wanted to confirm the issue.

Update: tried the new service method of switching to a new integration version (downgrading in this case), which failed (for any version tried) with:
"Failed to call service update.install. The version 10.1.4 for this integration can not be used with HACS"

If you're using the update service, you need to specify v10.1.4. I believe HACS supports downgrading, but not sure.
I am failing to recreate this locally (got to love python sometimes), so I've fixed what I believe is the issue in v10.2.1

Thanks, adding the v appeared to work, though  I didn't restart to test as I then realised 10.2.1 was already available, so I've updated to that - thanks for the super quick fix!

I see this has been patched in https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/pull/826 - do you still need another repro?

The problem was patched blind. If it's fixed the original issue, I'll close this issue.

Closing as I believe this is now fixed.

Tested this on 10.3.0. I can confirm the new code is there ('{new_entity_id}' instead of data["entity_id"]) and the ocotopus sensors are functioning as expected. I think we can consider it closed. Thanks again, your work is very much appreciated! 🙇


Add In-line Alert component

Description

Let's implement this re-imagined Alert component https://spectrum-contributions.corp.adobe.com/page/in-line-alert-beta/
Why do you need this feature or component?

@badimon asked for it
Additional context

Alert was previously deprecated and was nuked, this is a new version of it: https://github.com/adobe/spectrum-css/pull/757/files#diff-47c0d377df764997b3c618a2fd561fdd7d8737a96e35dc906ee0b921618ed819L1

This has been implemented and migrated to use @adobe/spectrum-tokens: https://github.com/adobe/spectrum-css/tree/main/components/inlinealert


computeCommonSourceDirectory doesn't work on case-insensitive filesystems

Specifically, we throw Cannot_find_the_common_subdirectory_path_for_the_input_files. This is causing our present RWC failures. (Since now we always try to find a common source directory at first, rather than just 'as needed'.)
If outDir/sourceRoot/mapRoot are specified and rootDir is not (or some files in the compilation are not within rootDir), then the issue surfaces.
Some of our tests are on D:/ and some are on d:/ which is causing a mismatch in the computation, and so no common directory can be found.
HOWEVER, this does bring to light another issue: Compilations including files from multiple drives on windows will likely trigger this error as well. (This should never be an issue on 'nix because we'll eventually reach the root and compare empty strings.)

We should not show the error all the time, as this will break existing scenarios. we should maintain backward comparability and not show the error if it did not show in the past.


python bindings

Hi,  I am trying to get this working with python but when I type "make swig" I get the error
make[1]: Entering directory '/home/wolfie/code/LibXtract/src'
make[1]: 'libxtract.a' is up to date.
make[1]: Leaving directory '/home/wolfie/code/LibXtract/src'
make[1]: Entering directory '/home/wolfie/code/LibXtract/swig'
../include/xtract/libxtract.h:300: Warning 314: 'def' is a python keyword, renaming to '_def'
cc: error: Accelerate: No such file or directory
cc: error: unrecognized command line option ‘-framework’
Makefile:21: recipe for target 'python' failed
make[1]: *** [python] Error 1
make[1]: Leaving directory '/home/wolfie/code/LibXtract/swig'
Makefile:23: recipe for target 'swig' failed
make: *** [swig] Error 2
I modified the makefile to -DUSE_OOURA, and it built, but xtract.py gives me the error:
Traceback (most recent call last):
File "xtract.py", line 28, in
_xtract = swig_import_helper()
File "xtract.py", line 24, in swig_import_helper
_mod = imp.load_module('_xtract', fp, pathname, description)
ImportError: ./_xtract.so: undefined symbol: xtract_free_window

Hi,
I ran into the exact same problem (Linux / GCC 4.9.2).
Problem finally solved by modifying swig/Makefile l.23, replace:
	@$(CC) $(LDFLAGS) ../src/lib$(NAME).a $(NAME)_wrap.o -o _$(NAME).so -framework Accelerate
By:
	@$(CC) $(LDFLAGS) -o _$(NAME).so $(NAME)_wrap.o ../src/lib$(NAME).a
Which solves two issues:

"-framework" should apparently be used only on Darwin platforms
arguments order matters. From what I've understood, the _wrap.o object file must appear before the .a archive library, otherwise the linker won't search in the .a archive for the symbols defined in the object file -- which results in _xtract.so incorrectly linked/with undefined symbols

People might also be interested in a modified swig/test.py, compliant with Python 3.5 syntax
test.py.txt


maxInstances support?

Hey,
Does this support the maxInstances property to run multiple instances of the browser?
Thanks,
-Jahnavi

Do you have a reference to the maxInstances property? If it can be passed as a capability, I guess it can be used.

so, i was referring to the maxinstances property that the protractor.conf file has, can that be incorporated in the config for browser-perf?
I am mainly trying to achieve running the performance tests in parallel for different urls so that it will make the process more faster.
Currently i have the urls stored in a .txt file from where it picks them up, reads them, performs the performance test, stores them to the db and then goes to the next one and this is kind of very slow.

Is it possible to run browser-perf on the 3 different urls on three different chrome instances on the selenium grid at the same time?

The simplest way to do this would be to have 3 instances of browser-perf, each hitting a separate selenium instance. I am not sure how that maps to capabilities.

Closing this issue - please re-open if you this it is still not resolved.


[typescript-resolvers] Allow resolvers to return lazy parameters or promises

Is your feature request related to a problem? Please describe.
I use a relay connection style in my schema. I have a single method that builds the connection fields, but returns them as functions like:
{
  pageInfo: () => PageInfo,
  count: () => number,
  edges: () => Edge[]
}

Unfortunately, the Resolver type expects them to be json or a promise returning json.
Describe the solution you'd like
I'd like to find a way that all of the fields can resolve as json, promise, or function without having a mapper for every connection.
Describe alternatives you've considered
I looked at trying to return each of the connection fields as their own resolver, but I end up writing a lot more code and have to make a mapper for every connection.
Additional context
Let me know if I'm overlooking a config, or way to writing this.
Here's what I want my resolver to look like:
const eventsResolver: QueryResolvers['events'] = async (_, { input }) =>
  buildConnection(EventsQuery, input);

My Interfaces:
interface Node {
  id: ID!
}

interface Edge {
  cursor: String!
  node: Node!
}

type PageInfo {
  hasNextPage: Boolean!
  hasPreviousPage: Boolean!
}

interface Connection {
  pageInfo: PageInfo!
  count: Int!
  edges: [Edge!]!
}

@cranberyxl You can use defaultMapper for that: https://graphql-code-generator.com/docs/plugins/typescript-resolvers#defaultmapper-string

@cranberyxl You mean providing custom return and parent types or providing factory functions of that type.
For example you have User like below in your schema;
type User {
 id: ID
 name: String
 books: [Book]
}

and the resolvers are likebelow;
{
 Query: {
   user: (_, args) => {
      return {
        id: 1,
        name: 'Arda',
        books: () => getBooks() // So books are given as function to be called on demand.
      }
    }
 }
}

Is that what you asked or something else?

@ardatan That's correct, because you can return any JSON from any resolver that satisfies it's children. Which may be a function or a promise.

@ardatan do you think it's something we can implement in the generated output?

Fixed in v1.13.0, thanks @rintaun


Edit Unity Webcam Source

1. The original Webcam Source will only select the first camera in the list. How can we select the target camera we want in Unity? I think selecting a specific camera should be a very important and necessary function.
In UWP/Desktop it's very easy since we could edit the code as we want, but Unity the WebRTC component seems to be unable to change.
2. Can we edit the Webcam Souce to achieve that?[Can we edit WebRTC script?]
I've tried to copy the Webcam Source script totally and change the Device id as I want. The camera could work normally on Local Video Player while the modified webcam_source script cannot be recognized as a component by PeerConnection so that the video data cannot be transferred.

Has your problem been solved?

I edited the WebCom.cs to set the device id as I want.


Undefined error on assertEq could be more clear

function testBalanceOf() public {
    uint balance = 10;
    assertEq(balance, 1);
}

The above test fails with reason [FAIL. Reason: Undefined.]  which is very misleading, given that nothing is undefined. IMO it should say something to the effect of "bad assertion" or "var not equal to asserted value".
Also, I'm new to Foundry so maybe there's a reason for this, but I think it'd be super useful to have the error logging point to a line in the file. Knowing what test the error happened in is useful, but the test could be big and I'd like to know what line it actually failed on.
Running 1 test for test/PickleCoin.t.sol:PickleCoinTester
[FAIL. Reason: Undefined.] testBalanceOf() (gas: 14813)
Test result: FAILED. 0 passed; 1 failed; finished in 3.10ms

For slightly more context, this below obvi passes:
function testBalanceOf() public {
    uint balance = 1;
    assertEq(balance, 1);
}

The ideal fix here would be @brockelmore's :

I think the best solution would be upon failed() returning true, in forge we set the reason to something like Test Assertion Failed


automatic loading is  disabled by default

The automatic loading of layers is not available by default. Either the scroll has to be visible or  more layers needs to be loaded so the scroll appears.

Also, it would be good to signalize to the use that loading will happen when she/he scrolls

A notification could be shown at the bottom of the side bar with Loading... text


pre-conditions for mp3?

the code from the Readme:
package main

import (
  "github.com/bogem/id3v2"
  "log"
  "os"
)

func main() {
  tag, err := id3v2.Open("file.mp3")
  if err != nil {
    log.Fatal("Error while opening mp3 file: ", err)
  }

  pic := id3v2.NewAttachedPicture()
  pic.SetMimeType("image/jpeg")
  pic.SetDescription("Cover")
  pic.SetPictureType("Cover (front)")

  artwork, err := os.Open("artwork.jpg")
  if err != nil {
    log.Fatal("Error while opening an artwork file: ", err)
  }
  defer artwork.Close()

  if err = pic.SetPictureFromFile(artwork); err != nil {
    log.Fatal("Error while setting a picture from file: ", err)
  }
  if err = tag.SetAttachedPicture(pic); err != nil {
    log.Fatal("Error while setting a picture frame to tag: ", err)
  }

  if err = tag.Flush(); err != nil {
    log.Fatal("Error while closing a tag: ", err)
  }
}

doesn't set the image for e.g. https://raw.githubusercontent.com/mikkyang/id3-go/master/test.mp3 as file.mp3.

It's very strange, because on my computer everything works:

Updated library. Try to update it:  go get -u github.com/bogem/id3v2
It should work

It also works with file.mp3:

let me double check what image I used.

Yikes, your update fixed it!
previously it was:
curl --output "artwork.jpg" "http://www.br.de/radio/bayern2/wissen/radiowissen/herodes-festung-100~_v-img__16__9__m_-4423061158a17f4152aef84861ed0243214ae6e7.jpg?version=6f858"
curl --output "file.mp3" "https://raw.githubusercontent.com/mikkyang/id3-go/master/test.mp3"
go run issue-2.go

neither iTunes nor QuickLook nor Finder (OS X El Capitan) showed the image running above Go code.

I'm very glad of it :)
Stay tuned for new updates. Today or tomorrow it will be new version


Dynamic OpenAPI configKey

Description
OpenAPI properties depends on configKey
For example, the property for the URL is of the form
quarkus.rest-client.<configKey>.url
configKey is currently calculated at build time (there are different alternatives based on the name and content of the openapi spec file being parsed, by default configKey is the sanitized file name)
The proposal is to allow dynamic calculation of configKey at runtime. This will allow appending extra information to the configKey calculated at build time.
For example, you can have different url properties depending on a cluster name
quarkus.rest-client.<buildTimeConfigKey>.cluster1.url=<cluster1Address>
quarkus.rest-client.<buildTimeConfigKey>.cluster2.url=<cluster2Address>

In order SonataFlow to know which information should be used to calculate configKey, users should add a new property, called sonataflow.rest-client.dynamic-config-key, which value must be a jq expression which evaluation will return the value of the dynamic configKey
For the previous example, assuming the workflow input has a clusterName  which value is cluster1 or cluster2, users must add this line to application.properties.
sonataflow.rest-client.dynamic-config-key=.clusterName
Implementation ideas
No response

There is a delicate detail here - that the context variable used in the jq expression must exist at the state where this invocation happens. it is very easy to override context variables by other states and loose them. So lets say the usage of this openapi action is several state down the workflow, there is a huge chance .clustername would just be overwritten.
How can we make sure this configkey selection strategy is easy to grasp, harder to ruin, easy to debug if needed ? can we analyze the states that overwrite the whole data context and warn? maybe at build time? but then again the config key is runtime mutable.

There is a delicate detail here - that the context variable used in the jq expression must exist at the state where this invocation happens. it is very easy to override context variables by other states and loose them. So lets say the usage of this openapi action is several state down the workflow, there is a huge chance .clustername would just be overwritten.
How can we make sure this configkey selection strategy is easy to grasp, harder to ruin, easy to debug if needed ? can we analyze the states that overwrite the whole data context and warn? maybe at build time? but then again the config key is runtime mutable.

Really good point!!!
My first idea was that we should evaluate the expression at the moment the OpenAPI invocation is done. And indeed the possibility that the expression returns nothing. After thinking about the alternatives, one possibility is evaluating also at the beginning.
Therefore the algoritm will be, if the property quarkus......runtimeConfigKey is set, then it is evaluated against the input model when the workflow is started, and the calculated value, if existings, is stored as part of the process instance internal info (that is keep in DB). Then, when the openapi call happened, it is evaluated again. If there is a value, thats the value to be used in the call. If there is not value, then the value calculated when the workflows was started, if existing, will be used. If there is not value, then the build time config key will be used. If not matching property is found, then the URI in the spec will be used (and the call will very likely faild because wrong uri, we can add message to review the properties, naming them)

I'm trying to capture what you say:

key exist in initial context? calculate value and save to db

open api state handler

take key and val from db. no value? use build config, then uri in spec

problem with that is that this is a surprizing API because the users can't really know what value will be used if they for example don't send it.
So a call to a workflow without a param $clustername, could lead to a some other default (buildtime) key to be used, where the user didn't expect, and even the workflow could even create resources on that  (wrong) cluster.
But perhaps I didn't get your proposal properly. Please correct me if anything here is wrong.
Can we consider a more explicit API, either we have the value or fail?
I would expect something like providing an argument to the openapi function that will specify the key:
functions:
  - name: createDeployment
    operation: kube.yaml#createDeployment
    restConfigKey: EXPRESSION

so now it is at least visible that EXPRESSION is resolved during invocation.
Plus, add syntax to access the request params , or the one saved in the db(similar to how SECRETS is to application pros):
restConfigKey: 'REQUEST.clusterName'

And whatever the resolution of the key is, that is what is used. otherwise failure.

Again, my point of view is, making the developer of the workflow easy to understand and use those nice configuration items, but with limitation that will still prevent mistake, and will be easier to debug.

@rgolangh I think your prposal is fine. However, as you know, we cannot add keys to functions directly, we wil have use metadata for that, therefore it will look like
functions:
   - name: createDeployment
     operation: kube.yaml#createDeployment
     metadata:
         configKey: expression

However, this just change the place where the config key expression is defined. I was proposing to define it as property, now is being defined as metadata in the process definition. And we are deciding that it will be evaluated upon invocation (I agree  that is the most obvious place)

I don't know if a key in metadata is better than a property.
To rephrase my other suggestions in a clearer way:

not to have strategy to find the key, either it is there or not.
to have a new $REQUEST syntax to access the request parameters , so it will help to be explicit on the value we want.

Ok, key is there or is not there, if not there, failure, not default
We need to store input parameters (which we are not doing right now) in order to support $REQUEST, which I will rename as $INPUT

Metadata has the advantage (over the proprety) that is more clearly associated with the function, but in the property you can play with global expression and function scope expression by prefixing
so you can have
..... rest.config-key = this is global
and
... rest..config-key= this is function name
I do not have a strong preference

I was playing with the code and we can achieve global vs function scope with metatada also (just adding the metadata in the workflow or in the function)

With this PR, adding
and this snippet
{
      "name": "subtraction",
      "operation": "specs/subtraction.yaml#doOperation",
      "metadata": {
         "configKey" : ".pepe"
      }
    }

we get as response

{
    "failedNodeId": "7",
    "id": "1d4d610e-5ad3-4844-ad57-42670669eb39",
    "message": "java.lang.IllegalArgumentException - Expression .pepe returns null or empty value"
}

@rgolangh Opened https://github.com/apache/incubator-kie-kogito-runtimes/issues/3590 for support $INPUT, rest of discussed funcitionality (using metadata rather than properties) was implemented with this issue

@rgolangh Opened #3590 for support $INPUT, rest of discussed funcitionality (using metadata rather than properties) was implemented with this issue

thank you


change pausemenu song in psych engine 0.7 above

Describe your problem here.
i'm trying using this
setPropertyFromClass('PauseSubState', 'songName', '')
but it doesn't work in newer psych engine version
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

substates.PauseSubState


[BUG] Creating captcha in PHP 8.0

data type causing this

There's nothing on that line... Most probably you don't have the latest version of the framework.
Can you please provide the contents of that line from your CodeIgniter installation? What's causing this?

There's nothing on that line... Most probably you don't have the latest version of the framework.
Can you please provide the contents of that line from your CodeIgniter installation? What's causing this?

it might have patched. i use 3.1.13


[erc721-and-erc1155-flattened] added erc721-and-erc115-flattened project

I can't seem to resolve the merge conflicts without making a new fork of the latest master branch. Let me know if that is something I need to do! The conflicts are pretty simple. The index.ts just needs to account for the seedifyHoldStakingFarming strategy and the yarn lock just just needs updated to the one on the master branch.

Attempted to resolve the conflicts manually through this interface....Let me know if something is wrong. Thanks!

Hi @Hotmanics There should not be any changes on package-lock or yarn.lock. can update?

I am not sure how to revert them back to their original states. They were updated by using the latest versions from snapshot-strategies main branch. I did so to resolve merge conflicts found within this PR. Not sure what the best action is here

@Hotmanics Copy this file https://github.com/snapshot-labs/snapshot-strategies/blob/master/yarn.lock and commit those changes, and delete package-lock

Hi @Hotmanics There should not be any changes on package-lock or yarn.lock. can update?

I am not sure how to revert them back to their original states. They were updated by using the latest versions from snapshot-strategies main branch. I did so to resolve merge conflicts found within this PR. Not sure what the best action is here

Thank you.

I tried copying the file that you linked but there appear to be no changes to the yarn.lock at this point in time so it won't show in the commit -meaning that it should be properly set to your requirement.
removed package-lock.json

Hi @Hotmanics still see changes 🙈
Give us access by clicking on Allow edits from maintainers - i will update

Hi @Hotmanics still see changes 🙈
Give us access by clicking on Allow edits from maintainers - i will update


Add status code in HttpError exception log

This should take care of #310
Sadly, gcs does not include message in many responses.
So, I add status code at the end of exception log.
@martindurant
I did only _call non-retriable exception case.
Let me know if you want retriable exception case also.

Yes, I would vote to log both the code and message, if we have them, in every case.

@martindurant
I added error code on every HttpError logs.

How about the following, which makes for simpler code, and ensures the code and the message is included every time?
--- a/gcsfs/utils.py
+++ b/gcsfs/utils.py
@@ -7,8 +7,10 @@ class HttpError(Exception):

     def __init__(self, error_response=None):
         if error_response:
-            self.message = error_response.get("message", "")
             self.code = error_response.get("code", None)
+            self.message = error_response.get("message", "")
+            if self.code:
+                self.message += ", %s" % self.code
         else:
             self.message = ""

Perfect!


Execute permissions not set on bin/magento by default

When using magento2, the bin/magento tool does not have execute permissions set by default so when running (e.g.) site:cc it can fail do to not being executable.
It is possible to run php bin/magento so that it doesn't require the execute bit - do this instead

This has been addressed and is in release 1.1.7


Ideal sidebar width and main window-right padding

As you can see from the video, as soon as I click the button to make sidebar full height, it does not hold the full width of it.
https://user-images.githubusercontent.com/18570936/109368865-d8a63500-789a-11eb-8c8b-f75383a7f99d.mov
But ideal case is represented in the picture below: Is this possible to make that clicking the toggle sidebar window adjust the sidebar size like this?
And also make the right-padding of the main window smaller, without changing its size?
Manually adjusted: (Max possible without wrapping the main window)

Ideal case with smaller right-padding:

🙏🏻 Thank you very much for these awesome stuff.

I am trying to solve it. In case I am not able to, will reopen the issue.


YAML null values missing after 0.18.0

One of our test cases in nixpkgs uses yaml2yaml to test a fixture that should stay the same.
attrs:
  foo: null
'false': false
float: 3.141
list:
- null
- null
'null': null
path: /nix/store/xakpn1b34c5rrq97xnmqrmj2bpz2jfv9-formats.nix
str: foo
'true': true

With 0.18.0 and later all null values have gone missing. I'm not well versed in YAML unfortunately, so I have to ask whether this is fine or a regression.
attrs:
  foo:
'false': false
float: 3.141
list:
-
-
'null':
path: /nix/store/xakpn1b34c5rrq97xnmqrmj2bpz2jfv9-formats.nix
str: foo
'true': true

Apparently empty nodes are resolved to null according to https://yaml.org/spec/1.2-old/spec.html#id2786563.

This output is valid YAML. The change to the representation of null is the result of Remarshal 0.18.0 switching from PyYAML to ruamel.yaml in order to support YAML 1.2. In YAML 1.2, null and an empty scalar are both a valid representation of null. PyYAML and ruamel.yaml differ in their preferred default.
That said, the default in ruamel.yaml is confusing. (It confused you!) I am pretty sure human-written YAML has a strong tendency to use null. I know that I write null. I should have changed the default right away when I adopted ruamel.yaml.
I have just release version 0.20.0 that reverts to the old behavior. Please test it against the same fixture.

Thanks, that looks much more intuitive!


Toggle Keyboard Manager/Remapper with keyboard shortcut

Description of the new feature / enhancement
A lot of settings and tools in PowerToys can be accessed without opening the main window, by pressing a keyboard shortcut. It would be nice to also have a keyboard shortcut for the Keyboard Mapper feature.
The keyboard shortcut would toggle between enabling/disabling the Keyboard Remapper. And of course, the keyboard shortcut should be configurable to the user's liking.
Scenario when this would be used?
I am left handed, and I frequently play a video game that requires WASD for movement. The Keyboard Manager/Remapper in PowerToys allows me to remap my keyboard's arrow keys to WASD, so I can play the game without any issues.
But I have to open the PowerToys window, switch to Keyboard Manager, and switch the toggle on and off every time I enter and exit the game.
A simple keyboard shortcut toggle would turn it from a half-a-minute procedure into a much faster and convenient action.
Supporting information
No response

/dup #4879