Web Adaptor fails to install with exit code 1642

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request

Module Version

4.2.0

Affected Resource(s)

ArcGIS Web Adaptor

Configuration Files

N/A

Expected Behavior
Installs Web Adaptor
Actual Behavior

Web Adaptor fails to install with exit code 1642

Steps to Reproduce

When spinning a new box up sometimes it comes with older versions of .NET

Workaround: Uninstall all the mentions of the old version of .NET (in our case it was 6.0.25) and run PowerShell DSC Invoke again and it will install the 6.0.9 (or whatever version you specify in the json successfully then successfully install Web Adaptor

Important Factoids

N/A

References

Just opened this for reference if others run into the same thing. Potentially put some messaging in PowerShell DSC ArcGIS Module logs to tell us to check if other versions of .NET are installed. Issue is resolved though through the provided workaround

Hi @BrendanEsri
I encountered this exact same issue, thanks for the workaround.
I grabbed the .net bundle installer from https://dotnet.microsoft.com/en-us/download/dotnet/6.0 that matched the version already on my Win 2022 server and used that to do the uninstall, then referenced it in my dsc config file. Ran perfectly.
PS, the AZURE Win 2022 servers we have are rolling 6.0.26
I also found that running the DSC, let it fail then repairing .NET and running again worked, BUT, I don't like the act of crashing out, who else know what else could be half cooked.


v0.17 broke it!

v0.17 seems to have broken it under FF v58beta12 with Win7.
Pressing the toolbar button no longer opens up a new container.  No settings were changed since the previous version.

Thanks for reporting and sorry for breaking. Unfortunately this affected a part of the code which is hard to cover with test (external triggering of Event Listeners), but I will look into adding tests for that, so it won't happen again - since that's like the core functionality that should always work.
Version 0.18 with the fix is published. Please let me know if there's still something not working as expected.

The new version fixed it.  Thanks!


Upgrade RubyMine to 8.0.3

Thank you for the contribution. It was merged directly as b7e3f0f3187d6c8207513f1cc0dbdad3dc3a379f to keep commit history cleaner. Your contribution is still credited to you.


didCancel get true after selecting a photo ANDROID

i am using launchImageLibrary like this
launchImageLibrary({mediaType:"photo"},(res09)=>{
        console.log(res09)
    });

and always i get didCancel:true as result.

+1

+1 Same problem.
Using Android 11.
Is there a solution please? Thanks!

+1 Same problem, our app is not functional due to this bug.
Using Android 11.
@lukebrandonfarrell Is there a solution please? Thanks a lot!

@lukebrandonfarrell
Similar problem here, on the other library:
https://github.com/ivpusic/react-native-image-crop-picker/issues/675
It appears that most users have problems with the Xiaomi devices. I have Android 11, Xiaomi 9T Pro.
What is so special with Xiaomi implementations?
In "Samsung Galaxy A31" it works fine, without any changes.

+1, same problem
using xiaomi redmi note 8t, Android 11, miui global 12.5.2

See: https://github.com/react-native-image-picker/react-native-image-picker/pull/1928

seems that fix helped to fix the problem on Android 11 only. The issue repeats on Android 12

+1 Xiaomi redmi note 7 pro/Android-10

bump


[Feature request] Allow users to add filter fields on report

When running a report, the user can choose a filter for the pre-defined fields or replace an existing filter field with a new one, but he can't add additional filter fields to the request page if he requires more fields to filter on.

Thanks for sharing your idea with us. We're always looking for better ways to do things. However, this isn't the right place to share it. You'll have better luck getting it implemented and noticed by other partners if you post it to the following resources:

For functional improvements, go to Business Central - Ideas
For feature suggestions for the AL compiler and developer tools, visit Github.com/Microsoft/AL

This GitHub repository handles issues with extending published apps, and extensibility in general, for the latest release of Business Central.

This might fall into "feature suggestions for the AL compiler! Maybe try there first.


fix(colors): remove cyan vars

closes #2115
Breaking changes

Remove cyan color vars: pf-color-cyan-600 and pf-color-cyan-700

Preview: https://patternfly-next-pr-2824.surge.sh

@christiemolloy @mcoker Removing cyan-600/700 would leave it as the only color without 600/700 variables which feels weird. Coker and I realized we initially had this story because we replaced the cyan-100-500 with the chart variables. Can we pivot this to just change 600/700 to colors which match the new palette more instead of removing them?

We also need to do this for the blues as well!
green-600 = #002323
green-700 = #000F0F
blue-600 = #002952
blue-700 = #001223
Here's a quick before/after, other colors don't seem to have this issue just blue/cyan.


chore(main): release 1.17.0

:robot: I have created a release beep boop
1.17.0 (2024-06-15)
Features

watch dynamic imports (#397) (fd4fe6a)

Watches the events on tests and files that contains tests (after running all the tests), re-running the tests files that are updated for each new event.

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wellwelwel/poku/releases/tag/v1.17.0 :sunflower:


Validate template note

I've made a commit and fixed some stuff, can you check it and make sure it's good @gonzalovelasco

Thanks, It is working well.


Java 17 upgrade is missing for this library.

Can the utility be updated in iterations of Java upgrade to most recent version. We did use this library and are missing developer who can upgrade it😄

Are you facing challenges while utilising the Library on a Java version beyond Java 8?
The current design of the library is tailored to function seamlessly with Java 8 for compatibility across higher Java versions. However, upgrading to Java 17 will result in incompatibility with lower Java versions.


Email addresses should better handle lowercase, with mixcases

When requesting for emails using mixed (with upper) case. We would need to also fetch lowercase emails, as some email sending providers will normalize to lowercase.
Example send to<EMAIL_ADDRESS>And depending on the email provider, it sometimes goes to<EMAIL_ADDRESS>

Additionally when "pasting" the address into the "address bar" - it should automatically filter out the "@domain" part


couldn't execute Build-AzureADAppConsentGrantReport

I am not able to execute Build-AzureADAppConsentGrantReport cmdlet although I have the permission scope Application.ReadWrite.All.

As the error message says it would just need Application.Read.All, But I do have Application.ReadWrite.All in the scope.
Am I missing any other permissions?

Open the script below;
C:\Program Files\WindowsPowerShell\Modules\AzureADToolkit\1.0.796405\Build-AzureADAppConsentGrantReport.ps1
On line 54 add "Application.ReadWrite.All" $apiPermissionScopes to the array.
It should run after that. I will see about creating a pull request to get this fixed.

Thank you for fixing this.


feat: add access token param to get balance request

This feature allows the user to pass an access token to access the Moip balance. This method makes it possible to search the balance of transparent accounts from a PRIMARY.

Why you cannot pass this OAuth access_token under the opts parameter in getOne function?
For example:
getOne({ auth: OAuth access_token  })
or setting this globally by creating a new instance from connect:
Moip.connect({
    production: false,
    accessToken: ''
});

Why you cannot pass this OAuth access_token under the opts parameter in getOne function?
For example:
getOne({ auth: 'OAuth access_token'  })

or setting this globally by creating a new instance from connect:
import moipSdk from 'moip-sdk-node-ts';

moipSdk.connect({
    production: false,
    accessToken: ''
});

The opts parameter inside the balance getOne function is omitted. In this case, in order not to change this, I thought of another solution. I even thought about opening an issue to check the best way to do this.
What do you believe is the best way?

Why you cannot pass this OAuth access_token under the opts parameter in getOne function?
For example:
getOne({ auth: 'OAuth access_token'  })

or setting this globally by creating a new instance from connect:
import moipSdk from 'moip-sdk-node-ts';

moipSdk.connect({
    production: false,
    accessToken: ''
});

The opts parameter inside the balance getOne function is omitted. In this case, in order not to change this, I thought of another solution. I even thought about opening an issue to check the best way to do this.
What do you believe is the best way?

You are right about that externally, but you could still do something like the following:
const getOne = (opts: HttpOpts, accessToken?: string) => api.get({ ...opts, auth: `OAuth ${accessToken}` }, '/balances');

What do you think about this approach?
This way you don't need to create a new api variation file just for that.

Why you cannot pass this OAuth access_token under the opts parameter in getOne function?
For example:
getOne({ auth: 'OAuth access_token'  })

or setting this globally by creating a new instance from connect:
import moipSdk from 'moip-sdk-node-ts';

moipSdk.connect({
    production: false,
    accessToken: ''
});

The opts parameter inside the balance getOne function is omitted. In this case, in order not to change this, I thought of another solution. I even thought about opening an issue to check the best way to do this.
What do you believe is the best way?

You are right about that externally, but you could still do something like the following:
const getOne = (opts: HttpOpts, accessToken?: string) => api.get({ ...opts, auth: `OAuth ${accessToken}` }, '/balances');

What do you think about this approach?
This way you don't need to create a new api variation file just for that.

That was exactly the first solution I had thought of. I will update the code.

Thanks for the changes! I will merge it. :)


re-enable waveform dumping when simulating with Verilator

This change re-enables waveform dumping for Verilator simulations by adding a define of VERILATOR_TRACE to the verilated executable build that is visible to the testbench.

I think this is supposed to get set by verilator, but this fix works for me in the meantime


How not to change 'max' when adding point with addData?

I set 'max' and initial data with heatmap.setData({ max: 6,  data: heatmapData });
but when I add datapoints with heatmap.addData(..) the 'max' value automatically changes, so I didn't found any better then call heatmap.setDataMax(6); after each addData().
Is it possible set 'max' once for all and not change it with addData()?

I've just come across this same issue. Did you find a better solution?
When I call addData both my min and max are getting set to whatever the value of the point I added was which breaks the whole thing. To counter this I call setDataMin and setDataMax after each addData call but in some cases this causes the heatmap not even to be painted at all for some reason.
The other alternative I'm thinking is to just call setData every time but this seems silly when I'm adding data frequently (many times a second).

I just noticed I was passing x and y values that were non-integers. Once I rounded these before calling addData the  problem seems to have gone away. addData no longer resets the the min and max values. Given that the value of a data point has to be an integer I'm assuming maybe the coordinates have to be as well.

@axwalker Your solution - rounding to integers didn't seem to work for me. Solution I came up with (ugly but force fixes the issue) was to simply overwrite the setDataMax function.
heatmapInstance._store.setDataMax = function(max) {
  return this;
}


Move IClientErrorActionResult to 4xx status code results

FYI @ryno

@dotnet-bot build OSX 10.12 Release Build please

What does this do? were these not getting converted to problem details?

They were doing fine. It just meant that things like OkResult would now qualify for ProblemDetails which seemed somewhat misleading.

I'll just document the IClientErrorActionResult a bit better. This isn't necessary.


Pruning export

Need to claim results for the CNNs we agreed on.

Need to claim results for the CNNs we agreed on.

Results for all Resnet models:

Model name
Requested PR
Actual PR
FLOPs  pruned

resnet18
30%
15.8%
16.9%

ressnet34
30%
21.7%
22.1%

resnet50
30%
28.3%
30%

@vshampor Please, take a look.

Jenkins please retry a build


Firebase Storage get reference to a document using download URL

There is no way to get a reference to a document using the document's download URL.
I know that it can be done in Kotlin using StorageReference.getReferenceFromUrl(url);

This API looks fairly straightforward to add, see flutter/plugins#1208

@AndreHaueisen
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/715. Any further collaboration will be done there.


strings.xml for Spanish

Make sure all strings throughout the code is merged into strings.xml.
Organize strings.xml
Translate into Spanish
Have an option in the Settings to toggle between the languages

@justinklchan
Update: All the UI strings are now in strings.xml

There's still strings in the Java text for example TipRecyclerViewAdapter which populates the recycler view with various text. You'll probably have to scrub through all the Java code.

@justinklchan : yes, next step is that :)

Hi I am working at this moment, putting values-es

Great, thank you @bananateg if you would like other issues to work on, can you email me at<EMAIL_ADDRESS>I can add you to our Slack and discuss some bigger features and other things we need help on for this project. Thank you so much for offering your help.

I created a local branch.
I put only example Language part
At image is how show

@bananateg : Hey thanks for taking this up, just wanted to make sure that we are following the best practices while working on this:

Changing the locale of the app should not change the device locale.
Restarting the app after changing the locale is not a good UX and can lead to anomaly in the behavior, please make sure that we don't do that.
After changing the locale, make sure everything is aligned as per the locale and tested properly. 4. Please make sure that activity/fragment titles respect the locales too.
Please feel free to ping @justinklchan  or me  if you need any help while working on this.

@aakash1313 @bananateg Make the look of this feature adheres to our designs

Press Language I need to open a dialog for select at language?

@bananateg for now just have it as a drop down, we don't need a dialog

@aakash1313
I went through every file manually and moved the remaining strings into the XML file.
Can you get the remaining strings I've pulled over translated into Spanish?
After that mark this issue as closed.
We don't need an option in the settings.
I realized if you change the language in the System Settings of Android, it switches the language automatically, so we don't need this option in our own app.

@justinklchan : Awesome, thanks justin, yes that is how localization works if you add more strings to it, it will automatically pick up the device locale and do it for you. Will change the remaining strings and close it today :)

I finish the change of language, the user only change te language into te app, te language
of device no need change,

@justinklchan : Added the remaining strings,
@bananateg : I agree with you, can you please add that change?

@aakash1313 yes, i need to create another local branch or is posible that agregate by create
the branch remote

Whichever is easier for you. We can merge it when you have the code pushed.

@justinklchan done, who send my code

@bananateg : Can you create a PR out of it and add @justinklchan as an approver?


gserver: added rate limiting

Coverage: 82.297% (-0.07%) from 82.363% when pulling 0ff70889905862ae50df0fd81ac9bc2401ff7660 on dissoupov into 3fb493eb3faf954f80ea4b02204eda46829dd90b on main.


PHOENIX-7234 Bump org.apache.commons:commons-compress from 1.21 to 1.…

…26.0

If you haven't branched yet, @virajjasani , you may want to include this CVE fix.

If you haven't branched yet, @virajjasani , you may want to include this CVE fix.

Sounds good, merging. Thank you @stoty!


Using decodeSingle in loop with multiple input

Hey,
First, thanks for this awesome library, I've implemented it into a project and it works perfectly. But I want to go a bit further and I was trying to implement an input button with the multiple attribute and I am currently facing an issue.
For example, if I put 3 images into my input, the program will only decode the last images and print it 3 times into my inputfield whereas I am doing this :
Quagga.decodeSingle({

            decoder: {
                readers: ["code_128_reader", "code_39_reader", "code_39_vin_reader", "ean_reader", "ean_8_reader", "upc_reader", "upc_e_reader", "codabar_reader"] // List of active readers
            },
            locate: true,
            src: srcfile
        },function(result){
            if(result.codeResult) {
                console.log("result" + result.codeResult);
                $("#saisie").val($("#saisie").val()+result.codeResult.code+" ");
            } else {
                console.log("Problème de scan, réessayez");
                $("#saisie").val("Problème de scan, réessayez");
            }

 });

and the srcfile is everytime different (checked with console).
It looks like it initialize each time for each images but only go into the result function for the last image, which is not normal because every images are well decode one by one.
Is it a problem from Quagga.decodeSingle or am I using it wrong ?

hi,
I have the same problem, can someone help me?

Did you two figure this out? Can we close this issue?

I have the same problem. Are this problem's not solved yet ?

@BobMarky if you put a lot of readers into it, you're going to get false positives all over, as multiple readers may trigger valid codes.
There is a changeset available as a PR in this repo, that does change the interface to Quagga somewhat, and apparently fixes issues with multiple simultaneous decodes.  Over at my fork of the repo ( http://www.github.com/ericblade/quagga2 ) I am considering if that change should be taken in, though I would really like it if someone could write a test suite proving that it is, in fact, a problem, and then it would be easier to validate if that is the best solution, or if there's some other possible solution that doesn't require an interface change.
I'm not opposed to an interface change, I just want to make sure that we understand the problem before undertaking a major change to fix it, if there's a smaller change that would be better.
https://github.com/ericblade/quagga2/issues/5


Install.sh fail on path that include spaces (ubuntu 20.04) (IDFGH-4875)

esp-idf V4.4-dev (obtained via git clone on the 06/03/2021) install.sh script fails due to a name including spaces in the path
(base) xx@linux:~/My Drive/Projects/esp-idf$ ./install.sh  Installing ESP-IDF tools ./install.sh: line 9: /home/xx/My: No such file or directory
The fix is to put the full install path between comas as follows in install.sh:
`#!/usr/bin/env bash
set -e
set -u
export IDF_PATH=$(cd $(dirname $0); pwd)
echo "Installing ESP-IDF tools"
"${IDF_PATH}/tools/idf_tools.py" install
echo "Installing Python environment and packages"
"${IDF_PATH}/tools/idf_tools.py" install-python-env
basedir="$(dirname $0)"
echo "All done! You can now run:"
echo ""
echo "  . ${basedir}/export.sh"
echo ""`

We have retested this issue with latest version of the v4.4 branch and it looks like the problem has been solved over time and we have forgot to close this.


How to Determine Sonos Model?

Looking to create a method to return the model type (PLAY:1, PLAY:3, PLAY:5, PLAYBAR, SUB, CONNECT, CONNECT:AMP, ??)
I have 3 PLAY:1 that all show a Hardware Version of <IP_ADDRESS>-1  and a PLAYBAR with a hardware version of <IP_ADDRESS>-1 -- if others could pull up their info and list as a comment:
http://zone_ip:1400/support/review  and click on "Zone Player Info" and report back their Hardware version info along with the model, I believe we can create a method to return the model name based on it.  i.e.
PLAYBAR - 1.19.10-1
PLAY:1  - <IP_ADDRESS>-1
I've google'd and couldn't find a resource but if I am missing something, please let me know (resource already available, etc)
Current Feedback as of 2015-07-24, 15:46 CST

Model
Hardware Versions

PLAY:1
<IP_ADDRESS>-1, <IP_ADDRESS>-2

PLAY:3
<IP_ADDRESS>-2

PLAY:5
<IP_ADDRESS>-2

PLAYBAR
<IP_ADDRESS>-1

SUB

CONNECT
<IP_ADDRESS>-2

CONNECT:AMP

If a hardware version has more than one person reporting the same version, it is in bold.  (One person reporting multiple matching versions is currently being counted as 1.  subject to feedback.)

Hardware version <IP_ADDRESS>-1 - Play 1
<IP_ADDRESS>-1 - Connect

<IP_ADDRESS>-2 Play 5
<IP_ADDRESS>-2 Connect
Cheers David

>>> for zone in soco.discover():
...     print(zone.player_name, zone.get_speaker_info()['hardware_version'])
...
('Stue', '<IP_ADDRESS>-2')  # Connect
(u'K\xf8kken', '<IP_ADDRESS>-2')  # Play 3
(u'Sovev\xe6relse', '<IP_ADDRESS>-2')  # Play 1
(u'Badev\xe6relse', '<IP_ADDRESS>-2')  # Play 1
('Kontor', '<IP_ADDRESS>-2')  # Play 5

@dundeemt Maybe you cound create a table in the first post, so that we can easier see what we are missing.

@KennethNielsen an excellent suggestion.  done.

It would be a lot easier and more reliable to simply parse :1400/xml/device_description.xml
There you get
<root>
  ...
  <device>
    ...
    <modelNumber>S3</modelNumber>
    <modelDescription>Sonos PLAY:3</modelDescription>
    <modelName>Sonos PLAY:3</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S3</modelURL>
    ...
  </device>
  ...
</root>

and take your pick on how to identify the model :)

Yes, it would.  I did not know about that.  I knew about the :1400/status

did you find this via /status or do you know of other query points under
/xml ?

Best,
Jeff
On Fri, Aug 21, 2015 at 3:54 PM, the01<EMAIL_ADDRESS>wrote:

It would be a lot easier and more reliable to simply parse
:1400/xml/device_description.xml
There you get

  ...

    ...
    S3
Sonos PLAY:3
Sonos PLAY:3
http://www.sonos.com/products/zoneplayers/S3
    ...

  ...

and take your pick on how to identify the model :)
—
Reply to this email directly or view it on GitHub
https://github.com/SoCo/SoCo/issues/320#issuecomment-133561557.

--
Best,
Jeff Hinrichs
<EMAIL_ADDRESS>402.218.1473

No, I think that I found it on some sonos forum. There is great stuff on there. For example at support/review, you can check out the network matrix.
Loads of fun things to discover :smile:

We have some of this info at https://github.com/SoCo/SoCo/wiki/Information-Adresses , though that is rather out of date.
We really should replace the code for get_speaker_info so that it parses device_description_xml instead of status/zp, since this is part of the UPnP spec. We could then make the model name available in the returned speaker_info.
A nice job for someone who would like to create a pull request :wink:

Hmm ... the info from status/zp is also available as follows:
>>> print soco.deviceProperties.GetZoneInfo

It looks as though we did not convert the get_speaker_info code over to use the new UPnP methods.
The model name is not available there, though, so we may still need to parse device_description_xml to get at that.

A preferred/recommended way of implementing this? I am not too familiar with the code base, but if you could give me some pointers, I'd give parsing device_description.xml a try?

I am not too familiar with the code base,

Now's your chance!
Off the top of my head, what about replacing the code in get_speaker_info with something like this:
if self.speaker_info and refresh is False:
    return self.speaker_info
else:
    response = requests.get('http://' + self.ip_address +
                            ':1400/xml/device_description.xml')
    dom = XML.fromstring(response.content)

dev =  dom.find('.//{urn:schemas-upnp-org:device-1-0}device')
if dev is not None:
    self.speaker_info['zone_name'] = \
        dev.findtext('.//{urn:schemas-upnp-org:device-1-0}roomName')
.....

etc.  You may well find a better way to do it.  If you make a pull request, we'll be happy to give comments. Feel free to ask questions.
Don't forget unitises :wink:
Lawrence

Ok, great, thanks! From a provisional look I thought there might be a way to do it with services or something, but your way should be pretty straight forward :smile:
Will have a look soon!

Ok, I changed the function at the01@5a239d23c250de96d12f95acc83e657c8c50e0ea (just an initial commit). It would seem though that zone_iconand mac_adress are not present in device_description.xml. The MAC was not a big problem since it appears to be part of the serial number and I fixed it with
self.speaker_info['serial_number'].split(':')[0]

Should I add a second request to status/zp or do we simply deprecate this information?

Excellent.  I can see icon info under device/icon list/icon.  I would have thought that the url was the most important bit. I think we should use that, with a note saying that it has changed (hopefully, so that it is more useful)

Yes, but it is a different icon. It used to be the zone icon and that one is for the player (e.g. s3)

I think this issue can be marked closed as of commit c0ada91defdc4051895d184421a2e0a3e91a884c


Hooper is not Centered on the first Load, but it Centers after Zoom In & Out

Describe the bug
Hey, i'm using Hooper with Vuejs and it's really cool.
But there is a bug, which is bothering me.
On the very first Load the whole Hooper is not centered as other Elements (See Screenshot), but when i do a Zoom in and then out, or change the Windows Size then it gets Centered.
I don't know if this bug is already mentioned before and i've tried really to make a full research about it with no Luck.
Thanks in advance.
Screenshots

For anyone else coming across this the solution is pretty ugly but put a timeout for a short time after initialise and then hooper.restart()
setTimeout(() => {        hooper.restart }, 200)


Progress Bar

The progress bar is not working.
And I read the source code found that
If you want to see the progress bar,you should add the option:  "notAjax:true"...
it is not notice  in the document...

hello, How do you solve it, please ，notAjax:false Only to display，And it's static, and the progress won't move.

@monsterdash hello, How do you solve it, please ，notAjax:false Only to display，And it's static, and the progress won't move.


extra_body_script() support for script type="module"

Follows #1186. The extra_body_script() plugin hook should provide a mechanism for specifying that the script should use <script type="module">.
Relevant docs: https://docs.datasette.io/en/stable/plugin_hooks.html#extra-body-script-template-database-table-columns-view-name-request-datasette

This plugin hook currently returns a string of JavaScript. It could optionally return this instead of a string:
{
  "script": "string of JavaScript goes here"
  "module": true
}

This plugin hook currently returns a string of JavaScript. It could optionally return this instead of a string:
{
  "script": "string of JavaScript goes here"
  "module": true
}


Extra parameters file

Right now if you want to change a ROS parameter while using zed_camera.launch.py , you either have to do it manually after the node is running, or it has to be one of the handful of parameters that there are launch arguments for.
This PR adds an additional path that will be loaded into the camera node as ROS parameters. By default, the string is empty and no extra parameters will be loaded. However, you can set it to a custom yaml file and they will be loaded.
e.g.
    ld.add_action(IncludeLaunchDescription(
        launch_description_source=PythonLaunchDescriptionSource([
            get_package_share_directory('zed_wrapper'),
            '/launch/include/zed_camera.launch.py'
        ]),
        launch_arguments={
            'ros_parameters_path': [get_package_share_directory('some_package'), '/config/zed.yaml'],
        }.items()
    ))

where some_package/config/zed.yaml could look like:
/**:
    ros__parameters:
        body_tracking.body_format: BODY_34

specifying only the parameters that are different from common.yaml

Do you think ros_params_override_path is sufficient?


Improved logging for file rename event

When a file is moved to a different folder, an RENAMED event is generated. The property newDirectory is correctly used to generate the IDiskFileChange but not for logging.

Closing as I think this just makes things more verbose, let me know if I just don't have a repro to rename across folders though.


Maintain token between domains/subdomains

Hello, thanks for adding the Domain header from the other issue, it really helped me!
Now, I have the following issue: I have a website on example.com and an endpoint on api.example.com/v1, When visiting example.com the CSRF cookie is set, but when making the request to api.example.com/v1 the server returns a 422 error.
I have set the Domain param on the cookie to .example.com.
My CRSF token is set on the header, as my payloads are encrypted and I didn't manage to get it working otherwise.
Is there a way to fix this? Thanks.

To sanity check, can you post a raw request that you're sending to api.example.com/v1? Just to verify that you are sending a CSRF token with the same name that the API service is expecting? You should also be getting a warn message with tracing about a potential csrf attack. What does that warning say?

Are you setting the log level correctly? If you are then it's the 422 isn't from actix-crsf then; since actix-crsf always logs before returning a 422, and will helpfully indicate why it's returning a 422.

But I only get the 422 when I have the header _: Csrf<CsrfHeader> in my function.

Okay, so that probably means you're not setting tracing's log level correctly then? Or are you getting other warns from other modules?

I am not getting logs from any other module.

Okay? Please set tracing's log level so we can figure it out?

How do I set the log level?

Please read tracing's documentation: https://github.com/tokio-rs/tracing/tree/v0.1.x

Okay, I'm receiving the following message now:
WARN actix_csrf: Potential CSRF attack: The CSRF Tokens do not match

Okay, that means that we're not finding the header or cookie, and since the header looks unchanged, I suspect the main reason is that it's looking for the wrong cookie. Did you add CookieNameConfig as app data?

Sorry, what's CookieNameConfig?

Ah, sorry, I meant CrsfCookieConfig

What I have in my main app is:
.wrap(CsrfMiddleware::<StdRng>::new().http_only(false).set_cookie(http::Method::GET, "/").domain(".example.com"))

Ah, you'll need to use CrsfCookieConfig, otherwise it'll be looking for the default cookie name. See https://github.com/edward-shen/actix-csrf/blob/master/tests/custom_cookie_name.rs#L90-L98 for an example.

I added .cookie_name("__Secure-Csrf-Token") to my function but it's still throwing the same error.

You're not suppose to change that. I meant https://github.com/edward-shen/actix-csrf/blob/master/tests/custom_cookie_name.rs#L95

It's working now! Thanks a lot!


PropertyConstraintViolationError: When chargingProfilePurpose =ChargingStationMaxProfile, chargingProfileKind SHALL NOT be Relative

Describe the bug
I've managed to get an Autel Maxicharger setup with HA / OCPP. Most of the functions are working and the charger is reporting the correct details back. One of the features is failing to work. I'm unable to change the charging amps. It shows the following error in the logs and on the dashboard when making the change.
ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [2759196832] PropertyConstraintViolationError: When chargingProfilePurpose =ChargingStationMaxProfile, chargingProfileKind SHALL NOT be Relative, {}
To Reproduce
Steps to reproduce the behavior:
Open the charger device page from Settings -> integrations
Attempt to change the Maximum_Current
Expected behavior
Charge currently to change on the device when changed within HA
Additional context
HA Version: 2022.11.1 (Docker)
OCPP Version: 0.4.36
Debug Log:
2022-11-06 11:46:23.582 INFO (MainThread) [ocpp] charger: receive message [2,"2022110611462200000002","StatusNotification",{"connectorId":0,"status":"Available","errorCode":"NoError"}]
2022-11-06 11:46:23.583 INFO (MainThread) [ocpp] charger: send [3,"2022110611462200000002",{}]
2022-11-06 11:46:24.816 INFO (MainThread) [ocpp] charger: receive message [2,"2022110611462200000003","StatusNotification",{"connectorId":1,"status":"Preparing","errorCode":"NoError","info":"eCp_9V"}]
2022-11-06 11:46:24.817 INFO (MainThread) [ocpp] charger: send [3,"2022110611462200000003",{}]
2022-11-06 11:46:37.533 INFO (MainThread) [ocpp] charger: send [2,"3e5a4a74-5f0d-4336-89d1-57f2096dd50c","GetConfiguration",{"key":["ChargingScheduleAllowedChargingRateUnit"]}]
2022-11-06 11:46:38.959 INFO (MainThread) [ocpp] charger: receive message [3,"3e5a4a74-5f0d-4336-89d1-57f2096dd50c",{"configurationKey":[{"key":"ChargingScheduleAllowedChargingRateUnit","readonly":true,"value":"Current,Power"}]}]
2022-11-06 11:46:38.961 DEBUG (MainThread) [custom_components.ocpp] Get Configuration for ChargingScheduleAllowedChargingRateUnit: Current,Power
2022-11-06 11:46:38.961 INFO (MainThread) [custom_components.ocpp] Charger supports setting the following units: Current,Power
2022-11-06 11:46:38.961 INFO (MainThread) [custom_components.ocpp] If more than one unit supported default unit is Amps
2022-11-06 11:46:38.962 INFO (MainThread) [ocpp] charger: send [2,"8a86b976-9f4c-4e42-9159-4b2e4f332fac","GetConfiguration",{"key":["ChargeProfileMaxStackLevel"]}]
2022-11-06 11:46:40.356 INFO (MainThread) [ocpp] charger: receive message [3,"8a86b976-9f4c-4e42-9159-4b2e4f332fac",{"configurationKey":[{"key":"ChargeProfileMaxStackLevel","readonly":true,"value":"20"}]}]
2022-11-06 11:46:40.358 DEBUG (MainThread) [custom_components.ocpp] Get Configuration for ChargeProfileMaxStackLevel: 20
2022-11-06 11:46:40.362 INFO (MainThread) [ocpp] charger: send [2,"e55ec995-492c-4e35-89b8-4d4d1e451cb4","SetChargingProfile",{"connectorId":0,"csChargingProfiles":{"chargingProfileId":8,"stackLevel":20,"chargingProfileKind":"Relative","chargingProfilePurpose":"ChargePointMaxProfile","chargingSchedule":{"chargingRateUnit":"A","chargingSchedulePeriod":[{"startPeriod":0,"limit":11.0}]}}}]
2022-11-06 11:46:40.891 INFO (MainThread) [ocpp] charger: receive message [4,"e55ec995-492c-4e35-89b8-4d4d1e451cb4","PropertyConstraintViolation","When chargingProfilePurpose =ChargingStationMaxProfile, chargingProfileKind SHALL NOT be Relative",{}]
2022-11-06 11:46:40.894 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [2759196832] PropertyConstraintViolationError: When chargingProfilePurpose =ChargingStationMaxProfile, chargingProfileKind SHALL NOT be Relative, {}
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 200, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1744, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 208, in handle_service
await service.entity_service_call(
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
future.result()  # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 943, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/number/init.py", line 109, in async_set_value
await entity.async_set_native_value(native_value)
File "/config/custom_components/ocpp/number.py", line 125, in async_set_native_value
resp = await self.central_system.set_max_charge_rate_amps(
File "/config/custom_components/ocpp/api.py", line 271, in set_max_charge_rate_amps
return await self.charge_points[cp_id].set_charge_rate(limit_amps=value)
File "/config/custom_components/ocpp/api.py", line 600, in set_charge_rate
resp = await self.call(req)
File "/usr/local/lib/python3.10/site-packages/ocpp/charge_point.py", line 274, in call
await self._get_specific_response(call.unique_id,
File "/config/custom_components/ocpp/api.py", line 855, in _get_specific_response
raise resp.to_exception()
ocpp.exceptions.PropertyConstraintViolationError: PropertyConstraintViolationError: When chargingProfilePurpose =ChargingStationMaxProfile, chargingProfileKind SHALL NOT be Relative, {}

Looks like a quirk of your charger. You can try changing the line of code to Absolute or Recurring instead

Can you share what other changes you made to get your configuration working? Mine is working but gives errors occasionally and frequently becomes unavailable.
https://github.com/lbbrhzn/ocpp/discussions/669

I am also having this same issue with my new Autel Maxicharger. Managed to get it to connect to my OCPP instance, but see this same error when attempting to change the current limit with this integration via Homeassistant.


MINOR: Update dependencies

Updates minor versions for our dependencies and build tool

Jackson from 2.16.0 to 2.16.1 https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.16.1
JUnit from 5.10.0 to 5.10.2 https://junit.org/junit5/docs/5.10.2/release-notes/ and https://junit.org/junit5/docs/5.10.1/release-notes/
Mockito from 5.8.0 to 5.10.0 (only if JDK 11 or higher) https://github.com/mockito/mockito/releases/tag/v5.10.0 and https://github.com/mockito/mockito/releases/tag/v5.9.0
Gradle from 8.5 to 8.6 https://docs.gradle.org/8.6/release-notes.html

Gradle upgrade was done via:
./gradlew wrapper --gradle-version latest
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Please update license of jackson here - https://github.com/apache/kafka/blob/cc49fc76564b15f2111801faf62341aaf01c4d8c/LICENSE-binary#L219

It must have been fixed by https://github.com/apache/kafka/commit/cc49fc76564b15f2111801faf62341aaf01c4d8c
Perhaps a rebase from trunk should help.

Rebased

Backported to 3.7 branch

Regarding a backport to the 3.6 branch, Gradle version over there is 8.2.1, it's a bit of a jump I believe.

Regarding a backport to the 3.6 branch, Gradle version over there is 8.2.1, it's a bit of a jump I believe.

Ok, no worries. Let's keep it limited to 3.7.x. We can always revisit updating dependencies if/when we start a patch fix for 3.6.2

There is a version of gradle wrapper in our gradlew file:
https://raw.githubusercontent.com/gradle/gradle/v8.5.0/gradle/wrapper/gradle-wrapper.jar

should we update to 8.6.0 it as well?

I generated the wrapper the way gradle recommends (./gradlew wrapper --gradle-version latest). I would leave it the way gradle generates it


[Windows] Error Visual C++ Runtime

Hello, I get the following error when working with a Windows program written with a flutter and I have to close and open the program altogether

@mbfakourii
When do you get this error ? Do you get any error log in the console that you can share here ?

@darshankawar
INFO - .flutter.run.daemon.FlutterApp - StopApp ApadanaAutomation (Debug)
2022-04-06 14:52:32,999 [10606426]   INFO - .flutter.run.daemon.FlutterApp - DebugApp ApadanaAutomation (Debug)
2022-04-06 14:52:32,999 [10606426]   INFO - .flutter.run.daemon.FlutterApp - C:\Users\mbfakourii\flutter\bin\flutter.bat [--no-color, run, --machine, --track-widget-creation, --device-id=windows, --start-paused, --dart-define=flutter.inspector.structuredErrors=true, lib\main.dart]
2022-04-06 14:52:49,255 [10622682]   INFO -                         STDERR - invalid Unicode Property \p: /(?<=^[\s\d\p])\bV\b/
2022-04-06 14:53:23,283 [10656710]   INFO - j.ide.actions.RevealFileAction - Exit code 1

I guess it was due to changing the name of the program to Persian, right?

changing the name of the program to Persian

Do you mean you changed your app's name in Persian and tried to run the app which led to this dialog ?

changing the name of the program to Persian

Do you mean you changed your app's name in Persian and tried to run the app which led to this dialog ?

Not after running and working for a few minutes, this happens in debug mode

@mbfakourii
I doubt if this is related to Flutter but seems specific to windows config / setting for which you can ask the same on support channels like Stackoverflow. If you disagree or think this is a genuine Flutter bug, write in comments and I'll reopen it.


Configuring Travis CI build & switching to python 3

switch from python 2.* to python 3.6
remove references of python 2 checks
fix python imports for python 3
remove get_default_spaner function since the implementation is lacking stuff
fix middleware_chagin_concat function to call reversed
fix a test which was failling

@rogeralsing can you enable travis CI? I just corrected so it should work just fine now :)

Travis is enabled :)

Perfect!


Bug - My rewards pagination + count is wrong on payout addresses tab

Need to properly get the count of total "rewards" in order for both of these to be correct.

also captured here just fyi @bcinman in case the rewards part is already addressed: https://github.com/orgs/MetricsDAO/projects/5/views/6?pane=issue&itemId=23432859

looks resolved


Snabbdom tries to remove a node that is already detached, throws exception

Changing the content of an element from an array of children to some innerHTML content currently produces the following exception:
Uncaught DOMException: Node.removeChild: The node to be removed is not a child of this node

This bug can be reproduced as such:
var patch = snabbdom.init([
  snabbdom.propsModule
]);

var el = document.createElement('div');
document.body.appendChild(el);

var vdom = patch(el, snabbdom.h('p', {}, ["Text"]));
patch(vdom, snabbdom.h('p', {props: {innerHTML: "Eh?"}}, []));

In other words:

Snabbdom renders an element with TextNode children
Snabbdom reuses the element for a new vnode that has no children, but instead sets innerHTML
Snabbdom calls on the properties module to update the node first, causing it to set innerHTML
Snabbdom attempts to remove the old TextNode from the DOM
The TextNode is no longer attached to the DOM; Snabbdom encounters an exception

It can happen when trying to remove elements as well:
var vdom = patch(el, snabbdom.h('p', {}, [snabbdom.h('span', {}, ['LUL'])]));
patch(vdom, snabbdom.h('p', {props: {innerHTML: "Eh?"}}, []));

This time it fails in a different place.

I could provide a PR, but I'm not sure what the preferred fix is. It seems to me that the way Snabbdom allows its modules to "do anything" to a node is somewhat at odds with its assumptions that all DOM operations are safe. My suggestion for a fix is to ensure that the node being removed in DOMAPI.removeChild is still attached to the DOM (in the position expected by Snabbdom), before attempting to remove it:
function removeChild(node: Node, child: Node): void {
  if (child.parentNode === node) {
    node.removeChild(child);
  }
}

I'm not intimately familiar with the implementation or guiding principles in it, so this may not be your preferred solution.

Any chance of getting some feedback on this? I'd be happy to do a PR, but need some input as requested above.

Honestly, I am not sure what the best thing to do here is. There are basically two options:

Usage of innerHTML and snabbdom components is documented as wrong. This would mean if you plan to use innerHTML you have to not create a text node and use innerHTML for that text too.
The check you describe. I see two potential issues here: The first is performance and the second is that other modules might expect nodes to be part of the DOM so this could be a breaking change.

Other opinions @mreinstein @paldepind ?

This would mean if you plan to use innerHTML you have to not create a text node and use innerHTML for that text too.

This is just one of many ways the innerHTML module can break Snabbdom. Basically, when you set innerHTML, Snabbdom's assumptions about the world go out the window.
I don't think it's possible to implement innerHTML as a module the way Snabbdom currently does. It probably must be a core feature to work correctly, as it can make all kinds of (structural) changes to the tree structure that Snabbdom expects to be in full control of.

The first is performance

How much of a performance hit will this check bring with it? It will only be performed before removing a node.

Honestly, I am not sure what the best thing to do here is.

Same. I looked at this issue a few weeks ago to see if I could chime in with helpful feedback, but I wasn't really sure what to say that would be helpful.
I think the reason why is I'm unclear on "real" use cases where this would happen. It feels more like exploratory notes from someone doing work on vdom and analyzing the snabbdom codebase as a learning exercise.
I don't mean this to be dismissive of the issue, there are some interesting bits in the description. There may be a genuine use case that is failing and I'm just not understanding it.

I think the reason why is I'm unclear on "real" use cases where this would happen. It feels more like exploratory notes from someone doing work on vdom and analyzing the snabbdom codebase as a learning exercise.

It's quite easy to trigger. The only reason I discovered this was because we ported our codebase from React (through https://github.com/levand/quiescent/) to Snabbdom (through https://github.com/cjohansen/dumdom/) and this happened in a few places. When it does happen, you're left with some pretty wild behavior.

I don't mean this to sound dismissive, there are some interesting bits in the description. There may be a genuine use case that is failing and I'm just not understanding it.

It does sound a bit dismissive :) The guine use-case is this: I used the innerHTML module. I breaks the DOM in ways the core Snabbdom does not account for.

I get that it's easy to trigger, but I'm struggling to understand at the application level why someone would invoke this usage pattern. Admittedly, I have a very limited application of the innerHTML prop in my own code:
import sanitize from './html-sanitizer.js'

// render the modal window header
h('h2', {
        props: {
            innerHTML: sanitize(someRawHTML)
        }
    }
)

This is an escape hatch, a special condition where a header in one of my UI components has html formatting that gets passed in from the content management system that authored the original content. It's pretty much always some light html that doesn't change much, and doesn't change the structure of it's content much/at all.
I'm not saying that this is the only use case for innerHTML, but it's how I have been using it.
Managing the internal HTML content of a DOM element inside the vnode tree is going to be tricky in some cases, as you mentioned due to the way snabbdom allows it's plugins to do anything to a node.
Without understanding the patterns at the app level it's hard to say, but my gut feeling is that there are other workarounds that don't involve completely re-architecting snabbdom:

if the use cases of this in your application are limited, perhaps you can avoid directly setting innerHTML
you could declare your own v1 custom element(s), and that might obviate some of the need for  innerHTML

If you share what patterns are popping up in your app where you're setting innerHTML maybe we can work through some of these alternatives.

I get that it's easy to trigger, but I'm struggling to understand at the application level why someone would invoke this usage pattern.

Because it's so easy to trigger, there are literally countless ways to do it. Basically, any pattern that puts an element with innerHTML in the same relative position as another element without innerHTML. I discovered it because we have some code that sometimes returns null and sometimes an element. This caused Snabbdom to reuse a DOM element that logically came from one function in my code base to render a DOM element from a completely different function.
I through the best approach was to boil the problem down as much as possible, hence my initial example.
If you want another, slightly more involved example, I'll provide one. This one illustrates how insidious this problem is:

One page renders a div with an h1 and an a
Another page renders the same structure - a div with a h1 and an a. Only this time, the h1 uses innerHTML to render some pre-formatted text (from a CMS or whatever)
Snabbdom goes boom

var patch = snabbdom.init([
  snabbdom.propsModule,
  snabbdom.styleModule,
  snabbdom.eventListenersModule
]);

var el = document.createElement('div');
document.body.appendChild(el);

var currentPage = 'page1';
var currentRoot = el;

function render() {
  var pageFn = currentPage === 'page1' ? page1 : page2;
  currentRoot = patch(currentRoot, pageFn());
}

function navigate(page) {
  currentPage = page;
  render();
}

function page1() {
  return snabbdom.h('div', {}, [
    snabbdom.h('h1', {}, ["Title"]),
    snabbdom.h('a', {
      props: {
        href: "#/page2"
      },
      on: {
        click: e => {
          e.preventDefault();
          navigate('page2');
        }
      }
    }, ["Page 2"])
  ]);
}

function page2() {
  return snabbdom.h('div', {}, [
    snabbdom.h('h1', {props: {innerHTML: 'Fancy title'}}, []),
    snabbdom.h('a', {
      props: {
        href: "#/page1"
      },
      on: {
        click: e => {
          e.preventDefault();
          navigate('page1');
        }
      }
    }, ["Page 1"])
  ]);
}

render();

In any case I think the whole discussion about whether the use cases are "real enough" is a bit of a detour. Snabbdom makes assumptions in its core that are broken by one of its core modules (the props module with the innerHTML prop). This is a pretty serious flaw, even if it hasn't bitten you often.  I'd much rather be discussing what's a good fix.
The way I see it, either Snabbdom does not assume that the DOM has been untouched, and guards some of its exception-prone DOM API usage, or innerHTML is handled specifically. For instance, by removing innerHTML from the props module and specifically handling innerHTML at the end of the patch operation, I think this problem could be avoided. Another approach could be to not reuse DOM elements that have had, or is in the process of having its innerHTML tampered with.
The last suggestion is what we're effectively doing while we're awaiting a resolution here - any element that sets innerHTML gets a hash of the innerHTML as its key if it doesn't already specify a key. This thwarts the reuse of the element and avoids the problem.

As a side-note - after the port we're also seeing some stray exceptions in production from insertBefore being used incorrectly. I haven't had time to hunt this one down yet, but Snabbdom´s insertBefore is written similarly to removeChild, and I suspect it could be a related problem of assumptions not holding up. I'll get back when I know more.

the whole discussion about whether the use cases are "real enough" is a bit of a detour

For people that have to maintain snabbdom, we need understanding on the application level patterns that appear in people's use cases. I am genuinely sorry if this feels like a waste of your time. I'm coming from the standpoint of needing to not break the world for everyone relying on snabbdom, today.
Again, I am not discounting that there may be some kernels of goodness in this issue. Maybe these things could provide future refactoring ideas for a next-gen snabbdom.  I really don't know.

If you want another, slightly more involved example, I'll provide one

Thank you for an application example.  If the goal is to get your application code working on snabbdom today, you could refactor it, something like this:
const patch = snabbdom.init([
  snabbdom.propsModule,
  snabbdom.styleModule,
  snabbdom.eventListenersModule
]);

let currentRoot = document.createElement('div');
document.body.appendChild(currentRoot);

let currentPage = 'page1';

function render () {
  currentRoot = patch(currentRoot, pageFn());
}

function navigate (page) {
  currentPage = page;
  render();
}

function pageFn () {
  const content = (currentPage === 'page1') ? 'Title' : 'Fancy title';
  const href = (currentPage === 'page1') ? 'page2' : 'page1';
  const pageTitle = (href === 'page1') ? 'page 1' : 'page 2';

  return snabbdom.h('div', {}, [
    snabbdom.h('h1', { props: { innerHTML: content } }, [ ]),
    snabbdom.h('a', {
      props: {
        href: `#/${href}`
      },
      on: {
        click: e => {
          e.preventDefault();
          navigate(href);
        }
      }
    }, [ pageTitle ])
  ]);
}

render();

In a single page application with lots of pages, lots of different states, and lots of developers, it's not possible to use the workaround suggested here ("just use innerHTML in both places").
Since snabbdom will eagerly re-use dom elements, using innerHTML any place has to be considered a bug. Unless this is fixed.

I'm coming from the standpoint of needing to not break the world for everyone relying on snabbdom, today.

I have the utmost respect for this mindset! Breaking changes helps noone. But none of my suggested approaches need to be breaking changes. In any case, Snabbdom is very likely to break the world for anyone who uses innerHTML, today. Seems worth fixing to me.
I'm not sure why you rewrote my example... I wrote it specifically to trigger the bug, to illustrate in the kinds of situations where the bug will appear. Like @magnars pointed out - working around the problem only works in very simple cases. Add a smidge more levels of variability and you're all out of luck with this naive approach. I know, because in the code-base where we discovered this it was quite a bit of work to analyze our way to the conclusion, and a similar work-around would not be feasible, if even possible.

Snabbdom is very likely to break the world for anyone who uses innerHTML, today. Seems worth fixing to me.

No one is arguing against fixing bugs.

I'm not sure why you rewrote my example

I did not re-write anything. I asked for a real world instance of the problem from an app's codebase to look at, and then did my best to give you a practical way to workaround the problem with today's snabbdom.
Is there a concrete, actionable proposal on what you would fix?

I did not re-write anything. I asked for a real world instance of the problem from an app's codebase to look at, and then did my best to give you a practical way to workaround the problem with today's snabbdom.

I see. Guess we're talking past each other then. I wrote the example to illustrate how one might trigger this bug.

Is there a concrete, actionable proposal on what you would fix?

I have two suggestions. First, this function makes unsafe assumptions:
function removeChild(node: Node, child: Node): void {
  node.removeChild(child);
}

So one fix is to guard it:
function removeChild(node: Node, child: Node): void {
  if (child.parentNode) {
    child.parentNode.removeChild(child);
  }
}

If you go this route, then I suspect insertBefore needs the same type of guarding. There was some worry about performance with this fix, which I honestly don't think is much of a problem, but it could be measured. The more worrying aspect of this is that the same assumption may exist in other modules, so this really only addresses the symptoms, not the underlying problem.

An alternative, more pervasive change is to not handle innerHTML in the props module, but in Snabbdom's core. This seems like the right approach to me, as innerHTML may cause structural changes that Snabbdom probably wants to stay on top of. I'm not deeply familiar with the implementation however, so this may be an uninformed viewpoint.
The 100% backwards-compatible way to do this would be to add the feature in core, and leave the broken implementation in the props module, e.g.:
// Get current implementation
snabbdom.h('h1', { props: { innerHTML: content } }, [ ])

// Get new core implementation
snabbdom.h('h1', { innerHTML: content }, [ ])

A small concession could be made such that core "steals" the innerHTML property from the props object. This would fix the problem for everyone, but may not be to your taste.

I'm not convinced that adding the guards will be much of a fix. Sure, the exceptions might go away, but Snabbdom will still unsafely reuse DOM elements.
Maybe marking DOM elements as "do not reuse" after they are tampered with outside the assumptions of Snabbdom core is a solution. This could then be used by other DOM-manipulating modules as well.

One last point re: guarding against reuse of elements. If done too conservatively, components like this:
function niceTitle({titleMarkup, title}) {
  return snabbdom.h('h1', {
    props: titleMarkup ? {innerHTML: titleMarkup} : {}
  }, titleMarkup ? [] : [title]);
}

Will get and unmount and a mount when it really should have gotten an update.

Yes the guards won't do much good. IMO, innerHTML is an escape hatch and that if you decide to use it for some reason you need to make sure it does not interfere with snabbdom yourself.
Supporting it by default is not something we should try to do. I think we should document this more prominently and point out the alternatives if you have to use it:

Change the structure of your vdom, so the innerHTML does not interfere with diffing
Use a html-to-snabbdom parser (I found snabbdom-virtualize but that seems outdated)

IMO, innerHTML is an escape hatch and that if you decide to use it for some reason you need to make sure it does not interfere with snabbdom yourself.

I must have failed to communicate how hard it can be to track down this problem. This is in my opinion not user-friendly. I also do not agree that innerHTML is just an escape hatch.

Change the structure of your vdom, so the innerHTML does not interfere with diffing

I can't seem to get this point across, but this is basically impossible in all but trivial cases.
If you don't intend to fix this problem, innerHTML should be prominently documented as broken and very likely to cause problems. The best option available to consumers is to set the vdom element's key to the same string as innerHTML, as that will prevent Snabbdom from reusing the element in unsafe ways.

Use a html-to-snabbdom parser (I found snabbdom-virtualize but that seems outdated)

Something like that could power the implementation of a Snabbdom innerHTML module, perhaps? With a dedicated module that did something like that, there would be a proper solution for a useful feature, and you don't need to put it in Snabbdom core.

We obviously disagree on both the utility of innerHTML and the gravity of this problem.

Well I just lost the first 2 hours of what should have been my sleep, tossing and turning over this particular issue and how to resolve it amicably, so let's cool it with the "you don't care" claims. :)

If you don't intend to fix this problem,

I'm not opposed to fixing problems, but I'm still having trouble understanding why a large app was built this way. It seems to me like an anti-pattern. At least in snabbdom, one shouldn't be injecting large chunks of raw HTML into a virtual DOM tree because it wasn't designed to work that way and will probably muck things up.
Part of why I lost sleep is one side is saying a) "this is definitely broken", and those people are trying to migrate a large app from one view engine to a totally different one. And the other group of people are saying b) "this isn't how snabbdom is supposed to work, you're leaning too heavily on a bad app design pattern (in snabbdom land at least." and we might just be stuck in our ways because it's always worked this way.
I don't know that one side is right or wrong. I can see it from both sides a little. Obviously I am more in camp b)
so I don't really know how to resolve this. I think if you're willing to put together a PR, at least then we could have arguments over a potential fix, instead of long winded theory back and forth. :) Assuming the PR is not crazy labor intensive to put together I think that's constructive. The only risk is there's no guarantee we will say "yes this is definitely a PR that will get merged"
I also think this is a good opportunity for us to learn from a team that is trying to migrate a large app away from react to snabbdom. I don't know if anyone has tried to do this for a sizable app before. Surely there are things to learn. Curious, what drove you folks to move away react to snabbdom in the first place?

Curious, what drove you folks to move away react to snabbdom in the first place?

To get off the churn train. Which is why your point about avoiding breaking changes is so sweet to my ears. 😊
As for innerHTML, I would say it is certainly a bad practice. If it were not for CMS-es with rich text editors, it would be pretty straightforward to migrate away from it.

At least in snabbdom, one shouldn't be injecting large chunks of raw HTML into a virtual DOM tree because it wasn't designed to work that way and will probably muck things up.

We're not. We're inserting some text with inline markup here and there.
I assumed that since Snabbdom had a way to set innerHTML, it was a feature along the lines of React's "dangerouslySetInnerHTML". But that assumption could be wrong, so I'll ask a question that I should have asked in the beginning: Snabbdom currently allows setting innerHTML via the props module. Is this an intended feature, or an unintended side-effect of mapping whatever is in props to the underlying DOM element?

but I'm still having trouble understanding why a large app was built this way. It seems to me like an anti-pattern. At least in snabbdom, one shouldn't be injecting large chunks of raw HTML into a virtual DOM tree

I am in the boat with @cjohansen here. Our React app also used dangerouslySetInnerHTML to include rich text from a CMS such as product descriptions (with links, bold and other formatting, paragraphs, sometimes images). That seems to me as a common need so it would be nice if there was a simple, safe way to do that in snabbddom. I guess using a html-to-snabbdom parser would be a solution, if there was such a tool, and good and reliable one (perhaps there is?). Just my 2 cents.

I've hit this issue as well.
I had previously implemented a dynamically expanding textarea, by having an outer div with overflow hidden, a textarea inside that div, and one additional hidden div as a sibling of the textarea with identical styling. I use an Elm-like application framework and it was very easy to have the same text from the textarea in the sibling div, positioned/styled such that it would push open the visible area of the outer div exposing more of the text area as text was added.
As the application grew both the view function and Snabbdom's diffing and patching started taking longer, and the user experience of typing text was getting laggy, so I modified the application framework. I implemented a batching mode that accumulated events, and batched user input so several events get applied to to the application state all at once, then the view function and patch run.
The delay between the users' text input and updates to the sibling div broke the layout, and I resorted to using an event outside of Snabbdom to immediately update the sibling div. The bugs were subtle, originally there was just occasional missing or incorrect content, but Snabbdom didn't throw any exceptions. Finally a change in layout caused Snabbdom to try to detach a nonexistent element and I got an exception. I then realized that my issue was this issue.
Rather than implementing some check on the existence of innerHTML, it might be nice if users could mark nodes as dirty (i.e. having been manipulated outside of Snabbdom and not reusable). Seems like that would be fast. It could be a configurable check that was off by default. This would cover more use cases, as I said: originally I didn't have any exceptions, just incorrect content.

I've been using my down-time to make little Snabbdom PRs and resolve various issues. Because there are many opened issues and PRs, I did not read this great discussion until tonight. @cjohansen it is enjoyable to read your clear input and analysis in all issues and particularly this one.
It seems dumdom continues to be developed and to use Snabbdom despite annoying issues you found and carefully reported which were never resolved,

https://github.com/snabbdom/snabbdom/issues/973
https://github.com/snabbdom/snabbdom/issues/1011
https://github.com/snabbdom/snabbdom/issues/970
https://github.com/snabbdom/snabbdom/issues/972
https://github.com/snabbdom/snabbdom/issues/971

Would you tell, from a high-level, what is your view of Snabbdom at this time? Has Snabbdom been a good vdom package for you, despite above listed issues? Have you encountered slowness issues like the ones described by @aranchelk? How do you think Snabbdom compares with Inferno and react-dom at this time? Are innerHTML issues the most serious short-coming with Snabbdom? (nice suggestion to support legacy and new core innerHTML implementations)
Also, sharing these recent PRs which might resolve some issues you reported,

https://github.com/snabbdom/snabbdom/pull/1083

might resolve https://github.com/snabbdom/snabbdom/issues/970

https://github.com/snabbdom/snabbdom/pull/1062

might resolve https://github.com/snabbdom/snabbdom/issues/971 and https://github.com/snabbdom/snabbdom/issues/972

https://github.com/snabbdom/snabbdom/compare/master...iambumblehead:snabbdom:apply-remove-style-deeply

explores https://github.com/snabbdom/snabbdom/issues/973 and https://github.com/snabbdom/snabbdom/issues/1011

Despite my comment, I have a very positive view of Snabbdom, it's an integral part of an application I work on. In our case we use PureScript with a wrapper library [https://github.com/t-dash-do/snabbare].
Having the ability to mark nodes as altered outside of Snabbdom and not reusable would still be useful.
Our current workaround for that are too big to update promptly is to make all elements that would have been expanding textareas read-only with clickable links to a separate edit page -- not ideal but it works.

thanks for the ping-back @aranchelk I haven't used Snabbdom for anything "heavy" myself yet and your previous comment about slowness did give pause. Its great to know things are basically good for you

@iambumblehead Thanks for your kind words 😊
I've been a happy Snabbdom user (through dumdom) for years. It was a bit of a bumpy ride to get on, as you've seen documented here, but we managed to work around them and things have been stable since.
This specific problem was solved by setting a key on any node that uses innerHTML. This way, innerHTML-nodes are never reused. Worked like a charm for us.

that's great! thanks for sharing that :)


Passing objects as arguments to dynamic styles

Is there a limitation to the kind of arguments that can be passed as arguments to dynamic styles?
I keep getting the following error in the code below:
Error message:
 common/components/ui/Flex/index.js: Only static values are allowed inside of a stylex.create() call.
Here is my Flex component:

import React from 'react';
import * as stylex from '@stylexjs/stylex';

const styles = stylex.create({
    row: (moreProps = {}) => ({
        display: 'flex',
        flexDirection: 'row',
        ...moreProps
    }),
    column: (moreProps = {}) => ({
        display: 'flex',
        flexDirection: 'column',
        ...moreProps
    })
});

const Flex = ({
    direction = 'row',
    justifyContent = 'flex-start',
    alignItems = 'stretch',
    children,
    style
}) => {

    return (
        <div {...stylex.props(styles[direction]({ justifyContent, alignItems }), style)}>
            {children}
        </div>
    );
};

export default Flex;

What could be wrong and what's a better to fixing this?

Only the value can be dynamic and not the keys.
This should work:
const styles = stylex.create({
    row: (moreProps = {}) => ({
        display: 'flex',
        flexDirection: 'row',
        ...moreProps
    }),
    column: (moreProps = {}) => ({
        display: 'flex',
        flexDirection: 'column',
        direction: moreProps.direction,
        alignItems: moreProps.alignItems,
        justifyContent: moreProps.justifyContent,
    })
});

This limitation cannot be removed since even in the case of dynamic styles, class names are generated and only variable values are set as inline styles.

@nmn  Thanks for your suggestions but the following piece of code in itself still doesn't work:
const styles = stylex.create({
    row: {
        display: 'flex',
        flexDirection: 'row',
    },
    column: {
        display: 'flex',
        flexDirection: 'column',
    },
    place: (moreProps = {}) => ({  //This argument works if it's a simple primitive but Objects don't work
        alignItems: moreProps.alignItems,
        justifyContent: moreProps.justifyContent,
    })
});

It seems the arguments that are allowed as dynamic values are only primitives other than objects.
It's weird, that the error below keeps coming up:
 /app/common/components/ui/Flex/index.js: Only static values are allowed inside of a stylex.create() call.

The pattern in your last example is designed to be supported. Looks like you've encountered a bug! I'll re-open this issue so we can fix this bug.

@nmn  Wow! You are right. The default value was the issue. It's working now after it was removed. Thank you

We will not be supporting default values within dynamic style functions. This issue is open as a reminder to improve compiler error messages when default values are encountered.


Create monitor for VA Profile integration

Development for #704 codified that POST requests from VA Profile are expected to contain a JSON body with a "bios" attribute that is a list with a single element.  The implementation logs a warning if "bios" contains multiple elements and only processes the first element.
Create a monitor to alert us if these warnings occur.  This could be in CloudWatch, etc.  No particular solution is prescribed.

@k-macmillan @mjones-oddball

@k-macmillan Should we be managing all monitors and alerts through DataDog if possible?

Hey team! Please add your planning poker estimate with ZenHub @EvanParish @ianperera @jakehova @jessecanderson @k-macmillan @kalbfled


Update README for Azure Hosting projects to fix description of the me…

…thods to add the resources, and show AddConnectionString as an alternative to use an existing service
Microsoft Reviewers: Open in CodeFlow

If you port to 8.0 I'll approve it

/backport to release/8.0


Ability to cache vurneability check result

I'm evaluating the plugin to do a check in a delivery pipeline. The pipeline (for a given app) can be executed quite often (e.g. per commit build for side branches or PR builds). Therefore, I would like to (if enabled) cache a result for known artifacts for some time (e.g. 12h - could be configurable).
I would definitely prefer that over rateLimitAsError = false as (if I understood it correctly) in my proposal only results for already tested artifacts are cached and I can still ask for the newly added ones (rate limit is not reached).
Of course, it can pass some vulnerable components to the next stage, but ~12h time window is acceptable for kind of applications.

In the context of #39 it would be beneficial to keep a query (result) time in a cache. Then, all the build could read that date and decide if it is needed to ask the API (and update the result).


Can not render my simple inline math equation to svg

I try to render my simple note which contains some inline equations by the plugin shows me

My note is looking like this:

It can be render by Markdown All in One plugin without any error.

For inline equations you'll need to select and convert them one by one. We currently didn't implement converting a whole paragraph with equations inside. Sorry.

Also, just like the error message said, you need to select both the leading and the trailing $ for each equation.

Got it....Thanks

I'll mark this as a feature request. This is indeed a nice-to-have feature.


UPNP discovery indefinitely freezes in some cases

Godot version:

9ca1a5af3e8186c396e5b8c74b2cebe1e25a65c9
OS/device including version:

Arch Linux
Issue description:

Calling upnp.discover() indefinitely freezes Godot, where it should eventually exit with an error code.
Steps to reproduce:
Call upnp.discover() with a router acting as an access point in the current NAT.
Minimal reproduction project:

godot-upnp-example.zip

When adding the UPNPDevice to the list of devices, while parsing its properties through parse_igd, Godot seems to open a socket connection to the router. This is a problem, since the router isn't acting as a router, but as an access point. I think the only solution might be to add a timeout to the socket connection in thirdparty/miniupnpc/connecthostport.c

The upnpc command line utility resolves this issue by seemingly having a significantly shorter timeout for connect, as when successfully mapping an internal port with that utility, it prints connect: Connection timed out then the details of the correct router that serves as the NAT's external router.

It seems as if the define MINIUPNPC_SET_SOCKET_TIMEOUT needs to be set so that in connecthostport.c it sets the socket timeout when connecting to a router to 3 seconds.


setDate do not work with inline = true

As you can see here, the new date, set with lightpick.setDate(), is not highlighted.

Thanks, I'll fix it.

fixed in 1.3.3
https://jsfiddle.net/d675xtmz/

Thank you for the reactivity!

Sorry, but there is still a problem: when you choose a date outside of the current month the month is not selected.
https://jsfiddle.net/GilMar_CREALP/rs793y2c/1/

@gilles-crealp you are right, check please 1.3.4
https://jsfiddle.net/ndcj1t48/

Your fiddle is not working.

Hi.
I believe this issue has been fixed. Could you confirm?
Thank you.

No, as I mention here, when you choose a date outside of the current month the month is not selected.

I think I see what you mean.
You mean you are on January screen but you are picking a date from February and month screen still shows January. Right?

No, I think that when you select a date with setDate (for example January 1st 1990) the date should be displayed and not the current date (October 21st 2019)...

Understood now.
I think I'll pass this issue to @wakirin
Thank you.

Hi @gilles-crealp,
I see where is the problem.
At the moment you can call gotoMonth immediately after setDate. Eg: https://jsfiddle.net/cso1h2qx/
I'll fix it a bit later.
Thanks.


RECORDED SEQUENCE RBOT DATASET

We ran the evaluate part of the code on the RBOD dataset, and the results were as in the article. But we could not run the RBOT dataset on https://github.com/DLR-RM/3DObjectTracking/blob/master/RBGT/examples/run_on_recorded_sequence.cpp, we couln't render the objects, what should we do for this, is there a parameter we need to change?

We ran the evaluate part of the code on the RBOD dataset, and the results were as in the article. But we could not run the RBOT dataset on https://github.com/DLR-RM/3DObjectTracking/blob/master/RBGT/examples/run_on_recorded_sequence.cpp, we couln't render the objects, what should we do for this, is there a parameter we need to change?

Hey, were you able to solve the above issue. If yes then can yo please provide the required steps. I am also trying to run the same file but when I run it I get some errors including some missing files like color_camera_meta_data.txt, body_1.txt, body_2.txt. Here's a link to my the detailed explanation of my issue. Any kind of help would be useful, thanks in advance.


After upgrade to 13.2.5 got "Angular Compiler requires TypeScript >=4.4.2 and <4.6.0 but 4.6.2 was found instead"

🐞 Bug report

[ ] new
[x] build
[x] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

Yes, the previous version in which this bug was not present was: 13.0.x
Description
I have upgraded from 13.0 to cli/core @ 13.2.5 and then all the other packages to latest.
I now receive error when i try to serve
file:///C:/..ClientApp/node_modules/@angular/compiler-cli/bundles/chunk-PJPAHVUO.js:262                                                             throw new Error(`The Angular Compiler requires TypeScript >=${minVersion} and <${maxVersion} but ${version} was found instead.`);                                                         ^                                                                                Error: The Angular Compiler requires TypeScript >=4.4.2 and <4.6.0 but 4.6.2 was found instead.
at checkVersion (file:///C:/../ClientApp/node_modules/@angular/compiler-cli/bundles/chunk-PJPAHVUO.js:262:11)
at verifySupportedTypeScriptVersion (file:///C:/../ClientApp/node_modules/@angular/compiler-cli/bundles/chunk-PJPAHVUO.js:266:3)
at new NgtscProgram (file:///C:/../ClientApp/node_modules/@angular/compiler-cli/bundles/chunk-PJPAHVUO.js:6798:7)
at AngularWebpackPlugin.updateAotProgram (C:\..\ClientApp\node_modules\@ngtools\webpack\src\ivy\plugin.js:323:32)
at C:\..\ClientApp\node_modules\@ngtools\webpack\src\ivy\plugin.js:200:24
at Hook.eval [as call] (eval at create (C:\..\ClientApp\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:9:1)
at Hook.CALL_DELEGATE [as _call] (C:..\ClientApp\node_modules\tapable\lib\Hook.js:14:14)
at Compiler.newCompilation (C:\..\ClientApp\node_modules\webpack\lib\Compiler.js:1108:30)
at C:\..\ClientApp\node_modules\webpack\lib\Compiler.js:1153:29
at eval (eval at create (C:\..\ClientApp\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:13:1)

versions:
Angular CLI: 13.2.5
Node: 16.14.0
Package Manager: npm 8.3.1
OS: win32 x64

Angular: 13.2.4
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1302.5
@angular-devkit/build-angular   13.2.5
@angular-devkit/core            8.3.29
@angular-devkit/schematics      8.3.29
@angular/cli                    13.2.5
@schematics/angular             12.2.16
rxjs                            7.5.4
typescript                      4.6.2

This is expected as Typescript 4.6 is not supported please downgrade to TypeScript 4.5.


Alaska 'Protective Order' Guided Assistant defect

@KellyeDC , @svasylenko, 1-2 hours for investigation of the issue and 1-1.5 hours for the development

Is the investigation complete or do you require additional information? @svasylenko
Kellye Bennett
Legal Navigator Project Manager
Legal Services Corporation

Office of Information Technology
3333 K Street, NW
Washington, DC 20007
P:<PHONE_NUMBER>
M:<PHONE_NUMBER>
E<EMAIL_ADDRESS>
From: yevhenobertas<EMAIL_ADDRESS>Sent: Thursday, October 10, 2019 7:08:42 AM
To: LSCOIT/LegalNavigator<EMAIL_ADDRESS>Cc: Kellye Bennett<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [LSCOIT/LegalNavigator] Alaska 'Protective Order' Guided Assistant defect (#1006)
@KellyeDChttps://github.com/KellyeDC , @svasylenkohttps://github.com/svasylenko, 1-2 hours for investigation of the issue and 1-1.5 hours for the development
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/LSCOIT/LegalNavigator/issues/1006?email_source=notifications&email_token=AK5GT5BOMGEFH6LVV3O7PP3QN4ELVA5CNFSM4I5JBBM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA326LY#issuecomment-540520239, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK5GT5A4425WU2F5VPOO5X3QN4ELVANCNFSM4I5JBBMQ.
[X]
Caution External Email Alert!
This message was sent from someone outside of LSC. Please do not click on links or open attachments unless you recognize the source of this email and know that the content is safe. If you believe that this email is a phishing attempt or contains malicious files or offensive content please contact the OIT HelpDesk.
OITHELPDESK mailto:oithelpdesk.lsc.gov

The investigation was comleted and the bug was fixed on the development environment.

@KellyeDC , The investigation was completed and the bug was fixed on the development environment

@KellyeDC , You can not check our fix on the development environment because of Spot. You can check on the staging environment after deployment there.

@KellyeDC deployment is scheduled on Tuesday morning our TZ since Monday is public holiday.


SnippingTool in Window mode thinks app frame fills entire monitor

** Expected:
Using Windows SnippingTool in window mode, I can hover the cursor over a dialog or an app frame and it will highlight the region to be captured.
** Actual:
In ModernDocking if I hover over the root frame while it has a child dialog then it highlights the entire monitor.
** Workaround:
Don't.  Use "Rectangle" mode.

Could you maybe share a gif of this happening? What Java version? If this is actually a bug then it's an OS or Java issue.

I tried.  I can't run a screen recorder and the snipping tool at the same time. :T

Damn. Maybe something like ScreenToGif would work? That's what I usually use.

That’s what I used while trying to screen capture. Sent from my iPhoneOn Dec 13, 2023, at 12:24 PM, Andrew Auclair @.***> wrote:
Damn. Maybe something like ScreenToGif would work? That's what I usually use.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Are you on Windows 11? I was able to see the same issue with a simple program on Windows 11 using JDK 17. I was previously using Windows 10 and Java 18 or 21 and it was working as expected. I will retest again with this sample program.
import javax.swing.*;

public class Test extends JFrame {
    public Test() {
        setSize(800, 600);

        JButton button = new JButton();

        button.addActionListener(e -> {
            JFileChooser chooser = new JFileChooser();
            chooser.showOpenDialog(Test.this);
        });

        add(button);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new Test().setVisible(true));
    }
}

I'm on W11 running J16. The effect is also there in J21.

Closing this as it is just a Windows feature. I can the same behavior across such tools as: Visual Studio 2022, IntelliJ IDEA and my little test app on Windows 10 and Windows 11.


Ollama does not work with ChatModel ollama version 0.1.32 and Langchain

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
# LangChain supports many other chat models. Here, we're using Ollama
from langchain_community.chat_models import ChatOllama
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

# supports many more optional parameters. Hover on your `ChatOllama(...)`
# class to view the latest available supported parameters
llm = ChatOllama(model="llama3")
prompt = ChatPromptTemplate.from_template("Tell me a short joke about {topic}")

# using LangChain Expressive Language chain syntax
# learn more about the LCEL on
# /docs/expression_language/why
chain = prompt | llm | StrOutputParser()

# for brevity, response is printed in terminal
# You can use LangServe to deploy your application for
# production
print(chain.invoke({"topic": "Space travel"}))

Error Message and Stack Trace (if applicable)
No response
Description
Unable to get response from Ollama server locally when using ChatOllama.
System Info
platform - mac
langchain==0.1.16
langchain-anthropic==0.1.8
langchain-community==0.0.32
langchain-core==0.1.42
langchain-groq==0.1.2
langchain-openai==0.1.3
langchain-text-splitters==0.0.1
langchainhub==0.1.15
langgraph==0.0.37
langsmith==0.1.40
python - 3.10

Are there any error messages in your terminal?

Working totally fine for me with below configurations and version. Try with the following versions of langchain-core and langchain-community: Heres' the output.

(langchain) umairgillani@fcp contrib$ python test.py
Why did the astronaut break up with his girlfriend before going to Mars?
Because he needed space!

(langchain) umairgillani@fcp contrib$ pip show langchain
Name: langchain
Version: 0.1.16
Summary: Building applications with LLMs through composability
Home-page: https://github.com/langchain-ai/langchain
Author:
Author-email:
License: MIT
Location: /home/umairgillani/anaconda3/envs/langchain/lib/python3.12/site-packages
Requires: aiohttp, dataclasses-json, jsonpatch, langchain-community, langchain-core, langchain-text-splitters, langsmith, > numpy, pydantic, PyYAML, requests, SQLAlchemy, tenacity
Required-by: langchain-experimental
(langchain) umairgillani@fcp contrib$ python --version
Python 3.12.3
(langchain) umairgillani@fcp contrib$ pip list | grep 'langchain*'
langchain                0.1.16
langchain-community      0.0.34
langchain-core           0.1.46
langchain-experimental   0.0.57
langchain-text-splitters 0.0.1
langchainhub             0.1.15


Unable to run a python app

When I try to run a python file I get the following REPLY:
Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Python\Core\ptvsd_launcher.py", line 34, in
import ptvsd.debugger as vspd
File "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Python\Core\ptvsd\debugger.py", line 49, in
import ptvsd.repl as vspr
File "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\Microsoft\Python\Core\ptvsd\repl_init.py", line 44, in
import random
File "C:\Users\User\Desktop\Γιάννης\python\random.py", line 23
for i in range(3):
^
SyntaxError: invalid syntax
Internal error detected. Please copy the above traceback and report at
https://go.microsoft.com/fwlink/?LinkId=293415
Press Enter to close. . .
(I was able to fix the SyntaxError but not the other stuff)
Any help would be appreciated.

The problem here is that you've named your file random.py, which is the same name as a module in the standard library. This means that if any code tries to import random, it will actually get your program instead of the standard library module.
The easiest fix is to rename your file. We can also add code to our launcher that will avoid this problem, but ultimately when you accidentally shadow a standard library module you will probably break lots of code, and we can't protect against that.

@int19h in case you want to give the sys.path manipulation a go. Not urgent.


use span instead of section when referring to text

Renames section to span when referring to text

Changelog
Changes relevant function and struct names to be more in-line with nomenclature around text.
Migration Guide
Replace all *section calls and references (specifically for text) with *span.
E.g. TextBundle::from_sections(... becomes TextBundle::from_spans(...
TextSection is now TextSpan
This PR may fit better on the main bevy repo I'm not sure if we want to roll these changes in with the cosmic switch or not, as it's a breaking change for everything that uses text.
CC @tigregalis

Closing for now to keep the backend change focused :)


"Save blueprint" UI and a bit confusing in web / dark mode

Describe the annoyance
Minor nit: I just tried 0.15 in my browser (FF 124, dark UI) and was playing with blueprints. At first I tried to open a recording, and the UI looks like so:

So my mind is being conditioned like clearly the interactable UI elements are "dark buttons", and that works as expected. A little later I then tried to save a blueprint where the UI looks like this:

My intuitive reaction was to click "Ok", and I was a bit surprised when the dialog just disappeared. At first I assumed it already downloaded the file without me noticing, but it turns out I had to literally click into the gray text.
The same issue is also present in the "Save recording ..."  dialog.
Suggestion
I think the clearest and most efficient way (in terms of intent and click count) would be having 2 buttons, one that downloads and closes the modal, and the other one that just closes the modal (e.g., named "Download" or  "Save", and "Cancel"). That would also be consistent with how the (native Windows) desktop dialog is labeled:

Desktop (please complete the following information):

OS: Browser, Firefox 124.0.2 on Windows 11, Dark Mode

Thanks for the issue!
This dialog is created by rfd. We should consider replacing it with our own Rerun-themed dialog, or make a PR to rfd to improve theirs (e.g. to make it CSS stylable).
However, there is a second problem I'd like to fix with this dialog: it requires too many clicks. The "click here to download your file" dialog should be unnecessary. I believe its only there because some browsers only allow you to download files as a response to a user action (a click), and rfd is made to work also if a background process spawns the file dialog. But, we should be able to fix that since we only spawn the dialog on clicks (or keyboard shortcuts), though this might require some small changes to eframe (to call update on each click, not just on requestAnimationFrame).

Regarding CSS styling of rfd overlay, it seems that it uses fairly well defined ids:

However, it does emit corresponding inline CSS in a <style> tag. It would be nice to have an option for rfd to skip that, but I believe we could readily override this in our external CSS by using !important.


[ISSUE #5509]Use Mockito to directly throw TimeoutException through set-up

Make sure set the target branch to develop
What is the purpose of the change
Fix https://github.com/apache/rocketmq/issues/5509
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #5510 (4c29830) into develop (a5b40fb) will increase coverage by 0.01%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #5510      +/-   ##
=============================================
+ Coverage      42.92%   42.94%   +0.01%
+ Complexity      8069     8064       -5
=============================================
  Files           1029     1029
  Lines          72662    72662
  Branches        9604     9604
=============================================
+ Hits           31191    31205      +14
+ Misses         37527    37506      -21
- Partials        3944     3951       +7

Impacted Files
Coverage Δ

...org/apache/rocketmq/common/stats/StatsItemSet.java
41.79% <0.00%> (-8.96%)
:arrow_down:

...ache/rocketmq/common/stats/MomentStatsItemSet.java
39.13% <0.00%> (-4.35%)
:arrow_down:

.../apache/rocketmq/controller/ControllerManager.java
73.11% <0.00%> (-2.16%)
:arrow_down:

...mq/store/ha/autoswitch/AutoSwitchHAConnection.java
70.43% <0.00%> (-1.35%)
:arrow_down:

.../apache/rocketmq/store/ha/DefaultHAConnection.java
65.86% <0.00%> (-1.21%)
:arrow_down:

...a/org/apache/rocketmq/store/StoreStatsService.java
34.53% <0.00%> (-1.11%)
:arrow_down:

...ava/org/apache/rocketmq/store/index/IndexFile.java
73.68% <0.00%> (-0.88%)
:arrow_down:

...ent/impl/consumer/DefaultLitePullConsumerImpl.java
68.38% <0.00%> (-0.63%)
:arrow_down:

...rocketmq/broker/processor/PopMessageProcessor.java
37.31% <0.00%> (-0.51%)
:arrow_down:

.../org/apache/rocketmq/proxy/config/ProxyConfig.java
47.15% <0.00%> (ø)

... and 11 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Multiple FabNetExt services for the same site do not trigger a validation error

Create a slice with 2 VMs
Add 2 FabNetv4Ext services at the same site
Slice can be created despite the validation rule of allowing one FabNet service per site

In ASM we expect a single L3 service (FABNetv4[Ext] or FABNetv6[Ext]) per site. These services connect interfaces of the nodes within the site in ASM.
In ARMs there is a FABNetv4[Ext] or FABNetv6[Ext] attached to each site switch.
Current validation rules have no limit on the number of instances.

Fixed by 8d4b095 on #194

Modified the structure of validation for network services to include a section that modifies network services in the entire model (thus e.g. counting how many instances of a particular service type per site there are).


Change dotnet-core to dotnet

Contributes to https://github.com/dotnet/docs/issues/36042.

@jonsequitur It seems like something's wrong with the CI in this repo. Could you merge this PR anyway?

I don't seem to have merge permissions.

@BillWagner Can you merge this?


mysql:5.7 snapshot restore can take longer, fixes #4933

The Issue

#4933
https://github.com/ddev/ddev/issues/3748 (Note that I used the github actions builder to push the db image; it will be interesting to see if perhaps this problem is resolved; there is an automated test to catch it, but we should look.)

How This PR Solves The Issue
It seems that mysql:5.7 takes a little longer to get the server started, and this may result in different results on different platforms.

The db container's healthcheck should have been saying "not ready" during snapshot restore, instead it was returning 0 implying healthy.
We weren't capturing the stderr properly, and having it helps a lot.
On mysql you have to have root privs to do the required SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

Manual Testing Instructions

Using a Drupal9+ project, with mysql:5.7 and mysql:8.0 databases, ddev snapshot && ddev snapshot restore --latest

Automated Testing Overview
This doesn't add anything new, although it's worth considering testing snapshots with mysql:5.7

@rpkoller tomorrow would love to have you validate this, https://github.com/ddev/ddev/pull/4934#issuecomment-1555407975

on the project that failed and i was able to reproduce the error consistently i am now able to restore from the snapshot that failed without a fail:
$> ddev snapshot restore --latest
Stopping db container for snapshot restore of 'beta1_20230519234206-mysql_5.7.gz'...
With large snapshots this may take a long time.
This will normally time out after 120 seconds (max of all container timeouts)
but you can increase it by changing default_container_timeout.
Container ddev-beta1-dba  Running
Container ddev-beta1-web  Running
Container ddev-beta1-db  Started
Starting mutagen sync process... This can take some time.
Mutagen sync flush completed in 0s.
For details on sync status 'ddev mutagen st beta1 -l'
Container ddev-router  Running
mysql: [Warning] Using a password on the command line interface can be insecure.
Waiting for snapshot restore to complete...
You can also follow the restore progress in another terminal window with `ddev logs -s db -f beta1`

Database snapshot beta1_20230519234206 was restored in 13s
Instrumentation is opted in, but SegmentKey is not available. This usually means you have a locally-built ddev binary or one from a PR build. It's not an error. Please report it if you're using an official release build. ```

`ddev version v1.22.0-alpha2-71-g695ac30a`

Just tested it on a vanilla install (1 database Maria) and my local dev site (3 databases mysql-5.7) and resolved both snapshot restore errors I experienced.
Waiting for snapshot restore to complete... You can also follow the restore progress in another terminal window with ddev logs -s db -f multi`
Database snapshot multi_20230520100348 was restored in 16s
Instrumentation is opted in, but SegmentKey is not available. This usually means you have a locally-built ddev binary or one from a PR build. It's not an error. Please report it if you're using an official release build.`
version v1.22.0-alpha2-71-g695ac30a