JSON to YAML - possible to set dump as frontmatter?

I'm using the library to take an API response and create YAML.
results.forEach(result => {
        let name = result[args.name];
        let cleaned = cleanName(name);
        let yamlStr = yaml.dump(result);
        fs.writeFileSync(args.dir + '/' + cleaned + '.md', yamlStr, 'utf8');
        console.log(cleaned + ".yml created");
    });

Which works great. I get:
_id: 5d487c2e3235325615000237
description: A message with important, and usually time-sensitive, information.
notes:
  - field:
      type: text

But I'd like to output like below, specifying "description" as the body of the frontmatter:
---
_id: 5d487c2e3235325615000237
notes:
  - field:
      type: text
---
A message with important, and usually time-sensitive, information.

You can strip dumped object as you need, before dump, and add prefix/postfix lines manually. But IMO such questions are out of scope.


aws-c-io: 0.11.2 -> 0.13.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/aws-c-io/versions.
meta.description for aws-c-io is: "AWS SDK for C module for IO and TLS"
meta.homepage for aws-c-io is: "https://github.com/awslabs/aws-c-io"
meta.changelog for aws-c-io is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.2 with grep in /nix/store/85khs73k85fi7va4z1pihvzq421j0jc8-aws-c-io-0.13.2
found 0.13.2 in filename of file in /nix/store/85khs73k85fi7va4z1pihvzq421j0jc8-aws-c-io-0.13.2

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

278 total rebuild path(s)

278 package rebuild(s)

First fifty rebuilds by attrpath
appvm
arrow-cpp
arrow-glib
aws-c-auth
aws-c-event-stream
aws-c-http
aws-c-io
aws-c-mqtt
aws-c-s3
aws-crt-cpp
aws-sdk-cpp
bundix
cabal2nix
cached-nix-shell
cachix
colmena
comma
common-updater-scripts
crate2nix
crystal2nix
dep2nix
dydisnix
fusionInventory
gnome.gnome-packagekit
gnome.gnome-software
gnome.simple-scan
go2nix
haskellPackages.cabal2nix-unstable
haskellPackages.cachix
haskellPackages.hercules-ci-agent
haskellPackages.hercules-ci-cli
haskellPackages.hercules-ci-cnix-expr
haskellPackages.hercules-ci-cnix-store
haskellPackages.nix-paths
haskellPackages.nvfetcher
haskellPackages.update-nix-fetchgit
hci
hercules-ci-agent
home-assistant-component-tests.environment_canada
home-manager
hydra_unstable
intensity-normalization
libnixxml
libsForQt5.discover
libsForQt5.packagekit-qt
libsForQt512.discover
libsForQt512.packagekit-qt
libsForQt514.discover
libsForQt514.packagekit-qt
libsForQt515.discover

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/85khs73k85fi7va4z1pihvzq421j0jc8-aws-c-io-0.13.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/85khs73k85fi7va4z1pihvzq421j0jc8-aws-c-io-0.13.2
ls -la /nix/store/85khs73k85fi7va4z1pihvzq421j0jc8-aws-c-io-0.13.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @orivej for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/aws-c-io/versions.
meta.description for aws-c-io is: "AWS SDK for C module for IO and TLS"
meta.homepage for aws-c-io is: "https://github.com/awslabs/aws-c-io"
meta.changelog for aws-c-io is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.3 with grep in /nix/store/prjflh1h0z8lp8v5a33jrwrrpknvip2b-aws-c-io-0.13.3
found 0.13.3 in filename of file in /nix/store/prjflh1h0z8lp8v5a33jrwrrpknvip2b-aws-c-io-0.13.3

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

278 total rebuild path(s)

278 package rebuild(s)

First fifty rebuilds by attrpath
appvm
arrow-cpp
arrow-glib
aws-c-auth
aws-c-event-stream
aws-c-http
aws-c-io
aws-c-mqtt
aws-c-s3
aws-crt-cpp
aws-sdk-cpp
bundix
cabal2nix
cached-nix-shell
cachix
colmena
comma
common-updater-scripts
crate2nix
crystal2nix
dep2nix
dydisnix
fusionInventory
gnome.gnome-packagekit
gnome.gnome-software
gnome.simple-scan
go2nix
haskellPackages.cabal2nix-unstable
haskellPackages.cachix
haskellPackages.hercules-ci-agent
haskellPackages.hercules-ci-cli
haskellPackages.hercules-ci-cnix-expr
haskellPackages.hercules-ci-cnix-store
haskellPackages.nix-paths
haskellPackages.nvfetcher
haskellPackages.update-nix-fetchgit
hci
hercules-ci-agent
home-assistant-component-tests.environment_canada
home-manager
hydra_unstable
intensity-normalization
libnixxml
libsForQt5.discover
libsForQt5.packagekit-qt
libsForQt512.discover
libsForQt512.packagekit-qt
libsForQt514.discover
libsForQt514.packagekit-qt
libsForQt515.discover

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/prjflh1h0z8lp8v5a33jrwrrpknvip2b-aws-c-io-0.13.3
ls -la /nix/store/prjflh1h0z8lp8v5a33jrwrrpknvip2b-aws-c-io-0.13.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @orivej for testing.

@ofborg eval


Instruction Videos

We are still missing instruction videos. From my point of view, it might be a good idea to try and use an animation kind of solution. Then we can easily overlap the animation with different audio tracks for each language, and do not have to record ourselves.

Do we know anybody who is able to create high quality animations?

I am currently trying to get this to work. I will let you guys know how it looks

Looks good. I thought you meant more of an abstract animation style. But if we color that well, add the phone, some arrows, and maybe some camera movement, these videos should work really well


Additional Key Columns for aws_accessanalyzer_finding Table

This PR adds the following key columns for the list function of the aws_accessanalyzer_finding table:

error
is_public
resource_owner_account
resource_type

Integration test logs

Logs
Add passing integration test logs here

Example query results

Results
Add example SQL query results here (please include the input queries as well)

@dbermuehler thank you so much for the PR 👍 !!,
While testing it out, did you see a significant time benefit in adding these columns?
Also, could you please add is_public, resource_owner_account and resource_type to the list of columns as well?
You can use
https://github.com/turbot/steampipe-plugin-aws/blob/2c7d6997ed60c352f0a86aa6d71810f2937952eb/aws/table_aws_cloudtrail_lookup_event.go#L80
for additional references.

These key columns exist already as columns for this table.
Regarding speed improvement: I have to admit the increase in speed was quite marginal. For the tests I did it made the queries 1 - 2 seconds faster. This however might be different for bigger data sets then the one I have.


added support for list_sizes

Added support for list_sizes
Relates: https://github.com/TheBits/libcloud-vscale/issues/6

Фикстуру обновил.


Fix error - empty form causing empty dataframe JSON issue

This fixes the error created by saving an empty form and then navigating away.
The error was caused by the JSON decoder being unable to handle an empty dataframe. We could introduce code to enable the encoder to handle this, however this would likely lead to the empty dataframe causing further errors further down the chain. We should think about whether this is worth implementing despite the following fix.
Have implemented form to only save in initial instance (a user has not saved rates/numbers/proportions before) if the dataframe from the form is not empty.

Apart from the session _scenario attribute changes, the four lines look like they're the same (I could be wrong). Could this be put in a function that receives the attribute name as an argument, so that doesn't repeat multiple times? This might bring it closer to the DRY development principle e.g

def safe_save(scenario_attribute):

On second thought, since an attribute cannot be simply string-joined to its object, there is a possibility that wrapping this in a function might become tricky and make it less readable.
This is sample code that I got from a chatbot:

def save_data_if_exists(session_scenario, data, attribute_name):
    if isinstance(data, (pd.DataFrame, pd.Series)) and not data.empty:
        setattr(session_scenario, attribute_name, data)
        session_scenario.save()
# Example usage:
# save_data_if_exists(session_scenario, data, 'adjusted_costs')

It might work but if this makes the code less intuitive then the current implementation would be better. So, I'll approve this and let you decide.

@tab1tha your suggestion worked so I've gone with that! Think there is a lot in these views that could better follow DRY principles...


[Fsk-18]: Configure Storybooks

this pr adds storybook

@erfan-goodarzi @ASafaeirad was this all I had to do?
I mean this ticket had 13 story points, I'm thinking maybe I'm missing something

It's better to keep the preview file as .tsx later on, we need to import some components from src.


Type equality is broken in API

Describe the bug
The == operator on binaryninja.Type does not appear to work correctly.
To Reproduce

Open any executable and create the following type (I used a Windows kernel driver I had lying around):

struct CFString {
  void* const isa;
  uint64_t flags;
  char* const data;
  uint64_t size;
};

Find a random data location in the executable and create a bunch of these with y.
Do the following in your Python Console (replace the address with the start address of any of the structs you created in the previous step):

>>> cfs_var = bv.get_data_var_at(0x1c0323940)
>>> cfs_type = bv.get_type_by_name("CFString")
>>> cfs_var.type
<type: struct CFString>
>>> cfs_type
<type: struct CFString>
>>> cfs_var.type == cfs_type
False

Observe that the final result is False, despite the fact that there is only one CFString type in the bv.

Expected behavior
The expected value here should be True.
Version and Platform

Binary Ninja: 2.5.3135-dev (Enterprise)
OS: macOS
Version: 12.0.1

Additional context
The code in question points at this being a problem with the implementation of BNTypesEqual in the core:
	def __eq__(self, other):
		if not isinstance(other, self.__class__):
			return NotImplemented
		return core.BNTypesEqual(self.handle, other.handle)

After a large amount of discussion with @plafosse and @CouleeApps, I now understand that this should return False because their underlying types are actually different (the repr makes it seem like they're the same, but they are not):
>>> cfs_var = bv.get_data_var_at(here)
>>> cfs_type = bv.get_type_by_name("CFString")
>>> cfs_var.type.type_class
<TypeClass.NamedTypeReferenceClass: 11>
>>> cfs_type.type_class
<TypeClass.StructureTypeClass: 4>

I also understand that we can't "resolve" these to the same thing because a typedef struct foo bar (a "named type") and a struct foo (a "structure") should be different things.
But, I have two remaining questions before we close the ticket (which may be either further misunderstandings of mine or actual inconsistencies/bugs):

Why did I get a NamedTypeReference from an "instance" of CFString, but a StructureType from the bv's type list? If all structs I add through the types UI wind up being NamedTypeReferences (unless I create an anonymous struct, which doesn't have a name), why would it return something different?
Why does cfs_var.type.target(bv) == cfs_type still return False? (This, I believe, should resolve the NamedTypeReference to a matching StructureType.)


fix(template): use the correct function on wry desktop

Use main instead of start_app to start the application in wry template on desktop.

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Docs
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Checklist

[x] This PR will resolve #249
[ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[ ] I have added a convincing reason for adding this feature, if necessary
[x] It can be built on all targets and pass CI/CD.

Other information

Thank you

Oh looks like you didn't sign your commits and I can't merge the PR unless they are signed.

Ops, sorry for missing the verified commit part, it was the first time i tried to contribute to a open source project, and thanks for provide me the tutorials.
I've signed the commit now :)

thank you


Crashes with DC_QUORUM read_consistency

Hi,
I found an unfortunate crash when trying to use quorum reads:
Setup: 1 dc, 3 racks, 1 dynomite per rack, redis,
      read_consistency: dc_quorum
      write_consistency: dc_quorum

Easy to reproduce by running redis-cli get foo right after startup.
Logs:
[2015-12-22 19:03:32.132] proxy_accept:297 accept on PROXY 6 not ready - eagain
[2015-12-22 19:03:32.132] _msg_get:262 alloc_msg_count : 1 caller req_get
[2015-12-22 19:03:32.133] local_req_forward:590 local_req_forward entering ............
[2015-12-22 19:03:32.133] msg_send_chain:1071 About to dump out the content of msg
[2015-12-22 19:03:32.133] msg_dump:619 msg dump id 1 request 1 len 22 type 43 done 0 error 0 (err 0)
[2015-12-22 19:03:32.133] msg_dump:629 mbuf with 22 bytes of data
00000000  2a 32 0d 0a 24 33 0d 0a  67 65 74 0d 0a 24 33 0d   |*2..$3..get..$3.|
00000010  0a 66 6f 6f 0d 0a                                  |.foo..|
[2015-12-22 19:03:32.134] _msg_get:262 alloc_msg_count : 2 caller rsp_get
[2015-12-22 19:03:32.134] dn_stacktrace:320 [0] /nix/store/npfsi1d9ka8zwnxzn3sr08hbwvpapyk7-glibc-2.21/lib/libpthread.so.0(+0x103e0) [0x7f7d21e953e0]
sh: addr2line: command not found
[2015-12-22 19:03:32.136] dn_stacktrace:320 [1] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(msg_payload_crc32+0x6) [0x417886]
sh: addr2line: command not found
[2015-12-22 19:03:32.138] dn_stacktrace:320 [2] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(rspmgr_check_is_done+0x75) [0x419985]
sh: addr2line: command not found
[2015-12-22 19:03:32.139] dn_stacktrace:320 [3] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite() [0x4183eb]
sh: addr2line: command not found
[2015-12-22 19:03:32.141] dn_stacktrace:320 [4] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(client_handle_response+0x56) [0x40f4a6]
sh: addr2line: command not found
[2015-12-22 19:03:32.143] dn_stacktrace:320 [5] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(msg_recv+0x612) [0x417f12]
sh: addr2line: command not found
[2015-12-22 19:03:32.144] dn_stacktrace:320 [6] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(core_core+0x7c) [0x40dffc]
sh: addr2line: command not found
[2015-12-22 19:03:32.150] dn_stacktrace:320 [7] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(event_wait+0xee) [0x42dcce]
sh: addr2line: command not found
[2015-12-22 19:03:32.155] dn_stacktrace:320 [8] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(core_loop+0x7c) [0x40e8ac]
sh: addr2line: command not found
[2015-12-22 19:03:32.168] dn_stacktrace:320 [9] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(main+0x6d8) [0x40cd48]
sh: addr2line: command not found
[2015-12-22 19:03:32.169] dn_stacktrace:320 [10] /nix/store/npfsi1d9ka8zwnxzn3sr08hbwvpapyk7-glibc-2.21/lib/libc.so.6(__libc_start_main+0xf5) [0x7f7d21802995]
sh: addr2line: command not found
[2015-12-22 19:03:32.171] dn_stacktrace:320 [11] /nix/store/lnzpkk0rcr6dq81ynmxsil2d3i2s67q9-dynomite-0.5.6/bin/dynomite(_start+0x29) [0x40d179]
sh: addr2line: command not found
[2015-12-22 19:03:32.172] signal_handler:127 signal 11 (SIGSEGV) received, core dumping

(on a side note: it seems that system(addr2line) uses a hardcoded binary location, which won't work for some build types)

I tried with the same deployment on an Ubuntu system and it works fine.
$ redis-cli -p 22122 get foo
(nil)
$ redis-cli -p 8102 get foo
(nil)
$ getconsistency
Read Consistency: DC_QUORUM
Write Consistency: DC_QUORUM

What is your platform?

That's right, it's NixOS 15.09 (build expression), redis version is 3.0.2
Just in case, the config I'm using is:
dyn_o_mite:
  datacenter: dc1
  rack: rack1
  listen: <IP_ADDRESS>:8303
  dyn_listen: <IP_ADDRESS>:8202
  tokens: '8202'
  servers:
  - <IP_ADDRESS>:11212:1
  data_store: 0
  auto_eject_hosts: false
  secure_server_option: none
  read_consistency: dc_quorum
  write_consistency: dc_quorum

I also tried to compile dynomite using -ggdb -O0 and --enable-debug=full like in the Dockerfile which makes redis-cli hang indefinitely on any command, attached logs for two dynomite runs, non-debug version followed by a debug version: https://gist.github.com/proger/74dfe8ac72998fce7fbd

Based on the stacktrace, I am assuming that you tried DC_ONE and you do not see that issue. Correct?

Yeah, that's right.
I can reliably reproduce the crash in non-debug configuration with DC_QUORUM, however when I currently enable -ggdb -O0 I get client connection resets regardless of read/write_consistency setting:
[2015-12-22 22:11:04.196] proxy_accept:355 accepted CLIENT 9 on PROXY 6 from '<IP_ADDRESS>:39394'
[2015-12-22 22:11:04.196] proxy_accept:297 accept on PROXY 6 not ready - eagain
[2015-12-22 22:11:04.196] stats_swap:1436 skip swap of current 0x215e5f0 shadow 0x214c260 as aggregator is busy
[2015-12-22 22:11:04.196] core_process_messages:504 length of C2G_OutQ : 0
[2015-12-22 22:11:04.196] event_wait:263 epoll 0004 triggered on conn 0x2154f20
[2015-12-22 22:11:04.196] core_core:397 event FF00 on CLIENT 9
[2015-12-22 22:11:04.197] event_del_out:180 removing conn 0x2154f20(CLIENT) from active
[2015-12-22 22:11:04.197] stats_swap:1436 skip swap of current 0x215e5f0 shadow 0x214c260 as aggregator is busy
[2015-12-22 22:11:04.197] core_process_messages:504 length of C2G_OutQ : 0
[2015-12-22 22:11:04.197] event_wait:263 epoll 0001 triggered on conn 0x2154f20
[2015-12-22 22:11:04.197] core_core:397 event 00FF on CLIENT 9
[2015-12-22 22:11:04.197] _msg_get:250 allocated #msgs 0 hit max allowable limit
[2015-12-22 22:11:04.198] core_close_log:290 close CLIENT 9 '<IP_ADDRESS>:39394' on event 00FF eof 0 done 0 rb 0 sb 0: Resource temporarily unavailable
[2015-12-22 22:11:04.198] event_del_conn:229 removing conn 0x2154f20(CLIENT) from active
[2015-12-22 22:11:04.198] stats_pool_to_metric:1519 metric 'client_connections' in pool 0
[2015-12-22 22:11:04.198] _stats_pool_decr:1556 decr field 'client_connections' to -1
[2015-12-22 22:11:04.198] stats_pool_to_metric:1519 metric 'client_err' in pool 0
[2015-12-22 22:11:04.198] _stats_pool_incr:1538 incr field 'client_err' to 3
[2015-12-22 22:11:04.199] _dn_free:299 free(0x215e570) @ dyn_dict.c:483
[2015-12-22 22:11:04.199] client_unref_internal_try_put:119 unref conn 0x2154f20 owner 0x215e050 from pool 'dyn_o_mite'
[2015-12-22 22:11:04.199] conn_put:482 put conn 0x2154f20
[2015-12-22 22:11:04.199] stats_swap:1436 skip swap of current 0x215e5f0 shadow 0x214c260 as aggregator is busy
[2015-12-22 22:11:04.199] core_process_messages:504 length of C2G_OutQ : 0

Can't get to reproducing stuck connections any more :/

It seems it is a platform specific as we do not see these issues in Ubuntu. We will take a look; in the meantime if you find what is causing the problem please feel free to comment or create a PR.

@proger btw, what would be a better way to fix the handcoded binary location that are referring above?


Early exit a noop blob prefetch

After a successful blob prefetch, store the arguments that were used for the prefetch. On a subsequent blob prefetch, if all the arguments match exactly, early exit since nothing new will be prefetched or hydrated.
On the Windows repo, running a noop prefetch --hydrate on around 100K files currently takes about 40s. Of that time, about 23s went into parsing the index, and about 15s went into opening each file to make sure it is actually hydrated. With this change, running that same prefetch a second time takes about 600ms.
The output shown to the user in that case is:
Saeeds-MacBook-Pro:GVFSTest sanoursa$ ~/Repos/VFSForGit/Publish/gvfs prefetch --files '*' --hydrate
All requested files are already available. Nothing new to prefetch.

And the prefetch log contains info on why it was a noop:
[2018-11-28 09:57:40 -08:00] Prefetch (Start) {"Version":"<IP_ADDRESS>","EnlistmentRoot":"/Users/sanoursa/GVFSTest","Remote":"https://dev.azure.com/gvfs/ci/_git/ForTests","ObjectsEndpoint":"https://dev.azure.com/gvfs/ci/_git/ForTests"}
[2018-11-28 09:57:40 -08:00] PerformPrefetch {"Commits":false,"Files":"*","Folders":"","FoldersListFile":"","HydrateFiles":true}
[2018-11-28 09:57:40 -08:00] BlobPrefetcher.IsNoopPrefetch {"CommitId":"2797fbb8358bb2e0c12d6f3b42a60b43f7655edf","Files":"[\"*\"]","Folders":"[]","Hydrate":"True","Result":true}
[2018-11-28 09:57:40 -08:00] Prefetch (Stop) {"DurationMs":597}

This PR is ready for review. No amount of optimization in index parsing is going to get us down to a sub-second noop prefetch, so this seems like a decent approach in the end.


[Core] Rename entry script az.ps1 to azpwsh.ps1

Description
https://github.com/Azure/azure-cli/pull/23514 added az.ps1 so that when Azure CLI is invoked in PowerShell, az.ps1 is called instead of az.cmd.
However, this change introduced 3 new issues:

#23797: PowerShell array $mylist is splatted when calling az.cmd, but not when calling az.ps1. Instead, the array is concatenated as a single string.
#23883: When calling ps1, PowerShell doesn't automatically connect stdin to pipeline.
#24005: az.cmd can be invoked by Start-Process, but az.ps1 cannot.

This PR reverts the change by renaming az.ps1 to azpwsh.ps1 so that users can still use the ps1 entry script if they want, but by default, when calling az, az.cmd will be called as before.
We will work with PowerShell team to see how to fix these issues.

Users are able to use azpwsh.ps1 on demand.

Is there a problem with leaving it az.ps1? Is the customer able to specify their entry script by the extension?

Yes. If we don't rename az.ps1, it will be the default script when az is called from PowerShell, overriding az.cmd.


RNFIRMessaging.h file not found

After doing the pod install I get the error "RNFIRMessaging.h" file not found.

If someone has the same problem, the solution is doing:
npm install

I'm still having trouble with this. Do I need to add the xcode project to the libraries folder and link in build phases?
I think I'm missing steps here but don't know what. I just get file not found every time.

I'm having this problem too. This is such a difficult library to get working. I've tried a fresh npm install, running and re-running Cocoapods, different combinations of the config file, nothing seems to work.

Hi Jon, I figured out my problem. Similar to what you do for PushNotificationsIOS RN API, you need to add '$(SRCROOT)/../node_modules/react-native-fcm/ios' to header search paths in build settings. That's what I was missing I hope they update the readme.

Wow thanks, that seems to work and has saved my day! I would never have figured that out, thank you so much.

Started a new project with RN 0.40.0 and found the same issue after following all instructions for installation. I think the documentation should be updated with this issue. Not sure if this happens for everyone creating new projects.

phew... It seems the react-native link command missed to add header search path...

@amanthegreatone, I can confirm I also had to add the header search path manually for a clean install with RN 0.40.

When you write
you need to add '$(SRCROOT)/../node_modules/react-native-fcm/ios' to header search paths in build settings.
I'm not a iOS developer. What does this mean? Do you have to open the project up in Xcode (which doesn't seem to be working for me) or can I just add this to some file?

It seems like these are the appropriate steps.

Open ios directory in Xcode
Click your project name on the left there.
Click Building Settings. Click All.
Scroll down to Header Search Paths.

@oliversisson You're correct, those are the steps, the quickest way to get XCode up and running is to open the ios folder in your app, and in there there should be a [myproject].xcworkspace file. Open that, and it should automatically open your project in XCode, and you can then navigate to the build settings, make the changes, then clean and build the project and run on any simulators or devices you need.
Although the source code of your app is written in React Native, the built XCode project is like any other iOS project so if you get stuck there are lots of general XCode tutorials out there to help with navigating around and getting things up and running.

Thanks @cpsiaki. I had the same issue and your suggestion fixed it for me too.

This issue should still be open no?  Seems like the readme should be updated with these instructions or react-native link should do this step?

Any updates about @mypark said?

None of these solutions seemed to fix the issue for me. However with my AppDelegate.m file opened in Xcode, on the right side under Target Membership I had MyProject and MyProjectTests both checked. Once I unchecked MyProjectTests the issue went away and my app was able to build

Why is this not in the README?

hi but it did not solve my problem, any other idea?!


500 Status Code for ServiceNotFoundError Using Express Middleware

I'm getting a 500 error code for ServiceNotFoundError while using express in middleware mode(settings.server = false). I experienced this on both 0.9.0 + 0.9.1.  Moleculer docs state this should be a 404.  Not a big deal but thought I'd point it out.
https://moleculer.services/docs/0.14/errors.html
started() {
const app = express();
app.use("/", this.express());
}

I would like to add that setting mappingPolicy to 'restrict' changes the response to a 404.

Could you make a reproduce example?

I'm having the same issue, using:
    "moleculer": "^0.14.10",
    "moleculer-web": "^0.9.0",

And here's is the sample code:
const { ServiceBroker } = require('moleculer')
const express = require('express')
const ApiService = require('moleculer-web')

const broker = new ServiceBroker({ logger: console })

const svc = broker.createService({
  name: 'api',
  mixins: ApiService,
  settings: {
    server: false
  }
})

const app = express()

app.use('/', svc.express())

app.listen(3000, err => {
  if (err) { return console.error(err) }
})

broker.start()

And when calling a non existent url a 500 is returned instead of a 404.
# curl -I http://localhost:3000/some-nonexistent-url
HTTP/1.1 500 Internal Server Error
X-Powered-By: Express
X-Request-ID: 61cb2099-d27d-4275-b09d-ff79ed92f178
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 748
Date: Thu, 05 Nov 2020 20:33:15 GMT
Connection: keep-alive

If I run moleculer-web without express, in middleware mode, the result is has expected a 404.

The problem is that Express builtin error-handler doesn't use the err.code in the MoleculerErrors. To convert it, use something similar error handler for Express:
const { ServiceBroker } = require("moleculer");
const { MoleculerError } = require("moleculer").Errors;
const express = require("express");
const ApiService = require('moleculer-web')

const broker = new ServiceBroker({ logger: console });

const svc = broker.createService({
    name: "api",
    mixins: ApiService,
    settings: {
        server: false
    }
});

const app = express();

app.use("/", svc.express());
app.use("/", (err, req, res, next) => {
    if (err instanceof MoleculerError) {
        return res.status(err.code).json(err);
    }
    next(err);
});

app.listen(3000, err => {
    if (err) { return console.error(err); }
});

broker.start();

Thanks @icebob!  Didn't see this on the docs.


when the equation is too long, mathjax can't render the equation

when the equation is too long, mathjax can't render the equation.
for example:
$$
\lim\limits_{x \to \infty }{ \frac{ a_0x^m + a_1x^{m-1} + ... + a_m }{ b_0x^n + b_1x^{n-1} + ... + b_n } } =$\left\{\begin{array}{rcl}\frac{a_0}{b_0} & & {n=m}\\0 & & {n>m}\\\infty & & {n<m}\end{array} \right.
$$

mathjax can't render the equation in this page
https://blog.changwei.me/2018/11/27/极限的运算法则/

See https://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents

In particular, your content management system seems to be using backslashes as escape characters for the special characters it uses.  In particular, \{ is being converted to { while \\ is being converted to \.  You probably should double all backslashes in your mathematics.  So use
$$
\\lim\\limits_{x\\to\\infty }{\\frac{a_0x^m + a_1x^{m-1} + ... + a_m}{b_0x^n + b_1x^{n-1} + ... + b_n}} =$\\left\\{\\begin{array}{rcl}\\frac{a_0}{b_0} & & {n=m}\\\\0 & & {n>m}\\\\\\infty & & {n < m}\\end{array} \\right.
$$

instead.

wow, thanks very much!!!


[Question] Counter instead of random?

When I use this simulator, it created random values on JSON format.
It is useful. Thank you.
However, I wish to have a simple monotonic counter as well starting from 1, 2, 3, ..., on and on.
Also, I wish each device to have a unique ID and keeping that ID.
It is important because in IoT testing we want to test

Packet loss ratio
Packet out-of-order ratio
Packet travel time analysis

I searched for the simple counter option but could not find. Am I missing it? Or do you think this feature is not yet available?

Thanks for reaching out, the counter option is a current feature of the solution but we will add this to our backlog and review the requirement in the next release.

Hi Byong-Wu,
This enhancement did not receive enough support to be added to the roadmap, as a result, I am closing it for now. You may reopen the request in the future or create a new request linking to this one if you would like the decision reevaluated.
rgds
Fabien


[Style/SoleNestedConditional] Syntax error when autocorrecting nested if conditions with a block

If there are nested if statesments, where the second if condition is a function with an arugment and a block, autocorrecting causes a syntax error. Given snippet test.rb
def foo
  if cond
    if validate :strict do
        "hello"
      end
    end
  end
end

and running
rubocop test.rb --force-default-config --only Style/SoleNestedConditional -a

there is a syntax error reported by ruby (see below). Prior to autocorrect, there was no syntax error.

Expected behavior
ruby test.rb do not report syntax error after autocorrect. Proposed solution is to add parenthesis around arguments.
def foo
  if cond && validate(:strict) do
        "hello"
      end
    end
end

Actual behavior
The source code is autocorrected to
def foo
  if cond && validate :strict do
        puts "hello"
      end
    end
end

ruby test.rb reports syntax error:
/tmp/test.rb:2: syntax error, unexpected symbol literal, expecting `do' or '{' or '('
  if cond && validate :strict do
/tmp/test.rb:5: syntax error, unexpected `end', expecting end-of-input
    end

RuboCop version
$ [bundle exec] rubocop -V
1.33.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.19.1, running on ruby 2.7.4 x86_64-linux)

Thanks for the fix!


Potential issue in 3.2.2-rc.3

Just wanted to test out your new RC. I'm getting some new errors. Shouldn't it be
baseStyle?: ((props: any) => StyledProps) | StyledProps;
here:
https://github.com/GeekyAnts/NativeBase/blob/4b934a662366ba98a7b53b169c1fd59a18571fae/src/theme/index.ts#L8

Thanks for catching it!


add emath v0.25 and v0.25 Number support

Requires: #32
Summary of the PR
Please summarize here why the changes in this PR are needed.
Requirements
Before submitting your PR, please make sure you addressed the following
requirements:

[x] All commits in this PR are signed (with git commit -s), and the commit
message has max 60 characters for the summary and max 75 characters for each
description line.
[ ] All added/changed functionality has a corresponding unit/integration
test.
[ ] All added/changed public-facing functionality has entries in the "Upcoming
Release" section of CHANGELOG.md (if no such section exists, please create one).
[x] Any newly added unsafe code is properly documented.

Refusing to touch the Changelog, since:

You don't need to edit the changelog it is automatically generated from commit messages.


Bug: Codelabs: FriendlyChat: Step 7: Focus does not go back to TextField on Enter in browser

Tutorial in question: https://codelabs.developers.google.com/codelabs/flutter/#6
Code in question: https://github.com/flutter/codelabs/blob/master/friendly_chat/step_07/lib/main.dart
Problem:
When the code is run in browser (dartpad.dev, Firefox / Safari), after submitting a message by hitting enter the focus is supposed to go back to the TextField for the user to type another message. While the focus seemingly goes back (caret blinks), keyboard input is disregarded.
Steps to reproduce

open dartpad.dev  and switch to flutter.
paste the code and code.
write a message in the bottom.
press enter to submit the message (do not use the send button)
EXPECTED:

Focus is in text field.
user can write text.

ACTUAL:

Caret blinks in text field.
Keyboard input is disregarded.

Hi @DarkTrick, this is not an issue with the code but a bug in flutter itself. See #95553
Closing from here as duplicate.
Thank you


Overflow problem fixed

I fixed the overflow problem in "The Basics" area example.
Old:

New:

Hi ?


Added Backbone.model.strict - will prevent the model from setting attribu

Added Backbone.model.strict - will prevent the model from setting attributes that are not already in defaults.
Use Case:
I am using the model to hit an endpoint that takes a specific set of parameters, if it includes parameters that it cannot recognise then it errors. I need to be able to trivially specify that the model should only allow certain parameters to pass through it

I'm afraid that @tbranyen has this one right -- it's an expansion of the API in an opposite direction from the style that Backbone is aiming for: flexible, dynamic attribute schemas.
You can use .validate to run arbitrary validations ... but if you want more serious validation of a static schema, I'd recommend doing something far more robust than a simple whitelist of attribute names.


fix: remove upper limit for required terraform version

/run pipeline

/run pipeline

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

GitHub release
v5.2.1

Your semantic-release bot :package::rocket:


Uncaught [object Event]  error in Chrome app

Some of my Boomerang app users are getting Uncaught [object Event] error while creating a project in the app.
Error is throwing in lovefield.js library at the line number 10.
I was not able to reproduce this issue on my machine.
I have updated the lovefield library to the latest version. But still some users are reporting the same issue.

Can you please check and tell me what causing this error.
More details are on Boomerang issue tracker.
Thank you.

Looked a bit at the information in the Boomerang issue tracker. The error is thrown from https://github.com/google/lovefield/blob/master/dist/lovefield.js#L2179-2182, which is not very helpful, since it is still not clear where is the exception originating from.
Without a consistent reproduction case it is hard to pinpoint what is wrong. At the very least, you could point us to the Lovefield related code in your app to take a look and see if anything suspicious stands out.

Hi, Please find the code below. I have also attached the data model.
var dm = new DataModel();
dm.init().then(function () {
....
});
...
addProject: function (name) {
        var row = dm.project.createRow({
            name,
            last_accessed: Date.now()
        });

        return dm.db.insert().into(dm.project).values([row]).exec();
    },
...

addProject is called when user creates a new project.
All boomerang codes are compiled using babel and webpack.
Please let me know if you need any more details.
DataModel.js.txt

Looking at DataModel.js the schema seems fine, but the public init() method is not re-entrant. If called twice it could cause unexpected behavior. You can see an example of the DbService class at the olympia DB demo of how to make such a method re-entrant.
Your snippet for addProject above has a syntactic error, so I assume this is just from copying/pasting to github and not in the actual code. But more importantly, it does not seem to wait for the Lovefield to finish initialization, so dm.db could be null by the time addProject is called. My suggestion would be to eliminate this possibility as follows.
addProject: function (name) {
  // Ensure that db has been initialized.
  return dm.getDb().then(function(db) {
    var row = dm.project.createRow({
      name: name, last_accessed: Date.now()
    });

    // Stop exposing dm.db as a public member, instead always grab a reference
    // by calling a new re-entrant getDb() method first.
    return db.insert().into(dm.project).values([row]).exec();
  });
}

Again, see the example linked above on how to provide an async getDb() method and stop exposing db as a public member variable, such that it can't be accessed when not initialized yet.
Unrelated to the exception you are seeing, you can eliminate the usage of that = this, and also remove the dummy Promise at the end of _connect() method, (see attachment).
DataModel.js.txt

Seems to be another usage problem. Please use our public forum for usage questions, thanks!
https://groups.google.com/forum/#!forum/lovefield-users


carefull synthesis III seems to handle CP wrong

when i get a macro wich uses carefull synthesis III it somehow seems to endup with a macro returning not enough CP. is there a possibility its calculating 0 cp like carefull synthesis I and II instead of the required 7 cp

is this problem only on specialists?

I don't think there are any current issues with CP calculation. My guess is you either had the wrong stats set in the simulator, or you had lvl 70 specialist marked when it shouldn't have been.


AZFW - DNS Proxy Graph

Description
Added ARG query to check if DNS proxy is enabled on Azure Firewall
Related Issue
Part of Hackathon week peered effort with Jody Ford

Checklist

[x] I've tested my changes to ensure they are ready for review.
[x] I've read the CONTRIBUTING.md guide.
[x] I've updated the documentation (if applicable).
[x] Resource Graph queries have been included (and tested) for recommendations where ever possible[^note].
[ ] Resource Graph queries have NOT been included (please explain below).

Additional Information
Is there any additional context, screenshots, or considerations that might help in the review process? Please include them here.
Reviewer Notes
Is there a specific area you’d like feedback on? Please highlight it here. We're here to help and learn together! 💡
[^note]:
Details on how to add Azure Resource Graph queries to recommendations can be found here.

Please add line item ID and checklist filename to the title of your PR


Proposal: Checks such as if(isset($x)) or if($x) or if($x !== null) should remove null type from uniontype

Not sure if this has already been filed.
If a statement like if($x) is seen

Nullables (?Foo) should become non-nullable (Foo)
Foo|null should become Foo
null should become the empty UnionType (can be anything, no candidate types)

I assume some of these shouldn't propogate outside the branch context.

One should also add if (!is_null($x)) to the list I'd think. Just for completeness' sake.

!is_null is already supported on the master branch

Oh sorry didn't realize that :)

I started working on this on my fork, not yet pushed to  https://github.com/etsy/phan/pull/806

This was fixed on the master branch (added to #806 , which was merged)


Lingui:Build update

make lingui:build explicit to avoid pulling in lingui changes on every yarn run
periodically the lingui changes would cuck my git log when I wasn't expecting
with these changes lingui:build must be explicitly called by the dev
meanwhile, lingui:build is still part of the build process so it will run on deploy

I think this can be closed in favor of https://github.com/OlympusDAO/olympus-frontend/pull/719


[bug] linter settings button work but text is aways "enabled"

i had to uninstall and reinstall linter to get the settings tab back in obsidian
now i have cool buttons to enable and disable settings
what ever i click ... the test "enabled" does not change... it is confusing

Could you provide some screenshots and/or a screencast what exactly you mean?

i think its some how contradicting ... is it enabled as the text tells me or is it disabled as the button tells me?

you toggle the button to enable or disable the rule. So right now its disabled. The 'Enabled' text is just telling you that the toggle enables or disables the rule.
Do you have any suggestions for a less confusing label?


Derived scoped atom

These days I've gone through the abstract model of jotai and bunshi.
In my understanding, jotai seperates React component tree and "state dependency graph", make them independent, and allow them to be connected in any manner by calling useAtom. In order to allow any component to access any atom, atoms should be defined in the global scope.
Then the reusability issue occurs, so jotai offers Provider, but Provider has its own limitation: Under the cover of a Provider component, whatever atom we are calling with useAtom would create a new independent state. The fundamental issue is that there is no API to distinguish whether or not we want to "share" an atom with a component within the Provider, or we want to create a new one.
Therefore, with jotai-scope, Provider offers an additional parameter, when accessing atoms in the parameter array, new instances (new indendent useState calls) are created. Other atoms (states) are still globally shared.
If the understanding is correct, then in the atom dependency graph:

if a derived atom appears in the parameter of scoped Provider, but its dependent atom is globally shared, then it means we create multiple atom instances which subscribe to the same atom (the dependency "edge" in the graph are copied). When the dependent atom changes, all the derived atom should change accordingly. This is not the case in this demo, so I'm wondering what's your thought.
if a derived atom's dependent atom appears in the parameter of scoped Provider, but the derived atom is globally shared, seems it is still a valid case (the derived atom also has multiple instances). I am not sure if this is a clear behavior. To make things clear, maybe throw an error is better, but in user's use cases, maybe that could be frequently used, especially when they want to make reusable components and have multiple copies of them simultaneously.
if a derived atom and its dependent both appears in the parameter of scoped Provider, then their dependency relationship disappears.

Therefore, I suggest we clarify the dependency rules just like bunshi. I'd like to compare jotai-scope with bunshi. In my understanding, jotai-scope is pretty like a simplified version of molecule:
const jotaiScopeEquivalentMolecule = molecule((mol_DEPENDENCY_NOT_ALLOWED, scope) => {
  sharedAtoms = []
  // sharedAtomScopes are those atoms NOT passed to Provider
  // this simplified molecule only accepts atom type as scope value
  for (const anAtomScope of sharedAtomScopes) {
    sharedAtoms.push(scope(anAtomScope));
  }
  return sharedAtoms;
})

Note that in this molecule, atoms passed by sharedAtomScopes are shared, but in jotai-scope, atoms passed to Provider have indenpendent instances.
I want to make this comparision so we can define a similar dependency rule.
For example, we call those atoms provided to Provider scoped atoms, then

scoped atoms' dependents are also scoped even if they are not specified.
unscoped atom's scoped dependents are not taking any effect.

This is a draft lack of considerations. In fact, there are cases that multiple Providers with different sets of atoms provided nested together, and atoms can have intertwined dependency relationship. It really helps to think as a graph theory graph, I believe we can find some mathematically clean rules.

Thanks for opening the discussion up.
Yes, your understanding is basically correct.
If I were to correct something, the Provider in Jotai is designed as expected, but it's not flexible enough, so "bunshi" and "jotai-scope" are born. These use cases are out of the scope of Jotai core and left to the third-party libraries in ecosystem.
Now, I understand your confusion, because I had the same one. It's still unsolved, but let it go to get feedback like this.
Yes, my goal is to make jotai-scope a lesser version of jotai-molecules=bunshi. The implementation is pretty different currently. Please read the code and you will see jotai-scope actually uses multiple stores, whereas bunshi uses just one.
Please feel free to give suggestion for clean rules. The ground requirement for jotai-scope is that it should be a much simpler implementation and not full featured, compared to bunshi. Otherwise, there's no point of building a different one.

Well, I find the rules may be pretty straightforward.
Rules:

Each Provider provides a new store instance.

NOTE: The store is shared by all the atoms passing to the Provider.

When an atom is passed to Provider, outside of the Provider is called parent store of the atom. Inside of the Provider is called child store of the atom. The outmost store (without any explicit Provider) is the global store.
A useAtom call must exist within a React component, and given a React component, we are able to get the store, so each [component, atom] pair maps to an unique atom instance (I am not sure if it should be called an "atom instance" or something)

Those three rules are enough to define vertices in the dependency graph, and for edges we just connect them together.
After checking the createScope code, now I am confused why derived atoms are not working. I'll try to debug the demo.

I suspect that vertices (atom instances) are created at the correct store, but current jotai-scope version is unable to handle edges between different stores.
https://github.com/pmndrs/jotai/blob/21326503cfeaca7689ac90c40b2e627ece5ed1a7/src/vanilla/store.ts#L383
Here, when derived atom are accessing their dependent atoms, they perform the lookup within the same store, so if an atom has different store (scope) with its dependent atom, the edge cannot be established, it will never subscribe to the correct dependent atom.
That's my analysis, but I cannot understand current jotai implementation very well, still need your precise judgment

Check this demo, previous demo is misleading because it is using useAtom and useScopedAtom simultaneously. I also suggest use useScopedAtom only in the example to avoid confusion.

The jotai store implementation only handles one store, so reading from a different store isn't possible.

when derived atom are accessing their dependent atoms, they perform the lookup within the same store

so, that's true by design.
we have two options: a) use multiple stores and somehow define clean rules, or b) use single store and create different atoms like bunshi.

I also suggest use useScopedAtom only in the example to avoid confusion.

Feel free to open a PR to improve examples.

(Or, the third option c) to develop a special store that reads atom value from the parent provider's store. But, it will be very complicated implementation-wise, and easy to become less performant.)

Well, I think the rule is clear enough for vertices (atom instances), and there is no extra rule for edges. In other words, given component, we find atoms and their dependent atoms' instances (which means their actual store), and connect them together.
I did try option c and found that scope is coupled with React component tree, but store is not, so yes it would be pretty difficult. i have an idea to expose an additional param of readAtomState and readAtom (and setter functions), the param is the map from atom to their actual store, so that not too many patches are added. Anyway, we still need to change jotai's implementation. What's your opinion?
BTW, I'm curious if this library will be merged to jotai one day? It seems everything is still compatible, the only one exception is that jotai Provider creates new atom instances if they are not explicitly specified (and they can't), but ScopeProvider creates new atom instances if they are explicitly specified. They are just dual. Maybe jotai-scope can accept breaking change since it's new and have < 100 weekly downloads……?
If so, then it makes more sense to add an additional parameter in jotai to support jotai scope. If you are interested I can write a sample implementation.
I can't get your point of option b, does it mean implement something like bunshi or just use bunshi to achieve atom dependency?

We don't currently plan to patch jotai core for jotai-scope nor merge jotai-scope into there. That's the given constraints. So, the challenge is that we implement the feature in this repo only. As jotai-scope doesn't hit v1, and still new, so breaking change is fine.

All right, I found the rule has some flaws. For the following example:
const primitiveAtom = atom(0);
const scopedDerivedAtom = atom((get) => get(primitiveAtom) + 1);
const derivedAtom1 = atom((get) => get(scopedDerivedAtom) + 1);
const derivedAtom2 = atom((get) => get(primitiveAtom) + 3);

const Counter = () => {
  const [p, setP] = useScopedAtom(primitiveAtom);
  const sd = useScopedAtomValue(scopedDerivedAtom);
  const d1 = useScopedAtomValue(derivedAtom1);
  const d2 = useScopedAtomValue(derivedAtom2);
  return (
    <>

        p: {p}
        <button type="button" onClick={() => setP((x) => x + 1)}>
          increment
        </button>

        sd: {sd}
        d1: {d1}
        d2: {d2}

    </>
  );
};

const App = () => {
  return (

Global

      <Counter />

First Provider

      <ScopedProvider atoms={[scopedDerivedAtom]}>
        <Counter />
      </ScopedProvider>

Second Provider

      <ScopedProvider atoms={[scopedDerivedAtom]}>
        <Counter />
      </ScopedProvider>

  );
};

Given the rule

A useAtom call must exist within a React component, and given a React component, we are able to get the store, so each [component, atom] pair maps to an unique atom instance.

We can draw the following graph:

Here,

a vertex => a useAtom call
text => atom
color => store/scope
[text, color] pair => atom instance

Now take a look at those d1s, it has only one scope/store, the global one, so there should be exactly one d1 instance.
However, d1's dependency atom sd has 3 instances, so 1 instance dependents on 3 instances of the same atom, which is wrong.
Solution 1: bunshi-alike rule
If we change to something similar to bunshi's rule:

When calling useAtom, we find the scope/store of the atom itself, and find the scope/store of all of its dependencies (parent, ancestor...), which forms a dependency scope set. Two dependency scope set is the same iff all of their elements are the same. Each distinct dependency scope creates one new atom instance.

With the new rule, the graph becomes this:

And more complex example:
const primitiveAtom = atom(0);
const scopedDerivedAtom1 = atom((get) => get(primitiveAtom) + 1);
const scopedDerivedAtom2 = atom((get) => get(primitiveAtom) + 2);
const derivedAtom1 = atom((get) => get(scopedDerivedAtom1) + 2);
const derivedAtom2 = atom((get) => get(scopedDerivedAtom2) + 2);
const derivedAtom3 = atom(
  (get) => get(scopedDerivedAtom1) + get(scopedDerivedAtom2),
);

const Counter = () => {
  const [p, setP] = useScopedAtom(primitiveAtom);
  const sd1 = useScopedAtomValue(scopedDerivedAtom1);
  const sd2 = useScopedAtomValue(scopedDerivedAtom2);
  const d1 = useScopedAtomValue(derivedAtom1);
  const d2 = useScopedAtomValue(derivedAtom2);
  const d3 = useScopedAtomValue(derivedAtom3);
  return (
    <>

        p: {p}
        <button type="button" onClick={() => setP((x) => x + 1)}>
          increment
        </button>

        sd1: {sd1}
        sd2: {sd2}
        d1: {d1}
        d2: {d2}
        d3: {d3}

    </>
  );
};

const App = () => {
  return (

Global

      <Counter />

First Provider Layer 1

      <ScopedProvider atoms={[scopedDerivedAtom1]}>
        <Counter />

First Provider Layer 2

        <ScopedProvider atoms={[scopedDerivedAtom2]}>
          <Counter />
        </ScopedProvider>
      </ScopedProvider>

Second Provider Layer 2

      <ScopedProvider atoms={[scopedDerivedAtom2]}>
        <Counter />

Second Provider Layer 1

        <ScopedProvider atoms={[scopedDerivedAtom1]}>
          <Counter />
        </ScopedProvider>
      </ScopedProvider>

  );
};

There are five counters, the graph is like:

Solution 2, scoped derived atom takes no effect
It makes no sense to put a derived atom to Provider, since its source has exactly one instance, even if we create multiple instances of the derived atom, they are actually the same, so all the vertices in the examples above can be transparent-colored.
I haven't examined this idea thoroughly, if that's correct (is it easy to implement?), then things would become much easier.

Graphviz source code of those three images:
digraph G {
    rankdir=BT;

    n1 [label="p"];
    n2 [label="sd"];
    n3 [label="d1"];
    n4 [label="d2"];

    n5 [label="sd", fillcolor=cornsilk1, style=filled];
    n6 [label="d1"];
    n7 [label="d2"];

    n8 [label="sd", fillcolor=burlywood, style=filled];
    n9 [label="d1"];
    n10 [label="d2"];

    n2 -> n1;
    n3 -> n2;
    n4 -> n1;

    n5 -> n1;
    n6 -> n5;
    n7 -> n1;

    n8 -> n1;
    n9 -> n8;
    n10 -> n1;
}

digraph G {
    rankdir=BT;

    n1 [label="p"];
    n2 [label="sd"];
    n3 [label="d1"];
    n4 [label="d2"];

    n5 [label="sd", fillcolor=cornsilk1, style=filled];
    n6 [label="d1", fillcolor=cornsilk1, style=filled];
    n7 [label="d2"];

    n8 [label="sd", fillcolor=burlywood, style=filled];
    n9 [label="d1", fillcolor=burlywood, style=filled];
    n10 [label="d2"];

    n2 -> n1;
    n3 -> n2;
    n4 -> n1;

    n5 -> n1;
    n6 -> n5;
    n7 -> n1;

    n8 -> n1;
    n9 -> n8;
    n10 -> n1;
}

digraph G {
    rankdir=BT;

    n1 [label="p"];
    n2 [label="sd1"];
    n3 [label="sd2"];
    n4 [label="d1"];
    n5 [label="d2"];
    n6 [label="d3"];

    n7 [label="sd1", fillcolor=cornflowerblue, style=filled];
    n8 [label="sd2"];
    n9 [label="d1", fillcolor=cornflowerblue, style=filled];
    n10 [label="d2"];
    n11 [label="d3", fillcolor=cornflowerblue, style=filled];

    n12 [label="sd1", fillcolor=cornflowerblue, style=filled];
    n13 [label="sd2", fillcolor=tomato, style=filled];
    n14 [label="d1", fillcolor=cornflowerblue, style=filled];
    n15 [label="d2", fillcolor=tomato, style=filled];
    n16 [label="d3", fillcolor=slateblue1, style=filled];

    n17 [label="sd1"];
    n18 [label="sd2", fillcolor=violetred1, style=filled];
    n19 [label="d1"];
    n20 [label="d2", fillcolor=violetred1, style=filled];
    n21 [label="d3", fillcolor=violetred1, style=filled];

    n22 [label="sd1", fillcolor=royalblue, style=filled];
    n23 [label="sd2", fillcolor=violetred1, style=filled];
    n24 [label="d1", fillcolor=royalblue, style=filled];
    n25 [label="d2", fillcolor=violetred1, style=filled];
    n26 [label="d3", fillcolor=purple, style=filled];

    n2 -> n1;
    n3 -> n1;
    n4 -> n2;
    n5 -> n3;
    n6 -> n2;
    n6 -> n3;

    n7 -> n1;
    n8 -> n1;
    n9 -> n7;
    n10 -> n8;
    n11 -> n7;
    n11 -> n8;

    n12 -> n1;
    n13 -> n1;
    n14 -> n12;
    n15 -> n13;
    n16 -> n12;
    n16 -> n13;

    n17 -> n1;
    n18 -> n1;
    n19 -> n17;
    n20 -> n18;
    n21 -> n17;
    n21 -> n18;

    n22 -> n1;
    n23 -> n1;
    n24 -> n22;
    n25 -> n23;
    n26 -> n22;
    n26 -> n23;
}

Maybe we can just recommend developers avoid sending derived atom to Provider, it's the simplest solution 😂.
However, solution 1 (bunshi-alike scope rule) is still needed, consider this example:
const primitiveAtom = atom(0);
const scopedAtom = atom(1);
const derivedAtom1 = atom((get) => get(scopedAtom) + 1);
const derivedAtom2 = atom((get) => get(primitiveAtom) + get(scopedAtom) + 3);

const Counter = () => {
  const [p, setP] = useScopedAtom(primitiveAtom);
  const [s, setS] = useScopedAtom(scopedAtom);
  const d1 = useScopedAtomValue(derivedAtom1);
  const d2 = useScopedAtomValue(derivedAtom2);
  return (
    <>

        p: {p}
        <button type="button" onClick={() => setP((x) => x + 1)}>
          increment
        </button>

        s: {s}
        <button type="button" onClick={() => setS((x) => x + 1)}>
          increment
        </button>

        d1: {d1}

        d2: {d2}

    </>
  );
};

const App = () => {
  return (

Global

      <Counter />

First Provider

      <ScopedProvider atoms={[scopedAtom]}>
        <Counter />
      </ScopedProvider>

Second Provider

      <ScopedProvider atoms={[scopedAtom]}>
        <Counter />
      </ScopedProvider>

  );
};

demo link
conceptual visualization:

image source:
digraph G {
    rankdir=BT;

    n1 [label="p"];

    n2 [label="s"];
    n3 [label="d1"];
    n4 [label="d2"];

    n5 [label="s", fillcolor=cornsilk1, style=filled];
    n6 [label="d1", fillcolor=cornsilk1, style=filled];
    n7 [label="d2", fillcolor=cornsilk4, style=filled];

    n8 [label="s", fillcolor=burlywood, style=filled];
    n9 [label="d1", fillcolor=burlywood, style=filled];
    n10 [label="d2", fillcolor=burlywood4, style=filled];

    { rank=max; n1; }
    { rank=source; n2; n5; n8; }

    n3 -> n2;
    n4 -> n1;
    n4 -> n2;

    n6 -> n5;
    n7 -> n1;
    n7 -> n5;

    n9 -> n8;
    n10 -> n1;
    n10 -> n8;
}

wow, nice graphs. that reminds me of mermaid support in markdown.

Maybe we can just recommend developers avoid sending derived atom to Provider, it's the simplest solution

I thought the simplest solution (as implemented now) is to recommend always send derived atoms to Provider, if you want to use it under the tree.
I assumed that people want to list up atoms that are scoped, but maybe that was my wrong assumption. I think people want to list atoms that are read from the parent provider (= paththrough atoms. The implementation will be tricker, but we can try.

I thought the simplest solution (as implemented now) is to recommend always send derived atoms to Provider, if you want to use it under the tree.

As the last example illustrates, there exists cases that one derived atom depends on atoms from different scopes.
I also want to explain the problem from another perspective: atoms' conceptual dependency graph is decoupled from React component tree. It is something independent of the tree. However, by implementing "scope" with React.Context, the scope is coupled with the tree. Therefore, even we do not explicitly scope those derived atoms, their scope are defined by their dependent atoms' scopes when calling useAtom with the derived one, so it is inevitable.
Moreover, when one derived atom depends on atoms from multiple different scopes, we can't even tell which scope it is in. So a rule similar to bunshi is needed, the scope of the derived one's key is a set of multiple scopes (if I got it right, bunshi use the deepCache to achieve such behavior).

I also want to explain the problem from another perspective

Great point. In that perspective, do you have any idea like a simplified API like bunshi?

I think I got it work:
Example:
https://github.com/jotaijs/jotai-scope/issues/4#issuecomment-1756697537
https://codesandbox.io/s/eloquent-joliot-lnr46v?file=/src/atom.jsx
This implementation is modified from https://jotai.org/docs/guides/core-internals#second-version.Be aware that I clearly distinguish atom instance and atom in the demo implementation's naming.
Concepts
In this world, we have four conecpts.
Atom
In this world, we divide atom (config) and atom instance into two concepts. An atom by default has an anonymous atom instance, this setting is compatible with current jotai implementation.
Scope
Each ScopeProvider creates a scope. It is implemented by React Context, so it is a concept in React component tree.
Atom instance
In React component tree, each atom is mapped to an atom instance. The instance is created if the ScopeProvider explicitly declares that it creates a new instance of the atom. Otherwise, the atom inherits its instance from its parent scopes. This is similar to bunshi.
Store
Now store is no longer the store of atoms, it is the store of atom instances.

When there is no scope exists, all the atom has exactly one instance, which is the anonymous instance itself. The store falls back to the store of atoms, that is current jotai world.
By splitting scope and store into two concepts, we can still make it compatible with the original store implementation.
Abstraction
Now let's consider this model in an abstract dependency graph.
atom = the class of vertices.
atom instance = a vertex.
store = the graph.
scope is a React component tree concept, by calling useAtom within the specific scope, a vertex of a vertex class is created in the dependency graph.
Breaking change
ScopeProvider is incompatible with Provider.
For ScopeProvider, declared atoms' instances are created, undeclared atoms' instances are inherited from their parent scope (parent ScopeProvider).
For Provider, a new store is created, it's just like undeclared atoms' instances are created.
Those two behaviors are incompatible. Personally I'd prefer current ScopeProvider implementation. Moreover, I think there is no specific use case for using Provider/create different stores.
Other notes
After several tries I find it is inevitable to change jotai's implementation. For derived atoms, we have to modify the getter/setter to implement the concept of scope.

BTW I find that it is painful to deal with readAtom/writeAtom's type signatures to patch jotai 😅, maybe passing a function instead of the map would be better.
const scope = new Map<AnyAtom, AnyAtom>()
function getAtomInstace<V>(atom: Atom<V>): Atom<V> {
  return (scope.get(atom) ?? atom) as Atom<V>;
}

I haven't read your code yet, but it sounds like the idea is similar to the original one of mine (not committed). I gave it up because it can't work with derived atoms.

Personally I'd prefer current ScopeProvider implementation.

Yeah, one key point is that our implementation should be much far simpler than bunshi. Otherwise, we should use bunshi.

to change jotai's implementation

One thing that is acceptable would be using this instead of config in atom.ts. It allows us to extend the config.

Maybe you can take a look of the implementation. I don't think it is bunshi, the key difference is bunshi makes a single instance for each ScopeProvider, but here each atom provided to ScopeProvider has an instance. I did try to wrap bunshi, but it is hard to deal with this part.

I also tried to add a property in atom, but it is not achievable because atom is something outside of the React world while scope is inside. Therefore the atom itself is not sufficient to distinguish scopes, at least we need to pass something more to readAtom/writeAtom to distinguish them.

    const scope = new Map(parentScope);
    for (const anAtom of atoms) {
      // create a new Atom instance by making a copy
      scope.set(anAtom, { ...anAtom });

Yeah, I know what you mean. I did the same before.
So, the challenge is how we could implement it very simply.
I know the capability is different from bunshi, which allows to read props.

implement it very simply.

It means we are still trying to avoid adding a new parameter to readAtom/writeAtom, right? I think I can give a more thorough proof why this is not viable on the basis of previous comment https://github.com/jotaijs/jotai-scope/issues/4#issuecomment-1763584796. I will think twice if there exists a better approach before I give a conclusion.

we are still trying to avoid adding a new parameter to readAtom/writeAtom, right?

Correct.
I'm retrying my original idea with the following change.

One thing that is acceptable would be using this instead of config in atom.ts. It allows us to extend the config.

https://codesandbox.io/s/funny-wood-4h2p9n?file=/src/App.jsx with #5.

Close the issue in favor of #5


is the repo being maintained?

Tried to install this for RN 0.30.2 but getting build errors for android. Saw that there are other pending issues also.

This fork is showing more activity: https://github.com/ZhijieWang/react-native-workers

I created my own solution to be compatible with chrome debugger.
https://github.com/fabriciovergal/react-native-workers


Suspend streams

What does this pull request do? Explain your changes. (required)
Suspend streams
Terminate running live streams
@wohlner - I've named field suspended instead of suspend - it is more in line with other fields like deleted. But I can rename it to suspend if needed.

How did you test each of these updates (required)
Manually

Does this pull request close any open issues?
Fixes #327
Screenshots (optional):
Suspend checkbox:

Confirm dialog 1

Confirm dialog 2

Admin-only button that will just stop running stream without suspending

'Suspended' column on admin's streams page

moved 'terminate' button

@wohlner it is not working because we need to merge to master to deploy server-side changes. I'm merging this so we can test on staging.

Can you please add a tooltip next to Off with this copy: "When turned on, any active stream sessions will immediately end. New sessions will be prevented from starting until turned off."

When turned on, any active stream sessions will immediately end. New sessions will be prevented from starting until turned off.

@wohlner deployed to staging


crates.io ?

Once again, you happen to have just what I need :smile:
Any chance this will find its way onto crates.io any time soon?

Ohhh, just noticed it's not yet stable.

I'm not at home yet, so not much will be done right now, but I'll tell you about the status

Regard this as a prototype
Want to find a better performing way for multidimensional iterators
Currently Arrays are Copy-on-write only, want to offer owned arrays and array views too. Possibly lightweight views (i.e. a slice kind of type).
I'll put this on crates.io on request, but it will be "unstable/experimental" even if we find a subset that compiles on the stable channel.
It helps if you tell about your requirements

Linear algebra or generic multidim container?
Sharing or owned + views?
Other

It builds on beta, so it can be stable in Rust 1.4.

:+1:

on crates.io as rendarray


Adjust to different Keyboard Layouts

What do I have to change to use a different keyboard layout, e.g. In Germany we don't use QWERTY, but QWERTZ and also have some special characters.

I haven't looked too much into it, but just to point you in the right(?) direction, by default the layout being used is "traditionalLayoutMap" you can modify it to add/remove/move keys, or use it as a template to create your own. And you'd need to add any extra characters to "letterList" and modify "keyMapDict" accordingly. I think that should be enough to get a custom layout running.

in the code you can define a keyboard if it has the same amount of registered keys (46 from ~ to ?) if you define which keys are where there you can compare against that keyboard genome


[web] App crashes on startup when browser doesn't support ShadowDOM

The latest version of Flutter Web (after https://github.com/flutter/engine/pull/25747) assumes that all the browsers where Web apps run support ShadowDOM. This may not always be the case, and exceptions like this may happen:
NoSuchMethodError: method not found: 'attachShadow' (glassPaneElement.attachShadow is not a function)

This prevents flutter apps from even starting in those environments.
We should be able to render a basic flutter app, regardless of the browser environment supporting ShadowDOM or not (HtmlElementViews TBD).
Steps to Reproduce

Run any flutter web app from master in an old-ish browser (like Edge pre-Chromium)

Expected results:
An app starting.
Actual results:
The exception above.

This should land in master shortly.


DenseNet NB axis error

The current DenseNet implementation makes the axis parameter of BatchNormalization function 1. However, this parameter should be decided by the data format, thus channel first or channel last.
I fixed this error by querying the data format first. Then pass the concatenate axis as a parameter to the function.

Fixed in #62, thanks


Introduce transformation schemas

The PR introduces schemas for transformations mentioned at https://github.com/datafaker-net/datafaker/issues/429
Also it introduce a new SQL transformer
an example of usage
Faker faker = new Faker();
      System.out.println(
        new SqlTransformer.SqlTransformerBuilder()
            .build()
            .generate(
                faker.collection(faker::name).len(5).generate(),
                Schema.of(field("name", Name::fullName), field("username", Name::username))));

which results to
insert into "MyTable" ("name", "username") values ('Joel Adams', 'darren.wiza');
insert into "MyTable" ("name", "username") values ('Cameron Runolfsdottir', 'kayla.robel');
insert into "MyTable" ("name", "username") values ('Justin Ernser', 'michel.anderson');
insert into "MyTable" ("name", "username") values ('Mauro Pouros', 'jesus.schulist');
insert into "MyTable" ("name", "username") values ('Annie Cormier Jr.', 'roseline.vonrueden');

Codecov Report

Merging #430 (339e763) into main (3d8a959) will decrease coverage by 1.79%.
The diff coverage is 63.63%.

@@             Coverage Diff              @@
##               main     #430      +/-   ##
============================================
- Coverage     93.95%   92.16%   -1.80%
- Complexity     2006     2057      +51
============================================
  Files           222      228       +6
  Lines          4021     4263     +242
  Branches        384      431      +47
============================================
+ Hits           3778     3929     +151
- Misses          146      230      +84
- Partials         97      104       +7

Impacted Files
Coverage Δ

.../net/datafaker/transformations/SqlTransformer.java
0.00% <0.00%> (ø)

...ain/java/net/datafaker/transformations/Schema.java
41.66% <41.66%> (ø)

...ava/net/datafaker/transformations/SimpleField.java
77.77% <77.77%> (ø)

.../net/datafaker/transformations/CompositeField.java
80.00% <80.00%> (ø)

...net/datafaker/transformations/JsonTransformer.java
88.04% <88.04%> (ø)

.../net/datafaker/transformations/CsvTransformer.java
92.59% <92.59%> (ø)

...ker/idnumbers/pt/br/IdNumberGeneratorPtBrUtil.java
92.59% <0.00%> (-3.71%)
:arrow_down:

.../main/java/net/datafaker/service/FakerContext.java
84.61% <0.00%> (-2.57%)
:arrow_down:

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


Enable LaTeX extension

Possibly more a question of how rather than a request for enhancement but here it goes.
I'd like to use a greater set of latex functionality (\mathcal, \mathbb, etc.) and so an analogous %load_ext latex would be great in IHaskell. Not sure how difficult an enhancement that would be, or if I simply haven't found it yet, but I figured I ought to ask here. Cheers!

Hi, do you mean that you would like to be able to use LaTeX in Markdown cells or something else? I believe we have MathJax support but I'm unsure what the status of LaTeX in IHaskell is beyond that. We do have HaTeX integration in the form of ihaskell-hatex if that helps.

I'm confused by the question. Commands like \mathcal and \mathbb are supported by MathJax right out of the box, and thus accessible in an IHaskell notebook either via Markdown cells or by using the ihaskell-hatex instance.

Closing this.


Hostnames don't contain roles

Hi,
Our environment has existing hostnames that do not contain the server class, site or index.
What solution do you recommend for overcoming this?
Thanks                 ...Laurie:{)

I would take a look at param hosts in the documentation.
Appetite does not use hostnames from the box, only DNS (If it exists) for name resolution.  You can pair IP addresses to a appetite hostname (class, index, site) you want.
The only "got ya" is the appetite host name is also passed into templating so if you have base configs and your layering hostname, these would not match the existing hostname.


(clover) Broken on Windows 7

Reporting for @mullerp. See https://gitter.im/chocolatey/chocolatey.org?at=5720f86b0f156f102b415309 for details.

https://dpaste.de/C1D5
relevant log --  install fails on windows 7 64 bit

The uninstall also fails on Windows 7 64 bit. Is there any fix for this? The uninstall prompt from the control panel is in Chinese, and doesn't appear to do anything.

I currently do not have Win7 x64 to test it, but install works inside Windows Server 2012 R2:
11 [ clear ]  16-11-01 21.35.14  C:\work\_chocolatey\chocolatey-coreteampackages\automatic\Clover
master~> Test-Package -Install

Package info
  Path:         C:\work\_chocolatey\chocolatey-coreteampackages\automatic\Clover\Clover.3.2.0.nupkg
  Name:         Clover
  Version:      3.2.0
  Vagrant:      c:\work\_chocolatey\chocolatey-test-environment

Testing package using vagrant
Removing existing vagrant packages
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ferventcoder/win2012r2-x64-nocm' is up to date...
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
==> default: Running provisioner: shell...
    default: Running: shell/TestPackages.ps1 as c:\tmp\vagrant-shell.ps1
==> default: ============================================================
==> default: TESTING FOLLOWING PACKAGES: Clover:3.2.0
==> default: ============================================================
==> default:
==> default: ------------------------------------------------------------
==> default: PACKAGE: Clover:3.2.0
==> default:
==> default: OPTIONS: c:\packages\Clover.3.2.0.xml
==> default:
==> default: Name                           Value
==> default: ----                           -----
==> default: Install                        True
==> default: Uninstall                      False
==> default: Parameters
==> default: ------------------------------------------------------------
==> default:
==> default: TESTING INSTALL FOR Clover:3.2.0
==> default: CMD: choco install -fy Clover --allow-downgrade --version 3.2.0 --source "'c:\packages;http://chocolatey.org/api/v2/'"
==> default: Chocolatey v0.10.3
==> default: Installing the following packages:
==> default:
==> default: Clover
==> default: By installing you accept licenses for the packages.
==> default: Clover v3.2.0 (forced)
==> default: clover package files install completed. Performing other installation steps.
==> default: File appears to be downloaded already. Verifying with package checksum to determine if it needs to be redownloaded.
==> default: Hashes match.
==> default: Hashes match.
==> default: Installing clover...
==> default: clover has been installed.
==> default: Clover installed to 'C:\Program Files (x86)\Clover\3.2'
==> default: Clover registered as Clover
==> default:  The install of clover was successful.
==> default:
==> default:   Software installed as 'EXE', install location is likely default.
==> default:
==> default: Chocolatey installed 1/1 packages. 0 packages failed.
==> default:  See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
==> default: Exit code for Clover:3.2.0 was 0

Uninstall definitelly does nothing and that should be reported to vendor.

I do think however that it is enough to
execute unreg.bat from clover install dir
delete files

@mullermp I know I'm a little late to the party, but I believe I found a bug in the dependency of the clover package (can't really verify since your link to the log has expired).
Could you please try updating the chocolatey-core.extension package and try installing the clover package again?

Closing this as I believe this have been fixed.
Feel free to reopen if the issue still present.

Not working on my machine
(Remote file doesn't exist)

@adamdev96 see
https://github.com/chocolatey/chocolatey-coreteampackages/issues/1006
https://chocolatey.org/packages/clover#comment-3351575070
I've honestly stopped monitoring newer versions of that software, as it seems it will never even try getting rid of the included viruses/malwares detected on virustotal.org

I was monitoring a tool several versions. Maybe the viruses are false positive, there are few other tools that I know are virus free and still have lots of positives.
Unless someone can provide a proof that specific version is virus free, we won't do anything here. I personally don't care as I don't use Explorer. But there are limits to how long we keep non-working packages and the package is bound to be totally removed from this repo soon.


The step decorations jump between code flows in some cases

This seems to happen when the currently selected thread-flow object and another unrelated result with a code flow point to the same line in a file. The decoration messages unexpectedly switch to the other result when you click the thread-flow location, as you can see in the attached video.
The culprit here appears to be the code actions provider. It is triggered when I jump to line 667 and resets the decorations.
I'm attaching a sample, so you can reproduce the issue: sample.tar.gz.
https://user-images.githubusercontent.com/5321759/173840265-b8518c70-dad1-4b73-bae1-2cd53485c9a4.mp4

Thanks for taking the time to descriptively capture this issue.
The root issue is when multiple Results overlap the same range of text we do not support selecting a specific Result within that set. Likewise, if you have already selected a Result, and then move the selection/caret, and there are multiple overlapping Results in that range, the selection may jump into a different Result.
Furthermore, we only search for Result primary locations. To address the issue here, we would also need to make ThreadFlow locations searchable in a performant way. Generally, given a text location, we would need to search all locations (Result, ThreadFlow, Stacks, etc.) within the Log. This is non-trivial work, and thus why it has not been implemented so far.


Can't disable resultset fetch size

System information:

Windows 10 64bits 2004
7.2.3
DevStyle Darkest Dark Theme 1.11.0 & DBeaver Office Support 1.1.80

Connection specification:

DB2 for i (V7R1M0)
jt400 10.4

Describe the problem you're observing:
I want to disable result fetch size but I can't set it below 100.
Steps to reproduce, if exist:
Go to Preferences > Database Editors > Results
Edit resultset fetch size to 0
When we click on Apply it resets itself to 100

It was implemented in 7.2.3 as a part of fix https://github.com/dbeaver/dbeaver/issues/10010.
Now you can set fetch size 100 and more.

Prior to version 7.2.3 it was possible to set fetch size to -1, which meant "infinity". It's not possible anymore and it's very annoying.

Yep, that makes sense.

Fixed

Changing the value of fetch size in Preferences has no effect.
Works ok if the value is changed in toolbar

Fixed


PR to OpenPGP.js

Tankred from OpenPGP.js here,
Great reference and thanks for sharing. I'd love to add some of your examples to the main openpgp.js README. Would you consider a PR?

Hi Tankred,
It would be an honor, thank you for asking.
I'll be adding more to my git soon and you may have whatever you like.
Could you please just verify the accuracy of the code, because
something always slips by me.
Sincerely,
Michael Vaughn
<EMAIL_ADDRESS>903.740.2549
FastData2Go.com
On 2/24/2015 8:06 AM, Tankred Hase wrote:

Tankred from OpenPGP.js here,
Great reference and thanks for sharing. I'd love to add some of your
examples to the main openpgp.js README. Would you consider a PR?
—
Reply to this email directly or view it on GitHub
https://github.com/fastdata2go/openpgp.js-examples/issues/1.

PS... not sure what a PR is but its ok with me

A PR is a pull request :) Just fork the openpgp.js git repo, update the README with some examples and send a pull request to the main repo.

ahhh, total noob here. I'll see if I can get it done without crashing
the internet :p
On 2/25/2015 3:29 PM, Tankred Hase wrote:

A PR is a pull request :) Just fork the openpgp.js git repo, update
the README with some examples and send a pull request to the main repo.
—
Reply to this email directly or view it on GitHub
https://github.com/fastdata2go/openpgp.js-examples/issues/1#issuecomment-76064267.


Add support for Account API keys in Rancher-compose

Currently rancher-compose only supports environment API keys. With the introduction of account API keys, we need to add support for these type of API keys.

This is supported in the  new Rancher CLI.


N-25 enhance columns/column

TODO
Need to find a way to make the image fill the column-height and make this feature available as prop of the column
Context
I made additions to colums + column (see my last commit 326ea703b04509f6dd5cbc834aa4f246701e94d9)
Examples
I target these "media-list-items":  https://dasei.eu/ausbildung-theaterpaedagogik/grundlagenbildung
Inspect current implementation via pnpm dev:home > ausbildung-theaterpaedagogik/grundlagenbildung

Button usage
A short notice regarding the use of the button-tmp component in Markdown documents. I changed:
https://github.com/theaterpedia/crearis-nuxt/blob/069e20c0323bd05792adc6adb340b0967212f2d2/apps/home/content/ausbildung-theaterpaedagogik/grundlagen.md?plain=1#L21-L23
to this:
https://github.com/theaterpedia/crearis-nuxt/blob/09c4321acaa0e654c9caa8c530e2704605b8120f/apps/home/content/ausbildung-theaterpaedagogik/grundlagen.md?plain=1#L21-L23
In the first example, an <a> element was nested inside a <button>. Now, the default tag for button-tmp has been changed to NuxtLink, so you only need to forward the to prop to make it work. The original Button component from the ui remains unchanged and still defaults to the button HTML tag.
Additionally, I removed the paragraphs Nuxt Content creates on line breaks within the button.

Great work!
I had just realized on my own that my updates with the padding/gap on colums/column from today morning don't make sense at all, are not needed. I poorly understood your implementation.
So yes let's revert it.


Add some unit tests

It's about time this project had some automated tests.  Things to consider are:

Python 2 / 3
Basic functional paths for low level API
More detailed tests of higher level API - e.g. widget logic
Support for keyboard input injection (for better testing)

Probably should use https://travis-ci.org for the tests.

Started experimenting...  looks like coveralls output would be good too.  Now just need to get a LOT more coverage.

Also would be helpful if I could inject input into the test system.  Looks like this is possible on curses and win32.  Not sure if it's worth the reverse translation effort, though.  Maybe I should just use an internal buffer (and flag the buffer for testing only, rather than genuine OS event injection)?

Would be nice to get Windows and Linux coverage...  Looks like I might have to use https://github.com/Robpol86/appveyor-artifacts to get it all into coveralls.

Travis and appveyor integration now done.  Code coverage getting there for non visual interfaces.  Need to think about all the genuinely visual tests and where to draw the line for UT.

OK - all major issues resolved.  Some tests are less than perfect as it is crazily expensive to test randomized visual content and the low-level interactions with the OS terminal/console.  Nonetheless most lines are now basically covered, so crass regressions should be caught (and genuine failures of purely visual content will be easily spotted by eye).  Now closing.


CDITCK-618: Need to expose @Remove-annotated method to EJB interface

Thanks. The PR for 2.0 is done.


Provide command line tool for generating a .NET SDK from a Cadl file

To validate DPG 2.0 features, we will need a way to use the new Cadl emitter and autorest.csharp functionality to create an output SDK.
@lirenhe has provided this README, however, I am currently getting the following error:

We will also need to resolve how to manage version dependencies.  As I was following the README steps, it became clear that different library versions were needed for different things, here is my command history, for trying to generate an SDK for the simplest Cadl test case:
  27        7.638 npm install<EMAIL_ADDRESS>  28        2.278 npm install<EMAIL_ADDRESS>  29        2.321 npm install c:\src\autorest.csharp/src/CADL.Extension/Emitter.Csharp/azure-tools-cadl-csharp-0.1.0.t…
  31        0.909 cadl compile --emit @azure-tools/cadl-csharp .\main.cadl
  34        2.441 npm install<EMAIL_ADDRESS>  35        2.187 npm install @azure-tools/cadl-azure-core
  36        2.143 npm install @cadl-lang/rest@latest
  37        0.949 cadl compile --emit @azure-tools/cadl-csharp .\main.cadl
  38        1.942 npm install @azure-tools/cadl-azure-core
  39        1.034 cadl compile --emit @azure-tools/cadl-csharp .\main.cadl
  40        2.134 npm install @cadl-lang/versioning
  41        1.876 npm install @azure-tools/cadl-azure-core
  42        0.980 cadl compile --emit @azure-tools/cadl-csharp .\main.cadl
  43        2.955 npm install @azure-tools/cadl-ranch-expect
  44        1.175 cadl compile --emit @azure-tools/cadl-csharp .\main.cadl

@iscai-msft, @lmazuel - I know you have been thinking about version dependency issues for Python, any guidance you have for addressing version dependencies will be very helpful!

yeah right now it's kind of difficult, I know @timotheeguerin has been looking into this on the cadl side right now to improve. Python has been using pnpm and has been generating from cadl-ranch as a sub-workspace (see here for more details).
The first error you showed looks like you might not have built it (iirc), so you might have to run pnpm run build / npm run build etc (depending on what you're using to manage your packages)

@pshao25 , assign this item to you and please help to check the comments above.


Kong Ingress controller 2.8 doesn't recognize named backend service port

Bug description
We recently upgraded to Kong Helm chart version 2.14.0
The charts uses kubernetes-ingress-controller:2.8
We see the following error in KIC.

time="2022-12-21T17:17:56Z" level=error msg="resource processing failed: can't find port for backend kubernetes service: no suitable port found" GVK="/v1, Kind=Service" name=tex-caddy namespace=development
time="2022-12-21T17:17:56Z" level=error msg="resource processing failed: can't find port for backend kubernetes service: no suitable port found" GVK="networking.k8s.io/v1, Kind=Ingress" name=tex-caddy namespace=development
time="2022-12-21T17:17:56Z" level=info msg="no targets found to create upstream" service_name=development.tex-caddy.tex-caddy.0

Expected behavior
We solved the error by changing our ingress config to service.port.number
https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules.
apiVersion: networking.k8s.io/v1
kind: Ingress
spec:
  ingressClassName: kong
  rules:
  - host: my-host.com
    http:
      paths:
      - backend:
          service:
            name: tex-caddy
            port:
              #name: http
              number: 80 # Using `service.port.number` instead of `service.port.name` solves the error.
        path: /
        pathType: ImplementationSpecific

FYI : @dhpalan

Hey @czeslavo The service does have a port named http. See the yaml.
Please note that KIC 2.7 works fine with the ingress with service.port.name.
Once we updated to KIC 2.8, we see the error and we were able to make it work by using service.port.number
Let me know if you would like to get some details from our K8s and i can help you with it.
kubectl get svc tex-caddy -o yaml
apiVersion: v1
kind: Service
spec:
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: http
  selector:
    ...
  sessionAffinity: None
  type: ClusterIP

Ah, yeah, it reproduces indeed - first I was trying to reproduce it in unit tests which didn't get into this code path. @pmalek has discovered that this issue is related to the CombinedRoutes feature gate that has been enabled by default in 2.8.0 release. It seems to have a bug that makes all name-referred ports not work the way you described. It was also reported in KIC issues: https://github.com/Kong/kubernetes-ingress-controller/issues/3296.
We're going to work on a fix for this. In the meantime, other options (from switching to using port number instead of its name) that you have are:

Disable the feature gate for CombinedRoutes. It can be done by adding following to your values.yaml:ingressController:
  env:
    CONTROLLER_FEATURE_GATES: "CombinedRoutes=false"

Rollback to KIC 2.7.ingressController:
  image:
    tag: "2.7"

thankyou


id: dependency question in ALWeaver

Identity, location, and brand screen
Just checking - Do you really want to give people the option to select, for one interview

both  Jurisdictions: Massachusetts and Any State Placeholder , and

all 3 branding packages:  MassAccess, ILAO, and Louisiana?

With that particular list of options, it doesn't make a lot of sense, but yes, it's meant to be a "select all that apply" question. This is one of the way that organizations are able to customize the Weaver--new options can be dynamically added by installing additional packages on the server.


I got  Error detected while processing /root/.vimrc: when I use VI instead of VIM

Hi,
I get this error while I use vi instead of vim?
Did i miss someting?
vim work well with all my pluging.
# vi
Error detected while processing /root/.vimrc:
line   15:
E492: Not an editor command: Plugin 'gmarik/Vundle.vim'
line   18:
E492: Not an editor command: Plugin 'elzr/vim-json'
line   21:
E492: Not an editor command: Plugin 'godlygeek/tabular'
line   22:
E492: Not an editor command: Plugin 'plasticboy/vim-markdown'
line   25:
E492: Not an editor command: Plugin 'rodjek/vim-puppet'
line   27:
E492: Not an editor command: Plugin 'scrooloose/Syntastic'
Press ENTER or type command to continue

.vimrc
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

"Plugin to highlight json syntax
Plugin 'elzr/vim-json'

"Markdown plugin
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'

" Puppet syntax
Plugin 'rodjek/vim-puppet'
" Puppet Syntax valiator
Plugin 'scrooloose/Syntastic'

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

" Disable Markdown Folding:
let g:vim_markdown_folding_disabled=1
"Disable Concealing
let g:vim_json_syntax_conceal = 0

I found the solution
https://github.com/VundleVim/Vundle.vim/issues/498
thanks

what is the solution

I had a similar issue on CentOs.  The solution for me was to install the vim-enhanced package instead. If you don't have root on your system you can instead install vim from source for just yourself in your home directory or some other directory that you can write to.

When Vim see's that the executable is called "vi" it doesn't support a number of enhanced features including plugins.


Feature: basic and worker template types

Checklist

[x] Affected Issues have been mentioned in the Closing issues section
[x] Documentation has been written/updated
[ ] PR title is ready for inclusion in changelog

Previously we have recommended people use the node or cli templates when building and deploying more generic or basic applications. Instead of suggesting these, adding two new types:

basic and basic-persistent - almost identical to node but allows for the service port to be changed using lagoon.service.port label on the docker-compose service. This is good for other languages like ruby, or go.
worker and worker-persistent - almost identical to cli but does not mount the project ssh key. This type is good for when you just need to process data without exposing a service or ingress.

Closing issues
closes #2525

How will aergia handle these new types? - https://github.com/amazeeio/aergia-controller/blob/main/resources/selectors.yaml
Presumably, we don't want worker pods idling? There's no way we can set a label on a deployment to stop it idling at a namespace level though?

How will aergia handle these new types? - https://github.com/amazeeio/aergia-controller/blob/main/resources/selectors.yaml
Presumably, we don't want worker pods idling? There's no way we can set a label on a deployment to stop it idling at a namespace level though?

Aergia will just idle them like any other pod, the selectors work on these labels which mostly exclude them from idling: https://github.com/amazeeio/aergia-controller/blob/main/resources/selectors.yaml#L1-L21
Why would you want to keep a worker pod around and idle the others though? If the worker needs to work on something another pod has, it would probably crash (if built right). I see no problems with idling these like other pods. If a worker pod does need to not be idled, then there is the option to just exclude the environment from idling entirely too.

I think as long as these pods idle the same way as (non-cli) services, that's perfect - and reading the selectors confirms that!


Add WebSocket.create analog with an option to set a protocol and a binaryType

https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket
Kind of a todo issue.
Example in js:
var socket = new WebSocket("ws://<IP_ADDRESS>", "binary");
socket.binaryType = "arraybuffer";

Without specifying the protocol depending on the server config we could have an error during WebSocket handshake: "Response must not include 'Sec-WebSocket-Protocol' header if not present in request: binary"
WIthout binaryType we'll send a string, I believe.
Also if binaryType is set message.data is not a string but rather an ArrayBuffer. Maybe also need a type param here.

Thank you for the bug report, we should definitely add support for this. :ok_hand:
I'm quite busy these days, so I won't implement it right now, however If you want, feel free to put together a PR. :slightly_smiling_face:


Something wrong in package manager

Hi,
I've just noticed that the library manager doesn't fetch lvgl correctly.
https://platformio.org/lib/show/6598/lvgl
Do you know why can it happen?

https://travis-ci.org/github/lvgl/lv_platformio/builds/706000370
Just re-executed build tests (you can do it too anytime). All pass.
What's exactly wrong & how to reproduce?

Versions look strange

All the downloads come from the last week.

So it seems something is messed up.

It seems that it's not working with the automated release script (7.0.2 has some strange prefix on it).

I've noticed that v prefix was added back to the version string.
I've removed it and updated the release script.

So, as far as i understand, question is not about package manager (local tool), but about registry & it's crawler.
Then i'd suggest ask at their forum. Also note, they planned to upgrade regisry and could break something https://community.platformio.org/t/embedded-template-library-v15-x-dissappeared-from-registry/14096/5?u=vit.

So, as far as i understand, question is not about package manager (local tool), but about registry & it's crawler.

Ah, I see.

Then i'd suggest ask at their forum. Also note, they planned to upgrade regisry and could break something

Let's give it a day, maybe the removed v prefix changes something.

I see 7.1.0 in registry

Yep, all look good after removing the v prefix.
Good to see that there are so many downloads from PIO too :)
As the issue is solved I close it now. Thanks!