Show NavigationPane on collapsed by default on PaneDisplayMode Left

Describe the bug
Unable to show NavigationPane collapsed by default for PaneDisplayMode Left
Steps to reproduce the bug

Create a new UWP App
Add a NavigationView Control to the MainPage
Set PaneDisplayMode to Left and IsPaneOpen to false

I've attached a repro project : App207.zip
Actual behavior
The NavView pane is shown expanded on on application start
Expected behavior
The NavView pane should be collapsed on application start
Version Info

NuGet package version: Microsoft.UI.Xaml 2.4.0

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

November 2019 Update (18363)
yes

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
yes

Mobile

Xbox

Surface Hub

IoT

Additional context
Originally reported on Windows Template Studio https://github.com/microsoft/WindowsTemplateStudio/issues/3644

I would like to look into this.

@anawishnoff @ojhad I assume this is not by design ?

I was able to work around it by addign to the the ShellViewModel's OnLoaded method.
        private async void OnLoaded()
        {
            _navigationView.IsPaneOpen = false;

The combinations

PaneDisplayMode::LeftCompact & IsPaneOpen = true
PaneDisplayMode::LeftMinimal & IsPaneOpen = true

are also not working (pane is closed in both cases).
Here the question as well: Is this by design or should this be fixed?

I believe this is a bug. The behavior should follow those properties. @anawishnoff @ojhad as FYI. Please comment if you disagree.

@ranjeshj It seems like a bug to me, the IsPaneOpen property is there for a reason and should react when it's changed.

I made the following observation while working on this issue:
NavigationView.IsPaneOpen is - by default - true. Which means that if we set the PaneDisplayMode to LeftMinimal/LeftCompact without setting the IsPaneOpen property as well, the NavigationView pane should be open by default. During testing, A problem arises because programmatically setting the selected item in these pane display modes still causes the pane to be closed. This problem manifests itself in the following, probably not so uncommon scenario: A default selected navview item is set in the NavView's Page's Loaded event, like this.NavView.SelectedItem = SomeNavViewItem. What this means is that even though we left IsPaneOpen=true, upon opening the app page, the NavigationView's pane is closed.
To solve this, we could keep the pane open in LeftMinimal/LeftCompact mode when a selected item is set programmatically. As no user interation with the app happened, it sounds reasonable to me to keep the pane open in this case. This will not change any other pane closing behavior (for example initiated by a user action such as clicking, etc...).
Thoughts?

There's also the Auto PaneDisplayMode we need to clarify. How will this mode play together with the IsPaneOpen property? Would IsPaneOpen only affect the initial pane state and resizing the app window would automatically open or close the pane if required (as it does today)?
Also observe that currently, if I use the Auto PaneDisplayMode and I close the pane via this.NavView.IsPaneOpen=false when we are in the left expanded pane configuration, the pane is not opened automatically again on subsequent window resizes. Please see the following gif which illustrates this:

It would be best if we can pick a consistent behavior here for the Auto PaneDisplayMode working together with the IsPaneOpen property.

Here my 2cents:
If you set PaneDisplayMode, this will override whatever IsOpen is set to. So LeftCompact would have IsPaneOpen=false unless changed by developers. I think Auto mode should update the IsPaneOpen flag accordingly.
Since there are a lot of different configurations to think about, here's a table of what I think would be the best behavior:

PaneDisplayMode
IsPaneOpen value
Pane should be open

Auto
No
❓   (Depending on width)

Left
No
❌

LeftCompact
No
❌

LeftMinimal
No
❌

Top
No
❌

Auto
Yes
✔   (Will change depending on resizing though)

Left
Yes
✔

LeftCompact
Yes
✔

LeftMinimal
Yes
✔

Top
Yes
❌

@Chingucoding I'm not sure I like the idea that the interaction behavior of PaneDisplayMode Auto and IsPaneOpen is not consistent in the table. I believe we really should pick one behavior for Auto mode and then use it no matter the initially accompanying IsPaneOpen value.
Approach 1:
IsPaneOpen affects the initial state of the pane in Auto mode. The pane is then opened/closed upon window resizing just like today. So the following XAML
<NavigationView PaneDisplayMode="Auto"
                           IsPaneOpen="False" />

guarantees the pane to be closed initially no matter the window size and
<NavigationView PaneDisplayMode="Auto"
                           IsPaneOpen="True" />

guarantees the pane to be opened initially on any window size.
Approach 2:
Keep the current behavior. The initial value of  IsPaneOpen is ignored and the pane is opened/closed automatically depending on the window size. So the following two XAML snippets work the same:
<NavigationView PaneDisplayMode="Auto"
                  IsPaneOpen="False" />

<NavigationView PaneDisplayMode="Auto"
                IsPaneOpen="True" />

The pane would initially be opened when the window is wide enough, or closed otherwise.
I'm in favor of keeping the current behavior (approach #2) as that will give developers the full adaptive behavior of the Auto PaneDisplayMode as described in the docs today.
Settins IsPaneOpen after the initial setup phase (for example as soon as NavigationView.Loaded is called?) will then affect the pane, however, since we are in Auto mode, resizing the window will still open/close the pane automatically if required.
TL;DR
I'm currently inclined to only respect the IsPaneOpen property during initial setup fo the NavigationView when we are not in the the PaneDisplayMode Auto (and Top mode too). This will keep the current behavior for Auto and match the documentation as well as the adaptive feature of the Auto pane display mode.

guarantees the pane to be closed initially no matter the window size and

The problem is that afaik IsPaneOpen has a default value, so you won't be able to have either the "open as needed on start" or the "pane should be closed regardless of size" states.
I think it would be better to not ignore IsPaneOpen=true in Auto mode. If you don't set it, you still get the same behavior as outlined in the docs. If you set it to true, it only opens on start, after that you still get the auto behavior.

I'm currently slightly in favor of keeping the current behavior as that will give developers the full adaptive behavior of the Auto PaneDisplayMode as described in the docs today.

Allowing to change the startup behavior does not change that. If you don't set the value, the behavior does not change. It would still be all automatic and according to documentation.

I'm currently inclined to only respect the IsPaneOpen property during initial setup fo the NavigationView when we are not in the the PaneDisplayMode Auto (and Top mode too). This will keep the current behavior for Auto and match the documentation as well as the adaptive feature of the Auto pane display mode.

The problem is the following scenario: You want to use auto mode, but also want the NavigationView pane to be open at start, e.g. to show all of the available items. With approach 2 there wouldn't be a way to do this except switching the displaymode at some point.

The problem is the following scenario: You want to use auto mode, but also want the NavigationView pane to be open at start, e.g. to show all of the available items. With approach 2 there wouldn't be a way to do this except switching the displaymode at some point.

You can set IsPaneOpen to true in the NavigationView.Loaded event for example if you need to modify the behavior of the Auto display mode.

I think it would be better to not ignore IsPaneOpen=true in Auto mode. If you don't set it, you still get the same behavior as outlined in the docs. If you set it to true, it only opens on start, after that you still get the auto behavior.

The current default value of IsPaneOpen is True so the XAML snippets
<NavigationView PaneDisplayMode="Auto"/>

and
<NavigationView PaneDisplayMode="Auto"
                IsPaneOpen="True" />

should give the same result.
We can modify the behavior and the documentation, but based on the current state of the documentation, it is my understanding that Auto mode initially ignoring the IsPaneOpen setting is intended and not a bug. As the developer can always set the IsPaneOpen property in the NavigationView.Loaded event (if for example they want to use the Auto mode but also want to have the pane initially closed/opened guaranteed), I'm inclined to favor the behavior outlined in the docs today for the Auto mode.

The current default value of IsPaneOpen is True so the XAML snippets

I did not know that. In that case, I agree, we should leave that part as is.

You can set IsPaneOpen to true in the NavigationView.Loaded event for example if you need to modify the behavior of the Auto display mode.

That's kind of a weak argument, the main issue of this thread would also probably be fixed by setting the value in on loaded. However that is more of a workaround in my opinion.
But given the current situation, we probably shouldn't touch the Auto for now.

That's kind of a weak argument, the main issue of this thread would also probably be fixed by setting the value in on loaded. However that is more of a workaround in my opinion.

It wasn't meant as an argument but just to show that you can rather easily modify the IsPaneOpen state even in Auto mode before the pane is actually shown if so required. As I said, my main argument to not touch the behavior in Auto mode is the behavior of it currently outlined in the docs. If that description is incorrect (in not mentioning that IsPaneOpen can be used to set the initial pane state in Auto mode) then we need to correct that behavior.

It wasn't meant as an argument but just to show that you can rather easily modify the IsPaneOpen state even in Auto mode before the pane is actually shown if so required. As I said, my main argument to not touch the behavior in Auto mode is the behavior of it currently outlined in the docs. If that description is incorrect (in not mentioning that IsPaneOpen can be used to set the initial pane state in Auto mode) then we need to correct that behavior.

I don't think that the current auto behavior is out of sync with the documentation. I thought we might be able to improve it but since IsPaneOpen=true there isn't much to do here I think.

So to recap:

PaneDisplayMode
IsPaneOpen value
Pane should be open

Auto
True
❓ (depending on app width)

LeftMinimal
True
✔

LeftCompact
True
✔

Left
True
✔

Top
True
(no pane to open)

Auto
False
❓ (depending on app width)

LeftMinimal
False
❌

LeftCompact
False
❌

Left
False
❌

Top
False
(no pane to open)

This tabke above shows the effect of combining the the IsPaneOpen and PaneDisplayMode in XAML Markup, like this:
<NavigationView IsPaneOpen="False"
                PaneDisplayMode="Left" />

This leaves my question about the behavior when the PaneDisplayMode is set to Auto and we set the IsPaneOpen property. See the gif below for the current behavior:

Observe that if I close the pane via this.NavView.IsPaneOpen=false while we are in the left expanded pane configuration, the pane is not opened automatically again on subsequent window resizes. Since we are in Auto display mode though, I believe we should preserve the adaptive pane behavior here which means after manually closing (or opening) the pane via IsPaneOpen (as seen above in the gif), future window resizing will open/close the pane again automatically. In other words, in the above gif the pane would be opened again automatically once the window width is large enough to trigger the adaptive pane opening behavior of the Auto mode.
@chingucoding @anawishnoff Your thoughts?

The table looks fine to me.
Regarding the IsPaneOpen in Automatic mode, I would say that this is actually a bug. It somewhat "breaks" the automatic aspect of "Auto". In the DisplayMode "Auto", I would expect the IsPaneOpen property to act like an "instant" toggle, that is, if you set the value, it opens/closes the pane right now, anything that happens after that is something that switch of IsPaneOpen just done by the developer is not impacted by that. If you set IsPaneOpen to true, the pane will open, but if the window gets more narrow, it will close again.

@anawishnoff to chime in on the expected behavior for this API.

@anawishnoff What are your thoughts on the PaneDisplayMode and IsPaneOpen API behavior outlined here?

Sorry for the late reply on this!
The table makes sense to me, and your example of manually setting IsPaneOpen = true in auto mode is interesting. The whole point of Auto mode is that the NavigationView resizes depending on the current situation. I think that being able to set IsPaneOpen as a specific one-off instruction and then having it go back to doing its Auto thing makes sense to me.
@YuliKl Feel free to chime in if you disagree.

I also think all this makes sense.
One scenario I want to highlight is about the LeftCompact and LeftMinimal modes (and also when Auto places NavigationView into those modes): Because the Pane is open as a light-dismiss overlay in these modes, I'd like to avoid having the pane show as open on app launch. Respecting the app developer setting and launching with the pane open when IsPaneOpen gets explicitly set to True is fine. Just want to make sure that we're not defaulting to an open pane in these modes without app developer intervention.
If I'm following the discussion correctly I believe this will not be an issue. Just wanted to make sure to spell out the intended default behavior.

One scenario I want to highlight is about the LeftCompact and LeftMinimal modes (and also when Auto places NavigationView into those modes): Because the Pane is open as a light-dismiss overlay in these modes, I'd like to avoid having the pane show as open on app launch. Respecting the app developer setting and launching with the pane open when IsPaneOpen gets explicitly set to True is fine. Just want to make sure that we're not defaulting to an open pane in these modes without app developer intervention.

@YuliKl I think this describes a different behavior than the one outlined above (and actually quite matches the current pane launch behavior more).
With the proposed table shown here, a XAML markup like
<NavigationView PaneDisplayMode="LeftMinimal"
                IsPaneOpen="True" />

would launch the pane in an opened state and a XAML markup like
<NavigationView PaneDisplayMode="LeftMinimal"
                IsPaneOpen="False" />

would launch the pane in a closed state.
The problem here is that NavigationView.IsPaneOpen defaults to true. In other words, this XAML markup below would also launch the pane in an opened state:
<NavigationView PaneDisplayMode="LeftMinimal"/>

This does not match the behavior you've outlined above where a developer has to explicitly set IsPaneOpen to true in order for the pane to be opened on launch when in LeftMinimal or LeftCompact mode.
Instead, with the currently existing pane launch behavior in UWP/WinUI, if the developer wants the pane to be opened in the LeftMinimal/LeftCompact states on launch, they could use the NavigationView.Loaded event and explicitly set NavigationView.IsPaneOpen to true which would then open the pane.
This sounds more like what you've described above as desired behavior.
So, if I revise the table with your desired behavior, this will be the new behavior of instantiating a NavigationView control like this:
<NavigationView PaneDisplayMode="[SomeMode]"
                IsPaneOpen="[SomeBool]" />

PaneDisplayMode
IsPaneOpen value
Pane will be opened
Remarks

Auto
True
❓
If NavigationView is set into LeftMinimal/LeftCompact mode the pane will be launched in a closed state and IsPaneOpen will be set to false. If the NavigationView is set into Left mode the pane will be launched in an opened state

LeftMinimal
True
❌
IsPaneOpen will be set to false

LeftCompact
True
❌
IsPaneOpen will be set to false

Left
True
✔
-

Top
True
-
No pane to open

Auto
False
❌
Pane will be launched in a closed state for every app window width

LeftMinimal
False
❌
-

LeftCompact
False
❌
-

Left
False
❌
-

Top
False
-
No pane to open

This would essentially be the behavior we are seeing today, except that in WinUI right now the Left pane display mode the pane will always be opened, even if IsPaneOpen is set to false:
<!-- This will launch the pane in an opened state today. -->
<NavigationView PaneDisplayMode="Left"
                IsPaneOpen="False" />

This is also the case if the Auto mode puts the NavigationView in Left mode.
Not affected by this revision will be the suggestion of IsPaneOpen acting as a one-off instruction in Auto mode if set after the NavigationView pane has been launched in its initial state.
@YuliKl @anawishnoff Does this sound reasonable?

Thank you, @Felix-Dev, sounds good.

@YuliKl
We might have to look at IsPaneOpen acting as a one-off instruction in Auto mode again. Outside of explicitly setting IsPaneOpen to false, the pane can also be closed by using the oane toggle button:

I think we should treat closing the pane via the Toggle button and explicitly setting IsPaneOpen to false as the same. In other words, I would either keep the current behavior of setting IsPaneOpen to false in Auto mode (which is the pane won't automatically be re-opened) or adjust the behavior of the pane toggle button when in Auto mode (so that the pane will automatically be re-opened when app window is wide enough).
What do you think?

@YuliKl @anawishnoff Friendly ping in cased it got missed (feel free to ignore if you are currently busy with something else).

I think we should treat closing the pane via the Toggle button and explicitly setting IsPaneOpen to false the same way.

Yes! One command is coming from the end-user, the other from the app developer, but they are both intended to have the same result on NavigationView's appearance/state.
And thank you for the ping @Felix-Dev, the quick reminder is really helpful in trying to keep up with active discussions.

A user trying to open the left-pane-menu by stretching the client - making it wider is poor UX design.
A user trying to making the client area wider, to give them more working area, but then having the left-pane-menu slide out and take up the client area they are trying to gain is poor UX design.
It's much cleaner to use the button to open the left-pane-menu. Give the user precise control, don't interfere with their interaction. Good UX design.
Don't ignore the state/setting of a property. If you want to 'ignore it' set the state/setting of the property to the value you want, a value that 'always' represents the current behavior.
i. A properties value that doesn't represent the behavior it wrong. This is poor engineering.

I have one concern, I'm designing apps for Xbox, so we use focus to open the NavigationView.
Suppose I set the NavigationView.PaneDisplayMode=LeftCompact, and a Button.

I have to use focus to open the NavigationView. But when press the left button, NavigationView closes immediately when opened.
private void btn_PreviewKeyDown(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
        {
            switch (e.OriginalKey)
            {
                case VirtualKey.Left:
                case VirtualKey.GamepadDPadLeft:
                case VirtualKey.GamepadLeftThumbstickLeft:
                    ShellPage.shellPage.navigationView.IsPaneOpen = true;
                    e.Handled = true;
                    break;
            }
        }

@hupo376787  Could you explain more? Is navigation view is already open (since you are saying that it is closing). Can you share a video or gif ? Thanks!

@hupo376787, the View button on the Xbox controller (the small round button with two overlapping rectangles as its icon) opens NavigationView. Does that help with your scenarios?

@hupo376787 Could you explain more? Is navigation view is already open (since you are saying that it is closing). Can you share a video or gif ? Thanks!

Navigation is LeftCompact. When putting focus on the button and press left, this happens. The same happens on Xbox.

@hupo376787, the View button on the Xbox controller (the small round button with two overlapping rectangles as its icon) opens NavigationView. Does that help with your scenarios?

Nope, view button still can not open NavigationView.
See 👇

@hupo376787 what is you remove the custom code you've added? The View button is default behavior what's working for me in Xaml Controls Gallery.

I set IsPaneToggleButtonVisible="False".
See my sample repo.

@hupo376787 This appears to be fixed starting with WinUI 2.5.0-prerelease.200812001. Can you report the fix on your systems as well when using this preview version (or a later one)?

@Felix-Dev Thx, mine is 2.4.3. I update to 2.5.0-preview, seems ok on my pc now.

This is still an issue in winui3. Set IsPaneOpen="False" and PaneDisplayMode="Left" and the Navigation is shown, it also changes the property IsPaneOpen to true.

@Balkoth Please open a separate issue for this so we can track it as a winui3 issue.


[Bug] Colour selector must exit after pressing on the Enter or Tab key

Description
Colour selector on widgets to be more keyboard friendly and should exit when user hits Enter or Tab key. Currently user needs to move cursor to exit the default colour selection panel. In the meanwhile if user users Tab to move control then information is overlapped and input fields are blocked
Steps to reproduce the behaviour:

Enter colour name/code into input field
Hit Enter - colour selction panel should exit but remains on screen
Press Tab - colour selection panel should exit but causes information text to overlap and input fields being blocked

Important Details

Version: Cloud
OS: Win10
Browser: Chrome
Environment: RC and Production

@ramsaptami Are you a pro user of keyboard shortcuts? Wondering if you can do a thorough scan of everywhere keyboard shortcuts don't work but should work.
We've ignored the keyboard experience, so thanks for bringing it up.
Could you group all the issues in a single task so that we can work on them?

I can look into this. I've come across a few keyboard shortcuts I've made a list already of so I'll continue adding to it.

Tab function works but unable to select colour from the colour picker

The tab key implementation is only for moving from the input field and closing the colour picker at the right time. We will need to create another issue for what you have proposed here

@somangshu the normal picker where we select colour isn't working is what I meant :) seems to be broken on release

@ramsaptami Can you please share a video to show what is not exactly working?

https://www.loom.com/share/e3bc8c2f52744a64bd9ac15d78908664

@ramsaptami please be sure to create a new issue out of this.

Done @somangshu. Raised #6922 for this


Refactor tweets paginators

This PR almost rewrites all tweet paginator and adds a "Show images" button to let users paginate through all the images on the tweet if any.

Tell Me when it's ready to merge


[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate

Hello, could the source of this problem be that the python system does not use the certification repository? I am very new to this topic, I may be asking a silly question. Actually what I want to do is to login users to the 2nd website using GitLab as an OAuth between two websites but I get the following error. I created a certificate in Gitlab. I have Python 3.8 and pip 19.3 in my environment. How can I solve this problem?
thankyou for support.
An error occurred while attempting to login via your social network account.
HTTPSConnectionPool(host='gitlab.tutel', port=443): Max retries exceeded with url: /oauth/token
(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
self-signed certificate (_ssl.c:997)')))

Are you using truststore anywhere in your codebase? If not then it's unlikely that truststore is your issue. This is likely then an actual certificate issue.

Going to close this issue until we hear more about your use-case, hopefully the above comment helped?


feat(API): Rename Local to CDN

Summary
BREAKING CHANGE: REST API changes to file based in public folder

API web server doesn't load with Windows so this change allows a future lighter web server without webpack error
Test plan

Coverage increased (+0.2%) to 93.537% when pulling f96a2fb73742f29b345cf30d5c9aa90726f4cafa on danactive/break-cdn into caf6aa6299e710c43d5f76a3898ff0e423820bb5 on master.


list of unsupported devices

Description
Hi, using hb since year or so, everything works very good with Your plugin. I didn't noticed the before but please take a look on unsupported devices I found in log.

Plugin version
2.1.3
Fibaro HC / Yubii Home type and firmware
hc2

@ilcato I think that you should make exception list with devices to not show. On this list should be:

HC_user
com.fibaro.yrWeather
com.fibaro.remoteController
com.fibaro.energyMeter
com.fibaro.fibaroIntercom
com.fibaro.satelAlarm
com.fibaro.satelPartition
com.fibaro.ipCamera
iOS_device
com.fibaro.setPointForwarder
com.fibaro.FGKF601 (remote - Fibaro Keyfob)

From above list:

com.fibaro.FGBS222 - this is smart Implant, it should be added
com.fibaro.heatDetector - Fibaro Heat Controller so probably not to add?

@lukasprus noted


Two minor Windows issues related to file separator

When importing a project, the contents of the .bazelproject file are stuffed into an editor control that can't handle carriage returns. This prevents importing projects on Windows.
When reading jdeps file it uses ArtifactLocationDecoderImpl.outputArtifactFromExecRoot to process the path to the file, there are forward slashes hardcoded in the method. This prevents external libraries from being loaded into the workspace

:+1: thanks for applying the fix.

Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so.


StringMatcher?

A pre-commit hook for catching string matches within changed files would be fantastic for catching overlooked debugging statements (I can't be the only person with commit subjects reading 'Removed binding.pry').  Call it StringMatcher?

Hey @nbarnes, this is a pretty simple hook to implement yourself. A generic implementation wouldn't provide that much additional value, as what's important about these "forbidden strings" are that when you warn on them you provide a helpful message explaining to developers why the presence of that string is a problem.
You can see a simple example of such a hook with the MergeConflicts pre-commit hook and its corresponding configuration.
Furthermore, a nice feature of Overcommit is being able to skip hooks by name. If you're adding multiple blacklisted strings to a single StringMatcher hook, you don't have that benefit, and could accidentally skip all checks for forbidden strings by doing so.
Hope that explains the rationale here. Strongly recommend you create your own hooks for forbidden strings!


Provide an upgrade path to V0.10 while preserving existing directory layouts

The behavior of pkg_tars include_runfiles attribute seems to have changed quite dramatically in the v0.10 release.
When combined with the strip_prefix = "/" attribute, the directory layout of the runfiles tree before it was just nested at the root of the tarball, i.e. a runfile at $package_dir/path/to/file.yaml would be found exactly in that place.
Since v0.10, the runfiles somehow end up at $package_dir/$myservice.runfiles/$package_dir/path/to/file.yaml.
This completely breaks our existing workflows and compatibility. The PR notes for this change (https://github.com/bazelbuild/rules_pkg/pull/754) in my opinion do not really capture the magnitude of this breaking change. Could you describe a way to preserve the old behavior? I think many users upgrading to v0.10 will run into this issue.

cc: @aiuto

So, don't upgrade?  Is there a compelling need for you to?
On Wed, Jan 17, 2024, 5:05 AM Morten Mjelva @.***>
wrote:

cc: @aiuto https://github.com/aiuto
—
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_pkg/issues/813#issuecomment-1895481880,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXHHHHYZSBPGUGRRMESCP3YO6O6VAVCNFSM6AAAAABB6H5BFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJVGQ4DCOBYGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

So, don't upgrade? Is there a compelling need for you to?

Just a note that "don't upgrade" isn't always feasible -- any module in the dependency graph could choose to upgrade rules_pkg to 0.10.0 and potentially break everyone else who's using the older API.

This response is ridiculous since the person telling us to not upgrade is also the person who ripped out the (completely adequate, long-working) pkg_tar from bazel itself, with the comment that he was forcing us to upgrade. Then the same person turns around and tells us if we don't like ot we don't have to upgrade. Oh also because the version number starts with a zero it's unsupported and all of its features can break silently at any time.

@woutervdstoel I was able to use the remap_paths argument to pkg_tar re-root the runfiles into another location:
remap_paths = { "$package_dir/$myservice.runfiles": "$package_dir" }

Maybe that would work for you?

I have the same issue here. I am using pkg_tar to package a py_binary with all it's runfiles, including data dependencies. I am using oci_image to deploy that py_binary. In my case the /app fails because it cannot find the data files, and they can only be found if the PWD is /job_list.runfiles/_main, and not /, when running /app (which contains all the runfiles magic)
filegroup(
    name = "params",
    srcs = ["params/params.json"],
)

py_binary(
    name = "app",
    srcs = ["app.py"],
    deps = [
        ":some_libs",
    ],
    data = [
        ":params",
    ],
)

pkg_tar(
    name = "app_tar",
    srcs = [":app"],
    include_runfiles = True,
)

oci_image(
    name = "app_image",
    base = "@python_base",
    cmd = ["/app"],
    workdir = "/app.runfiles/_main", # workaround for https://github.com/bazelbuild/rules_pkg/issues/813
    tars = [":app_tar"],
)

Since I do not know how remap_paths would help me, I set the workdir  of the oci_image to /job_list.runfiles/_main.


Update react-native-maps and simplify MapViewExample

Please verify the following:

[x] Everything works on iOS/Android
[x] ignite-base ava tests pass
[x] fireDrill.sh passed

Describe your PR

Updated react-native-maps from 0.11.0 to 0.12.2
Simplified MapViewExample.js by replacing calculateRegion with fitToElements method offered by the  <MapView> component.
Removed MapHelpers.js as it is not needed anymore.

I like this.  We need to ask the user if they want the fancy map example or not.  That way we can keep maps clear from the bells and whistles.  I might revisit this in a different light soon.  Will reference this ticket.

Hey @javiercr , as you know, we're plugging away at Ignite 2.   We're going to be merge v2 into master shortly which will conflict with your commit.
RN 0.40 isn't compatible with 0.12.2 of maps (we need 0.13 for that).
Soooo.... we'll be updating maps & making a ignite-maps plugin for that shortly!
Wanted to thank you for your time and fixes here!
When it comes time for the maps plugin (later this week), I'll refer to your changes again to make we don't leave this behind.
:1st_place_medal: my friend!

No worries! Makes sense, looking forward to v2. Let me know if there is anything I can help with.


standardize history writing

A take-away from 2/13 HERA analysis telecon was that we need to standardize history writing to make history more human-readable. I think this is actually a hera_cal issue, but I was asked to make the issue here. How do people feel about this?

I'm not sure I understand what the suggested changes are. I'm happy to support more readable history, as long as it doesn't break things.

@nkern can you elaborate on what this issue is requesting?

Well, someone asked me to open an issue on pyuvdata on making histories more human readable. but it felt more like: we need to discuss further how do this. I personally feel like this is hera_cal issue, or an RTP issue, and not a pyuvdata issue. but people asked me to open it here...

ok, who should we bring into the conversation about what is desired on pyuvdata? I feel like if it's an issue on pyuvdata it implies desired changes or clarifications in the pyuvdata code base.

well, I think it was @dannyjacobs that asked me to make the issue, but also probably @plaplant and @adampbeardsley would feel like they have a stake in it as well.

I say this is an RTP or hera_cal issue because from my understanding those are the tools that are actually doing the history writing, whereas the history attribute of a UVData object is merely a placeholder for whatever you want to put in there. perhaps this is an issue I can close on pyuvdata and an issue I can raise in the new hera_opm module Paul is working on. If people are okay with that I'm happy to do so

Yeah, trying to remember what we wanted exactly. I think the idea was that we want something a bit easier to read than a block of text. Of course right now it's up to the user (RTP, hera_cal, etc) to write what they want. But I also wonder if we need some changes in pyuvdata to enable this. For example, I think we strip out new lines because the files introduce spurious ones. Not sure what the answer is there, but it would be nice to purposely have formatting that pyuvdata preserves.

So I'm don't think we do strip new lines, except when we're testing whether blocks of history text are already present.

Reading miriad.py and uvfits.py, we don't appear to be stripping new line characters, only adding some if they don't exist.

ok, then yeah, I'm not sure why we made this a pyuvdata issue. Let's see if @plaplant or @jsdillon remember if there was anything specific before we close and move it to a different repo.

I think the issue was more like whether we had automated ways of parsing the history and turning it into a human-readable reconstruction of what happened, perhaps with a more tabular representation of the commands used, the git hashes, etc.
I honestly don't think we know exactly what we want, so perhaps we should wait and see how people use and/or struggle to use the histories before we decide to reorganize them.

I think at heart, any such parsing may have to live in with the code that creates the history. There are infinite ways to write histories and what is relevant depends highly on the code and organization.  That said, I'm strongly in favor of adding anything that is reasonably standard and likely to need to be accessed in a machine-readable way as either an extra keyword or as an optional parameter on the object. Extra keywords will work well for anything that is not a large array. If large arrays are needed for something we can certainly consider adding optional parameters to ensure that they are preserved properly by pyuvdata.

@plaplant I think if there are standard things we want to access like this, they should be added as extra keywords or we should add optional parameters to the object to store and transmit them.

So maybe we can go the extra keywords route for any RTP/offline processing that happens? At any rate, it sounds like we all agree it's not a pyuvdata issue.

Ok, it sounds like we agree that this issue should be closed. I will note that pyuvdata currently regularly adds information about the pyuvdata version to the histories. I think there's a case to be made for adding that to extra keywords if people need it to be more machine readable.


chore(master): release 3.0.4

:robot: I have created a release beep boop
3.0.4 (2023-08-31)
Bug Fixes

build blockmap before parsing the rest (367dedf)
make relationships nullable (d59ae26)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ScribeLabsAI/amazon-trp-node/releases/tag/3.0.4 :sunflower:


C++: Quick fix for CP in TranslatedExpr#class#ff

The recent change (#859) to use override on the expr field somehow introduced a Cartesian product. This commit removes the override from code that seemed to be associated with the problem, and the CP is now gone.
I hope we can find a better solution soon.

@rdmarsh2 and @dave-bartolomeo, if you can find a better solution then let's not merge this.

I'll try again with an updated QL4E.


Add instruction on getting project_id and org_id

I think if you guys can add instruction on getting now-project-id and now-org-id. I was confused on how to get those two things and couldn't find in the now cli doc.

@jackguoAtJogg I added that to the README. See Project Linking

@amondnet Thank you! I appreciated, I have one more question: does the org_id change based on different user from the organization?


fix/mapper-missing-property

Please review before merging.

:tada: This PR is included in version 1.8.3 :tada:
The release is available on:

GitHub release
v1.8.3

Your semantic-release bot :package::rocket:


ddimtirov - supporting hash collisions, should have fixed #101

Check List:

[x] Tests pass (./test.sh <username>)
[x] All formatting changes by the build are committed
[x] Output matches that of calculate_average_baseline.sh

Execution time:  3.7741536
Execution time of reference implementation:<PHONE_NUMBER>

I bundled a .gitattrs file that explicitly sets line ending for Unix files - makes life easier if you develop on Windows.

00:15.956, nice. Thx for the update, appreciate it!

I bundled a .gitattrs file that explicitly sets line ending for Unix files - makes life easier if you develop on Windows.

That's great, someone else just had that issue too. Should have had that from the get-go. Thx!


Demo website svelte-pdf.netlify.com not found

When accessing the demo website https://svelte-pdf.netlify.com (mentioned in the readme), I get a "Site Not Found" error.

Fix by PR https://github.com/vinodnimbalkar/svelte-pdf/pull/94


Some questions about Synthia 4D datasets

I would like to know whether this dataset only contains point cloud files after downloading, or whether I ignored the information about labels and other files, maybe I did not find them.

Hello! I have also encontered that problem. I wonder if you, @3171228612, have already found any information. on this.
Kind regards!

Hello! I found out it comes from meteornet preprocessing:
https://github.com/xingyul/meteornet/tree/master/semantic_seg_synthia


Download & import local authorities from ONS CSV

The Welsh & Scottish local authorities are no longer in the DLCG
dev-local-authorities file, hence have disappeared from our database.
This PR changes the LocalAuthoritiesDownloader &
LocalAuthoritiesImporter classes to download & import from the CSV
dataset published by the Office of National Statistics instead.
Fixes #118.

LGTM; gimme a shout when you're ready for it to go…

shout!
On 12 Jan 2016 15:25, "Steve Marshall"<EMAIL_ADDRESS>wrote:

LGTM; gimme a shout when you're ready for it to go…
—
Reply to this email directly or view it on GitHub
https://github.com/ministryofjustice/postcodeinfo/pull/122#issuecomment-170946341
.


UTOPIA-913: Question Two Links

Description
This PR includes the following proposed change(s):

Adds links to question 2 of the securityOfPersonalInformation tab

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Development Dependency Working Agreement

[x] My code DOES NOT include the importing of new dependencies into the DPIA ecosystem
[ ] My code DOES include the importing of new dependencies into the DPIA ecosystem
If new dependencies are being introduced to the DPIA ecosystem:
[ ] The functionality of the dependency drastically reduces code complexity and makes my changes more easily maintainable and readible
[ ] The dependency being introduced does not contain multiple layers of nested dependencies introducing maintainability complexity to the DPIA ecosystem

Frontend Development Changes

[ ] N/A
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to project documentation or diagrams that reflect my changes
[x] New and existing unit tests pass locally with my changes
[x] My code follows Airbnb React Style Guidelines

API Development Changes

[x] N/A
[ ] I have performed a self-review of my own code
[ ] My code follows standards and practices outlined in the BC Government API Development Guidelines
[ ] New and existing unit tests pass locally with my changes
[ ] My changes includes Swagger documentation updates that reflect the changes I am introducing

Definition of Done

You've shown the implementation of the storing personal info tab. This is addressing the security of personal info tab.


Fix typo in overview.md

There was a typo: SSDd should be SSDs.

@mattmcinnes - can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Looks great! Can't believe I missed this one. Thanks for catching it! :)

#sign-off


link breakage on website

github and whatever you use on http://standardjs.com/ slugify differently:
the “Never start a line with ( or [ … More details” link points to #automatic-semicolon-insertion-asi, but on standardjs.com, the actual anchor is #automatic-semicolon-insertion-asi- with a trailing dash.
you’ll have to fix the code creating the anchors to behave like on github.

Will check this out today thanks

Confirmed this is an issue. Thanks for reporting this, @flying-sheep.

Leaving this one to you, @Flet ;)

Cool. I am elbow deep on this now...

Moving this issue to feross/standard-www#4


Cds 52969 fix user tf test

Describe your changes
Comment Triggers

PR Check triggers

Build: trigger build
Sub Category Field Check: trigger subcategoryfieldcheck

N/A


Fix quoted "otel-cli exec ..." example in README.md

This example from README:
# otel-cli propagates context via envvars so you can chain it to create child spans
otel-cli exec --kind producer "otel-cli exec --kind consumer sleep 1"

doesn't work, because we're running into #356.
It worked until /bin/sh -c was removed in #202.

@tobert  feel free to merge this, I don't have the permissions to :)

Thanks for this PR! I just want to remind @tobert that this is still waiting to be merged.

Heya, I need to fix up some permissions of my own. I'll try to merge this
to the repo but I can't release and haven't been able to for a while.
I'll set aside some time soon to move this tool to somewhere I can make
releases from.
-Amy
On Tue, Nov 12, 2024 at 11:20 AM hertznsk @.***> wrote:

Thanks for this PR! I just want to remind @tobert
https://github.com/tobert that this is still waiting to be merged.
—
Reply to this email directly, view it on GitHub
https://github.com/equinix-labs/otel-cli/pull/357#issuecomment-2470971777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACWSHUUK7ZOXSRTNQQR62T2AITGLAVCNFSM6AAAAABMNDE7PCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZQHE3TCNZXG4
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add Proxy support

Hello,
Is it possible to add support for like a SOCKS5 proxy with authentication? That way if you download too many videos and they temporarily ban your IP (even after you complete the captcha successfully the temporary ban still lasts, I think for like a few hours?) it would just be the proxy IP and not your actual IP so you can rotate the proxy IP's out for a new one and continue downloading.
Would this be possible?
Thank you.

Huh? I explained why it would be good. If you download too many courses at once it bans your IP temporarily and you have to wait to download more, even though you legally own the rights to use the courses. It would be a nice quality of life issue, nothing to do with legality whatsoever.


Enable anonymous sender with --hide-self

Hooks up anonymous sender to the CLI.
Functionality already existed in the engine, this just adds a flag to use it.
keybase encrypt bob -i ~/.sample --hide-self
The ephemeral key is used as the sender key.

r? @oconnor663

Code looks good. I kind of want to bikeshed the name "hide self", since it kinda sorta sounds like it could mean "don't include self in the recipients list". If the recipients list is visible, it certainly doesn't feel like you're very hidden, even if you're not technically identifiable as the sender.
(@mlsteele pointed out that because we don't randomize recipient order, you're actually totally identifiable as the sender, even if you pass --hide-self, if you forget to pass --hide-recipients. But even without that bug, in cases like a message that's only sent to one other person, you really are effectively identifiable anyway.)
I think an effective "anonymous sender" mode has to avoid letting the sender's keys be visible recipients. We have support for specifying just a subset of keys as not-visible, so it's possible we could plumb something through that to allow other recipients to remain visible. But I can imagine situations where even that is fishy. Say Alice, Bob, and Charlie are having a 3-way conversation sending each other many saltpack messages. If a message in that thread includes Bob and Charlie as visible recipients, and a single anonymous recipient, it's pretty clear to everyone that it was sent by Alice. I think that if the sender wants to be anonymous, we pretty much have to anonymize all the recipients too. So maybe we should just say --anonymous-sender implies --hide-recipients too?
(Recently added node in our saltpack TODO list: If we ever get around to forward-compatible shared device encryption keys, the good-error-messages benefits of visible recipients mostly goes away. We could consider removing visible recipients entirely from a future version of the spec.)

Alright, replaced --hide-self with --anonymous which implies --hide-recipients.
Also added TestSaltpackEncryptAnonymous to make sure the recipients keys are hidden and sender is marked anonymous.

Nice! LGTM.


Synthesis failed for Google.Cloud.ErrorReporting.V1Beta1

Hello! Autosynth couldn't regenerate Google.Cloud.ErrorReporting.V1Beta1. :broken_heart:
Here's the output from running synth.py:
Cloning into 'working_repo'...
Switched to a new branch 'autosynth-Google.Cloud.ErrorReporting.V1Beta1'
Cloning into '/tmpfs/tmp/tmp3ks_0lh1/googleapis'...
Note: checking out '88316b63a486002727e14032d104690541179fc9'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 88316b63a Generated synth.py files with multiple commits enabled
Note: checking out '7be2811ad17013a5ea24cd75dfd9e399dd6e18fe'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 7be2811a fix: Update gapic-generator version to pickup discogapic fixes
Switched to a new branch 'autosynth-Google.Cloud.ErrorReporting.V1Beta1-2'
Running synthtool
['/tmpfs/src/git/autosynth/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-03-30 07:24:14,636 synthtool > Executing /tmpfs/src/git/autosynth/working_repo/apis/Google.Cloud.ErrorReporting.V1Beta1/synth.py.
Contents of preconfig file:
{"preclonedRepos": {"https://github.com/googleapis/google-cloud-dotnet.git": "/tmpfs/src/git/autosynth/working_repo", "https://github.com/googleapis/googleapis.git": "/tmpfs/tmp/tmp3ks_0lh1/googleapis"}}Extracted repo location: /tmpfs/tmp/tmp3ks_0lh1/googleapis
generateapis.sh: line 40: declare: GOOGLEAPIS: readonly variable
2020-03-30 07:24:14,684 synthtool > Failed executing /bin/bash generateapis.sh --check_compatibility Google.Cloud.ErrorReporting.V1Beta1:

None
2020-03-30 07:24:14,686 synthtool > Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/tmpfs/src/git/autosynth/working_repo/apis/Google.Cloud.ErrorReporting.V1Beta1/synth.py", line 22, in <module>
    hide_output = False)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('/bin/bash', 'generateapis.sh', '--check_compatibility', 'Google.Cloud.ErrorReporting.V1Beta1')' returned non-zero exit status 1.
Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 482, in <module>
    main()
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 334, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 429, in _inner_main
    branch,
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 135, in synthesize_loop
    metadata_path, extra_args, deprecated_execution, environ, synthesize_py_path,
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 278, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/git/autosynth/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


assert_size_not_zero breaks due to hardcoded use of test paths TEST_FIXTURE_ROOT

relates to #27
produces
fallocate: cannot open /dir/notzerobyte: No such file or directory

https://github.com/bats-core/bats-file/blob/master/src/file.bash#L919

Is this still an issue?


Yamaha AVR fails to load on 0.26 (both .0 and .1)

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.26, 0.26.1
Python release (python3 --version):
3.5.2
Component/platform:
media_player.yamaha
Description of problem:
While I can't see any relevant entries in the logs, the component doesn't show up (neither in the frontend, nor in the dev-state page).
Expected:
The AVR should show up.
Problem-relevant configuration.yaml entries and steps to reproduce:
- platform: yamaha
  name: AVR
  source_ignore:
    - "JUKE"
    - "AUX"
    - "AV1"
    - "AV2"
    - "AirPlay"
    - "Bluetooth"
    - "HDMI3"
    - "HDMI4"
    - "HDMI5"
    - "HDMI6"
    - "MusicCast Link"
    - "NET RADIO"
    - "SERVER"
    - "Spotify"
    - "TUNER"
    - "USB"
    - "iPod (USB)"
  source_names:
    AV3: "CD"
    AV4: "TV"
    AV5: "Vinyl"
    AV6: "SNES"
    HDMI1: "Shield"
    HDMI2: "PC"

Traceback (if applicable):

Additional info:
Just reverting to 0.25.2 works fine (I'm using the docker image).

I had never used the "source_ignore" or "source_names" until I saw this post.  I tried it today on 0.27.2 and get mixed results.
With both "source_ignore" and "source_names" I get:
Sep 09 10:42:49 automation hass[22786]: ERROR:homeassistant.components.media_player:Error while setting up platform yamaha
Sep 09 10:42:49 automation hass[22786]: Traceback (most recent call last):
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/helpers/entity_component.py", line 98, in _setup_platform
Sep 09 10:42:49 automation hass[22786]: discovery_info)
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/components/media_player/yamaha.py", line 34, in setup_platform
Sep 09 10:42:49 automation hass[22786]: for receiver in rxv.find())
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/helpers/entity_component.py", line 154, in add_entities
Sep 09 10:42:49 automation hass[22786]: for entity in new_entities:
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/components/media_player/yamaha.py", line 34, in <genexpr>
Sep 09 10:42:49 automation hass[22786]: for receiver in rxv.find())
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/components/media_player/yamaha.py", line 53, in __init__
Sep 09 10:42:49 automation hass[22786]: self.update()
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/components/media_player/yamaha.py", line 66, in update
Sep 09 10:42:49 automation hass[22786]: self.build_source_list()
Sep 09 10:42:49 automation hass[22786]: File "/srv/hass/hass_venv/lib/python3.4/site-packages/homeassistant/components/media_player/yamaha.py", line 75, in build_source_list
Sep 09 10:42:49 automation hass[22786]: self._source_names.items()}
Sep 09 10:42:49 automation hass[22786]: AttributeError: 'list' object has no attribute 'items'

Removing the "source_names" all works great!
Here is my configuration.yaml:
media_player:
  - platform: yamaha
    name: 'Family Room Receiver'
    source_ignore:
      - "AUDIO1"
      - "AUDIO2"
      - "AV1"
      - "AV2"
      - "AV3"
      - "AV5"
      - "AV6"
      - "HDMI1"
      - "HDMI2"
      - "HDMI3"
      - "HDMI4"
      - "HDMI5"
      - "Pandora"
      - "Rhapsody"
      - "SERVER"
      - "SiriusXM"
      - "Spotify"
      - "TUNER"
      - "USB"
      - "V-AUX"
      - "iPod (USB)"
      - "NET RADIO"
    source_names:
      - AV4: "TV"

The source_names works great for me. Anyway, I can't reproduce the issue since the 0.27 release, maybe this should probably be closed?

Running 0.30.2, can replicate this problem if there is more than one source_ignore or source_names.  I copied the example directly into the config directly from the components page.  Commenting out the array and referencing just one input is successful and does not create the error.
homeassistant.bootstrap: Invalid config for [media_player.yamaha]: expected a dictionary for dictionary value @ data['source_names']. Got [OrderedDict([('HDMI1', 'ChromeCast')]), OrderedDict([('AV4', 'Vinyl')])]. Please check the docs at https://home-assistant.io/components/media_player.yamaha/

The weird part is that the sample configuration on the documentation is a copy/paste of mine… and works fine on 0.30.2 on my end. Maybe an indentation issue?

IIRC 0.26 was the first time this showed up, and there were issues with the ssdp discovery that was causing the issue. As this is working in 0.32, closing.


Add applications property to manifest.json for Firefox support

Chrome shows warning when applications property is present in manifest.json
Firefox requires the applications property
We should dynamically generate a manifest.json with the applications property when packaging for Firefox
See also #88, #81

This makes sense to me. Would you want to add specific targets to the Makefile to package the extensions for Firefox, Chrome, etc. Any preferences for the output location and structure?
Let me know and I can submit a PR.

Took a bit of a look at this myself last night. I'm thinking that we could create patch files for each build target using JSON Patch, then output to a target specific build folder for distribution to the seperate browsers. If that wasn't enough we could also include extra customization in the individual build targets in the Makefile.
Let me know if this sounds reasonable and I'll submit a PR.

Building the extension package is done in make-package.rb. The Chrome package is just a straight zip of the src directory. That script also exits if there are any unversioned files under src, so there's no contamination from unexpected temp files lying around.
jq was my first instinct since it's popular, widely available (brew install jq), and already in use in the build process. Combining manifests is just jq -s ".[0] * .[1]" manifest-common.json manifest-firefox.json > src/manifest.json.
I've not used JSON Patch, but I'm not against it. What I care about most is that from-source development works smoothly. I care about running the extension from the unpacked source, making updates, and seeing them quickly. Switching between Chrome/FF quickly (one command at most) is the next highest priority.

I haven't tried jq before but that looks more than capable. If you're already using it I'll try to work with that before adding anything else.
I'm assuming that by "from-source" development you mean that we could run the extension without needing to run a command to see changes (other than reloading the extension in the browser obviously). I'm not totally sure how to handle this but perhaps we can find some prior solutions in another extension that would work for us? I'll see if there's an extension author forum on the Mozilla side I can ask.

Just so I know, would you be against running something like the guard gem in Ruby or chokidar in node to watch the filesystem for changes and kick off a build?
We might be able to tie it into a tool like Mozilla's web-ext which would also automatically reload the extension in development. You'd need to spin it up when we started dev but it could make up for it by saving time later.
Thoughts? Is running a watcher too annoying?

I went ahead and implemented something. It's not super pretty, but it works.
I don't think a watcher is needed here since the manifest is rarely updated. Instead, updating src/manifest.json is just part of the package build process.
Now there's a top-level folder (manifest) that holds common.json, chrome.json, and firefox.json.

make dev-chrome updates src/manifest.json for Chrome development
make dev-firefox updates src/manfiest.json for Firefox development
make creates packages for both Chrome and FF
src/manifest.json is a dynamic file now, so it's excluded from the unversioned file check when creating the package


Enhance the App with User-Provided Google API Key

Add a user input field for Google API key to improve flexibility and user experience.

alright.
if you want to make the change do the needful


What is your environment for testing your model?

Dear authors:
Hi! Thanks for opensourcing this repo.
I meet several problems for runing this repo.
I got stuck when performing evaluation process according to the issue. https://github.com/google-research/deeplab2/issues/58

I make such change to run you model ().

I download the MotionDeeplab ckpt from this repo. I perform the evaluation process.
but the results are nearly zero.

Has anyone successfully run this repo????
I doubt it maybe enviroment problems.
I use RTX-3090 with tf2.5 cuda 11.1.

Dear @lxtGH,
My setup is CUDA 11.2.2 with tf 2.5.0. I don't need to do any changes.  I get the same layout error, but everything still runs fine.
The following example is the Motion-DeepLab trained on KITTI checkpoint that we provide evaluated on KITTI:
python trainer/train.py --config_file="./configs/kitti/motion_deeplab/resnet50_os32.textproto" --num_gpus=1 --mode=eval --model_dir="/**retracted**/models/deeplab2/kitti/"
I don't have access to a RTX-3090, so I am unable to verify that It runs there too.

2021-10-08 09:12:02.213287: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
I1008 09:12:05.060556<PHONE_NUMBER>75072 train.py:65] Reading the config file.
I1008 09:12:05.065931<PHONE_NUMBER>75072 train.py:69] Starting the experiment.
2021-10-08 09:12:05.068325: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-10-08 09:12:05.160309: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties:
pciBusID: 0000:83:00.0 name: NVIDIA TITAN X (Pascal) computeCapability: 6.1
coreClock: 1.531GHz coreCount: 28 deviceMemorySize: 11.91GiB deviceMemoryBandwidth: 447.48GiB/s
2021-10-08 09:12:05.160363: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-10-08 09:12:05.346183: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-10-08 09:12:05.346345: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
2021-10-08 09:12:05.393284: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcufft.so.10
2021-10-08 09:12:05.518453: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcurand.so.10
2021-10-08 09:12:05.607084: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusolver.so.11
2021-10-08 09:12:05.683005: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcusparse.so.11
2021-10-08 09:12:05.686791: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-10-08 09:12:05.693328: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0
2021-10-08 09:12:05.694196: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-10-08 09:12:05.699542: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1733] Found device 0 with properties:
pciBusID: 0000:83:00.0 name: NVIDIA TITAN X (Pascal) computeCapability: 6.1
coreClock: 1.531GHz coreCount: 28 deviceMemorySize: 11.91GiB deviceMemoryBandwidth: 447.48GiB/s
2021-10-08 09:12:05.706127: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1871] Adding visible gpu devices: 0
2021-10-08 09:12:05.706191: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-10-08 09:12:06.506011: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1258] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-10-08 09:12:06.506057: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1264]      0
2021-10-08 09:12:06.506064: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1277] 0:   N
2021-10-08 09:12:06.513654: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 11436 MB memory) -> physical GPU (device: 0, name: NVIDIA TITAN X (Pascal), pci bus id: 0000:83:00.0, compute capability: 6.1)
I1008 09:12:06.516476<PHONE_NUMBER>75072 train_lib.py:105] Using strategy <class 'tensorflow.python.distribute.one_device_strategy.OneDeviceStrategy'> with 1 replicas
I1008 09:12:06.715466<PHONE_NUMBER>75072 motion_deeplab.py:53] Synchronized Batchnorm is used.
I1008 09:12:06.718576<PHONE_NUMBER>75072 axial_resnet_instances.py:144] Axial-ResNet final config: {'num_blocks': [3, 4, 6, 3], 'backbone_layer_multiplier': 1.0, 'width_multiplier': 1.0, 'stem_width_multiplier': 1.0, 'output_stride': 32, 'classification_mode': True, 'backbone_type': 'resnet', 'use_axial_beyond_stride': 0, 'backbone_use_transformer_beyond_stride': 0, 'extra_decoder_use_transformer_beyond_stride': 32, 'backbone_decoder_num_stacks': 0, 'backbone_decoder_blocks_per_stage': 1, 'extra_decoder_num_stacks': 0, 'extra_decoder_blocks_per_stage': 1, 'max_num_mask_slots': 128, 'num_mask_slots': 128, 'memory_channels': 256, 'base_transformer_expansion': 1.0, 'global_feed_forward_network_channels': 256, 'high_resolution_output_stride': 4, 'activation': 'relu', 'block_group_config': {'attention_bottleneck_expansion': 2, 'drop_path_keep_prob': 1.0, 'drop_path_beyond_stride': 16, 'drop_path_schedule': 'constant', 'positional_encoding_type': None, 'use_global_beyond_stride': 0, 'use_sac_beyond_stride': -1, 'use_squeeze_and_excite': False, 'conv_use_recompute_grad': False, 'axial_use_recompute_grad': True, 'recompute_within_stride': 0, 'transformer_use_recompute_grad': False, 'axial_layer_config': {'query_shape': (129, 129), 'key_expansion': 1, 'value_expansion': 2, 'memory_flange': (32, 32), 'double_global_attention': False, 'num_heads': 8, 'use_query_rpe_similarity': True, 'use_key_rpe_similarity': True, 'use_content_similarity': True, 'retrieve_value_rpe': True, 'retrieve_value_content': True, 'initialization_std_for_query_key_rpe': 1.0, 'initialization_std_for_value_rpe': 1.0, 'self_attention_activation': 'softmax'}, 'dual_path_transformer_layer_config': {'num_heads': 8, 'bottleneck_expansion': 2, 'key_expansion': 1, 'value_expansion': 2, 'feed_forward_network_channels': 2048, 'use_memory_self_attention': True, 'use_pixel2memory_feedback_attention': True, 'transformer_activation': 'softmax'}}, 'bn_layer': functools.partial(<class 'tensorflow.python.keras.layers.normalization_v2.SyncBatchNormalization'>, momentum=0.9900000095367432, epsilon=0.0010000000474974513), 'conv_kernel_weight_decay': 0.0}
I1008 09:12:06.923306<PHONE_NUMBER>75072 motion_deeplab.py:109] Setting pooling size to (13, 40)
I1008 09:12:06.923628<PHONE_NUMBER>75072 aspp.py:135] Global average pooling in the ASPP pooling layer was replaced with tiled average pooling using the provided pool_size. Please make sure this behavior is intended.
I1008 09:12:06.923738<PHONE_NUMBER>75072 aspp.py:135] Global average pooling in the ASPP pooling layer was replaced with tiled average pooling using the provided pool_size. Please make sure this behavior is intended.
2021-10-08 09:12:11.757189: W tensorflow/python/util/util.cc:348] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
I1008 09:12:11.760688<PHONE_NUMBER>75072 controller.py:362] restoring or initializing model...
restoring or initializing model...
I1008 09:12:12.072492<PHONE_NUMBER>75072 controller.py:368] initialized model.
initialized model.
I1008 09:12:12.073319<PHONE_NUMBER>75072 controller.py:252]  eval | step:      0 | running complete evaluation...
eval | step:      0 | running complete evaluation...
2021-10-08 09:12:12.287843: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)
2021-10-08 09:12:12.308308: I tensorflow/core/platform/profile_utils/cpu_utils.cc:114] CPU Frequency:<PHONE_NUMBER> Hz
WARNING:tensorflow:From /usr/wiss/webermar/anaconda3/envs/deeplab_pip/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py:5049: calling gather (from tensorflow.python.ops.array_ops) with validate_indices is deprecated and will be removed in a future version.
Instructions for updating:
The validate_indices argument has no effect. Indices are always validated on CPU and never validated on GPU.
W1008 09:12:19.992389<PHONE_NUMBER>75072 deprecation.py:534] From /usr/wiss/webermar/anaconda3/envs/deeplab_pip/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py:5049: calling gather (from tensorflow.python.ops.array_ops) with validate_indices is deprecated and will be removed in a future version.
Instructions for updating:
The validate_indices argument has no effect. Indices are always validated on CPU and never validated on GPU.
2021-10-08 09:12:25.851721: E tensorflow/core/grappler/optimizers/meta_optimizer.cc:808] layout failed: Invalid argument: Size of values 3 does not match size of permutation 4 @ fanin shape inMotionDeepLab/PostProcessor/StatefulPartitionedCall/while/body/_231/while/SelectV2_1-1-TransposeNHWCToNCHW-LayoutOptimizer
2021-10-08 09:12:27.338178: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudnn.so.8
2021-10-08 09:12:28.743844: I tensorflow/stream_executor/cuda/cuda_dnn.cc:359] Loaded cuDNN version 8201
2021-10-08 09:12:30.845198: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublas.so.11
2021-10-08 09:12:31.859844: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcublasLt.so.11
I1008 09:37:38.998472<PHONE_NUMBER>75072 api.py:446] Creating COCO objects for AP eval...
creating index...
index created!
Loading and preparing results...
DONE (t=12.72s)
creating index...
index created!
I1008 09:37:54.079124<PHONE_NUMBER>75072 api.py:446] Running COCO evaluation...
Running per image evaluation...
Evaluate annotation type segm
DONE (t=98.34s).
Accumulating evaluation results...
DONE (t=3.74s).
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.375
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.651
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.356
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.150
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.481
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.676
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.141
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.438
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.439
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.195
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.562
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.764
I1008 09:39:38.485969<PHONE_NUMBER>75072 controller.py:261]  eval | step:      0 | eval time:  1646.4 sec | output:
{'evaluation/ap/AP_Mask': 0.3751787,
'evaluation/iou/IoU': 0.63153327,
'evaluation/pq/FN': 734.8947,
'evaluation/pq/FP': 622.7895,
'evaluation/pq/PQ': 0.4207694,
'evaluation/pq/RQ': 0.52304685,
'evaluation/pq/SQ': 0.77444,
'evaluation/pq/TP': 1501.0526,
'evaluation/step/AQ': 0.5277102021206063,
'evaluation/step/IoU': 0.6308144803396004,
'evaluation/step/STQ': 0.5769638090215155,
'losses/eval_center_loss': 0.06295311,
'losses/eval_motion_loss': 0.0750779,
'losses/eval_regression_loss': 0.016829815,
'losses/eval_semantic_loss': 2.098444,
'losses/eval_total_loss': 2.2533038}
eval | step:      0 | eval time:  1646.4 sec | output:
{'evaluation/ap/AP_Mask': 0.3751787,
'evaluation/iou/IoU': 0.63153327,
'evaluation/pq/FN': 734.8947,
'evaluation/pq/FP': 622.7895,
'evaluation/pq/PQ': 0.4207694,
'evaluation/pq/RQ': 0.52304685,
'evaluation/pq/SQ': 0.77444,
'evaluation/pq/TP': 1501.0526,
'evaluation/step/AQ': 0.5277102021206063,
'evaluation/step/IoU': 0.6308144803396004,
'evaluation/step/STQ': 0.5769638090215155,
'losses/eval_center_loss': 0.06295311,
'losses/eval_motion_loss': 0.0750779,
'losses/eval_regression_loss': 0.016829815,
'losses/eval_semantic_loss': 2.098444,
'losses/eval_total_loss': 2.2533038}

Could you provide your full config as well as full log when you evaluate with unchanged code?

@markweberdev Hi! Mark. I found there 11095 images in test set on Kitti STEP test set. But in your paper the number is 10173.
So the numbers seem to be not very consistent.

@markweberdev Hi! Mark In Tab-3, what is window size for VPQ caculation ?

Hi,
I am unsure how you get to these insights. PQ scores are naturally higher than VPQ (by design they can’t be higher). With a window size of k=0 all baselines (B1-B3) would have had the same result, which is not what we reported in the paper.
We used the default setting of VPQ, as introduced in their paper. VPQ is averaged over K=4 different window sizes (0, 1, 2, 3 labelled images). As cityscapers-vps has only every 5th frame labelled this corresponds to their (0, 5, 10, 15) setting.
Hope that helps.
Best,
Mark

@markweberdev Thank for your reply !!  I found VPQ of KITTY STEP changes is not as much as Cityscapes-VPS.  Is the reason that STEP has less things (2 vs 8 in Cityscape) ?


is CSL CONTAINER UNPARSED issue needed?

It is now called CITATION_CONTAINER_TITLE_UNPARSED and flags the fact that the container title will likely contain more than just the title. It usually includes volume, edition, etc for the container


use shapely >=1.8

Follow up from https://github.com/pyoceans/pocean-core/pull/70#issuecomment-1466099961

One test is failing with:
E             Full diff:
E               {
E                'attributes': {'geospatial_bbox': 'POLYGON ((198.669 61.777, 198.669 67.068, '
E             +                                    '174.79200000000003 67.068, '
E             -                                    '174.792 67.068, 174.792 61.777, 198.669 '
E             ?                                            ---- ^^^^^^^^^^^
E             +                                    '174.79200000000003 61.777, 198.669 '
E             ?                                             ^^^^^^^^^^
E                                                  '61.777))',
E             -                 'geospatial_bounds': 'POLYGON ((174.792 61.777, 174.926 '
E             ?                                                                 --------
E             +                 'geospatial_bounds': 'POLYGON ((174.79200000000003 61.777, '
E             ?                                                        +++++++++++
E             +                                      '174.92599999999993 62.206, 178.812 '
E             -                                      '62.206,<PHONE_NUMBER>37 64.055605136, '
E             -                                      '178.916 64.084, 179.858 64.311, 192.86 '
E             -                                      '67.029, 196.86 67.068, 198.669 66.861, '
E             ?                                                              ----------------
E             +                                      '64.098, 192.86 67.029, 196.86 67.068, '
E             ?                                       +++++++++++++++
E             -                                      '187.753767857 64.334204193, 179.195 '
E             +                                      '197.094 67.044, 198.669 66.861, 187.784 '
E             +                                      '64.188,<PHONE_NUMBER>9999995 62.266, '
E             +                                      '176.16899999999998 61.862, '
E             -                                      '62.395, 176.169 61.862, 174.792 61.777))',
E             ?                                       ------------------------
E             +                                      '174.79200000000003 61.777))',
E             ?                                              +++++++++++

Some are just floating points diffs like<PHONE_NUMBER>0000003 vs 174.792 in the bbox. But in the bounds we have some that may be a mistake, like<PHONE_NUMBER>37 64.055605136, 178.916 vs 178.812 64.098, 192.86.

I'm not surprised by the diff, it's now using different methods to "fix" the dateline crossing. I'll plot them both and make sure its still a valid "fix"...

I'll plot them both and make sure its still a valid "fix"...

@kwilcox I know you are busy and hopefully this notebook will help you out to make a call here:
https://nbviewer.org/urls/gist.githubusercontent.com/ocefpaf/e6afad88f3063279ddcc21efa2847b89/raw/1b66d04b6381abb622e9e98e3b177b4838a99bbb/gistfile1.txt


Mod Name
JFA
Author(s)
D4RKN3R
License
MIT
Homepage link
https://forum.kerbalspaceprogram.com/topic/223852-jfa-jeb-far-away-1125
Download link
https://spacedock.info/mod/3565/JFA

Hi @D4RKN3R, thanks for the submission. This is already in progress...

Duplicate of #9937


Do not write out invalid characters to XML file.

For special characters such as: <, >, or ', write them out
to the file as:
    &#[decimal ASCII value];

Character     Written to    Appears in Jenkins
to encode     XML file      test result viewer
=========     ==========    ==================
  <            <             <
  >            >             >
  '            '           '
  &            &            &
  "            "           "

For characters which are listed as RestrictedChar
in http://www.w3.org/TR/xml11/#charsets , these characters
are completely invalid XML, and cannot even be escaped.

Character     Written to    Appears in Jenkins
to encode     XML file      test result viewer
=========     ==========    ==================
  0x08         &#8;
  0x1F         &#31;

This will at least generate a valid XML file,
but let us see where these restricted characters would
appear in the output.

Fixes #136

This change is missing tests. The existing tests for escape_xml need to be extended to ensure that a variety of non-alphanumeric characters are properly handled.
And super-nitpick: the change description does not follow the guidelines in CONTRIBUTING.md:

Follow standard Git commit message guidelines. The first line has a maximum length of 50 characters, does not terminate in a period, and has to summarize the whole commit. [...]

Committed.
I did a manual merge to add a proper entry to NEWS as part of your commit and to drop trailing whitespace from the code (which GitHub helpfully did not show, but I saw on the command line).


Absolute path imports

Acceptance Criteria

[ ] It should resolve absolute path imports relative to the root of the project

Mmm, not too happy with the NODE_PATH solution but it may be the only way we can get it going without ejecting web but we're kind of forced into it. Hopefully we won't run into any odd node_modules issues. Reference


clang-format script fails due to objective C files

I'm trying to fix some clang format problems on one of my branches, but I'm no longer able to run the clang-format script locally. It always errors out because it doesn't support objective-C files:

Is there a way to exclude these?

I can have a look at this. It should work, but there are known bugs in older clang-format that doesn't parse objective-c correct. Just for completeness. Which version of clang-format do you use?


scannet.py FileNotFoundError

When I run the main.py, the error message 'FileNotFoundError: [Errno 2] No such file or directory:'home/////data''appears, which is located in scannet. py. But the corresponding file can be found in the corresponding path. The detailed error information is as follows.
creating log file ./checkpoints/20230520_160409_train.log
Traceback (most recent call last):
File "/home/a123/ShiShi/NeuralRecon/NeuralRecon-master/venv/lib/python3.10/site-packages/IPython/core/interactiveshell.py", line 3508, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in
runfile('/home/a123/ShiShi/NeuralRecon/NeuralRecon-master/main.py', args=['--cfg', './config/train.yaml'], wdir='/home/a123/ShiShi/NeuralRecon/NeuralRecon-master')
File "/home/a123/pycharm-2021.3/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 198, in runfile
pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
File "/home/a123/pycharm-2021.3/plugins/python/helpers/pydev/_pydev_imps/pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/home/a123/ShiShi/NeuralRecon/NeuralRecon-master/main.py", line 117, in
train_dataset = MVSDataset(cfg.TRAIN.PATH, "train", transforms, cfg.TRAIN.N_VIEWS, len(cfg.MODEL.THRESHOLDS) - 1)
File "/home/a123/ShiShi/NeuralRecon/NeuralRecon-master/datasets/scannet.py", line 19, in init
self.metas = self.build_list()
File "/home/a123/ShiShi/NeuralRecon/NeuralRecon-master/datasets/scannet.py", line 32, in build_list
with open(os.path.join('home/a123/ShiShi/NeuralRecon/NeuralRecon-master/data', self.tsdf_file, 'fragments{}.pkl'.format(self.mode)), 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'home/a123/ShiShi/NeuralRecon/NeuralRecon-master/data/all_tsdf_9/fragments_train.pkl'
I would greatly appreciate it if you could solve this problem.

scannet.py line 32
with open(os.path.join('home/a123/ShiShi/NeuralRecon/NeuralRecon-master/data', self.tsdf_file, 'fragments_{}.pkl'.format(self.mode)), 'rb') as f:

If you finished the process of generating GT, the fragments_train.pkl will be there.


[ENH] - GUI Environment Editor version constraints widget doesn't allow reasonable MatchSpec choices and can't display many common constraints

Feature description
Currently the GUI cannot create or display many common version constraints that are commonly used to build actual environments. This means that in practice using conda-store in all but the simplest cases requires abandoning the GUI and only using the yaml editor.
The GUI widget on allows the an operator from the set of [=, >, <, >=, <=] combined with an exact version number. This is insufficient for many use cases.

A related issue is that version constraints that are entered in the yaml editor that are not possible in the GUI widget are not displayed (See https://github.com/conda-incubator/conda-store-ui/issues/249)
i.e. setting pandas=2.2 is a short form for the latest version of the pandas 2.2.x series

this is not displayed in the GUI

Common constraints

numpy = 1.8
numpy 1.8*
numpy 1.8.1
numpy >=1.8
numpy ==1.8.1
numpy >=1.8,<2

The full set of matchspec options is likely too complex to be captured in a GUI widget.
Originally, I had proposed that we would have a version constraint builder widget that would populate a textbox that could also be edited manually. i.e. common use cases could be handled by the widget but you would have the ability to manually type more complex constraints.
Value and/or benefit

Avoid needing to switch to yaml view to set constraints
Non-yaml view hides many constraints and is not an accurate representation of actual constraints. This would be fixed.
Ability to use the GUI editor

Anything else?
No response

@pavithraes had some thoughts on having some constraints so that the user selects the exact version. She's on PTO right now, so she can add her thoughts once she gets back. Meanwhile, I'm gonna design a "version constraint builder". I am planning to use a combination of dropdown and free form input to provide the user with the version suggestions while still giving them the flexibility of inputting via keyboard.

Here are some draft designs:

Firstly, the default environment page:

Then we have the edit page, which is where we have the changes:

Here's a closer look at the component:

I am using the MUI autocomplete component, which allows the user to add free form input, while also providing suggested/matching values.
We can also add more values to provide more flexibility with matching conditions:

And here's a quick video of the interaction (this is the create environment screen): https://www.loom.com/share/3d3291fc418b4f44b2c84d3d304ccfab?sid=ba91af01-0405-464e-a23b-0bdebe61fcb6


Update SDK and demo-score to Reflect Changes in Pallet Scoring

Encountering Error 0X05000000 on transaction submission to the chain. This PR aims to share the issue for collaborative analysis.

@adi-a11y CI is failing. Let's try to pass the CI first then wait for review.


Add second stage build

@uecker  I finished adding the rest of the Makefile functionality to cmake this morning.
@mjacobs75  Mathews, These are the patches you need to be able to completely build bart with cmake.
Hans

Thank you, Hans!
Is there a workaround for the LAPACKE issue, so that I can try this on my machine?
I will merge this now, but in the long run we should simplify this. It seems that some things which are simple to do with make and shell scripts are rather complicated with cmake.

For example reading the list of targets from a file seems very complicated.  Would a different/simpler format for this file (the list of targets) help?
In bart.c, we could include a config.h with the list of main-functions defined as a macro.
Would autogenerating the config.h be easier than editing bart.c during the build? (for our build system, config.h could just be empty)
I also wonder if we could simply omit some build options for cmake. For example, compiling commands into individual tools is something most people do not need. Just not supporting this option would remove some of the complexity.
Special stuff such as Mat2cfl might disappear anyway at some point.

Finally, would it be possible to add a section to .travis.yml where the cmake build is tested?
Martin

Martin,
The main reason for the very convoluted CMake is that I wanted to minimize the changes in the Makefile and code.
The cmake configuration could be made tremendously simpler if we did not need to maintain the build structure dictated by the current Makefile.
I would NOT use this cmake file as an indication the complexity of cmake.  It has many hacks that work arounds so that the Makefile system does not need to change.
I will work on the items in your list as time permits, but I am really busy right now making LAPACK updates and other projects.
Can you please elaborate on the “LAPACKE issues” that you are having?
I am just starting to use BART, so I did not know how people use it.  In some respects, I just made sure that CMake could do everything that the Makefile did without changing the current build process.
Hans
--
From: Martin Uecker<EMAIL_ADDRESS>Reply-To: mrirecon/bart<EMAIL_ADDRESS>Date: Sunday, July 24, 2016 at 3:24 PM
To: mrirecon/bart<EMAIL_ADDRESS>Cc: Hans Johnson<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [mrirecon/bart] Add second stage build (#56)
Thank you, Hans!
Is there a workaround for the LAPACKE issue, so that I can try this on my machine?
I will merge this now, but in the long run we should simplify this. It seems that some things which are simple to do with make and shell scripts are rather complicated with cmake.
For example reading the list of targets from a file seems very complicated. Would a different/simpler format for this file (the list of targets) help?
In bart.c, we could include a config.h with the list of main-functions defined as a macro. Would autogenerating the config.h be easier than editing bart.c during the build? (for our build system, config.h could just be empty)
I also wonder if we could simply omit some build options for cmake. For example, compiling commands into individual tools is something most people do not need. Just not supporting this option would remove some of the complexity.
Special stuff such as Mat2cfl might disappear anyway at some point.
Finally, would it be possible to add a section to .travis.yml where the cmake build is tested?
Martin
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


undefined method `map' for nil:NilClass (NoMethodError) with latest 1.2.4 gem

undefined method `map' for nil:NilClass (NoMethodError)
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/scenario_outline.rb:109:in `examples_array'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/scenario_outline.rb:74:in `each_example_row'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/scenario_outline.rb:49:in `to_units'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/feature.rb:92:in `units'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/feature.rb:91:in `map'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/feature.rb:91:in `units'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/feature.rb:27:in `step_count'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/features.rb:34:in `step_count'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/gherkin-2.11.7/lib/gherkin/tag_expression.rb:30:in `inject'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/features.rb:34:in `each'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/features.rb:34:in `inject'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/features.rb:34:in `step_count'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/formatter/html.rb:45:in `before_features'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/tree_walker.rb:181:in `__send__'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/tree_walker.rb:181:in `send_to_all'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/tree_walker.rb:179:in `each'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/tree_walker.rb:179:in `send_to_all'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/tree_walker.rb:169:in `broadcast'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_features'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/runtime.rb:48:in `run!'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/cli/main.rb:43:in `execute!'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/../lib/cucumber/cli/main.rb:20:in `execute'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/gems/cucumber-1.2.4/bin/cucumber:14
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/bin/cucumber:19:in `load'
/Users/ci/hudsonCI/workspace/test_regression/bundle/ruby/1.8/bin/cucumber:19

I experienced this issue when I had a "@" for a tag but no text after.


Fixed parameters.ini instructions

I believe there was a very small mistake in the comments of the src/parameters.ini file. They said to set the continue_training parameter, but seeing as this doesn't exist, I believe it meant to say to set the train_model parameter.
Heres a tiny pull request to fix that, hopefully I am right in my assessment!

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

Thanks :-)


Events for blocking calls

Problem Statement
Similar to https://twitter.com/brungarc/status/1711484812702171309 it should be possible in Dart to detect blocking file IO calls.
There's also a lint rule (https://dart.dev/tools/linter-rules/avoid_slow_async_io) to enforce sync io but that can't be detected for 3rd party code. Depending on the lint rule, it could make sense to send events  based on sync or async file io. In mobile apps, async io is probably the better choice, while on CLIs or backend code sync io could be better.
Solution Brainstorm
Whenever a sync file API is called, an event should be sent to Sentry. This can be done with the existing file plugin by adding extra events when the sync APIs are called.
Are you willing to submit a PR?
None

Relates to: https://github.com/getsentry/sentry-dotnet/pull/2709

How could a backend know if a File I/O call in a flutter app has been made? or am I understanding it wrong

@buenaflor the idea is that we create a perf issue for sync file I/O, but only for Flutter apps. Since we already have the file.async flag in the file spans we send, the detector living in the backend needs to check if it's a Flutter app and can then create a perf issue.

Got it, sounds reasonable, I would also opt for that route since we already have the mechanism in place to make it happen - unless there are other concerns

In .NET the situation we want to track is when an async call is blocked on:
async Execute(delegate d)
{
     SomeAsyncMethod().Wait(); // blocks and can cause thread pool starvation

   // right call would be:
   await SomeAsyncMethod();
}

So that's any async method (not just I/O) that happens on a async flow that's blocked on. Any .Result or .Wait() for example.
A simple blocking file I/O wouldn't fire the detection, unless that was called within an async method (anywhere in the call chain).

We can check if we run on the main or the background isolate, so we can add this info in the file plugin to spans wrapping sync/async calls.
https://github.com/getsentry/sentry-dart/issues/1727#issuecomment-1838656748
https://github.com/getsentry/sentry-dart/issues/1727#issuecomment-1840739291


Validate PR updates exclusively

This amends the way CI approves a PR. Currently, a PR CI build will fail if any link is invalid when the PR is opened, resulting in many PR failures being false negatives. With the update, CI will only check links modified by the request, not all. This should result in accurate CI failures. If no one has objections, I will be merging this in to master-branch over the weekend.

Very clever!


Conditional execution of notebooks

@dchung0741 I added a file .exclude that contains the files that we will exclude from CI. If this setup looks good to you, then please merge this PR!


🙏 Option to have line break on column names instead of ellipsis

🏷 Version

Package
Version

@antv/s2
1.53.0

@antv/s2-react
1.45.0

Sheet Type

[x] PivotSheet
[x] TableSheet
[ ] GridAnalysisSheet
[ ] StrategySheet
[ ] EditableSheet

🖋 Description
I'm using PivotSheet and TableSheet in my React application. I've encountered an issue with long column names: when I reduce the size of a column, the name is truncated with an ellipsis. However, for better readability and data presentation, I would prefer if the long names wrapped to multiple lines within the column header instead of being truncated.
For example :

Column Name

Can become :

ColumnName

It would be very nice to have an option to choose the overflow style for column cell
🏞 What problem does this feature solve
This modification would allow users to view the full column names even in narrow columns, enhancing the user experience and data comprehension in scenarios with lengthy column headers.

see https://codesandbox.io/p/sandbox/s2-next-ban-ben-duo-xing-wen-ben-shi-li-mhdghm

New English documentation in progress


Wait until first load to create icon image

This shifts image creation from the constructor to the load method.
Extracted from #12873 and will be used in testing upcoming style changes.

Will this return undefined when getImage is called when it is not loading or loaded? Should it also be initialized in the getImage method?

Will this return undefined when getImage is called when it is not loading or loaded? Should it also be initialized in the getImage method?

Good point.  I initialized the image in a couple more places.


Explore using a generator within Rails engine to add the node module on install

Suggested by @pedantic-git. We can crib from  https://github.com/rails/rails/blob/main/actiontext/lib/generators/action_text/install/install_generator.rb

I love this. Drop everything you're doing and work on this.
No, don't do that.


Inconsistent status messages / silent error messages?

I relatively often run into situations like this:
10 03:13:37 ***OTR*** encrypted connection established (ssid [xxFFxxFF] FFffFFff)
10 03:13:37 ***OTR key*** unverified key (used 20 times). please verify /fingerprint [fp] over second channel
10 03:13:37 ***OTR Warning*** didn't sent message, there was no encrypted connection: hey

It seems a bit counter-intuitive, does anyone have an idea what might be going?

this is handling of multiple sessions with same status and priority... needs to be handled properly in UI

plz reopen if still the case now that #73 is merged