Support DocumentFragment

Synopsis
This pull request introduces an ability to handle DocumentFragment, which is another notable subclass of Node other than Element nor Text.
It allows a function to return multiple VNodes without an extra wrapper element, resolving #560.
fragment function is now exported from the entry point.
There is, however, a room for discussion on the design of the API.
The second commit will allow us to use a DocumentFragment as a container, in addition to an Element.
Possible design choices
a) Public API
In the current implementation I chose a2), but of course it's okay to change it along with the discussion before merging.
a1) Extend h function so that it can create a fragment
Looking around the documents and test cases, there is no doubt that the most popular way to produce a VNode is to call h function.
This is why adding such an ability to h function can be a good choice.
There are still some possible APIs:

a11) h(children)

react-hyperscript uses this.

a12) h(undefined, children)
a13) h('', children)

Pros

No extra import is needed other than h

Cons

AFAIK this doesn't exist in the original hyperscript notation

UPDATE: I've noticed that we already have a syntactic extension to the original hyperscript: h('!', ...)

a2) Provide a function other than h
As the original hyperscript notation does not consider fragments, it may be undesirable to change the API of h function.
We may want to export different function other than h for this reason.
In the current implementation, I named it fragment, but to be honest I'm not sure what is the good name for this function.
If we also want to support JSX fragments (which I'm working on in #974), Fragment (with a capital "F") should be avoided, as it is a conventional name for it.
Pros

Does not break the original API of h function

Cons

It must be named
Consumers have to add an extra import for it

a3) Do nothing
Of course VNodes can also be created with vnode function, vnode(undefined, {}, children, undefined, undefined) will just do.
Pros

No new API have to be introduced

That is, we can defer the decision. Maybe we can merge this time and continue to discuss what the desirable API look like later on.

Cons

It may look like a "hidden" API
Children must be normalized manually before passing them to vnode

b) Internal representation
It is relatively minor topic compared to what the public API should look like, but we also have to decide how a VNode representing a DocumentFragment is encoded.
In the current implementation I chose b1), but there are no profound reasons for this choice.
Please note that both b1) and b2) are assignable to the current implementation of VNode type.
b1) { sel: undefined, children: [...] }
Currently VNode type is defined like this:
https://github.com/snabbdom/snabbdom/blob/27e9c4d5dca62b6dabf9ac23efb95f1b6045b2df/src/vnode.ts#L12-L19
In spite of its assignability to VNode type, { sel: undefined, children: [...] } is not a first-class citizen of Snabbdom, and will cause a runtime error.
This option will give a correct semantics to such an empty seat.
b2) { sel: '', children: [...] }
I saw @staltz passing an empty string to the first argument of vnode function in #320, perhaps meaning "whatever".
As this line is still alive in the code base, it may be more conventional.
https://github.com/snabbdom/snabbdom/blob/27e9c4d5dca62b6dabf9ac23efb95f1b6045b2df/src/tovnode.ts#L35
Breaking changes
This is technically breaking, as DOMAPI now requires createDocumentFragment and isDocumentFragment method.

@mreinstein @mightyiam @jvanbruegge I would appreciate it if you could give some feedbacks on the API. Thanks!

I think the proposal is well written, thank your for taking the time to think about and write it!
I don't understand how this works when document fragments are nested and changed. Doesn't this break the current diffing algorithm?
I think I'd need to see a fairly comprehensive set of tests to have some confidence that this works for nesting.
It seems like an ambitious fix for #560
That's my initial thoughts anyway, I don't speak for others. @jvanbruegge @paldepind what are your thoughts?

@mreinstein As we've gotten no responses from other maintainers after 4 months, I'd like to make it clear what is the next step and what is have to be done in order to ship this feature.
I love Snabbdom's zen of minimalism, and understand it's hard to decide to add a new stuff to the core, but I also often feel awkward that a virtual DOM library cannot handle the Web API itself well.
Without this, we will continue sufferring from a bunch of extra <div> elements that breaks CSS styles (e.g. :first-child), or branching against VNode | VNode[].

By the way, I'm also not very sure if the diffing algorithm works well for complexly nested fragments, and this indeed makes it harder to merge this into the core.
There are, however, several plans to mitigate the pain.
One idea is to ship it with marking it as an "experimental" feature, without a guarantee of major version bumps on breaking changes.
This make is it much easier for us to add a breaking changes to the API, or even to remove it in the future if really needed.
The second one is, it is not orthogonal to the first one though, to make it completely opt-in.
The point here is that this PR only introduces a single change to the core: yet another else-if branch shown below.
https://github.com/snabbdom/snabbdom/blob/d1965fb85493061c6044b2b1239fe2e9b52daca6/src/init.ts#L165-L177
And the proposed API here is something like this:
// Currently the `init` function takes the optional DOM API implementation
// so we might also have to put it into the options object, but anyway:
const patch = init(modules, {
  experimentalFragments: true, // default: false
})

By changing the condition to else if (options.experimentalFragments && vnode.children), we can ship it as an opt-in feature without any breakage.
When we consider it to be battle-tested enough and no longer unstable someday in the future, then we can simply turn the default value to true.
Done is better than perfect, and we even can get feedbacks from the early adopters in the community, which will help us incrementally improve the library.
In fact I'm very eager to test it on our production environment.
(We @herp-inc heavily uses Cycle.js w/ Snabbdom for our software development.)
What do you think?

Sorry for not being active for so long, I had several time consuming projects. I support the idea of explicitly marking this as experimental, with an explicit opt-in. I will take a look over the code later this week and then go ahead and merge it, given no objections from @mreinstein

Thank you @jvanbruegge!
I understand your situation where you're working very hard on some tough projects (such as research on the row polymorphism).
I really appreciate your contribution.

Sorry for the reply delay.  I also support pushing this out as an experimental opt-in feature. PR looks ok to me I think.

My only gripe with this PR is there's no updates to the documentation explaining this capability or how to use it.
Other than that it looks good.

Thank you again @mreinstein!
So my next tasks are:

Make it experimental
Add some docs about fragment function

I hope I can accomplish them by the next weekend, but there might be a delay.

Hi @mreinstein and @jvanbruegge. Today I've added 3 commits.
The first one prevents DOMAPI from facing a breaking change.
It's achieved by making .createDocumentFragment() and .isDocumentFragment() optional.
Due to this change, this pull requests introduces no breaking changes, so a minor version bump should be sufficient.
Instead, you'll face a runtime error when you try to play with fragments on an unsupported platform.
The second one makes this feature experimental and opt-in.
The init function now takes the third argument: options.
I suppose, however, the second argument domapi should be put into it in the next major version bump
The last one adds a documentation for fragment function.
Please ping me if it looks good. I'll squash the "fixup!" commits.

The code looks good for merge, just needs a rebase to fix the merge conflict

@jvanbruegge @mreinstein I've rebased the branch to resolve a merge conflict and squash the commits, and then force-pushed it.
The pull request should be ready for the review again!

I've published 3.2.0 now

Great work @ryota-ka thanks for seeing this through!

Thanks again @jvanbruegge and @mreinstein!
I really appreciate your dedication.
Then I'll work on #974 next.

While I was trying to adopt this in Cycle.js, I found that it is impossible to pass the option to turn an experimental feature on to the init function, as the makeDOMDriver function does not accept such an argument at this moment.
So I'm thinking of doing these of two changes:

Export Options type from the entrypoint of snabbdom

Making it public, there is a room for discussion of its name (Options, InitOptions, or some other cool name?)

Update makeDOMDriver function to accept the options for the Snabbdom's init function.

If this looks okay, I'll submit pull requests.
cc: @staltz


Running Commands on SSL running command prompt using scripting automation

Hi
I need to enter commands or enter some test on SSL running command prompt. First, I lunched openssl.exe on one command prompt. Now I will run one .exe file. it will connects to SLL layer where running on windows command prompt. Now I need to enter some commands or text on SSL running command prompt and after running command, I will get one response. I need to capture that response. All this need to done by scripting. How to do this?. Please share your ideas.
Thanks.

Do you want ssh for this?

marking as inactive, to be closed at the end of 3.4 dev, barring further input


Remove moment as a peerDependency

Closed via https://github.com/noona-hq/react-native-week-month-date-picker/commit/f681bfa8c94568cdff95917a85274288e2c37666


[macOS] Replace all Alt/Option+Letter/Number default shortcuts to avoid conflicts with special character input.

Fixes https://github.com/godotengine/godot/issues/66678 and other similar issues.

Meta+Ctrl+Alt+Key combinations seem quite convoluted. Can't we find other combinations without Alt if it's too conflicting with normal input?
Otherwise, it seems like not setting any shortcut might be better than shortcuts which can't be discovered nor typed easily.

Meta+Ctrl+Alt+Key combinations seem quite convoluted. Can't we find other combinations without Alt if it's too conflicting with normal input?

Simplified it a bit (with one exception):

Action
Default Shortcut
macOS Shortcut
Note

ui_text_select_word_under_caret
ALT+G
META+CTRL+G

file_dialog/toggle_favorite
ALT+F
META+CTRL+F

file_dialog/toggle_mode
ALT+V
META+CTRL+V

script_text_editor/toggle_fold_line
ALT+F
CTRL+META+F

editor/quick_open
SHIFT+ALT+O
META+CTRL+O

editor/quit_to_project_list
CTRL+SHIFT+Q
META+CTRL+ALT+Q
everything with a Q is either used or system keys

editor/editor_2d
CTRL+F1
META+CTRL+KEY_1

editor/editor_3d
CTRL+F2
META+CTRL+KEY_2

editor/editor_script
CTRL+F3
META+CTRL+KEY_3

editor/editor_assetlib
CTRL+F4
META+CTRL+KEY_4

script_editor/save_all
SHIFT+ALT+S
META+CTRL+S

With this PR merged locally (and a few others, but this one seems like the likely culprit), I get these errors when opening the editor:
ERROR: EditorSettings not instantiated yet.
   at: ED_SHORTCUT_OVERRIDE (editor/editor_settings.cpp:1451)
ERROR: EditorSettings not instantiated yet.
   at: ED_SHORTCUT_OVERRIDE (editor/editor_settings.cpp:1451)
ERROR: EditorSettings not instantiated yet.
   at: ED_SHORTCUT_OVERRIDE (editor/editor_settings.cpp:1451)
ERROR: EditorSettings not instantiated yet.
   at: ED_SHORTCUT_OVERRIDE (editor/editor_settings.cpp:1451)

With this PR merged locally (and a few others, but this one seems like the likely culprit), I get these errors when opening the editor

Seems like help generator is creating EditorFileDialog before editor settings.

Hm, seems like ED_SHORTCUT_OVERRIDE is completely broken, all overridden shortcuts are reset on editor restart.

I was a bit dubious of that change, might be related? #71792

I was a bit dubious of that change, might be related?

Yes, reverting this change fix it.

CC @EricEzaM @YuriSizov

I was a bit dubious of that change, might be related? https://github.com/godotengine/godot/pull/71792

Updated PR. Should fix both #71792 regression and #66428.

Looks good to me :+1:

Oh, sorry about that. I'm not too familiar with that part, but the changed look sensible at the time.

Thanks!

Hi All - sorry about that. I messed up here.
However, why was this removed from editor_settings.cpp?
sc->set_meta("original", events.duplicate(true)); //to compare against changes

Now if a shortcut is loaded from the editor settings file (e.g. a user has customised a shortcut), then there is nothing to compare against for reverting it. This also breaks the shortcut list as it expects shortcuts to have an "original" meta set.
Go into editor settings, customise a shortcut (that does not have a platform ED_SHORTCUT_OVERRIDE), then restart the editor and the shortcut is no longer in the list.

Now if a shortcut is loaded from the editor settings file (e.g. a user has customised a shortcut), then there is nothing to compare against for reverting it. No way to know what the 'original' was before customisation. This also breaks the shortcut list as it expects shortcuts to have an "original" meta set.

https://github.com/godotengine/godot/pull/73664 adds a new meta to mark user customized shortcuts (used only to skip overrides), and restores set_meta("original".... line.


refactor portal package structure

Changes Unknown when pulling f27cc5bdf7b4c0b7cf1c5cbf7dd361b2a149cd12 on lepdou:email into ** on ctripcorp:master**.

Current coverage is 45.58% (diff: 100%)

No coverage report found for master at 1f6d2cd.

Powered by Codecov. Last update 1f6d2cd...f27cc5b

Changes Unknown when pulling d121abf367a5491579950c3882c6b1b392e2150f on lepdou:email into ** on ctripcorp:master**.


curl api.YOUR-SYSTEM-DOMAIN/info -  Could not resolve host:

HI Team,
I'm trying to deploy CF on AWS and all VMs are created without any issues.
But could not do curl for api, though configuration in Hosted zone are present, including the CNAME record for "* .offshore.mydomain.com" pointing to "cfrouter11-1606644234.us-east-1.elb.amazonaws.com".
I was able to resolve the 'bosh.offshore.mydomain.com', by "dig"

curl api.sys.offshore.mydomain.com
curl: (6) Could not resolve host: api.sys.offshore.mydomain.com; Name or service not known

Please let me know what I'm missing.

bosh vms

+---------------------------------------------------------------------------+---------+-----+-----------+-------------+
| VM                                                                        | State   | AZ  | VM Type   | IPs         |
+---------------------------------------------------------------------------+---------+-----+-----------+-------------+
| api_worker_z1/0 (4d080a96-c2fd-4ce9-8cbf-aa303d555f1c)                    | running | n/a | small_z1  | <IP_ADDRESS>  |
| api_worker_z2/0 (2f7871b6-629f-4be9-93f1-3527e08004fa)                    | running | n/a | small_z2  | <IP_ADDRESS>  |
| api_z1/0 (cffcf41f-b673-4d7d-a430-15ae71e6a0ce)                           | running | n/a | large_z1  | <IP_ADDRESS>  |
| api_z2/0 (35742645-5376-41ff-97eb-98d7d8a559a3)                           | running | n/a | large_z2  | <IP_ADDRESS>  |
| clock_global/0 (e93ac8d3-e366-424a-a601-30aec7859848)                     | running | n/a | medium_z1 | <IP_ADDRESS>  |
| consul_z1/0 (da32f439-2a17-4e70-bb82-79862aa6721f)                        | running | n/a | small_z1  | <IP_ADDRESS> |
| consul_z1/1 (7f819bc4-559b-41a0-8648-9b128d9658be)                        | running | n/a | small_z1  | <IP_ADDRESS> |
| consul_z2/0 (549c588b-cc38-4785-b2e0-61ae7a058b90)                        | running | n/a | small_z2  | <IP_ADDRESS> |
| doppler_z1/0 (eb41fe30-e134-4691-aafb-6573fa009bab)                       | running | n/a | medium_z1 | <IP_ADDRESS>  |
| doppler_z2/0 (e19686d8-e6bd-477d-a0af-87cfa03ce44e)                       | running | n/a | medium_z2 | <IP_ADDRESS>  |
| etcd_z1/0 (501fae48-fea8-4acc-ae52-87eb3be1342d)                          | running | n/a | large_z1  | <IP_ADDRESS> |
| etcd_z1/1 (0f8dae55-28fc-4ca2-ac22-7844464d49bb)                          | running | n/a | large_z1  | <IP_ADDRESS> |
| etcd_z2/0 (3e6e05bb-b7c7-46cc-9797-53654990c488)                          | running | n/a | large_z2  | <IP_ADDRESS> |
| hm9000_z1/0 (d8fa6fa5-7ec3-4391-9d42-a2a910e545ff)                        | running | n/a | medium_z1 | <IP_ADDRESS>  |
| hm9000_z2/0 (49fb6f22-6ddb-4809-beba-93a0d0b1d9f0)                        | running | n/a | medium_z2 | <IP_ADDRESS>  |
| loggregator_trafficcontroller_z1/0 (b1cd1615-1738-436b-ab33-7393322cb15a) | running | n/a | small_z1  | <IP_ADDRESS>  |
| loggregator_trafficcontroller_z2/0 (c68f3cc8-5a0e-47a1-90e4-165ddec2e02d) | running | n/a | small_z2  | <IP_ADDRESS>  |
| nats_z1/0 (ffb7272d-cc03-44ac-a3f5-c4f4321a7bec)                          | running | n/a | medium_z1 | <IP_ADDRESS> |
| nats_z2/0 (7bfdefc8-45df-42bf-a807-ae693add0b71)                          | running | n/a | medium_z2 | <IP_ADDRESS> |
| router_z1/0 (9684fbf6-3057-4fe3-8398-c6179bcd03a0)                        | running | n/a | router_z1 | <IP_ADDRESS>  |
| router_z2/0 (b5a02967-ca62-49f3-86b1-3697344d1678)                        | running | n/a | router_z2 | <IP_ADDRESS>  |
| runner_z1/0 (ade1acfc-a242-4974-b87d-b172c9fffd72)                        | running | n/a | runner_z1 | <IP_ADDRESS>  |
| runner_z2/0 (a82a047c-8fa0-4cfd-b4f6-1403dc60f4a2)                        | running | n/a | runner_z2 | <IP_ADDRESS>  |
| stats_z1/0 (d4857164-8f9c-45e1-a600-47a5f1b7c9fa)                         | running | n/a | small_z1  | <IP_ADDRESS>  |
| uaa_z1/0 (05f70fa9-cdf2-42ce-a5b8-9d387f9d4fa7)                           | running | n/a | medium_z1 | <IP_ADDRESS>  |
| uaa_z2/0 (6d7614a6-53a3-4e1c-938f-fd3cea3f41ad)                           | running | n/a | medium_z2 | <IP_ADDRESS>  |
+---------------------------------------------------------------------------+---------+-----+-----------+-------------+

Hey @Senthilannaswamy. It looks like you can resolve bosh.offshore.mydomain.com, but can you resolve sys.offshore.mydomain.com? If that doesn't resolve, then api.sys.offshore.mydomain.com surely won't resolve either. You could also try to deploy without the additional sys. -- set your system_domain properties in the manifest to offshore.mydomain.com, and you'll exclude the sys..

HI Dsabeti,
Yes, I'm able to resolve bosh.offshore.mydomain.com.
I've did

bosh delete deployment,
updated cf-stub.xml, with system_domain without sys.. Regenerated the deployment-manifest.
bosh deploy

Deployment is successful, but still same issue.

[centos@ip-10-11-0-83 deployment]$ nslookup api.offshore.mydomain.com

Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53
** server can't find api.offshore.mydomain.com: NXDOMAIN

[centos@ip-10-11-0-83 deployment]$ nslookup bosh.offshore.mydomain.com

Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53
Non-authoritative answer:
Name:   bosh.offshore.mydomain.com
Address: <IP_ADDRESS>

Looks like "nat server configuration" issues, not sure.
Please suggest.
Thanks
Senthil

Hey @Senthilannaswamy. My question was actually: can you resolve sys.offshore.mydomain.com? Either way, your system domain (sys.offshore.mydomain.com before you made the change to your cf stub) must resolve to the load balancer for your deployment (ELBs in this case). Also, any subdomains of your system domain (api.sys.offshore.mydomain.com for example) should resolve to the load balancer as well.
Your first comment says that you have a CNAME record for *.offshore.mydomain.com that maps to your ELB.That's good. Do you also have NS and SOA records for offshore.mydomain.com? For mydomain.com? I'm pretty sure you'll need all of those DNS entries in order for your CNAME record to take effect.

Hi Dsabeti,
I could not resolve the sys.offshore.mydomain.com, as you said so is api.offshore.mydomain.com.

[centos@ip-10-11-0-83 cf-release]$ dig sys.offshore.magellancloud.com
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.2 <<>> sys.offshore.magellancloud.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 51867
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sys.offshore.magellancloud.com.        IN      A
;; AUTHORITY SECTION:
magellancloud.com.      60      IN      SOA     ns-1931.awsdns-49.co.uk. awsdns-hostmaster.amazon.com. 1 7200<PHONE_NUMBER> 86400
;; Query time: 36 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Sun Apr 16 16:15:50 UTC 2017
;; MSG SIZE  rcvd: 143

Yes, SOA and NS records are present "public hosted zone" for mydomain.com.
Here are my R53 configuration for CF,

Name|Type|Value
*.offshore.magellancloud.com.|CNAME|cfrouter11-1606644234.us-east-1.elb.amazonaws.com
bat.offshore.magellancloud.com.|A|<IP_ADDRESS>
bosh.offshore.magellancloud.com.|A|<IP_ADDRESS>
micro.offshore.magellancloud.com.|A|<IP_ADDRESS>

Please let me know what else configuration is missing.

Hi Dsabeti,
Looks like issue on our AWS setup, will keep you posted.
Thanks
Senthil

Hi  Dsabeti,
The issue was public DNS entry was taking a while to get refresh. Now I'm able to get access.
Thanks
Senthil


[5.0.2] Fix | Adding disposable stack temp ref struct and use

Backporting fix to 5.0-servicing branch.  This fixes the memory leak in the CancellationToken introduced from #1785 to address #1810.  These changes are based on #1818.

@David-Engel @lcheunglci Really appreciate your response to community feedback.

Thanks @ErikEJ for reminding us. We're glad that you were able to spot it since 5.0 will reach EOS in July, and it's uncertain if there'll be a 5.0.3 in time.

@roji Interesting. So EF Core 7 will depend on an unsupported SqlClient version...


Display commit status on landing page of repo

This will implement a part of #996 and so #1029.
The modification of the ui will be like this:

Status is now displayed.

To follow the merged #1688, this could be done before adding the information for PR.

#1798 @lunny @tboerger @sapk @cez81 @geek1011 @lafriks @ethantkoenig @andreynering @DblK

CI failed.

I saw, I need to rebase on master so the build will not failed since RepoCreationNum as been renamed in MaxCreationLimit.

@DblK Any update? 🙂

Kind of busy right now, I'll work on it later.

@DblK Any updates on this?

@DblK if you are some busy, could some maintainers help you to finish this PR?

If some maintainers want to finish then go for it.

See below three places status and all have links to CI now.

LGTM

LGTM

Codecov Report

Merging #1784 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1784      +/-   ##
==========================================
- Coverage   27.85%   27.83%   -0.02%
==========================================
  Files          83       83
  Lines       16825    16835      +10
==========================================
  Hits         4686     4686
- Misses      11464    11474      +10
  Partials      675      675

Impacted Files
Coverage Δ

models/status.go
5.02% <0%> (-0.3%)
:arrow_down:

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 633de01...f87655e. Read the comment docs.

@lafriks done.

@ethantkoenig oh sorry, just found need your approval after I merged.

@lunny No worries, it looks my suggestion was addressed nonetheless

@ethantkoenig OK.


AWS X-Ray

Started work on X-Ray cuz it looked cool and #1006 wanted it. Now I regret it, its like one of AWS's secrets giving out little documentation.
Will probably need actual xray data from the community to get the data structures and logic locked down but I have make a good crack at it which will be a decent starting point. Also helps AWS are using a different API structure yet again :smiley:.
Want to implement the last 3 endpoints, to return correct but empty data, least that way boto wont blow up.
TODO:

[x] BatchGetTraces
[x] GetServiceGraph
[x] GetTraceGraph
[x] GetTraceSummaries
[x] PutTelemetryRecords
[x] PutTraceSegments

Coverage decreased (-0.4%) to 93.149% when pulling edd10aaa1915e51201b5daba31a4f3c895e3fa99 on terrycain:xray into d69221992758e8fcced467c7b1c7cbd5f5a2d671 on spulec:master.

Coverage decreased (-0.4%) to 93.149% when pulling a401b4f36d003a4b669f67b6f09c66f28fc17237 on terrycain:xray into d69221992758e8fcced467c7b1c7cbd5f5a2d671 on spulec:master.

Coverage decreased (-0.4%) to 93.234% when pulling 7ea4d8c3e617232f78211da4e772da180ce32a4f on terrycain:xray into d69221992758e8fcced467c7b1c7cbd5f5a2d671 on spulec:master.

Coverage decreased (-0.4%) to 93.155% when pulling 7ea4d8c3e617232f78211da4e772da180ce32a4f on terrycain:xray into d69221992758e8fcced467c7b1c7cbd5f5a2d671 on spulec:master.

All the methods are mocked. GetServiceGraph, GetTraceGraph just return acceptable json so boto doesnt go mental.
Finished for now :smile:

Coverage decreased (-0.3%) to 93.32% when pulling 0bd3899cb311107bec2f997907e8f013dfefe145 on terrycain:xray into d69221992758e8fcced467c7b1c7cbd5f5a2d671 on spulec:master.

This is a fantastic start to XRay, @terrycain - you're on a damned roll

Yeah, looking at X-ray and some of the microservice stuff I do at work, I reckon it'll be useful soon so we should see a decent implementation in the not so distant future.
Can we add a UDP mode to moto? or branch out to another repo to either mock the aws xray daemon or spin up the aws xray daemon in test mode, as thats the real thing that needs mocking

@terrycain That's an interesting idea. I don't know why Moto server can't bind to a UDP socket. If AWS does it it seems reasonable to have Moto server do it.
(this PR is now released as Moto 1.1.14)


Update to JWT

Uses the pre-release of JWT and updates all references from VaporJWT to JWT. Please validate that the verification process is still correct.

@Skyback ok, it will now throw (a new type of error) instead of returning a bool. I intentionally added the new error type in order to keep the existing logic on the callsite, although that it might be possible to simplify that as well.

@steffendsommer It seems nice :) Just the conflict to resolve and I'm happy to merge it.


Removes Suits

Did some extensive testing and I believe this mod is causing the suits to disappear? It happens when I open a save for the second time (I also have more suits installed)

Can you tell me which suits mod you're using. Just tested with the vanilla pajama suit, but kept the suit when I reloaded the save.

Im also having this same issue where all suits are turned into orange suits on the rack. I do not have any evidence pointing to this mod being the issue but seeing as he said he did extensive testing , I would assume me and him are both having the same issue. I am going to uninstall this mod to see if it helps with the issue because I have not done so yet. Am currently having an issue where players are not being teleported. Only other mod I have pertaining to teleporters would be GeneralImprovements which only lowers the cooldown times and lets you pick what you can be teleported with. Will come back to this after doing some testing to see if I can fix my issue. Thanks !


Give the ability to choose DPI

I would love if the DPI were not fixed but can be set by the end user!

Now it's available in 0.3.6


Automate product releases on discord

💭 Introduction
Akto has a discord channel where we want all the release notes to be automated from GitHub.
🎯 Requirements

Understanding of Discord
Understanding of github actions

✅ Task summary

[ ] Ask to be assigned to the issue.
[ ] Wait to be assigned. We will try to assign in less than 2 hours.
[ ] Use this GitHub Action to automate release notes to Discord.
[ ] You will need Discord's API key. Use webhooks server integrations.
[ ] Please get the workflow working using your API key. Please don't expose your key in code. use secret variables.
[ ] Submit PR here. We will put our API discord server's key under the name DISCORD_API_KEY.

🙋🏼♂ Questions:
If you have questions, need any help, or just want to hang out, make sure to join us on our Discord server.

Hey, can I work on this issue?

hi @Prixix assigned to you the issue! Happy hackfesting 🎉

Hey I want to work on this! Can I be assigned?

hi @siddoinghisjob , this issue is already assigned. We've created a similar issue for you. commenting you there. 🙏

Thank you so much for the contribution! The changes have been merged 👍

Thank you so much for the contribution! The changes have been merged. ❤

@Prixix  Add details in this form for your swags

Hi @Prixix let me know once you are done adding details. thanks


Non root support

How can I reproduce the permissions issue you've mentioned? I've tried on Mac where docker is running as a VM and in Linux where it's conatainers-based. I've tried to create data dir and run docker under root and non-root and have never seen an error like yours.
root@dev /tmp # mkdir data

root@dev /tmp # ls -la data/
total 92
drwxr-xr-x  2 root root  4096 Sep 21 14:04 .
drwxrwxrwt 46 root root 86016 Sep 21 14:04 ..

root@dev /tmp # docker run --rm --name manticore_local -v $(pwd)/data:/var/lib/manticore -p <IP_ADDRESS>:9318:9306 -d manticore_local
4db2ba1616cc9dabbc216e595e323f1f00c797dc226874509445edb755bf52e6

root@dev /tmp # ls -la data/
total 96
drwxr-xr-x  3 gitlab-runner root    4096 Sep 21 14:04 .
drwxrwxrwt 46 root          root   86016 Sep 21 14:04 ..
drwx------  2 gitlab-runner docker  4096 Sep 21 14:04 binlog
-rw-------  1 gitlab-runner docker     0 Sep 21 14:04 state.sql

root@dev /tmp # mysql -P9318 -h0
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.2 348514c86@220530 dev git branch HEAD (no branch)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create table t;
Query OK, 0 rows affected (0.05 sec)

mysql> exit
Bye

root@dev /tmp # ls -la data/
total 104
drwxr-xr-x  4 gitlab-runner root    4096 Sep 21 14:04 .
drwxrwxrwt 46 root          root   86016 Sep 21 14:04 ..
drwx------  2 gitlab-runner docker  4096 Sep 21 14:04 binlog
-rw-------  1 gitlab-runner docker    84 Sep 21 14:04 manticore.json
-rw-------  1 gitlab-runner docker     0 Sep 21 14:04 state.sql
drwx------  2 gitlab-runner docker  4096 Sep 21 14:04 t

gitlab-runner has id 999, but that's it, no error.

MRE
snikolaev@dev:/tmp$ cat docker-compose.yml
version: '2.2'

services:
  manticore:
    user: manticore
    container_name: manticore_local
    image: manticore_local
    restart: always
    ports:
      - <IP_ADDRESS>:9318:9306
    ulimits:
      nproc: 65535
      nofile:
         soft: 65535
         hard: 65535
      memlock:
        soft: -1
        hard: -1
    environment:
      - MCL=1
    volumes:
      - ./data:/var/lib/manticore
#      - ./manticore.conf:/etc/manticoresearch/manticore.conf # uncommment if you use a custom config

where manticore_local is an image built from the updated Dockerfile.
snikolaev@dev:/tmp$ docker-compose up
manticore_local is up-to-date
Attaching to manticore_local
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local | mkdir: cannot create directory ‘/var/lib/manticore/.mcl/’: Permission denied
manticore_local | ERROR: Manticore Columnar Library is inaccessible: couldn't create /var/lib/manticore/.mcl/.
manticore_local exited with code 0

If I remove
    user: manticore

the problem doesn't appear.

MRE w/o docker-compose
snikolaev@dev:/tmp$ sudo rm -fr data/
snikolaev@dev:/tmp$ docker run --user=manticore --name manticore_local -v $(pwd)/data:/var/lib/manticore -p <IP_ADDRESS>:9318:9306 -d manticore_local
57812beffabd798e152f1d101cd670b3e1f4053b182123eb93a48ea426ad851e
snikolaev@dev:/tmp$ docker logs manticore_local
[Wed Sep 21 12:28:06.376 2022] [1] using config file '/etc/manticoresearch/manticore.conf' (9167 chars)...
[Wed Sep 21 12:28:06.395 2022] [1] FATAL: directory /var/lib/manticore write error: failed to open /var/lib/manticore/tmp: Permission denied
Manticore 5.0.2 348514c86@220530 dev
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
Copyright (c) 2017-2022, Manticore Software LTD (https://manticoresearch.com)


Add new plugin in craclord

Hello,
I wrote a simple plugin and I am trying to add it to Cracklord-system.
However I have problem with adding my plugin. I cannot see the supported algorithms in "Select hash type" tab. See the pictures:

I created my decrypt.go file based on hashcat.go file.
The supported hash algorithms for my plugin are:
var supportedHash = map[string]string{
"descrypt, DES(Unix), Traditional DES": "1500",
"WPA/WPA2":                             "2500",
}
var supportedHashInt = map[string]int{
"descrypt, DES(Unix), Traditional DES": 1500,
"WPA/WPA2":                             2500,
}
I also had updated all .conf files
I added and applied all necessary changes in Cracklord for my plugin, but I cannot see its functionality.
Could you explain me an approach for adding new plugins in Cracklord?
Thanks in advance!
Best regards

Did you get this working?
On Mar 9, 2016 8:54 AM, "ytronics"<EMAIL_ADDRESS>wrote:

Closed #104 https://github.com/jmmcatee/cracklord/issues/104.
—
Reply to this email directly or view it on GitHub
https://github.com/jmmcatee/cracklord/issues/104#event-583383001.

Yes, I fixed my errors and I am developing my tool.

Awesome. Feel free to ask any questions you have along the way.
On Mar 10, 2016 7:53 AM, "ytronics"<EMAIL_ADDRESS>wrote:

Yes, I fixed my errors and I am developing my tool.
—
Reply to this email directly or view it on GitHub
https://github.com/jmmcatee/cracklord/issues/104#issuecomment-194849682.


Method is not found decoderEnforceMaxRstFramesPerWindow

https://github.com/line/armeria/blob/2e99b180518f2543c9189a1fe00d5a711a4a7a49/core/src/main/java/com/linecorp/armeria/client/Http2ClientConnectionHandlerBuilder.java#L38
https://github.com/line/armeria/blob/2e99b180518f2543c9189a1fe00d5a711a4a7a49/core/src/main/java/com/linecorp/armeria/server/Http2ServerConnectionHandlerBuilder.java#L46-L47

decoderEnforceMaxRstFramesPerWindow is introduced in the Netty 4.1.107.Final.
https://github.com/netty/netty/commit/58f75f665aa81a8cbcf6ffa74820042a285c5e61#diff-82f568a075ff63e9727ce8622f3a2b1553099182edf1fd0b4f857226252b05adR47
The problem will be fixed if you upgrade the netty version in your project.


Add support for RecyclerView

Hi @felipecsl
I like your QuickReturn, but I can not use it in a RecyclerView.
Could you add RecyclerView to your library?
Thanks.

+1 to this request...

+1

+1 more


Issues with PostgreSQL tables having column in jsonb

Postgres Scanner works absolutely fine with databases where the table doesn't contain columns with type jsonb.
Query:
D call postgres_attach(host=**** port=5432 user=***** password=***** dbname=*****');

Error:
Error: Invalid Error: IO Error: Unable to query Postgres: ERROR:  type "enum_*****_status" does not exist
LINE 1: SELECT unnest(enum_range(NULL::enum_*****_status))
                                       ^
 ERROR:  type "enum_*****_status" does not exist
LINE 1: SELECT unnest(enum_range(NULL::enum_*****_status))

Have a look this branch,
https://github.com/alitrack/postgres_scanner/tree/jsonb_uuid
Adds jsonb and UUID support

Hi @alitrack, Still receiving the same error.

Hi @alitrack, have tested with this branch but unfortunately, the issue still persists.  Same error as mentioned in the original issue.

@Ace139 could you attach some test SQL, thanks.

Table DDL
CREATE TABLE public."ReturnReasons" (
	id serial4 NOT NULL,
	reason varchar(255) NOT NULL,
	action_by_bu_fk int4 NOT NULL,
	status public."enum_ReturnReasons_status" NOT NULL DEFAULT 'ENABLED'::"enum_ReturnReasons_status",
	other_details jsonb NULL,
	created_at timestamptz NOT NULL,
	updated_at timestamptz NOT NULL,
	"order" int4 NULL,
	"type" public."enum_ReturnReasons_type" NOT NULL DEFAULT 'SKIP'::"enum_ReturnReasons_type",
	modality _varchar NULL,
	CONSTRAINT "ReturnReasons_pkey" PRIMARY KEY (id)
);

INSERT STATEMENT
INSERT INTO public."ReturnReasons"
(reason, action_by_bu_fk, status, other_details, created_at, updated_at, "order", "type", modality)
VALUES('', 0, 'ENABLED'::"enum_ReturnReasons_status", '', '', '', 0, 'SKIP'::"enum_ReturnReasons_type", ?);

@Ace139  please make sure the example works

Should be fixed


Fix extensions being remembered from previous connections

Extensions from previous connects were attempting to be replaced by UUID though the UUID had changed. The effect being that extensions were being remembered from previous connections. This PR fixes that issue.
Co-authored-by: Richard Powell<EMAIL_ADDRESS>
WHY are these changes introduced?
Fixes #280

WHAT is this pull request doing?
Resets the extensions per connect rather than trying to remove them from a map by UUID.'

Measuring impact
How do we know this change was effective? Please choose one:
The unit test labeled replaces existing extensions when connecting twice tests extension state using multiple connections
How to test your changes?
The unit test labeled replaces existing extensions when connecting twice tests extension state using multiple connections

Yes, when a connected message comes in everything in the state should be
replaced with the new payload - the app should not be persisted from a
previously run
On Fri, Aug 26, 2022 at 2:15 PM Dave Henry @.***> wrote:

@.**** commented on this pull request.
In
packages/ui-extensions-server-kit/src/state/reducers/extensionServerReducer.ts
https://github.com/Shopify/cli/pull/367#discussion_r956303195:

@@ -17,7 +17,7 @@ export function extensionServerReducer(state: ExtensionServerState, action: Exte
...state,
store: action.payload.store,
app: {...(state.app ?? {}), ...(action.payload.app ?? {})},

@vividviolet https://github.com/vividviolet Are you saying line 19
should just be app?
—
Reply to this email directly, view it on GitHub
https://github.com/Shopify/cli/pull/367#discussion_r956303195, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AHAYAKLXGPB6RTYA3UIUKULV3ECULANCNFSM57USCVJQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


prone crit spec while aquatic combat in effect

even though it's not super RAW, maybe it could be added as an option to assume everyone under aquatic combat effect is swimming, so prone crit spec won't be applied to such creatures? crit spec could be turned off, but it might only be 1/2-3+ PC's crit spec that isn't working correctly, and there could also be NPCs with such crit spec too

Aquatic combat—very specific case
In the future, I will publish Action Support Engine where you could turn off any rule or override it


Fix confusing result of listing service

When a node was down, and the tasks on the node have been migrated to
other nodes, the result of listing service is a bit confusing like
following, the Replicas is 3/2. It means the number of running tasks
is three while the number of replicas is two. To avoid the confusion,
we should not count the tasks whose hosting node is down as running
tasks.
$ swarmctl service ls
ID                         Name         Image           Replicas
--                         ----         -----           --------
974qragx7kjotucroesg17hcx  busybox-top  busybox:latest  3/2

Signed-off-by: Jin Xu<EMAIL_ADDRESS>v3: check node status not down, suggested by @dongluochen.
v2: ported from docker swarm client based on suggestion from
@aaronlehmann.

LGTM
ping @dongluochen

Current coverage is 54.84% (diff: 100%)

Merging #1270 into master will increase coverage by 0.11%

@@             master      #1270   diff @@
==========================================
  Files            78         78
  Lines         12426      12426
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6801       6815    +14
+ Misses         4680       4673     -7
+ Partials        945        938     -7

Powered by Codecov. Last update 36c1539...98df4ae

LGTM


fix(extension): fix subtitle for staking success drawer

Checklist

[ ] JIRA - LW-7488
[ ] Proper tests implemented
[ ] Screenshots added.

Proposed solution
Use proper translation key.
Testing
Reproducible only for non multi-staking scenario (use proper HW device and USE_MULTI_DELEGATION_STAKING_LEDGER or USE_MULTI_DELEGATION_STAKING_TREZOR  should be set to false)
Screenshots
Attach screenshots here if implementation involves some UI changes

Changes unknown
when pulling b9a6cb376734662b1c85875a3fac13afe7cf4fdf on fix/LW-7488-fix-staking-success-drawer-subtitle
into ** on main**.


Duplicate handlers for same route pattern

There are 2 routes defined with the same pattern in dns/index.js
app.get('/domain/:name/:tld', async (req, res) => {

and
app.get('/domain/:name/:domain', async (req, res) => {

I assume the later one never get called and should be removed

It has now been removed


Store configuration with TTL

When configuration is not reloaded, we have TTL it should expire in: AUTO_UPDATE_INTERVAL.
We can use LRU cache with TTL and just reload new configuration when accessed and expired.

This was done as part of #230 in https://github.com/3scale/apicast/pull/270


City Project panel fails to open

Open city panel , select project.
Close.
Try to open again and it wont open any more.
This is the log
CityPanel: DL_CityPanel Loading CityPanel_Expansion1.lua as base file
Runtime Error: bad argument #1 to 'func' (function expected, got nil)
stack traceback:
	[C]: in function 'func'
	D:\My Documents\My Games\Sid Meier's Civilization VI\Mods\Harmony in Diversity\UI\Replacement\DL_CityPanel.lua:128: in function 'LateInitialize'
	D:\My Documents\My Games\Sid Meier's Civilization VI\Mods\CQUI_Community-Edition-main\Assets\UI\Panels\CityPanel.lua:1256: in function 'OnInit'
Lua callstack:
UnitPanel: DL Loading UnitPanel_Expansion2.lua as base file

Is it a clash between two mods? Both using same function?

Addendum. Yup everything works fine once i removed Harmony in Diversity.

I have the same issue. Any fix to use both mods? @IceLancerSR

I have the same issue. Any fix to use both mods? @IceLancerSR

I gave up on harmony, mod wants to do too much , while not doing anything better then separate mods.
Atm:
its clashing with (from confirmed mods)
civilizations expanded
CIVITAS City-States Expanded
CQUI
Sukritact's civs all of them
Real strategy
Golden age - brave new world
Ditched harmony and took all from list

Not an issue with CQUI. I am closing this.


DST stitch count, wrong and weirdly calculated.

 for (StitchBlock stitchBlock : pattern.getStitchBlocks()) {
                for (int j = 0; j < stitchBlock.count(); j++) {
                    st++;
                }
            }

This should properly read:

for (StitchBlock stitchBlock : pattern.getStitchBlocks()) {
                st += stitchBlock.size();
            }

The oddity of iterating each point and adding one when you have the number of iterations is amusing. But, the serious problem is that .count() != .size(). The distinction here is that the PointList class is a list of points. And works a bit like an arraylist, increasing in size and decreasing as needed and with minimal effort and remaining in the form of an array of floats which can be quickly sent to the GPU for rendering, while being minimally sized in memory. The count() is the amount of the array which is considered clean. Whereas the size() is the number of actual points it contains. Since each point is has an x and y, there are two floats to every point. So .count() is twice the size of .size(), and should always be so in 2 dimensions.

In fact, I see nothing that moves the panograph to the location of the next item via jump stitches.
Or dealing with lines that happen the exceed the encoding limit of 12,1  mm.
There's a function I use to quickly divide these lines. On Touch Embroidery as part of a inheriting class of PointSeries (as it takes the points in a row as a series, which doesn't really need to be the case, they could just be a list of points), that subdivides the given points when they exceed a certain length:
public int longSplit(double maxDistance, int index) {
        if (count <= 2) return index;
        double maxDistanceSq = maxDistance * maxDistance;
        double lineDistance;
        int splits = 0;

        float ex1 = pointlist[count - 2];
        float ey1 = pointlist[count - 1];
        float sx1, sy1;

        for (int pos = count - 2; pos > 1; pos -= 2) {
            sx1 = pointlist[pos - 2];
            sy1 = pointlist[pos - 1];
            lineDistance = distanceSq(sx1, sy1, ex1, ey1);
            if (lineDistance > maxDistanceSq) {
                lineDistance = Math.sqrt(lineDistance);
                int breaks1 = (int) (Math.ceil(lineDistance / maxDistance)) - 1;
                splits += breaks1;
            }
            ex1 = sx1;
            ey1 = sy1;
        }
        if (splits == 0) {
            return index;
        }

        int splitCount = (splits * 2) + count;
        ensureCapacity(splitCount);

        int writePos = splitCount;
        float ex = pointlist[count - 2];
        float ey = pointlist[count - 1];
        float sx, sy;

        int returnIndex = (writePos) >> 1;

        pointlist[writePos - 2] = ex;
        pointlist[writePos - 1] = ey;
        writePos -= 2;
        int relativeIndex = index << 1;

        for (int readPos = count - 2; readPos > 1; readPos -= 2) {
            if (readPos == relativeIndex) {
                returnIndex = (writePos) >> 1;
            }
            sx = pointlist[readPos - 2];
            sy = pointlist[readPos - 1];
            lineDistance = distanceSq(sx, sy, ex, ey);
            if (lineDistance > maxDistanceSq) {
                lineDistance = Math.sqrt(lineDistance);
                int breaks = (int) (Math.ceil(lineDistance / maxDistance)) - 1;

                float stepX = (ex - sx) / (breaks + 1);
                float stepY = (ey - sy) / (breaks + 1);

                for (int q = breaks; q >= 0; q--) {
                    pointlist[writePos - 2] = sx + (stepX * q);
                    pointlist[writePos - 1] = sy + (stepY * q);
                    writePos -= 2;
                }
            } else {
                pointlist[writePos - 2] = sx;
                pointlist[writePos - 1] = sy;
                writePos -= 2;
            }
            ex = sx;
            ey = sy;
        }
        count = splitCount;
        if (relativeIndex == 0) return 0;
        return returnIndex;
    }

Taking that and then calling for all pointlists with a max 121 will properly allow subdividing the stitches without worrying about the 121 max. Even if loaded from a format that can exceed them.
Also, and somewhat more importantly here it also would allow a quick way to create the needed jump stitches:
                int currentx = (int)layer.getX(0);
                int currenty = (int)layer.getY(0);

                PointSeries jumpstitches = new PointSeries();
                jumpstitches.add(lastx,lasty);
                jumpstitches.add(currentx,currenty);
                jumpstitches.longSplit(121,-1);

The index value can be ignored (it tracks a specific index in the routine from the pre-split index to the post-split index, which was is critical sometimes in sort of cryptic tools).
But, with this, it wouldn't be hard to keep the panograph from corrupting the file by ignoring the jump stitches. You could just ask for a series of jump stitches that properly rectify the two locations.

In fact, it wouldn't be hard to make a helper class that adds in the jump stitches as such and allows a request for a stream of commands. Without converting them into an gnostic format. So you could request that you be given a stream of typical embroidery commands. Like trim(), color(), jump(x,y), stitch(x,y), end() to a receiver class. Because really jump stitches will be needed for each connection between the last stitchblock and the next one and the only thing that differs is the max accepted length for them. And if it's trivial to cut those up by the needed amount. It wouldn't be hard to do that for anything.
    for (EmbCommand command : pattern.commandStream(121,121)) {
        switch(command.flags) {
            case TRIM:
                write(JUMP,-2,-2);
                write(JUMP,4,4);
                write(JUMP,-2,-2);
                //this is a DST trim.
                break;
        }
    }

It wouldn't be hard to make jump-stitches into stitch blocks. So rather than just move the pan around they could be saved as another stitchblock that is simply flagged as "jump stitch" If the last point of the previous block doesn't equal the first point of the next block then clearly jump stitches are needed to bridge the gap. These layers could trivially be added with the two points and then broken into layers of the correct size. It wouldn't be too hard to do some other easy fixes. Like adding in lock stitches. Or breaking the jump stitches into particular sizes while breaking the regular stitches into other various sizes.
It wouldn't be too hard to set this up, compile the stream and output it with the given specifications.  Basically because we'd just clone the pattern object, Validate the intercalary jump stitch layers, add in some lock stitches, or whatnot and then produce what basically amounts to the same stream of flagged commands that keep getting produced for every export format. But, these are going freakishly lack the right kind of exporting if they ignore jump stitches like that.


Adding the name of the original file into the "Title"

If I upload an existing file, the "Title" remains empty.  Is it possible to add an option to fill the title with the name of the original file?
The example https://imgur.com/2ygvL9S Title was added automatically by MyImgur tool.

Hi,
Thanks for your suggestion.
I'll add the feature in a few days.
Do you use the CLI command or other dialogs?

Thank you. I'm use CLI

Hi,
I upload a new version 1.5.6.
Add -t option to use the file name as the title.

Thank you. Works good.


[WIP][SPARK-18375][BUILD][CORE]Upgrade netty to 4.0.42.Final

What changes were proposed in this pull request?
One of the important changes for 4.0.42.Final is "Support any FileRegion implementation when using epoll transport netty/netty#5825".
In 4.0.42.Final, MessageWithHeader can work properly when spark.[shufflem|rpc].io.mode is set to epoll
How was this patch tested?
Existing tests

Test build #68408 has started for PR 15830 at commit e73c1d9.

Test build #68408 has finished for PR 15830 at commit e73c1d9.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68408/
Test FAILed.

Test build #68470 has started for PR 15830 at commit c4546dc.

Test build #68470 has finished for PR 15830 at commit c4546dc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/68470/
Test PASSed.

Merged to master/2.1

@srowen thank you


download count for latest pre-release

We have a download count badge with several options for github releases, e.g. for a fixed tag or more importantly last release (since it updates automatically with your new releases):

I request a download count for "latest pre-release" as well. Some repos use releases for stable versions and
pre-releases for betas for example. So both badges would show always up to date data without the need to update the badge to a hard coded tag all the time.

As fas as I can see GitHub REST API does not allow to get latest prerelease or even filter all releases to get only prereleases. So we have to list all releases and find prerelease. Do we want to do in this way? We could add some limits, e.g. check only first page of results (30 by default, max 100).

If 2.0.0-rc2 is followed by 2.0.0, it's not helpful to see stats for 2.0.0-rc2 on a badge. So, the Shields semantics for "latest (pre-)release" is "latest release including prereleases." downloads-pre includes prereleases, and downloads excludes prereleases. It's the same idea as #1133.

Thanks! OK. I will do it in this way.

Done in #1140.

So I wait for the next deploy now. A lot of great PR's with interesting new possibilities recently! 👍


feat: add AKI, SKI and keyUsage info to certificates

Currently generated certificate doesn't have AKI, SKI and KeyUsage information, on this PR we adding these information the generated certificates

Codecov Report

Merging #16 (e0d23e3) into master (38e4eb1) will decrease coverage by 0.13%.
The diff coverage is 65.21%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master      #16      +/-   ##
==========================================
- Coverage   71.62%   71.50%   -0.13%
==========================================
  Files           7        7
  Lines         962      979      +17
==========================================
+ Hits          689      700      +11
- Misses        217      222       +5
- Partials       56       57       +1

Files Changed
Coverage Δ

cmd/certify/helper.go
83.69% <63.63%> (-0.85%)
:arrow_down:

certify.go
87.39% <100.00%> (+0.10%)
:arrow_up:


feat: add supportsSession function to check if an account supports se…

…ssion

closed in favor of https://github.com/seanjameshan/starknet.js/blob/feature/sessions/src/utils/session.ts#L35-L45


How to capture current React Component state inside SignalR hub onMessage handler?

Apologies for a noob question but I can't get my head around following:
In the sample code you're sending request to increment counter from client, the counter is incremented on server, and new counter is sent back to client in response and then set inside React Component state:
let render = React.functionComponent(fun () ->
    let count,setCount = React.useState 0

    let hub =
        React.useSignalR<Action,Response>(fun hub ->
            hub.withUrl(Endpoints.Root)
                .withAutomaticReconnect()
                .configureLogging(LogLevel.Debug)
                .onMessage <|
                    function
                    | Response.NewCount i -> setCount i
                    | Response.RandomCharacter str -> setText str
        )

now say I'd like to capture current count state when handling the message, e.g. do increment on client side:
                    // ignore counter from server and try using current state - but count is always 0
                    | Response.NewCount _ -> setCount (count + 1)

But this approach doesn't work - count evaluates always to 0.
The approach works fine with bare state hook:
[<ReactComponent>]
let Counter () =
    let x, setX = React.useState 0

    Html.div [
        Html.h1 (string x)
        Html.button [
           // works as expected
           prop.onClick (fun _ -> setX (x + 1))
        ]
    ]

Is that by design? How can I work around that?

This is due to the fact that the hub is a ref and thus only created once, so the value of count is always going to be 0.
This can be fixed like so:
let render = React.functionComponent(fun () ->
    let count,setCount = React.useState 0

    let countOne = React.useCallbackRef(fun () -> setCount (count + 1))

    let hub =
        React.useSignalR<Action,Response>(fun hub ->
            hub.withUrl(Endpoints.Root)
                .withAutomaticReconnect()
                .configureLogging(LogLevel.Debug)
                .onMessage <|
                    function
                    | Response.NewCount _ -> countOne()
        )

An alternative solution:
let render = React.functionComponent(fun () ->
    let count,setCount = React.useState 0

    let otherCount,setOtherCount = React.useState 0

    let hub =
        React.useSignalR<Action,Response>(fun hub ->
            hub.withUrl(Endpoints.Root)
                .withAutomaticReconnect()
                .configureLogging(LogLevel.Debug)
                .onMessage <|
                    function
                    | Response.NewCount i -> setCount i
        )

    React.useEffect((fun () -> setOtherCount (count + 1)), [| count |])

Thanks for explanation, I'll try that approach!

Great example @Shmew , but how does the last one work?

Whenever count is updated (via onMessage) the component will re-render, whenever the component re-renders and count has changed React will execute the function passed via useEffect setting otherCount. It's a bit convoluted, but demonstrates a way to fire additional side-effects after onMessage.


python310Packages.ytmusicapi: 0.25.0 -> 0.25.1

Changelog: https://github.com/sigma67/ytmusicapi/releases/tag/0.25.1
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 223637 run on x86_64-linux 1

7 packages built:

libsForQt5.audiotube
mopidy-youtube
mopidy-ytmusic
python310Packages.ytmusicapi
python311Packages.ytmusicapi
spotdl
ytmdl


cannot git pull or push when github redirected

simple, redirect github in services to any location, attemnpt to pull or push private repo using ssh keys fails
connection closed by remote host kex exchange identification.
restarting ssh service, checking firewall locally, doing ssh -vvv git@github shows the same output with no further explanation.
remoivign redirect and setting ot bypass things work fine.

This issue has nothing to do with ctrld. You should contact Control D support.


[BUG]: [chart name (if applicable)]: Test helm charts bug

Describe the bug
A clear and concise description of what the bug is.
Version of Helm and Kubernetes:
Which chart:
What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Provide logs, errors/output
Anything else we need to know:

@ioeicicdsvc commented:
Unable to move issue to dell/karavi-topology2


(BUG) The "Signup" page is opened after clicking the "Back" button on the "SIGN IN" page

Precondition:
The "WELCOME TO GOODDOLLAR!" page is opened
Steps to reproduce:

Click the "Sign in" button
Click the "Back" button
Pay attention to the opened page

Actual result: The "Signup" page is opened after clicking the "Back" button on the "SIGN IN" page
Expected result: The "WELCOME TO GOODDOLLAR" page is opened after clicking the "Back" button  on the "SIGN IN" page
Checked on dev 1.3.1-2
Desktop: Windows 10 // Google Chrome 87.0.4280.66
Samsung S9 // Android 10
Video: https://www.screencast.com/t/COBwoQcHOdt

SigninInfo > backRouteName is a conditional that depending on the platform navigates back to either welcome screen or auth. need to define where it should navigate back and update that line

@WolfVV this is not a bug. signin/signup with mnemonic is just a developer feature for testing.


NE death are not updated

The scraper for NE doesn't work properly for the death cases. The total number of death cases in NE still shows the date of 20-4-8 and 34 wheras the latest publication is from 20-4-10 and has 38 cases.

FYI. NE provide death numbers only day or two after. That is why scraper usually don't provide it.
See https://www.ne.ch/autorites/DFS/SCSP/medecin-cantonal/maladies-vaccinations/Documents/Covid-19-Statistiques/COVID19_PublicationInternet.pdf


stgit: 2.4.9 -> 2.4.10

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/stacked-git/stgit/releases.
meta.description for stgit is: Patch manager implemented on top of Git
meta.homepage for stgit is: https://stacked-git.github.io/
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.4.10 with grep in /nix/store/xny41kwin27377g3kmi92q46kvb2ir9y-stgit-2.4.10
found 2.4.10 in filename of file in /nix/store/xny41kwin27377g3kmi92q46kvb2ir9y-stgit-2.4.10

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

stgit

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/adfc13497d6ed67c5888cdf2838fbc9eaf7f7c01#stgit

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

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

1 package built:

stgit

Maintainer pings
cc @jshholland for testing.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

stgit


Prevent "null" url server url prefix

When set shouldUseDns as true with null eurekaServer.context, EndpointUtils#getServiceUrlsFromDNS appends "null" string to service url postfix.
e.g. http://ec2-10-0-0-1.ap-northeast-2.compute.amazonaws.com/null/
Fixed this.

Merging this and addressing the PR comment in a separate PR.


Removed the Elasticsearch reference.

What changed, and why it matters
Removed the Elasticsearch service references from the Aiven platform definition page since it is no longer available as a service.
Fixes: https://github.com/aiven/devportal/issues/841

I've updated the Conversation/Description to say "Fixes:" and the link to the issue, which should mean that when we approve and merge the PR, it also closes the issue as fixed.


Gradle 8.3 won't allow plugin authors to support Gradle <7.0

Expected Behavior
Able to support more than 1 major backwards? I'm actually not sure, just want to start a discussion.
This move, as it is, will either speed up Gradle upgrades because plugin authors will drop support for Gradle <7.0, or make plugin authors get stuck on Gradle 8.2.1.
Current Behavior
Kotlin 1.9 embedded into Gradle 8.3 removed support for Kotlin 1.3.
(However, I did not find any references to this in Kotlin Compatibility Guide 1.9, nor 1.9 Release Notes, raised on YouTrack.)
KotlinVersion.KOTLIN_1_3
              ^ Using 'KOTLIN_1_3' is an error. Unsupported

One potential workaround would have been @Suppress("DEPRECATION_ERROR") KotlinVersion.KOTLIN_1_3, but that will error (even with "-Xsuppress-version-warnings"):
> Task :compileKotlin FAILED
e: Language version 1.3 is no longer supported; please, use version 1.4 or greater.

* What went wrong:
Execution failed for task ':compileKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
   > Compilation error. See log for more details

Context (optional)
I briefly tried to upgrade Gradle to 8.3-rc-1 in Gradle Nexus Publish Plugin. And compilation of build.gradle.kts failed because we're explicitly setting Kotlin api/language to 1.3.
Maybe we're doing this wrong? How else can we make sure that the compiled Kotlin code is compatible with Gradle 6.x (or 5.x)? https://docs.gradle.org/8.3-rc-1/userguide/compatibility.html#kotlin
Note: if we had a Gradle version usage distribution chart, similar to what Android has, we could make informed decisions to drop older versions.
Steps to Reproduce
plugins {
    `kotlin-dsl`
}
kotlin.target.compilations.configureEach {
    compileTaskProvider.configure {
        compilerOptions.apiVersion = @Suppress("DEPRECATION") KotlinVersion.KOTLIN_1_3
        compilerOptions.languageVersion = @Suppress("DEPRECATION") KotlinVersion.KOTLIN_1_3
    }
}

Gradle version
8.3-rc-1
Gradle version that used to work
8.2.1
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for your interest in Gradle!
This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

Thank you for your interest in Gradle!
This is a valid documentation issue that we will address.

The currently supported way to build plugins for multiple Gradle versions is to build the plugin with the oldest supported Gradle version.
That being said, we don't forbid doing the opposite and folks to (including me).
I added a note in the upgrading guide about Kotlin 1.9.0 dropping support for Kotlin language <1.4.
I also added two integration tests to cover the related boundaries:

one that make sure we don't break targeting the latest supported Kotlin language version
one that demonstrates a workaround to target older unsupported Kotlin language versions

Both changes are in

https://github.com/gradle/gradle/pull/25901

Thank you @eskatos for the quick and detailed response!

The currently supported way to build plugins for multiple Gradle versions is to build the plugin with the oldest supported Gradle version.

If people actually did that, they would be stuck with the feature set that the earliest version supports, only being able to call new APIs with reflection. Calling new APIs is pretty much required if plugin developers want to support new versions of Gradle. Example: the recently swap between Report.destination/outputLocation. Huh, actually, in this case we have to reflect either way 😅. A better example might be supporting configuration cache by using the Flow API instead of buildFinished on higher Gradle versions. Anyway, using the latest tooling helps us migrate away from deprecated APIs/approaches by simply fixing compilation warnings.
Interestingly, this statement seem to clarify why AGP is bumping its minimum Gradle all the time (apart from the maintenance cost of "the matrix").

I also added two integration tests to cover the related boundaries

Thank you, these are really useful! Could these make their way into the plugin authoring docs in some short form?
If I get the gist of this, the pattern I showed above is "the way". What I was missing is that we can upgrade Gradle higher and higher, but we'll have to leave kotlin-dsl plugin version behind on the Gradle 8.2.1 level as long as we support Gradle <7, because of embedded Kotlin compatibility.

WARNING: Unsupported Kotlin plugin version.
The embedded-kotlin and kotlin-dsl plugins rely on features of Kotlin 1.9.0 that might work differently than in the requested version 1.8.20.

Is there way to remove/force-version-of the embedded KGP from classpath (a'la assumeNonEmbeddedGradleExecuter()), so that id("org.jetbrains.kotlin.jvm") version "1.8.20" can take effect?

With the unsupported workaround in the integration test, you have to live with the emitted warnings.
The way forward is multi-variant plugins that can support multiple Gradle versions.

See https://github.com/gradle/gradle/issues/25132


Nested Slides, wrong length()

Ionic version:  (check one with "x")
[ ] 1.x
[X] 2.x
I'm submitting a ...  (check one with "x")
[X] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
When you have one  inside another, the length() of the parent one is wrong, the length() is returning the sum of all slides (parent and children)
Expected behavior:
The parent slide should return only it's own count of slides.
Steps to reproduce:
Open the plunkr, and click on the button "Check length", the length must be 4 but it is 16.
http://plnkr.co/edit/wL8NXdQeqdbUayQvqWJW?p=preview

Hello @escobar5 , did this used to work in a previous rc release? Assuming your on 2.0.0 now?

Yes, I'm on 2.0.0, and yes, it used to work, I had other problems, like wrong number of bullets in pagination (also because of nested slides), this one was fixed, but the other appeared.

Alright, thanks for getting back to me. We will take a look into this (:

Are there any updates on this one? Running into the same issue ..

This is what happening on my app...
npm 'ionic-angular' version 2.0.1

@jgw96
https://github.com/driftyco/ionic/blob/master/src/components/slides/swiper/swiper.ts#L357
This line causes current problem. Swiper should use a method which selects 'ion-slide' which is direct children of current 'ion-slides', instead of using .querySelectorAll()

Thanks @darron1217, you saved me a lot of debugging time. I submitted a pull request that should fix the issue.


fix addon image and nodeSelector override

work-manager addon handles the image override and nodeSelector by itself.
Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>

/assign @elgnay

/lgtm

/lgtm


[FEATURE] [Harvester Node Driver v2] Prevent normal users from creating VMs in harvester-public namespace

Is your feature request related to a problem? Please describe.
In Rancher, it is possible to limit the access rights of users. For example, one might want to prevent users from creating VMs in Harvester, using the harvester-public namespace. Updating the user's right accordingly does not change the fact that they can still create VMs in the harvester-public namespace using the Harvester Node Driver, since the Node Driver uses another mechanism to authenticate (service account ?). Meaning, the users, though they should not be able to create VMs in the harvester-public namespace will still be able to do it through the Node Driver.
Describe the solution you'd like
When a user cannot create resources in some namespace, the Node Driver should also not be able to create VMs in that namespace.
Describe alternatives you've considered
N/A

link to https://github.com/harvester/harvester/issues/1986

UI need filter the namespace select options by links.update
currently:

expected:
if no links.update in a namespace, don't show this namespace in the select options

Verified fixed on v1.1.0-rc1 with Rancher v2.6.9-rc1. Close this issue.
Result
Now the standard user with cluster member rights won't display harvester-public while user node driver to provision the RKE2 cluster.

Cluster member user can see harvester-public in Harvester

Test Information

Test Environment: 1 nodes Harvester on local kvm machine
Harvester version: v1.1.0-rc1
Rancher version: v2.6.9-rc1
Rancher ui-offline-preferred: Remote
Harvester ui-source: External

Verify Steps

Import Harvester from Rancher
Create standard user in Rancher User & Authentication
Edit Harvester in virtualization Management, assign Cluster Member role to user

Login with user
Create cloud credential
Provision an RKE2 cluster
Check the namespace dropdown list

Additional Context
According to https://github.com/harvester/harvester/issues/2485#issuecomment-1252333909
When we use standard user to create a new project and namespace
The harvester-public will show up again on the provision page using the Harvester Node Driver
This issue already tracked in https://github.com/harvester/harvester/issues/2788


PL-80: Add FieldsValueMap.safeGet() returning Triptional

See #154 - the same here, applied to FieldsValueMap.
Using it to simplify code in EntityIdExtractor (especially) and also AuditRecordGenerator

@amirz - FYI

@galkoren - fixed your comment


mask generator factor

Implemented factory method to group types processor.
.special_values() handles modes inf, nan and special_values
.threshold()  handles mode threshold
.quantile() handles mode quantile
.mean() handles mean and movmean
.median() handles median and movmedian

@evelinaametova if you'd like a zoom call to go through it let me know. Also could you check the doc strings seem sensible to you?

@gfardell , this looks fantastic, thank you! Indeed it's much easier to use and users will not be bothered by the parameters they do not need.


packages page - couple of issues in https://nickhaf.github.io/r_tutorial/qmd/packages/packages.html

the icons are broken

we didn't do this 'This is what you did when downloading the tutoR package in About this workshop.'

in https://nickhaf.github.io/r_tutorial/qmd/packages/packages.html#load-packages the codes are commentetd out


[flake] google/cloud:completion_queue_test fails on invalid notify counter

The test failed on me on unrelated changes with the following assertion:
google/cloud/completion_queue_test.cc:707: Failure
Expected: (impl->notify_counter()) <= (kBurstCount * burst_size / 2), actual: 8529 vs 6400
Detailed test log:
https://source.cloud.google.com/results/invocations/a4fe5b78-48b4-430e-9483-bb9d492c51a2/targets/cloud-cpp%2Fgithub%2Fgoogle-cloud-cpp%2Fmaster%2Fdocker%2Ftsan-presubmit/log
It seems that the check itself is too aggressive, but more investigation is needed.

Some more data about this flake.
Currently, it looks like this flakes < 1:100 runs, which I determined by seeing no flakes with.
$ bazel test --config=tsan --runs_per_test=100 //google/cloud:completion_queue_test
...
//google/cloud:completion_queue_test                                     PASSED in 70.9s
  Stats over 100 runs: max = 70.9s, min = 21.5s, avg = 66.2s, dev = 9.1s

But from many runs throughout the day, I did see it flake sometimes, so the flake is reproducible, though rarely.
HOWEVER, in https://github.com/googleapis/google-cloud-cpp/pull/5579, I'm upgrading gRPC to the newest 1.34.0 release, and with this change, this TSAN flake is much more reproducible (though still a flake).
$ bazel test --config=tsan --runs_per_test=100 //google/cloud:completion_queue_test
...
//google/cloud:completion_queue_test                                     FAILED in 5 out of 100 in 122.7s

So I think we'll need to address this flake before upgrading to gRPC 1.34.0 (which is currently blocked on some other issues, like https://github.com/grpc/grpc/issues/24904)

I think the "fix" is to remove this assertion:
https://github.com/googleapis/google-cloud-cpp/blob/2997d2f90cab96279ae955c4399cc00744633d04/google/cloud/completion_queue_test.cc#L707
Basically this is asserting that "most" bursts do not create a new notification (because an existing thread will handle them).   This is true for an average run, but a particular run may fail to show this.  I would have gone with a stronger assertion, something like:
  EXPECT_LE(impl->notify_counter(), kBurstCount + delta);

with delta being some small number, and I thought (incorrectly) that the weaker assertion would not flake.

Sounds reasonable to me. I can make a PR, because I can test it easily w/ my other PR patched in.

Ooops, I created a PR already.  I was able to repro the problem using:
CXX=clang++ CC=clang bazel test --config tsan --runs_per_test=1600 --jobs=64 --test_tag_filters=-integration-test //google/cloud:completion_queue_test

and it went away after my change.

Ack, ok. thanks.


Flexibility of the clonal calling?

Hi,
I read your paper and was wondering if the distribution/test for clonal calling will hold if the diversity of barcodes/sgRNA is much higher but the barcode/sgRNA number per cell is lower?
So essentially if we had ~5 BCs/sgRNA per cell but the complexity of the library is > 10 million could I still the clonal group calling as is? Or would it need to be tweaked?
Best,
Chang

Hi Chang,
Thanks for the question. Based on the results of our power analysis, it can detect serious clonal expansion. For example, if there are more than 3 sgRNAs co-exist in several cells, there may be clonal expansion.
I suggest random select a portion of cells in you library and perform a test run since the process may take some times.
Please let me know if you have any other questions.

Hello Chang,
We filtered out the low UMI count cells before running this analysis, since we cannot assure the low UMI count cells are real cells, and we cannot confidently assign the sgRNAs in those potential artifact cells.

Hello Chang,
In our dataset, we found that within clone, the overlap rate is about 20~100% (Fig. 1F).
A side note: The cutoff from provided example script (0.05) is indicating hypergeometric test p-value instead of overlapping rate since we found using p-value as cutoff is easier to draw the threshold.
Please let me know if you have any question!


bug(mat-autocomplete): async mat-autocomplete drop-down items do not render when using Cypress

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
When using mat-autocomplete in our application normally, everything works as expected.
When running our e2e tests in a cypress chrome runner, the options fail to render in the HTML, and the autocomplete presents no options.
Sorry if this isn't the right place to file this bug, but we're very unsure of the cause.
Reproduction
Steps to reproduce:

Have mat-autocomplete that loads async data for it's mat-options
Run cypress e2e test that focuses the input that triggers the mat-autocomplete
Notice that the mat-autocomplete drop down does not show
Notice that the mat-options are not rendered when inspecting the HTML

Expected Behavior
We expect to see the dropdown as pictured below, with content in it

Actual Behavior
When in the cypress test runner, the drop down does not render.

Environment

Angular: 14.2.1
CDK/Material: 14.2.1
Browser(s): Cypress Chrome 108
Operating System (e.g. Windows, macOS, Ubuntu): macOS

me too

any workaround?

Hey! I had similar issue but with mat-select
So i made it working by adding
cy.wait(5000); // some seconds
before clicking on the mat-select
example
cy.url().should('include', 'dashboard/routes/create');
cy.wait(5000); // hack to wait until dropdown finishes with rendering inside view component
cy.get('[data-rj-create="waste-type"]').click(); // render of async option have finished and we can click now
cy.get('#waste-type-87').click(); // click on available mat-options`


Update DHT22.py to attach DHT11 power pin to GPIO without sensor error

Thx for your lib, great work.
I encountered a little problem when I decided to power off the sensor after reading the values in DHT22.read_array(). Adding
if self.powerPin is not None:
    self.powerPin.value(0)

just before returning the value ended up in giving me a "sensor error" all the time.
I liked the approach to power off the sensor via a GPIO pin. However, delaying the start of the state machine by 100ms not enough, so I additionally increased the value from 100 to 200ms. Now the DHT11 responds correctly when trying the first time.

Thanks!
Done!


Basic pthread_attr support.

@asterite would you like this as a series of small PR's to add thread support or 1 large PR?

Same reason as #1612, we'd like to tackle these subjects ourselves.


Error deleting a message

On W10 21H2 x64 with version 21.0.21127.03 x86 when I try to hard delete or simply delete a message ("read" message stuck in outbox of Outlook 2007) I receive this error:
Error:
Code: MAPI_E_UNKNOWN_FLAGS == 0x80040106
Function m_lpFolder->DeleteMessages( lpEIDs, lpProgress ? reinterpret_cast<ULONG_PTR>(m_hWnd) : NULL, lpProgress, ulFlag)
File D:\a\1\s\UI\Dialogs\ContentsTable\FolderDlg.cpp
Line 678
If I try to delete a single property of a mail I receive two errors:
Error:
Code: MAPI_E_NO_ACCESS == 0x80070005
Function lpMAPIProp->DeleteProps(&ptaTag, &pProbArray)
File D:\a\1\s\core\mapi\mapiFunctions.cpp
Line 1099
Error:
Code: MAPI_E_NO_ACCESS == 0x80070005
Function lpPropBag->DeleteProp(propModelData->getPropTag(), propModelData->getName())
File D:\a\1\s\UI\Controls\SortList\SingleMAPIPropListCtrl.cpp
Line 864

"stuck in outbox" implies it's in the submit state. Abort the submit if you want to delete it.


Folder Config Vs Multiple Engines

When creating a site that might contain an admin and frontend which have completely different layouts and customization, I felt like having the ability to specific engine config per folder would be awesome and useful. For example, the admin templates could have a different default layout, and maybe I don't need the same functions registered. I then realized, the same could be achieved by just having different Engine instances that configured to different base paths.
I feel like multiple engines would be fairly easy to configure on the user end would reduce a lot of complexity in the library.
Not sure which I fall however.

A user should just setup multiple engines if they want to support this.


Unable to SSH into specified service

Attempting to SSH into a non-cli service for an environment throws an error. Tracing the logs, the error is "error":"couldn't get executor: couldn't scale deployment: context deadline exceeded".
I initially assumed it was just taking awhile to start the service, but this isn't the case. The error is still thrown when the service has already been up and ready for 40 mins. The ssh-portal connection will fail when the ssh-core is working fine.
After some unknown time, it appears that the ssh portal will start working, so it's an intermittent issue.
The command was lagoon ssh -p <project-name> -e <env name> -s <non-cli service>. The error message for that command is what told me that it was using ssh-portal instead of ssh-core.

We did some digging and believe there may be an issue when cronjob pods of the service being requested may still exist, or are in an error state. But can't confirm this.

Try ssh into a specific service and received error above
Check k8s and see that pod of service is running, deployment replicas are valid
Try ssh again and still receive error
Check pod list again and noticed that there was a failed cronjob pod that was started of the same service

pod status was Failed

Removed failed cronjob pod
Try ssh into service again, this time success

Based on the errors, we believe that the [ensureScaled](https://github.com/uselagoon/lagoon-ssh-portal/blob/6d517c03f8d1ad5dad39112ab83ec7cdecfca152/internal/k8s/exec.go#L121-L141) function is likely where this error is coming from. But don't really see how this would happen due to a cronjob pod of the same service just "existing", since this isn't associated to the deployment.

As discussed elsewhere: this was caused by a CronJob controller creating pods matching the selector of the Deployment. Those pods were crashing causing the ssh-portal to be confused about the state of the deployment.
This is in general not a supported configuration in k8s as per the docs, so the fix is to avoid creating CronJobs with overlapping selectors with Deployments.

Will be fixed as part of https://github.com/uselagoon/build-deploy-tool/pull/289


Add ellipseToCircle plugin

This converts non-eccentric ellipse elements to circle elements.
Adobe Illustrator seems to be fond of using ellipses even if their rx === ry.

SVGO v1.3.0 with the plugin is released.

Awesome! Thank you for adding it to the README and default configuration — I should have done that.


Update dependencies for vue-full example

The existing dependency versions were causing a dependency tree error on npm i
> npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: undefined@undefined
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/vite
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/vite-plugin-md
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

This PR updates the following dependencies to the latest version:

@vitejs/plugin-vue 4.1.0
@vue/server-renderer 3.2.47
vite 4.2.1
vite-plugin-md 0.22.5
vite-plugin-ssr 0.4.103
vue 3.2.47

After update:
> npm i
npm WARN deprecated<EMAIL_ADDRESS>Please use @jridgewell/sourcemap-codec instead

added 157 packages, and audited 158 packages in 12s

13 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

I'm not familiar with pnpm. Looks like a lock file needs to also be updated.

Seems like vite-plugin-md has a dependency @yankeeinlondon/happy-wrapper that is causing problems.

Someone should told the vite-plugin-md folks about it. Closing in the meantime.
Thanks for the PR!


do not work with Yandex browser

I tried this with Yandex but it does not work. It shows this message:

Try loading it from the extension folder (/Users/mac/Downloads/ankiTab-master/extension in your case)

Hi Corollari, I tried following your tip but it still does not work:

It seems that, as a design choice, the Opera developers have disabled the API used to modify the new tab page[1]. Given that Yandex uses Opera extension that functionality is blocked in Yandex too.
I'm not sure if there is any way to actually get it working on Yandex if the main functionality of the extension is intentionally blocked.
[1] https://forums.opera.com/topic/20490/using-chrome_url_overrides-for-extension/6

Closing as there doesn't seem to be any solution to this issue and there hasn't been any new comments.


Can be abused to ping everyone

Temp fix is make sure bot doesn't have permissions to ping everyone.

wouldnt this be a more elegant fix
    text = text.replace("```", "")


Updated Rails dependency

Removes the need for Rails 7.
This has been tested locally and seems to be working but will require further testing.

No, me neither. Like you say, it was possibly not tested using Rails 6.


⚠ Secret Website 3 has degraded performance

In e3cc5ba, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2203 ms

Resolved: Secret Website 3 performance has improved in b7b166b.


[vm-validator] Update VM validator to return a VMValidatorResult instead of VMStatus

@bors-libra r=sblackshear

:pushpin: Commit 658b379 has been approved by sblackshear

:hourglass: Testing commit 658b3791dcf9c1f28769a50410d466d6b0bca0bc with merge 36c22a4dff0c06a816911c204b9975ba38e1f17c...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: sblackshear
Pushing 36c22a4dff0c06a816911c204b9975ba38e1f17c to master...


Not working for me at all.

I tried both on Windows and Ubuntu. But the example code is not working for me at all. Getting errors like
The requested module 'question-answering' does not provide an export named 'QAClient'
.fromOptions is not a function
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

I was able to use the example.js from the "question-answering" package and it worked.


chore: dev and nightly auto-publishes are broken

our switch to lockstep lerna publishing seems to have broken our @dev and @nightly release streams.

@kui-shell/core => null-dev.3908.49+9ff3c79

which comes from this build: https://travis-ci.org/IBM/kui/jobs/574092380#L418
the problem seems to stem from some issues with the --canary option to lerna publish that are, frankly, baffling.

ok, i get it now. we didn't have an annotated git tag that matched "v*..', and lerna publish assumes this is the case.