x/crypto/ssh: deadlock during key renegotiation

What version of Go are you using (go version)?
1.7.x - though in this case the more relevant bit is probably the sha of x/crypto/ssh: a8a4eed
What operating system and processor architecture are you using (go env)?
Linux, amd64
What did you do?
Establish a long-lived connection used for SSH tunneling, including sending arbitrary amounts of data over the wire (e.g. ~200MB sent every now and then via the same connection).
What did you expect to see?
SSH traffic should continue unhindered over an arbitrary amount of time with arbitrary amounts of data flowing over the connection.
What did you see instead?
I've observed that after some time all communication over SSH will hang. The connection is still "live" in the TCP sense, but SSH-level keepalives just block waiting for a reply.
I suspect this is actually space-related, and not time, however; the default of 1GB of transfer for key renegotiation sounds very likely given the stack inspection below.
Debugging
Context
(You can skip this if you just want the nitty-gritty.)
This package is used in a CI system wherein all workers register themselves with the master via a custom-built SSH server. They'll open a reverse SSH tunnel so that they can be used from a private network - the SSH server will act as a proxy to the workers. These SSH connections are arbitrarily long lived, and will have a large amount of data transferred over them as various CI resources (i.e. git repos, build artifacts) are streamed to and from the workers.
Procedure
In my case both ends (client and server) are implemented using this package. I suspect this to be a server-side issue as when bouncing the server all clients will immediately notice this and reconnect. I've also looked at the stack dump of the server and (I think) found a smoking gun for the deadlock.
Code sleuthing
I observed that for every hanging client there was one goroutine stuck in chan send for the duration that the worker had been gone. The following is my theory as to how that got there:

(*handshakeTransport).readOnePacket and (*handshakeTransport).writePacket check if the number of bytes exceed t.config.RekeyThreshold, which defaults to 1 gigabyte
this means that after 1GB of data transfer, the crypto/ssh package will initiate a new key exchange and set t.sentInitMsg to a non-nil value
(*handshakeTransport).writePacket has a loop on t.sentInitMsg != nil using a condition variable (i.e. it's waiting for that to become nil, so the kex has finished, or for there to be a write error that will cause it to give up)
t.sentInitMsg only becomes nil in a call to (*handshakeTransport).readOnePacket
the only caller of readOnePacket is (*handshakeTransport).readLoop
in our stack, we observed readLoop is blocked on writing to the incoming channel, so it cannot call readOnePacket
interestingly, incoming is a buffered channel (length 16) - however in this case that didn't help, so the buffer must be full, or no one can read from it
who reads from t.incoming? (*handshakeTransport).readPacket does.
who calls readPacket? (*mux).onePacket
who calls onePacket? (*mux).loop - which isn't too interesting though since it literally just keeps calling that method as long as it works. so let's go back into onePacket and see what it's doing after reading the packet, as that'd be why it's not reading the next one.
in our case, it was in the call to (*channel).handlePacket - so what's that doing?
in our case, it's blocked on a call to (*channel).sendMessage. things are getting interesting here: our read loop is now writing.
following the stack down, this ends up back in (*handleTransport).writePacket! which is dependent on us reading to succeed, as readOnePacket is what completes the key exchange.

/cc @agl

can you send the stack trace dumps? Your description makes it hard to follow what is going on.
If you think key exchanges are to blame, you can make them happen more often by tuning down the rekeying data threshold.
Can you confirm that you are servicing all channels that the SSH library returns?

Regarding your question about servicing all channels. I think thats the case:

chans returned by ssh.NewServerConn are handled here
requests returned by  ssh.NewServerConn are handled here
requests returned by NewChannel.Accept() are handled here

if this is open source code, can you recreate the deadlock and SIGQUIT the process and send the resulting trace?

@hanwen Sure - I'll configure a lower threshold and see if it happens more quickly, and then grab a stack dump.
In the meantime you can find one linked to from here here: https://github.com/concourse/concourse/issues/750#issuecomment-260808562 - they'll be the ones from "web", not "worker", though "worker" will show the client-side so that may be of interest too.

@hanwen Be sure to take one prefixed with concourse-web-issue-750- because I placed some stackdumps from other issue there as well.

studied your explanation for a bit more, and I think you are right: the deadlock is in the SSH package. To avoid deadlocks, we separate the reading and writing sides (see also https://codereview.appspot.com/62180043/).
Unfortunately, the spec requires that on reading a channelClose message, we should confirm it by sending a channelClose message back, so there is no way to make the read and write side independent.
I will have to think for a bit on how to fix this.

probably, we could have a
queuedPackets [][]byte
which can be written while a kex is in progress.  We could then either let all writes succeed directly, or special case channelClose. The former will yield more testing coverage, but may not report I/O errors in the right place. The latter will be very hard to test for, since we'd  have to make a test case that repros this hang.

I tried one simple minded solution, which didn't work. I need to think this through better. For now, I recommend jacking up the rekey interval to something really high.
The 1Gb default is suggested by the original RFC spec which is from 2006, and is exceedingly conservative. We're 10 years later now, so that number can probably safely be multiplied with 100 or 1000.

summary of deadlock:

some write to writePacket triggers a kex. All writes will now block.
the remote end is slow or sending lots of data. We happen to read a chanClose message before the remote end can send a kex message back.
the chanClose tries to echo a chanClose with writePacket, this blocks which kills the read loop.

@hanwen Thank for taking a deeper look into this. Regarding your suggested workaround of increasing the re-key interval by a factor of 100 or more: I'm not sure I understand the logic why its now safe to increase the re-key interval. Briefly looking at the spec it seems the main concern when choosing the recommended interval was the computational complexity of asymmetric encryption. Wouldn't this be an argument to decrease the re-key interval 10 years later with computers being a lot faster then when the spec was devised? In general isn't it at least a theoretical security concern to increase the interval by huge amounts as an attacker can observe way more data encrypted with the same key material?

from what I recall, there was no real justification given for the 1 Gb number (it's also just recommended). I put in because that's what the RFC said, but it seems ridiculously low, compared to throughput of the network nowadays, and the delay of doing a new handshake.

@hanwen You are right that the original rfc4253 did not provide detailed background how the recommended value was choosen. But rfc4344 Section 3 and 6.1 provides more detail on the re-keying interval and while I can't fully assess the provided math it definitely states that expanding the interval has negative implications on the security of they connection and the recommended value should be used.

thanks for that pointer.  You shouldn't encrypt more than 4G packets because the counter wraps around.
L=128 for AES and block size is 16, so you should be OK for rekeying at 16 *2^32 = 64G.
Upping the interval was intended as a short-term workaround. The CL at https://go-review.googlesource.com/c/35012/ fixes this more reliably, hopefully.

@hanwen: Awesome, thanks for taking this on so quickly. Looking forward to the proper fix.
I have one more question: From your comments above it seems like the deadlock can be only caused by a channel close message while a key exchange in in-flight? Is that really the case? Because in the CI system where this is happening I wouldn't expect channel close message as each workers set up a single persistent connection that is not teared down until one of both ends shut down.

the stack traces I got for this bug were pointing to the line where closeChannel message was being sent.
But it could potentially happen in any function that responds to global/channel requests.

I could see this occurring during the keepalive request our Go client sends
every N seconds.
Thanks very much for picking this up!
On Wed, Jan 11, 2017, 2:46 AM Han-Wen Nienhuys<EMAIL_ADDRESS>wrote:

the stack traces I got for this bug were pointing to the line where
closeChannel message was being sent.
But it could potentially happen in any function that responds to
global/channel requests.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/18439#issuecomment-271837222, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAHWEn0rWqq0iu2VTAxHJ7Q8imyQhA8ks5rRLMagaJpZM4LWhVk
.

fixed in https://github.com/golang/crypto/commit/2e74c773682f59dc50a56475f7918dd8fa6dcaf8

@hanwen I'm now seeing handshakes fail occasionally with the following message:
input_userauth_error: bad message during authentication: type 20

Type 20 being KEXINIT. Maybe that's firing concurrently with the handshake or something? It appears to be flaky.
I can open another issue if you'd like.

@vito closed issues are not tracked. Open a new issue please.


Increment version for keyvault releases

Increment package version after release of com.azure azure-security-keyvault-jca

@msftbot require sign-offs from @saragluna

@msftbot require sign-offs from @saragluna

Only merge this pull request if it has 1 approval.

@msftbot Only merge this pull request if it has 1 approval.


comby -review is broken for filepaths containing spaces

Describe the bug
When running comby -review to make a change to files where their filepath contains spaces after accepting a change comby fails with the error:
[debug] File to patch: No file found--skip this patch? [y] 1 out of 1 hunks ignored--saving rejects to Oops.rej
,
Error attempting patch, command exited with 1.
Run the command again with DEBUG_COMBY=1 set in the environment for more info.
Press any key to continue, or exit now (Ctrl-C).

Reproducing
Please see this repository that contains a reproduction of the bug, and detailed instructions for reproducing it: https://github.com/lehmacdj/comby-bug-spaces-in-filename-broken
Expected behavior
After accepting the change, the change should be applied exactly as though comby -in-place were used instead.
Additional context
I am using version 1.8.1 of comby which is the latest release

Thanks for the clear reproduction instructions ❤ . I'll look into this


Problem fetching and pulling data from GitHub

Discussed in https://github.com/atom/atom/discussions/22668

Originally posted by Chaxiraxi June 27, 2021
Problem fetching and pulling data from GitHub
Hi !
I have a problem when I want to pull and fetch my remote repo to my local repo.
It works fine in cli, and correctly fetch and pull my repo, but when I do it in Atom, it simply doesn't work and give me this error:
fatal: couldn't find remote ref refs/heads/main
Someone can tell me why it goes wrong ?
PS: It doesn't work with any repo, and I can commit and push in Atom without problems btw
Let me know if you want some additionnal infos to help to fix this issue

Well, that's the reason why it makes no sense for me, because there's no reason to fail, and when I'm using Git in a terminal, it works fine without problem, but when I fetch or pull from Atom, it give me this error. I can give you my system configuration if it can help
Operating System : ParrotOS (a Debian based distro)
CPU: Intel core i3 8th gen 4.00 Ghz
GPU: NVIDIA GTX 1660 SUPER
Motherboard: MSI (idk which model)
RAM: 16 go 2660 Mhz (idk which brand)
I have a dual boot with Windows 10, I didn't tried if it works there. I can try if you want to see if it's a mistake that I did somewhere, or if it's really a bug with the OS I'm using

This is not a hardware issue, try using your dual windows boot


Encrypts meetings cookies

WARNING: this PR requires the config secret MEETINGS_SECRET_KEY to be set on the deployed environment.

Working great for me!


Multiple Fully loose mapping with Default Startup Init

Is possibile manually define Key for during StartUp.Init() or there is a way to setup multiple loose core?
In particullary this case
var serverurl1 = "https://pathtosolr1"
var serverurl2 = "https://pathtosolr2"
Startup.Init<Dictionary<string, object>>(serverurl1,"key1");
Startup.Init<Dictionary<string, object>>(serverurl2,"key1");
var solr1 = ServiceLocator.Current.GetInstance<ISolrOperations<Dictionary<string, object>>>("key1");
var solr2 = ServiceLocator.Current.GetInstance<ISolrOperations<Dictionary<string, object>>>("key2");

Hi, can you please look at this to see if it helps?
https://github.com/SolrNet/SolrNet/blob/master/Documentation/Multi-core-instance.md

Dim solrurl As String = ConfigurationManager.AppSettings("SolrServer1")
Startup.Init(Of Dictionary(Of String, Object))(solrurl)
Dim solrurl2 As String = ConfigurationManager.AppSettings("SolrServer2")
Startup.Init(Of Dictionary(Of String, Object))(solrurl2)

This cause collision on key on with following error:
Key 'SolrNet.Impl.SolrConnection.System.Collections.Generic.Dictionary`2[System.String,System.Object].SolrNet.Impl.SolrConnection' already registered in container
This means that's no way to map same Dictionary<string, object> on differents cores ? There is any workaround?


Add option to select default parent

This is an awesome asset, I just wanted to leave a feature request! My workflow involves both a tilemap and instances placed in the scene. In my world I've got a few little areas that I'm parenting these objects to for cleanliness in my scene hierarchy. The option to hold control to parent to the currently selected object is nice, but has a few flaws:

To edit the tilemap, I've gotta be selecting the tilemap. So I can't simultaneously paint tiles and place objects in the scene.
I am frequently selecting objects to edit some stuff on them, then need to switch back to selecting the parent to place more
At any given time I have one parent that I want all placed objects to be parented to.

It would be helpful to have a default parent field that accepts any node in the current scene. I could drag and drop the intended parent into this field, then placing an instance would automatically assign it as a child of that node instead of scene root (while empty, would default to scene root). Holding Ctrl or Shift would override this behaviour. Something like below:

This can't be implemented directly, because I just use Godot's default drag and drop function (it's the same as dragging scenes from FileSystem). When you drop, the node is under scene root. When you drop with Ctrl, the node is child of the selected node. If you drop with Shift, the node is sibling of the selected node.
However I plan to add a Painting Mode, where the default parent can be added.

Implemented in 1ee16e32c92e2d1f7143b446b6bf4fc5dc1559a5
I realized I could actually add this feature for drag and drop too, but I didn't want the picker to take space, so for now it's only for paint mode. You can grab the newest version and check if it's fine like that (needs Godot 4.2+).

I tried the paint mode, it took a while to figure out how to use, I didn't expect I'd need to be selecting an object in the hierarchy to use it (I guess this is a technical limitation?) and missed the text note telling what to do. Having documentation on the github readme would be handy!
Though I'm also finding the paint mode quite difficult to use now that I've figured it out. Firstly, this works poorly with tilemaps, I need to select the tilemap to place tiles but then need to select a canvas item to paint. I liked that with drag and drop, I could paint tiles, then seamlessly drag an object from the docker into the world (this would just parent it to the wrong thing, I tend to clean it up later). But also I find it clunky to go back and forth between painting and other forms of editing. When creating a world, I'm not just adding new objects, I'm also moving, rotating and scaling existing ones, deleting ones that are no good and trying to select other objects to edit them in the inspector. A keybind to toggle paint mode would be handy! And even more useful would be if paint mode were a tool in the toolbar above scene view, so I could press W to move some objects, then e.g. P to paint a few, then maybe E to rotate some stuff. But currently whilst paint mode is active all the other editing hotkeys (q, w, e, s, etc) are all ignored, which is breaking my flow.
As it stands, I feel paint mode is hindering more than helping, though I think it'd be handy with more usability tweaks. Also this might be more useful for other kinds of projects with more instances. It'd still be helpful to have a default parent option for the drag and drop controls, as paint mode and drag/drop can suit different workflows. Regardless, thanks for making the asset and keeping on top of feedback, it's been a big help building out my level so far!

Ok 02f24f9f505e7f8c4c9cd49bb0e09bedb1fc4977 implements default parent for drag and drop.
I already planned to update the README, will do it sometime before official update.

Thanks so much kobewi! I've been using that for a bit and noticed just one issue, when dragging and dropping directly into the scene hierarchy, the instance doesn't go where you placed, but instead to the parent selected. Same happens when holding control / shift, the object always gets parented to the selected parent. I believe the logic should be to only do the reparent step if the created object is parented directly to the scene tree; when parented to anything else, then the user must have selected a custom parent manually which should be respected.

09f2a5a418af74c55914fed7f2a3b101b6fcec96

Thanks!


⚠ Bofrost.lu has degraded performance

In 0ed7a6f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 823 ms

Resolved: Bofrost.lu performance has improved in f316a34 after 12 minutes.


Reformat assets

Rather than returning
"assets": [
  {
    "version": "2.1.0",
    "files": [
      "jquery.js",
      "jquery.min.js",
      "jquery.min.map"
    ]
  },
  ...

it would be convenient to return
"assets": {
  "2.1.0":  [
      "jquery.js",
      "jquery.min.js",
      "jquery.min.map"
    ],
...

That way lastversion and versions would work well with the structure.

Given the addition of a mainfile per version, would it not be desirable to maintain a nested architecture? E.g.
"assets": {
  "2.1.0": {
     "mainfile": "jquery.min.js",
     "files": [
        "jquery.js",
        "jquery.min.js",
        "jquery.min.map"
      ]
  },

Looks reasonable and future proof

Looks reasonable and future proof

I agree.


[BUG] Product Card UI bug

Describe the bug
Ui bug in produc card in the main page
To Reproduce
Steps to reproduce the behavior:

Go to through the main page of the hyperui website
Scroll down to production card
See error

Screenshots

Smartphone (please complete the following information):

OS: OS	Android 12
Browser: chrome
Version : 112.0.5615.135 (Official Build) (32-bit)

Hi @Alirezaaraby
Can you add a title? Also, did you want to take a look at fixing this?

Well, the title is added and i will fix it in the upcoming pr


[Feature Request]Tiered storage like Pravega

Both Pulsar and Pravega are streaming storage solution based on BookKeeper. However, Pravega has an extra feature of automatic segment migration for tiered storage(auto tiering)---BookKeeper for streaming and distributed filesystem(HDFS,S3,..,etc) for long term storage.  Given this feature available, Pravega could be a unified storage solution for both streaming and batch processing. On the other hand, Flink would be a unified computation solution for both streaming and batch processing, as a result, Pravega+Flink might be candidates for next generation big data platform which could be defined as Stream Native. The segment store design of Pravega is not complicated, if this feature could be provided by Pulsar, perhaps Pulsar+Flink could be a better choice for NG big data platform.

@yingfeng : Pulsar already provided tiered storage since 2.1. http://pulsar.apache.org/docs/en/concepts-tiered-storage/ Please check it out.
@jiazhai and me will be giving a presentation about "Unifying the Batch and Stream Elastic Processing with Apache Pulsar® and Apache Flink®" in Flink Forward China on Dec 20th. If you are attending this conference, feel free to stop by.
https://china-2018.flink-forward.org/conference-program/#unifying-the-batch-and-stream-elastic-processing-with-apache-pulsar®-and-apache-flink®

@sijie I've seen the wiki page of tiered storage previously. It's not the same as Pravega:

It's not an auto-tiering solution. User has to migrate to low tier storage manually through api. An unified storage for both streaming and batching should be able to automatically process these flow for users
The supporting storage solution is limited, many kinds of storage such as HDFS, Ceph,...,etc are not supported.
Transaction for entire stream

I don't think implementing features of Pravega to Pulsar is difficult, while providing feature of Pulsar to Pravega is much more difficult. Here's a slide  of having Pravega work together with Flink, which I think it has the same vision with Pulsar.

It's not an auto-tiering solution. User has to migrate to low tier storage manually through api. An unified storage for both streaming and batching should be able to automatically process these flow for users

Pulsar has auto-tiering by namespaces. Pulsar is a multi-tenant system, so everything is controlled per tenant/namespace, not per cluster. A user can configure offloading to tiered storage by namespaces. I believe it can configure to auto-offload at size-based policy or interval-based policy. If it is not provided, it should be trivial to add that.
Not every user need tiered storage.

many kinds of storage such as HDFS, Ceph,...,etc are not supported.

All the mechanism for tiered storages are in places. Everyone can contribute the offloader to offload pulsar to the storage system he/she is using.
HDFS offloader is under development. But if you have more specific requirements, I would suggest you creating specific github issues for them. We can work with you on priotizing them.

Transaction for entire stream

Transaction is a separate story that is under discussion and development.

Thank you. There are some other design features for auto tiering:

Retention policy, describes a policy about how much data to retain within a stream. This is similar with what Pulsar has done to let customer configure how data was migrated to low tier storage.
Scaling policy, describes if and under what circumstances a stream should automatically scale its number of segments. This is a bit more complicated: the controller monitors traffic of stream segment writing requests, if some thresholds have been reached, it will decide how to scale. There are two types of traffic reports that can be received for segments. First type identifies if a segment should be scaled up (split) and second type identifies if a segment should be scaled down. For segments eligible for scale up, controller immediately posts request for segment scale up in the request stream for request event processor to process. However, for scale down, Controller needs to wait for at least two neighboring segments to become eligible for scale down. This auto scaling could be seen here with more detail.

@yingfeng

Retention policy,

it is already supported in Pulsar. I would suggest you taking a closer look at Pulsar and creating individual tasks for the features you would like to see in Pulsar. Pulsar and Pravega are different projects, Pulsar has a broader vision than Pravega. It unifies both messaging (queueing and streaming) and storage.

Scaling policy,

Pulsar provides all the mechanisms to scaling up and down partitions. Applications can wire those http endpoints to achieve that. Everyone is welcome to contribute this feature to Pulsar.

I notice that Pravega will also be presented at Flink Forward in the same room, just after your presentation, perhaps you could get something more face by face :)

Sure. Happy to chat with them.

Created the issues for the features you are interested in:
HDFS/Ceph offloader: https://github.com/apache/pulsar/issues/3216
Auto Scaling: https://github.com/apache/pulsar/issues/3217

As discussed above, Pulsar already has tiered storage in place. Closed this issue for now. Feel free to create/follow the issues that you are interested in. Contributions are warmly welcome!


Use getapplicationlog to get NEP-5 transfers

We want to remove the dependency of neoscan on the notification server, to be able to do it, we can use the getapplicationlog command from NEO RPC nodes

Making a note here - @canesin just mentioned on Slack that the plan is to merge the notifications feature into the Neoscan API. @deanpress suggested to make the API backwards-compatible with the old notifications server to make migrating dApps/tools easier for anyone who was already depending on that.


answer to Swtich case

function caseInSwitch(val) {
  var answer = "";
  // Only change code below this line
switch (val) {
  case 1:
    answer= "alpha";
    break;
  case 2:
    answer= "beta";
    break;
  case 3:
    answer= "gamma";
    break;
  case 4:
    answer= "delta";
    break;

  default:
    console.log('Sorry');
}
return answer;
}
caseInSwitch(1);

answer for those having trouble

Thank you for reporting this issue.
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "Help" button on the challenge on freeCodeCamp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding.


idiff: allow users to specify a directory as the 2nd argument

Description
Teach idiff to accept a directory as the 2nd argument.
Tests
Functional tests for idiff don't currently exist. Manual testing verifies it works as advertised.
Checklist:

[x] I have read the contribution guidelines.
[x] I have updated the documentation, if applicable. (Usage strings updated)
[x] I have ensured that the change is tested somewhere in the testsuite
(adding new test cases if necessary). (N/A)
[x] If I added or modified a C++ API call, I have also amended the
corresponding Python bindings (and if altering ImageBufAlgo functions, also
exposed the new functionality as oiiotool options). (N/A)
[x] My code follows the prevailing code style of this project. If I haven't
already run clang-format before submitting, I definitely will look at the CI
test that runs clang-format and fix anything that it highlights as being
nonconforming.

@CheeksTheGeek here's my take on the idiff feature.
I didn't originally update the usage/help string, so I took inspiration from https://github.com/CheeksTheGeek/oiio/commit/c7522b70f85b41971eb5ad669d850acd059666ea and adjusted this PR to do something similar. I mentioned you in the commit message for that tweak.
One notable difference between this commit and the one linked above is that this is checking for size() == 2 before attempting to access the 2nd argument and it doesn't do any particular error handling itself because the code that follows already handles that.

Don't worry about the icc/icx CI failures. That's a problem on the Intel side, they updated their signature key but didn't re-sign some of the older versions they had on that repo. It's on them to fix, I think. We will accept PRs that pass all the other CI tests.

Fixes #4009

Hmmm, that didn't work, probably because I'm not the author. @davvid, would you mind adding the magic line "Fixes #4009" to the description of this PR? That will link the issue and make it close automatically when this PR is merged.

BTW, I built this on my end and tested, works! This is cool, now my "diff" muscle memory will work with "idiff" as well.

I think the commits themselves have Closes: #4009 in them so that should handle it. I'll update the description as well.
I'll also take a stab at updating idiff.rst as well -- thanks for the pointer to that file. I didn't notice it until you pointed it out.

I pushed in a new commit that updates src/doc/idiff.rst as well. Thanks for reviewing!


GitLab experimental support bug tracking

This is an issue to track small bugs with the experimental GitLab integration:
Make sure to run with SCORECARD_EXPERIMENTAL (set to anything) and GITLAB_AUTH_TOKEN (you can use a GitLab personal access token although this will be deprecated soon) as environment variables.
If possible, please include the check the error is related to.
Example:
SCORECARD_EXPERIMENTAL=1 ./scorecard --repo https://gitlab.com/fdroid/fdroidclient --format json

Security-Policy:

gitlab.com/bramw/baserow will print to stdout:

handler.tempDir: /tmp/project3172073106
filename: SECURITY.md

gitlab.com/pgjones/quart throws runtime errors (I can't see any Merge Requests in the sidebar on the website either):

Error: RunScorecard: internal error: ListCommits:error during commitsHandler.setup: unable to find merge requests associated with commit: GET https://gitlab.com/api/v4/projects/3199253/repository/commits/44f3d5781ecc453410433c573ea6417fe0e0e181/merge_requests: 403 {message: 403 Forbidden}

Is there a reason ListCommits should be running for Security-Policy?

Closing this broad issue as https://github.com/ossf/scorecard/issues/2775#issuecomment-1506097871 was resolved and there are other issues specific to each check.


No "to do" items / check boxes are coming over with the next daily note

Hi there,

I've installed / activated your plugin
Added "## To do" to my daily note template
selected 'To do' from your plugin settings
yesterday, I had items on the list under the To Do header list, both directly under and under ### sublevel headings
delete today's note if it was there
clicked on today's note, creating a new one
checkboxes/ todos didn't come across

Let me know what other details you require.

I'm also unable to get this to function.

me too！

me too！

The API for Obsidian looks like it changed the way the filesystem works. Going through the code, this code will not run in new Obsidian API system. I have made update code here. Feel free to use and let me know of bugs.

The API for Obsidian looks like it changed the way the filesystem works. Going through the code, this code will not run in new Obsidian API system. I have made update code here. Feel free to use and let me know of bugs.

Hi @OliverAndrews  - any luck? I've tried the latest version and it doesn't seem to be behaving. What's your experience?

Hi @OliverAndrews  - any luck? I've tried the latest version and it doesn't seem to be behaving. What's your experience?

Huh, I'm Obsidian 0.10.8 and it works fine for me.  My heading is just ## TODOs though, maybe the space in the words is causing parsing issues?

Huh, I'm Obsidian 0.10.8 and it works fine for me.  My heading is just ## TODOs though, maybe the space in the words is causing parsing issues?

@yeders If you can open issue on repository, I will try and see!

@yeders If you can open issue on repository, I will try and see!

Hi,
I installed the plugin on Obsidian 0.10.8 (Windows 10) today. It does not rollover open todos for me too.

Hi,
I installed the plugin on Obsidian 0.10.8 (Windows 10) today. It does not rollover open todos for me too.

While this is not a fix for this plugin, I have added the ability to roll incomplete tasks over to the current daily note in the latest release of Slated. Hopefully that helps tide some people over until the author of this plugin can update 🙂

While this is not a fix for this plugin, I have added the ability to roll incomplete tasks over to the current daily note in the latest release of Slated. Hopefully that helps tide some people over until the author of this plugin can update 🙂

I've recently discovered and installed it on obsidian-0.11.0 and it doesn't do any roll-overs. I don't have any headings set in my template.
Nice idea though. Hope it gets fixed.

I think I have found the issue, this plugin uses the default Date() function, this means that the timezone isn't synced with your computer and if you are more than 5+ hours off from UTC, it will think that you are on the wrong timezone.

the date issue above could certainly cause an edge-case issue, but for me the issue was that I was using a section heading and the code expects a newline and my section heading was on the last line. the code should be fixed to not expect a newline in the heading, but rather insert it if not present.
at any rate, my solution was to simply add a line after my section heading in the template

the date issue above could certainly cause an edge-case issue, but for me the issue was that I was using a section heading and the code expects a newline and my section heading was on the last line. the code should be fixed to not expect a newline in the heading, but rather insert it if not present.
at any rate, my solution was to simply add a line after my section heading in the template

This is good discovery! I will take a look at the code and try to add in this change.

@iwaldrop-gsn I have tried this with a newling after the heading and it still does not function for me. I am also situated and have my PC set up in GMT (same as UTC) and still have this problem.

@Conmy I'm sorry to hear that. I'm not sure if you're comfortable digging into the code, but I just did a bit of debugging on my end to find out where execution stopped. In my case, it was getting all the way through, but not finding the heading; this lead me to inspecting the heading value and noticing it included the newline character.

Hi, I am also running into this issue. One thing I've noticed is if I don't restart Obsidian on the next day, todos don't rollover when I click the today's daily note button. If I do restart Obsidian and click today's daily note (and today's doesn't exist yet) the todos will rollover.

I've opened a PR that resolves this issue, here:
https://github.com/shichongrui/obsidian-rollover-daily-todos/pull/11

In my case this was caused by Date.toISOString() returning the date UTC, which prevents the note being created as I'm in Australia I create my daily note before the date roles over in UTC.
Pull request here https://github.com/shichongrui/obsidian-rollover-daily-todos/pull/12

Sorry for the lack of response on this thread. My life has been extremely busy lately but I'd like to get these PRs merged. #11 has one approval on it, if one more person could test that PR and approve it I will merge it and get a release out. Likewise, once it is merged if we could get 2 people to test #12 I will get it merged and a release out. Thanks for your patience everyone, and sorry this has taken so long.

@shichongrui Seems like #11 is ready to go? 3 days ago there was another approval on it. Good luck with everything!

So I've had a bit of time to test the PRs. Did not work at all for me so I downloaded it and poked around and there's several problems.

For some reason my file created date is always a few MINUTES earlier than the current date. For #11 I had to increase MAX_TIME_SINCE_CREATION a LOT. I have no idea why that is but the problem seems to be on Obsidian's side. But given that fix only used 5 seconds then maybe it's not a problem for other people and changing it would cause issues.

If there are files that parse to invalid dates (my years have an emoji in them like 2021📅) the sort function doesn't understand them and causes the files to be sorted wrong. They need to be filtered out like:

.filter(file => file.basename != null && !isNaN(new Date(file.basename).getTime()))
// also getTime is not needed in the line after, u can just do
.sort((a, b) => new Date(b.basename) - new Date(a.basename));

Or ideally, the name should be parsed given the daily file name template, but that is probably very complicated, so maybe some note that the file names should parse to valid dates?

Also #12 straight up does not work because the function is misnamed. I fixed that and it seems to still work for me, but then things worked for me without that fix. I'd have to investigate what it was fixing.

Thanks @AlansCodeLog. I apologise for that error with #12. Snap name-change decision at the last second that I didn't test before pushing 😓  I've updated my branch.
To give you an explanation for what #12 is fixing, this line in master is getting the datetime in ISO8601, taking only the date portion (discarding the time), and then comparing that the date on the newly created Daily Notes file, and if it's not a match returning early and not running the plugin. It ends up looking something like this once resolved:
// file.basename is the current date in yyyy-mm-dd
if ("2021-05-26" !== file.basename) return;

However, .toISOString() returns the date with the timezone always zero UTC offset so that date comparison will always happen between a date in UTC and the date in the users locale (file.basename). I'm in Australia, so that code won't run until after 11am when UTC is the same date as here.
I hope that makes sense — thanks again for picking up my silly mistake.

Both #11 and #12 are merged and a new version 1.0.2 has been released.
@AlansCodeLog I merged despite your findings only because it seems as though the PRs seemed to fix things for the most part and so I would welcome any additional PRs to further improve the plugin/harden the logic.


Should we allow function.sent in arrow functions?

We can refer other meta properties in arrow functions, for example:
function X() {
  return () => new.target
}
new X()() // X

Shall we also allow it for function.sent?
Possible usage: short alias for function.sent
function *numberToken() {
  const v = () => function.sent

  let sign = 1, integer = 0, fraction = 0
  if (v() === '-') {
    sign = -1
    yield
  } else if (v() === '+') {
    yield
  }
  while (v() >= '0' && v() <= '9') {
    integer *= 10
    integer += v().charCodeAt(0) - '0'.charCodeAt(0)
    yield
  }
  if (v() === '.') {
    yield
    let x = 1
    while (v() >= '0' && v() <= '9') {
      x *= 10
      fraction += (v().charCodeAt(0) - '0'.charCodeAt(0)) / x
      yield
    }
  }
  if (v() === undefined) return sign * (integer + fraction)
  throw new Error()
}

Problem: arrow functions are also "function" so programmers may expect they have own function.sent?  And there will be generator arrow functions and they should have their own function.sent... (This is just again a naming issue like https://github.com/tc39/proposal-function.sent/issues/1#issuecomment-528962680)
Alternative: make function.sent a function instead of a changing value so we can just write
const v = function.sent

(Another possibility is do not change anything, wait for refs proposal const ref v = ref function.sent)

In your first example, i have no idea why that's a function rather than just a variable (const v = function.sent).
Generator arrows (if they ever manifest) would need their own function.sent, but it'd be possible for them to bind it while normal arrows would not (this does complicate the naming issue).
I'm very confused why it would need to be a function in any case.

i have no idea why that's a function rather than just a variable (const v = function.sent).

Sorry I wrote a bad example, fixed now.

why it would need to be a function in any case

Currently we define function.sent as a value which will be auto updated after yield, so there is no simple way to alias it, u need manually re-assign after any possible yield.
PS. Make it a function also provide possibility of rich semantic, for example, it could have arg. See https://github.com/tc39/proposal-function.sent/issues/3#issuecomment-625913301

sure, you could think of it as a getter on function.
I think those "richer semantics" would be very confusing. Requiring that you save it in a variable if you need it across yields seems reasonable to me.

you could think of it as a getter on function.

Yeah, but it still not solve the "no simple way to alias it" problem. And if we think it as getter on function, it's no much difference to change it to method on function 😆


[BUG] Unable to Follow README

Hey all, trying to use this library to get some cricket data from ESPN Cricinfo.
I think they've added some kind of authentication to their API recently meaning it's impossible to scrape.
Does anybody have any ideas?
Thanks
Describe the bug
Unable to run the example from the readme
To Reproduce
>>> from espncricinfo.summary import Summary
>>> s = Summary()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jacoboxford/.virtualenvs/espncricinfo/lib/python3.12/site-packages/espncricinfo/summary.py", line 12, in __init__
    self.match_ids = self._match_ids()
                     ^^^^^^^^^^^^^^^^^
  File "/Users/jacoboxford/.virtualenvs/espncricinfo/lib/python3.12/site-packages/espncricinfo/summary.py", line 30, in _match_ids
    matches = [x['id'] for x in self.summary_json()['props']['pageProps']['data']['content']['leagueEvents'][0]['matchEvents']]
                                ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
>>>

Expected behavior
I would expect something to be returned without erroring out for me!

I have found the same issue with some code I have written - the API calls all report an error


Using subprocess to run dimorphite_dl

Hello,
I've noticed that Dimorphite-DL is called via subprocess, although it is a python script and can probably be called directly as an imported package, which should be more efficient.
I can try to change it myself if this makes sense.

Hello,
thanks for the initiative, yes I would appreciate, if you'd be willing to try it!

Okay, it was quite easy to do. You can see the changes in this fork:
https://github.com/mayrf/pkasolver/compare/main...eladnoor:pkasolver:main
I think it is working the same as before, however when I try running test_query, I get mostly errors. I am not sure, but I think the problem exists already in your branch - looking at the CI a lot of tests are skipped (exactly the ones that fail on my machine): https://github.com/mayrf/pkasolver/actions/runs/3926198791/jobs/6711694088#step:6:44


Provide "Go Last" navigation command.

@bpasero requested over in PR #33715 that I create this issue.
My goal is to implement a pair of related Vim "jump to mark" commands: https://github.com/VSCodeVim/Vim/pull/1993
As far as I can tell, VSCode does not currently offer "marks" ("bookmarks"), but does have back/forward navigation history. In Vim, when you "jump" (navigate) anywhere, the specially named ' and ` "last jump" marks are set each time. The first time you press '' or ``, the experience is indistinguishable from "Navigate Back". However, that navigation is itself a jump, setting the special last jump marks.  So pressing '' over and over will flip back and forth between two places. The ' register marks a line and the ` register marks a full position. The former can be implemented in terms of the latter.
While Vim implements this behavior in terms of marks, it's equally valid to implement it in terms of jumps, since the navigation history inherently includes cursor position information (ie anonymous marks). All that's necessary is a single variable storing one layer of additional navigation history: The last place you came from.
In practice, this feature works out something like alternating between "Go Back" and "Go Forward", letting you flip between to places quickly to compare them. This is frequently useful when comparing two places in one file, or when comparing places between files. Side-by-side comparisons are useful, but require more window manipulation to set up and tear down. "Go Last" enables quick overlay comparisons like flipping pages of a book back and forth.

@brandonbloom could you verify this works as expected? Then we can close this as verified.

I don't see a "Go Last" command in Version 1.16.1 - has this change been released? I'm not familiar with VS Code's release schedule/process.

@brandonbloom It is included into our nightly insider builds. You can give our preview releases a try from: http://code.visualstudio.com/Download#insiders

Thanks.
Yup, this is working great in an insiders build for me!

@brandonbloom thanks for verifying

This worked just fine in the insider build I tried, but something else has broken since then. When I try to use this command, I occasionally get an error: "Cannot read property 'selection' of undefined". After this error occurs, the normal "Go Back" and "Go Forward" commands also become broken with the same error.

@brandonbloom any ideas for how to reproduce consistently? Can you share the full stack trace here when you see it again?

How would I go about getting a full stack trace? Running VS Code under it's own debugger, I can't get pause on exceptions or rejections to actually pause in this context. Instead, I just get the error on the little bubble on the top of the window.

Weird - I seem to have "fixed" it by closing every window in my editor session and re-openning the folder. There must have been some cached state that was invalid. It seems to work now... I'm no longer able to reproduce the failure and this is working fine again.

Whoops, spoke too soon. Apologies for the noise. It failed again after about 5 minutes of work. I think I can reproduce somewhat reliably, so I'll try to get you a stack trace if you have advice on how to go about that.

Please see if you can find any logged output that could help us find the source of the issue:

run code --verbose from the command line and attach the output
in Code select Help | Toggle Developer Tools and select the Console
attach any output you see in the Console you can find

Thanks!

OK, thanks. Looks like this commit that landed the day after mine is the issue: 273dbeef4a9ac3e0713872b2488ebad442a06b7c
In particular, this line: if (entry.selection && !acrossEditors) { doesn't guard the fact that entry may be undefined because the index may be out of range. I'm not sure what paths lead this code to be triggered, but lots of other code in the file guards against index < 0.

@brandonbloom how is that possible though, when I look into the version of that file from 1.15 where your change was not included we already had a case where we accessed the entry without checking for null (see https://github.com/Microsoft/vscode/blob/release/1.15/src/vs/workbench/services/history/browser/history.ts#L324). So it seems that the "Go Last" command can result in the index not being correct, can you check how that can happen so that we can fix the command?

Sorry for chipping in, I had a same issue. I am using 1.17.2 b813d12980308015bcd2b3a2f6efa5c810c33ba5.
the following is what I got from code --verbose:
[13364:1019/125849.663531:INFO:CONSOLE(28)] "%c[Extension Host] %cinvalid value for set cursor position. This is probably bad? %c(at VimState.set allCursors [as allCursors] (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:151:25))", source: file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js (28)
[13364:1019/125849.665850:INFO:CONSOLE(28)] "%c[Extension Host] %cerror.stack %c(at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:644:25))", source: file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js (28)
[13364:1019/125849.665891:INFO:CONSOLE(28)] "%c[Extension Host] %cTypeError: Cannot read property 'document' of undefined
        at Function.getLineCount (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/textEditor.js:119:46)
        at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:865:58)
        at Generator.next (<anonymous>)
        at fulfilled (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:4:58)
        at <anonymous> %c(at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:645:25))", source: file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js (28)
[13364:1019/125849.665918:INFO:CONSOLE(28)] "%c[Extension Host] %cTypeError: Cannot read property 'document' of undefined
        at Function.getLineCount (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/textEditor.js:119:46)
        at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:865:58)
        at Generator.next (<anonymous>)
        at fulfilled (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:4:58)
        at <anonymous> %c(at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:646:25))", source: file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js (28)
[13364:1019/125850.745410:INFO:CONSOLE(28)] "Cannot read property 'selection' of undefined: TypeError: Cannot read property 'selection' of undefined
    at t.navigate (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2501577)
    at t.last (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2501036)
    at t.run (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2894265)
    at file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2615209
    at n.Class.derive._oncancel.then (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:60387)
    at p (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2615166)
    at file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2614886
    at t.invokeFunction (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:1089386)
    at t._tryExecuteCommand (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:1080627)
    at file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:1080327", source: file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js (28)

and from Console:
/home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28 [Extension Host] invalid value for set cursor position. This is probably bad? (at VimState.set allCursors [as allCursors] (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:151:25))
console.ts:123 [Extension Host] error.stack (at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:644:25))
console.ts:123 [Extension Host] TypeError: Cannot read property 'document' of undefined
	at Function.getLineCount (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/textEditor.js:119:46)
	at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:865:58)
	at Generator.next (<anonymous>)
	at fulfilled (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:4:58)
	at <anonymous> (at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:645:25))
console.ts:123 [Extension Host] TypeError: Cannot read property 'document' of undefined
	at Function.getLineCount (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/textEditor.js:119:46)
	at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:865:58)
	at Generator.next (<anonymous>)
	at fulfilled (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:4:58)
	at <anonymous> (at ModeHandler.<anonymous> (/home/uchida/.vscode/extensions/vscodevim.vim-0.10.1/out/src/mode/modeHandler.js:646:25))
messageService.ts:125 Cannot read property 'selection' of undefined: TypeError: Cannot read property 'selection' of undefined
    at t.navigate (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2501577)
    at t.last (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2501036)
    at t.run (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2894265)
    at file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2615209
    at n.Class.derive._oncancel.then (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:60387)
    at p (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2615166)
    at file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:2614886
    at t.invokeFunction (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:1089386)
    at t._tryExecuteCommand (file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:1080627)
    at file:///home/uchida/Downloads/VSCode-linux-x64/resources/app/out/vs/workbench/workbench.main.js:28:1080327
e.doShow @ messageService.ts:125

Filed https://github.com/Microsoft/vscode/issues/36544 to track this for October.

Hey @bpasero, sorry, you're right: The unguarded undefined entry isn't a new problem. I jumped to conclusions because I was using this command in my private build without issues until the new release came out. I'll try to find some time to look at this more closely soon.


Support ed25519(EdDSA) signature algorithm for x.509 authentication

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Update dated .NET Framework/VS references

This 'tip' block still referred to .NET Framework 4.5 and VS 2012.
I took the new text directly from the API page below - is there a better way to share that text block, or is copying and pasting ok?
https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.dataflow?view=netcore-2.0#remarks

Related to #3938

Thanks @mairaw. Just to clarify, it wasn't the package name I noticed so much as the whole 'TIP' block - which referred to VS 2012 and .NET Framework 4. If that's covered by #3938, then great! 😄


Protect duplicate subscription (another try).

Another case of duplciate tracks in SDP.
During migration (if both publisher and subscriber migrate), subscriber could attach the remote track of the publisher. But, while that is happening, publisher could migrate into the node and close the remote media track. This was causing subscriber to switch from attaching to remote media track -> attaching to local media track.
But, as remote media track was closed while add subscription was happening, the subscriber is removed without subscription manager being aware of it.
So, the subscription manager's reconcile and the remove subscriber is racing and when subscription manager re-subscribes, caching has not run yet and that creates a duplicate.
Delay removing subscribed track till after caching is done. That means, even if the reconciler runs, it will get an errAlreadySubscribed error and it will force it to reconcile again. By the time the subscribed track is deleted from the subscriptions map, caching is done.

Nice catch!
though looking at the code, when it's already subscribed, it doesn't return and potentially fires off a callback prematurely. here:
	if err == errAlreadySubscribed {
		m.params.Logger.Debugw(
			"already subscribed to track",
			"trackID", trackID,
			"subscribedAudioCount", m.subscribedAudioCount.Load(),
			"subscribedVideoCount", m.subscribedVideoCount.Load(),
		)
	}

not sure if that's an issue here.

Nice catch!
though looking at the code, when it's already subscribed, it doesn't return and potentially fires off a callback prematurely. here:
	if err == errAlreadySubscribed {
		m.params.Logger.Debugw(
			"already subscribed to track",
			"trackID", trackID,
			"subscribedAudioCount", m.subscribedAudioCount.Load(),
			"subscribedVideoCount", m.subscribedVideoCount.Load(),
		)
	}

not sure if that's an issue here.

It should be fine. In that case the returned subTrack: nil. And the following line of code
    if err == nil && subTrack != nil { // subTrack could be nil if already subscribed

handles that. Only inside the if block, the subscribed callback is fired. However, I think there may be other things that needs attention. The unsubscribed callback/event fires from subscribed track close handler. When switching from remote -> local OR local -> remote, the subscribed track changes. That could fire an unsub and then sub again after re-attach. Have to  check if we should avoid those events.


fix(dataobject): rename Json utility  Payload

PROBLEM:
It is usual to serialize from a json string or python dictionary or lists to dataobject and vice versa, these operations are done using the Jsonclass of the library hopeit.dataobject.jsonify and as a result, the code looks like this:
Serialization samples of dataobject:
from hopeit.dataobject.jsonify import Json

@dataobject
@dataclass
Something:
   value: str

something_instance_from_json = Json.from_json('{"value": "str"}', Something)
something_instance_from_dict = Json.from_obj({"value": "str"}, Something)

something_instance = Something(value='str')

payload_str = Json.to_json(something_instance)
payload_dict = Json.to_obj(something_instance)

For some users, this may create some confusion when reading Json when it has no relation to the type of operation being performed.
No Json-related operations could be seen in this sample either:
from hopeit.dataobject.jsonify import Json

@dataobject
@dataclass
Something:
   value: str

my_dict = {"value": "str"}

something_instance_from_dict = Json.from_obj(my_dict, Something)
payload_dict = Json.to_obj(something_instance)

ACCEPTED PROPOSAL:
Since it is always the payload of the dataobject that is manipulated with these utilities, two alternatives are proposed:
1 - Rename class from Json to Payload, also the package hopeit.dataobject.jsonify to hopeit.dataobject.payload
from hopeit.dataobject.payload import Payload

@dataobject
@dataclass
Something:
   value: str

something_instance_from_json = Payload.from_json('{"value": "str"}', Something)
something_instance_from_dict = Payload.from_obj({"value": "str"}, Something)

something_instance = Something(value='str')

payload_json_str = Payload.to_json(something_instance)
payload_dict = Payload.to_obj(something_instance)

^^ This is the solution implemented in this PR.
hopeit.dataobjects.jsonify.Json will be still present but issuing a DeprecationWarning when imported,
and will be removed in a future version. (Yet to be decided)
ALTERNATIVE:
2 - Embed the functions inside hopeit.dataobject:
from hopeit.dataobject import from_obj, to_obj, from_json, to_json

@dataobject
@dataclass
Something:
   value: str

something_insance_from_json = from_json('{"value": "str"}', Something)
something_insance_from_dict = from_obj({"value": "str"}, Something)

something_instance = Something(value='str')

payload_json_str = to_json(something_instance)
payload_dict = to_obj(something_instance)

Also, add from_dict and to_dict as functions -even when is already handled by from_obj and to_obj- might help code comprehension for coders unfamiliar with hopeit.engine.

On web.py line 514 a commented out line should be removed:
    # body = Json.to_json(result, key=event_name)

Apps Visualizer api file needs to be updated:
source plugins/ops/apps-visualizer/api/create_openapi_file.sh


How to fix chapters count on multi part books

I have a book that I can only download in parts. So I have part 1 to 6 and the problem is, that the chapters start with 1 for every part I convert. Is there a way to set a custom start chapter number?
Maybe the –chapter-naming-scheme is possibility, but I don't see how this should work ...

Just tested to see how AAXtoMP3 would behave with multi-part books, and hit what you have too @nbartels. Thinking:
So far this seemed only possible to deal with by manual means, using a mass file-renaming tool, then a mass ID3 changing tool. Seems outside the scope of AAXtoMP3 to be aware of the existence of other parts of a book, because from its perspective the part is an entire book. It would likely not have context awareness.
Maybe the files could be done without being chaptered, merged, then chaptered, but again, this would be outside AAXtoMP3.

I solved the problem so far using eyeD3 and a small bash script. But with some manual work per part.

Thanks for the tip @nbartels! Checking out eyeD3 now. I only have 2-3 books that were more than one part, so that seems like a great solution.


[3412] Handle trainees on an EBACC initiative

Context
https://trello.com/c/2fus5V0x/3413-investigate-21-22-trainees-in-state-nonimportablemissinginitiative
Changes proposed in this pull request
If a trainees is on the "Additional ITT place for PE with a priority subject" initiative, it actually means they're on PE with Ebacc. So set our ebacc field to true for these trainees and import them with no initiative.
The other missing initiative was "Primary mathematics specialism" but these needs more analysis https://trello.com/c/ceGyQHVL/2621-investigate-primary-with-mathematics-and-specialist-teaching so we'll continue skipping these trainees.
Guidance to review
Important business

Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

 Investigate 21/22 trainees in state non_importable_missing_initiative


Non correct linking instruction

As said in installation instructions:

Run react-native link react-native-fcm

but when i did it i got error:

rnpm-link info Linking react-native-fcm android dependency
rnpm-link ERR! It seems something went wrong while linking. Error: path must be a string
Please file an issue here: https://github.com/rnpm/rnpm/issues
/PROJECT_PATH/node_modules/promise/lib/done.js:10
throw err;
^
TypeError: path must be a string
at TypeError (native)
at Object.fs.openSync (fs.js:584:18)
at Object.fs.readFileSync (fs.js:431:33)
at applyPatch (/PROJECT_PATH/node_modules/react-native/local-cli/rnpm/link/src/android/patches/applyPatch.js:6:29)
at registerNativeAndroidModule (/PROJECT_PATH/node_modules/react-native/local-cli/rnpm/link/src/android/registerNativeModule.js:23:3)
at /PROJECT_PATH/node_modules/react-native/local-cli/rnpm/link/src/link.js:43:5
at process._tickCallback (node.js:406:9)
at Function.Module.runMain (module.js:449:11)
at startup (node.js:141:18)
at node.js:933:3

So i did it like:
react-native link 'react-native-fcm'
And it worked fine

I don't have that issue. what rn version are you running?


This documentation is only for < ES6

Hello,
It would be useful to put an information for the developers who want to minify code javascript ES6 and higher.
Just use gulp-terser instead of gulp-uglify.

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

ID: 36f55e9a-cd3f-83a0-f142-969dc10d3ceb
Version Independent ID: f6845f70-1ac6-2036-f213-a3b665b3d8bf
Content: Bundle and minify static assets in ASP.NET Core
Content Source: aspnetcore/client-side/bundling-and-minification.md
Product: aspnet-core
Technology: aspnetcore-clientside
GitHub Login: @scottaddie
Microsoft Alias: scaddie

@Xarkam  any chance you could PR that?

Hello @Rick-Anderson,
I am going to do a PR but I am not very hot when I see that the issue ( 5028  ) that my wife opened in 2017 is tagged help wanted.
I will read the contributing page for this PR.


DS-3317: Don't autoRelease artifacts to Maven Central

https://jira.duraspace.org/browse/DS-3317
Fix bug accidentally introduced into our 6.x Maven Release process. Ensure we must still manually verify a release before it gets sent out to Maven Central.
These code changes were verified in https://github.com/DSpace/dspace-api-lang/pull/19 , and were used during the dspace-api-lang and dspace-xmlui-lang 6.0.2 releases.  Just copying them over to our main Parent POM so that we use them in 6.0 final.
@pnbecker and/or @mwoodiupui , could you verify this PR since you were involved in the discussion regarding dspace-api-lang?

+1 by review

+1 by review.


Is geo3D referencing world.js the latest geojson data?

Version

Link to Minimal Reproduction

Steps to Reproduce
Where can I get the latest world map and China map geojson data?
Current Behavior

Expected Behavior

Environment
- OS:
- Browser:
- Framework:

Any additional comments?

https://cdn.jsdelivr.net/npm/echarts/map/js/china.js
https://cdn.jsdelivr.net/npm/echarts/map/js/world.js


Add documentation for ttnv3 source of lorawan-stack-migrate tool

Summary

Closes #970
Screenshots

Changes

Add ttnv3 source docs page

Notes for Reviewers

nil
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links. Test with HUGO_PARAMS_SEARCH_ENABLED=true if style changes will affect the search bar.
[x] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

Hi @happyRip,
In addition to the information in this PR, please consider including the below points in the Configure ttn-lw-migrate section.

The Application Server, Join Server, and Network Server are all available in the regional clusters. However, the Identity Server is only available in the eu1 cluster, i.e., eu1.cloud.thethings.network.
Add the instructions on how to get the TTNV3_CA_FILE file if anyone want to use this.

Right now this new page sort of overlaps with the TTSCE -> TTSC migration instructions, which is sort of expected but confusing.
I think that we should find a way to integrate the content that we already have there into this page, and the title itself should be more akin to Migrating between The Things Stack distributions, with a special step by step (copy paste-able) set of instructions for TTSCE -> TTSC. For reference, v3 is more of an internal name nowadays than something that people are aware of externally.

I've improved the structure of the docs and finalized the design at least to a review-ready state.
I've applied all of the comments from @nejraselimovic
The migration between TTS distributions section was merged with ttnv3 migrate tool section.
I added a table with links to sections of each source in getting-started/migration-tool section.
In CONTRIBUTING.md it is specified to use $ before any bash commands, but most of the docs I came by didn't do this, so I removed them to match this style, this can be done the other way around if needed.

I've improved the structure of the docs and finalized the design at least to a review-ready state.
I've applied all of the comments from @nejraselimovic The migration between TTS distributions section was merged with ttnv3 migrate tool section. I added a table with links to sections of each source in getting-started/migration-tool section.
In CONTRIBUTING.md it is specified to use $ before any bash commands, but most of the docs I came by didn't do this, so I removed them to match this style, this can be done the other way around if needed.

Thanks for doing this, we have some great content there! This is a great progress, but I do have a small suggestion before we finalize this. See the attachment below for the reference. The Migrate using the Migration Tool subsection is bugging me, as I think it's creating a confusion - we'll have a loop between sections Migration Tool - Migrate using the Migration Tool - Migrate without Persisting Active Session/Migrate Active Device Session and users won't be able to easily understand what's going on.
My suggestion to do one of the following:

Remove the Migrate using the Migration Tool subsection and transfer that info to Migration Tool (environment variables configuration) and Migrate without Persisting Active Session/Migrate Active Device Session (commands for device and app migration (basically, we already have this in the Migration Tool tab together with CLI and Console)).
Reorganize Migrate using the Migration Tool, Migrate without Persisting Active Session and Migrate Active Device Session similar to what we have in Migrating End Devices from V2, i.e. define 3 subsections Migrate using the Migration Tool, Migrate using the Console and Migrate using the CLI, and then explain how to do migration with and without persisting active device session in each one of those.

I think one of these suggestions would make it easier to follow, but let me know your thoughts as well.

I decided to try and follow

Remove the Migrate using the Migration Tool subsection and transfer that info to Migration Tool (environment variables configuration) and Migrate without Persisting Active Session/Migrate Active Device Session (commands for device and app migration (basically, we already have this in the Migration Tool tab together with CLI and Console)).

V2 instructions were kept in the previous location for 2 reasons:

AFAIK it is depreciated (if there is an option to mark it depreciated for migration tool and not the stack than I could add that)
the V2 section is not only about using the migration tool

This way in the Migration tool section there is TTS and ChirpStack for now
As a benefit on the bottom of instructions on installing the migration tool there is a list of subpages with instructions on using the pages, so the table I made before may be obsolete, not sure

The name of the section Migrating End Devices from The Things Stack doesn't seem perfect to me, but I couldn't think of a better one.

@happyRip I pushed some changes, can you check them out? You'll notice I changed some parts to distinguish the process of exporting devices and the process of actually migrating devices, which I think will make things clearer for readers. Other changes are mostly for improving readability. I'm also planning on removing the docs about migration from V2 as Rish said that now it is safe to remove them since V2 was shut down a year ago, but can handle that in a separate PR.

I've checked-out the changes and I think distinguishing between migrating and exporting works wonders here. Thank you for improving the content as well.
This branch got a bit old, I'm going to perform a rebase and resolve merge conflicts.


pin tf version (fix deepmodeling/deepmd-kit#176)

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

fix deepmodeling/deepmd-kit#176

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Clicking back and forth between settings panels with a "User" field type throws exception

Here's the exception:
Expected one element in jQuery set, 2 found
24363: http://localhost:9991/webpack/common.js | Object.blueslip_error [as error]
62: http://localhost:9991/static/js/setup.js | jQuery.fn.init.$.fn.expectOne
117: http://localhost:9991/static/js/settings_account.js | undefined
66: http://localhost:9991/static/js/settings_account.js | Object.exports.add_custom_profile_fields_to_settings
149: http://localhost:9991/static/js/settings_account.js | exports.set_up
33: http://localhost:9991/static/js/settings_sections.js | Object.exports.load_settings_section
758: http://localhost:9991/static/js/click_handlers.js | HTMLLIElement.
24189: http://localhost:9991/webpack/common.js | HTMLLIElement.blueslip_wrapper
7202: http://localhost:9991/webpack/common.js | HTMLDivElement.dispatch
7010: http://localhost:9991/webpack/common.js | HTMLDivElement.elemData.handle
10268: http://localhost:9991/webpack/common.js | Object.trigger
10346: http://localhost:9991/webpack/common.js | HTMLLIElement.
2373: http://localhost:9991/webpack/common.js | Function.each
2208: http://localhost:9991/webpack/common.js | jQuery.fn.init.each
10345: http://localhost:9991/webpack/common.js | jQuery.fn.init.trigger

@YJDave can you look into this?  It looks like some sort of double-initialization problem with the user pills.  The trigger was basically just opening settings, clicking around between the "organization settings" UI for custom profile fields and and "display settings" with a few closes of settings in there (probably there's a simple 3-step flow; this is just what I did twice and got this each time).

@zulipbot claim

I think it's very likely that this is caused by @showell's recent work on the toggler component.

I tried looking into this and couldn't get a repro.  If we can a good repro on this, ping me and I'll try looking into it.

I don't think this is a bug with the toggler, as much as it's that we have two different panels related to profile fields, one in Settings (Your account) and one in Organization (Custom profile fields), and they seem to both call settings_account.add_custom_profile_fields_to_settings for some reason.
It's not clear to me why settings_profile_fields.populate_profile_fields calls settings_account.add_custom_profile_fields_to_settings as part of the codepath to load the Organization page (inside admin_sections.load_admin_section).
d2128105dd40a688ef1c9cba358becf3a9138a87 by @YJDave appears to be relevant, and I think that fix has the intended effect of updating the widget when events come in, but we should be reorganizing the codepaths to avoid unintended side effects.

@showell Thanks for debugging! I fix the error, submitted #9726.
Yes, the function was called twice and also it doesn't include check whether overlay is open or not.


Add ec2 isntance options for data and ml nodes

Description
This PR adds ec2 isntance options for data and ml nodes.
This PR also adds the ability to set seed node to data instance type and storage when there is no dedicated master node configured.
The single-node is fixed to eg.2xlarge due to urgent requirement for it to be used for benchmarking test. Will update this to use the passed data ec2 instance type post P0 release.
Other nodes except data and ml default to c5.xlarge, options for them can be provided in subsequent PRs.
Issues Resolved
#6 #27 #28
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@gaiksaya @peterzhuamazon @prudhvigodithi Need your review.


Render mobile tabs

The puzzle 42-2ed2acf4 from #42 has to be resolved:
https://github.com/codeforthailand/election-live/blob/97f3b92304b364b33f3a61e84078b0d45e638bae/src/components/ZoneMasterView.js#L112-L112
The puzzle was created by Thai Pangsakulyanont on 19-Mar-19.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 42-2ed2acf4 has disappeared from the source code, that's why I closed this issue.


Marco devel

Merged marco-devel with master. marco-devel derived from DeterministicSSM to create MultiRobotSSM that scales robots' speed in multi-robot scenarios.


feat(mysql): DBHA support multi slave's failover

关联研发信息
dev_branch: feat/dbha/#360
target_branch: v1.2.0


After synx some png will be can not find

After synx, some png will be can not find in the old location.
But even I remove the reference and remove the file and add again, it will show there is a same name file. But nothing is at there.
I use Xcode 6.3.
UPDATED:
It caused by I had duplicate reference, After synx, it removed duplicate reference.
Then got the error.
Now I removed duplicate reference, then synx and it's OK.
Thanks for good tool.

Thank you for the update!


Connection is broken after ~1 min of inactivity

The connection is broken after ~1 min of inactivity, and I get some TaskCanceledExceptions in console.
After this, the request is sent to my phone, but the response is not received back.
I am using nuget package version 2.1.0

Can you provide an example that reproduces the issue? Can you provide the full log you get in the console relating to the TaskCanceledExceptions

After this, the request is sent to my phone, but the response is not received back.

Do you mean after you get the TaskCanceledExceptions in the console, you get the request sent to your phone?

Can you provide an example that reproduces the issue? Can you provide the full log you get in the console relating to the TaskCanceledExceptions

I get something like this in the console.

Steps to reproduce the issue:

Scan QR and approve the connection
Wait >1 min (don't make any requests)
Make a request after 1-2 mins
Request is received on my phone
Response is not received back

Do you mean after you get the TaskCanceledExceptions in the console, you get the request sent to your phone?

Yes. I suppose that there are some background tasks canceled or something because of the exceptions and that's why the response is not received.

Same issue here, only see the thread has exited logs. Nothing more.

Closing this as it is a duplicate of #79, let's continue our discussion on that thread.


Bug: Modal with closeTimeoutMS unrecoverable with Suspense

Summary:
Passing closeTimeoutMS to an open Modal makes it unrecoverable if it's part of a render that suspends.
Steps to reproduce:

Create a component that contains an open modal, and something that can suspend
Suspend it after initial render
Modal can't recover

Expected behavior:
Modal should be open.
Link to example of issue:
https://codesandbox.io/s/closetimeoutms-and-suspense-nfmelh?file=/src/App.tsx

Additional notes:
If the closeTimeoutMS prop is removed from the codesandbox link, everything works as expected.

@h3rmanj This is super weird...why is it triggering the fallback if there is still content been displayed?

It is the lay component that triggers the suspense. Probably, suspense uses conditional rendering on their side and react-modal doesn't play well with it.

React-Modal: Cannot register modal instance that's already open in Unknown

:thinking: it must be failing to remove the instance from the manager.

My bad...I thought that the h1 tag in the sandbox would not allow to trigger the suspense, but actually it comes from the LazyComponent.
react-modal has a small manager to deal with nested modals and dangling references to modals.
In this case, since it doesn't trigger the manager logic to remove the instance from the manager,
it will fail when it tries to open a new instance.
You must be getting this log message:

React-Modal: Cannot register modal instance that's already open in Unknown

Right, so if I remove closeTimeoutMS (https://codesandbox.io/s/closetimeoutms-and-suspense-forked-qe46ox?file=/src/App.tsx), what appears to be expected behavior is actually showing an old instance that should've been removed?

If suspense is been triggered, than it must create a new instance of the Modal, because that one was already "detroyed".
https://github.com/reactjs/react-modal/blob/8a7426898cc53844dd2d3043e16d429a1a4942ad/src/helpers/portalOpenInstances.js#L24-L32


improve promise exception

if the exception stays, we really should keep the nested exception or this will be very annoying to debug.

:+1:

:+1:


Update _retries.json for servicequotas

We use the service-quotas API to enumerate all of the quotas in our account and noticed that boto3 was failing to retry after a TooManyRequestsException with HTTP status code 400. After some digging, I realized that the retry checker was only checking for a TooManyRequestsException with code 429, but not with code 400 which is what the API was giving us.
It looks like you've already added the configuration here for the organizations service, so I'm just adding too_many_requests_400 as a default retry now.
Let me know what you think.
Thanks,
Noah

Codecov Report

Merging #2328 (bac573c) into develop (580d2cc) will decrease coverage by 0.41%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2328      +/-   ##
===========================================
- Coverage    98.25%   97.84%   -0.42%
===========================================
  Files           58       58
  Lines        10968    10968
===========================================
- Hits         10777    10732      -45
- Misses         191      236      +45

Impacted Files
Coverage Δ

botocore/compat.py
72.15% <0.00%> (-22.16%)
:arrow_down:

botocore/hooks.py
95.18% <0.00%> (-0.81%)
:arrow_down:

botocore/awsrequest.py
98.63% <0.00%> (-0.35%)
:arrow_down:

botocore/credentials.py
98.65% <0.00%> (-0.32%)
: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 580d2cc...bac573c. Read the comment docs.

Hi @noahrossi, can you share a snippet of the expanded exception you are receiving. Typically TooManyRequestsException exceptions should have a code of 429.


Material form components should support RC.2 REACTIVE_FORM_DIRECTIVES

Bug, feature request, or proposal:
Proposal
What is the expected behavior?
Material Components fully supporting REACTIVE_FORM_DIRECTIVES ([formControlName], etc.)  of RC.2 angular/forms
What is the current behavior?
An exception No value accessor is thrown when trying to bind [formControlName] from REACTIVE_FORM_DIRECTIVES to a Material component

Dupe of #696


Adds another 'Active' filter users and admins in AdminConsole/UserManagement/Users

Summary
Mattermost system console user list should allow to filter out inactive users, or in other words to only show active users and admins.
Right now you only have following options:
"All users"
"System Admins"
"Guests"
"Inactive"
This PR adds new option "Active" to the list.
The API on the server side is already present:
This URL returns inactive  users:
/api/v4/users?page=0&per_page=100&inactive=true
This URL returns active users:
/api/v4/users?page=0&per_page=100&inactive=false
Ticket Link
https://mattermost.uservoice.com/forums/306457-general/suggestions/44133915-filter-out-inactive-users-in-mattermost-system-con
and partially https://github.com/mattermost/mattermost-server/issues/12319

Related Pull Requests

Has server changes (please link here)
Has mobile changes (please link here)

Screenshots

Release Note

Adds another 'Active' filter users and admins in AdminConsole/UserManagement/Users

thank you for the PR @tmotyl can we have a discussion in https://community.mattermost.com to coordinate developers and PMs opinions on this feature
cc @jwilander

We chatted about this on community.mattermost.com. It's a minor improvement so falls under our policy where a ticket isn't required. Added @laneycs for PM review and @BenCookie95 for second dev review.
Thanks @tmotyl !

here you go @M-ZubairAhmed

/update-branch

We don't have permissions to update this PR, please contact the submitter to apply the update.

Hi @tmotyl can you please update the branch? Thanks 🙂

/update-branch

@jgilliam17 that's strange, I always make sure the checkbox about maintainers being able to edit my branch is checked when I'm contributing.
Anyway, I've updated the branch by merging upstream changes. Is it ok, or do you want me to rebase branch on top of master?

Thanks @tmotyl I think this is sufficient.
@M-ZubairAhmed do you mind checking the running workflow and approving if ok? thanks 🙂

/e2e-test

Triggering e2e testing with options:
<nil>

Thanks @tmotyl and apologies for delay in getting to this PR

E2E report looks good, no PR related failures
I am seeing one issue
Deactivated user consistently sorts as "active'

changed api param from
/api/v4/users?page=0&per_page=100&inactive=false
To
/api/v4/users?page=0&per_page=100&active=true
Will @mm-cloud-bot pick up the new commit automatically, or does one need to trigger it?

@jgilliam17 Please try it now.

Thanks for the contribution @tmotyl !


Overhaul SageWorks testing

Okay, so we've been fast and loose with the testing so far but lets pin it down a bit... here's the proposed overhaul.

tests

artifacts
transforms

We'll have a pytest 'fixture' that ensure we have AWS account clamp good to go

'slow_tests' will be marked via pytest and only run if explicitly asked for

setup, flake, coverage, etc

use Github Actions

Badges

Partially done, got the tests/ directory and tests in place.. we'll work on the rest later. :)


Godot 4.2 Beta 6 Hangs on Close

Godot version
4.2 Beta 6 Mono 64
System information
Windows 11 Godot 4.2 Beta 6 Visual Studio Community 2022 64-bit 17.7.4, Forward+
Issue description
Just upgraded to Beta 6.  When I attempt to close my project, Godot hangs.  This has not happened previously.
Steps to reproduce
Open a project in the beta 6 and try to close.  No response until Windows reports Not Responding.
Minimal reproduction project
See above.

Thanks for the report. Consolidating in the existing https://github.com/godotengine/godot/issues/84728


1.19

Your Idea
1.19 update
Discord username (if you want updates)
Developer Notes (leave this blank)
Difficulty: __
Estimated Time Required: __
Once development starts.

(Please forgive my poor English) I think author is waiting for Baritone update to 1.19

(Please forgive my poor English) I think author is waiting for Baritone update to 1.19

Baritone 1.19 is finished

(Please forgive my poor English) I think author is waiting for Baritone update to 1.19

Baritone 1.19 is finished

(Please forgive my poor English)But why can't I find it in https://github.com/cabaletta/baritone/releases . Is it a Beta version? Or how can I find it?

(Please forgive my poor English) I think author is waiting for Baritone update to 1.19

Baritone 1.19 is finished

(Please forgive my poor English)But why can't I find it in cabaletta/baritone/releases . Is it a Beta version? Or how can I find it?

https://github.com/cabaletta/baritone/actions/runs/2756114233

1.19: https://github.com/cabaletta/baritone/actions/workflows/gradle_build.yml?query=branch%3A1.19%2F1.19+is%3Asuccess
1.19.1: https://github.com/cabaletta/baritone/actions/workflows/gradle_build.yml?query=branch%3A1.19.1+is%3Asuccess

Thanks!

when will the 1.19 version be out

Any updates about  this topic?
Is 1.19 support  planned or not?


Fix Namings

claim is actually and article, for example. There are many instances of these inappropriate namings.

done


update params.ReturnValues to match aws implementation

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#DDB-UpdateItem-request-ReturnConsumedCapacity
Use ReturnValues if you want to get the item attributes as they appear before or after they are updated. For UpdateItem, the valid values are:
NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)
ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.
UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation.
ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.
UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation.

:tada: This issue has been resolved in version 4.1.0-beta.26 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Isn't this still an issue regarding the type of .returnValues() ?
I see it only accepts:
    returnValues(returnValues: 'ALL_OLD'): PutRequest<T, T>;
    returnValues(returnValues: 'NONE'): PutRequest<T, void>;

@oreporan I see that you are referring to the returnValues of a PutRequest which is not what this issue was about, the change only affected the update request. Looking at the docs a PutItem request only supports ReturnValues of type.NONE and ALL_OLD.
https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html#API_PutItem_RequestSyntax

The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.


[AzureMonitorExporter] Add support new semantics - Request Telemetry

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.

Thanks, @vishweshbankwar and @TimothyMothra. I will address the provided feedback in the follow-up PR since they are trivial.


updated spectacle (1.0.5)

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Merged as 6990de3d3e434dc862372128e8446bcba8fe37d5.


Confusion about the TargetConditionalFlowMatcher

Hi,
Thanks for releasing this repo for us to learn flow matching!
While I was looking at the TargetConditionalFlowMathcer in conditional_flow_matching.py, I found that in the sample_xt() function, the output is something like mu_t + sigma_t * torch.randn_like(x0). In the paper FLOW MATCHING FOR GENERATIVE MODELING, the final loss function of example two is written as follows (Eq. 23):

My confusion is shouldn't the output of sample_xt() be something like  mu_t + sigma_t * x0 instead of  mu_t + sigma_t * torch.randn_like(x0) as in Eq. 22? In the above loss function, the x0 is used instead of sampling a new random noise. Is there someting I miss? Or is these equivalent?
Sorry for the inconvenience. I am new to the field.
Many thanks!

Hi,
My intuition says these should be equivalent because it's the sum of two normals, but I haven't rigorously checked.

Ok. Thanks for the quick reply!


telecom related street_cabinets could also be rendered

Using the "telecoms" overlay, it could be relevant to display the man_made=street_cabinets when related to telecom infrastructures, I usually tag these ones for fiber optic deployment as the node below:
https://www.openstreetmap.org/node/4355518721
man_made=street_cabinet
street_cabinet=telecom
...

The same is true for man_made = street_cabinet + utility = power/gas/water/… in the respective overlays.
See also #157.


Get value from events

How to capture a value, string for example, of an event? Any examples of how we can do this?

Hey @ccoqueiro ,
Please take a look at our docs.


Using marked higlight option from CLI?

Is it possible to generate highlighted fenced code blocks using the --gfm option and have it parse syntax highlighting?
I noticed man marked mentioning nothing about --highlight option. I did install highlight.js using npm so maybe it is possible somehow?

I was thinking about what if you could provide options in a javascript file, that way you could write some code but still use the cli. You could do something like:
options.js
var highlight = require("highlight.js");

module.exports = {
  highlight: function(){
    return ...
  }
};

echo my-thing.md | marked --options path/to/options.js

#27


Added ability to change job owner

Added ability to change job owner. Fixes https://github.com/Microsoft/azuredatastudio/issues/4269
Tools side PR - https://github.com/Microsoft/sqltoolsservice/pull/779

Closing this PR, since populating logins in a dropdown takes a very big perf hit when a server has many logins. Will change it back to TextBox populated with default owner.


Fix glaring mistake with autowiring::parallel void lambdas

We correctly track the completion of these lambdas, but critically, we don't actually call them.  Fix this and add a test to ensure we don't make this mistake again.

:+1:


Feature Request: Ability to switch between regex and regex_lite crates

Feature Request
The 'regex' crate is huge, and there exists the crate 'regex_lite' that is much smaller & faster to compile, but with the tradeoff of being slower at runtime.
Would it be possible to add a feature flag to be able to switch between the 2 dependencies?

Thanks for the suggestion. I'll look into it.

Hi!
I've already implemented locally, running tests atm.
Would you take a look? I'll create a pr soon.
Have a nice day!

Would you take a look?

Sure. Create a PR and I'll take a look. No rush since I will be offline until the end of the week.

Opened #106

Closing the feature request as "Can't fix" due to the lack of Unicode support in regex-lite. See the discussion in #106.


ui: FPS is unstable on Linux on Parallels

FPS is still unstable, but thanks to IsRunningSlowly, we can play the 'Block' game with less stress.


Fix for no JS errors in IE8 and below

As per commentary in #46 , we fixed the js files so they would fail without JS errors.  The only thing that appears in the console is a .info() call that states "This script will only work with browsers that have buggy implementations of viewport units and will not polyfill viewport units in older browsers (e.g. IE <= 8)'
If we want to take out the error message, that is fine.  Otherwise, the issue has been resolved as per the commentary.

LGTM. will prepare a release tomorrow. Thanks Zoltan!

released in 0.5.2


update ldm noise scheduler api for inference

Fixes # .
Description
update ldm noise scheduler api for inference
Status
Ready/Work in progress/Hold
Please ensure all the checkboxes:

[x] Codeformat tests passed locally by running ./runtests.sh --codeformat.
[ ] In-line docstrings updated.
[ ] Update version and changelog in metadata.json if changing an existing bundle.
[ ] Please ensure the naming rules in config files meet our requirements (please refer to: CONTRIBUTING.md).
[ ] Ensure versions of packages such as monai, pytorch and numpy are correct in metadata.json.
[ ] Descriptions should be consistent with the content, such as eval_metrics of the provided weights and TorchScript modules.
[ ] Files larger than 25MB are excluded and replaced by providing download links in large_file.yml.
[ ] Avoid using path that contains personal information within config files (such as use /home/your_name/ for "bundle_root").

Hi @yiheng-wang-nv ,
That's a good point, I would suggest to change the required train_dataset_data into BundleProperty.REQUIRED: False in the properties.
CC @SachidanandAlle and @tangy5 .
Thanks.

Hi @yiheng-wang-nv ,
That's a good point, I would suggest to change the required train_dataset_data into BundleProperty.REQUIRED: False in the properties. CC @SachidanandAlle and @tangy5 .
Thanks.

I see, I will create a PR to modify it in MONAI, and for the test case here, I will temporarily close the check properties and update it in next monai release ( I will use MONAI dev branch to run related tests locally to ensure it works)

/build

/build