Metal does not support sizing arrays in shaders with Spec Constants

In MSL, it is not possible to specify an array size using a variable in the constant address space. Because Metal function constants are variables in this space, this means that the size of an array cannot be a function constant. This is particularly surprising, given that several other things, including binding numbers of resources, can be function constants, which one would not expect given that arrays cannot be sized with function constants.
This means that, on Portability implementations over Metal, we won't be able to support shaders that use Specialization Constants to size arrays.

Not sure I understand why you want this to be a VkPI limitations. You have the constant when the pipeline is created, and this is where you are generating MSL. What's stopping you from just putting the value of the constant into the MSL source?

What's stopping you from just putting the value of the constant into the MSL source?

Thanks for identifying that possibility.
Exploring possible...but likely heroic...design options for this:

Implementation detects the requirement, and resubmits SPIRV to SPIRV-Cross with the specialized value as part of the SPIRV-Cross API?
SPIRV-Cross detects the requirement, and returns MSL that has contains some kind of printf kind of substitution tags which the implementation then invokes with the specialized values?
Implementation detects the requirement, and does some kind of search and replace on the completed MSL returned by SPIRV-Cross (which say contains a default value), with the specialized values?
Something better I'm not thinking of yet?

Other considerations:

This is on our list of feature requests submitted to Apple.
How significant are the use-case requirements for this (vis-a-vis need for heroics)?

How significant are the use-case requirements for this (vis-a-vis need for heroics)?

Well, it turns out, there are tests in the CTS which do this. Many of the subgroup tests, for example. If we want MoltenVK to be a certified implementation of VkPS, we're going to have to implement this. And when gfx-rs gets subgroup support, they'll have to support it, too.

Implementation detects the requirement, and resubmits SPIRV to SPIRV-Cross with the specialized value as part of the SPIRV-Cross API?

Is there a reason we won't be able to use the existing fallback paths (https://github.com/KhronosGroup/SPIRV-Cross/blob/5845e009ea25991264d1b848bea7e6d37469bdba/spirv_msl.cpp#L5593-L5609) that avoids emitting function constants? It looks like we could do either of these fallbacks:

the default could be defined with a macro, which should also allow us to specialize SPIR-V into multiple MSL by prepending different macro values
override the default and emit it directly

Hello, I was wondering if there is not a way to bypass this limit in 2023? This is very annoying for bindless texturing: it is required to specialize the hardware limit to access the full hardware potential.


vcluster: 0.7.0 -> 0.11.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/loft-sh/vcluster/releases.
meta.description for vcluster is: "Create fully functional virtual Kubernetes clusters"
meta.homepage for vcluster is: "https://www.vcluster.com/"
meta.changelog for vcluster is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.11.0 with grep in /nix/store/cp6jnfi1k36x0rz9q6blq076bdf3xvji-vcluster-0.11.0
found 0.11.0 in filename of file in /nix/store/cp6jnfi1k36x0rz9q6blq076bdf3xvji-vcluster-0.11.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vcluster

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cp6jnfi1k36x0rz9q6blq076bdf3xvji-vcluster-0.11.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vcluster https://github.com/r-ryantm/nixpkgs/archive/6599ac5e7f8ebde9b601ed2eb23605bcb12711d5.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cp6jnfi1k36x0rz9q6blq076bdf3xvji-vcluster-0.11.0
ls -la /nix/store/cp6jnfi1k36x0rz9q6blq076bdf3xvji-vcluster-0.11.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vcluster

Maintainer pings
cc @peterromfeldhk for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/loft-sh/vcluster/releases.
meta.description for vcluster is: "Create fully functional virtual Kubernetes clusters"
meta.homepage for vcluster is: "https://www.vcluster.com/"
meta.changelog for vcluster is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.11.1 with grep in /nix/store/4k1lyx7r1kiraiawm74c1qqh0avbk840-vcluster-0.11.1
found 0.11.1 in filename of file in /nix/store/4k1lyx7r1kiraiawm74c1qqh0avbk840-vcluster-0.11.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vcluster

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4k1lyx7r1kiraiawm74c1qqh0avbk840-vcluster-0.11.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vcluster https://github.com/r-ryantm/nixpkgs/archive/72c4396b4d523ae6499b9d1710e22dd61a67f9bf.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4k1lyx7r1kiraiawm74c1qqh0avbk840-vcluster-0.11.1
ls -la /nix/store/4k1lyx7r1kiraiawm74c1qqh0avbk840-vcluster-0.11.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vcluster

Maintainer pings
cc @peterromfeldhk @berryp for testing.

Result of nixpkgs-review pr 184116 run on x86_64-darwin 1

1 package built:

vcluster


ability to re-execute on schedule o timer

I do have a shell script that is refreshing the kerberos tokens and works well as I triggered its execution to the network change detection.
Now, after having a really long uptime on the VPN, I realised that there is no way to refresh the token using ControlPlane if the network is not changes.
The token is valid for 8 hours so I need to be able to re-run the same script even if the network did not change. How can I do this?

Unfortunately ControlPlane doesn't have a timer evidence source but you can create a few time of day entries that will fire off your script. IMO the best way to do this is to enable multiple active contexts so the context that fires off your script can act independently of the others. You can still create rules that run the script based on if you are connected to the VPN AND the it's time to renew the token.

@dustinrue I am still hoping to find a way to address this limitation because I don't want to hide the scheduler logic somewhere else. Now my VPN is persistent but not my Kerberos ticket which expires every 8h hours, so the only way to assure that this is updated is to schedule its refresh.


In file included from /Users/studio/Desktop/obfuscation/Dobby/source/core/codegen/codegen-x64.cc:4:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./source/core/codegen/codegen-x64.h:6:
/Users/studio/Desktop/obfuscation/Dobby/./source/core/assembler/assembler-x64.h:8:10: fatal error: 'MemoryAllocator/CodeBuffer/code_buffer_x64.h' file not found
8 | #include "MemoryAllocator/CodeBuffer/code_buffer_x64.h"
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [CMakeFiles/dobby.dir/source/core/assembler/assembler-x64.cc.o] Error 1
make[3]: *** Waiting for unfinished jobs....
[ 23%] Building CXX object CMakeFiles/dobby.dir/source/InstructionRelocation/x64/InstructionRelocationX64.cc.o
[ 30%] Building CXX object CMakeFiles/dobby.dir/source/InterceptRouting/InstrumentRouting/instrument_routing_handler.cpp.o
[ 30%] Building C object CMakeFiles/dobby.dir/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.c.o
[ 30%] Building CXX object CMakeFiles/dobby.dir/source/TrampolineBridge/Trampoline/trampoline_arm.cc.o
1 error generated.
make[3]: *** [CMakeFiles/dobby.dir/source/core/codegen/codegen-x64.cc.o] Error 1
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:7:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./source/InstructionRelocation/x86/InstructionRelocationX86.h:9:
/Users/studio/Desktop/obfuscation/Dobby/./source/InstructionRelocation/x86/InstructionRelocationX86Shared.h:16:30: error: unknown type name 'CodeBufferBase'
16 |                              CodeBufferBase *code_buffer, x86_insn_decode_t &insn, int8_t mode);
|                              ^
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:14:43: error: unknown type name 'CodeBufferBase'
14 | inline void codegen_x64_jmp_absolute_addr(CodeBufferBase *buffer, addr_t target) {
|                                           ^
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:24:30: error: unknown type name 'CodeBufferBase'
24 | inline void emit_rel32_label(CodeBufferBase *buffer, uint32_t last_offset, addr_t curr_relo_ip, addr_t orig_dst_ip) {
|                              ^
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:33:30: error: unknown type name 'CodeBufferBase'
33 |                              CodeBufferBase *code_buffer, x86_insn_decode_t &insn, int8_t mode) {
|                              ^
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:92:66: error: no member named 'allocateNearExecMemory' in 'NearMemoryAllocator'
92 |       auto rip_insn_seq = (addr_t)NearMemoryAllocator::Shared()->allocateNearExecMemory(
|                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:107:34: error: use of undeclared identifier 'CodeBufferBase'
107 |       auto rip_insn_seq_buffer = CodeBufferBase();
|                                  ^
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:200:19: error: reference to non-static member function must be called; did you mean to call it with no arguments?
200 |   if (!relocated->addr) {
|        ~~~~~~~~~^~
|                       ()
/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc:201:43: error: no member named 'SharedAllocator' in 'MemoryAllocator'
201 |     auto relocated_mem = MemoryAllocator::SharedAllocator()->allocateExecMemory(expected_relocated_mem_size);
|                          ~~~~~~~~~~~~~~~~~^
8 errors generated.
make[3]: *** [CMakeFiles/dobby.dir/source/InstructionRelocation/x86/InstructionRelocationX86Shared.cc.o] Error 1
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.c:4:
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.h:5:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./source/dobby/common.h:12:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./common/os_arch_features.h:5:
/Users/studio/Desktop/obfuscation/Dobby/./common/pac_kit.h:11:1: error: unknown type name 'template'
11 | template  static inline T pac_strip(T &addr, bool keep = false) {
| ^
/Users/studio/Desktop/obfuscation/Dobby/./common/pac_kit.h:11:10: error: expected identifier or '('
11 | template  static inline T pac_strip(T &addr, bool keep = false) {
|          ^
/Users/studio/Desktop/obfuscation/Dobby/./common/pac_kit.h:26:1: error: unknown type name 'template'
26 | template  static inline T pac_sign(T &addr, bool keep = false) {
| ^
/Users/studio/Desktop/obfuscation/Dobby/./common/pac_kit.h:26:10: error: expected identifier or '('
26 | template  static inline T pac_sign(T &addr, bool keep = false) {
|          ^
/Users/studio/Desktop/obfuscation/Dobby/./common/pac_kit.h:41:1: error: unknown type name 'template'
41 | template  static inline T pac_strip_and_sign(T &addr) {
| ^
/Users/studio/Desktop/obfuscation/Dobby/./common/pac_kit.h:41:10: error: expected identifier or '('
41 | template  static inline T pac_strip_and_sign(T &addr) {
|          ^
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.c:4:
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.h:5:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./source/dobby/common.h:12:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./common/os_arch_features.h:7:
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:5:1: error: unknown type name 'namespace'
5 | namespace base {
| ^
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:5:15: error: expected ';' after top level declarator
5 | namespace base {
|               ^
|               ;
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:53:17: error: expected identifier or '('
53 | struct OSThread : base::ThreadInterface, base::ThreadInterface::Delegate {
|                 ^
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:71:1: error: unknown type name 'class'
71 | class OSMemory {
| ^
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:71:15: error: expected ';' after top level declarator
71 | class OSMemory {
|               ^
|               ;
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:86:1: error: unknown type name 'class'
86 | class OSPrint {
| ^
/Users/studio/Desktop/obfuscation/Dobby/./source/PlatformUnifiedInterface/platform.h:86:14: error: expected ';' after top level declarator
86 | class OSPrint {
|              ^
|              ;
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x64/InstructionRelocationX64.ccIn file included from :/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.c7::
4In file included from :
/Users/studio/Desktop/obfuscation/Dobby/./source/InstructionRelocation/x64/InstructionRelocationX64.hIn file included from :/Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.h9::
5:
In file included from /Users/studio/Desktop/obfuscation/Dobby/./source/dobby/common.h:12/Users/studio/Desktop/obfuscation/Dobby/./source/InstructionRelocation/x86/InstructionRelocationX86Shared.h:
:16/Users/studio/Desktop/obfuscation/Dobby/./common/os_arch_features.h::3013:: 1: error: error: unknown type name 'CodeBufferBase'unknown type name 'namespace'
13 | namespace f   16 |       e    a t u r e s   {
|    ^
CodeBufferBase *code_buffer, x86_insn_decode_t &insn, int8_t mode);
|                              ^
/Users/studio/Desktop/obfuscation/Dobby/./common/os_arch_features.h:13:19: error: expected ';' after top level declarator
13 | namespace features {
|                   ^
|                   ;
In file included from /Users/studio/Desktop/obfuscation/Dobby/source/InstructionRelocation/x64/InstructionRelocationX64.cc:11:
/Users/studio/Desktop/obfuscation/Dobby/./source/core/assembler/assembler-x64.h:8:10: fatal error: 'MemoryAllocator/CodeBuffer/code_buffer_x64.h' file not found
8 | #include "MemoryAllocator/CodeBuffer/code_buffer_x64.h"
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
make[3]: *** [CMakeFiles/dobby.dir/source/InstructionRelocation/x64/InstructionRelocationX64.cc.o] Error 1
15 errors generated.
make[3]: *** [CMakeFiles/dobby.dir/source/InstructionRelocation/x86/x86_insn_decode/x86_insn_decode.c.o] Error 1
make[2]: *** [CMakeFiles/dobby.dir/all] Error 2
make[1]: *** [CMakeFiles/dobby.dir/rule] Error 2
make: *** [dobby] Error 2
Traceback (most recent call last):
File "/Users/studio/Desktop/obfuscation/Dobby/scripts/platform_builder.py", line 243, in
builder.build()
File "/Users/studio/Desktop/obfuscation/Dobby/scripts/platform_builder.py", line 75, in build
subprocess.run("cmake --build . --clean-first --target dobby --target dobby_static -- -j8", cwd=self.cmake_build_dir, shell=True, check=True)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'cmake --build . --clean-first --target dobby --target dobby_static -- -j8' returned non-zero exit status 2.
studio@Subramanyam Dobby %

get a tons if error as well. it's impossible to compile for non-authors.

yes，it's has many error，i'm try to build by document but it fail


Enhances command entra m365group user remove

Closes #6058

Adding prio label since we need this PR merged to start working on a v10 PR.

Thanks for the review @Adam-it . Could you please have another look?

Thanks for the review @Adam-it . Could you please have another look?

@MathijsVerbeeck I think some small comments where overlooked. Let me know if you have time to go over them if not I will resolve them myself and merge this today 👍

Ready to merge 🚀

Merged manually. Thank you for your awesome work 👏👏👏👏


Write a JavaScript program to find volume of a sphere

Description
Write a JavaScript program to find volume of a sphere
Volume of sphere = 4/3 × π × Radius^3
Radius : 2

Volume : 33.510321638291124

How to contribute

Save the solution in FindVolumeOfASphere.js file
Add FindVolumeOfASphere.js file in find-volume-of-a-sphere folder

!assign


Add collaborators to this repo

Comment below to be added as a collaborator
We will all be using this repository today. Even though it's public right now, you will not be able to make changes until you're given the correct permissions. We've automated this process via the GitHub API. Once you comment, we will add you as a collaborator.
You'll start to receive a lot of emails. (❗) You can slow these down immediately by clicking the Unwatch button at the top of the page and selecting either the Participating and @mentions or Ignore option.

dwray's comment

Hi

Rick's comment

Ruby's comment

test

maher was here

Test

Mike's comment

Suresh's test

Hello

Rajesh

Hi


Chaining generators produces wrong order of execution. Works correctly in pure Dart.

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Open dartpad, select Flutter, paste the code below. Then run and click the "Click" button.
For some reason goo proceeds past the yield before and it is asked to do so. Even replacing await showDialog with simple await Future.delayed(...) doesn't change the result.
It works correctly in pure Dart.
Expected results
foo START
goo START
Locked!
foo obj HERE
Unlocking...
Unlocked!
foo obj THERE
Creating operation...
foo obj HERE
Signing...
Signed!
foo obj THERE
Handling operation...
Handled!
goo END
foo END

Actual results
foo START
goo START
Locked!
foo obj HERE
Creating operation...
Unlocking...
foo obj THERE
foo obj HERE
Unlocked!
Signing...
Signed!
foo obj THERE
Handling operation...
Handled!
goo END
foo END

Code sample
Wrong order in Flutter
import 'package:flutter/material.dart';

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: darkBlue,
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return TextButton(
      child: const Text('Click'),
      onPressed: () async {
        await for (var obj in foo()) {
          if (obj is LockedError) {
            print('Unlocking...');
            //await Future.delayed(const Duration(seconds: 1));
            await showDialog(
              context: context,
              builder: (_) => AlertDialog(
                title: const Text('Unlock'),
                actions: [
                  TextButton(
                    child: const Text('Ok'),
                    onPressed: () => Navigator.of(context).pop()
                  )
                ],
              ),
            );
            print('Unlocked!');
          } else if (obj is Operation) {
            print('Signing...');
            await showDialog(
              context: context,
              builder: (_) => AlertDialog(
                title: const Text('Sign operation'),
                actions: [
                  TextButton(
                    child: const Text('Ok'),
                    onPressed: () => Navigator.of(context).pop()
                  )
                ],
              ),
            );
            print('Signed!');
          }
        }
      }
    );
  }
}

Stream<Object> foo() async* {
  print('foo START');
  await for (var obj in goo()) {
    print('foo obj HERE');
    yield obj;
    print('foo obj THERE');
  }
  print('foo END');
}

Stream<Object> goo() async* {
  print('goo START');

  var locked = true;
  if (locked) {
    print('Locked!');
    yield LockedError();
  }

  print('Creating operation...');

  var op = Operation();
  yield op;

  print('Handling operation...');
  await Future.delayed(const Duration(seconds: 1));
  print('Handled!');

  print('goo END');
}

class LockedError {}

class Operation {}

Correct order in pure Dart
void main() async {
  await for (var obj in foo()) {
    if (obj is LockedError) {
      print('Unlocking...');
      await Future.delayed(const Duration(seconds: 1));
      print('Unlocked!');
    } else if (obj is Operation) {
      print('Signing...');
      await Future.delayed(const Duration(seconds: 1));
      print('Signed!');
    }
  }
}

Stream<Object> foo() async* {
  print('foo START');
  await for (var obj in goo()) {
    print('foo obj HERE');
    yield obj;
    print('foo obj THERE');
  }
  print('foo END');
}

Stream<Object> goo() async* {
  print('goo START');

  var locked = true;
  if (locked) {
    print('Locked!');
    yield LockedError();
  }

  print('Creating operation...');

  var op = Operation();
  yield op;

  print('Handling operation...');
  await Future.delayed(const Duration(seconds: 1));
  print('Handled!');

  print('goo END');
}

class LockedError {}

class Operation {}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.10.2, on Microsoft Windows [Version 10.0.19045.3208], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.9)
[√] Android Studio (version 4.0)
[√] VS Code (version 1.80.1)
[√] Connected device (3 available)
[√] Network resources

• No issues found!

Hi @rho-cassiopeiae. Thanks for filing this issue. I'm unable to reproduce this on the latest versions of flutter. I get the correct (expected) and same order both with flutter and pure dart. Can you upgrade to the latest versions of flutter to confirm this issue still persists.

Flutter
Dart

flutter doctor -v

[✓] Flutter (Channel stable, 3.10.6, on macOS 13.4 22F66 darwin-arm64, locale
    en-NG)
    • Flutter version 3.10.6 on channel stable at /Users/dammya/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (12 days ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.80.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • sdk gphone arm64 (mobile) • emulator-5554                        •
      android-arm64  • Android 11 (API 30) (emulator)
    • iPhone 14 Pro (mobile)    • DCF2031A-7EA9-42FF-8CD4-D4584F3E7A6D • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)           • macos                                •
      darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)              • chrome                               •
      web-javascript • Google Chrome 114.0.5735.248

[✓] Network resources
    • All expected network resources are available.

• No issues found!

I should have mentioned that I use Flutter Web. Tried on both 3.10.6 and 3.12.0 beta. Still wrong order.

Thanks for your response @rho-cassiopeiae. I am able to reproduce this issue on the latest master and stable channels only on web using both renderers.
flutter doctor -v

[✓] Flutter (Channel stable, 3.10.6, on macOS 13.4 22F66 darwin-arm64, locale
    en-NG)
    • Flutter version 3.10.6 on channel stable at /Users/dammya/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (12 days ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.80.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • sdk gphone arm64 (mobile) • emulator-5554                        •
      android-arm64  • Android 11 (API 30) (emulator)
    • iPhone 14 Pro (mobile)    • DCF2031A-7EA9-42FF-8CD4-D4584F3E7A6D • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)           • macos                                •
      darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)              • chrome                               •
      web-javascript • Google Chrome 114.0.5735.248

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[✓] Flutter (Channel master, 3.13.0-8.0.pre.65, on macOS 13.4 22F66 darwin-arm64, locale en-NG)
    • Flutter version 3.13.0-8.0.pre.65 on channel master at /Users/dammya/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 9c10151508 (2 hours ago), 2023-07-24 11:26:05 +0200
    • Engine revision 4734a709cb
    • Dart version 3.1.0 (build 3.1.0-333.0.dev)
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.80.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • sdk gphone arm64 (mobile) • emulator-5554                        • android-arm64  • Android 11 (API 30) (emulator)
    • iPhone 14 Pro (mobile)    • DCF2031A-7EA9-42FF-8CD4-D4584F3E7A6D • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)           • macos                                • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)              • chrome                               • web-javascript • Google Chrome 114.0.5735.248

[✓] Network resources
    • All expected network resources are available.

• No issues found!

@dam-ease Did this reproduce on the web in both production and development modes?

This reproduces in debug/DDC mode but not release mode for the web target.
It looks like this is not a recent regression.

Moved this issue to https://github.com/dart-lang/sdk/issues/53062


Nearest midnight incorrect

The output of Observer.midnight() is incorrect when the input time falls within ~30 sec of the nearest midnight, for example:
In [1]: from astroplan import Observer
In [2]: from astropy.time import Time
In [3]: observer = Observer.at_site('aao')
In [4]: observer.midnight(Time('2016-03-01 14:19:52'), which='nearest').iso
Out[4]: '2016-03-02 14:19:24.551'

Note that the output in the above example is 24 hours later than the input time, which is incorrect.
This is related to #145, but probably warrants a separate unit test.

When I try this, I get:
In [3]: from astroplan import Observer

In [4]: from astropy.time import Time

In [5]: observer = Observer.at_site('aao')

In [6]: observer.midnight(Time('2016-03-01 14:19:52'), which='nearest').iso
Out[6]: '2016-03-01 14:13:54.948'

Do you still get the above result if you try it again? This is interesting.


Implement 'bond' type for OpenBSD

While OpenBSD doesn't have a 'bond' driver, the equivalent is 'trunk'
which can also combine multiple interfaces into a single logical interface.

Thanks.

Released as v2.30.0.


multi-point plane projection

function project_plane(point, a, b, c) =
	let(
		u = normalize(b-a),
		v = normalize(c-a),
		n = normalize(cross(u,v)),
		w = normalize(cross(n,u)),
		relpoint = is_vector(point) ? point-a : translate_points(point,-a)
	) relpoint * transpose([w,u]);

function lift_plane(point, a, b, c) = let(
	u = normalize(b-a),
	v = normalize(c-a),
	n = normalize(cross(u,v)),
	w = normalize(cross(n,u)),
        remapped = point*[w,u]
) is_vector(remapped) ? a + remapped : translate_points(remapped,a);

Implemented in fb020646e97f8aa5feb378dac69cc52a6a8a5db9


Fix editor tests bustage

Fix #1527.

Can TestLimitedReviewerQueue also be simplified as part of this patch? I think maybe it won't have to define its own generate_files(), right?

As part of this patch, I think a feature like this would be nice:
    def _test_results(self):
        ...
        expected = []
        for idx, addon in enumerate(self.expected_addons):
            ...
        else:
            raise AssertionError('self.expected_addons was an empty list')

(I added the else branch.)
This will protect against a test case (subclass) forgetting to set expected_addons -- otherwise in that scenario no tests would run which may be a silent failure.
And, actually, when I add this I see a lot of test failures so that tells me they were already silently failing.

r- so far, let me know if you have questions about how to approach it.

r+wc
I'd like to see the expected_addons length check in here.
Nice work. I still find this code confusing but you made a bad situation a lot better.

Can TestLimitedReviewerQueue also be simplified as part of this patch? I think maybe it won't have to define its own generate_files(), right?

It's safer this way as TestLimitedReviewerQueue relies on the correct nomination value being set, which might or might not be irrelevant to other tests in this file.

If you need me to take another look after you address the open comments just let me know.

Thanks for this review! I updated the patch with your comments.

looks good, r+
Do you need me to merge it or do you have access? If you have access, feel free to merge.


feat: Add support for kvv2

Description
These changes allow for the user to specify which kv version to be used. This will now allow us to support kv1 and kv2.
Fixes: #42
Checklist
Please make sure that your PR fulfills the following requirements:

[x] Reviewed the guidelines for contributing to this repository
[x] The commit message follows the Conventional Commits Guidelines.
[x] Tests for the changes have been
[x] Docs have been added / updated

Type of Change

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

I tested this build:
default@argocd-repo-server-7467f69495-f8rcr:/tmp/some-path/infrastructure/temp-test$ argocd-vault-plugin generate -s local-vault .
apiVersion: v1
data:
  test: eyAiZm9vIjogMTIzLCAiYmFyIjogNDU2IH0=
kind: Secret
metadata:
  annotations:
    avp_path: secret/data/regsecret
  name: regsecret-test
  namespace: argocd
type: Opaque
---
default@argocd-repo-server-7467f69495-f8rcr:/tmp/some-path/infrastructure/temp-test$ exit

Joshuas-MBP-2:ops jkayani$ vault kv get secret/regsecret
====== Metadata ======
Key              Value
---              -----
created_time     2021-02-04T19:19:18.895515Z
deletion_time    n/a
destroyed        false
version          1

======= Data =======
Key            Value
---            -----
pull-secret    { "foo": 123, "bar": 456 }
Joshuas-MBP-2:ops jkayani$

It worked from the UI too. I just did it from the console to easily demonstrate

Also confirm that specifying the engine-version only as annotation worked

+1


[shared-ui] Improve drag and drop of sub boards

#3951
Fixes: #3969

Not sure this is fixed. See the loom here: https://www.loom.com/share/9496810b01f34a658909c4bf91a57ff6?sid=a123b373-594b-48f6-9270-194ba65f33a8
I deployed commit ID 66105f9f0dc8053e96066866c66c7f63ca1351e6


Update state and YStore, and broadcast to clients concurrently

@ellisonbg It would be interesting to test this change and see if it solves the issue you mentioned about performances on NFS.
The problem I see with that, and I think you also talked about it, is that if we let the Y store be out-of-sync, then that will likely cause other issues, for instance if a user connects in the middle of a session - they will probably be out of sync too, and I don't know how it will behave.

Also, this is probably fine with an SQLite backend, but for a file backend it would likely require some locking mechanism to prevent accessing the file concurrently.

Can the lower level APIs have a method/function to pass in a logger?

Can the lower level APIs have a method/function to pass in a logger?

You mean that we would adhere to the Jupyter logger API? With logger.info(), logger.debug(), etc.

OK let's use the standard Python logging system API, which I think the Jupyter logging system uses.

OK let's use the standard Python logging system API, which I think the Jupyter logging system uses.

Yes this is what is used by Jupyter.

Thanks for the review @fcollonval.


Add iterative templates.

Iterative templates, are the template files that have a name like something_{id}.out, for example,
and a property "iterator" set on the individual file.
Depending on iterator (for example "available_clusters") the generator will iterate over all the
values of an interator, and generate a separate file for each one, substituting {id} with a given value.
There will be different values for "iterator" and for the {pattern} thingies in the output file names.

Codecov Report

Merging #1046 (1f9e29c) into master (070854a) will increase coverage by 0.02%.
The diff coverage is 86.11%.

@@            Coverage Diff             @@
##           master    #1046      +/-   ##
==========================================
+ Coverage   67.03%   67.06%   +0.02%
==========================================
  Files         157      157
  Lines       17202    17229      +27
  Branches     3760     3768       +8
==========================================
+ Hits        11532    11554      +22
- Misses       5670     5675       +5

Impacted Files
Coverage Δ

src-electron/generator/template-engine.js
89.10% <61.53%> (-2.57%)
:arrow_down:

src-electron/generator/generation-engine.js
78.41% <100.00%> (+0.74%)
:arrow_up:

src-shared/db-enum.js
75.00% <100.00%> (+0.71%)
:arrow_up:


Unable to install apps

Hi I am really new to archlinux I had used Ubuntu for some time but this is completely new for me...
When I try to install some app in it I get error that I must run it in root mode so I tried the way for Ubuntu sudo su...
But I am still getting error and apt is also giving error

Arch doesn't use apt, this uses pacman and yay

that is true only debian or ubuntu based distros use apt

that is true only debian or ubuntu based distros use apt

Yes, Debian and Ubuntu uses apt, and Arch Linux uses pacman as it's package manager.

I actually used Debian and Ubuntu before so yea

On 19 Nov 2021, at 7:28 AM, Sanjay Pavan @.***> wrote:

that is true only debian or ubuntu based distros use apt
Yes, Debian and Ubuntu uses apt, and Arch Linux uses pacman as it's package manager.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

For installing packages, you should use
"sudo pacman -Sy (package name)"

Your right

On 19 Nov 2021, at 9:52 AM, D1VY4NSHU @.***> wrote:

For installing packages, you should use
"sudo pacman -Sy (package name)"
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hehe, just saw this issue, reminded me of watching Linus do this exact thing! Closing the issue.


Drop net5.0 support

May 10, 2022 is the official end of support date from the .net team.
https://devblogs.microsoft.com/dotnet/dotnet-5-end-of-support-update/
We are currently using a bunch of deprecated 5X packages. We can upgrade these to 6X version.
This closed PR has details:  Replace deprecated 5.x packages to 6.x

This will be part of the broader TFM review for the next major version.

see https://github.com/Azure/azure-functions-dotnet-worker/pull/2666/files#r1723755823

Closed in favor of #2669


ffmpeg using hwaccel dramatically decreases scaling and encoding time

Not a python master so not sure how easy this would be to achieve, I presume this could be installed as a dependency through pip?
Obviously, it's possible to just save the frames and not encode the video, and do this manually. The scaling algorithm might be a little better with the original script truth be told, although frame generation time will be pretty high in comparison.
But here's an example of ffmpeg using cuda for anybody who's interested in doing it that way :
ffmpeg -hwaccel cuvid -framerate 30 -i %06d.png -i 'optionalaudio.wav' -vf "hwupload_cuda,scale_cuda=1280:720" -c:v h264_nvenc -c:a aac -b:a 320k output720.mp4

Should be quite easy to support it, thanks for suggestion!

No problem :)
Done some more experimenting. Here's my newest command line (which allows for lanczos scaling and doesn't seem much slower. Quality is noticeably improved.)
ffmpeg -hwaccel cuvid -framerate 30 -i %06d.png -i 'optionalmusic.wav' -vf "scale=1920:1080:flags=lanczos,format=yuv420p" -c:v h264_nvenc -profile:v main -preset slow -cq:v 21 -c:a aac -b:a 320k -movflags +faststart output1080.mp4
Obviously there's a little more to experiment with here. At the moment I'm trying to encode in a manner that's compatible with facebook at 2160p, as it's defaulting to 720p no matter what I upload.


[WIP] Trying to solve #304

Hi! I wanted to start getting familiar and helping with Grid and went for issue #304 but I'm not sure how to solve it...
I'm opening this draft PR in order to get some feedback, and maybe some insight on how Grid works. If you have some time, could you tell me if I'm on the right track here and/or what would be the next steps to solve the issue?
Thanks in advance :)

Woah! That's awesome @Jasopaum ! Please feel free to ask me if you need some help.


Brackets underlines file names as typing errors

Can you see the red line under the .gitignore word?

Try adding autocorrect=off to the input field http://css-tricks.com/snippets/html/autocomplete-off/

This affects all input fields (quick open, find, find in files, etc...)

Ok, lets make a medium priority.

Found an easy fix over at #10321.

@nethip can we get the fix in for the next release? this is a major annoyance...

@JeffryBooher Sure! will look at it.

Closing this as this got fixed by #10321


Syntax error

I am getting a syntax error. Please help me resolve it

Hii
just Add () everywhere you are getting errors it will solve all your error and you have to add in utils.py file too


Add more TypeScript typings and fix ColorMode type

This PR will add more TypeScript typings. There are still missing typings for the more low level functions like addIconParts and addLabelOverrides.  I have started to work on them, but they are more complicated and I need to check the implementation.

Thanks!


GPU Perf on par with Torch

Let's use LLM Foundry as a benchmark. Let's aim for ~90% the speed of LLM Foundry on:

[ ] 1xA100
[ ] 8xA100
[ ] 2x8xA100
[ ] 4x8xA100
[ ] 8x8xA100

(Sphinx nodes)
Presumably depends on #246 ?

cf https://github.com/NVIDIA/JAX-Toolbox/tree/main/rosetta/rosetta/projects/t5x


Scope ViewModel to NavBackStackEntry jetpack compose

I am currently integrating jetpack compose into an existing project. For this, I have a fragment that hosts two composables. One is the category screen and the other is the products list present in that category as navigation destinations.  This is the code within fragment's onCreateView.
        val navController = rememberNavController()
        NavHost(navController = navController, startDestination = Screen.AdminCategory.route) {
            composable(route = Screen.AdminCategory.route) {
                AdminCategoryScreen(scaffoldState = scaffoldState) {
                    val json = moshiInstance.adapter(Category::class.java).toJson(it)
                    navController.navigate(Screen.AdminCategoryProduct.createRoute(json))
                }
            }

            composable(
                route = Screen.AdminCategoryProduct.route,
                arguments = listOf(
                    navArgument(
                        Screen.AdminCategoryProduct.category
                    ) { type = CategoryParamType() }
                )
            ) {
                val category =
                    it.arguments?.getParcelable<Category>(Screen.AdminCategoryProduct.category)
                requireNotNull(category) { "category should be specified!" }
                AdminProductScreen(
                    category = category,
                    scaffoldState = scaffoldState,
                    it,
                    onBackClick = {
                        navController.navigateUp()
                    },
                )
            }
        }

In AdminProductScreen I'm getting the viewModel using this
    val vm: AdminProductVM = mavericksViewModel()

From the documentation

By default, mavericksViewModel() will get or create a view model scoped to the nearest LocalLifecycleOwner. In most cases, this will be the closest NavBackStackEntry, Fragment, or Activity

So I expect the viewModel to be cleared when the composable is popped but this is not the case. When I press the back button and navigate to another product page with a different category id,  I can see the products from the previous category.
Looking at the source code for mavericksViewModel() and debugging it, the viewModelContext is FragmentViewModelContext.
@Composable
inline fun <reified VM : MavericksViewModel<S>, reified S : MavericksState> mavericksViewModel(
    scope: LifecycleOwner = LocalLifecycleOwner.current,
    noinline keyFactory: (() -> String)? = null,
    noinline argsFactory: (() -> Any?)? = null,
): VM {
    val activity = extractActivityFromContext(LocalContext.current)
    checkNotNull(activity) {
        "Composable is not hosted in a ComponentActivity!"
    }

    val viewModelStoreOwner = scope as? ViewModelStoreOwner ?: error("LifecycleOwner must be a ViewModelStoreOwner!")
    val savedStateRegistryOwner = scope as? SavedStateRegistryOwner ?: error("LifecycleOwner must be a SavedStateRegistryOwner!")
    val savedStateRegistry = savedStateRegistryOwner.savedStateRegistry
    val viewModelClass = VM::class
    val view = LocalView.current

    val viewModelContext = remember(scope, activity, viewModelStoreOwner, savedStateRegistry) {
        val parentFragment = findFragmentFromView(view)

        if (parentFragment != null) {
            val args = argsFactory?.invoke() ?: parentFragment.arguments?.get(Mavericks.KEY_ARG)
            FragmentViewModelContext(activity, args, parentFragment)
        } else {
            val args = argsFactory?.invoke() ?: activity.intent.extras?.get(Mavericks.KEY_ARG)
            ActivityViewModelContext(activity, args, viewModelStoreOwner, savedStateRegistry)
        }
    }
    return remember(viewModelClass, viewModelContext) {
        MavericksViewModelProvider.get(
            viewModelClass = viewModelClass.java,
            stateClass = S::class.java,
            viewModelContext = viewModelContext,
            key = keyFactory?.invoke() ?: viewModelClass.java.name
        )
    }
}

I have even tried passing the NavBackStackEntry as scope but still the result is the same. I don't see the viewModelStoreOwner being used in the FragmentViewModelContext. Am I missing something? Any help would be appreciated. Thank you.
I am using dagger for dependency injection.
In VM
    @AssistedFactory
    interface Factory : AssistedViewModelFactory<AdminProductVM, AdminProductState> {
        override fun create(state: AdminProductState): AdminProductVM
    }

    companion object :
        MavericksViewModelFactory<AdminProductVM, AdminProductState> by daggerMavericksViewModelFactory()

Dagger Module
    @Binds
    @IntoMap
    @MavericksViewModelKey(AdminProductVM::class)
    fun bindAdminProductVM(factory: AdminProductVM.Factory): AssistedViewModelFactory<*, *>

There are some changes in the navigation library with the recent updates. I'm currently using navigation 2.4.0-rc01 and compose 1.1.0-rc01.

After reading the documentation, I came up with this extension function.
@OptIn(InternalMavericksApi::class)
@Composable
inline fun <reified VM : MavericksViewModel<S>, reified S : MavericksState> composeMavericksViewModel(
    scope: LifecycleOwner = LocalLifecycleOwner.current,
    noinline keyFactory: (() -> String)? = null,
    noinline argsFactory: (() -> Any?)? = null,
): VM {
    val activity = extractActivityFromContext(LocalContext.current)
    checkNotNull(activity) {
        "Composable is not hosted in a ComponentActivity!"
    }

    val viewModelStoreOwner =
        scope as? ViewModelStoreOwner ?: error("LifecycleOwner must be a ViewModelStoreOwner!")
    val savedStateRegistryOwner = scope as? SavedStateRegistryOwner
        ?: error("LifecycleOwner must be a SavedStateRegistryOwner!")
    val savedStateRegistry = savedStateRegistryOwner.savedStateRegistry
    val viewModelClass = VM::class
    val view = LocalView.current

    val viewModelContext = remember(scope, activity, viewModelStoreOwner, savedStateRegistry) {
        val parentFragment = findFragmentFromView(view)

        if (parentFragment != null) {
            val args = argsFactory?.invoke() ?: parentFragment.arguments?.get(Mavericks.KEY_ARG)
            FragmentViewModelContext(
                activity,
                args,
                parentFragment,
                owner = viewModelStoreOwner,
                savedStateRegistry = savedStateRegistry
            )
        } else {
            val args = argsFactory?.invoke() ?: activity.intent.extras?.get(Mavericks.KEY_ARG)
            ActivityViewModelContext(activity, args, viewModelStoreOwner, savedStateRegistry)
        }
    }
    return remember(viewModelClass, viewModelContext) {
        MavericksViewModelProvider.get(
            viewModelClass = viewModelClass.java,
            stateClass = S::class.java,
            viewModelContext = viewModelContext,
            key = keyFactory?.invoke() ?: viewModelClass.java.name
        )
    }
}

The only change is this
            FragmentViewModelContext(
                activity,
                args,
                parentFragment,
                owner = viewModelStoreOwner,
                savedStateRegistry = savedStateRegistry
            )

Instead of using the owner and savedStateRegistry from the fragment, I'm using that from the scope. It's working for now, but I don't if this is the way to do this.


Window.ParsleyValidator.setLocale('de')

In the previous versions it was defined setLocal like
<script type="text/javascript">window.ParsleyValidator.setLocale('de');</script>
I have an issue that we like to set in the same manner also updated version.
How is the correct way in this setLocal?
I have not seen inside URL and documentation:
http://parsleyjs.org/doc/index.html
It shows me all the time English version for all error messages.

Right, I'm sorry, the documentation is lacking (PR welcome!).
Parsley.setLocale('de') should do it. That's what you'll see at the end of the locale file for german, btw.


Changed twitter links to X

This pull request:
Updates all instances of twitter.com URLs to x.com throughout the codebase and documentation to reflect the rebranding of Twitter to X. This ensures consistency with the new brand identity and maintains accurate links.
Fixes issue #2744.

[x] Read, understood, and followed the contributing guidelines
@stdlib-js/reviewers

@Planeshifter may you please review this pull request?

@kgryte is there any issue in the pr?

@SarthakPaandey No, your changes look fine. I will merge them shortly. Thank you for updating the links!


Added a noop workflow step to delete model group

Description
Added a noop workflow step to delete model group. The reason of the noop step is that the model group is deleted on its own when there are no model in it. To handle the null case in deprovisioning for register model group step, created this noop workflow step to avoid any conflict with the resources created.
Issues Resolved
Fixes https://github.com/opensearch-project/flow-framework/issues/365
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Just a heads up, flaky integration tests will be resolved by https://github.com/opensearch-project/flow-framework/issues/377

Few minor comments. A high-level question: why is this a noop instead of doing the actual deletion? Could you add some context in the PR description?

Added more details.


leftovers in

hi, and thank you for the wonderful job!
I see that it is also appending stuff to  at construction time. I guess it's the popup.
If the DOM part containing the picker is destroyed, those extra elements are left behind, orphans.
It would be nicer if it did it only at click-time, and removed the elements when the popup is closed.
This wouldn't require the programmer to take care of manually destroying the object, a smarter behavior, just like the garbage collector we are used to in javascript. :)

Right now the visibility is controlled with the sp-hidden class and the popup is added right away, but I see the point.  It would be nice if the element was added and removed on-demand.


pull request for e2e test at 11/19/2016 09:56:05

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.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.


Remove multiple transformers

Right now, we have a main angular transformer with multiple phases, as well as the ability to run each phase as a separate transformer.
However, due to the way that barback runs, having multiple transformers spans multiple isolates and does too much duplicative work. Thus, the benefit of being specific on what work needs to be done is outweighed by the overhead of barback.
Thus, we should just remove the more specific transformers and only support the main one.

Done.


Release of version <IP_ADDRESS> of ComputerManagementDsc

Releasing version <IP_ADDRESS>

This change is

Codecov Report

Merging #172 into master will increase coverage by <1%.
The diff coverage is 96%.

@@          Coverage Diff           @@
##           master   #172    +/-   ##
======================================
+ Coverage      89%    90%   +<1%
======================================
  Files           6      7     +1
  Lines         668    715    +47
======================================
+ Hits          600    648    +48
+ Misses         68     67     -1


xenon-torque image says it is unhealthy

ran it with
docker run --detach --hostname xenon-torque --publish 10022:22 --privileged nlesc/xenon-torque

docker logs says:

/usr/lib/python2.6/site-packages/supervisor/options.py:295: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  'Supervisord is running as root and it is searching '
2017-06-28 15:39:04,021 CRIT Supervisor running as root (no user in config file)
2017-06-28 15:39:04,023 INFO supervisord started with pid 1
2017-06-28 15:39:05,025 INFO spawned: 'pbsmom' with pid 18
2017-06-28 15:39:05,027 INFO spawned: 'sshd' with pid 19
2017-06-28 15:39:05,029 INFO spawned: 'pbssched' with pid 20
2017-06-28 15:39:05,030 INFO spawned: 'pbsserver' with pid 21
2017-06-28 15:39:05,032 INFO spawned: 'trqauthd' with pid 22
2017-06-28 15:39:05,112 INFO exited: pbssched (exit status 0; not expected)
2017-06-28 15:39:05,136 INFO gave up: pbssched entered FATAL state, too many start retries too quickly
2017-06-28 15:39:06,117 INFO success: pbsmom entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-28 15:39:06,117 INFO success: sshd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-28 15:39:06,117 INFO success: pbsserver entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-28 15:39:06,117 INFO success: trqauthd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-06-28 15:39:06,117 CRIT reaped unknown pid 47)
2017-06-28 15:39:07,175 CRIT reaped unknown pid 56)
2017-06-28 15:39:08,252 CRIT reaped unknown pid 65)
2017-06-28 15:39:09,366 CRIT reaped unknown pid 74)
2017-06-28 15:39:10,437 CRIT reaped unknown pid 83)
2017-06-28 15:39:11,545 CRIT reaped unknown pid 92)
2017-06-28 15:39:12,611 CRIT reaped unknown pid 101)
2017-06-28 15:39:13,671 CRIT reaped unknown pid 110)
2017-06-28 15:39:14,760 CRIT reaped unknown pid 119)
2017-06-28 15:39:15,835 CRIT reaped unknown pid 128)

could be that there was something wrong with my ssh keys, because I did
# vibrant_wing was the autmoatically assigned name
XENON_TORQUE_LOCATION=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" vibrant_wing)
echo $XENON_TORQUE_LOCATION
gave me:
<IP_ADDRESS>
ssh<EMAIL_ADDRESS>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:WdfM3/sBGML0l/+/0BvUmPYZR+0BW7YwBinungpN+aw.
Please contact your system administrator.
Add correct host key in /home/daisycutter/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/daisycutter/.ssh/known_hosts:39
  remove with:
  ssh-keygen -f "/home/daisycutter/.ssh/known_hosts" -R <IP_ADDRESS>
RSA host key for <IP_ADDRESS> has changed and you have requested strict checking.
Host key verification failed.
ssh-keygen -f "/home/daisycutter/.ssh/known_hosts" -R <IP_ADDRESS>
# Host <IP_ADDRESS> found: line 39
/home/daisycutter/.ssh/known_hosts updated.
Original contents retained as /home/daisycutter/.ssh/known_hosts.old
daisycutter@ESLT0054:~/github/nlesc/xenon-docker-images/xenon-torque$ ssh<EMAIL_ADDRESS>The authenticity of host '<IP_ADDRESS> (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is SHA256:WdfM3/sBGML0l/+/0BvUmPYZR+0BW7YwBinungpN+aw.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '<IP_ADDRESS>' (RSA) to the list of known hosts.
<EMAIL_ADDRESS>password:
[xenon@xenon-torque ~]$ qstat -q

server: xenon-torque

Queue            Memory CPU Time Walltime Node  Run Que Lm  State
---------------- ------ -------- -------- ----  --- --- --  -----
batch              --      --       --      --    0   0 --   E R
debug              --      --       --      --    0   0 --   E R
                                               ----- -----
                                                   0     0

maybe relevant, maybe not http://www.dedoimedo.com/computers/docker-supervisord.html


Brunel Online Builder App / Interactive Tut not working?

Hi!
I'm on a Mac running OS 10.11, using up-to-date versions of Chrome and Firefox.
I don't have any JavaScript-blockers on.
When I visit the "Try Brunel Visualization" page, the visualizer canvas throws an error:
"Error! Could not execute Brunel: data('sample:US States.csv') bubble label(abbr) size(population) color(dem_rep:reds-blues)Could not execute Brunel: data('sample:US States.csv') bubble label(abbr) size(population) color(dem_rep:reds-blues)
null"
I tried switching to different viz models, and all of them threw errors.
The online tutorial throws an error as well, "Error! nullnull."

Thank you for letting us know.  The service should now be operational once again.


need to publish both a module bundle and a consumable bundle

currently the published bundle cannot be consumed by a browser directly.

closing in favor of a more general issue #171


Plans for Fut 17?

Hi, fut 17 is already supported! :) Will update the docs soon!

@barczaG this is great! Thanks and good work!


Add GUI for working with demonstrations

Interfaces with the files in hlpr_record_demonstration to provide an easier way to record keyframes to a .bag file, load them from disk, inspect recordings, and play them back.

Documentation: https://github.com/HLP-R/hlpr_documentation/wiki/Kinesthetic-Teaching-GUI

Tried to run the GUI and ran into an error
RosPluginProvider.load(rqt_kinesthetic_teaching/HLP-R Kinesthetic Teaching) exception raised in __builtin__.__import__(rqt_kinesthetic_teaching.rqt_kinesthetic_teaching, [KinestheticTeaching]): Traceback (most recent call last):   File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 77, in load     module = __builtin__.__import__(attributes['module_name'], fromlist=[attributes['class_from_class_type']], level=0)   File "/home/vchu/catkin_ws/src/HLP-R/hlpr_kinesthetic_teaching/rqt_kinesthetic_teaching/src/rqt_kinesthetic_teaching/rqt_kinesthetic_teaching.py", line 8, in <module>     import kinesthetic_interaction_interface ImportError: No module named kinesthetic_interaction_interface
Not sure if something isn't building? I tried a clean build and still encounter the same issue.

Hmm weird that Python didn't catch that error when I ran it. Try deleting line 8 (import kinesthetic_interaction_interface) in rqt_kinesthetic_teaching.py. It's an import that isn't needed anymore and points to a file that got renamed.

Yup that did it! Will continue testing the rest...

So I realized I don't have write access to your branch. You'll have to make the import change fix, commit it and then we can approve the PR

Just ran through the code. I did the following sequence of events
(1) Started up the robot_bringup launch script (without basic kinesthetic mode, but with the playback and record services)
(2) started up the rqt kinesthetic script
(3) Saved to test2.bag
(4) Gave the following speech commands: (1) start here (then moved the arm) (2) close your hand (then moved the arm) (3) end here
I got the following segfault

[WARN] [WallTime:<PHONE_NUMBER>.424450] [164.902000] Waiting for speech service
[WARN] [WallTime:<PHONE_NUMBER>.426339] [164.904000] Speech service loaded
[INFO] [WallTime:<PHONE_NUMBER>.428665] [164.905000] No function in kinesthetic teaching for commands: SMALL_TALK, START_EXP, GREETING, HEAR_CHECK
[WARN] [WallTime:<PHONE_NUMBER>.430679] [164.906000] Waiting for gravity compensation service
[WARN] [WallTime:<PHONE_NUMBER>.433092] [164.907000] Gravity compenstation service loaded
[INFO] [WallTime:<PHONE_NUMBER>.447643] [164.914000] Finished initializing Kinesthetic Interaction node. Service is currently set to: False
[WARN] [WallTime:<PHONE_NUMBER>.468777] [164.931000] Waiting for record keyframe demo server to load
[WARN] [WallTime:<PHONE_NUMBER>.597878] [165.008000] Record keyframe demo server loaded
Waiting for RQT kinesthetic interaction service
[INFO] [WallTime:<PHONE_NUMBER>.605887] [165.010000] Kinesthetic Interaction set to: True
[Result] Num Poses Recorded: 3.000000
Segmentation fault (core dumped)

Also, just as a note - it would be nice to have a way to turn kinesthetic interaction mode to false as well. Maybe some checkbox of sorts that enable/disables kinesthetic mode rather than have it be specific to writing a bag file. This allows people to verbally give commands like (close your hand or release your arm) without having to be recording.

Is there a way to make rail_object_locator not dependent? If people want to do kteach without visual input, then it would be nice if the GUI doesn't crash.

Oh yeah that wouldn't be too hard to implement. I'll tackle that in the morning.

Great thanks! Related to that - this needs to be done on the playback side as well. (i.e. if I have a bag file without object info, it should playback as well.)
A couple of other notes

In general, if there is already a launch file for something, we want to include it rather than copy and paste it into new ones. So for object_location_engine.launch, you should probably change that launch file to call object_detector's launch file with whatever custom info you need. The launch file should probably also be called with a flag. It is possible that rail_object_detection could be running on a different machine.

The tutorial says to launch "start_robot_services". What it really should say is to launch "customize_start_robot_services.launch". This is an example of how to call "start_robot_services" with the correct flags. So ideally, each person or unique project should have their own version of "customize_start_robot_services.launch". This is also an example of how to call other launch files.

I tried reading/writing using both gui and voice interchangeably and it works great. Only suggestion is that the warning on the command line of "Recording saved but cannot be opened automatically because the end keyframe was written from a different thread. Please open the .bag file manually." This should either be a roswarn (so that it changes color) OR displayed somewhere on the GUI.

@vchu Thanks for those notes. I believed I've fixed all of them.

Looks like if I use a mix of speech and GUI buttons I don't get any now warning to load the bag file again.

When executing, I selected "Locate objects". However, I get an error that says

[INFO] [WallTime:<PHONE_NUMBER>.557555] [258.169000] Playing /home/vchu/data/kteach/test4.bag
Traceback (most recent call last):
File "/home/vchu/catkin_ws/src/HLP-R/hlpr_kinesthetic_teaching/rqt_kinesthetic_teaching/src/rqt_kinesthetic_teaching/kinesthetic_teaching_widget.py", line 346, in playDemo
keyframeBagInterface.play(location, zeroMarker, self.playDemoDone)
File "/home/vchu/catkin_ws/src/HLP-R/hlpr_kinesthetic_teaching/rqt_kinesthetic_teaching/src/rqt_kinesthetic_teaching/keyframe_bag_interface.py", line 137, in play
goal.zero_marker = ""
AttributeError: 'PlaybackKeyframeDemoGoal' object has no attribute 'zero_marker'

@vchu I'll look into the first point. As for the second, you may have to catkin_make to rebuild the .action file that was changed when adding support for playing back relative to found objects.

Ah, yup that fixed it.

Currently we get a rospy exception if I try to playback a bag file with the "Locate object" flag enabled and didn't have the object_locator service running. Is it possible to write this exception in a warning as well? Not high priority, since it seems to work as is still.

Just FYI - the wiki doesn't seem to be updated with the latest info. :)

I encountered an issue with the gripper not closing fast enough (or really the delay on the gripper KF) was too short during playback. Not related at all with the GUI I think? Might have to look deeper in the playback code. Have you encountered this at all?

Just fixed that in 3181cdf
Yeah, I still need to add some information about the locate objects option and related stuff
I've noticed that too. It might be that the GUI is recording a frame partway through the gripper's closing or opening. This means MoveIt thinks the keyframe has been executed so it advances to the next keyframe. The gripper still closes all the way because the requested position of the gripper is correct.

@maxsvetlik
FYI - merging in some changes for a HLP-R GUI. It shouldn't affect things things since I believe you use a different playback server entirely. Just FYI in case.


[DISCUSS] Dropping the task audit log table from metastore

Druid currently has a table to store task audit logs in metastore. Every taskAction is stored in this table if they need to be audited (https://github.com/druid-io/druid/blob/master/indexing-service/src/main/java/io/druid/indexing/common/actions/TaskAction.java#L47). Basically, all taskActions modifying metastore like SegmentInsertAction currently need to be audited. If a taskAction needs to be audited, it is serialized into a byte array and stored as a blob in metastore.
In Druid, there is a single use case for the task audit log table: an overlord API to get a list of segments generated by a task (http://<OVERLORD_IP>:/druid/indexer/v1/task/{taskId}/segments). This API needs to find all SegmentInsertActions and SegmentTransactionalInsertActions performed by the given task. AFAIK, this API isn't used widely. Outside of Druid, AFAIK, there is no good use case for task audit logs table.
The problem is that this table can cause an issue when inserting a large taskAction. For example, a SegmentInsertAction can be large if there are many segments to be inserted in that action. This can cause some issues. For example, in MySQL, it can cause the insertion error if the data size is larger than max_allowed_packet.
I tried to mitigate this in https://github.com/druid-io/druid/pull/5751, but looks not a good idea. Another suggestion in that PR was to store audit logs in deep storage, but it requires quite a lot of changes and introduces new design issues. I don't think we need to make a large effort to fix such an issue that has no good use case.
So, I'm suggesting dropping the task audit log table. Here is my suggestion.

Disabling task audit logging by default in 0.13. We need to add a configuration for optionally enabling task audit logging. The overlord API should also be deprecated.
Completely removing the task audit log table and the overlord API in 0.14.

Any thoughts?

The only usage of the audit table in our company is recording the information about who and when change the rules of datasource.

@zhangxinyu1 thanks for the comment. The audit logs for changing load/drop rules are stored in another table, named druid_audit by default. The table issued here is druid_tasklogs table which stores audit logs for changing segments.

I don't remember needing to use that table ever since I have used Druid. So, from my side I think it is ok to remove it.

+1 on dropping task action audit table. Never seen anyone using that.

#6368 has been merged to master. Will raise a follow-up pr to drop task audit log table for 0.14 later.

Sorry about such late response! I'm not working on this anymore, and it kinda slipped my attention...
Anyway, AFAIR, it works basically by knowing how much data will be sent and how it will be split into shards. After sending the data, it surely uses /segments to check if correct number of shards got created, and perhaps some other details, as well.
It works with multiple Tasks in parallel, independently, so it all has to be done at Task level.
/cc @neutrinus?

@KenjiTakahashi thanks but I still don't understand how it works.. And also I'm wondering how useful your validation is. Is it very important to create the expected number of segments in your use case?

This issue still relevant.


Enigma 2 Receiver

Hi,
this is the Output when asking my sat reciever for its status
"false" if on
"true" if off
Is it possible to change the Habbit of status_url

It is possible but not implemented. I have done it on some projects as a "hack"
The reason I haven't included it in this one is I hard coded it, various people want various options for on and off.
If someone could do a pull release that would include various options for on and off that would be great.
Here is how I would approach it.
var mapObj = {false:1,true:0, off:0, on:1};
			var re = new RegExp(Object.keys(mapObj).join("|"),"gi");
powerState = parseInt(powerState.replace(re, function(matched){return mapObj[matched];}));

You can look at a full example here of what I have done https://github.com/NovaGL/homebridge-openremote

How would it be just to set expected status-on/off in config.json
"statusOn": "true"
"statusOff": "false"
that way it could be configured to suit different needs.
I could probably write some code for it, if you want.

Do a pull request and I will have a look you can't make it so it breaks it for people use 0 or 1


Tooltip is hard to read

Love the theme, but noticed a small issue with tooltips. They seem unreadable to me, because of the small text and lack of contrast. I hope they can be improved in the future versions.
Here is a screenshot of a tooltip with dracula-ui theme enabled.

Closing due to inactivity.


JAVA-819: Driver shouldn't retry on client timeout if statement is not idempotent.

This commit prevents a retry from happening in the event of a client timeout if the statement is not idempotent.

If a Connection gets defuncted (i.e. Channel associated with Connection closes).   closeAsync().force() is called which should call errorOutAllHandler in CloseConnectionFuture#force.
errorOutHandler cancels all the timeouts and invokes onException with a TransportException on any inflight request handler.   SpeculativeExecution will retry on the next host on this exception.  Shouldn't we handle this case as well?

Closing as this ticket needs to be addressed first in 2.1, and also because we are investigating using/extending RetryPolicy to achieve this goal in a more elegant way.

Opened #542.


Some bindings are missing

Some bindings that im missing for my project so far are:

createVertexArray
bindVertexArray
texSubImage3D

I use this for creating an ForceDirectedGraph https://64f.de/steam-graph/

I was looking in to adding these along with multisampling, but the createVertexArray implementation doesnt seem to have a direct EGL binding

Oh interesting - so you're running the graphics session headless to power a steam app?

@FoxelFox ^ sorry missed this earlier.

@nkreeger Currently the points are moved by the GPU on client side. For larger workloads i thought i can prebuild the graph on server side and just sending the final state to the client.
The steam-graph is just a test app. Here is an older version that clusters all NPM Packages
https://64f.de/npm-graph/ but you will need a good GPU because they are 6 times more.


Fatal on tweener (race condition)

lish_HUD.DebugService | Blish HUD encountered a fatal crash!
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Glide.Tween.TweenerImpl.AddAndRemove() in D:\a\Blish-HUD\Blish-HUD\Blish HUD\Library\Glide\Tweener.cs:line 225
at Glide.Tween.TweenerImpl.Tween[T](T target, Object values, Single duration, Single delay, Boolean overwrite) in D:\a\Blish-HUD\Blish-HUD\Bli

Eksime makes good points here:
https://github.com/blish-hud/Blish-HUD/pull/885#issuecomment-1565120735
The Glide library we decided to use early on is old and beyond the "magic" it adds, it's likely more trouble than it is worth sticking with it.


test: Automated tests for Postgres Datatype - UUID Cont.,

Description

This PR includes cypress scripts for validating Postgress Datatypes mentioned below:

-- UUID (Cont., from previous PR)
Type of change

New tests (non-breaking change which tests functionality)

How Has This Been Tested?

CI runs

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

/ok-to-test sha=8bcebb2

/ok-to-test sha=e9d4dae

/ok-to-test sha=54d9e3f

/ok-to-test sha=b78fa97

/ok-to-test sha=851dc6b

/ok-to-test sha=d8d442d

/ok-to-test sha=73144ae

/ok-to-test sha=1987bd5

/ok-to-test sha=fed9457

/ok-to-test sha=96b9ff7


Datatable yadcf datetimepicker issue

As i open datetimepicker and select a date from picker  it gets close while i have to select time too so i want not to colse the picker on date select is it possible

Fixed in 0.9.0.beta.13

Great plugin Thanks vedmack :)


Update understanding-the-search-syntax.md

Why:
The current query does not appear to work: https://github.com/search?q=cats+pushed%3A<2012-07-05&type=Code&utf8=✓
It searches for the string 'cats pushed:<2012-07-05', rather than treating pushed:<2012-07-05 as a qualifier.
Perhaps this is because the pushed/created date/time qualifiers are no longer supported for Code type searches? If so, I suggest we update this example to be a Repository type search instead, as reflected in this PR.
However, if date/time qualifiers are supported for Code type searches then I'd be happy to update this pull request with a working example. Please let me know.

What's being changed (if available, include any code snippets, screenshots, or gifs):
The example is updated to be a Repository type search, rather than a Code type search.
Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

@amysimmons Thanks so much for opening a PR! We appreciate the context. 👍
I'll get this triaged for review :zap:

I meant also so say how much I appreciated the very clear summary for this PR and your offer to work with us if an alternative update was needed 💖


syncthing: remove runtime dependency on go

The hack used here is shamelessly stolen from buildGoPackage. If it is
going to be applied to more expressions, it may make sense to factor it
out so it can be shared.
Motivation for this change
#21397
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Maybe extend nuke-references package with blacklist-refs? The current nuke-refs kills everything except a whitelist, so a symmetrical script to kill only things from the blacklist could be a good match.


Get rid of Ruby dependency.  Find a NodeJS Sass compiler.

Grunt errors when Ruby and Sass are not installed. This dependency is (could be) unnecessary.

Good idea. Does https://github.com/sass/node-sass do what this project needs?  (I don't know enough about the system to answer that yet)

:+1:

+1

Remove it
+1

+1 https://github.com/sass/node-sass

https://github.com/sindresorhus/grunt-sass should also be libsass based and not ruby based like grunt-contrib-sass

Hi all! This should be fixed now from #109 - you'll want to run npm install again to update your dependencies with this new SASS compiler.


Notifications Menu: If there are no active notifications, bell should be outlined icon

If there are no active notifications, the icon for the menu should be "icon-bell"

Fix in notifications-icon branch

All browsers
I have verified the new icon in both HUD and Center so this can be moved to temp-master if not already done.


Mag cal robustness

@DonLakeFlyer The image below shows the output from the user-interaction during the calibration. The distribution across the sphere is not optimal, and we might need to revise our approach. The "back-side" of the sphere has no points, only the front side which is displayed. You can make out the three circles resulting from the three rotations.

@tumbili The robustness part has to go into the release. I'm currently also chasing a scaling error still which is not present for the internal mag, but is noticeable on the GPS mag.

Maybe change from capturing three circles to capturing six points on the sphere. Or in other words move through all 6 orientations like accel cal, hold and capture a few points in each orientation. Detect that you have point in the right place before moving to the next orientation. This is kind of how APM stack does it.

Or: Does cal need to rotate through 6 orientations in order to fill the other side of the sphere?

Switching to a 6 orientation style cal would also fix the timeout problem since it would wait until you move to the next pose.

What you want is random traces across th sphere, the six orientations are neither optimal nor very convenient.
Any other good ideas how to get enough data with minimum constraints on the user?

Am 24.06.2015 um 18:16 schrieb Don Gagne<EMAIL_ADDRESS>Switching to a 6 orientation style cal would also fix the timeout problem since it would wait until you move to the next pose.
—
Reply to this email directly or view it on GitHub.

Things are looking much better now with a proper random calibration run and some fixes. Now trying the six-axis approach and how dumb a user can be before it deteriorates.

Closing this in favour of the new mag_cal_6 branch / PR.


Add dummy ArrayAccess to SimpleXMLElement to fix WI-15760

The actual array access methods are not available, but the internal class implements the equivalent C-level handlers, so that [0], ['foo'], etc are always available.
This removes the need to mark any returns as SimpleXMLElement[], except for ->xpath(), which really does return a true array.
Issue was reported in 2012: https://youtrack.jetbrains.com/issue/WI-15760 This solution is not ideal, but the stub already contains a dummy __get(), so this seems a logical improvement.

I 👍 this approach. This is the best compromise at the moment.
The bottom line is, __get() must return SimpleXMLElement, not SimpleXMLElement[].
The only drawback of this stub is that offsetGet() etc. methods will be autocompleted even though they're not actually present in SimpleXMLElement, but as noted above, this is already the case with __get().
I thought that marking these methods as @internal would prevent this, but it turns out that it doesn't.

Additional change to mark the new methods, along with __get, as private; from my testing, this should keep the magic property and array access, but prevent the non-existent methods showing in completion popups.
For reference, the code I've been using to confirm the changes have the desired effect is here: https://gist.github.com/IMSoP/dab21ce9d97980adbc22fc867e6e9fcf In PhpStorm 2017.2.1, with completion stubs pointed at this branch, all lines in that sample are considered valid, and the variables are detected as SimpleXMLElement.

IMO PhpStorm should not take into account private methods for type gathering, that looks like bug for me. Making this methods private in real code makes them not accessible (e.g. throwing warnings), so return types are not usable.
I think that behavior is unreliable and shoud not be used.

@b1rdex In theory, I agree, but it could also be considered a bug that internal class behaviours can't be signalled to the code analyser without writing stubs for methods that don't exist. It should be possible to mark the stub method as "virtual", or indicate the array access behaviour without listing the methods at all, but unless someone from JetBrains tells me that they've implemented such a feature, we are left compromising based on the observed behaviour.
Relying on the private method behaviour is certainly a hack, but the worst outcome is that this is "fixed" in a future version and the stub needs to be revised. It could be that by then an alternative approach is available.

@IMSoP @b1rdex Suggested change breaks on such example that was supported before
<?php
$xml = new SimpleXMLElement('<?xml version="1.0"?><request><error>222</error><error>333</error></request>');
echo $xml->error[1]->//invoke completion there

Looks like we need some solution coming from our codebase instead

@andrey-sokolov can you please clarify what exactly is wrong with completion list? I created reproducible example one can run: https://gist.github.com/b1rdex/56bc533cd90b2d9880ef55799b09b425
So there is copied SimpleXMLElement class with added 2 to its name. Also, I changed __get and offsetGet methods to return SimpleXMLElement2 instances.
Original completion list:

Class with proposed changes completion list:

I see no difference.

Works for me as well. Sorry for inconvenience.


AMPI internal calls should use AMPI_ prefix instead of MPI_

Original issue: https://charm.cs.illinois.edu/redmine/issues/911

This will matter when we add PMPI_ profile bindings. Most calls use AMPI_ but some use MPI_.

Original date: 2015-12-03 21:34:14

~~https://charm.cs.illinois.edu/gerrit/#/c/930/~~ https://github.com/UIUC-PPL/charm/commit/21079502f4361902457fc05b1690ad0ea8d2d4a7


Cappt loader

initial PR
still need to do more tests/styling

added messy test sleep function into model.js, just note that
finished some styling hope you like it


External control through MPRIS doesn't work in Firefox

Web browsers like Firefox and Chromium and several media players support MPRIS under Linux. This allows one to do any of the following:

Create notifications or panel widgets that display the author and/or title of the currently played music or video.
Control the player with global keyboard shortcuts assigned to commands such as stop, pause, play, previous/next song, increase/decrease volume etc.
Control the player remotely with the Android application KDEConnect.

With Firefox, all of the above works when I open a video (e.g. on YouTube) or play an audio file, like this one on Wikipedia. This can also be confirmed by having playerctl installed (the program I use most of the time for control and custom notifications and widgets) and running playerctl -l in the terminal while the video or sound file is being played or paused; Firefox shows up in the output.
As I've been testing on Manjaro and Arch Linux, it seems like playerctl cannot detect Generative.fm at all while it's playing in Firefox (v94.0), but only in Chromium (v95.0.4638.69). I'm not sure if this is caused by a bug in Firefox or something needs to be changed on the side of Generative.fm for this to work.
As a sidenote, I'd like to thank you for making this amazing tool.

Hi @maxigaz! I'm not familiar with MPRIS but I would guess it uses the Media Session API to detect and control web media. Generative.fm does use the Media Session API but maybe I'm missing something to make it work properly in Firefox; I just checked and it's not working for me either on Elementary OS (Ubuntu).
I'll take a look into this and see what I can do. Thanks!


Fix: Make bifurcation angles globally invariant

If one sets a non-[0,1,0] pia_direction, as it is the case for insitu synthesis, bifurcation angles are 'wrong', in the sense that they will depend on the pia_direction. As this is a global rotation of a cell, the bifurcation angles should be invariant to pia_direction.
As an example, here is a synthesized cell on a plane (z=0 always) with rotation invariance (this PR) and pia_direction = [1, 1, 1]:

and the same setup without this PR:

we see in the first case the original plane (z=0) rotated to match y-> pia_direction=[1,1,1].

PS: this PR is based on https://github.com/BlueBrain/NeuroTS/pull/94, which we may want to merge first

thanks @adrien-berchet , @lidakanari can we merge this?

Shouldn't the pia_direction be passed from the context or some other abstraction? You are passing the argument pia_direction to classes that are agnostic of a spatial embedding.

it is passed via parameters file

it is passed via parameters file

You are passing pia_direction and pia_rotation to functions that should know nothing about a spatial context. Some of them are purely mathematical. Maybe you meant to have global_orientation or something like that?

is pia bothering you? its legacy, I'm to lazy to change its name

My main concern is that the 'pia_direction' does not correspond to the orientation that is set as input for the apical. This could potentially cause an issue if one of the trees needs to grow towards a different direction, while the others grow  to other directions.
Since this directionality is only exposed at the tree level, it is not obvious how the growth of the neuron as the whole will be affected. Shouldn't this impact be global rather than local at the tree level?
In addition, the global orientation has not been an issue for any other cell type apart from "flat" cells. Was this wrong so far but we missed it in the morphometrics? I am not sure how this correction will impact the pyramidal cells for example that are currently growing as expected taking into account the computed angle distributions.

@lidakanari so I did a complete refactoring, it was indeed not making so much sense. I did the following:

renamed PIA_DIRECTION to Y_DIRECTION
renamed pia_direction to y_direction
I pass pia_direction via the context, as it really is a context dependent parameter, it simplifies a lot of things in fact
I added an example script (which I can move to the tests once this is agreed solution) that computes a neuron without this option, with this option set to default [0, 1, 0] value and with value [1, 0, 0].
I made sure the resulting neuron when grown with y_direction = [1, 0, 0] is exactly the same as default one, when rotated from x to y.
this works only with the trunk angle algo I implemented a while ago, the original one I didn't touch for this, as I don't use it via region-grower
For this, I had to also rotate random numbers in the growth of section, which may be add a bit of computational cost for nothing, except ensuring neurons are the same, regardless of pia_direction value. We may not want this level of 'rotation invariance', but as you want.

I hope this is more clear now!


Version 0.7.1 introduces DriverRegistrationError

@dionhaefner I've changed the terracotta version from 0.7.0 to 0.7.1 in my deployment and now am getting:
rasterio.errors.DriverRegistrationError: ('No such driver registered: %s', b'COG')

I've seen this one before when I had an incorrect GDAL version installed, however I'm building directly off osgeo/gdal:ubuntu-small-3.3.0, hence I'm wondering if this is an issue that arises from some changes in 0.7.1?
I'm not installing terracotta using conda and the environment.yaml as conda is quite an overhead for Docker containers. Though, I'm still wondering why running the same code in the same environment causes this issue with 0.7.1.

Starting from 0.7.1, we have pinned rasterio to a version that uses GDAL 2 for performance reasons. So it could very well be that this is a GDAL version conflict (2 vs 3). You can try upgrading rasterio after installing Terracotta, or downgrading GDAL (which I would recommend if you want the best possible performance).

if you are installing Terracotta withing a GDAL docker, you can by pass this by adding --no-binary rasterio
rasterio was pinned to 1.1.8 because the wheels are build using GDAL3.2 in 1.2.0. FYI, latest GDAL 3.3 fix some of the performance issue saw with GDAL3.2 but no rasterio wheels have been published yet using GDAL 3.3

Thanks for the clarification @vincentsarago . I wasn't aware that the fast-again GDAL is released yet. This should be the way to go, then.

@vincentsarago --no-binary rasterio made terracotta work perfectly but for some reason I got other errors raised across the board for my integrationtests which use rasterio (something about CPython and numpy)
@dionhaefner good to know! I'll figure it out from here and probably go with GDALv2 ... However, might be good to remove this constraint in the future when GDAL sorts out its performance issues :)

If it is this warning you're seeing:

RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility.

That's a common false-positive when mixing packages build from source with binaries. It can usually be ignored safely, as we do in our tests:
https://github.com/DHI-GRAS/terracotta/blob/160f361ca602953b6a56a3bb23caee96d93cdab6/setup.cfg#L24-L26

I think I usually re-install numpy on a fresh env just to make sure everything is ok
FROM osgeo/gdal:ubuntu-small-3.3.0

RUN apt-get update --fix-missing
RUN apt-get install python3-pip -Y

RUN python -m pip install Cython numpy -U
RUN python -m pip install terracotta[recommended] --no-binary rasterio

Sounds like this is fixed. Feel free to re-open otherwise!


POTENTIAL BUG: When having the app opened for a while and then it hits midnight, page reloads but an error is returned that requires a refresh

Critical bug as masajid displaying the website will have a problem.
To be tested Today (Thursday) from 11 PM to 12 AM and see
Could be due to Vercel and Render thing, but it could be resolved once we migrate to AWS

ADVANCED SOLUTION and precautionary step:
We can Also add in the error condition, when true, we set the err msg then we reload the page for X (to be decided) times with X-sec time gap in between and then we can be notifed of that


Panel with destination albums while moving images in full screen view

Would be nice to have a panel on the right side of the screen while moving images instead of the pop up window with the albums. So you can page through your images and click on the right side to move the displayed window directly into the other album.
So there should be a button on the upper right side to toggle a "Move to album" panel and then you can directly select the album where the display image is sorted to.

We already implemented an improved multi-select, which let's you select and modify individual photos. This feature should ship with one of the next major versions. Does this solve your problem? https://github.com/electerious/Lychee/issues/339#issuecomment-242972947

Sorry - but no. My meaning was of a panel shown with all albums while browsing through the images. No need of multi select, more a nice move option while showing the images in full screen.

An albums sidebar isn't planned. Maybe something that helps: You can click the album title in the header to switch between albums/photos. It's also planned to improving navigation between images (#365).


CLN: Remove environments, which we store in ansible playbook now.

Is it safe to delete those envs?

Yes, there are copies of these same files in NSLS-II/playbook (a private repo that DAMA members have access to) and it is more useful to keep them there.  Better not to maintain them in two places, where they might get out of sync.

Thanks for the explanation, Dan!