Object properties should not be re-sorted alphabetically

Usually JSON documents have a meaningful ordering of properties, and rarely it is alphabetical.
With this library all JSON data gets sorted alphabetically, which is undesirable.
I guess it must be due to use of std::map.
Please describe the steps to reproduce the issue.
#include <iostream>
#include "json.hpp"

using Json = nlohmann::json;

int main() {
  std::cout << ">>> " << Json{{"C",1},{"B",2},{"A",3}}.dump() << std::endl;
}

What is the expected behavior?
>>> {"C":1, "B":2, "A":3}

And what is the actual behavior instead?

{"A":3,"B":2,"C":1}

Which compiler and operating system are you using?

Compiler: clang-7 and gcc-7
Operating system: Ubuntu 18

Which version of the library did you use?

[ x ] latest release version 3.7.3

This behavior is described in the readme including ways to circumvent it.

Thanks, I had missed the Order of object keys section in README.
Great library BTW.

Reopening because the workaround implied in the README does not seem to work:

std::unordered_map<const char*, double> c_umap { {"one", 1.2}, {"two", 2.3}, {"three", 3.4} };
json j_umap(c_umap);
// {"one": 1.2, "two": 2.3, "three": 3.4}

This produces: ```

cout << j_umap.dump() << endl;

{"one":1.2,"three":3.4,"two":2.3}`.

Also basic_json<std::unordered_map> does not work and I can see there were some efforts towards it (#164, #165 etc). Was that abandoned?
Is there any ongoing effort or solution to have an "object" type preserving insertion order?

The README does not mention using std::unordered_map as workaround, but tsl::unordered_map or nlohmann::fifo_map, see https://github.com/nlohmann/json/blob/develop/README.md#order-of-object-keys.

Sure though the reference to std::unordered_map above is misguiding. I suggest removing it.
To preserve insertion order in my use case, I made a minimal solution based on std::vector.
Leaving it here for those who for any reason don't want to import further non-standard dependencies, or want a starting point to build their own:
/// VecMap: a minimal map-like container that preserves insertion order
/// for use within nlohmann::basic_json<VecMap>
template<class Key, class T, class IgnoredLess=std::less<Key>,
    class Allocator = std::allocator<std::pair<const Key, T>>,
    class Container = std::vector<std::pair<const Key, T>, Allocator>>
struct VecMap : Container
{
    using key_type = Key;
    using value_type = std::pair<const Key, T>;
    using Container::Container;
    auto emplace( Key && key, T && t ) {
        for (auto it=this->begin(); it !=this->end(); ++it)
            if (it->first == key)
                return std::pair {it, false};
        this->emplace_back(key, t);
        return std::pair {--this->end(), true};
    }
    T& operator[]( Key && key ) {
        return emplace(std::move(key), T{}).first->second;
    }
};

Again, thanks for this great JSON library!

Your VecMap container is very nice and compact. Can I use this as example in the documentation?

Of course :+1:

It works well as nlohmann::basic_json<VecMap> in my use cases.
It is also very effective for small use cases due to the low overhead of std::vector. And its algorithmic simplicity makes it a good target for compiler optimization.
There is just something missing for the constructor to recognize it as a map rather than a vector, when used directly. What would that be?
    using Json = nlohmann::json;
    using FifoJson = nlohmann::basic_json<VecMap>;

    vector<pair<string,string>> vec {{"Z","1"},{"Y","2"},{"X","3"}};
    cout << Json(vec) << endl;
   // => [["Z","1"],["Y","2"],["X","3"]]

    VecMap<string,string> vm {{"Z","1"}};
    vm["Z"] = "2";
    vm["Y"] = "3";
    vm["X"] = "4";
    cout << FifoJson(vm) << endl;  // As a constructor argument it does not yet work
    // => [["Z","2"],["Y","3"],["X","4"]] - Not recognized as a map?

    FifoJson fj {{"Z","1"},{"Y","2"},{"X",3}};
    fj["Z"] = 4;
    fj["A"] = 5;
    cout << fj << endl;
    // => {"Z":4,"Y":"2","X":3,"A":5} - Just what I needed

It was missing using mapped_type = T to be fully recognized. Just added it and updated the above comments...

@gatopeich
I am currently trying to put this all together to add this as ordered_json to the library. While writing tests, I saw that removing elements is not yet working. This is my current approach:
std::size_t erase(const key_type& key)
{
    std::size_t result = 0;
    for (auto it = this->begin(); it != this->end();)
    {
        if (it->first == key)
        {
            ++result;
            it = Container::erase(it);
        }
        else
        {
            ++it;
        }
    }

    return result;
}

which fails due to an error in it = Container::erase(it);:
cannot be assigned because its copy assignment operator is implicitly deleted

Any ideas? Here is the current state: 4fd0d02b6f19d986694006e136c94c9fb820c9fb

Yup, I had that working somewhere...

The problem is about moving the pair<const Key, T> because Key is const... Making it non-const gets us going but I am looking for a neater solution...

Actually there seems to be no cleaner way than to make those pairs have a non-const Key.

I could not make it to work. Can you make a concrete example how to remove the const?

This is my latest working version, with erase:
#include <vector>

/// VecMap: a minimal map-like container that preserves insertion order
/// for use within nlohmann::basic_json<VecMap>
template <class Key, class T, class IgnoredLess = std::less<Key>,
	class Allocator = std::allocator<std::pair<Key, T>>,
	class Container = std::vector<std::pair<Key, T>, Allocator>>
struct VecMap : Container
{
	using key_type = Key;
	using mapped_type = T;
	using value_type = typename Container::value_type; // On GCC just "using Container::value_type"
	using Container::Container;
	auto emplace(Key &&key, T &&t) {
        for (auto it=this->begin(); it !=this->end(); ++it)
            if (it->first == key)
                return std::pair {it, false};
        Container::emplace_back(key, t);
        return std::pair {--this->end(), true};
    }
	T &operator[](Key &&key) {
		return emplace(std::move(key), T{}).first->second;
	}
	std::size_t erase(const Key &key) {
        for (auto it=this->begin(); it!=this->end(); ++it)
            if (it->first == key) {
                Container::erase(it);
                return 1;
            }
        return 0;
	}
};

https://repl.it/repls/EducatedImpeccableCalculators#main.cpp

This does not work for me:
In file included from ../test/src/unit-ordered_json.cpp:32:
In file included from ../include/nlohmann/json.hpp:37:
/Users/niels/Documents/projects/clang10/bin/../include/c++/v1/algorithm:1868:19: error: object of type 'std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >' cannot be assigned because its copy assignment operator is implicitly deleted
        *__result = _VSTD::move(*__first);
                  ^
/Users/niels/Documents/projects/clang10/bin/../include/c++/v1/algorithm:1893:19: note: in instantiation of function template specialization 'std::__1::__move<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > *, std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > *>' requested here
    return _VSTD::__move(__unwrap_iter(__first), __unwrap_iter(__last), __unwrap_iter(__result));
                  ^
/Users/niels/Documents/projects/clang10/bin/../include/c++/v1/vector:1717:36: note: in instantiation of function template specialization 'std::__1::move<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > *, std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > *>' requested here
    this->__destruct_at_end(_VSTD::move(__p + 1, this->__end_, __p));
                                   ^
../include/nlohmann/ordered_map.hpp:35:20: note: in instantiation of member function 'std::__1::vector<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > >::erase' requested here
        Container::erase(it);
                   ^
../include/nlohmann/json.hpp:4224:36: note: in instantiation of member function 'nlohmann::ordered_map<std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >, std::__1::less<void>, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > >, std::__1::vector<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > > >::erase' requested here
            return m_value.object->erase(key);
                                   ^
../test/src/unit-ordered_json.cpp:57:8: note: in instantiation of member function 'nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > >::erase' requested here
    oj.erase("element1");
       ^
/Users/niels/Documents/projects/clang10/bin/../include/c++/v1/utility:310:5: note: copy assignment operator is implicitly deleted because 'pair<const std::__1::basic_string<char>, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char>, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >' has a user-declared move constructor
    pair(pair&&) = default;
    ^
1 error generated.

I see your code running - maybe it's a C++17 vs. C++11 issue? I already had to change the return type of emplace to std::pair<typename Container::iterator, bool> to make the code compile.

I see. Definitely C++17 vs C++11 may have something to do...

Adapted to C++11 here:
https://repl.it/@gatopeich/C11-VecMap
template <class Key, class T, class IgnoredLess = std::less<Key>,
	class Allocator = std::allocator<std::pair<Key, T>>,
	class Container = std::vector<std::pair<Key, T>, Allocator>>
struct VecMap : Container
{
	using key_type = Key;
	using mapped_type = T;
	using value_type = typename Container::value_type;
	using Container::Container;

	std::pair<typename Container::iterator, bool>
	emplace(Key &&key, T &&t) {
        for (auto it=this->begin(); it !=this->end(); ++it)
            if (it->first == key)
                return {it, false};
        Container::emplace_back(key, t);
        return {--this->end(), true};
  }

	T &operator[](Key &&key) {
		return emplace(std::move(key), T{}).first->second;
	}
	unsigned erase(const Key &key) {
    for (auto it=this->begin(); it!=this->end(); ++it)
      if (it->first == key) {
        Container::erase(it);
        return 1;
      }
      return 0;
	}
};

This code does not work with my setup (Clang 10):
/Users/niels/Documents/projects/clang10/bin/../include/c++/v1/vector:491:5: error: static_assert failed due to requirement 'is_same<std::__1::pair<const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > >, std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, nlohmann::basic_json<nlohmann::ordered_map, std::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long long, unsigned long long, double, std::allocator, adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > >::value' "Allocator::value_type must be same type as value_type"
    static_assert((is_same<typename allocator_type::value_type, value_type>::value),
    ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This error goes away if I switch the type back to std::pair<const Key, T>, but then erase does not work.

That may be cause the allocator passed by basic_json is not compatible.
Can you try removing "Allocator" from VecMap's Container declaration so the default one is used?

I did not get it to work, I'm sorry. It would be great to see a PR.

Will do that. I am away from computer today just trying to help from my phone 🙂

I forked, but how should I build and test?
I am using VS code on Linux. Installed clang-10 and run "make json_test" which spits a lot of compiler warnings, then running test/json_test I get this:
src/unit-testsuites.cpp:351: FATAL ERROR: test case CRASHED: SIGSEGV - Segmentation violation signal

===============================================================================
src/unit-testsuites.cpp:351:
TEST CASE:  json.org examples

===============================================================================
[doctest] test cases:     77 |     67 passed |     10 failed |     18 skipped
[doctest] assertions: 2870902 | 2870881 passed |     21 failed |
[doctest] Status: FAILURE!
Segmentation fault

Just open a merge request, then the CI is run with a lot of different compilers.

I see it fails only on MacOS build, with "Apple clang version 11.0.3 (clang-1<IP_ADDRESS>)"

The problem is in the definition of object_t there is an assumption that the allocator is for a const string:
    using object_t = ObjectType<StringType,
          basic_json,
          object_comparator_t,
          AllocatorType<std::pair<const StringType,
          basic_json>>>;

And a const string may have a specialized implementation, e.g. with smaller allocation requirements, thus with incompatible allocator...

I took the default template arguments from std::map:
template<
    class Key,
    class T,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<std::pair<const Key, T> >
> class map;

I'm afraid changing this would break the API. Any idea how to fix the "vector of pairs" approach? Maybe using two vectors?

I see 3 ways forward:

Optimal: find if C++11 has some way to put AllocatorType<Container::value_type> inside the declaration of object_t. Note that Container::value_type == object_t::value_type == basic_json::value_type so it is a self-referencing template... Seems beyond my template abilities, but it would clear the way to any Container class, not just std::vector.

Probably the cleanest way is by wrapping std::map:
template<class Key, class T, template<class> AllocatorType>
class MapWrapper : std:map<Key, T, std::less<Key>, AllocatorType<const Key, T>> {}

then ObjectType = MapWrapper, and object_t declaration would be much simpler:
object_t = ObjectType<StringType, basic_json, AllocatorType>;

Only I would not want to go into mayor refactoring :slightly_smiling_face: so...

Re-implement vector::erase() without relying on pair move operations missing due to const member. e.g. by using in-place destructor + constructor. I am working at this now.

Use std::forward_list instead of std::vector. Me not like it, but should work.

Hey @nlohmann my pull request is ready and waiting...

Thanks for taking this in!

great feature @gatopeich

@gatopeich that is a really good feature

@nlohmann I think this should have been named unordered_json, in-line with what std::map, std::unordered_map, std::set, std::unordered_set do.
std::map orders its elements in a particular fashion, while std::unordered_map preserves the order in which its elements are inserted. So std::map is actually an alias for ordered_map
Similarly nhlomann::json should have been alias for ordered_json as implicitly sorts the elements and nhlomann::unordered_json should preserve the order of insertion (i.e. it does not sort). 😄

std::map orders its elements in a particular fashion, while std::unordered_map preserves the order in which its elements are inserted.

This is not true. In std::unordered_map, elements are hashed and stored in buckets.

Similarly nhlomann::json should have been alias for ordered_json as implicitly sorts the elements and nhlomann::unordered_json should preserve the order of insertion (i.e. it does not sort). 😄

See https://json.nlohmann.me/features/object_order/ on the rationale.


Missing try / catch (Directory.GetFiles(folder, ".", SearchOption.AllDirectories)

var files = Directory.GetFiles(folder, ".", SearchOption.AllDirectories);
in private static void Run(IDupDetector dupDetector, int workers, string folder)
throws an System.UnauthorizedAccessException:
{"Der Zugriff auf den Pfad "d:\$RECYCLE.BIN\S-1-5-18" wurde verweigert."}
This kind of exception is quit normal and must be catched.
Just for info.

Hi,
In Directory.GetFiles, if it throws UnauthorizedAccessException, you will get nothing, unless you use recursion to go through folder by folder, and skip those can't be accessed.


release: v1.0.1 patch release

Signed-off-by: Asra Ali<EMAIL_ADDRESS>This sets the expected sha256 of the v1.0.1 slsa-verifier released binary.
How to LGTM this PR (I'll work on a proper doc for this in https://github.com/slsa-framework/slsa-github-generator/issues/112):

Download the binary and provenance from https://github.com/slsa-framework/slsa-verifier/releases/tag/v1.0.1
Clone the slsa-verifier repo, compile and verify the provenance:

$ git clone git@github.com:slsa-framework/slsa-verifier.git
$ cd slsa-verifier
$ (Optional: git checkout tags/v1.0.1)
$ go run . -artifact-path slsa-verifier-linux-amd64 -provenance slsa-verifier-linux-amd64.intoto.jsonl -source github.com/slsa-framework/slsa-verifier -tag v1.0.1 -branch release/v1.0

Get the hash.
Either:

cat slsa-verifier-linux-amd64.intoto.jsonl | jq -r '.payload' | base64 -d | jq -r '.subject[0].digest.sha256'

or
sha256sum slsa-verifier-linux-amd64

The output hash should be the hash I'm updating to in this PR. If they match, LGTM. If they don't, someone tampered with the released binary and don't LGTM

ah oops! the branch is release/v1.0. updating instructions.

I think there's one more error of this sharding problem, at least at slsa-verifier head.

Worked:
$ go run . -artifact-path slsa-verifier-linux-amd64 -provenance slsa-verifier-linux-amd64.intoto.jsonl -source github.com/slsa-framework/slsa-verifier -tag v1.0.1 -branch release/v1.0

Signing certificate information:
 {
	"caller": "slsa-framework/slsa-verifier",
	"commit": "eea3a5d3af9370a6a35946fa24e47a426c3f4576",
	"job_workflow_ref"<EMAIL_ADDRESS>	"trigger": "push",
	"issuer": "https://token.actions.githubusercontent.com"
}
PASSED: Verified SLSA provenance


Doesn't work in XCode 7

Anything I can do to get it working in XCode 7?  I'm on beta 6.
Really great plugin btw, XCode should have it built-in.

Thanks Paul, glad it's helpful.
I'm going to look into Xcode 7 support once it's out of beta. It could be as simple as adding a line to the DVTPlugInCompatibilityUUIDs.

Out of beta =)

@zimme Updated but not tested as of 45d600ebfa620cae4a5ac5582ae9a6462bbc3ab8, also threw in the UUID for Xcode 7.1. Let me know if you run into any issues. Thanks!

Crashes on Xcode 7

I get that crash in XCode 7 too

Thanks for these reports. I've reproduced the crash locally and hope to have some time to debug this week.

+1

+1

Please test the latest build in Xcode 7: 4747cbc512efa4d111662b09d61f2a05bb449a60

Works for me in 7.0.  Thanks!!!

Thanks for testing and reporting back.


logging_config is not installed from pip or conda

The logging_config.yml is not included in the PIP or conda installs.  This causes an error in load_logging_config function when mth5 is initialized.
Suggest adding .yml to the manifest and making a test for if the file is not there use some default values.

Updated mth5_logging to have a test to see if the file is included.  If it is not added a default dictionary to use.


[BUG] Service worker (background.ts) is not working

What happened?
My background.ts can't work. In dev mode (at least), the extension can't establish connections with ws://localhost:1816 and ws://localhost:1817.
Error looks like :

I use wsl2 in Window 11 and dev in wsl2.
Version
Latest
What OS are you seeing the problem on?
Windows
What browsers are you seeing the problem on?
Chrome
Relevant log output
index.js:72 WebSocket connection to 'ws://localhost:1816/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
L @ runtime-0b5df5d06b68662a.js:1
(anonymous) @ runtime-0b5df5d06b68662a.js:5
newRequire @ index.js:72
(anonymous) @ index.js:123
(anonymous) @ runtime-0b5df5d06b68662a.js:1
(anonymous) @ esmodule-helpers.js:31

index.js:72 WebSocket connection to 'ws://localhost:1815/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
A @ runtime-0b5df5d06b68662a.js:1
(anonymous) @ runtime-0b5df5d06b68662a.js:5
newRequire @ index.js:72
(anonymous) @ index.js:123
(anonymous) @ runtime-0b5df5d06b68662a.js:1
(anonymous) @ esmodule-helpers.js:31

runtime-0b5df5d06b68662a.js:1 🟠 WARN   | [plasmo/parcel-runtime]: Connection to the HMR server is closed for /home/yzh/projects/telegram-media-downloader/.plasmo/static/background/index.ts

(OPTIONAL) Contribution

[ ] I would like to fix this BUG via a PR

Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

In my case background.ts works installing background extension but doesn't work with next extension (pnpm plasmo --with-nextjs )

It works fine now.

It works fine now.

could've put here how you fixed for future reference

It works fine now.

could've put here how you fixed for future reference

It works fine for me in window11, but not in wsl2. It may be a problem with the interaction between wsl and Windows files.
Is there any solution?


Package version detection fails with error 'jq -r '.version' package.json' terminated by signal SIGABRT (Abort)

Bug Report
Current Behavior
Every shell command in directory containing package.json fails with error
fish: Job 10, 'jq -r '.version' package.json 2…' terminated by signal SIGABRT (Abort)
Expected Behavior
Package version properly detected without errors in console.
Relevant Fish Configuration

set -g fish_user_paths "/usr/local/sbin" $fish_user_paths
source ~/.asdf/asdf.fish
source (pyenv init - | psub)

set SPACEFISH_PROMPT_ORDER time user dir host git package node docker ruby pyenv kubecontext exec_time line_sep jobs exit_code char

alias k=kubectl

Environment

Spacefish version: 2.4.0
Fish version: 3.0.2
Fish plugin manager: oh-my-fish
Terminal emulator: Terminal
Operating system: MacOS

Possible Solution
Omprove jq existance in if condition in
/functions/F__sf_section_package.fish
Additional context/Screenshots
dyld: Library not loaded: /usr/local/opt/oniguruma/lib/libonig.4.dylib
  Referenced from: /usr/local/bin/jq
  Reason: image not found
fish: 'jq -r '.version' package.json' terminated by signal SIGABRT (Abort)
fish: Job 10, 'jq -r '.version' package.json 2…' terminated by signal SIGABRT (Abort)

Huh... definitely unusual. 🤔
Spacefish uses jq to get the package version from package.json if it is available. My first impression is that something is acting strangely with your jq installation that is causing the SIGABRT.
Could you please try running the following from a directory with a package.json:
jq -r '.version' package.json

Maybe try updating your local installation of jq.

@matchai Additional context block contains the output after running jq -r '.version' package.json which I found the code.
The thing is I have never explicitly installed jq - did not even know about it till yesterday. My wild guess is that some other app has it installed as dependency somewhere and spacefish detects it as present.
Otherwise jq -r '.version' package.json would outpus oemthing like
fish: Unknown command 'jq'
I will get to that machine next weak and try which jq command to see where does it come from.

Found out jd was indeed installed on machine via brew.
brew upgrade jq fixed everything and package version detection now works fine.
Probably it was installed long time ago as a dependency for something and version 1.5.2 was not compatible with MacOS Majave installed later.


DropdownMenu crash if resize the window during the menu opening

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
1, run the code on desktop
2,show the menu
3, resize the window
Expected results
no crash
Actual results
crash
Code sample
Code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(title)),
      body: Center(
        child: DropdownMenu(
          width: MediaQuery.of(context).size.width,
          dropdownMenuEntries: const [
            DropdownMenuEntry(value: 1, label: "One"),
            DropdownMenuEntry(value: 2, label: "Two"),
            DropdownMenuEntry(value: 3, label: "Three"),
          ],
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
Resolving dependencies...
Got dependencies!
Launching lib\main.dart on Windows in debug mode...
Building Windows application...
√  Built build\windows\runner\Debug\demo_flutter.exe.
Debug service listening on ws://<IP_ADDRESS>:56081/ueZeQtMyRSQ=/ws
Syncing files to device Windows...

======== Exception caught by widgets library =======================================================
The following assertion was thrown building _ActionsScope:
setState() or markNeedsBuild() called during build.

This DropdownMenu<int> widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
The widget on which setState() or markNeedsBuild() was called was: DropdownMenu<int>
  dependencies: [Directionality, _InheritedTheme, _LocalizationsScope-[GlobalKey#ae3c9]]
  state: _DropdownMenuState<int>#6d449
The widget which was currently being built when the offending call was made was: MenuAnchor
  focusNode: null
  style: MenuStyle#7c4e6(minimumSize: MaterialStatePropertyAll(Size(1263.0, 0.0)), maximumSize: MaterialStatePropertyAll(Size(Infinity, Infinity)), visualDensity: VisualDensity#d630e(h: 0.0, v: 0.0))
  clipBehavior: hardEdge
  alignmentOffset: Offset(0.0, 0.0)
  child: "null"
  dirty
  dependencies: [Directionality, MediaQuery]
  state: _MenuAnchorState#cc1bc
The relevant error-causing widget was:
  DropdownMenu<int> DropdownMenu:file:///D:/Users/80256643/StudioProjects/demo_flutter/lib/main.dart:32:16
When the exception was thrown, this was the stack:
#0      Element.markNeedsBuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:4651:9)
#1      Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:4663:6)
#2      State.setState (package:flutter/src/widgets/framework.dart:1159:15)
#3      _DropdownMenuState.build.<anonymous closure> (package:flutter/src/material/dropdown_menu.dart:545:25)
#4      _MenuAnchorState._close (package:flutter/src/material/menu_anchor.dart:560:21)
#5      _MenuAnchorState.didChangeDependencies (package:flutter/src/material/menu_anchor.dart:321:13)
#6      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5248:13)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#8      StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#10     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#11     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#12     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#13     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#14     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#15     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#16     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#17     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#19     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#22     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#23     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#24     _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#27     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#28     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#29     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#32     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#33     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#34     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#39     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#41     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#42     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#43     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#44     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#45     StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#46     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#47     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#48     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#49     StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#50     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#51     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#52     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#53     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#54     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#55     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#56     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#57     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#59     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:6093:32)
#60     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6595:17)
#61     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#63     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#64     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#65     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#66     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#67     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#68     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#69     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#70     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#72     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#74     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#76     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#77     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#78     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#79     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#80     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#81     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#82     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#83     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#84     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#85     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#86     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#87     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#88     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#89     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#90     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#91     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#92     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#93     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#94     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#95     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#96     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#97     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#98     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#99     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#100    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#101    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#102    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#103    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#104    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#105    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#106    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#107    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#108    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#109    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#110    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#111    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#112    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#113    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#114    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#115    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#116    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#117    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#118    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#119    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#121    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#122    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#123    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#124    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#125    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#126    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#127    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#128    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#129    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#130    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#131    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2780:19)
#132    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:903:21)
#133    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5)
#134    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#135    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1219:9)
#136    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1077:5)
#137    _invoke (dart:ui/hooks.dart:142:13)
#138    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5)
#139    _drawFrame (dart:ui/hooks.dart:112:31)
====================================================================================================

======== Exception caught by scheduler library =====================================================
The following _TypeError was thrown during a scheduler callback:
Null check operator used on a null value

When the exception was thrown, this was the stack:
#0      _MenuAnchorState.didUpdateWidget.<anonymous closure> (package:flutter/src/material/menu_anchor.dart:345:22)
#1      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#2      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1228:9)
#3      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1077:5)
#4      _invoke (dart:ui/hooks.dart:142:13)
#5      PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5)
#6      _drawFrame (dart:ui/hooks.dart:112:31)
====================================================================================================

Flutter Doctor output
Doctor output
crash

Reproduces using the code sample & the steps provided above.
Master breaks in a different way compared to stable, but it's still broken.

recording

stable
master

flutter doctor -v
[✓] Flutter (Channel stable, 3.7.11, on macOS 13.3.1 22E261 darwin-arm64, locale en-GB)
    • Flutter version 3.7.11 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f72efea43c (3 days ago), 2023-04-11 11:57:21 -0700
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9619390/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.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 73.0.4
    • Dart plugin version 231.8109.91

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.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.77.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (4 available)
    • Pixel 7 (mobile) • 28291FDH2001SA            • android-arm64  • Android 13 (API 33)
    • Nexus (mobile)   • 00008020-001875E83A38002E • ios            • iOS 16.4.1 20E252
    • macOS (desktop)  • macos                     • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
    • Chrome (web)     • chrome                    • web-javascript • Google Chrome 112.0.5615.49

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.10.0-5.0.pre.26, on macOS 13.3.1 22E261 darwin-arm64, locale en-GB)
    • Flutter version 3.10.0-5.0.pre.26 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision e1722859ec (4 hours ago), 2023-04-14 01:49:32 -0400
    • Engine revision 4f86a05ac9
    • Dart version 3.1.0 (build 3.1.0-2.0.dev)
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode-14.3.0.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.1)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9619390/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.15+0-b2043.56-8887301)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9862592/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 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 73.0.4
    • Dart plugin version 231.8109.91

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8109.175/IntelliJ IDEA.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.77.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.60.0

[✓] Connected device (4 available)
    • Pixel 7 (mobile) • 28291FDH2001SA            • android-arm64  • Android 13 (API 33)
    • Nexus (mobile)   • 00008020-001875E83A38002E • ios            • iOS 16.4.1 20E252
    • macOS (desktop)  • macos                     • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
    • Chrome (web)     • chrome                    • web-javascript • Google Chrome 112.0.5615.49

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

! Doctor found issues in 1 category.

logs
======== Exception caught by widgets library =======================================================
The following assertion was thrown building _ActionsScope:
setState() or markNeedsBuild() called during build.

This DropdownMenu<int> widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
The widget on which setState() or markNeedsBuild() was called was: DropdownMenu<int>
  dependencies: [Directionality, _InheritedTheme, _LocalizationsScope-[GlobalKey#4dabb]]
  state: _DropdownMenuState<int>#8f936
The widget which was currently being built when the offending call was made was: MenuAnchor
  focusNode: null
  style: MenuStyle#b013b(minimumSize: MaterialStatePropertyAll(Size(423.0, 0.0)), maximumSize: MaterialStatePropertyAll(Size(Infinity, Infinity)), visualDensity: VisualDensity#ea395(h: 0.0, v: 0.0))
  clipBehavior: hardEdge
  alignmentOffset: Offset(0.0, 0.0)
  child: "null"
  dirty
  dependencies: [Directionality, MediaQuery]
  state: _MenuAnchorState#f7dec
The relevant error-causing widget was:
  DropdownMenu<int> DropdownMenu:file:///Users/nexus/projects/nevercode/gif/lib/main.dart:32:16
When the exception was thrown, this was the stack:
#0      Element.markNeedsBuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:4651:9)
#1      Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:4663:6)
#2      State.setState (package:flutter/src/widgets/framework.dart:1159:15)
#3      _DropdownMenuState.build.<anonymous closure> (package:flutter/src/material/dropdown_menu.dart:545:25)
#4      _MenuAnchorState._close (package:flutter/src/material/menu_anchor.dart:560:21)
#5      _MenuAnchorState.didChangeDependencies (package:flutter/src/material/menu_anchor.dart:321:13)
#6      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5248:13)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#8      StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#9      Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#10     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#11     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#12     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#13     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#14     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#15     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#16     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#17     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#19     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#20     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#22     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#23     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#24     _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:107:11)
#25     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#27     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#28     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#29     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#31     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#32     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#33     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#34     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#35     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#39     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#40     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#41     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#42     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#43     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#44     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#45     StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#46     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#47     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#48     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#49     StatelessElement.update (package:flutter/src/widgets/framework.dart:5162:5)
#50     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#51     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#52     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#53     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#54     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#55     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#56     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#57     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#59     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:6093:32)
#60     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6595:17)
#61     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#63     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#64     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#65     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#66     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#67     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#68     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#69     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#70     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#72     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#73     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#74     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#75     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#76     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#77     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#78     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#79     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#80     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#81     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#82     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#83     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#84     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#85     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#86     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#87     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#88     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#89     ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#90     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#91     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6442:14)
#92     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#93     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#94     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#95     Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#96     StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#97     Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#98     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#99     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#100    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#101    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#102    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#103    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#104    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#105    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#106    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#107    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#108    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#109    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#110    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#111    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#112    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#113    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#114    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#115    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#116    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#117    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#118    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#119    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#121    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#122    ProxyElement.update (package:flutter/src/widgets/framework.dart:5417:5)
#123    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#124    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#125    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11)
#126    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#127    StatefulElement.update (package:flutter/src/widgets/framework.dart:5274:5)
#128    Element.updateChild (package:flutter/src/widgets/framework.dart:3686:15)
#129    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5111:16)
#130    Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7)
#131    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2780:19)
#132    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:903:21)
#133    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5)
#134    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#135    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1219:9)
#136    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1077:5)
#137    _invoke (dart:ui/hooks.dart:142:13)
#138    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5)
#139    _drawFrame (dart:ui/hooks.dart:112:31)
====================================================================================================

======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
'package:flutter/src/rendering/object.dart': Failed assertion: line 3157 pos 12: 'attached': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.yml

When the exception was thrown, this was the stack:
#2      RenderObject.getTransformTo (package:flutter/src/rendering/object.dart:3157:12)
#3      RenderBox.localToGlobal (package:flutter/src/rendering/box.dart:2616:39)
#4      RenderEditable._snapToPhysicalPixel (package:flutter/src/rendering/editable.dart:2368:33)
#5      RenderEditable.getLocalRectForCaret (package:flutter/src/rendering/editable.dart:1835:28)
#6      EditableTextState._updateComposingRectIfNeeded (package:flutter/src/widgets/editable_text.dart:3873:38)
#7      EditableTextState._schedulePeriodicPostFrameCallbacks (package:flutter/src/widgets/editable_text.dart:3794:5)
#8      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#9      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1228:9)
#10     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1077:5)
#11     _invoke (dart:ui/hooks.dart:142:13)
#12     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5)
#13     _drawFrame (dart:ui/hooks.dart:112:31)
(elided 2 frames from class _AssertionError)
====================================================================================================

======== Exception caught by scheduler library =====================================================
The following _TypeError was thrown during a scheduler callback:
Null check operator used on a null value

When the exception was thrown, this was the stack:
#0      _MenuAnchorState.didUpdateWidget.<anonymous closure> (package:flutter/src/material/menu_anchor.dart:345:22)
#1      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#2      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1228:9)
#3      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1077:5)
#4      _invoke (dart:ui/hooks.dart:142:13)
#5      PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5)
#6      _drawFrame (dart:ui/hooks.dart:112:31)
====================================================================================================

======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
Duplicate GlobalKey detected in widget tree.

The following GlobalKey was specified multiple times in the widget tree. This will lead to parts of the widget tree being truncated unexpectedly, because the second time a key is seen, the previous instance is moved to the new location. The key was:
- [GlobalKey#db55e]
This was determined by noticing that after the widget with the above global key was moved out of its previous parent, that previous parent never updated during this frame, meaning that it either did not update at all or updated before the widget was moved, in either case implying that it still thinks that it should have a child with that global key.
The specific parent that did not update after having one or more children forcibly removed due to GlobalKey reparenting is:
- _DropdownMenuBody(renderObject: _RenderDropdownMenuBody#a0ed9 relayoutBoundary=up4)
A GlobalKey can only be specified on one widget at a time in the widget tree.
When the exception was thrown, this was the stack:
#0      BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:3110:15)
#1      BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:3135:8)
#2      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:906:19)
#3      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5)
#4      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
#5      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1219:9)
#6      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1077:5)
#7      _invoke (dart:ui/hooks.dart:142:13)
#8      PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5)
#9      _drawFrame (dart:ui/hooks.dart:112:31)
====================================================================================================


Allow custom argument deserialization together with standard type annotation

The use case I intend to use hug for is wrapping a quick CLI around library functions that are typically used and type-checked by their own. For example:
import xarray as xr
@hug.cli()
def show_netcdf(dataset: xr.Dataset) -> None:
    print(dataset)

xr.Dataset doesn't accept a filename at instance creation so I'd like to be able to intercept the dataset string argument and use it as filename of xr.open_dataset during deserialization. This could be done by changing the function type annotation, but I can't do that because it is used as is most of the time and I use mypy to perform static checking.
Right now I can only use dirty tricks like:
def mydeserialize(path: str) -> xr.Dataset:
    return xr.open_dataset(path)
xr.Dataset.deserialize = mydeserialize
del xr.Dataset.load  # the class has a `load` method unrelated to deserialization

where I exploit Marshmallow support, but as you see it is beyond ugly!
A quick and dirty way to support this use case would be to add support for something like a from_string classmethod before trying the Marshmallow route. I may be able to put together a PR for that.
The long term way would be to add a register for deserializers associated with specific classes or even types, but it looks like a longer term project.

Closing as your fix is now merged in development and ready for the next release, thanks!


Add delete button, remove legacy storage handling

Changes
Added a small "x" button next to the names of cards to allow removal of a single card from the list.

Functionality Checklist

[ ] Copy to clipboard
[ ] View card clipboard
[ ] Clear card clipboard
[ ] Clipboard persistence

Edge Cases
Edge cases that have caused issues in the past. Make sure to check individual card pages when testing.
Layouts:

[ ] Transform
[ ] Flip
[ ] Split
[ ] Planar

Names:

[ ] Godzilla
[ ] Parentheses
[ ] Period
[ ] Exclamation point
[ ] Plus

Browser Support Checklist

[ ] Firefox
[ ] Chrome
[ ] Edge

Closes #16

Skipping edge case tests as this is a card-agnostic change. Other tests passed, merging


Get custom attributes for validator errors

Get custom attributes for validator errors
Fix #13

Released on v1.3.0 🚀 thanks!


[Question] Looking for structures.

I'm looking for Reader, Writer and State structures but can't find them.
Am I missing something?

They are not part of Effect, the advise is to use Effect directly, for example State can be simulated with:
interface NumberState {
  readonly _: unique symbol
}
const NumberState = Tag<NumberState, Ref<number>>("@app/NumberState")


Carthage fails to build

I am seeing the following when trying to build with latest Carthage and 4.0 of RxViewModel:
Carthage/Checkouts/RxViewModel/Source/RxViewModel.swift:13:8: error: no such module 'RxSwift'
import RxSwift
       ^

** BUILD FAILED **

Cartfile.resolved

github "ReactiveX/RxSwift" "3.5.0"
github "RxSwiftCommunity/RxViewModel" "4.0.0"

Thanks for reporting @grangej.
I'll check this right now and if I can reproduce I'll mark it as confirmed bug and will try to fix it
Thanks

Just verified this locally.
Will try to fix it during the weekend


numpy-quaternion backend --> pyquaternion to enable bloom release

Description
Rather than using numpy-quaternion as the representation for regular quaternions, use pyquaternion, which has only one dependency on any version of numpy, which enables us to release with bloom after releasing pyquaternion with bloom as well.
I'd prefer to not make this change but releasing numpy-quaternion seems impossible given its requirement on numpy>1.13 which only appears in ubuntu bionic (1.11 in xenial). Once Kinetic and Xenial go out of LTS (2021), I can switch back to numpy-quaternion. I could've had branches for different versions (kinetic-devel, melodic-devel, ...) or I could include a quaternion library myself which has the benefit of being able to add conversions to the geometry_msgs/Quaternion message, but leaving that until later as the API doesn't change anyways.
TODO

[ ] bump version tag will do this upon release with bloom
[x] Wait for outcome of pyquaternion/56. If not accepted, need to manually change to float64
[x] wait for pyquaternion to get green light for release in ROS apt sources
[x] wait for #52

Yes, not a huge fan of the setup. Changing back once Kinetic goes out of LTS or including the library in here shouldn't be too much work though


Switch to simp_le's acme-0.8 branch before building

As discussed in #130, we're currently unable to issue SSL certs with this docker image. It's because simp_le needs to merge pull request #112 and use a more recent version of the acme dependency.
This is a short-term fix that manually switches to the branch of that pull request during build. This fix should be removed as soon as that pull request is merged, as it will be using a stale branch of the simp_le code. Unfortunately the last commit to simp_le was 8 months ago.

Closed by 8724387


Add sort icon to wexplorer results

UX cue to sort results.
Some noun project options.

I was playing around with this and it seems to screw up the table headers, especially because our headers are pretty long already.


Google Cloud Domains Missing API Calls

Some essential operations are missing from this library "@google-cloud/domains"

Operation

retrieveImportableDomains

import

get

getIamPolicy

setIamPolicy

Sorry for the delay - these have been deprecated.


Twitch is broken for clips

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2019.11.28
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

user@dell ~> youtube-dl --verbose "https://clips.twitch.tv/SourMoistMosquitoFunRun"
debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://clips.twitch.tv/SourMoistMosquitoFunRun']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.11.28
[debug] Python version 3.7.3 (CPython) - Linux-5.3.12-1-default-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.2.1, ffprobe 4.2.1
[debug] Proxy map: {}
[twitch:clips] SourMoistMosquitoFunRun: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 410: Gone (caused by <HTTPError 410: 'Gone'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 627, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2237, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib64/python3.7/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib64/python3.7/urllib/request.py", line 641, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.7/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.7/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

Description

When trying to download a Twtich clip it shows the HTTP Error 410: Gone. It's still working perfectly with streams and VODs.

this is still happening for me


px4_uploader: send reset command also via eth

In addition to send "reset to booloader" command via uart, the message shall be sent via ethernet in case there is no mavlink interface up&running in the uart.

It is not really needed to duplicate the reboot commands.. The protocol splitter header doesn't matter (it is treated just as garbage bytes). Even if one wants to strip it, one can just skip the first 4 bytes of the original message.

Right, I removed the extra definitions.


Update distributions.py

Added Von Mises (circular norm) distribution.  The distribution is defined on [ -pi ; pi [ and is particularly useful to model variables such as direction (of wind, of waves, ecc...) or wind-wave misalignment (useful for offshore wind energy).
Also fixed possible bug on L864

Codecov Report

Merging #157 (8278020) into master (db79a31) will decrease coverage by 1.44%.
The diff coverage is 22.91%.

@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
- Coverage   78.66%   77.22%   -1.45%
==========================================
  Files          12       12
  Lines        1753     1800      +47
==========================================
+ Hits         1379     1390      +11
- Misses        374      410      +36

Impacted Files
Coverage Δ

virocon/distributions.py
69.70% <22.91%> (-4.76%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us.

Dear @kawindme, no need to apologize!
I have escaped the backslashes in the distribution description.
Thank you for taking the time in reviewing my code!

@frp09 Thanks for your contribution! Also for following up with @kawindme 's comments. I think he will merge it now :-)
A thing that is not required to go ahead with the merge, but which would be useful (and interesting to me): Do you have a dataset and a brief script that uses virocon to fit a bivariate distribution that makes use of the newly implemented Von Mises distribution?

Thanks @frp09, really appreciate your contribution. Will gladly merge now. A new version will be published shortly after.

@frp09 thanks for the script! Yes, I would be very interested in reading a draft of the paper. Do you want to send it to me at<EMAIL_ADDRESS>?


Troubleshooting Paul's submission

@paulheider forked this date annotator example, manually built the docker image before pushing it to Synapse. He then submitted it and received the following error that he shared with me by email:
Hello Paul-M-Heider, Your submission (id: 9719900) is invalid, below are the invalid reasons: API api/v1/tool endpoint not implemented or implemented incorrectly. Make sure correct tool object is returned. .../api/v1/ui not
 implemented or implemented incorrectly. Sincerely, Challenge Administrator

@paulheider I successfully performed the above operation and received the scores for the i2b2 and Mayo Clinic dataset (MCW data site may be down, we are investigating).
I have a few questions:

Did you follow these instructions to build and push the image to Synapse?
Did you submit the Docker image to the queue NLP sandbox - Date Annotator?

A quick look at your fork reveal that you have not yet customized the tool info returned by the endpoint /api/v1/tool. This is good for now as we should change as little as possible before we figure out what the current issue is.

Here are the emails I received for the submission I made:
Hello NLP Sandbox Bots,

Your submission (id: 9719977) is scored, below are your results for i2b2-phi-20210622:

location_F1_instance_relax : 0.25
location_precision_instance_relax : 0.26
location_recall_instance_relax : 0.25
location_F1_instance_strict : 0.25
location_precision_instance_strict : 0.26
location_recall_instance_strict : 0.25
location_F1_token_strict : 0.34
location_precision_token_strict : 0.37
location_recall_token_strict : 0.31

Sincerely,
Challenge Administrator

Hello NLP Sandbox Bots,

Your submission (id: 9719977) is scored, below are your results for mayo-clinic-20211026:

location_F1_instance_relax : 0.3
location_precision_instance_relax : 0.25
location_recall_instance_relax : 0.39
location_F1_instance_strict : 0.3
location_precision_instance_strict : 0.25
location_recall_instance_strict : 0.39
location_F1_token_strict : 0.3
location_precision_token_strict : 0.25
location_recall_token_strict : 0.39

Sincerely,
Challenge Administrator

Did you follow these instructions to build and push the image to Synapse?

Yes. I followed the above instructions with two caveats.

The docker-compose.yml sets the default name for the docker image to something looking a lot more like the renamed target in your example about updating the tag.  As such, I used a variation on this command because I needed to update the /syn24862084 to match my id, etc.  (It may be worth adding to the README in the same section where you talk about "updating your CI/CD workflow" to explicitly call out the docker-compose.yml as another location to update default values.)

docker tag nlpsandbox/date-annotator-example:1.0.0 \     docker.synapse.org/syn24862084/date-annotator-example:1.0.0
I also didn't update the Share Settings since this is just a clone of the demo repository.  The instructions indicate you should only update these settings to make the image public, which I'm happy to do for testing but doesn't appear to be essential.
I just made the docker.synapse.org/syn28128744/date-annotator-example-java image publicly available/shared, in case we can use that to help with troubleshooting.

Did you submit the Docker image to the queue NLP sandbox - Date Annotator?

Yes. I submitted to the Date Annotator queue.  Confirmation for this step is that I see the INVALID status for this submission under my Date Annotation Dashboard entries.

@paulheider Did you also submitted the docker image of the Python version of the date annotator example? If yes, can you share the link to your docker image with me? If you are comfortable with using Python, working with this version will be easier for me.

What I tried:

Build the docker image of the Java example of the date annotator => submission failed
Build the docker image of the Python version of the date annotator => submission successful

I suggest to stick with the Python version for now if you are comfortable with Python. I will troubleshoot the Java version when I'm back from vacation end of April.


Install script now looks for .zshrc in $ZDOTDIR as well.

User can also supply as a first parameter the script to append to zsh-autosuggestions.
Relates to https://github.com/tarruda/zsh-autosuggestions/issues/50

Thanks!


feat: Release 0.1.5

#33  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


 Yes/No
N/A. Connecting to postgres relies on extension PostgreSQL by Microsoft v0.2.7

I'll move this to the azuredatastudio-postgres repo so this can be investigated there.  If this ends up being a bug in the ADS core product please move it back here.


Initial docs for gcp native provider

Fixes https://github.com/pulumi/pulumi-gcp-native/issues/21

Why is there no preview?

Why is there no preview?

This is against the feature-3.0 branch which doesn't have the automation for previews. @stack72 let me know if you would like to chat about setting up preview for this branch or if we should find a way to get this against master instead.

@mikhailshilkov If you want to see how these lay out when rendered, you can run make ensure build serve-static locally until you're ready to PR against master.
I think we could add feature-3.0 to the list of pull_request branches in the build-and-deploy workflow as well, but since I haven't looked at the code from this perspective and tested, I'm not 100% comfortable just doing it -- though I suspect it would probably be okay.


test: testSuite minor improvements

Use t.Name() instead of providing a name as an argument. This only
removes verbosity.

Call t.Helper() at the beginning of testSuite's methods that makes
assertions. This improves the output of failing tests, instead of having
a referrence to the testSuite_test.go file, you get a referrence to the
dom_test.go file.

Codecov Report

Merging #234 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #234   +/-   ##
=======================================
  Coverage   57.64%   57.64%
=======================================
  Files           3        3
  Lines         654      654
=======================================
  Hits          377      377
  Misses        219      219
  Partials       58       58

Continue to review full report at Codecov.

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


Popper "container" prop does not apply when "disablePortal" prop is true

Hello! First off - thank you to everyone who has worked on this project. It's a great technology to use and has been very helpful in my latest project. Moving onto my issue:
I would first propose that the documentation is updated to reflect that the disablePortal prop influences the container prop (as I spent a lot of time discovering this issue). I would then suggest implementing the container elsewhere in the component if the disablePortal prop is set as true.  Finally, I would request an example in the docs that uses the container prop.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
The Popper component has a container prop. You can pass a ref to an element which will subsequently wrap the Popper.
However, when you use set the disablePortal prop as true, the container is no longer applied.
Expected Behavior 🤔
The container should be used regardless of whether the portal is enabled or not.
Steps to Reproduce 🕹
https://codesandbox.io/s/create-react-app-with-typescript-70q9m?fontsize=14
Context 🔦
I have a tooltip that is use within an SVG. Therefore, when I disable the portal, the element is no longer rendered. I want to wrap the Popper with with <foreignObject /> so I can use it within the SVG.
Your Environment 🌎

Tech
Version

Material-UI
v4.3.2

React
v16.8.20

Browser
Google Chrome 76.0.3809.100

TypeScript
v3.4.5

@AdamMcquiff I don't understand. By definition, disabling the portal means rendering the children as a direct descendant, it's in direct contradiction with the container prop.

The problem is that it will not work when nested in an SVG. I suppose this might not be the exact solution I need.
I want to be able to render the tooltip within a container as a descent. e.g.
<svg>
     <Tooltip ...>
        <g> ... </g>
     </Tooltip>
     <foreignObject>
         // I want to render here
     </foreignObject>
</svg>

Thanks for the extra details. In this case, you should keep using the portal feature (disablePortal: false).

But that doesn't work...

What if you don't use disable portal?

Could you provide a reproduction?


fix(plugins/plugin-bash-like): improve support for async-mounted VFS

Part of #7238
git cherry-pick a26bb02ae8581c5eecec9d7754e1a425a37de1aa
[cherrypick18 15e8f66f6] fix(plugins/plugin-bash-like): improve support for async-mounted VFS

This has received extensive testing on the dev branch.
/lgtm


How to register a sintel account？

 I have tried all kinds of methods, but still no registration is successful. I tried to sign up with school email and google email, but it didn't work. The following information will pop up. I have also sent an email to<EMAIL_ADDRESS>but have never received a reply. How did you sign up for a sintel account?

Hey, does your email domain end exactly with .edu ?

I have tried using the school mailbox. The email domain name ends with .edu.cn.

Hey, does your email domain end exactly with .edu ?

I have tried using the school mailbox. The email domain name ends with .edu.cn.

Possibly, the website doesn't recognize domains ending with .edu.cn. You may need to contact them to add your domain.

Thank you very much for your help. I successfully registered with an email address ending with .edu.


Fix compilation using OpenCV <IP_ADDRESS> (Ubuntu 16.04)

When compiling in my Ubuntu 16.04 with OpenCV <IP_ADDRESS>, I had to do the following change do avoid compilation errors. It seems the cv::Scalar constructor of my OpenCV does not have a version accepting a cv::Vec3b object.

Hi @brunexgeek, thanks for your PR. Looks fine to me. Will test with OpenCV 3.1 and then merge in the coming days.


Remove Node Deletion remediation

Removing Node Deletion remediation for snr version 0.5.0, as part of ECOPROJECT-1011 ticket.

Hi, why is Node Deletion remediation been removed? Unfortunately I can't access the ticket and was hoping for more details in the PR.
Thanks.

Hi, why is Node Deletion remediation been removed? Unfortunately I can't access the ticket and was hoping for more details in the PR. Thanks.

Hi @epenchev Thanks for reaching out !
In a nutshell we think that Node Deletion remediation is somewhat flaky, we prefer to use Resource Deletion remediation since it's more stable and has no disatvanges (that we could find) compared to Node Deletion remediation.
As far as the road-map and current situation:

Current SNR version (0.4.X) support both, however Resource Deletion remediation is the default remediation.
In the next version (0.5.X which is planned for December 2022) Node Deletion remediation is planned to be removed completely.

Hi @mshitrit, thanks for the explanation.
Now I see both, Node Deletion remediation and Resource Deletion remediation are pretty much alike. And both do reboot the Node and markNodeAsUnschedulable as well.

/retest

/retest

/retest

Re-adding Node Deletion Strategy Type. Even though it won't be used it may exist in a legacy SNR Template, in order for that template to be automatically deleted the strategy need to exist.

Why does the strategy need to exist for deleting the tempate? 🤔
By keeping it in the CRD we also allow to create new templates and CRs with that type.

/retest

/retest

Re-adding Node Deletion Strategy Type. Even though it won't be used it may exist in a legacy SNR Template, in order for that template to be automatically deleted the strategy need to exist.

Why does the strategy need to exist for deleting the tempate? thinking By keeping it in the CRD we also allow to create new templates and CRs with that type.

I've experienced some issues (couldn't get the operator to start) when I've removed node deletion strategy from the CRD and had a legacy template containing it it didn't happen when the legacy template was deleted so  I've just assumed that this is the cause.

summarizing some discussions around this topic:

we can't delete the NodeDeletion enum value from the CRD, because that would break upgrades on clusters with existing templates with NodeDeletion strategy, like one of our own default templates
we are exploring options to at least prevent creating or updating CRs with NodeDeletion (switching to validating webhook, new API version, ...)
the latter will be implemented in a follow up

/lgtm


Changing innerText to innerHTML to make FF happy again

Just wanted to make sure you knew about textContent, if you want to avoid the possibility of HTML interpretation messing something up.
I didn't realize the distinction until it was pointed out in https://github.com/GoogleChrome/samples/pull/72


Query Firebase Firestore documents by the ID

I'm trying to make a query but I need to filter that there are not show some documents. example:
query.from("TORNEY")

query.where('documentId', FirestoreQuery.OPERATOR.NOT_IN, torney)

torney is s array of tournaments in which the player is registered
i have a tab that I show the tournaments in which the player is registered
and another tab to show Available tournaments
I've been searching and I find something like this firebase.firestore.FieldPath.documentId(), is there something similar in the plugin to use it?

Sorry it took us so long to get back to you on this! I am currently doing a big refactor of the Firestore implementation, and that's going to involve queries. I'll have to look into this, but if a FieldPath query exists for the document ID, then in theory we should be able to support it! I'll look into it when I can.


Watch all namespaces

Drop namespace option
Change e2e in a way controller and objects are splitted into separate
namespaces.

Signed-off-by: Dinar Valeev<EMAIL_ADDRESS>

fixes https://github.com/rancher/terraform-controller/issues/17

@k0da you'll need to rebase this and change some things for the linter e.g. ctrl_namespace is gonna probably be ctrlNamespace now

@luthermonson rebased

closing in favor https://github.com/rancher/terraform-controller/pull/82