nixpkgs.v8_3_16_14 fails to build on OSX (Mavricks) because GCC fails to build.

perl /private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/gcc-4.8.5/libstdc++-v3/scripts/make_exports.pl \
  libstdc++-symbols.ver \
  .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o \
 `echo  ../libsupc++/libsupc++convenience.la ../src/c++98/libc++98convenience.la ../src/c++11/libc++11convenience.la | \
    sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
 > libstdc++-symbols.explist || (rm -f libstdc++-symbols.explist ; exit 1)
nm -P .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a|Can't exec "c++filt": No such file or directory at /nix/store/j1m7nfimrf22fhvdv0yrsl0rildifnfv-perl-5.20.2/lib/perl5/5.20.2/IPC/Open3.pm line 280.
open2: exec of c++filt -_ failed at /private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/gcc-4.8.5/libstdc++-v3/scripts/make_exports.pl line 95.
warning: nm: no name list
warning: nm: no name list
Makefile:889: recipe for target 'libstdc++-symbols.explist' failed
make[6]: *** [libstdc++-symbols.explist] Error 1
make[6]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3/src'
Makefile:575: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3/src'
Makefile:480: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3'
Makefile:386: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3'
Makefile:11495: recipe for target 'all-stage1-target-libstdc++-v3' failed
make[2]: *** [all-stage1-target-libstdc++-v3] Error 2
make[2]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build'
Makefile:18071: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build'
Makefile:18359: recipe for target 'bootstrap' failed
make: *** [bootstrap] Error 2
builder for ‘/nix/store/f9xrc18qx1fgik5vz3lgndbjynca8xac-gcc-4.8.5.drv’ failed with exit code 2
cannot build derivation ‘/nix/store/7vpzm5sbrhm54wm0ap3394yzfi2bhnxi-gcc-wrapper-4.8.5.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/1vmrqnnywvm8xsa4wcb93a5hd55zpmkf-stdenv-darwin-boot-3.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/cbvamw1mf15qydvz6i6i8dpng0p4g5ib-v8-<IP_ADDRESS>.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/cbvamw1mf15qydvz6i6i8dpng0p4g5ib-v8-<IP_ADDRESS>.drv’ failed

Root cause is issue #6148 , it appears.

Can this be built with clang / llvm and then used by Ruby v8? We could just
switch to that instead since the only problem here is that gcc4.9 and
gcc5.0 are not compatible.
On Thu, Oct 1, 2015, 09:21 Josiah<EMAIL_ADDRESS>wrote:

perl /private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/gcc-4.8.5/libstdc++-v3/scripts/make_exports.pl
libstdc++-symbols.ver
.libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o
echo  ../libsupc++/libsupc++convenience.la ../src/c++98/libc++98convenience.la ../src/c++11/libc++11convenience.la | \     sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g' \

libstdc++-symbols.explist || (rm -f libstdc++-symbols.explist ; exit 1)
nm -P .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a|Can't exec "c++filt": No such file or directory at /nix/store/j1m7nfimrf22fhvdv0yrsl0rildifnfv-perl-5.20.2/lib/perl5/5.20.2/IPC/Open3.pm line 280.
open2: exec of c++filt -_ failed at /private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/gcc-4.8.5/libstdc++-v3/scripts/make_exports.pl line 95.
warning: nm: no name list
warning: nm: no name list
Makefile:889: recipe for target 'libstdc++-symbols.explist' failed
make[6]: *** [libstdc++-symbols.explist] Error 1
make[6]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3/src'
Makefile:575: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3/src'
Makefile:480: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3'
Makefile:386: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build/x86_64-apple-darwin13.4.0/libstdc++-v3'
Makefile:11495: recipe for target 'all-stage1-target-libstdc++-v3' failed
make[2]: *** [all-stage1-target-libstdc++-v3] Error 2
make[2]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build'
Makefile:18071: recipe for target 'stage1-bubble' failed
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory '/private/var/folders/wb/fw9f65d55vg6sl7y48lhhn_r0000gp/T/nix-build-gcc-4.8.5.drv-0/build'
Makefile:18359: recipe for target 'bootstrap' failed
make: *** [bootstrap] Error 2
builder for ‘/nix/store/f9xrc18qx1fgik5vz3lgndbjynca8xac-gcc-4.8.5.drv’ failed with exit code 2
cannot build derivation ‘/nix/store/7vpzm5sbrhm54wm0ap3394yzfi2bhnxi-gcc-wrapper-4.8.5.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/1vmrqnnywvm8xsa4wcb93a5hd55zpmkf-stdenv-darwin-boot-3.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/cbvamw1mf15qydvz6i6i8dpng0p4g5ib-v8-<IP_ADDRESS>.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/cbvamw1mf15qydvz6i6i8dpng0p4g5ib-v8-<IP_ADDRESS>.drv’ failed

Root cause is issue #6148 https://github.com/NixOS/nixpkgs/issues/6148
, it appears.
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/issues/10168.

Could you check this again with a current clone of nixpkgs? Everything should be fine there.
Instructions here: https://nixos.org/wiki/Nix_on_OS_X

No response, can be closed.

This issue seems to still be an issue.
$ git show
commit 3d52203ab2a2aa31df8ae52efda3b14e75628a57
Author: Joachim Schiele<EMAIL_ADDRESS>Date:   Thu Jun 22 11:50:09 2017 +0200
...

$ uname -a
Darwin aaaa.local 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64

$ nix-build -p v8_3_16_14
...
ld: warning: object file (/nix/store/b70ipgiymp029ggj40hmywg6wswcgrx8-clang-4.0.0/bin/../lib/clang/4.0.0/lib/darwin/libclang_rt.osx.a(gcc_personality_v0.c.o)) was built for newer OSX version (10.10) than being linked (10.5)
Undefined symbols for architecture x86_64:
  "__Unwind_GetIP", referenced from:
      ___gcc_personality_v0 in libclang_rt.osx.a(gcc_personality_v0.c.o)
  "__Unwind_GetLanguageSpecificData", referenced from:
      ___gcc_personality_v0 in libclang_rt.osx.a(gcc_personality_v0.c.o)
  "__Unwind_GetRegionStart", referenced from:
      ___gcc_personality_v0 in libclang_rt.osx.a(gcc_personality_v0.c.o)
  "__Unwind_SetGR", referenced from:
      ___gcc_personality_v0 in libclang_rt.osx.a(gcc_personality_v0.c.o)
  "__Unwind_SetIP", referenced from:
      ___gcc_personality_v0 in libclang_rt.osx.a(gcc_personality_v0.c.o)
ld: symbol(s) not found for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [tools/gyp/v8.target.mk:162: /private/var/folders/rs/k3cmq1b12238c_kx1xg1pndw0000gn/T/nix-build-v8-<IP_ADDRESS>.drv-0/v8-<IP_ADDRESS>/out/Release/libv8.dylib] Error 1

Should I file a new issue instead?

Yes, this looks like a different error. Let’s revive this in a new issue.


Figure out how to send spoken form for test recording

Hmm. Ok I'm gonna approve this one just so you're not blocked on adding tests to your other PRs but not sure I'm in love with passing through the whole command to every cursorless command. Let's discuss later
Originally posted by @pokey in https://github.com/pokey/cursorless-talon/pull/46#discussion_r680462692

this doesn't seem like a big deal; closing


same and different validators with nested fields not working

I have these rules:
{
  'account.password': ['required', 'min: 3'],
  'account.passwordCheck': ['required', 'same:account.password']
}

And it does not validate the same rule.
Proposed solution:
same: function(val, req) {
    //var val1 = this.validator.input[req];
    var val1 = this.validator._flattenObject(this.validator.input)[req];
    var val2 = val;

    if (val1 === val2) {
      return true;
    }

    return false;
  }

Big +1, was a little bit surprised it didn't already do that.


got Ciphertext failed verification error when enter incorrect passphrase

steps:
1- I started my threebot server successfully with passphrase=x
2- stop container  3sdk container stop
3- start container  3sdk container start
4 - login to container 3sdk container shell and starting 3bot server with incorrect passpharse=y , give me below error

5 - tried to start wth correct passphrase=x not working and give me same error

as i think, two-issues here:
1 - step 4 : why it ask me to pass the passpharse twice while i should use the old one ( no need to verify it twice )
2 - step 5 should ask me for correct passphrase=x , to fix that manually  we need to kill redis in container

This is not a bug. this is indeed the intended behavior
however, indeed, instead of giving an error, it should allow to retry entering the password

verified.


Update opentracing-spring-jms to 0.0.8

Signed-off-by: Gary Brown<EMAIL_ADDRESS>Fixes #163

@objectiser would you like to release a new version?
cc> @natami

A release would be highly apperciated 👍


Github Actions workflow for Docker build

This PR adds a Github Actions workflow that builds a Docker image from Dockerfile.  This is intended as the beginning of an automated build & testing ("CI/CD") pipeline.  It only checks that docker build succeeds, and does nothing with the image that is built.
In order to make the Docker image build, I had to remove sklearn from requirements.txt, as it has been deprecated.  Its replacement, scikit-learn, was already included in requirements.txt.
Currently builds take about 7 minutes.  If you're interested in setting up Docker Hub or some other cache storage backend we could potentially make that much faster.

Great work, thanks!


Japanese in the type constructor name, it becomes a parsing error

The Elm compiler accepts the source code, but the elm-language-server recognizes it as a parsing error.
The problem is that if you put Japanese in the type constructor name, it becomes a parsing error.
The source code.
module Main exposing (..)

type Color
    = Color赤
    | Color緑
    | Color青

Expected Behavior

The parsing completes normally.

Current Behavior

 Main.elm     4   1 error                           Parsing error. (lsp)

Possible Solution

The Unicode character range accepted by Elm is accepted.

Steps to Reproduce (for bugs)

git init, elm init…
Write a type constructor that contains Japanese.

Context

Mainly English-speaking people may think that a type constructor containing Japanese is ridiculous and that only ASCII range should be used for the constructor.
However, we are Japanese who write programs to process Japanese in Haskell.
In our team, there are almost only native Japanese speakers.
It would be unclear and inefficient for our team to go to the trouble of finding literature that explains Japanese concepts in English and use terminology expressed in inexact English to program Japanese-specific concepts.
Therefore, we used a type constructor called PredicateInflection未然 in Haskell, and converted it to Elm.
Both Haskell and Elm accepted the Japanese type constructor.
However, if LSP rejects it, the Elm source code of the corresponding part is troublesome to handle from others, though it is generated automatically.
Your Environment

Version used: 2.2.1
Editor used: Emacs
Environment name and version (e.g. node.js 5.4): node.js v16.10.0
Operating System and version: Linux 5.10.61-gentoo

Does this work for you with the latest release of elm-ls? It seems to be causing other regressions unfortunatly, so I'm considering to revert.
However, it seems weird, that we already shipped it and our tests did not discover the issue before.

I use @elm-tooling/elm-language-server 2.4.0.
I'm not sure if you can see the latest version of tree-sitter with this, but at least this version of elm-ls reproduces the problem.

So that version still has the problem?

Yes.


Get the filename and contentType from a component?

Hello,
invoiceModel
  .download()
  .then((pdfContent) => this.saveFileAs('invoice.pdf', pdfContent, 'application/pdf'));

From a model/component, can't we get the filename and contentType using this.get('filename') and this.get('contentType')? It looks undefined whereas it seems possible using ajax.
Thank you!

@stephanebruckert You always have to provide the filename & the content type yourself.
The exemple in component should have added a filename & contentType property as an exemple:
export default Component.extend(FileSaverMixin, {

  tagName: 'button',

  // missing from README
  filename: 'invoice.pdf',
  contentType: 'application/pdf',

  click() {
    this.get('ajax').request(this.get('downloadUrl'), {
      method: 'GET',
      dataType: 'arraybuffer', // or 'blob'
      processData: false
    })
    .then((content) => this.saveFileAs(this.get('filename'), content, this.get('contentType')));
  }
});

Ha I see, ok! Thanks
Because the request response headers do contain the contentType + filename, do you think it would be possible to make use of it? In my case I would like to use the exact filename that is coming from the API.

@stephanebruckert This is out of the scope of this addon so I can't tell you.
You have to check how to access response headers for the service you are using to retrieve the payload.

That's OK, I'm now duplicating this information in both the frontend and backend!
Closing as solved, as I now know that we can't do it from ajax either.
Many thanks for the swift responses!


Full screen screenshot feature

@brpeanut I was thinking if we could add a full screen screenshot feature to snippur. It would seem rather easy to implement because the project already supports grabbing subsets of the screen, so instead of letting the user drag the mouse, he/she just hits the take screenshot button  (to be implemented) and and a full screen picture is taken and saved. Although this seems to escape the bounds of a snippet tool but I do think it's a pretty nifty feature.

Sounds good to me. Feel free to add it! You got this!

Also, I would suggest that snippur once launched, remains on the tray and may be invoked by a key combination. So that there is no need to run the executable anytime a snipp is to be taken. Know any ways of levraging the system tray in wpf?

I personally haven't used the tray at all, but I'm sure it can't be too complicated.  As a developer I would solve this my writing a small autohotkey script to launch the application via hotkey, but I know most users wouldn't know how to do that.

@brpeanut  Had the same idea so i did a little research and wrote a keyboard hotkey class and added it to core services but then i'm not sure which approach to take from here. Should i launch the hook immediately after the app runs and just hide the window? What do you think? Also i tinkered with the wpf part, i gave it a nice style, removed the stock icons, changed the position of the docker that hosts the images(replaced with buttons), replaced the images with actual buttons but made their content the image so there can be a color variation when the mouse is over the button and also support tool tips.

I'm sorry for being so energetic. I just have really high expectations for this project because honestly speaking, i don't see a lot of attractive sniper tools out there that leverage new technologies like wpf.

No need to apologize man! If you think you can improve this tool in any way, I'll be open to the pull requests; feel free to go nuts.  :)
As far as the keyboard hook goes - There's probably a few different architectural approaches we can take.  I think we should add a configuration setting to the JSON configuration file (imgur.config) which sets the 'use hotkey' (or whatever the name would be) to true or false, then maybe another for 'which hotkey' to listen to.  Then would probably need to change the imgur.config name to something like settings.config as this feature has nothing to do with imgur.
Now that we have some settings to read, we would need some process that runs in the background and listens to the keystrokes.  I think this should be a separate executable which is runnable outside of snippur (Maybe 'Snippur.Launcher' as the name).  This could be a simple console application that runs the first time snippur is launched, then stays alive forever and launches snippur when 'some event' happens.  This could also be a windows service that is set to startup on windows boot.  In order for a program to create a new service, the program needs elevated permissions, which is always a factor to consider.
On the design changes you mentioned - I'm not a huge fan of the current icons/style either.  It's something that was done quite a long time ago and is in need of update.  If we could make it something similar to either the windows 10 standard or the CSS bootstrap standard, that would be pretty great.
Thanks for the help!

Also some other notes - The tool needs 2 more features.

Save to Clipboard: this has become more and more popular the last few years. Now most chat applications support control+V for passing images, and might not require any need for imgur.

Drawing: after we've cropped a region, we should be able to make some drawings on it, like arrows or whatever.  I think since we're using WPF, this is probably very doable, but I haven't looked into it.

Sounds like a plan! I'm not so experienced at the whole hotkey thing so i think i'll leave that to you. As for the designs i have made the following revisions to the xaml : Changed overall design, organised things a bit(added styles used by different elements), added better icon, and some other stuffs. It now looks a lot similar to the windows 10 game bar (purely coincidence) Here is what it looks like now :

I't is basically a floating docker with buttons. So when we implement the hotkey, it simply brings up the docker and presto!

Sounds like a plan! I'm not so experienced at the whole hotkey thing so i think i'll leave that to you. As for the designs i have made the following revisions to the xaml :

Changed overall design

organised things a bit(added styles used by different elements)

added better icons, and some other stuffs.

It now looks a lot similar to the windows 10 game bar (purely coincidence) Here is what it looks like now :

I't is basically a floating docker with buttons. So when we implement the hotkey, it simply brings up the docker and presto!
Here is the xaml so far:
`
<Window.Resources>
    <!--#region  Viual styles-->
    <Style x:Key="DockerButton" TargetType="{x:Type Button}">
        <Setter Property="FlowDirection" Value="LeftToRight"/>
        <Setter Property="BorderThickness" Value="0"></Setter>
        <Setter Property="Background" Value="Transparent"></Setter>
        <Setter Property="Cursor" Value="Hand"></Setter>
    </Style>

    <Style x:Key="DockerButtonImage" TargetType="{x:Type Image}">
        <Setter Property="FlowDirection" Value="LeftToRight"/>
        <Setter Property="Stretch" Value="None"></Setter>
        <Setter Property="Height" Value="50"></Setter>
        <Setter Property="Width" Value="50"></Setter>
    </Style>
    <!--#endregion-->

</Window.Resources>
<Grid x:Name="LayoutRoot">

    <!--#region Viual states and Animatiion-->
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="VisualStateGroup" ei:ExtendedVisualStateManager.UseFluidLayout="True" >
            <VisualStateGroup.Transitions>
                <VisualTransition GeneratedDuration="0:0:0.6">
                    <VisualTransition.GeneratedEasingFunction>
                        <BackEase EasingMode="EaseInOut"/>
                    </VisualTransition.GeneratedEasingFunction>
                </VisualTransition>
            </VisualStateGroup.Transitions>
            <VisualState x:Name="Base"/>
            <VisualState x:Name="Menu">
                <Storyboard>
                    <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="grid">
                        <EasingThicknessKeyFrame KeyTime="0" Value="0"/>
                    </ThicknessAnimationUsingKeyFrames>
                </Storyboard>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
    <VisualStateManager.CustomVisualStateManager>
        <ei:ExtendedVisualStateManager/>
    </VisualStateManager.CustomVisualStateManager>
    <!--#endregion-->

    <Canvas x:Name="DrawingCanvas" Background="Black" Opacity="0.5"/>
    <Border Background="#2B2B2B" x:Name="grid" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="1" Margin="0,-60,0,0"  MaxWidth="500">
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                <Button Style="{DynamicResource DockerButton}" Click="TakeScreenSnip">
                    <Image  Source="Resources/icon_clipscreen.png" Style="{DynamicResource DockerButtonImage}" />
                </Button>
                <Button Style="{DynamicResource DockerButton}" Click="TakeScreenshotClick">
                    <Image Source="Resources/icon_screenshot.png" Style="{DynamicResource DockerButtonImage}"/>
                </Button>
                <Button Style="{DynamicResource DockerButton}" Click="SaveToFileClick">
                    <Image  Source="Resources/icon_saveclip_active.png" Style="{DynamicResource DockerButtonImage}"/>
                </Button>
                <Button Style="{DynamicResource DockerButton}">
                    <Image  Source="Resources/icon_resizeclip.png" Style="{DynamicResource DockerButtonImage}" />
                </Button>
            <Button Style="{DynamicResource DockerButton}">
                <Image  Source="Resources/icon_cancelclip_active.png" Style="{DynamicResource DockerButtonImage}" />
            </Button>
            <Button Style="{DynamicResource DockerButton}" Click="CloseClick">
                <Image  Source="Resources/icon_hidedocker.png" Style="{DynamicResource DockerButtonImage}" />
            </Button>
        </StackPanel>
    </Border>
</Grid>

`

Honestly the design looks great.  If you wanted to get that in, I'll approve it.

Made a few chnages to the UI:

Will make a pull request soon. Also, i discovered a problem with the screen capture, it flickers when you take a screenshot because you call this.Hide() and this.Show() before and after you take a screen capture. If you remove those, the saved snip will have a gray overlay.

@king-kay
I pushed a few updates - A few notes.

Looks like you missed the CSProj file when adding the NetworkHelper.cs file, so the code didn't compile but 'Add Existing File' to my solution worked fine.
The new UI didn't have an 'Upload to Imgur' button, so I added one using your Icon.

So I just quickly added some fixes.  Pretty minimal things.
Thanks

Closing this issue as the feature for full screenshot has been implemented.


SHELL-1002 SHELL-983 #done Keep nested override objects and remove em…

…pty key/value pairs

Update tests to verify bug fixes

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Firestore swift Codable support

Implements encoder/decoder that can translate custom Codable types to firestore documents.
Support for DocumentReference/convenient api from API/FieldValue/ExplicitNull will be in future PRs.

One concern I have here is that we had been thinking about moving Timestamp into a separate package so that it could be shared by more SDKs than just Firestore. We had determined that would not be a breaking change. Will this change make that more difficult?

One concern I have here is that we had been thinking about moving Timestamp into a separate package so that it could be shared by more SDKs than just Firestore. We had determined that would not be a breaking change. Will this change make that more difficult?

The Codable impl for Timestamp should work with any encoder/decoder, only FirestoreEncoder treats them specially. It should be able to move them around without breaking anything, IMHO.

We can make progress on this without having fully resolved how to handle Timestamp moving to a common library. We will have to resolve that question before we can release this though.


The machine has a mechanical hard disk, and the random reading is slow, but the machine memory is large. How to set parameters to improve the reading speed.

The machine has a mechanical hard disk, and the random reading is slow, but the machine memory is large. How to set parameters to improve the reading speed.

RocketMQ uses the mmap mechanism which will automatically load related commitlog files or consume queue files into memory if it's enough.


[FEAT] Add prefer-on-push-component-change-detection to ESLint rules for Daff.io

:bulb: Feature request
Feature Name
CD.OnPush by default
The Desired Behavior
I want Components to be CD.onPush by default.
This should be done per-app/lib and over multiple commits:

[x] daff.io
[x] design
[ ] demo (perhaps post rework)
[x] design-examples

Your Use Case
It's become tedious to add review comments about CD.OnPush preferences. We should automate this at lint time.
Prior Work
See #1884 for an example. This is an existing Eslint rule. http://codelyzer.com/rules/prefer-on-push-component-change-detection/

Closed by https://github.com/graycoreio/daffodil/pull/1888


pull request to return all google user data

I modified your pretty directive to return and show all user data. In my case I need the email and id google...not only the token. Greeting from Caracas/Venezuela.

Hi @jlbousing thank you for being the first directly contributor to this repo. We are just returning the token for security purposes, in this way the user will have to validate the token against the server/backend to avoid impersonation attack. I'm not sure what problem are you trying to solve, but I would recommend you to validate the token with the server and return any information you want for the logged user exclusively from the server.
E.g.:
methods: {
  OnGoogleAuthSuccess (idToken) {
    axios.post(`theserver/accounts/googlesignin`, { IdToken: idToken }, { withCredentials: true })
      .then(response => {
        const user = {
          userId: response.data.userId,
          name: response.data.name,
          userEmail: response.data.email,
          token: response.data.token,
          plan: response.data.plan
        }
      })

I need something to that effect.
Could you give me an explanation?
I'm doing a Register With Google Account system, and I need the name and email coming from google account.
Do you think I better use the molded code that returns me all the data?

Hi...well in my case I register and login users with google through with ID and email. I not use the google api token because I dont need it. I just use my bearer token of my API. In this case, the google token does not help much...but if you considerar this as something bad or a bad practice, you can reject this pull request.


Update SQLite3 max_page_count to match current defaults

High Level Overview of Change
When rippled initiates a connection to SQLite3, rippled sends a "PRAGMA" statement defining the maximum number of pages allowed in the database. This commit updates the max_page_count so it is consistent with the default for newer versions of SQLite3. Increasing max_page_count is critical for keeping full history servers online.
Context of Change
Fixes XRPLF/rippled#5102
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[x] Performance (increase or change in throughput and/or latency)

Future Tasks
Older versions of SQLite3 should be tested to ensure they can successfully use the larger max_page_count

These settings imo should be configurable imo. Also, updating the max_page_count might fix the issue today but we will not be able to update this again. We should be increasing the page_size for FH nodes.

These settings imo should be configurable imo. Also, updating the max_page_count might fix the issue today but we will not be able to update this again. We should be increasing the page_size for FH nodes.

We had a discussion like this a couple of days ago. We thought there's no point to make max_page_count configurable. But regarding page_size - yes, there's a plan to increase a default value and make it configurable.

@dangell7 this PR sets max_page_count to the highest value currently supported in SQLite3. I don't know if there would be a reason for someone to desire a lower value.
We could also increase page_size or make that configurable. AFAIK, vacuuming isn't necessary if page count is also increased, since the larger page size will be used moving forward. Vacuuming is still ideal to transition historic DB pages to the larger page size.
Sadly, I don't seem to have the resources to try vacuuming the DB.

Sqlite vacuuming requires an equal amount of unallocated space in order to cleanup a database file. For example, if an 8TB transaction.db file needs to be vacuumed, at least 8TB (probably more) of free space would be required to process the file.
For this reason, if there comes a time when developers need to vacuum any sqlite database files, it is advantageous to have a handful of smaller files compared to one large file.
Did we consider a solution that breaks up the transaction.db into smaller chucks? This would alleviate the max_page_count threshold and improve auto_vacuum performance.


GLTF Punctual Lights don't import properly when Physical Light Attenuation is enabled

Godot version
3.4-rc3
System information
Ubuntu 20.04.3 LTS
Issue description
When the new Physical Light Attenuation is enabled in a project, punctual lights from GLTF files don't show up properly.  It appears the range and attenuation settings are set the same as if Physical Light Attenuation is not enabled.  I would expect the GLTF importer to take the project settings into account, otherwise you need to manually set all lights for any new scene.
This may not be considered a bug, so can resubmit as a proposal if needed.
Steps to reproduce
Start a new project, enable "Use Physical Light Attenuation" in the project settings.
Import a GLTF file with lights (https://github.com/KhronosGroup/glTF-Sample-Models/tree/adf2abe718a61a6859b29fab481bfbbdfc05df24/2.0/Lights).
Minimal reproduction project
test.zip

Physical light attenuation only affects rendering, and it affects all lights at once. I don't know what could be causing this.
Does this occur if you create light nodes from scratch to light up a PrimitiveMesh (such as a MeshInstance with a CubeMesh)?

I get what you're saying.  I've diagnosed the issue incorrect, however it still remains, if you turn off Physical Light Attenuation on a scene imported from GLTF, you basically see no punctual lights unless you drop the attenuation drastically.
In the attached example an attenuation of 800 isn't visible, you have to drop it below 1.0 to see lights.
Is it possibly due to the fact that the range is set to 4096 affecting the falloff or something?

In the attached example an attenuation of 800 isn't visible, you have to drop it below 1.0 to see lights.

Typical attenuation values for Godot are between 0.1 and 4.0. Values greater than 4.0 will fade out very quickly when not using physical light attenuation.

For reference, the gtlf file in question is this: https://github.com/KhronosGroup/glTF-Sample-Models/tree/adf2abe718a61a6859b29fab481bfbbdfc05df24/2.0/Lights
Where the intensity of the point light is 5. When imported it becomes an attenuation of 800+.

We didn't choose the values, they were curve fitted by @aaronfranke. I think you can only pick ones set of curves.

Picked either the 3.x curve or the 4.0 curve.

I guess the 4.0 curve should be used at import-time if physical light attenuation is enabled in the Project Settings.

Here are where the formulas were changed for the 4.0 curve: https://github.com/godotengine/godot/pull/53109/files#diff-fdf33f6fcd2b129d540ebd0e70fd04982b68e279cebfd9e96036d2fd7561c31f

So it looks like Range will still be set to Infinite with physical light attenuation / GD 4?
I may have to open an issue for this, as I'm still troubleshooting it, but I believe this infinite range is preventing lights from getting properly culled with the new rooms and portals.
https://docs.godotengine.org/en/stable/tutorials/3d/portals/using_objects_in_rooms_and_portals.html#lighting
Here it says sprawling of lights is determined by "the dimensions and direction of the light".  I assume it's taking into account the range value of omni lights to determine (at least partially) how many VisualInstances they will impact.
I'm effectively seeing that none of my gltf imported lights are getting culled.

@timshannon GLTF defines lights like physical lights which have infinite range, therefore the GLTF import code will assume an infinite range when importing the data. However, once this data is used to create a node, it will be clamped to the limits of Godot's nodes, so it will have a range of 4096. You can manually modify this value as needed for your game.

That makes sense, however the problem is that range and attenuation are related, so it basically means there is no "usable" information coming over from GTLF if I want to use portal culling.  I have to basically set all the lights by hand in Godot after setting them in Blender or other GLTF source.
I'm not sure what the best solution is here.

Just finished manually setting all the light ranges and attenuation to something that looks appropriate, and my FPS literally went from mid 70's to 600+.  I'm sure the light range affects performance everywhere not just with culling.
Am I completely misunderstanding importing lights from GLTF files?  I get that it's "technically" correct to set it to 4096, but is it in any way useful in a game engine?

As I was aiming for physical units lets poll my peers.

This issue has gotten off track a bit, so if you want me to open a separate issue or proposal, let me know.
Even something as simple as a warning that your light range is maxed out would better than the current situation.

@timshannon If you want a solution that doesn't involve changing the lights in Godot, you could set the range property of the lights in the GLTF files. Godot's GLTF import code will automatically adjust the attenuation as appropriate. https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md#light-shared-properties

Fixed by #62747.


Key Vault samples should be rewritten as recorded tests

Now that we have the SNIPPET symbol on which to condition snippets vs. running samples, we should rewrite the Key Vault samples - at least Keys - using the RecordedTestBase. This is because Managed HSM tests - which also run the Keys packages tests - can occasionally fail because a backup/restore job is running and there's no effective way to make sure those run serially: tests are [NonParallelizable], but assemblies run in parallel because that's how we run them upstream via eng/service.proj.
To best take advantage of the [IgnoreServiceError] attribute we need to use recorded tests. It's not worth porting to support non-recorded tests, probably, since doing recorded tests may give us a little more coverage anyway. At the very least it'll better test PRs.
The [IgnoreServiceError] assembly can and should be put on the SampleFixture base class so any keys method that fails with those specific-as-possible errors are ignored (or marked inconclusive).

I think this issue is similar to issue #28953 and something that we can address as part of the test initiative we are taking with KV

This is separate. The samples aren't recorded and would need some fundamental rewrites. It's not expensive, but just hasn't been priority. It'll take some work, though, as they predate most of our contemporary samples procedures.


useRedux works in the style of useReducer and returns a tuple of a state slice and the dispatch function (the slice selector is optional and will return the root state if omitted)
useReduxState only returns the state slice (again, selector being optional)
useReduxDispatch only returns the dispatch function

It would be great if anyone was willing to test this in their app. I have written some basic tests and created a sandbox to show it works. I will also fork the benchmark repo and convert all benchmark scenarios to use the hooks.
Any feedback is highly appreciated.

@MrWolfZ Looks like that's still susceptible to the top-down subscription problem. It either needs a HoC or wrapper component to redefine the subscription hierarchy.

@timdorr as I have mentioned in a comment buried somewhere deep in this thread, my proposal simply accepts that there will be cases in which props and state are out of sync inside the subscription callback and defers computing the final value to the render phase. This all hinges on the assumption that the selector is pure.
Let's look at the stale props scenario. A state update occurs, which causes the props and state to change. The child callback is executed, and may or may not cause a re-render (depending on what the stale props cause the selector to return). However, since a props change occurs, the component will re-render regardless of whether the subscription callback forced it or not. Then, during render we re-apply the selector with the latest props. The wrong result of applying the selector in the subscription callback does not matter at all at this point since it was used only as a heuristic to determine whether a render should be triggered.
The only edge case is when the stale props cause the selector to throw. My suggestion simply ignores errors when applying the selector in the subscription callback and forces a re-render. If the component gets unmounted before the render occurs, nothing happens. If it gets re-rendered the selector is applied again. Since it is pure (as per my assumption above) if the condition which caused the error in the callback (be that stale props or whatever) is still present, it will throw again. However, if something changed, it will just work.
Personally, I can't come up with any case in which you would care about those hidden errors. However, one option I considered is to log the error in development mode (and allow suppressing it once a dev looked at the cause and determined it was harmless, e.g. useRedux(state => state.items, { suppressErrorsInSubscriptionCallback: true })).

So fwiw, I actually threw together a branch Tuesday evening with the five hooks I listed, with useSelect() based on @MrWolfZ 's "alternative 1", and useActions() based on @epeli 's library.
No tests yet (like, I literally haven't even tried to execute the code), and I didn't get around to pushing it up or publishing it yet, but hopefully I can throw it up tonight.
@MrWolfZ , @timdorr : yeah, as much as I dislike not having things always be correct, this approach seems like it might be acceptable.

I adapted code from use-redux to make a simple implementation for selectors and action creators (in TypeScript). Gist Here
Usage:
const users = useSelector(selectors.users);
const updateUser = useActionCreator(actionCreators.updateUser);

Okay, I just pushed up my utterly and completely experimental branch:
https://github.com/reduxjs/react-redux/tree/hooks-experiment-1
I'll see if I can maybe publish it as an alpha or something later.
First question: does it even run? :)

@markerikson A couple of comments:
useActions:

an import for bindActionCreators is missing, no?

I think memoizing on the actionCreators might be a bad idea. I imagine this hook to be used like this (from App.js of the deeptree-nested benchmark):
import { incrementRandomCounter } from "./counters";
import { appendRandomCharacter, appendRandomCharToMany } from "./strings";

const {
  incrementRandomCounter,
  incrementFifth,
  incrementThird,
  appendRandomCharacter,
  appendMany,
} = useActions({
  incrementRandomCounter,
  incrementFifth: () => doUpdateMany(5),
  incrementThird: () => doUpdateMany(3),
  appendRandomCharacter,
  appendMany: appendRandomCharToMany(4),
})

So the actions creators object is new every time, which means the callbacks are not stable. That means users would have to memoize the actions object themselves. Why not just use a deps parameter in useActions to let the user control the stability? One downside of this approach is that the linter will complain about the action creator imports not being listed in the deps (at least I think it will complain).

The code above has a subtle issue. Due to hoisting the incrementRandomCounter and appendRandomCharacter imports are not used, but instead the declared variables from the const are used in the actions object. To work around this you either have to rename the imports or the callbacks. Or you have to assign the actions to an object and then use properties on that object:
import { incrementRandomCounter } from "./counters";
import { appendRandomCharacter, appendRandomCharToMany } from "./strings";

const actions = useActions({
  incrementRandomCounter,
  // ...
})

// use as onClick={actions.incrementRandomCounter}

So this kind of API is a bit tricky to use. Sadly the API that only returns dispatch has the same problem if you try to memoize the action. So this must simply be made very explicit in the docs I think.

I have added a useReduxActions hook that uses deps to my POC package.
useSelect:
I fixed a bug yesterday in this. In the useIsomorphicLayoutEffect call, you need to add a line latestSelectedState.current = selectedState
General feedback:
I prefer to go for the simplest possible API, even if it does not cover 100% of the use cases. In your hooks you are allowing overriding the context to use (as connect does). I think this is a bad idea, since it opens a can of worms. Maybe some people will want to just override the store, not the whole context, so you'll need another parameter storeToUse. And then maybe somebody comes up with something else they want to override. This will lead to a long list of optional positional parameters. The alternative would of course be to use a parameter object with the overrides, but this still causes a lot of complexity (e.g. what happens if both storeToUse and contextToUse are specified?). Lastly, this causes a lot of noise in the code using these hooks. While I don't particularly like these overrides in connect either, at least there you only had to specify them once per component through the props and the component itself didn't need to be aware of them since they were handled in the connect wrapper (which is useful for the primary use case for these overrides: testing). With hooks you have to specify them for each hook call, so it bleeds into your whole component.

So, I have finally implemented all benchmarks using the hooks. Below you can find the results. 7.0.1-h are the results with hooks. Please note that I get a lot of errors being printed to the console when executing the benchmarks (with and without hooks), and I am not sure what the cause or impact of those errors is. The scripting, rendering and painting values also differ greatly between runs (sometimes, 100, other times 10000), so you should probably ignore them and focus on the FPS value. If someone was willing to execute the benchmarks on their machine again to see whether it works without errors for them, that would be great.
Here is the fork of the benchmarks repo and here is a comparison between the adjusted benchmarks and the original. I think I was able to properly re-implement the components with hooks, but please feel free to check the implementations (sometimes it was tricky to not fundamentally change the implementation and thereby corrupt the results).
Finally, here are the results. As you can see the numbers are very similar. I am not 100% sure yet where the differences in stockticker and twitter-lite are coming from.
 Let me copy&paste the table (of Avg FPS) here with the hope that  someone might get some insights.

react-redux 7.0.2
@mrwolfz/react-redux-hooks-poc
reactive-react-redux useReduxState
reactive-react-redux useReduxSelectors
redux-react-hook

deeptree
36.14
36.24
33.78
31.75

deeptree-nested
50.99
58.96
51.13
42.67
51.30

forms
55.20
55.86
53.92

stockticker
51.54
59.10
23.10

22.91

tree-view
50.49
48.87
46.30

49.55

twitter-lite
48.22
33.52
53.64
56.58

Let's not worry about benchmarking prototypical approaches. This issue is about API design. Perf is an implementation detail.

As for the API design, I'd like to raise one discussion.
Based on https://github.com/reduxjs/react-redux/issues/1179#issuecomment-480547676:

Possible Path Forward
So here's a hypothetical suggested path towards actually building this:

Use something like the "alternative 1" approach, and ship these hooks:

useSelect(): subscribe-only

There are two options for useSelect().
a) pass deps
const selector = state => state.items[id];
const item = useSelect(selector, [id]);

b) useCallback
const selector = useCallback(state => state.items[id], [id]);
const item = useSelect(selector);

The context is a bit different, but I saw this comment: https://github.com/facebook/react/pull/15022#issuecomment-470643909
b) is probably better if we want the react-hooks/exhaustive-deps check.

@dai-shi two thoughts about (b):

It seems to commit you to defining selectors in the component that uses them, which could make re-use in other functions tricky.

2 If you have an existing app with selectors defined in the (a) style it would be nice to use them in new hook-based components and (b) would make that tricky again.

Actually on second reading I wonder if the (b) option works if you’ve already written selectors using reselect?

@ee0pdt I don't see why it wouldn't, selectors created externally using reselect are already referentially stable so there would be no need to wrap it in useCallback.

My apologies. Somehow, I didn't follow the latest proposed code.
https://github.com/reduxjs/react-redux/blob/5786a379757ec57448223e56f526728521efbce5/src/hooks/useSelect.js#L16
It doesn't depend on selector identity, so my discussion point is void.

I created a live demo written in typescript using @markerikson 's proposed API here https://codesandbox.io/s/32wol1yv21

Using reselect(with props) should be called an antipattern with hooks due to "one cached result per selector" from one point of view, and hook composeability from another. And I am not sure that mapStateToProps factory would be a good way to solve problem this time, as it always was not.
In the same time, it's impossible to use useMemo for the same task due to selection cascades breaking the hooks rules.
Redux-friendly derived data generation/selection is still a problem, and not covered here enought, while it shall be a part of hooks API - something like useCreateSelector(fn) ~ useMemo, but selection cascade friendly.

@theKashey : sorry, I don't think I understand what you're saying there.
I totally get the issues with standard Reselect selectors having a cache size of 1, and that reusing them in multiple components will cause memoization to be useless if they all do selectValueById(state, ownProps.id) because the IDs are different.
I don't know what you're referring to by "selection cascades", or how that "breaks hooks rules".  Can you give some examples of what you mean?

Selection cascades are the base of reselect.
createSelector(
 getTodos, // also selectors or might become selectors in a future.
 getUsers,
 getPage,
 (todos, users, page) =>  limit(joinTodosAndUsers(todos, users), page, PER_PAGE)
)

The problem is that every selector is memoized, and if you've changed page -  getPage will update, but getTodos and getUsers would be still memoized. That lead to obvios conclusion - in any point of time any numbers of selectors could be memoized, and another any number could be not.
That leads to a problem, where you could not replace reselect by useMemo, due to rule "Hooks are called in the same order each time a component renders.".
So, from one side - you have to use nested selectors to properly handle state changes, but from another - you cannot use useMemo for it. And you cannot use reselect(ok, not always able). This ends up with a confused user, who had a two common memoization technique just a second ago, and now left alone with nothing.
So, what I am saying here - this time memoization should be covered by redux. It should be a part of a new API. Not just useSelect as it was proposed before, but with built-in memoization capable to handle common cases.

Okay, now I get what you mean by "selection cascades", but I still don't get what you are saying about useMemo being an issue in regards to the rules of hooks.
You can't call useMemo() inside of useMemo(), so it's not like you'd be doing:
const paginatedUsers = useMemo(() => {
    // this is illegal
    const todos = useMemo(() => {
        return state.todos;
    })
    // etc
})

Instead, you'd be doing things sequentially:
const todos = useMemo(() => {
    return state.todos;
})

const users = useMemo(() => {
    return state.users;
})

const paginatedUsers = useMemo(() => {

}, [todos, users])

I've double checked a few projects of mine, and in all cases, I could flatten deeply nested selectors like in your example without any harm to performance. So, probably this "my" problem is solvable via documentation only - just a bit different code style and that's done.
But, as long as another approach is not helping during migration, and you could not reuse old reselect selectors - I am going to spike a hooks-friendly reselect implementation, ie useReselect.

@theKashey : just since you mention that, have you seen https://github.com/reduxjs/reselect/issues/401 and the linked post / repo?

@markerikson I have a question. (as I've read your gist.)
Is stale props issue not solved? My expectation was your useSelect (aka @MrWolfZ 's "alternative 1") and batchedUpdates solve it.
I'd like to know if I'm really wrong, because my lib uses batchedUpdates and (flat) subscriptions, and the stale props issue can't be reproduced anymore. (I think this is nothing to do with proxy, but it's just about reading state in render.)
I'm interested in edge-case examples to reproduce the stale props issue. Is there any other example than https://codesandbox.io/s/42164qln37 ?

Actually, is there a minimal test case that reproduces stale props and zombie children issue? It would be really helpful to test the new implementations against it

@Torvin here are two test cases for stale props with hooks. Which one you choose depends on what you want to verify with your implementation. The tests must of course be adapted to your concrete API.
If you want to verify that stale props cause no issues, use this:
it('ignores transient errors in selector (e.g. due to stale props)', () => {
  const Parent = () => {
    const count = useReduxState()
    return <Child parentCount={count} />
  }

  const Child = ({ parentCount }) => {
    const result = useReduxState(count => {
      if (count !== parentCount) {
        throw new Error()
      }

      return count + parentCount;
    })

    return
{result}

  }

  const store = createStore((count = -1) => count + 1)

  const App = () => (
    <Provider store={store}>
      <Parent />
    </Provider>
  )

  rtl.render(<App />)

  expect(() => store.dispatch({ type: '' })).not.toThrowError()
})

If you want to verify that the state selector is never called with stale props, use this:
it('ensures consistency of state and props in selector', () => {
  let selectorSawInconsistencies = false

  const Parent = () => {
    const count = useReduxState()
    return <Child parentCount={count + 1} />
  }

  const Child = ({ parentCount }) => {
    const result = useReduxState(count => {
      selectorSawInconsistencies = selectorSawInconsistencies || (count !== parentCount)
      return count + parentCount;
    })

    return
{result}

  }

  const store = createStore((count = -1) => count + 1)

  const App = () => (
    <Provider store={store}>
      <Parent />
    </Provider>
  )

  rtl.render(<App />)

  store.dispatch({ type: '' })
  expect(selectorSawInconsistencies).toBe(false)
})

Thinking some more about the options for useActions.
Seems like there's basically three obvious potential signatures:
useActions(addTodo)
useActions([addTodo, toggleTodo})
useActions({addTodo, toggleTodo})

(Note that I'm really not considering offering a hook that accepts the (dispatch) => dispatchProps function form that connect allows for mapDispatch, both because I don't like that form, and because if you really want to do that you can call useDispatch() yourself instead.)
Redux's bindActionCreators() already supports either a single action creator or an object, so the single function and object signatures are free.  The array signature is also trivial to implement.
The main questions are:

What signatures are most useful / desired?
How bad is the cognitive load / bug potential of the object form in particular? (per the comment at https://github.com/reduxjs/react-redux/issues/1179#issuecomment-482473235 ).  @MrWolfZ , can you throw together a demo of that bug in action?
Should memoization be done internal to the hook with a deps array passed in, or leave it up to the end user to memoize the original actions object before passing it to the hook?

As an alternative to a deps array, I could imagine doing a shallowEqual(actionsArg) check inside the hook, but that would fail if users opted to define functions inline, like useActions({addTodo : () => ({type : "ADD_TODO"}) }).

@markerikson sure, here's a sandbox that uses my POC and that shows the bug in action. As you can see the editor and linter are able to detect the issue, so as long as those are used the issue might be easy to detect.
Regarding memoization, I think the deps approach is best, since a) it does not force you to do it, but if you decide you need the performance gains you can easily opt in with minimal code changes, and b) it is consistent with how other hooks work.
Regarding static typing, I don't see any issue having those overloads. You can easily type them separately to get clean signatures (at least in TypeScript).
Regarding naming of the hooks: The reason I use Redux in the name of each hook in my POC is to prevent conflicts with other libraries/hooks. I never really understood why people are still trying to get the shortest possible variable names. Usually, you wouldn't type all of it anyways, but let your editor's autocomplete take care of it. And then, when you see it in code it is much more clear where the hook comes from and what it does (and remember, we spend 90% of our time reading code, only 10% writing it (the numbers are of course completely made up, but you get my point)).

I'm not a big fan of the object form because in the most common use case you would have to either
const { addTodo: onAddTodo, toggleTodo: onToggleTodo } = useActions({addTodo, toggleTodo});

or
const { addTodo, toggleTodo } = useActions({ addTodo: actionCreators.addTodo, toggleTodo: actionCreators.toggleTodo });

which are both verbose. I like the array form and single func form.
As far as types is concerned, I think an overload could handle each of those cases fine. (At least in TypeScript)

I think it's more idiomatic Hooks if we just do the single value and array forms. That matches your other core Hook APIs more closely.

The object form allows this pattern:
import * as tilesActions from "./actions/tilesActions";
import * as toolActions from "./actions/toolActions";

const { updateTile, removeTile, setCommand } from useActions({ ...toolActions, ...tilesActions });

This eliminates shadowing (and the bug of calling unbound actions), without needing to build an array of action creators manually.

Yeah, the workaround to the "shadowing" issue is to define the action creators object ahead of time rather than inline - either by import * as actions from "./someActions", or manually creating the object.  @cmrigney , note that per your example you can just do const {addTodo, toggleTodo} = useActions(actionCreators).
I agree the shadowing problem is tricky and nasty.  Still, given the prevalence of the object form already, I want to keep it.  We would just need to very carefully document the hazards of passing an object inline.
At this point I want to ship all three forms, and I see that @MrWolfZ has already implemented them in his POC lib.  I'm inclined to say that @MrWolfZ should turn that lib into a PR, and we ship it as an alpha.
My naming preference is still useSelect/useActions/useDispatch/useStore/useRedux, but I'm willing to be convinced otherwise if enough folks feel strongly enough about it.
Thoughts?

I would rather replace useSelect with useStoreState. It matches the form of use<Noun> that the core Hooks API follows, but avoids conflicts with useState.

For what it's worth, "select" is an adjective or a verb, and adjectives can be "nouns" (they're called substantives).

@timdorr maybe @markerikson can confirm this, but I believe if we got rid of useSelect then the component would re-render every time any part of the redux state changed, vs just when the selected value changed.  Though I think if there was useSelect and useStore, that would answer both.

@cmrigney : the hook would still take a selector regardless of the name, it's just a question of naming it.

@timdorr, for a noun option, maybe useSelector?  Could we have end up having an object of selectors as an argument?  If so, then maybe useSelectors?
I wonder if there would be some regret later in using the term "state" too much.   We're all used to mentally distinguish React "state" and Redux "state", but previously the term state was used in the HOC and now they're inching it towards the actual component function.  Maybe it's fine.  Would it also be fine for newcomers?
Naming will probably be a compromise between correctness, obviousness, and I guess distinctness from React terms. Don't you guys feel there is something ever so slightly unsettling about React having state and reducers, and dispatch too now?  I was a newcomer, would that be obvious?  And would I care if it wasn't immediately obvious?

@timdorr useMemo and useEffect don't really follow this trend, Memoization and Effect aren't exactly nouns.
Anyway, Is the stale props issue a big deal?
From my tests the selector only sees the stale prop when it is called in the subscribe callback, so the problem is moot if the new selected state is not set in the subscribe callback but during a re-render, that way even if the stale props fail to trigger a re-render in the subscribe callback, the component will re-render anyway because of the new props and get the correct state.
Although this method means that your selector will be called twice for every re-render.
That said, there is a good chance I have no idea what I'm talking about.

@Dudeonyx Are you sure? Memo and Effect are both nouns.
Eg.
Noun

useMemo
useEffect
useSelector

Verb

useMemoize
useAffect
useSelect

@charrondev You're probably correct, but on a slightly different note I think that useSelector is a much better name than useSelect.

@markerikson, are you leaning towards useActions instead of say, useAction, because of style reasons?  If there are no performance differences, do you think multiple invocations is going to be distracting?  My very first impression is that an useAction hook in the singular, called multiple times, might look better.

@itoed : it's more that:

there's precedent for binding multiple action creators in an object at once, especially when a user has done import * as actions from "./actions"
at the same time, returning an array is more "hooks"-idiomatic, apparently
bindActionCreators() can handle either a single action creator or an object

So, at this point I'm intending to ship a single useActions() that can take a single action creator, an array of action creators, or an object of action creators.  If you want to call it multiple times with a single argument, that's up to you.

@markerikson, I see.  Here are just some observations about usage in my personal experience, in case it helps:
Your first point was definitely true for me when I was more committed to the Presentation component vs Container component style.  In my experiment converting an existing project to a Redux hook implementation where hooks may be reusable, I'm thinking this will become less common.
For your second point, my interpretation of return values that are lists is more like they are semantically tuples.  In the case of useActions it seems more like a proper collection, not a tuple like [state, setState].  For comparison, I was imagining useAction to feel more like useCallback or useRef.
In any case, I can't wait for hooks so either would be wonderful!

@Dudeonyx : correct, that is the actual definition of the "stale props" issue.
I did a brain dump explaining what "stale props" and "zombie child" actually mean over in Reactiflux the other day, and I saved the chat log here:
https://gist.github.com/markerikson/faac6ae4aca7b82a058e13216a7888ec

How about a [noun, verb] tuple convention?
useMemo:
const [data, memoizeData] = useMemo(initialData);

Your first point was definitely true for me when I was more committed to the Presentation component vs Container component style. In my experiment converting an existing project to a Redux hook implementation where hooks may be reusable, I'm thinking this will become less common.

I actually have found the Container / Presentation component to be as important as ever when using Redux hooks. (I've been using @MrWolfZ's code for the last couple days, so I have a bit of an understanding of the impact on DX, here).
Ultimately, my Container components are handling retrieving data from stores, or side effects to pull that data from a remote data source. That leaves Presentation components (the direct child of a ContainerComponent) to receive the (in my case, TypeScript typed) struct representing whatever data was loaded using hooks.
Sure, one of the claims to hooks was to reduce the component hierarchy, and I think that it does still largely minimize it – when you use your Container component to retrieve multiple resources from a redux store or fetch them from a URL.
I assume this will also aid in testing, as it's not really viable to use enzyme.shallow with hooks anyway, so passing mock structs seems like a reasonable approach. Same goes for developing a Storybook: it's a bit easier to develop individual components with a known prop structure rather than loading that in the component itself.
(Sorry for the aside, hope it's helpful to someone).

As @markerikson suggested, I have created a PR with my hooks implementation.
For the naming, I dropped the Redux infix since most posters here seemed to like that better. I have however changed useSelect to useSelector as was suggested above (I have also prototyped a version useSelectors that allows passing multiple selectors, but decided against it since a) the code is much more simple like this, and b) it is trivial to just use multiple useSelector calls instead).
I have also dropped the useRedux hook since it felt redundant and any line of code that isn't written, is a good line of code, since it reduces complexity, improves maintainability and can't cause bugs.

Very cool to see this coming into shape.
The new docs don't look quite right for the useCallback with useSelector example (though useCallback vs. useMemo isn't fully in my head yet):
const todoSelector = useCallback(() => {
    return state => state.todos[props.id]
}, [props.id])

const todo = useSelector(todoSelector)

It seems like the useCallback is actually being used as if it were useMemo, when it should just be:
const todoSelector = useCallback(
  state => state.todos[props.id],
  [props.id]
)

const todo = useSelector(todoSelector)

Sorry if I've missed the answer to this earlier, but what is the idea behind having the dependencies array in useAction, but not in useSelector. It would be nice if useSelector had it too as that feels more hooks-idiomatic and we wouldn't then need to use useMemo or useCallback if we include props in it.

@mungojam You didn't miss anything. It was indeed an oversight on my part that I noticed myself over the weekend, as discussed in this post. I think it makes perfect sense to add the deps to useSelector, but it might make useRedux a bit more tricky.

Would it be possible that useSelector provides some way to bail out of a rerender by passing it a ref value.
My scenario is the following: in react native apps when you use react navigation for example, unlike on the web you don’t just render the screen that the user sees but also the whole stack of screens the user navigated over to get where he is and any parallel tabs. This is necessary for animations between screens etc..  In the past I’d just get a flag wether the component is corresponding to the currently active screen and then add a should component update HOC via recompose after the redux connect. But with hooks this doesn’t work anymore. I’d ideally like to be able to give a ref to the useSelector hook to control wether it should update a subscription. I can’t think of a way to build a custom hook that would achieve this behavior.

@MrLoh I don't think we should do this for such an edge case. However, my idea for this situation would be to just ensure the selector returns the same value as long as the active tab is not the tab the component is nested in. As long as you have the active tab in the state, this should be trivial to achieve. It should also be possible to turn this into a custom hook to select the state inside a tab.

Closing this out since the code is merged in.

@timdorr Well, it's only an alpha and I think there are still some design decisions to be made.

@MrLoh you can conditionally pass a dud selector when a component is in the background. i.e
const state = useSelector(inView ? actualSelector : ()=> null);

That way when not in view the component would never re-render due to redux state changes.
Although I can envision a few bugs potentially arising from an incorrect or stale inView boolean causing the state to be null when it shouldn't be.

@mungojam : yup, that's what happens when I write docs at midnight and haven't actually used useCallback() myself yet :)
Everyone: since this issue has gotten way too long, I've opened up #1252 for discussion of the alpha itself.  Please offer feedback there.

@Dudeonyx I don't think this would work, as it would lead to a serenader as soon as the screen becomes inactive and everything goes to an empty/loading state. Nevertheless it should be possible to create a special memoized selector that saves and returns the last state when the screen is not inView

As I understand the main reason to have object form of useActions is to use all the actions from a module like
import * as actions from 'myactions'
...
const { action1, action2 } = useActions(actions)
...

I see a possible disadvantage here that statically analyzing tools will not be able to understand that some of actions are not used in a project anymore. E.g. WebStorm notifies about unused exports in a project.

As I understand the main reason to have object form of useActions is to use all the actions from a module like
import * as actions from 'myactions'
...
const { action1, action2 } = useActions(actions)
...

I see a possible disadvantage here that statically analyzing tools will not be able to understand that some of actions are not used in a project anymore. E.g. WebStorm notifies about unused exports in a project.

Here's a crazy idea:
Provide syntax sugar with exact same behaviour as mapStateToProps, mapDispatchToProps.
P.S. I'm not experienced enough to tell if the latter is better served by context instead.

@dimaqq Discussion has moved to #1252 but that will probably not happen, the nice thing is, it's super easy to build your own custom hooks with whatever flavor you need based on the redux hooks


Fix ZQuery#collectAllPar for multiple data sources

Fixes a bug where it wasn't possible to use ZQuery#collectAllPar on queries from multiple data sources.

 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.


Duplicate Images displaying in App

Describe the bug
I find that I semi regularly get certain images duplicated in the app, even though the images reference the same file on disk. If I delete one of the images, then both get deleted. The only way to fix it is to delete the image and then restore it.
To Reproduce
Uncertain how to reproduce currently, as it happens intermittently.
Expected behavior
It should only display a single image for each file on disk
Screenshots
If applicable, add screenshots or screen recordings to help explain your problem. If they are too private for this public space, feel free to send them by email.
System information and logs:
Package: deckers.thibault.aves
Installer: com.android.vending
Aves version: 1.11.8-play, build 127
Flutter: stable 3.22.3
Android version: 14, API 34
Android build: 68.1.A.2.230 release-keys
Device: Sony XQ-DC72
Support: dynamic colors=true, geocoder=true, HDR=false
Mobile services: ready
Connectivity: mobile
System locales: en_AU, en_NZ
Storage volumes: /storage/emulated/0/, /storage/3034-6131/
Storage grants: /storage/emulated/0/Pictures/, /storage/emulated/0/DCIM/, /storage/emulated/0/Android/media/
Error reporting: true
Additional context
Add any other context about the problem here.

Duplicate:

#971

Please follow the instructions here if you wish to help.


SAM vs Serverless: switch to Serverless again?

Yes let's discuss switching back again from SAM to the serverless framework (documentation) 😄  (see #99)
I open this issue because things have moved forward with the serverless framework. Mainly: it supports layers and it can run things locally with Docker.
But another big reason is that, after trying again serverless, it solves a lot of small pain points with SAM. For example:

the region is defined in the config, you never have to deal with it in the CLI
deploy in only one step (instead of 3 with SAM)

and it is extensible. That opens very interesting doors, for example to simplify a lot some things like setting layer ARNs:
Resources:
    SimpleFunction:
        Type: AWS::Serverless::Function
        Properties:
            FunctionName: 'bref-demo-function'
            Handler: function.php
            Runtime: provided
            Layers:
                - 'arn:aws:lambda:us-east-2:209497400698:layer:php-72:4'

After with serverless:
functions:
    bref-demo-function:
        handler: function.php
        runtime: provided
        layers:
            - ${bref:layer.php-72}

What's great with that as well is that runtime versions could be handled by Bref itself, making upgrading Bref as simple as composer update.
In short serverless could help make things simpler.
BC break
If we switch we would direct tooling efforts towards serverless.
However Bref would still work with SAM.
But since the documentation would be rewritten to target serverless I think it could be considered a BC break (or a major change).
Full comparison SAM vs Serverless
Here is a complete comparison of features:
https://docs.google.com/spreadsheets/d/1DP2uVbg6TLfBa56XJ1GwlSSKQM1sM87-S3LQ2Pl9sPI/edit?usp=sharing
Please have a look and comment (here or in Google Docs) what is missing and what should be added to the list.
As you will see Serverless has a lot of advantages, the only big question left is local development.
WDYT?

Hey @mnapoli,
I will always favor Serverless Framework because it's one less vendor lock we have.
I also think SLS framework is better and more documented than SAM.
I will have a look in local dev with custom layer the next few days and will let you know if I get anywhere.  With python I know it works great.

Ok, some updates.
Definitely Possible to run bref locally with SLS.
The test:
the YML:

service: localTest
plugins:
  - serverless-offline
provider:
  name: aws
  runtime: provided
functions:
  hello:
    handler: index.php
    layers:
      - arn:aws:lambda:us-east-1:209497400698:layer:php-72-fpm:6
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'

Install serverless-offline (npm install serverless-offline --save-dev).
In Serverless offline need to edit 2 files,
index.js
Lines 367 to 381:  (need to add --docker if it is provided) need to remove the error they put for provided and allow it.
  // if (serviceRuntime === 'provided') {
   //   if (this.options.providedRuntime) {
   //     serviceRuntime = this.options.providedRuntime;
   //   }
   //   else {
   //     throw new Error('Runtime "provided" is unsupported. Please add a --providedRuntime CLI option.');
   //   }
   // }

   if (!( serviceRuntime.startsWith('provided') || serviceRuntime.startsWith('nodejs') || serviceRuntime.startsWith('python') || serviceRuntime.startsWith('ruby'))) {
     this.printBlankLine();
     this.serverlessLog(`Warning: found unsupported runtime '${serviceRuntime}'`);

     return;
   }

functionHelper.js - (need to add --docker if it is provided)
line 16:
   const args = funOptions.runtime.startsWith("provided") ? ['invoke', 'local', '-f', funOptions.funName, '--docker'] : ['invoke', 'local', '-f', funOptions.funName];
That's it. on console, execute
sls offline
it will start a Webserver in port 3000. Every call he builds the layer and execute.
Everything is working with a test php file.
Of course we need to Edit some things in serverless-offline and make a PR, but we can Definitely run it.
You can edit in the Google Sheets :)

I would ask not to rewrite (a.k.a remove) the SAM documentation. If you decide to change, I understand switching the entire focus of the docs, but keep the bare minimum (layer arn) documented. I would personally stick with CloudFormation since that's where everything else is deployed and the vendor lock-in argument doesn't work at all for my company since we make heavy use of AWS-only services. Having AWS structure declared in the SLS framework is means leaked abstraction which means vendor lock in anyway.
The only commitment I would expect from Bref is to at least never stop providing the layer. I can write my own templates without any help needed from the bref tools and my deployments are powered by AWS CodePipeline with CF so I dont need anything more than aws cloudformation package.
I say this as someone that would love to put bref in production but haven't done so for the fear of instability of an early project. Once it's there I would start using Lambda-only features that would lock me in there and if bref doesn't allow me to update my functions it would be a disaster.

@atrope thanks that sounds really cool, I'll have a look at it. And yes if it's a matter of a quick fix in the plugin I'm sure this is something we can sort out over time.
@deleugpn good points.
Just to be clear I still plan on targeting AWS only for now.
But yes since layers work with SAM or Serverless or any other tool, people can still use Bref tooling with whatever they prefer :+1: The switch to serverless would be mostly useful for those starting and those looking for an all-in-one solution with complete documentation.

Just dumping the link here: https://www.jeremydaly.com/developing-serverless-applications-locally-with-the-serverless-cloudside-plugin/

This new Serverless Framework plugin allows you to use AWS CloudFormation intrinsic functions (such as !Ref and !GetAtt) to reference cloud resources during local development. When used in your environment variables, these values are replaced with the same identifiers used when deployed to the cloud!

It's compatible with serverless-offline as well.
That's another advantage for serverless here ^^

Gotta be extra careful with that one. Imagine pushing local development messages to a Queue and having your deployed worker inside AWS picking those up and trashing your staging / live database.
Pretty cool to see the advancement on tooling around serverless nonetheless.
Personally, I use and recommend localstack. You can provision S3, SQS, SNS, etc in a local container and network it with your application using docker-compose and environment variables. I have a few test code that actually pushes messages to SQS and work them before performing assertions using localstack.

Localstack looks really interesting! There are so many things to try out 😅 But it's great!

FWiW, I'm in favour of serverless.

I would also ask not to remove CloudFormation docs. This will be a huge breaking change. I personally use BREF in my job and we have a setup our "infrastructure as code". Using AWS with BREF, CloudFormation template can be imported in other stacks, and can import stacks as well.
IMO best case will be to choose what to use during setup time - Serverless or CloudFormation, and then a template will be generated based on your choice. This way changes you plan to introduce will be backwards compatible.
But please don't remove support for CloudFormation as it will break a lot of production apps that currently opted to use Bref and relying on CloudFormation.

@Sh1d0w supporting 2 deployment config (both in the code and documentation) would be too much effort at the moment. One of Bref's principle is this:

simplify problems by removing choices instead of trying to address every need

We should support one format perfectly instead of spreading our effort and making it more confusing for users.

But please don't remove support for CloudFormation as it will break a lot of production apps that currently opted to use Bref and relying on CloudFormation.

Rest assured however that anything you wrote will still work. Also you will still be able to use SAM if you want for new projects. For example right now I use serverless for some projects even though Bref recommends SAM. The PHP layer works with both solutions. Nothing should break.
Also I want to reassure you that serverless configuration supports CloudFormation syntax. There are a few specific bits that a different but anything you do with SAM can be done with serverless. But if you don't want to change that's fine, it will still work.

By reading the documentation, I felt like SAM is not completely local. There is some communication taking place with AWS Cloud although the function itself runs locally.

I support switching to serverless. And I agree that we can't maintain both. Serverless it is!

For those interested there is a WIP in this branch: https://github.com/mnapoli/bref/tree/serverless

For those interested there is a WIP in this branch: https://github.com/mnapoli/bref/tree/serverless

Wow! @mnapoli ! Thank you for the heads up! Can't wait for it to be released. Currently I need to deploy my lambda to multiple regions and doing with sam is a pain.

Nice! You can start using Serverless right now, I've been using it for some projects. It's already compatible.

@mnapoli You made my day! That's really great news! Yay!

@mnapoli A question on serverless plugin usage. Is it supposed I need to copy bref.js to my project .serverless_plugins/ ?
What about ${bref:layer.php-73} variable in serverless.yaml? How is it resolved? Do I need to include bref.yaml into my serverless.yaml?
Thank you!

That is experimental, you can ignore all this and keep using the layer ARN explicitly.

But how can I do it if I need to deploy it to multiple regions? I guess I want to run:
serverless deploy --stage production --region us-east-1
serverless deploy --stage production --region us-west-1
serverless deploy --stage production --region eu-central-1
serverless deploy --stage production --region ap-southeast-1

but if I have the layer ARN specified explicitly it will not work. I was thinking maybe I could modify the plugin to make some sort of switch there and specify ARN for each region?

You can use region variables (see https://serverless.com/framework/docs/providers/aws/guide/variables/) but I'm sorry I can't document everything in this issue.
My first priority is to keep the same set of features. Right now you can't deploy easily to multiple regions with SAM and Bref.

Yeah, it works like this:
        layers:
            - 'arn:aws:lambda:${opt:region}:209497400698:layer:php-73-fpm:6'

awesome! thank you @mnapoli for all your work on bref! can I help you with anything to make it better?

I confirm that @atrope's PR makes it possible to run API Gateway + Lambda locally with Serverless (it works through Docker): https://github.com/dherault/serverless-offline/pull/648
This isn't as fast as it could be (a bit like SAM, the lambda starts from scratch every time) but it can be optimized over time. We need https://github.com/dherault/serverless-offline/pull/648 to be merged (or the worst case would be to fork the plugin to apply the change, but that's way more work).

Hi @mnapoli as i said, i think some work could be done in the future so the docker container would be reutilized instead of initializing from scratch all the time.
I updated the code from master in the PR and fixed what needed to be fixed now we must wait and see if they will approve it.


Tags can be case insensitive

Tags being case insensitive can make filtering function more user-friendly, since there is not much of case-sensitive tags that convey different meanings.

If I'm not wrong, tags are already case-insensitive

After testing, I found that tags are indeed case-insensitive, but the filter function does not handle the case-sensitivity well.

I will change my issue description.


GUI not opening

Microsoft PowerToys version
0.33.1
Running as admin
Yes
Area(s) with issue?
PowerToys Run
Other Software
Hello! After running the powertoys the utility starts (Task manager shows a 14MB RAM usage and almost none CPU usage). Also window split settings I made before are applied, and I can resize the windows as usual. So far so good... But the GUI is not opening... No program window or similar is opening and I have no possibility to configure other settings. A reinstallation didn't help. But I assume the issue with reinstall is that the program keeps the files on the PC as after reinstall I wasn't able to get to GUI, but the screen settings were kept.
Steps to reproduce
Open the app no matter as admin or not
✔ Expected Behavior
Opening the program window haha
❌ Actual Behavior
Not opening the program window ;)
I guess i will have to search a software to full remove the corrupted files. Ok so I did an uninstallation with BcUninstaller and searched for all leftovers. Only deleting every single leftover solved the issue.

@resteqs What was corrupted?

What do you mean with what is corrupted. The whole User Interface is not showing up

@resteqs
can you please update to https://github.com/microsoft/PowerToys/releases/download/v0.35.0/PowerToysSetup-0.35.0-x64.exe
and if the problem still persists, upload the Bug Report


Added this.panelNode.Focus() to set focus for Slide panel on Open

Summary
Setting focus to slide panel's panel content on Open and on Close returning focus back to slide panel's main content.
Resolves #321

+1 but why is there a discrepancy here?
Reference: https://github.com/cerner/terra-framework/blob/master/packages/terra-aggregator/tests/wdio/__snapshots__/reference/en/chrome_large/aggregator-spec/With_Disclosure_-_Close_from_focus_release[default].png
Latest: https://github.com/cerner/terra-framework/blob/b8687bf1e03a48b5ed33e44fc04062af2129e7a3/packages/terra-aggregator/tests/wdio/__snapshots__/reference/en/chrome_large/aggregator-spec/With_Disclosure_-_Close_from_focus_release[default].png

+1 but why is there a discrepancy here?
Reference: https://github.com/cerner/terra-framework/blob/master/packages/terra-aggregator/tests/wdio/__snapshots__/reference/en/chrome_large/aggregator-spec/With_Disclosure_-_Close_from_focus_release[default].png
Latest: https://github.com/cerner/terra-framework/blob/b8687bf1e03a48b5ed33e44fc04062af2129e7a3/packages/terra-aggregator/tests/wdio/__snapshots__/reference/en/chrome_large/aggregator-spec/With_Disclosure_-_Close_from_focus_release[default].png

the Difference is due to setting focus back to main node on close of side panel. since here we are setting focus back to main node each time on close of side panel the focus is not on section1.
I assume that having focus on section1 even after slide panel close might give impression to user that slide panel is still open. So I feel this is expected behavior of slide panel with this fix.


Overwriting sessions

Hi,
I would like to experiment with my code, running it multiple times in a row while debugging/tuning it  without creating a single session for every run, instead having one session that keeps getting overwritten every time, to avoid spamming the project with lots of sessions.
I used to do this on visdom easily by always using the same name for my env and clearing it in the code automatically. Is there a way to do this on wandb? From what I can see deleting runs from the code is possible but it is said in the docs you can't use the ID from the deleted session, so I don't really see how I could do what I describe above.
Thanks a lot.

Hey @miraodasilva we're working on a "disabled" mode that can be used for debugging scenarios where you don't actually want to create a new run in wandb each time.  That should be released later this week.  If you really do want to create a run in wandb during debugging, I suggest setting a unique id via an environment variable and using it in your calls to wandb.init.  i.e.
import wandb
print("Add the following to your environment to have the same run used between executions:")
print("WANDB_RUN_ID="+wandb.util.generate_id())

I see, does this mean that I should use the same ID every time? If so, I am fairly confident that this does not overwite the session correctly. If I use the same ID nothing is logged to the previously created session with the same ID. Ideally, I would like to clear it and see the new datapoints. Thanks a lot for your time.

Specifying the the RUN_ID will use the existing ID and not create a new "run" in the system.  Do you have an example of this not happening?

Indeed, a new run is not created but I cannot visualize any of the new data points on the plots. I apologize if I am not being clear in my explanation.
Basically, code run A creates wandb run with ID 1 and I can visualize the new loss in the plots as it is updated in the code. When I run it again, I start code run B with the same ID (1). No new wandb run is created, but in run 1 I can only see the loss from code run A, not from code run B, which is what I would like to see now, since B should have overwritten A.
Thanks.

Ah I see, it's because of the step counter in your log calls.  What you actually want to do here is set resume="allow" and then we'll append any new metrics to the old run.  We don't support overwriting existing metrics currently, only appending.  In a future release we may support overwriting old data.

I see, thanks a lot for your answer. As I thought, there does not appear to be a way to do this. There is no way to delete runs from API yet, right? I saw an issue about it but it never gained any traction from what I can gather https://github.com/wandb/client/issues/702 . If there was a way to do this, I could just use the env var as a counter, which would keep track of the ID of the previous run, delete it and then set the env var to a new value. This logic could be hidden away in a function and make things quite simple.

Hi there, we don't support this right now but you can filter in the table in the UI and get all the runs and remove them at once with "select all" in a bulk delete. We're hoping this is a quick workaround for now, and we'd like to support this in the future

I see, looking forward to this feature in the future. Thanks a lot for your time.

@miraodasilva I'm not positive I understand what you're asking, but our resuming feature should work for this if you want to "append" data to a run: https://docs.wandb.ai/guides/track/advanced/resuming

Bump.
It seems it is still not possible to overwite runs. I am in the same situation explained here.
I have a project with many runs on many datasets.
I ran my code with ID datasetX-abc123 (abc123 actually depends on hyperparameter sweep). There was a bug for that specific dataset, so I had to rerun the sweep. However:

If I delete the previous run with ID datasetX-abc123 I cannot re-run the same ID (as written in the init() doc and discussed in other issues.
If I don't delete and re-run with ID datasetX-abc123 then nothing is logged. Locally there are new files, but they are not synced. Even forcing sync doesn't do anything.

I need to use datasetX-abc123 for consistency to analyze my hyperparameters, but I can't.
Basically my only option is to delete the project if I want to reuse datasetX-abc123, but that means all my runs on other datasets will be lost.
Please make it possible to either reuse deleted IDs, or to overwrite past runs.

The doc of arg "resume=None" for wandb.init is quite confusing. I thought wandb will overwrite a historic run starting counter 0. Turns out wandb will not change the historic values.

This is really basic and obvious functionality that should be implemented. Can we get an update on this?

Hi @AndrewJBean, I wanted to follow up and ask what you are seeing if you reuse a run_id? The behavior should be to automatically overwrite the data in the run.
For example:
run = wandb.init(project='test', id="12345678")
run.log({
    "metric": 1,
})

Followed by
run = wandb.init(project='test', id="12345678")
run.log({
    "metric": 2,
})

Results in the UI showing the value for metric as 2 and the data from the first run is lost.
I believe this is what you are looking for correct?

Hi @nate-wandb , Here's an example where I would wish the existing logs to be overwritten:
[0]:wandb: WARNING (User provided step: 26500 is less than current step: 52501. Dropping entry: {'loss': ..., '_timestamp':<PHONE_NUMBER>.0800202}).

deleting the existing run before rerunning the job in the UI leads to training job failure during startup (presumably the wandb.init)

Hi @AndrewJBean, I see. Are you using the resume argument at all in your wandb.init ? The behavior you are getting sounds like you are resuming the run but if you don't pass the resume argument (or use resume=None) and pass the id then the behavior will be to overwrite the previous run and upload the new run in its place which is what it sounds like you are looking for correct?

Hi @nate-wandb , I tried out resume=None and it turns out i was misunderstanding the docs. I had understood it to mean that the whole run would be wiped and start from empty, but in reality what happens is that logs are overwritten per step value. While this is somewhat awkward, given that logs for future steps remain, it should be fine for my uses since both backfill and restore-from-checkpoint runs should fully overwrite those logs.


05/15/2018 03:13 : Create Pull Request for branch master -> prTesting1_2018051503

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Allow running load job to a different project ID

There could be a need to run a load job to a different projectId than the projectId id of the bigQuery client.
the metadata object defines the destinationTable.projectId which should be used in case it's provided,
if it's not provided - the fallback should be the same as today - the projectId of the instantiated bigQuery client.
Thanks!

Opened a PR for this change
https://github.com/googleapis/nodejs-bigquery/pull/27

Thank you for the PR! I believe we have a line in the code that would allow this already:
https://github.com/googleapis/nodejs-bigquery/blob/7230ee2fbe740ae1eea013ddc3e9f941e12399a2/src/table.js#L1726
So, this already works:
table.startImport(file, {
  destinationTable: {
    projectId: 'test-override'
  }
})

I tested against your PR, and found that the new test still passes after removing the changes made to src/table.js.

Aha.
My bad then, Thank you!

No problem, thanks for taking the time to help!


New version: JetBrains.Kotlin.Compiler version 1.4-M1

Pull request has been created with Komac v1.9.1 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/116236&drop=dogfoodAlpha

@wingetbot waivers Add Validation-Executable-Error


Fixed bounding volume performance regression

This should fix the performance problem with x3d-photo
GearVRF DCO signed off by: Nola Donato<EMAIL_ADDRESS>

tested with my app.  with this change, runs at ~50FPS.  With dirtyHierarchialBoundingVolume() in place of the transform_dirty_ flag, I get a solid 60FPS.

I am calling this function more but when I look at the code it seems redundant. I will study this more to figure out why but for now this should fix the performance problem.

ok, with this latest commit, my app now runs at 60.

I did not add the transform_dirty flag - in the code it is only used by batching. As far as I can tell, it is never cleared. That was causing the bounding volume to be computed every frame. The code that was there was wrong to begin with.
I will remove the extra functions I added. They were part of a fix that didn't work.
I still do not understand why dirtyHierarchicalBounds() has to be called for every transform change.  That is what fixed the performance problem but it would seem that you would only need to call it for the object whose transform changes - not all of its children. When I tried that, it did not work.


Translation of 'com_ui_pay_per_call:' to Spanish and Portuguese that were missing.

Pull Request Template
⚠ Pre-Submission Steps:

Before starting work, make sure your main branch has the latest commits with npm run update
Run linting command to find errors: npm run lint. Alternatively, ensure husky pre-commit checks are functioning.
After your changes, reinstall packages in your current branch using npm run reinstall and ensure everything still works.

Restart the ESLint server ("ESLint: Restart ESLint Server" in VS Code command bar) and your IDE after reinstalling or updating.

Clear web app localStorage and cookies before and after changes.
For frontend changes:

Install typescript globally: npm i -g typescript.
Compile typescript before and after changes to check for introduced errors: tsc --noEmit.

Run tests locally:

Backend unit tests: npm run test:api
Frontend unit tests: npm run test:client
Integration tests: npm run e2e (requires playwright installed, npx install playwright)

Summary
Please provide a brief summary of your changes and the related issue. Include any motivation and context that is relevant to your changes. If there are any dependencies necessary for your changes, please list them here.
Change Type
Please delete any irrelevant options.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation update

Testing
Please describe your test process and include instructions so that we can reproduce your test. If there are any important variables for your testing configuration, list them here.
Test Configuration:
Checklist

[ ] My code adheres to this project's style guidelines
[ ] I have performed a self-review of my own code
[ ] I have commented in any complex areas of my code
[ ] I have made pertinent documentation changes
[ ] My changes do not introduce new warnings
[ ] I have written tests demonstrating that my changes are effective or that my feature works
[ ] Local unit tests pass with my changes
[ ] Any changes dependent on mine have been merged and published in downstream modules.

Thanks!