dart::GCCompactor makes search on pub.dev slow (3.0.0 regression)

We recently observed that if we do a loop that makes a search request to pub.dev every 100ms, the requests are fast (~60ms for a simple query).
But if we do the request every 1s instead, the requests are slow (> 1s).
The issue appears to have started after we upgraded from 2.19.6 to 3.0.0.
And debugging it locally, we also find that 2.19.6 doesn't suffer from this behavior.
Credits @mkustermann for tracing this to dart::GCCompactor::VisitPointers
Context: Our search process has a sizable amount of data in-memory and lots of Dart objects / Map / List / Set / String / etc.. So it's not surprising that compacting the heap could be slow. And each search does allocate a bunch of objects that is released when the search request is done.

See dump from perf report --no-children
+   27.30%  DartWorker       dart              [.] non-virtual thunk to dart::GCCompactor::VisitPointers(dart::ObjectPtr*, dart::ObjectPtr*)
+   18.31%  DartWorker       dart              [.] 0x0000000002405f07
+    8.87%  DartWorker       dart              [.] dart::CompactorTask::SlideBlock
+    7.61%  DartWorker       dart              [.] 0x0000000002405f82
+    6.05%  DartWorker       dart              [.] dart::CompactorTask::PlanBlock
+    5.95%  DartWorker       dart              [.] 0x0000000002404172
+    4.29%  DartWorker       dart              [.] dart::UntaggedObject::VisitPointersPredefined
+    3.24%  DartWorker       dart              [.] 0x0000000002405ef9
+    1.91%  DartWorker       dart              [.] 0x0000000002234494
+    1.38%  DartWorker       libc.so.6         [.] pthread_mutex_lock@@GLIBC_2.2.5
+    1.31%  DartWorker       dart              [.] 0x0000000002405efc
+    1.29%  DartWorker       libc.so.6         [.] __GI___pthread_mutex_unlock_usercnt
+    1.04%  DartWorker       dart              [.] 0x0000000002405f0c
     0.41%  DartWorker       dart              [.] 0x0000000002405f05
     0.40%  DartWorker       dart              [.] 0x0000000002405ef4
     0.34%  DartWorker       libc.so.6         [.] _int_free
     0.33%  DartWorker       dart              [.] 0x0000000002404153
     0.31%  DartWorker       dart              [.] 0x000000000240413f
     0.29%  DartWorker       [JIT] tid 856820  [.] *dart.collection___Set&_HashVMBase&SetMixin&_HashBase&_OperatorEqualsAndHashCode&_LinkedHashSetMixin@3220832__getKeyO
     0.28%  DartWorker       [JIT] tid 856820  [.] *PackageNameIndex_searchWord

Recorded request latency
Using Dart 2.19.6
$ for i in {1..30}; do sleep 1; curl -w '%{time_total}\n' -Ls http://localhost:8082/search?q=retry -o /dev/null; done
0.081092
0.082060
0.064795
0.079013
0.076508
0.087800
0.665303 # <-- looks like it happens here too, just less frequently
0.078545
0.072124
0.088390
0.073081
0.086967
0.088025
0.082290
0.077925
0.076373
0.093406
0.073708
0.087810
0.074978
0.076830
0.077917
0.076213
0.087249
0.076254
0.083859
0.077098
0.084421
0.070183
0.082409

Using Dart 3.0.0
# With sleep 1s
$ for i in {1..30}; do sleep 1; curl -w '%{time_total}\n' -Ls http://localhost:8082/search?q=retry -o /dev/null; done
0.108693
1.156937
1.123688
1.130786
1.258260
1.195012
1.178660
1.098746
1.093142
1.131269
1.110011
1.154830
1.149059
1.059845
1.131827
1.143921
1.139439
1.125857
1.147304
1.104930
1.113691
1.140321
1.194772
1.129498
1.108069
1.096956
1.182429
1.179889
1.112675
1.109692

# With sleep 0.1s
$ for i in {1..30}; do sleep 0.1; curl -w '%{time_total}\n' -Ls http://localhost:8082/search?q=retry -o /dev/null; done
0.067815
0.049691
0.069296
0.071330
0.068390
0.089099
0.065786
0.072415
0.063212
0.065470
0.065002
0.065758
0.069631
0.065540
0.056589
0.078862
0.066153
0.064349
0.067683
0.062685
0.065035
0.062776
0.066715
0.063428
0.067500
0.062801
0.065540
0.068821
0.068419
0.065610

Maybe the heuristics we use for determining when to run compactor are not ideal (idle time estimation, expected time it takes to compact heap, expected fragmentation of heap, ...).
This can cause pretty big issues for server apps that get low traffic (i.e. mostly idle) - as the compactor may take 1 second so any request that does come gets delayed by that much.
As a siden-note, we may want to allow customers to disable compaction entirely (e.g. --compactor-tasks=0 -- as --use-compactor seems to be off by default and mean something different)

@rmacnak-google could you take a look?

Requests every 1s is just the right frequency to get the worst behavior from the standalone VM's idle policy because this is the default value of --idle_duration_micros. If requests are more frequent, the VM won't think it's idle; less frequent and the idle GC will (at least partially) finish before the next request.
Short term, in increasing order of severity

Idle compaction can indirectly be disabled while leaving idle scavenges on by setting --idle_duration_micros to a value that's only enough time for scavenges. Something like 30ms, though one could look at either the timeline or --verbose_gc to find something specific to this program.
The idle mechanism can be throttled by setting --idle_timeout_micros to a much larger value like 1 minute.
The idle mechanism can be completely disabled by setting --idle_timeout_micros=0.

Long term, the compactor will be made incremental.
@jonasfj Could you provide either a timeline  from the slow run or instructions on how to reproduce it locally?

To start do:
wget https://github.com/jonasfj/pub-dev/archive/refs/heads/reproduce-52513.zip
unzip reproduce-52513.zip
cd pub-dev-reproduce-52513/
cd app/
dart pub get
DEBUG=* dart bin/fake_server.dart run --read-only

Wait for it to print: LOADED DATA
Compare results from requests with an without 1s sleep:
# Sleeping 1s between requests is causing them to be slow
for i in {1..30}; do sleep 1; curl -w '%{time_total}\n' -Ls http://localhost:8082/search?q=ante -o /dev/null; done
0.907602
1.801583
1.825277
...

# Sleeping 0s between requests makes them less slow
for i in {1..30}; do sleep 0; curl -w '%{time_total}\n' -Ls http://localhost:8082/search?q=ante -o /dev/null; done
1.105817
0.925765
0.875859
0.881853
...

Fair warning I hacked the code a lot to somewhat reproduce this without using data from production :D
The difference between sleep 1s and not, is not as big as we see it in production where we have 300ms vs 3-4s. But it's still very clear that sleeping 1s is a problem.

@rmacnak-google Can this issue be closed as fixed?

@a-siva: was there any change that we need to be aware of? We are still running pub.dev with a timer that prevents the compactor.

@a-siva No, disabling idle compaction with --idle_timeout_micros=0 is a work-around. The proper fix is incremental compaction.

@a-siva No, disabling idle compaction with --idle_timeout_micros=0 is a work-around. The proper fix is incremental compaction.

Can we create an issue for implementation of incremental compaction and close this as a duplicate of that issue.


No entry for Object.prototype.toString in lib/core.js

In fact, there is no mention of toString anywhere in lib/core.js. Is there any reason why it's omitted? If so, it would be good to document it in there.
I don't believe this is related to https://github.com/facebook/flow/issues/244.

@bolinfest What specific issue are you having using toString? It might not be in lib/core.js, but can you provide an example where flow doesn't type check actual JS as you expect?

Closed by https://github.com/facebook/flow/commit/945caad4ec203cafd096f08a7d5d40ad0d36b8c0


Add method to Node to return the current transaction

This facilitates passing a transaction between nodes to bundle changes
into a single transaction.
Fixes #146

Closing per discussion in #146


impl #1203

Description
Add Archon Quest in Daily Note
Related Issue
close #1203

Checklist

[X] The target PR branch is develop branch

TODO

Icon
Archon Quest ID (maybe metadata)

UI_MarkQuest_Main_Start.png


--light sync panics with thread 'tokio-runtime-worker' has overflowed its stack

On a recent kusama, I'm running:
kusama git:(master) ./target/release/polkadot --light

At some point, the sync panics with
thread 'tokio-runtime-worker' has overflowed its stack
fatal runtime error: stack overflow
[1]    23325 abort      ./target/release/polkadot --light

Gist: https://gist.github.com/amaurymartiny/b5b85f88b3bf2e590409ac371acba288
The "at some point" depends, I tried running twice:

first time, it panics at 1370562 (see gist)
second time, 1375509

I'm not sure if it's related to https://github.com/paritytech/substrate/issues/4527, if yes, we can close this issue and continue there.
Specs:

macos 10.15.4
kusama 0.7.33-e64635a3-x86_64-macos

Can you try to run with gdb (or similiar) to get a proper stack trace? I tried it on my PC and could not yet reproduce it.

macos has default stack size of 512k for non-main threads. So this should be reproducible on linux with something like ulimit -s 500

Yep, getting it ;)

(it is related to decoding the ForkTree which is a recursive data structure)

I'm getting this, on a full node when trying to sync for https://github.com/paritytech/substrate/pull/7225. The command I'm running is simply target/release/substrate --execution native --wasm-execution compiled.

So if the recursive nature of the ForkTree is the problem here, what's the solution? To rewrite it so that it's a flat array?

Maybe there is a bug and we should already have pruned some of the state. Not sure. @andresilva probably knows more.

We will prune BABE's epoch tree as we finalize new blocks, in this case we are not catching up to the latest finalized block and as we sync BABE blocks the epoch tree gets deeper and deeper. Since all of the operations on the fork tree are currently implemented using recursion we eventually reach the limits of the call stack. The solution is to rewrite the operations on the fork tree to not use recursion and instead use some auxiliary data structure as stack (my brain understands recursion better so that's why I wrote it like that the first time around).

It should also be possible to write Node::decode using a loop without recursion.

It should also be possible to write Node::decode using a loop without recursion.

I just tried this and it had no effect, so this doesn't seem to be a problem with decoding. Here's the gdb backtrace:
Thread 68 "tokio-runtime-w" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffa30d4640 (LWP 28733)]
0x0000555557056a6c in <sc_client_db::BlockchainDb<Block> as sp_blockchain::header_metadata::HeaderMetadata<Block>>::header_metadata ()
(gdb) backtrace
#0  0x0000555557056a6c in <sc_client_db::BlockchainDb<Block> as sp_blockchain::header_metadata::HeaderMetadata<Block>>::header_metadata ()
#1  0x0000555556c996c2 in sp_blockchain::header_metadata::lowest_common_ancestor ()
#2  0x0000555556979bc1 in sc_client_api::utils::is_descendent_of::{{closure}} ()
#3  0x0000555556b47431 in fork_tree::node_implementation::Node<H,N,V>::import ()
#4  0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#5  0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#6  0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#7  0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#8  0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#9  0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#10 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#11 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#12 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#13 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#14 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#15 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#16 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#17 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#18 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#19 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#20 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#21 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#22 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#23 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#24 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#25 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#26 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#27 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#28 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#29 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#30 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#31 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#32 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#33 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#34 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()
#35 0x0000555556b4730c in fork_tree::node_implementation::Node<H,N,V>::import ()

@expenses you have rewritten the decode as iterative function? Perfect! Decode and import suffer from the same problem, so we need a solution for both of them ;)

Unfortunately, import is a lot harder to iterative-ize :thinking:

If we're going to re-write the fork tree, I think it makes sense to use a library for the tree structure. I'm not really sure which ones are commonly used, but indextree seemed decent.

I have written an iterative version of import: https://github.com/paritytech/substrate/compare/82867294110481d421f77bddb04aef10c0674e09
The node still panics though due to find_node_index_where being recursive.

Thanks! Yeah I think we can keep the forktree since it's small enough and specialized for our two use cases (BABE and GRANDPA), although I appreciate that you looked into alternatives. A PR for removing recursion out of it (the work that you already started here) would be greatly appreciated :)

I've seen this a few times on Moonbeam, and today I ran into it in such a way that I can reproduce it by running a node against the original data dir, running against our alphanet. If anyone wants a copy of this data, let me know.
I'm not running with --light, so let me know if there is a more relevant open issue I should redirect this to.
My stack looks something like this:
#0  0x0000555556fd1f95 in <sc_client_db::BlockchainDb<Block> as sp_blockchain::header_metadata::HeaderMetadata<Block>>::header_metadata ()
#1  0x000055555697b965 in sp_blockchain::header_metadata::lowest_common_ancestor ()
#2  0x000055555653ca63 in fork_tree::node_implementation::Node<H,N,V>::import ()

<repeated 1500 times>

#1541 0x000055555653c748 in fork_tree::node_implementation::Node<H,N,V>::import ()
#1542 0x0000555557228145 in sc_finality_grandpa::authorities::AuthoritySet<H,N>::add_pending_change ()
#1543 0x00005555570a72f6 in <sc_consensus_babe::BabeBlockImport<Block,Client,Inner> as sp_consensus::block_import::BlockImport<Block>>::import_block ()
#1544 0x000055555723c9ff in _$LT$alloc..boxed..Box$LT$dyn$u20$sp_consensus..block_import..BlockImport$LT$B$GT$$u2b$Transaction$u20$$u3d$$u20$Transaction$u2b$Error$u20$$u3d$$u20$sp_consensus..error..Error$u2b$core..marker..Sync$u2b$core..marker..Send$GT$$u20$as$u20$sp_consensus..block_import..BlockImport$LT$B$GT$$GT$::import_block::hf7ca69bcaae0e7c3 ()
#1545 0x000055555697637f in sp_consensus::import_queue::import_single_block_metered ()
#1546 0x0000555556e16331 in <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll ()
#1547 0x0000555556eaa1b7 in <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll ()
#1548 0x0000555557e53ee1 in <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll ()
#1549 0x0000555557e67ecb in <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll ()
#1550 0x0000555557e565a6 in <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll ()
#1551 0x0000555557e66376 in <tracing_futures::Instrumented<T> as core::future::future::Future>::poll ()
#1552 0x0000555555bfd14c in futures_executor::local_pool::block_on ()
#1553 0x00005555561c2629 in tokio::runtime::task::core::Core<T,S>::poll ()
#1554 0x0000555555bb6f13 in <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once ()
#1555 0x0000555555fd35ad in tokio::runtime::task::harness::Harness<T,S>::poll ()
#1556 0x0000555558733741 in tokio::runtime::blocking::pool::Inner::run ()
#1557 0x0000555558741730 in tokio::runtime::context::enter ()
#1558 0x0000555558746fd6 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#1559 0x000055555874069b in core::ops::function::FnOnce::call_once{{vtable-shim}} ()
#1560 0x0000555558fde96a in <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once () at /rustc/8876ffc9235dade728e1fbc4be4c85415fdd0bcd/library/alloc/src/boxed.rs:1042
#1561 <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once () at /rustc/8876ffc9235dade728e1fbc4be4c85415fdd0bcd/library/alloc/src/boxed.rs:1042
#1562 std::sys::unix::thread::Thread::new::thread_start () at library/std/src/sys/unix/thread.rs:87
#1563 0x00007ffff7a32590 in start_thread (arg=0x7ffff452d640) at pthread_create.c:463
#1564 0x00007ffff7cc0223 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

@notlesh I assume that your chain is not finalizing blocks, that is the root cause of the issue you're seeing.

@notlesh I assume that your chain is not finalizing blocks, that is the root cause of the issue you're seeing.

This is running on Moonbeam's alphanet, which is using its own relay chain and running grandpa for finality.
By the way, I saw the same thing again over the weekend (where I needed to purge my chaindata and resync).

So a little more info about when we hit this in the moonbeam context. Moonbeam is a parachain that is built with cumulus. As such, it runs a polkadot full service to follow relay chain state.
It is that polkadot service within the moonbeam process that is panicing in @notlesh 's trace above (correct me if I'm wrong, but that's where grandpa is running)

Can you confirm that it is following finality from the relay chain? Please just post some of the node output here before the crash, I assume it isn't finalizing and hence why the BABE epoch tree is so deep (we only clean it up on finality).

Can you confirm that it is following finality from the relay chain? Please just post some of the node output here before the crash, I assume it isn't finalizing and hence why the GRANDPA pending changes tree is so deep (we only clean it up on finality).

 On top of that your epochs seem to be 1 minute long which just makes the problem worse.
We should focus on why the node is not finalizing.
We can make this case better by not using recursion in the fork-tree code (so that we don't overflow the stack if the tree is too deep) but that's just treating the symptoms and not the root cause.


docs: readme and typescript types

This PR was included in release version 1.0.0-beta.4 :tada:

This PR was included in release version 1.0.0 :tada:


Improve branding of application

The name "World Wind Explorer" can be misconstrued as an app for exploring the world's winds.   It's not readily apparent in this context that "World Wind" is a NASA organization. The application/project should be rebranded such that the organization and name are distinguishable.  Ideas:

WorldWind Explorer : concatenate "World Wind"
NASA WorldWind Explorer : add NASA to concatenated WorldWind
NASA WorldWind Explorer : leverage typography / colors / logos

Note: this effort does not imply that the "NASA World Wind" SDK's need rebranding.

How about just calling it Earth Explorer?
-Patrick
From: Bruce Schubert<EMAIL_ADDRESS>Sent: Thursday, February 16, 2017 5:37 AM
To: NASAWorldWindResearch/WorldWindExplorer
Cc: Subscribed
Subject: [NASAWorldWindResearch/WorldWindExplorer] Improve branding of application (#30)
The name "World Wind Explorer" can be misconstrued as an app for exploring the world's winds. It's not readily apparent in this context that "World Wind" is a NASA organization. The application/project should be rebranded such that the organization and name are distinguishable. Ideas:

WorldWind Explorer : concatenate "World Wind"
NASA WorldWind Explorer : add NASA to concatenated WorldWind
NASA WorldWind Explorer : leverage typography / colors / logos

Note: this effort does not imply that the "NASA World Wind" SDK's need rebranding.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/NASAWorldWindResearch/WorldWindExplorer/issues/30, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQgd08K93f08T-D9uyPEgLcnBbAWP7Fxks5rdFETgaJpZM4MDBJ-.

NASA Earth Explorer (so as to distinguish between the USGS Earth Explorer) looks to be applicable and not in use.

I like it.
From: Bruce Schubert<EMAIL_ADDRESS>Sent: Thursday, February 16, 2017 6:40 AM
To: NASAWorldWindResearch/WorldWindExplorer
Cc: Hogan, Patrick (ARC-PX); Comment
Subject: Re: [NASAWorldWindResearch/WorldWindExplorer] Improve branding of application (#30)
NASA Earth Explorer (so as to distinguish between the USGS Earth Explorer) looks to be applicable and not in use.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/NASAWorldWindResearch/WorldWindExplorer/issues/30#issuecomment-280347513, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQgd08Lwocj1rYv5QhzSzdEjmLcWNePeks5rdF-jgaJpZM4MDBJ-.


Center is undefined but still working but markers won't show at all

Hi there,
currently I set the center position without extending the scope and it actual works since the map is centered correctly and the zoom is also working but I still get the following warning:
[AngularJS - Leaflet] 'center' is undefined in the current scope, did you forget to initialize it?
Next strange thing is that I can't get the markers to show, there is no other warning/error but they still won't show.
If I use the exact source from one of the examples with extend, nothing happens at all.
I can't post a demo of it at this time since there are many things going on in the controller and around it.
Maybe someone has an idea? If there is really no chance for help without an example I try to provide one.
Thanks

No reply and this is dated; closing.


Add Netlify rewrite directive

Overview
When deployed, URLs should simply load the root index file and use
pushState to keep URLs intact. The application will then handle routing
locally.
Connects #43
Notes
Rather than add a redirect for any route to /, I added a redirect instead. This way, if we do add routes that we want to preserve (for example, the saved state route), the app can continue to serve it. In practice, the main pages each check for the existence of state they need to operate, and redirect to / internally.
Testing Instructions

In the deploy preview of this PR, navigate to routes within the app and refresh the page. Ensure that the app redirects and does not give a 404 error.

Good call, add #46 to track the 404 issue.


Made door-close env solvable

To solve the door-close env with scripted policies, I had to increase its max_path_length to 400.

Sorry, another change-of-plans. See my comment about copying the file and renaming it using a V2 prefix.
That way, we can keep all your work in master (which will be much easier for everyone).


Add support for Beat Saver Curator feed

(note: no unit tests just yet, as test data would be required. I can add unit tests but I would like info on how you generate the test data, specifically getting the .mock files in the right format.)

I use the MockClient IWebClient and give it an actual IWebClient in the constructor. Then it gets actual data from the web APIs and saves the content and response headers. The MockClientSetup static class has the logic for translating URLs to file paths.
I was also going to say the FeedIndex should be unique, but then I realized I forgot to set them in the existing Beat Saver feeds =3


Please add support for log: false so that passwords are not displayed in clear text

When using cy.request there is a parameter log: false, with which the command (and thus the password) are no longer displayed in the Test Runner. If I replace cy.request with cy.api, log: false is ignored and the user can read the password in plain text.
Example:
    cy.request({
        method: "POST",
        url: getOrchestrationLayerPrefixUrlBasedOnBaseUrl() + urls.LOGIN,
        body: {
            username: Cypress.env("AUTOMATED_TESTS_USERNAME1"),
            password: Cypress.env("AUTOMATED_TESTS_PASSWORD1"),
        },
        log: false,
    })

    cy.api{
        method: "POST",
        url: getOrchestrationLayerPrefixUrlBasedOnBaseUrl() + urls.LOGIN,
        body: {
            username: Cypress.env("AUTOMATED_TESTS_USERNAME1"),
            password: Cypress.env("AUTOMATED_TESTS_PASSWORD1"),
        },
        log: false,
    })

Thanks for the report. I’m wondering here. what would happen when you pass {log: false} to cy.api() command? should it anonymize the username and password fields? should it hide Body tab altogether? should you be able to anonymize your data by doing something like:
cy.api({
  method: 'POST',
  url: '/',
  body: {
    username: Cypress.env('username'),
    password: Cypress.env('password')
  },
  anonymize: [username, password]
})

hit me with suggestions

To make it consistent to cy.request the suggestion would be to hide the body completely.

with version 2, the plugin does not show the information you shown on the screenshot anymore. you can see the body in the UI view, as well as in browser console details. if you want to hide it from UI view, you can use the hideCredentials flag. this will hide authorization, password and username fields from headers view

Hi Filip. I have now installed 2.3.3 and use { env: { hideCredentials: true } }. The bearer in my GET method is now hidden. However, in the POST method username and password are not yet hidden. My code:
import { urls } from "cypress/support/constants";
const loginUrl = "https:///v2/login";
describe("Verify that the delivery address can be queried", () => {
it(
"Verify that the delivery address can be queried",
{ env: { hideCredentials: true } },
() => {
cy.api({
method: "POST",
url: loginUrl,
body: {
username: Cypress.env("AUTOMATED_TESTS_USERNAME1"),
password: Cypress.env("AUTOMATED_TESTS_PASSWORD1"),
},
}).then((response) => {
Cypress.env("token", response.body.token.accessToken);
cy.wait(2000);
cy.api({
method: "GET",
url: urls.ADDRESS_DELIVERY_PRD,
auth: {
bearer: Cypress.env("token"),
},
}).then(() => {
// expect(response.body.length).to.equal(2);
});
});
}
);
});

ah, that might be because I only hide headers, not body. I’m thinking it might make more sense if the hiding of credentials would be configurable.

I’m releasing the feature to hide custom properties with #62 enjoy!

Tested successfully. Using the options in cypress.config.ts:
        env: {
            hideCredentials: true,
            hideCredentialsOptions: {
                headers: ["Authorization"],
                body: ["username", "password"],
            },
        },


Auto provision of a TVM solution (MDE) should support Azure Arc

Hi all,
The document shows that auto provisioning is not available on Azure Arc (Availability, Support Destinations).  But Azure Security Center shows that auto provisioning is available for "Azure and hybrid machines": Deploys vulnerability assessment to your Azure and hybrid machines. Learn more
So, I assume that Azure Arc should be available as well?
Thanks in advance.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8267e218-3748-2820-3eee-80479705eec2
Version Independent ID: 8c6d5fce-6383-a0f8-7df3-f5e0a77bbad6
Content: Auto-deploy agents for Azure Security Center
Content Source: articles/security-center/security-center-enable-data-collection.md
Service: security-center
GitHub Login: @memildin
Microsoft Alias: memildin

@dominikhoefling
Thanks for your feedback! We will investigate and update as appropriate.

@dominikhoefling
Thank you for pointing this out!
From your security center recommendation - Azure and hybrid machines: Deploys vulnerability assessment to your Azure and hybrid machines. this should be referencing the Qualys vulnerability scanner for Azure and hybrid machines.
However, after looking at the Auto Provisioning feature, it does look like Azure Arc Machines is supported, but is currently only in preview. For more info.

I'll assign this issue to the author to look into and update the docs as needed.
Thank you for your time and patience throughout this issue.

Hi James,
It's easier providing a screenshot:
[cid:1072f28b-14d3-4e80-8c0b-febcde13aec0]
The link in the description of "Vulnerability assessment for machines (preview)" Auto-deploy agents for Microsoft Defender for Cloud | Microsoft Docshttps://docs.microsoft.com/en-us/azure/security-center/enable-data-collection?WT.mc_id=Portal-Microsoft_Azure_Security should also mention, that Azure Arc machines can be used for the auto provisioning, not only Azure VM's:
[cid:f45f53d6-edf7-4a19-bac4-abc909bfcc4f]
Hope that makes sense. At least, this is definitely working in my and customer environments 🙂
Thanks a lot.
Best,
Dominik

From: James Tran-MSFT @.>
Sent: Wednesday, November 3, 2021 18:59
To: MicrosoftDocs/azure-docs @.>
Cc: Dominik Hoefling @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Auto provision of a TVM solution (MDE) should support Azure Arc (Issue #83258)
@dominikhoeflinghttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdominikhoefling&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806577120|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=aZLPNVeqzWmdBmONM5M8rS%2F5KsB2ZtD3RwR6uaFGwqY%3D&reserved=0
Thank you for pointing this out!
From your security center recommendation - Azure and hybrid machines: Deploys vulnerability assessment to your Azure and hybrid machines. this should be referencing the Qualys vulnerability scanner for Azure and hybrid machineshttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fsecurity-center%2Fdeploy-vulnerability-assessment-vm&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806587113|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=IXEKV4i5bvVtqWvqrilrK8yAVS3oXvj2xUrXzC3Z%2FOo%3D&reserved=0.
However, after looking at the Auto Provisioning feature, it does look like Azure Arc Machines is supported, but is currently only in preview. For more infohttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fazure-monitor%2Fagents%2Flog-analytics-agent%3FWT.mc_id%3DPortal-Microsoft_Azure_Security%23windows-virtual-machine-on-premises-or-in-another-cloud&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806597105|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HNji38e66FCRM%2FL4pxmjbAdi8oNNDf2fGbzSRfbO4vc%3D&reserved=0.
[image]https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F36619112%2F140166069-d3d48536-0398-4fd6-a047-654052749706.png&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806597105|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=M6OeaupsLi6QyexC3oJxcIAeGunjp6OsZO2gJTdS1DU%3D&reserved=0
I'll assign this issue to the author to look into and update the docs as needed.
Thank you for your time and patience throughout this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F83258%23issuecomment-959784865&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806607101|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=yG4MKg13K1mItSkpJHZoGJhMGYdxHkWmVKG6pe0yJhs%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAOZTVEGQFUWECVEOCTHFAG3UKGBBVANCNFSM5HGMXDBA&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806607101|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=gPrr3QZ1uAsuRbnOPl5qpWjZN0q7Jf5PKxseSQAfKGY%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806617098|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=r8Jnqv3k%2BcEVx5ixPD%2BBg6VZTGvsAyNPbIDJtro9MbI%3D&reserved=0 or Androidhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01||bea7173c6a4341b8f3a508d99ef3b473|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637715591806617098|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=QXCYFw7bOyVB%2BlvsW%2FUM6tqfcwh4pwoDM3KkxDStfUA%3D&reserved=0.

Hi @dominikhoefling, thanks for the feedback and for taking the time to help us improve the docs.
The linked page now shows Azure Arc machines as supported destinations for auto provisioning.

I'm going to close this issue, but feel free to comment again here or open a new one if you have additional requests.
#please-close


SARAALERT-944: Consolidate field update logic in application so it can be used in API updates

Description
Jira Ticket: SARAALERT-944
This PR consolidates the logic that existed on the PatientsController (specifically in the update_fields function) onto the Patient model, so that the logic can be used via both the PatientsController, and the APIController. This logic includes side effects that happen when a certain field is updated (ex: If monitoring is set to false, then closed_at is set), and generation of History items (ex: Adding a history item that indicates that monitoring changed).
Important Changes
api_controller.rb

Added update_all_patient_history function, and called it in update so that History items are generated when updates are made via the API
Added a line to create a Transfer if a Patient is transferred to a new jurisdiction via the API
Fixed the jurisdiction validation in update to match the logic used in the UI, a user who can transfer Patients is allowed to transfer a Patient to any other jurisdiction (that is not the USA root)
Refactored the update function in other minor ways

patients_controller.rb

Replaced the update_fields function with update_monitoring_fields, and refactored the bulk of the logic out of this function and onto the Patient model. The logic to update fields when side effects occur is in the handle_update function on the Patient model, which is called by the before_update hook. The logic to add History items is in the monitoring_history_edit function on the Patient model.

assessment.rb

changed update_patient_linelist_before_destroy to update_patient_linelist_after_destroy and changed the hook to after_destroy. This was needed, because this function triggers patient.update, and patient.update would calculate symptom_onset incorrectly. Since the assessment had not been destroyed, it could be used when finding the most recent symptomatic assessment, which would lead to the calculated symptom_onset being based on an Assessment that was about to be destroyed.

patient.rb

Added handle_update function which handles side effects when certain fields change (ex: if isolation is set to false, then extended_isolation and user_defined_symptom_onset are cleared, and symptom_onset is set to a calculated value). This function is automatically called whenever patient.update is called.
Added monitoring_history_edit function which handles creating a history based on a change to a monitoring field, as defined by the PatientHelper.monitoring_fields array. This function is called manually in the PatientsController and APIController.

Jurisdiction.js

Refactored so that on submission, if jurisdiction_path is in the diffState, jurisdiction_id is included as well.

Testing
To test the side effects, you can test the following:

When monitoring is set to false, closed_at is set to the current time, and continuous_exposure is set to false (UI and API)
When isolation is set to false, extended_isolation is set to nil, user_defined_symptom_onset is set to false, and symptom_onset is set to a calculated value (UI and API)
When case_status is set to Suspect, Unknown or Not a Case, public_health_action is set to None (UI only)
When symptom_onset is set to nil, user_defined_symptom_onset is set to false, and symptom_onset is set a calculated value (UI and API)
When continuous_exposure is set to true while monitoring is false, it should be set back to false (UI only)

To test the history item generation, you can test:

For each of the first three cases above, a history message is generated indicating the update being made by the Sara Alert System
For every field in the PatientHelper.monitoring_fields array, if the field is changed via the UI or API, a "Monitoring Change" history item is generated detailing the change

@kylietmo, your comments should be addressed by https://github.com/SaraAlert/SaraAlert/commit/e63ebf8217e37501ccb885efabca37b2d6148fb3.

@kylietmo, your comments should be addressed by https://github.com/SaraAlert/SaraAlert/commit/e63ebf8217e37501ccb885efabca37b2d6148fb3.

@tstrass and @kylietmo, https://github.com/SaraAlert/SaraAlert/pull/664/commits/44e6561543340009231d1948059a9cdaabbf9923 addresses that change. Note that I addressed this as part of the FhirHelper, and not as a callback of the update method. I thought this made sense, because within update, we don't know why symptom_onset is changing. It could be the user or the system making that change (for example, Assessments can change symptom_onset when being created/destroyed). I don't love having logic in multiple places, but I can't see a better way, and this is inline with what the front end does.

@tstrass and @kylietmo, https://github.com/SaraAlert/SaraAlert/pull/664/commits/44e6561543340009231d1948059a9cdaabbf9923 addresses that change. Note that I addressed this as part of the FhirHelper, and not as a callback of the update method. I thought this made sense, because within update, we don't know why symptom_onset is changing. It could be the user or the system making that change (for example, Assessments can change symptom_onset when being created/destroyed). I don't love having logic in multiple places, but I can't see a better way, and this is inline with what the front end does.


Picodom 2.0

Summary
The result is a large Double Espresso Steamed Soy Milk Foam!

This heading element will be recycled by default!

import { h, patch } from "picodom"

const view = state => (

{state}

    <button onclick={() => patch(view(state - 1), root)}>-</button>
    <button onclick={() => patch(view(state + 1), root)}>+</button>

)

const root = patch(view(0), document.getElementById("app"))

The DOM element passed to patch represents the root of your application, not a container. The function returns the element and HTML that results from this operation is the same HTML-like markup returned by the view.

0

    <button>-</button>
    <button>+</button>

In addition, Picodom now supports hydration of pre-existing DOM content. This means that instead of throwing away any server-side rendered markup, Picodom will try reuse those elements. For this to work, the markup must be the same markup produced in your view.

// The delay simulate some SSR HTML + HTTP request.
let root

setTimeout(() => {
  root = patch(view(0), document.getElementById("app"))
}, 3000)

Notice in the GIF how the heading fades into the page, but when it's replaced by the counter, it's value is simply changed. This means that Picodom reused that heading, instead of creating a new one from scratch and only updated the element's nodeValue. Notice how the +/- buttons are animated, however, since their markup was not included (on purpose in order to demonstrate this feature) in the pre-existing HTML.
See Also
https://github.com/picodom/picodom/issues/94

If I understand this correctly.. this is so dope

I was also thinking, that if no DOM element is provided, perhaps we could create the element for you and return it to you, allowing you to append it to the DOM whenever you want.

Picodom now supports hydration of pre-existing DOM content. This means that instead of throwing away any server-side rendered markup, Picodom will try reuse those elements.

Won't this cause problems with third-party vanilla JS widgets?
If I were to use a third-party lib to create a date-picker or cropping widget using oncreate, won't calls to the patch-function wipe out those elements?
And if not, doesn't that mean it also won't wipe out elements that should be removed, e.g. if the number of items in a list is lower than it was when it was rendered on the server-side?
The problem with allowing reuse of any existing elements you encounter in the DOM, is you can't know if existing elements belong to a rendered view or were created dynamically somehow.

if no DOM element is provided, perhaps we could create the element for you and return it to you, allowing you to append it to the DOM whenever you want

I don't think that would work for anything that has input/selection/focus state?

@mindplay-dk Won't this cause problems with third-party vanilla JS widgets?

No, because you provide the DOM element, we are not guessing it. This works very similarly if not exactly as Preact's render replaceElement argument.

I don't think that would work for anything that has input/selection/focus state?

An example should help clarify this confusion.
import { h, patch } from "picodom"
const element = patch(h("h1", {}, "Hello"))
...
document.body.appendChild(element)

The alternative would be to append to document.body by default, which I prefer to avoid.

No, because you give us the DOM element

I can give you the top element only - the algorithm then decides what to do with subtrees.
It does erase any foreign nodes - which is to be expected, how else could you guarantee that a client-side call would actually bring the document up to it's current state. So far so good.
But it will then necessarily also destroy foreign nodes created during oncreate, since there's no way to tell the difference. (Let that example run for about five seconds, it'll do another update, you'll see the third-party JS widget gets destroyed.)
When you use the DOM as the "source of truth" for the current state of the view, you get these kinds of problems - Picodom 1 didn't reverse translate DOM nodes into VDom nodes, but now it does.
If you don't flag nodes you created yourself, you can't know which DOM state is relevant to an update - this is what I was trying to address in my implementation by injecting the last known VDom state into the DOM, in the hopes that this would also allow for deferred removals, which I also don't think Picodom 2 will presently? If another update is triggered while a not-yet-removed DOM node is still in the DOM, this would be seen as the current state, and it would either add/remove/move the DOM node, which really should be left where it is, would it not?
My hope with my own implementation was that it would only touch DOM nodes that it was either told directly to touch (the top level target node) or had itself flagged during a previous update so it could recognize the node as being a "managed" node. The idea was that DOM nodes lingering during deferred removals, as well as DOM nodes created and injected during oncreate would be unaffected.
Note that Preact's top-level render function accepts a third argument, the replaceNode flag, which allows you to force it to replace an entire subtree, as you would if the document had already been rendered from the server-side. I understand you're trying to optimize by recycling the DOM nodes that were created already when the document was loaded, but I think you'd have to at least internally know whether you're forcing the DOM into a specific state, or patching existing managed DOM nodes, as it makes a difference when you have unmanaged nodes that shouldn't be touched.

@mindplay-dk But it will then necessarily also destroy foreign nodes created during oncreate...

You can easily avoid foreign nodes to be destroyed if you plan your markup more carefully. Sorry, but your example was only set up to fail.
let update = model => (

Hello Here

       new Cropper(img)}
      />

    {model.there &&
Hello There
}

)

@mindplay-dk I understand you're trying to optimize by recycling the DOM nodes that were created already when the document was loaded...

Hydration is a one-time only operation. If you want to opt-out call patch without a DOM element. By doing so, a new element will be created and returned to you.
const element = patch(
Hello
)
//
// ...
//
document.body.appendChild(element)

...hopes that this would also allow for deferred removals ...

I am not trying to solve this problem at the moment, but I may try when I actually rewrite the entire diff algo (in time for Hyperapp 2.0).

You can easily avoid foreign nodes being destroyed if you plan your markup more carefully

You mean wrap things in extra elements, which is what I mean when I say that HTML support should be universal - I don't want the framework to dictate the kind of markup I can/may use.
I don't think I'm trying to make things unnecessarily difficult here. I just want to be sure that, when my HTML/CSS guy delivers a finished UI design, I can move it into JSX and build a render-function easily, without first having to "fix" the markup and adjust the CSS - and possibly break it, and/or break things for other developers working on other parts of the UI that depend on the same CSS.

If you want to completely opt-out call patch without a DOM element. By doing so, a new element will be created and returned to you.

😄👍

Remember to change this in the index.d.ts file before to merge the pull request
export function patch(
  parent: Element,
  oldNode: VNode | null,
  newNode: VNode
): Element

to
export function patch(
  node: VNode,
  parent: Element | null
): Element

Note that the second argument is no longer the parent, it's the target element:
export function patch(
  node: VNode,
  target: Element | null
): Element

Codecov Report

Merging #96 into master will decrease coverage by 66.66%.
The diff coverage is 33.33%.

@@             Coverage Diff             @@
##           master      #96       +/-   ##
===========================================
- Coverage     100%   33.33%   -66.67%
===========================================
  Files           2        1        -1
  Lines         119      117        -2
  Branches       38       36        -2
===========================================
- Hits          119       39       -80
- Misses          0       57       +57
- Partials        0       21       +21

Impacted Files
Coverage Δ

src/index.js
33.33% <33.33%> (ø)

Continue to review full report at Codecov.

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


Quick "New Tab" should offer more file types

Is your feature request related to a problem? Please describe.
The Modeler offers an easy way to quickly create new tabs.

However, with introducing more and more file types (Zeebe BPMN Diagrams, Forms), this becomes less intuitive, since it will be hard to decide, which tab type is the default.
Describe the solution you'd like
It should be possible to create other tabs via the "+" button.

I can also imagine this could be configurable.
Describe alternatives you've considered
Keep things as they are.
Additional context
Related to https://github.com/bpmn-io/internal-docs/issues/216

My personal opinion is to not invest time into this, short term.
Mid term, I can see a number of options:

Keep + simple, in open tab user chooses diagram type
Keep + simple, later on user chooses diagram type naturally, i.e. when she starts to implement

A simple alternative is also:

Remove + alltogether.

The main use-case for the modeler is Camunda BPMN modeling. That will remain the case for the next releases.

How about creating the same diagram type as the one currently open. This would have prevented #2283 and I also found myself multiple times clicking the + button while working on DMN and then getting a BPMN model as a surprise.

As a quick fix, and also to mitigate #2283, the plus could open the welcome page where the different types can be chosen.

Closing this in favor of https://github.com/camunda/camunda-modeler/issues/2293.
We'll remove the + button at least temporarily, as it causes trouble.


Target directories are assumed at runtime

Description
neofetch checks for the existence of either /etc/neofetch or /usr/local/etc/neofetch, and for /usr/share/neofetch.  These directories might not exist.  This prevents neofetch from being installed to any prefix.
Likewise, the Makefile assumes that it can write to $DESTDIR/etc.  On Guix we install all files to a unique prefix, including /etc/neofetch.  This means that for our package we needed to patch the Makefile to replace $(DESTDIR)/etc with $(PREFIX)/etc, and in neofetch replace /etc/neofetch with /the/actual/prefix/etc/neofetch, and /usr/share/neofetch with /the/actual/prefix/share/neofetch.
It would be nice if these locations in neofetch were placeholders that could be substituted at configure time.  This could be achieved with a simple configure script and m4 or sed.
Neofetch version
3.1.0

This means that for our package we needed to patch the Makefile to replace $(DESTDIR)/etc with $(PREFIX)/etc, and in neofetch replace /etc/neofetch with /the/actual/prefix/etc/neofetch

I don't know how Guix works, but can't it be done with make DESTDIR=/the/actual/prefix?

Closing this one since #754 is now merged.


Setting 'max guests' to a really big number gives 'Assertion Failed'

On postgres.

This seems to be a problem related to front-end. It does not even send a request to backend. Maybe it would be best to change it into a dropdown

This seems to be a problem related to front-end. It does not even send a request to backend. Maybe it would be best to change it into a dropdown


Add click support

The argparse module is so yesterday. ;-)  Sure it's built in, but I honestly find it cumbersome. I found the click package earlier this year and it is soooo much better.
The great thing about click is that it uses decorators to annotate a function with all the arguments and options, so there is no need to search the file for ArgumentParser. Just add Gooey to the top of the decorator stack and all the options and arguments are available on the function passed into the decorator. Sweet!
import click
import gooey

@gooey.Gooey
@click.command()
@click.option("--count", default=1, help="Number of greetings.")
@click.option("--name", prompt="Your name",
              help="The person to greet.")
def hello(count, name):
    """Simple program that greets NAME for a total of COUNT times."""
    for _ in range(count):
        click.echo("Hello, %s!" % name)

if __name__ == '__main__':
    hello()

Now that's slick, right?

Click was requested way back in #135 : )
The unfortunate answer to this one is that additional bindings for libraries like Click will have to be driven (and maintained!) by the community.
Keeping the core features flowing through Gooey (plus managing day job, life, other projects) is already a pretty high workload. Adding a whole other set of bindings to Gooey and getting it to feature parity with Argparse (and then keeping it up to date as Gooey continues to grow its feature set) isn't something I could feasibly do at the moment. I am but one fella :(
Gooey is all driven by JSON these days. So if someone was so inspired (hint! ^_^) all they would need to write would be something that mapped a Click object into the JSON schema used by Gooey

It is tempting. I'll have to see if I can carve some time out.

I'm just checking out this project and figured the best way to learn was to help out on some things.  This sounds interesting!  I'd love to poke around for and maybe add support for click!


Add Bash/Zsh syntax highlighting

Check for existing issues

[X] Completed

Describe the feature
Missing Bash/Zsh etc. syntax highlighting. Please add it.
If applicable, add mockups / screenshots to help present your vision of the feature
No response

Hey @krstp, would you mind upvoting this issue with a 👍?

https://github.com/zed-industries/community/issues/86

Going to close this as a duplicate.  Appreciate your feedback.


Server side paging

hi
I've a considerable dataset i'm displaying in terms of size of data.
Is it possible to pass current page, total size and required page through as query parameters to the controller to handle paging server side?

How would your server side paging differ from the current server side paging implementation in the grid itself?

Because rather than calling ToList() on my entire collection in the repo I'd be able to do something like:
Items.Skip(numberPerPage * currentPage).Take(numberPerPage).ToList();
So the entire data collection isn't initially loaded, just the count is to get the required number of pages with something like:
(Items.Count() + (numberPerPage - 1)) / numberPerPage;
This would mean it didn't take two minutes for my grid to render for the client, even with caching. I'm loading almost a million records.
Unless all this is already possible with the Ajax grid??
Apologies if this appears twice. I replied by email but it didn't appear for some reason ^^

Grid already does paging in a fast way, its runs two queries
One loads 20 records from the database and other one counts all the records.
Just make sure you pass IQueryable representation of your data, instead of ToList'ing it.
For example return View(context.Set<Account>().OrderBy(account => account.Id)).

Excellent - Thanks for clarifying that.
This can be closed then
I'd falsely assumed that I had to pass IEnumerable.ToList() through to the grid.
NIce work :)

Because rather than calling ToList() on my entire collection in the repo
I'd be able to do something like
Items.Skip(numberPerPage * currentPage).Take(numberPerPage).ToList();
So the entire data collection isn't initially loaded, just the count is to
get the required number of pages with something like
(Items.Count() + (numberPerPage - 1)) / numberPerPage;
This would mean it didn't take two minutes for my grid to render for the
client, even with caching. I'm loading almost a million records.
Unless all this is already possible with the Ajax grid??
Thanks.
On Mon, 24 Oct 2016 at 06:04, Muchiachio<EMAIL_ADDRESS>wrote:

How would your server side paging differ from the current server side
paging implementation in the grid itself?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NonFactors/MVC6.Grid/issues/25#issuecomment-255648651,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABcsEgg9RjmtCdSjfogFVH14gqPzZGWfks5q3DxUgaJpZM4KeQ5S
.

--
David Sekula / Senior Software Engineer
<EMAIL_ADDRESS>Bar Code Data Ltd Office:<PHONE_NUMBER>7 / Fax:<PHONE_NUMBER>8
Ashton House, 6 Margaret Street. Ashton Under Lyne, Lancashire. OL7 0SH
http://www.bcdata.co.uk
This e-mail message may contain confidential or legally privileged
information and is intended only for the use of the intended recipient(s).
Any unauthorized disclosure, dissemination, distribution, copying or the
taking of any action in reliance on the information herein is prohibited.
E-mails are not secure and cannot be guaranteed to be error free as they
can be intercepted, amended, or contain viruses. Anyone who communicates
with us by e-mail is deemed to have accepted these risks. Bar Code Data Ltd
is not responsible for errors or omissions in this message and denies any
responsibility for any damage arising from the use of e-mail. Any opinion
and other statement contained in this message and any attachment are solely
those of the author and do not necessarily represent those of the company.

Was this message an accident @prom3theu5? :smile:

Yeah sorry.
I replied initially by email (Which I haven't done before).
I didn't know they moderated email posts - it came in a day after I posted it 😸


Tutorial on contrib (load_csv) no longer works, please suggest solution

I try to follow the turotial here:
https://www.tensorflow.org/versions/r0.11/tutorials/tflearn/index.html
But I get the error:
221:tensorflow_tutorial ME$ python contrib_learn_quick_origin.py
Traceback (most recent call last):
File "contrib_learn_quick_origin.py", line 13, in
training_set = tf.contrib.learn.datasets.base.load_csv(filename=IRIS_TRAINING,
AttributeError: 'module' object has no attribute 'load_csv'
Please suggests solutions and edit the online tutorial.

Thank you for reporting this. I wrote up a change which will get approved soon fixing this. Once it gets pushed to GitHub this issue will be closed.

Hi,
im afraid it still doesnt work with the changes. The new method takes 3 arguments instead of 2. This is how i made it work:
training_set = tf.contrib.learn.datasets.base.load_csv_with_header(        filename=IRIS_TRAINING, target_dtype=np.int, features_dtype=np.float32)  test_set = tf.contrib.learn.datasets.base.load_csv_with_header(        filename=IRIS_TEST, target_dtype=np.int, features_dtype=np.float32)

Also, the example files don't exist, so even changing the code will fail -- the files iris_test.csv and  iris_train.csv need to be committed.

Hey,
You can see the changed file and the .csv files here at the TensorFlow github page:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/tutorials/monitors
Download the files to a folder and change:
# Data sets IRIS_TRAINING = "iris_training.csv" IRIS_TEST = "iris_test.csv"
to
# Data sets IRIS_TRAINING = "<path_to_file>/iris_training.csv" IRIS_TEST = "<path_to_file>/iris_test.csv"

If you read through the tutorial, it provides the datasets and says to download into the same file as your python script.


Pin test-infra/tools to c1307f6b3cf599b6920121490f4cd8136ac645f0

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm


Support loading configuration from env vars

Since AWS Batch is most easily configured via env vars, this PR allows reading the configuration from them. Note that this only checks if a key in the default configuration is present as an env var and, if so, replaces the value with it. Recommendations for alternative solutions are appreciated.

Replaced by https://github.com/chanzuckerberg/cellxgene-census/pull/552


The chart is rendered again when there are labels and responsive is true

Expected behavior
when the chart is rendered, it should be rendered directly with the labels.
Current behavior
when responsive is true, the first frame of the chart is rendered without labels, and after that it is rendered with labels. Therefore it produces a shaking effect.
if I disable responsive, then the chart is rendered from the first with labels.
Reproducible sample
https://stackblitz-starters-e8phtg.stackblitz.io
Optional extra steps/info to reproduce
responsive: true

responsive: false

Possible solution
No response
Context
No response
chart.js version
v.4.3.0
Browser name and version
No response
Link to your project
No response

after several investigations, the problem is not that the labels are not rendered, but the height of the chart is taken into account with the size of the labels:


Not requested API Key

Possible duplicate issue; WakaTime isn't asking for an API key on startup.  I've followed the latest instructions for installation and have run the .bat and tried SSMS as admin.
Console shows the following during startup so it appears the extension is being loaded; I just have no idea where you're meant to put the API key?
[WakaTime Info 03:47:09 PM] Initializing WakaTime v2.0.1
[WakaTime Info 03:47:10 PM] Current wakatime-cli version is 13.0.2
[WakaTime Info 03:47:10 PM] Checking for updates to wakatime-cli...
[WakaTime Info 03:47:10 PM] wakatime-cli is up to date.
[WakaTime Info 03:47:10 PM] Finished initializing WakaTime v2.0.1
I'm using the following version:
SQL Server Management Studio						15.0.18206.0
Microsoft Analysis Services Client Tools						15.0.1567.0
Microsoft Data Access Components (MDAC)						10.0.18362.1
Microsoft MSXML						3.0 6.0
Microsoft Internet Explorer						9.11.18362.0
Microsoft .NET Framework						4.0.30319.42000
Operating System						10.0.18362

To fix this go to the wakatime.dll, right click properties and click unblock then okay and it’ll work on restart.
In the menu choose "Tools" > "Wakatime"

I followed this, I was able to enter the API key, but it still does not report to my dashboard?

I am using Visual Studio (2019) and SSMS (v18.4), Visual Studio actions get logged, but anything done in SMSS returns an error, "File does not exist; ignoring this heartbeat."
{"now": "2020/04/09 15:27:16 -0400", "version": "13.0.7", "plugin": "ssms/2019.0150 ssms-wakatime/2.0.1", "time":<PHONE_NUMBER>.518643, "caller": "C:\Users\User\AppData\Roaming\WakaTime\wakatime-master\wakatime\main.py", "lineno": 70, "is_write": true, "file": "Server[@Name='PC-W10WKS']/Database[@Name='db_bd']/View[@Name='vw_BusinessLocationProductStock' and @Schema='dbo']", "level": "DEBUG", "message": "File does not exist; ignoring this heartbeat."}

SSMS v18.10 is not working.
Api Key is OK, but it doesn't register in the dashboard.
Visual Studio and others are working.

The extension has been bumped to version 3.0.0. Please follow the updated instructions on README to reinstall it.


Adding Phoummala Schmitt Profile Page

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/cloud-developer-advocates, working directory: W:\3u4y-s, target branch: master, target branch commit: 5e722cda18515b5330c4a9a3729877fc1b1dd08a, source branch: aaad9d395ae66a3b98555f2feda8958a/master, source branch commit: .
Learn more: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

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


Added Dart impl. in C

Hello Wolt Team.
We have ported the C implementation over to dart through dart:ffi, because the pure dart implementation was very slow and it was causing UI freeze.
Our package published over on pub.dev, fixes that issue with the same api for the developers that previously used blurhash_dart and flutter_blurhash.
you may merge it you think it's a good addition to this repo.

Thanks for the info, removed the submodule section.


1.22 feature blog for minReadySeconds in StatefulSets

1.22 feature blog post for "Add minReadySeconds to Statefulsets" (https://github.com/kubernetes/enhancements/issues/2599).
Target publish date is 08/27/21. [edit: updated publish date]
cc: @ravisantoshgudimetla

@ravisantoshgudimetla can you reply to review when you have a few cycles? thanks!

@jlbutler if you're willing to make the changes needed, feel free. That'll let us review.
If you want to get signoff on those changes from @ravisantoshgudimetla before we publish, add a /hold so we don't accidentally put it live without that signoff.

I'll get to this tomorrow. Thank you for the reviews @sftim

cc @soltysh

I think the title for this article is OK and we should focus on getting this merged (we can update the title after merging if we think of a new one that we really like).

@ravisantoshgudimetla / @soltysh - between the two of you I'm happy that you can review each other's contributions here. Feel free to add /lgtm when you're happy that this can go out.
LGTM - for writing style etc
/hold
@jlbutler are you happy to revise this to show the new publication date?
/approve

@ravisantoshgudimetla / @soltysh - between the two of you I'm happy that you can review each other's contributions here. Feel free to add /lgtm when you're happy that this can go out.

@soltysh has already reviewed it. We worked with @jlbutler before opening this PR

I pushed a commit to update the publication date.
@ravisantoshgudimetla / @soltysh once you're happy with the wording - and “right now, actually” is a valid answer - please use the /lgtm command to record that you are. If you're not able to LGTM (“looks good to me”), or aren't comfortable running that command, reply to say so and SIG Docs can sort something out.
If we get this merged and folks want to fix minor grammar or spelling nits, those can go in after the merge (and either before or after publication).
If there's no LGTM before the publication date and we miss it by more than say 18 hours, we should leave the hold in place and pick a new date.

/label tide/merge-method-squash

Oh, I should also add: if this gets LGTM before publication is due on the 27th, please do unhold it.

/hold cancel
:tada:


[ERR] SSL_accept failed. Aborting handshake. CORS Problem

I´m trying to send a POST request from a vue web app to ESP32 https sever. If i use postman or curl it works fine, but i cant get it work from firefox vue app.
This is what I get in ESP32 log:
83981534 HTTPSServer->debug: [-->] New connection. Socket fid is:  0x3A 83982447 HTTPSServer->debug: [ERR] SSL_accept failed. Aborting handshake. 83982448 HTTPSServer->debug: [<--] Connection has been closed. fid =  0x3A 83982449 HTTPSServer->debug: [   ] Free headers
In firefox I get CORS error.
I´m managing CORS like in examples, with this node:

ResourceNode * corsNode = new ResourceNode("/*", "OPTIONS", &corsCallback);

secureServer->registerNode(corsNode);

void corsCallback(HTTPRequest * req, HTTPResponse * res) {
  Serial.println(">> CORS here...");
  res->setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS");
  res->setHeader("Access-Control-Allow-Origin",  "*");
  res->setHeader("Access-Control-Allow-Headers", "*");
}

CORS is enforced in the browser, not on the server side. As long as the server responds with the right headers for the OPTIONS request (you can check that with curl), the server lib most likely won't be the problem.
Note that the code will not match every OPTIONS request, as the pattern matching is quite limited up to now. Using the default handler or server->setDefaultHeader(...) might be a more general approach.
If you serve your vue app from file:// or http://localhost, be aware that browsers might have some peculiarities with XHttpRequests to external servers - Chrome does not allow it at all, Firefox might not be happy with the protocol switch etc... - The developer console should tell you what exactly is the problem in your case.

Thanks for the fast reply!
I´m running vue dev server locally in https:// ...
I have just tried adding CORS headers with setDefaultHeader( ... ) and doesn´t work.
This is what I´m getting in firefox:

If I translated correctly, that should be this reason, so it doesn't even seem to be CORS-related.
Just to be sure it's not one of the usual suspects: Did you open a web page from the ESP32 directly in another tab, but within the same browser instance? You need to confirm the security exception for the self-signed certificate, but an XHttpRequest will not open a prompt, as it runs in the backend.
So did you open https://you-esp32-ip/ in another tab, confirm everything and then tried it again in the vue app?

Perfect! Thank you! It works!
How can i resolve this in a production environment? Only with a signed certificate? Can i use one certificate for a lot of devices? How can i use let´s encrypt?

Sorry for the late response.

How can i resolve this in a production environment? Only with a signed certificate?

You'll need a valid certificate. There are two scenarios:
a) You have control over the clients browser (e.g. within a company) – Then you can install your own CA in their trust stores and sign the ESP's certificate with that CA. You still need to have a matching domain name, but you can make something up if you also have control over DNS (would be something like xyz.intern.acme.org).
b) You don't have control. Then you need a valid domain name that you own and for that a public CA that is part of the default trust store of all browsers. That might not scale very well.

Can i use one certificate for a lot of devices?

You could do that, but one compromised device would mean that all devices are compromised. And they either need to share the same host name or all host names have to be listed as alternative host names. Scales even worse.

How can i use let´s encrypt?

That would be a good option, but I'm not aware if there's any implementation of the ACME protocol for the ESP32, but you would need that to refresh the certificate after three months.
So it really depends on what you're trying to achieve and in which environment that should work.


object/gs: remove storage class settings

regional is an illegal value, which seems to be a bug

Codecov Report
Patch coverage has no change and project coverage change: -19.67 :warning:

Comparison is base (39cc73d) 56.40% compared to head (0f28199) 36.73%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #3536       +/-   ##
===========================================
- Coverage   56.40%   36.73%   -19.67%
===========================================
  Files         149      117       -32
  Lines       36420    28677     -7743
===========================================
- Hits        20542    10535    -10007
- Misses      13620    17106     +3486
+ Partials     2258     1036     -1222

Impacted Files
Coverage Δ

pkg/object/gs.go
1.75% <0.00%> (+0.01%)
:arrow_up:

... and 77 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Is there any way to include not related models into a model for JsonApiFramework 2.8.0?

Hello team,
When I was using JsonApiFramework 2.1.0, I was able to include not related models to a model without defining any relationship in JsonApiWriter or Mapping. I just simply pass an empty string as its relationship name.
For example, food and vehicle are not related to each other. When I want to include vehicles with food, I just call
.IncludeMany(food, String.Empty, vehicles)
However, when I update from 2.1.0 to 2.8.0, it complains about the relationship name. It requires a valid one. However, I don't want to define a fake relationship name because those models are not really related. I just want to get everything in one API call.
Could you please tell me if we have any way to do that?
Thank you very much.

Hi @tylerton - This repo is for the json:api specification. The JsonApiFramework repo is here. Please try opening a new issue over there. Good luck!

Let me quickly add the position of the spec itself on including resources, which aren't related to primary data:

Every included resource object MUST be identified via a chain of relationships originating in a document’s primary data. This means that compound documents require “full linkage” and that no resource object can be included without a direct or indirect relationship to the document’s primary data.

Your implementation is free to ignore that requirement. But you should be aware that it violates the specification. This might be also the reason for which the library you are using has dropped support for it.
I would recommend using parallel requests to fetch independent resources.


Creation of a Stories folder

Provide us a use case of the feature
If I download a profile on full(pics, videos, stories, etc) mode, I will have a lot of mixed stuff from videos and stories, so it would be good to change it, having a folder for stories is way better, also a subfolder for each date, so is easier to find stuff from a day
Describe the solution you'd like
It would send stuff from stories to a different path, on a new folder with or without subfolders
Describe alternatives you've considered
I have 0 alternatives since this is the only way I could think to know what's a story and what's a video post
If the feature request is accepted, would you be willing to submit a pull request?
No

Not desired; use Instaloader as a module if you need more flexibility regarding directory structure than what the CLI provides.


feat(upgrade): Upgrade Requirements and refactored code

pulled branch
reviewed code
tested

:+1:

@mannyrivera2010 - review w/ Soe. If he has not issues, then merge. - thank you,

:+1:


"Cryo" is confusing and should be renamed

Description
There are two things in the game that are often referenced to as "cryo" - cryopods and cryosleep units. This often causes confusion as to what people mean when they say "cryo".
It might be better to rename cryosleep units into something that doesn't contain "cryo" - "crew containment unit", "suspended sleep unit", "Suani unit", "sleep unit", "nap box", whatever.
I know calling both of these things cryo is a habit we got from SS13, but it doesn't mean it can't be changed with some time and effort.

Hypersleep

bluespace sleep unit - "bluesleep" in short form

Stasis sleep, or Long-term stasis unit?

Stasis sleep, or Long-term stasis unit?

I intentionally didn't mention stasis, as it clashes with stasis beds. Which might be even worse, as sleep units are also a kind of bed.

Stasis sleep, or Long-term stasis unit?

I intentionally didn't mention stasis, as it clashes with stasis beds. Which might be even worse, as sleep units are also a kind of bed.

they do similar things, would make sense to have a similar name

they do similar things (IC), would make sense to have a similar name

Not when they'll get shortened to the same name by the players, which would make the change I'm suggesting here pointless.

stasis sleepers


Debian image needs "locales" package

Hi,
I'm not sure whether this is a glibc >= 2.35 bug or not.
In the current debian unstable toolbox image, do the following will create a broken container
$ toolbox create --image quay.io/toolbx-images/debian-toolbox:unstable
$ toolbox enter debian-toolbox-unstable
$ sudo apt update
$ sudo apt upgrade -y
$ bash
Segmentation fault (core dumped)

Install the locales package and generate the locale files set in env (e.g. en_US.UTF-8) then bash doesn't crash
$ sudo apt install locales
$ sudo dpkg-reconfigure locales

But if I try to set a nonexistent locale, programs including gdb, bash, crash again.
$ LC_ALL=ja_JP.UTF-8 bash
bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
Segmentation fault (core dumped)
$ LC_ALL=ja_JP.UTF-8 gdb bash

Fatal signal: Segmentation fault
----- Backtrace -----
0x55ed3e1e8dcf ???
0x55ed3e2df312 ???
0x55ed3e2df488 ???
0x7f0b4a39ba9f ???
0x7f0b4a4b5b59 ???
0x7f0b4b412204 _rl_init_locale
0x7f0b4b4122f1 _rl_init_eightbit
0x7f0b4b3f10f2 rl_initialize
0x55ed3e503462 ???
0x55ed3e35a000 ???
0x55ed3e394a74 ???
0x55ed3e39586a ???
0x55ed3e149b4b ???
0x7f0b4a387209 ???
0x7f0b4a3872bb __libc_start_main
0x55ed3e14f399 ???
0xffffffffffffffff ???
---------------------
A fatal error internal to GDB has been detected, further
debugging is not possible.  GDB will now terminate.

This is a bug, please report it.  For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.

Segmentation fault (core dumped)

$ SHELL=/bin/sh gdb bash
(gdb) set env LC_ALL=ja_JP.UTF-8
(gdb) r
Starting program: /usr/bin/bash
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7edeb59 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff7edeb59 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000055555563b682 in _rl_init_locale ()
#2  0x000055555563b772 in _rl_init_eightbit ()
#3  0x000055555561a66e in rl_initialize ()
#4  0x00005555555e5b05 in initialize_readline ()
#5  0x00005555555870a5 in ?? ()
#6  0x0000555555589aa1 in ?? ()
#7  0x000055555558beeb in ?? ()
#8  0x000055555559005b in yyparse ()
#9  0x0000555555586586 in parse_command ()
#10 0x0000555555586714 in read_command ()
#11 0x00005555555868c6 in reader_loop ()
#12 0x00005555555853b5 in main ()

This is probably a Debian libc6 bug because I can reproduce this in a VM. I'll report to them instead.


Fixed link.

Old link was pointing to a location that has moved.

@valeonte : Thanks for your contribution to the Azure documentation! The author, @markingmyname, has been notified to review your proposed change.

@valeonte this link needs to be pointed back to the docs version of the page and not the old format.
The page you want is found here.
You would reference the link to this page in this manner: ../../reporting-services/report-data/data-connections-data-sources-and-connection-strings-report-builder-and-ssrs.md

@markingmyname please review.

@valeonte : Thanks for your contribution to the Azure documentation! The author, @markingmyname, has been notified to review your proposed change.

Followed suggestion for @wsmelton and linked properly. Thanks @wsmelton!

@markingmyname  please review.

Thank you @valeonte  and @markingmyname  merging.


[BUG] An avaliable team cannot be found

What is the bug?
[Server thread/WARN]: An avaliable team cannot be found, be prepared for a lot of errors. (this should never happen, and should always be reported to booksaw) [19:52:10] [Server thread/WARN]: This catch is merely here to stop the server crashing
[19:52:10] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to BetterTeams v4.2.1
this comes up when people try to leave or join a team.
Expected Behaviour
Maybe help 0.0
How to Reproduce

try to join or leave a team.

Error message
[Server thread/WARN]: An avaliable team cannot be found, be prepared for a lot of errors. (this should never happen, and should always be reported to booksaw) [19:55:57] [Server thread/WARN]: This catch is merely here to stop the server crashing
[19:55:57] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to BetterTeams v4.2.1 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-api-1.18-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-api-1.18-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot-api-1.18-R0.1-SNAPSHOT.jar:?] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot-api-1.18-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.a(PlayerList.java:277) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.network.LoginListener.a(LoginListener.java:193) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.network.LoginListener.c(LoginListener.java:179) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.network.LoginListener.b(LoginListener.java:74) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.network.NetworkManager.a(NetworkManager.java:246) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.network.ServerConnection.c(ServerConnection.java:172) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1322) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e]
at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:428) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1206) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1034) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:304) ~[spigot-1.18-R0.1-SNAPSHOT.jar:3358-Spigot-dbf4938-8b98c8e] at java.lang.Thread.run(Thread.java:833) [?:?] Caused by: java.lang.NullPointerException: Cannot invoke "org.bukkit.scoreboard.Team.addEntry(String)" because the return value of "com.booksaw.betterTeams.Team.getScoreboardTeam(org.bukkit.scoreboard.Scoreboard)" is null at com.booksaw.betterTeams.events.MCTeamManagement.displayBelowName(MCTeamManagement.java:62) ~[?:?]
at com.booksaw.betterTeams.events.MCTeamManagement.playerJoinEvent(MCTeamManagement.java:109) ~[?:?] at jdk.internal.reflect.GeneratedMethodAccessor128.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-api-1.18-R0.1-SNAPSHOT.jar:?] ... 15 more
Output of /teama version
idk what this is to be honest.
Additional Information
No response

Run /teama version and provide the output else this bug will not be reviewed

it says that the version is 4.2.1.

Update to the latest version and tell me if the bug still occurs

This issue is being closed for inactivity. If you are still having problems feel free to open a new issue linking this one, make sure you answer any questions asked in the new issue.


Cargo vendor regression for git sources containing exclude = ["build.rs"]

Problem
In Rust 1.79 and older releases, cargo vendor used to work for crates that have build scripts applying only to their source repo, and not published to crates.io. An example of such a crate is https://github.com/dtolnay/cxx/blob/1.0.124/macro/Cargo.toml#L8. The build script was correctly omitted from being vendored.
Since Rust 1.80, Cargo still does not vendor the build script, but now it inserts build = "build.rs" into the vendored Cargo.toml, which causes compilation of the vendored sources to fail.
Steps
Create an empty project with this Cargo manifest:
# Cargo.toml

[package]
name = "repro"
version = "0.0.0"
edition = "2021"
publish = false

[dependencies]
cxxbridge-macro = { git = "https://github.com/dtolnay/cxx", tag = "1.0.124" }

$ mkdir .cargo
$ cargo vendor > .cargo/config.toml
$ cargo check
...
   Compiling cxxbridge-macro v1.0.124 (https://github.com/dtolnay/cxx?tag=1.0.124#afd4aa3f)
error: couldn't read /path/to/vendor/vendor/cxxbridge-macro/build.rs: No such file or directory (os error 2)

error: could not compile `cxxbridge-macro` (build script) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

Possible Solution(s)
Do not inject build = "build.rs" into the vendored manifest if build.rs is not being vendored.
Notes
Bisects to https://github.com/rust-lang/cargo/pull/13713/commits/1e6047763d72edf5dfaee52e1c2305b94d0b7ccc.
Version
No response

cxx-bridge-macro has an inferred build.rs
https://github.com/dtolnay/cxx/blob/master/macro%2FCargo.toml
We cover a lot of these cases for build.rs for package
https://github.com/rust-lang/cargo/blob/fa646583675d7c140482bd906145c71b7fb4fc2b/tests/testsuite/package.rs#L3909
But only had minimal tests for cargo vendor

We are using a PathSource to list the files to copy for vendor
https://github.com/rust-lang/cargo/blob/fa646583675d7c140482bd906145c71b7fb4fc2b/src/cargo/ops/vendor.rs#L222
but only vendoring the normlalized git Cargo.toml
https://github.com/rust-lang/cargo/blob/fa646583675d7c140482bd906145c71b7fb4fc2b/src/cargo/ops/vendor.rs#L363
This is not the first time we've been bitten by cargo vendor being almost but not quite like cargo package
https://github.com/rust-lang/cargo/blob/fa646583675d7c140482bd906145c71b7fb4fc2b/src/cargo/ops/vendor.rs#L356
While we might want to do a minimal change for backporting, we should evaluate packaging sources to fully unify these so we stop having these problems.

Cargo flavored UI test for the situation of excluding build script.
Details

#[cargo_test]
fn dont_copy_excluded_build_script_for_git_dep() {
    let git = git::new("git_dep", |p| {
        p.file(
            "Cargo.toml",
            r#"
                [package]
                name = "git_dep"
                edition = "2021"
                exclude = ["build.rs"]
            "#,
        )
            .file("src/lib.rs", "")
            .file("build.rs", "fn main() {}")
    });

    let p = project()
        .file(
            "Cargo.toml",
            &format!(
                r#"
                    [package]
                    name = "foo"
                    edition = "2021"

                    [dependencies]
                    git_dep = {{ git = '{}' }}
                "#,
                git.url()
            ),
        )
        .file("src/lib.rs", "")
        .build();

    let output = p
        .cargo("vendor --respect-source-config")
        .exec_with_output()
        .unwrap();

    // Before 1.80.0 `package.build` expected to be false
    // After cargo#13713 it normalized Carg.toml before copying source from git repo.
    // Taht make `package.build=["build.rs"] get into Cargo.toml.
    //
    // While the behavior of vendoring a git source is not well-defined,
    // this is considered a regression in 1.80.0
    //
    // See cargo#14348 for more.
    assert_e2e().eq(
        p.read_file("vendor/git_dep/Cargo.toml"),
        str![[r##"
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

bin = []
example = []
test = []
bench = []

[package]
edition = "2021"
name = "git_dep"
build = "build.rs"
exclude = ["build.rs"]
autobins = false
autoexamples = false
autotests = false
autobenches = false
readme = false

[lib]
name = "git_dep"
path = "src/lib.rs"

"##]],
    );

    let output = String::from_utf8(output.stdout).unwrap();
    p.change_file(".cargo/config.toml", &output);

    // TODO: this should success when we fix cargo#14348.
    p.cargo("check")
        .with_status(101)
        .with_stderr_data(
            str![[r#"
[COMPILING] git_dep v0.0.0 ([ROOTURL]/git_dep#[..])
[ERROR] couldn't read [ROOT]/foo/vendor/git_dep/build.rs: [NOT_FOUND]

[ERROR] could not compile `git_dep` (build script) due to 1 previous error

"#]]
        )
        .run();
}

I am checking if there is any regression beyond build scripts.

We have cargo package tests that would be good models, testing every build target type. We likely don't need to cover implicit vs explicit as well.

#14368 backports this to 1.81


add batchfiles for modern pipeline

add batchfiles for modern pipelinebase commit

Removed rds db name ref

Removed rds db name ref


Pass context directly to loadConfig method in AutoConfigManager

This addresses a warning reported by the Checker Framework.
I think having the context as a private member is not necessary here and
we can instead pass it directly to loadConfig where it is needed.

Hooray Jenkins reported success with all tests good!


Remove-XGB-update-toolchain

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

46 of 48 (95.83%)  changed or added relevant lines in 23 files are covered.
455 unchanged lines in 117 files lost coverage.
Overall coverage increased (+0.4%) to 91.042%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

datatypes/src/primitives/coordinate.rs
1
2
50.0%

services/src/datasets/external/gfbio_collections.rs
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

services/src/api/handlers/layers.rs
1
88.87%

services/src/api/model/datatypes.rs
1
48.39%

services/src/pro/datasets/external/mod.rs
1
65.79%

services/src/contexts/postgres.rs
1
97.65%

services/src/tasks/in_memory.rs
1
94.89%

datatypes/src/primitives/error.rs
1
42.86%

operators/src/source/gdal_source/loading_info.rs
1
99.06%

operators/src/source/ogr_source/mod.rs
1
96.58%

datatypes/src/primitives/no_geometry.rs
1
10.84%

datatypes/src/collections/data_types.rs
1
34.09%

Totals

Change from base Build<PHONE_NUMBER>:
0.4%

Covered Lines:
131076

Relevant Lines:
143973

💛  - Coveralls

 Update Backend


JFYI, there is an existing WB that uses SQL to extract data out of FreeCAD models and display them

Thought it may be of use and at the least, informative:
https://github.com/furti/FreeCAD-Reporting

Yes. I saw it. Thanks.


Calendar does not open on Android Chrome - flatpickr eventHandler

https://jsfiddle.net/tj2Lo4z7/
Unable to recreate with the forked repo
Your Environment

flatpickr version used: 4.5.7
Browser name and version: Chrome
OS and version: Mobile Android

Using a fork of https://github.com/coderhaoxin/react-flatpickr/blob/master/lib/index.js, not using the Native mobile calendar.
On android devices using Chrome browser flatpickr adds document.click eventHandlers blocking the custom mobile click handler event.  On the same device when viewing in desktop this does not happen. On the same device using Firefox browser this does not happen.
This could be related to the behaviour in Issue #891 https://github.com/flatpickr/flatpickr/issues/891
commenting out:
if (window.ontouchstart !== undefined)    bind(window.document, "click", documentClick);
in
./node_modules/flatpickr/dist/flatpickr.js (Lines: 844 & 845)
"flatpickr": "^4.5.7"
resolves the issue.
resolves the issue.

my workaround for that was to add this to the config:
onOpen: function(selectedDates, dateStr, instance) {
setTimeout(function() {
instance.open();
},200);
},
but i would really appreciate it if the event handling will be fixed

I'm also having the same issue. Receiving a div element instead of the input element in the click event.

@ruargh @AQUANGEL @suriyakumarcs  I would like to know the version of your Chrome browser used for further investigation.

Chrome version:
Version 74.0.3729.169 (Official Build) (64-bit)
As noted and closed on #1819 (Version 73+)
Thanks.
On Mon, 27 May 2019 at 07:22, Gregory<EMAIL_ADDRESS>wrote:

Closed #1764 https://github.com/flatpickr/flatpickr/issues/1764 via
#1819 https://github.com/flatpickr/flatpickr/pull/1819.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flatpickr/flatpickr/issues/1764?email_source=notifications&email_token=AEWTGFDY5OT2A5XGIFY3V2DPXNV3DA5CNFSM4HHXTQUKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGORUVA22Q#event-2368343402,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEWTGFGRI3JAUO2TG4DDMSDPXNV3DANCNFSM4HHXTQUA
.


No blocked call hang up if BLOCKED_ACTIONS = ()

If BLOCKED_ACTIONS = () and a blocked caller calls, it will not answer and hang up on the caller. The phone keeps on ringing. I had the same problem with v1.0. In app.py, if I change the following to not check the length of actions, it works for me:
            # Answer the call!

#               if ok_to_answer and len(actions) > 0:
if ok_to_answer:
self.answer_call(actions, greeting, call_no, caller)

@drano02 Thanks for reporting this. I will investigate.


Breakpoints show up as white in Firefox

testing https://github.com/microsoft/vscode/issues/85988:
When debugging in the Web UI on Firefox breakpoints are white and misaligned:

In Chrome they look ok:

@misolori can you look into this? I can also help so just ping.

@isidorn yea I'll take a look at this

Looks good now:


Feature Request: Update Node.js

Problem
Console log warning message: The plugin "homebridge-rainbird" requires Node.js version of ^14.21.1 || ^16.18.1 || ^18.12.1 which does not satisfy the current Node.js version of v16.13.2. You may need to upgrade your installation of Node.js - see https://homebridge.io/w/JTKEF
Solution
Update to the latest Node.js version
Alternatives
No response
Additional context
No response

Depending on how you installed Homebridge will be how you update it.
https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js

Ah got it, thank you!


docs: Add 1.20.1 release notes to main

Signed-off-by: Greg Greenway<EMAIL_ADDRESS>
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest


Added new error type that will not be retried by frontend

Note this PR needs to be updated after this is IDL update is landed: https://github.com/uber/cadence-idl/pull/165, so we can point the submodule to the correct commit.

What changed?
The workflowID ratelimiting now returns UserServiceBusyError, frontend will not retry the requests to history, but will instead convert the error to a ServiceBusyError and return it to the user.

Why?
We do not want frontend to retry the requests to history when the ratelimit hit is the per workflow one. We just want it to return to the user.

How did you test it?
Tested via integration test and unit test

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018e56a2-9b5e-4ea9-ab61-400e107e6192
Details

9 of 9 (100.0%)  changed or added relevant lines in 3 files are covered.
21 unchanged lines in 9 files lost coverage.
Overall coverage increased (+0.1%) to 64.979%

Files with Coverage Reduction
New Missed Lines
%

service/history/task/transfer_standby_task_executor.go
2
87.01%

service/matching/taskReader.go
2
84.88%

common/task/weighted_round_robin_task_scheduler.go
2
88.56%

service/history/task/transfer_active_task_executor.go
2
72.51%

common/util.go
2
91.71%

common/persistence/historyManager.go
2
66.67%

service/history/queue/timer_queue_processor_base.go
3
77.82%

common/persistence/statsComputer.go
3
94.29%

service/history/task/fetcher.go
3
85.57%

Totals

Change from base Build 018e43c7-e893-4c40-a63b-442d9dceb207:
0.1%

Covered Lines:
94853

Relevant Lines:
145974

💛  - Coveralls


Not showing cooments as function description

I cant use python comments to describe my api in swagger
it makes swagger useless
i cant to set description for fields
i cant explain responses
can you help me?

@esclkm Please take a look at the Django REST Framework schemas are. This explains how to annotate your views as well as override the SchemaGenerator with your own.
http://www.django-rest-framework.org/api-guide/schemas/
If you believe there is a bug (i.e. docstring not being picked up for function-based views), please open an issue and a failing test case on the DRF project.
Hope this helps!

This thread helped me solved my problem. Here is my solution. Hope it helps!
views.py
class SurgeryView(viewsets.ModelViewSet):
    '''
    This endpoint presents treatment types.

    Try it yourself by setting query parameters surgery_type: **nose**, sub_type **1**,
    '''
    queryset = SurgeryType.objects.all()
    serializer_class = SurgeryTypeSerializer


Initialise notifications project

We need to point to a specific Information Model (use SubModules - same as the other projects)...

We need to point to a specific Information Model (use SubModules - same as the other projects)...

Submodule has been added to repository.


README info added, cleaned up site.

@jpolton @anwiseNOCL I've attempted to clean up to docs website a little and added the information from the README. A small introduction has been added to the opening page, with a note that the site is currently under construction. Hopefully, any users who approach the site right now should be a little less confused. I guess you can use hugo server within this branch to see the updated site?
@thogar-computer @matt-caz Have I done everything correctly here? I approached this in the same way as COAsT, i.e. branched develop, made changes directly to the .md files and directories in /docs and then added/commited/pushed.
EDIT: This pull request is for develop but in hindsight I should've done it for master. I'll do the master merge once this is accepted.
EDIT2: @thogar-computer @matt-caz I can't figure out how to reorder the sections so that the two Contributing sections are together on the left. Can you offer any advice?

@jpolton Done 2/3. I agree with the comment about reordering the menu, but I haven't figured out how to do it yet... I'll ad it as a ticket.


Get producer List for topics

Description
Is it possible to get list of producers for topics?

no, this isn't something that kafka tracks.


feat adding files for initial release

add: wireguard installation and folder creation script

Looks good. Aside from the readme of course. Let's see if my tooling works on merge.