MJPEG Camera Log Filter Fixes

Description:
Address comments brought up by balloob in #17042 after it was merged.
Moved the addFilter function to setup_platform and added a check to make sure it only gets added once, instead of getting duplicated for every mjpeg camera in the system.
Related issue (if applicable): fN/A
Pull request in home-assistant.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable):
camera:
  - platform: mjpeg
    name: Driveway Cam
    mjpeg_url: !secret driveway_cam

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

argh, git.  https://xkcd.com/1597/ - trying to clean everything up.

Not sure what to do about the diffs rendering weird. Looks like the Github syntax highlighter is highlighting it as a different type of file instead of Python (even the imports at the top of the file are rendered differently). It's also showing the syntax highlighting issue on the current version of the file in the diff but not if you pull the file up outright. Weird.

Should be good to go now.


DLQ merge API

There are two possible APIs for merging DLQ:
MergeDLQ(originalCluster, originalTopic string, dlqPartition int32, dlqLowwatermark, dlqHighwatermark int64)

// Or similarly
MergeDLQ(originalCluster, originalTopic string, offsetInfos ...OffsetInfo)
OffsetInfo struct {
	Partition int32
	Low int64
	High int64
}

Or
MergeDLQ(dlqCluster, dlqTopic string, dlqPartition int32, dlqLow, dlqHigh int64)

#21 as reference.
The implementation will be based on a RangePartitionConsumer and a MergeDLQ method exposed on the Consumer interface.
Should the exposed Merge API be based on ConsumerTopic where the consumer library infers the DLQ topic name to merge based on config. In this case, an additional parameters determining the offset range for each partition of the DLQ topic is required (so the user is not completely divorced from thinking about the DLQ topic).
Or, expose the API for consuming a specific topic-partition from low to high offset and require the user to specify the appropriate DLQ topic in the arguments.

For the API, I like MergeDLQ(ConsumerTopic, map[int32]OffsetRange) so I am going for that. Feel free to suggest something else.


setting nodeSelector for virt-handler daemonset does not work

/kind bug
What happened:
Tried to set the nodeSelector to "kubernetes.io/arch: amd64" for the virt-handler daemonset.
Does not work no matter what way I try (kubectl patch, kubectl edit, kubernetes dashboard).
It does work fine for the deployments (virt-{api,controller,operator}).
What you expected to happen:
I can set the nodeSelector according to my needs.
(I have a aarch64 node in the cluster, so I need exclude that because kubevirt is x86_64 only).
How to reproduce it (as minimally and precisely as possible):
kubectl patch ds/virt-handler -n kubevirt -p '{"spec": {"template": {"spec": {"nodeSelector": {"kubernetes.io/arch": "amd64"}}}}}'
kubectl describe ds/virt-handler -n kubevirt | grep Node-Selector
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):

Client Version: version.Info{GitVersion:"v0.40.0", GitCommit:"127736619519e6b914e75930fc467c672e766e42", GitTreeState:"clean", BuildDate:"2021-04-20T08:34:39Z", GoVersion:"go1.13.14", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{GitVersion:"v0.40.0-dirty", GitCommit:"127736619519e6b914e75930fc467c672e766e42", GitTreeState:"dirty", BuildDate:"2021-04-20T08:57:15Z", GoVersion:"go1.13.14", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.6", GitCommit:"8a62859e515889f07e3e3be6a1080413f17cf2c3", GitTreeState:"clean", BuildDate:"2021-04-15T03:28:42Z", GoVersion:"go1.15.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.6", GitCommit:"8a62859e515889f07e3e3be6a1080413f17cf2c3", GitTreeState:"clean", BuildDate:"2021-04-15T03:19:55Z", GoVersion:"go1.15.10", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration:

simple kubeadm-deployed cluster.

OS (e.g. from /etc/os-release):

Fedora 33

Kernel (e.g. uname -a):

5.11.15-200.fc33.x86_64

@kraxel Hi. I think that it didn't work for you because you have tried to apply the node selector directly on the DS/Deployment resource. Currently the only way to configure pod placement for the virt-handler is via the Kubevirt CR. The same is for the virt-api, virt-controller and virt-operator deployments. The virt-handler falls into the category called workloads while the rest of the deployments fall into infra category.
Here is an example snippet of how would a Kubevirt CR look like:
spec:
  infra:
    nodePlacement:
      nodeSelector:
        key1: value1
  worloads:
    nodePlacement:
      nodeSelector:
        key2: value2

With that configuration, virt-handler DS will be scheduled on node with key2: value2 label, while the rest of the deployments will be scheduled on a node with key1: value1 label.

That works.  https://kubevirt.io/user-guide/operations/installation/ ("Restricting virt-handler DaemonSet" section) needs an update then.

@kraxel thanks for checking. Could you please close this issue then, we would open a follow-up RFE for docs.

ok, closing (adding a comment with a link to the doc RFE would be nice, thanks).


High-frequency queries from https://wikidocumentaries-demo.wmcloud.org/

@tuukka For some time now, we are receiving a very high volume of queries (ten queries per second and more, around the clock) from https://wikidocumentaries-demo.wmcloud.org . This looks like either disrespectful crawlers or bots, or a script gone astray. Can you please check?
And are you using some caching mechanism to avoid issuing too many queries?

I haven't made any changes lately, but now that I check, Google seems to have suddenly resumed crawling the site (using the user agent GoogleOther) and at a rate of some 100K pages per day or 1 per second.
There's one quick way to reduce the number of requests I send to your direction: I've now disabled the retry logic which I had in case of the error responses 400 and 429. Does it help anything?

@tuukka Thank you for your reply! it's now back to one query every 1-2 seconds, which is reasonable.
But I am curious: can you tell from your logs how many queries per day come from actual users and how many come from bots?

But I am curious: can you tell from your logs how many queries per day come from actual users and how many come from bots?

I don't see the requests made from the clients towards QLever, so I have to use page loads as an approximation.
I ran a simple analysis for yesterday's page load logs:
52162 loads (55.47%) by GoogleOther,
38120 loads (40.55%) by other bots,
3746 loads (3.98%) by actual users.
Regarding actual users, I had a look at the referer data:
311 loads (8.30%) came directly from the wikis (mainly Commons),
960 loads (25.63%) had no referer data,
2441 loads (65.16%) came from navigation within the service.
The numbers you see should be at least 3 times higher (based on the number of facets). Now that I think of it, if I fetched the facets only after fetching the images, I could skip the facet queries whenever I get 0 images. Further, whenever the number of images is small, I could perhaps calculate the facets fully client-side.

Could you clarify what you mean by 'wrong'? E.g. "There should be more users, users should cause more queries, Google should index a smaller proportion of the site, the site should generate about 96% less queries to stay within a per-site reasonable-use quota"
Are you familiar with the traffic statistics of Wikidata and WDQS? I'm not, but I would guess that it's typical for a large proportion to be bots given the "long-tail" nature of Wikidata (and Wikipedia): There are lots of items that some but not many humans are interested in.
Do you have a way to track the cost of queries as opposed to just the number of them? I guess the queries for the less interesting items will be cheaper as there will be less data and images about them. (See also my previous comment for some ideas how I could reduce the number of these cheaper queries.)

@tuukka I am familiar with the statistics for https://dblp.org and https://sparql.dblp.org, which get millions of requests per day both from users and bots/scripts .
What I meant by "wrong" is the following: It costs hardware and energy to answer queries. This is fine when a human being asks or triggers a query. It seems "wrong" when bots trigger complex queries and then don't really do anything with it. Then it's just machines wasting energy for nothing. It's easy to think of scenarios (bots asking other bots asking other bots ... to do complex things), where enormous amounts of energy are wasted, without any human ever in the loop.
Two ways come to mind to deal with this: (1) for the bots, have static versions of the pages, which lag behind regarding their up-to-dateness; (2) for the bots, have reduced versions of the pages. For https://dblp.org, we do (1). For example, https://dblp.org/pid/b/HannahBast.html is a static HTML page, which is produced daily from numerous queries to numerous systems.
It's a challenging topic, I know. Some time ago, we had problems with a browser extension running amok and bringing parts of https://dblp.org down . We couldn't meaningfully block it because it was a broser extension (so coming from the IP addresses of the users of the extension). The final fix was not on our side, but to fix the script to do something more meaningful.


Add intervals to odo sql

If we get a different kind of timestamp does this fail?

do you mean a different unit?

And what about for intervals with different parameters?  Parameterized types tend to need to be handled more explicitly in dshape_to_alchemy

yep this is more of a WIP

Ah, sorry to fire early.
On Thu, Mar 19, 2015 at 2:52 PM, Phillip Cloud<EMAIL_ADDRESS>wrote:

yep this is more of a WIP
—
Reply to this email directly or view it on GitHub
https://github.com/ContinuumIO/odo/pull/147#issuecomment-83773101.

no problem, i'd rather have the feedback earlier than later. fire at will :gun:!

@mrocklin can you review this when you get a chance? i need this for other work, not a huge rush ... but whenever you get a chance

Will take a look

+1

@mrocklin do you mind if i add a parameterized test for constructing all the different frequencies?

Go for it.  Your recent productivity sufficiently trumps mine so that I think your preferences should hold sway.

Going to look into a few databases to see what happens when I create tables with this branch.

going to give this another half day. probably merging tomorrow

merging, i'm decently happy with this


readd check for the IPFS queue to check if the node is up

turns out this wasn't causing the issue it was that we aren't setting the environment variable correctly which identified where the file repository is

no point, node will error out anyways.


Import Pixi as a peer dependency

Otherwise it will possibly result in 2 different versions of Pixi getting installed by package managers, which breaks Pixi. More context here.

Ping @bigtimebuddy. I experienced the issue again when updating from 5.2.0 to 5.2.1 :sweat_smile:

Okay, I've been pondering about this for awhile, but I think you're right about the peerDependencies for core. I'll merge this soon.


.

please describe the issue

I have a problem when I try to use this endpoint /api/v2/verifier/solidity/sources:verify-standard-json.
I have downloaded and run with docker, when I send a request, I get SUCCESS, but when I try to check the bytecode.
That is, the bytecodeType of my request is "DEPLOYED_BYTECODE". When I try to compare the data of localDeployedBytecodeParts with the bytecode received from the blockchain, they are not equal.
(I connected the two data values in localDeployedBytecodeParts), I tried to compare two bytecodes, how they differ, they differ in approximately 10 lines out of 160 lines.
But I also tried to verify the same contract address here https://t3.ftnscan.com/contract-verification, which I also use this service. In this way I can verify. In other words, in this case they are equal to each other, the only difference is that here I gave it input as json, and in my local I gave it as string.

@rimrakhimov can you check?

@Aro-M I suggest you to add correct title and issue description according to "Bug Report" template: https://github.com/blockscout/blockscout-rs/issues/new/choose
Otherwise it would be harder for us to proceed

https://github.com/blockscout/blockscout-rs/issues/1118
I opened it


Updating service of previous version

Hello,
I am using helm 3.2.0 version.BuildInfo{Version:"v3.2.0", GitCommit:"e11b7ce3b12db2941e90399e874513fbd24bcb71", GitTreeState:"clean", GoVersion:"go1.13.10"} and want to new releases use the same name of a service definition.
Reason behind that is that we are using Ocelot as an API gateway and there you have to specify the service name for traffic redirection. So if the service name has to be different for each update, it will not work. When just doing helm upgrade --install --values /home/vsts/work/1/helmvalues/file.values.yaml --wait 2020.05.32 repository/file.service
I get the following error: Service "file-service" in namespace "XXX" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "2020.05.32": current value is "2020.05.27"
Is there any flag when upgrading to integrate the existing resource to allow the overwrite? Or any way to rename the service after?
Sorry if that is a stupid question but I couldn't find any information about a use case like this.

Have you tried changing the label described in the error to the expected value?

Is it possible to do that automatically when installing a new release? I can fix it now manually but i want a general solution when upgrading.

@rakkum If I read your helm upgrade and the associated error correctly, you are not upgrading but rather installing a new version. The previous instance of the chart was "2020.05.27" The new instance of the chart is named "2020.05.32". So, you have two instances of two different versions of the same chart. Is that right?

@mattfarina Yes, I want to install a new version of the same chart. I started with the helm template where it uses this for the service:
apiVersion: v1
kind: Service
metadata:
  name: {{ include "file.fullname" . }}
  namespace: {{ .Values.namespace }}

fullname then uses the _helpers.tpl to generate the instance name which is .Release.Name-.Chart.Name per default.
Am i doing something wrong there? Because since I am using upgrade --install i cannot specify the release name. So it should be something like helm upgrade --install --values XXX --version myspecificVersion file.service repository/file.service in case my release name is called file.service?

@rakkum Can you show the _helpers.tpl  file? Also, do you mind showing the output of the upgrade command using --dry-run flag? It would better help understand the issue.

Ok i solved it. It was as i expected a silly thing. I was treating the release name as the release version that should change every time. Instead its meant as an installation identifier that you install once and dont change after. When changing the release name to the chart name it worked.


[d3d8] Validate depth stencil formats

Fixes #87 , fixes #88  and fixes #118 (addressing the points highlighted therein). I'm not entirely sure if it breaks something or if we should rather app profile these formats rather than outright not supporting them, however this approach seems to be in line with both what native d3d8 and WineD3D are currently doing. Also not entirely sure if this is in any way relevant to d3d9, which is why I've kept everything in d3d8 code.

I think this is probably the right move. Let's wait until we figure out #118 for sure.

Just to clarify, because my :potato: memory remembered some things in the meantime, creating a device with any of these 3 formats will fail. That's what is causing the games to crash (d8vk or d9vk do not crash, they just report the device creation failed back to the apps, which then panic and crash, since CheckDepthStencilMatch had given them the all clear for said formats). I'm assuming based on the results of the tests I've mentioned in #118 that these formats weren't all that supported by drivers anyway, if ever.


next_steps documents should be assembled, not rely on runtime variables where possible

The {{ interview_metadata['title'] }} key is invalid (it doesn't point to a real key in interview_metadata), but it's awkward to use a variable for the document title--it could make it less obvious to the interview author that they are allowed to edit it.

Rather than redo the whole thing, an alternative solution is to replace the variable with interview_short_title.
To remove guess work for the authors regarding what they are/aren't allowed to edit, we can always spell it out on the new intro screen, see issue #321.


feat: add support for 401, 403 and 409 errors

This PR closes https://github.com/elysiajs/elysia/issues/153

After searching for this feature with no luck, I developed a small helper library called elysia-http-error which allow throwing HttpError messages more easily.
You can check it out in NPM registry: https://www.npmjs.com/package/elysia-http-error
This helped me a lot, for example when throwing this error from a derived method which checks jwt then returning the payload to be used later in a route, it allows using the type returned from the derived method without the need for null checking.

@yfrans looks good, but I think it is not big deal to implement it directly to elysia. Maybe some response from other contributors or code owners would be useful cc @SaltyAom

I prefer throwing exception on errors instead of using status codes.
It allows better code flow because error is error and should break the response flow (again, my opinion).
Generic HttpError class is fine, but using a class with static initializers for common errors is more easy to handle.
But it is your library, we can only advice 😀

For me the same as for @yfrans, it is more clear for me to throw specific error right away
if (!user) throw UnauthorizedError('Error message')
if (!permissions) throw ForbiddenError('Error message')
if (!alreadyExists) throw ConflictError('Error message')
if (!record) throw NotFoundError('Error message')

but it make sense to have one generic elysia error and handle it in onError handler
if (!customCondition) {
      throw new ElysiaApiError(409, 'Error message')
}

So if you choose you prefer way I can update PR.

@l2ysho I think using http code like "409", "401", etc. is similar to setting the res.status (without considering the advantage of throwing an exception).
That's why I added the initializers for each http status code.

Any news here?

For me the same as for @yfrans, it is more clear for me to throw specific error right away
if (!user) throw UnauthorizedError('Error message')
if (!permissions) throw ForbiddenError('Error message')
if (!alreadyExists) throw ConflictError('Error message')
if (!record) throw NotFoundError('Error message')

but it make sense to have one generic elysia error and handle it in onError handler
if (!customCondition) {
      throw new ElysiaApiError(409, 'Error message')
}

So if you choose you prefer way I can update PR.

The time for a js/ts framework to have match case. Will Elysia be the first?

#284 introduces error function to return a custom error without using set.
This function provides type inference for use later with Eden.
With the same intent functionality, I'm closing this PR.


QoL: Always show when a mod is zoomed/superzoomed.

There is no disadvantage (such as time loss) and only provide better quality when (super)zooming at the correct side of the bomb.

Thanks for the PR!


Incremental builds of dependencies

First of all, thanks a lot for this! This is a big step towards how I'd like to see Nix being used for development!
I have a question and I'd like to get some feedback on whether this is actually reasonable. If I have the time for that, I may file a PR on my own later on if that's the case.
When I e.g. add a dependency to my Cargo.toml and run cargo build, only the newly added (or existing, but updated) crates will be rebuilt. When I do a nix build instead, all of the deps are rebuilt in the pname-deps drv. I'm wondering if it'd be somehow reasonable & possible to split the pname-deps derivation into even more derivations, i.e. for each crate my project depends on. That means, we'd need to represent the entire dependency graph from cargo as graph of derivations.
Benefits would be (1) faster rebuilds while developing and (2) being able to share built crates between projects (e.g. if both projects are using the exact same version of a dependency), IIRC even cargo can't do that currently (though I'm not sure if that'll actually be possible).
Downsides are most likely (1) more expensive evaluations and (2) higher maintenance workload in this project because we may need to adapt on newer Cargo releases if certain internals change.
 As I said, this is for now a hypothetical question because I need a reality check whether that's actually a good idea or completely stupid, haven't done a deep-dive into Cargo internals yet :D
Follow-up question: do you think it'd be possible to actually build all files in their own derivations in craneLib.buildPackage? That'd be the holy grail (for me at least :p) considering that we'd have completely incremental Rust builds with Nix then.
See for related work in Haskell e.g. https://github.com/matthewbauer/ghc-nix (I know that it's using a slightly different approach - i.e. "injecting" Nix builds into ghc, but the end-result is pretty similar to what I'd like to have).

There's a substantial overhead of the derivation containing results of dependency build. Splitting builds of dependencies could make sense if you one could reliably partition the set of dependencies into ones that take a long time to build and change rarely, and ones that are quick to build and change more often.
In practice however this would be extremely tedious and complex, and in many scenarios the changes in the project would invalidate all deps builds anyway.

do you think it'd be possible to actually build all files in their own derivations in craneLib.buildPackage

This is not very practical/possible as compilation of each file in a crate require (potentially) all other files in a crate, and changes in one would invalidate builds in other. Rust compiles the crate as a whole.
Building each crate separately is possible, but requires reproducing all the rules of crate building of cargo. There are project that try to do that like cargo2nix. The complexity will be higher and the whole approach more fragile, but per-crate derivation is possible. In practice I doubt it's worth it, but that's just my opinion.

Hi @Ma27 thanks for the discussion!
I do want to say that I definitely wouldn't want to discourage the exploration of new ideas or possibilities of improving caching. That said, I believe that granular level of caching becomes impossible in practice without either changing how cargo itself behaves, or moving entirely away from cargo. Let me elaborate further:

Part of the complexity around cargo's caching has to do with the interaction of feature flags across crates. Adding a new crate to the dependency closure can result in rebuilding other, previously existing crates depending on how features are unified, meaning we can't just compile the new crate and its (new) dependencies and call it a day.
Suppose we have the following:

a workspace we wish to build with a top level crate A
A depends on crate B
B depends on crate C and turns on the foo feature flag
suppose now we introduce a change where A now depends on crate D
D however depends on C and turns on the bar feature flag
now cargo will need to recompile crate C with both the foo and bar features enabled
This in turn would need to recompile B because implementations and functions could have changed

Thus it is only possible to (naively) cache cargo artifacts as long as the entire dependency closure remains intact. The Cargo.toml, Cargo.lock, and any enabled workspace feature flags are witnesses/lead to that specific closure, which is why updating Cargo.lock (even to add a new dependency) results in having to rebuild all dependencies.
(Technically cargo doesn't rebuild everything like this when you add a new dependency and build outside of Nix because it happens to reuse whatever artifacts on disk end up being valid, but then you're out there in the non-functional-mutable-state world)

Like @dpc mentioned above cargo2nix is another project which eschews relying on cargo directly in favor of  generating explicit derivations of each crate being built. It does incur the complexity of having to parse out and fully understand what crates are present, along with any enabled features and rustflags and so on.
Obviously this comes with the benefit of being able to "observe" whether adding a new crate to the dependency closure influences having to rebuild other crates. If not, great, the artifacts can be reused!
The really big downside is the additional complexity of having to understand all about cargo's behavior and re-implement that on top of Nix, especially if new features are added to cargo which change this completely. Granted I've never deeply used cargo2nix but I'm not sure how easy it is to integrate other cargo-based tools with it (e.g. cargo-nextest, or cargo clippy, etc.) since it takes over managing the build directly.
If you don't care about using cargo then cargo2nix might be a great option! But given that the Rust community has standardized around using cargo proper my goal with crane was to embrace cargo instead of trying to re-implement it in Nix ;)

It's worth mentioning that I do remember there being some proposals for having cargo generate and output build-plans: rather than have cargo do the actual build, it could spit out a plan of what it would do (e.g. compile these crates in this order, run that build script, etc.). The idea was that other build systems could consume this and do the actual orchestration and artifact management themselves.
Unfortunately I haven't heard very much about it since then. If that does ever land I think it could lead to a whole bunch of optimizations and improvements! But until then we're back to the current status quo so long as we want to continue using cargo without reimplementing its behavior

Now to answer your questions more specifically:

Do you think that'd be a reasonable thing to do? As I said, this is for now a hypothetical question because I need a reality check whether that's actually a good idea or completely stupid, haven't done a deep-dive into Cargo internals yet :D

I personally think the maintenance burden of keeping up with cargo's internals would be too much for me (though if it could produce some kind of build plan with a stable format I'd change my mind). But if you are motivated enough to explore it I'd say go right ahead :)

Follow-up question: do you think it'd be possible to actually build all files in their own derivations in craneLib.buildPackage? That'd be the holy grail (for me at least :p) considering that we'd have completely incremental Rust builds with Nix then.

Like @dpc mentioned I don't think this is possible. Rust's compilation unit is the whole crate and you cannot compile individual files even if you try to invoke rustc directly


dmenu prompt is only shown if there's atleast one url present in buffer Fix #174

[[ ]] is a bashism. Use single [ ] since this is running in the system default sh.
Even with that change, it's still not working for me. I think because the content in $tmp will be blankspace, not nothing.

The if condition had the wrong flag (-z instead of -n).
[ ! -z $tmp ] && echo "yay"

doesn't output yay when tmp is empty, newline or spaces in  sh 5.0 but with -n it does.

Not sure if this behaviour of sh on my system is weird.


feat CD: Use GitHub actions to deploy the extension

The extension will be deployed to the Open VSX registry and the Visual Studio Marketplace. The
workflow will be started on the creation of new git tags in the main branch.
fix #29
To use this PR you will have to:

Create an Eclipse account
Log in and sign the Publisher Agreement
Create an access token
Create the namespace
Add both tokens to the repository secrets
Merge this PR

References:
Open VSX wiki: “Publishing Extensions”
GitHub's docs: “Encrypted secrets”

:tada:

https://github.com/LeonardSSH/vscord/runs/4228292730?check_suite_focus=true#step:5:48
Looks like it's working...?

Yes, it worked, there were a few problems, but I fixed them. 😊

https://open-vsx.org/extension/vscord-extension/vscord


Enable/disable features.

Hi,
Would be nice if there is an option to enable/disable each feature offered in the extension. There is a "Menees" page under "Tools>Options", but those options mostly provide further tweaking of the features. We might need separate page, where all features are listed and the capability of disabling each of them.
The tool is awesome, btw.

In Menees VS Tools 2019 there are individual pages under Tools > Options > Menees VS Tools:

General
Base Converter
Highlight
Projects
Regions
Sort
Tasks

Each page already has the ability to enable/disable its relevant features. If I've missed a toggle for some feature please let me know.

Yes, I'm aware of the pages, but not all the functionalities are covered. For an instance, the option to expand/collapse regions.
Not that these options are not working well, it's just usually we may have several extensions installed, and some of the functionalities overlap and can cause conflicts.

I still don't know what you mean. For the languages where I add #region support (HTML Web Forms, SQL, XAML, XML), I do provide options to disable those:

If any of these region providers are causing conflicts, just change their "Support X regions" options to False, and they shouldn't apply to new editor instances.
For the region commands like Add Region, Expand All Regions, and Collapse All Regions, there's no need for an option. Commands have to be explicitly invoked, so just don't invoke them if you don't want to use them. If you just want the commands gone from the Menees VS Tools menu or toolbar, then you can already remove them using the Tools > Customize... dialog.

Yes, I was talking about the region commands, Expand All Regions/Collapse All regions. Indeed they have to be explicitly invoked, but the keyboard shortcut is already mapped.
Anyhow, thank you for your elaborate answer. It's not a critical issue actually, we can use workarounds.

The predefined key bindings are set in the Menees.VsTools.vsct command table file, which is essentially an embedded resource processed by Visual Studio. I don't programmatically apply those bindings, so I don't have an opportunity to affect them with enable/disable options. Visual Studio applies extension key bindings during install, but you can remove or change them through Tools > Options > Environment > Keyboard.

That's how I'm removing them for now.
I'm not quite familiar with VS ecosystem, so pardon my ignorance. I thought that bindings can be easily mitigated programmatically.
Thank you for your clarification and answers. I'm closing the issue.


Error sending log data - status code 403

Description
I've configured as described and when I try a build on my local machine get a lot of errors saying
 ERROR

[@] winston-to-newrelic-logs: Error sending log data - Error: Request failed with status code 403

The configuration is
{
  resolve: 'gatsby-build-newrelic',
  options: {
    NR_INSERT_KEY: 'XXXXXXXXXXXX',
    NR_LICENSE_KEY: 'XXXXXXXXXXXXX',
    NR_ACCOUNT_ID: 'XXXXXXXX',
    SITE_NAME: 'jankstack',
    customTags: { gatsbySite: true }
  }
}

The command run from yarn is
cross-env GATSBY_STALL_TIMEOUT=60000 GATSBY_CONNECTION_TIMEOUT=60000 gatsby build --open-tracing-config-file ./node_modules/gatsby-build-newrelic/zipkin-local.js --graphql-tracing

Steps to Reproduce
cls; yarn build

Expected Behavior
Not to see the error messages
Relevant Logs / Console output
Your Environment
Windows 10 latest updates
Yarn with latest packages
Additional context

Hi @nrandell @kingkero thanks for getting in touch. A 403 would usually mean this is an unauthorised request. The NEW_RELIC_LICENSE_KEY is the one the plugin uses to send logs so i'm thinking maybe this is incorrect. When creating a new key you want to choose the one labelled Ingest - License from the dropdown. Once created the key itself should have NRAL at the end of it.

There are a couple of keys you can generate in New Relic so this can be confusing, if there's any way we could make the instructions clearer let us know 😄


Re-write and refactoring of implementation.

The code has needed refactoring for a while. Functionality in "fat" classes has been moved to own components etc.
This PR also includes the removal of the global states in the Spark class in favor of an instance based implementation. This is needed for the planned future functionality for being able to have multiple Spark "servers" running in a single JVM.
There has also been changes to remove cyclic dependencies that has been introduced during the projects lifetime. There is one left that is extremely difficult to get rid of.
Inspired by #308. Thanks for the contribution.

I've read your objections to an instance-based API, and I disagree very strongly with them. So much so, that I'm considering forking and maintaining my own version of Spark that is instance-based. IMO, modern java programming needs to utilize immutability to simplify interactions with multithreaded applications on multicore systems. Having shared, mutable state in the form of static state embedded in multiple classes is a recipe for maintenance and debugging hell. Modern java programmers have no trouble creating an instance in order to do work. The singleton nature of instances should be a concern of the application that uses them, not of the classes themselves.
The amount of extra work you have to do to maintain the initialization state of the SparkInstance should be a giant red flag that immutability would be a simpler and safer programming model.
I think that you could approach the static API differently and gain the advantages of immutability with something like:
Spark.bootstrap()
     .port(8100)
     .get("/path", (req, res) -> "OK")
     .put("/path", new PutRoute())
     .post("/path", new Poster())
     .ignite();

With that model, you still get a pure "static" API, but one that reads fluently, and can maintain immutability in the result of the .ignite() call.
Given that you seem to be determined to stick with your current static API model, this seems like an ok PR, and a decent set of refactorings, with the several comments that I provided.

@jkwatson Thanks for reviewing.
I'm trying to be as clear as possible because I don't think you really have understood what I am arguing for/against. I agree with a lot of what you're saying BUT this it not what I argue against.
I don't believe java developers have trouble creating instances. This is neither a problem nor a disqualifier.
I don't believe that would be more work maintaining an extra API. This is also neither a problem nor a disqualifier.
Having shared, mutable state in the form of static state embedded in multiple classes is a recipe for maintenance and debugging hell. This might be true. However, I haven't had any issues with this and the few unhappy developers mostly miss the functionality to run multiple spark servers in one JVM. The big majority of developers notice that Spark works almost perfect and are happy with that.
This is also not a conceptual argument having static methods or not like your code proposal (which btw is a very nice syntax).
The ONE and ONLY thing I'm arguing is the cleanness and "declarativeness" of the API and that I value that more than all the potential drawbacks from having it. Of course I can't be 100% sure that this is the right strategy but this is the position I have.
I value the clear API Spark has today more and I think changing the API or having multiple APIs would cost Spark more than the gain.

I understand your position, and I respectfully disagree with it. I value the immutability and code clarity and safety over the sanctity of the existing API. You feel the opposite.
Even with my misgivings about the internals of Spark, it's still the best web framework in java there is, and I would still choose it over the hot mess that is JAX-RS and Jersey.  :)

I'm grateful that people with opinions raise them. It forces me to re-evaluate my own positions which only can be good for the framework and myself in the long run.
I'm also glad that you still find it to be the best web framework in Java.
Have a good one!


#1792  Centralized the use of pthread_create and thread_setname in the create_thread_with_name function that uses thread_wrapper for compatibility across platforms and with Linux GLIBC<2.12

Adjusted the thread_setname function for compatibility across platforms and with Linux GLIBC<2.12;
Centralized the use of pthread_create and thread_setname in the create_thread_with_name function that uses thread_wrapper for compatibility;

Thanks! There was another similar PR in the queue, not sure if you saw it.
I'm a little concerned about having to support systems older than 2010 though.

I hadn't seen PR #952.
I have now added in this second commit the part that matters regarding FreeBSD compatibility made by @devnexen, along with the changes I proposed.

I'm a little scared to ask but; what exactly are you doing that requires a glibc from before 2010, but also a modern build of memcached?
I've been wanting to move the codebase to C11 (unions, initializers, atomics, etc) but things like this worry me.

I'm a little scared to ask but; what exactly are you doing that requires a glibc from before 2010, but also a modern build of memcached?
I've been wanting to move the codebase to C11 (unions, initializers, atomics, etc) but things like this worry me.

@fabiodepin can you speak to this? I'm hesitant to open the gate for supporting something so old, but I'm open to hearing about why this is necessary.
I just recently acquired a cheap mac mini so I can validate this change once I've set that up.

In my case it was needed for use on older Debian servers, which cannot be upgraded to newer versions due to other software running on the server.
But I already have a second glibc that I can use with 'rpath', and other people who need it can use it like that, with a second glibc.
I can't say if more people need to use it or are using it on older systems. But for these cases, it is possible to install a second glibc on the system and use it separately with 'rpath'.
I support the change to C11, I even have some optimization suggestions that I have in notes to do at another time.

These changes proposed in this PR should not generate impact and should even facilitate this part related to the use of the setname, as it centralizes its use in a place that can be validated more easily.


[SPARK-26897][SQL][TEST][BRANCH-2.3] Update Spark 2.3.x testing from HiveExternalCatalogVersionsSuite

What changes were proposed in this pull request?
The maintenance release of branch-2.3 (v2.3.3) vote passed, so this issue updates PROCESS_TABLES.testingVersions in HiveExternalCatalogVersionsSuite
How was this patch tested?
Pass the Jenkins.

Test build #102436 has started for PR 23816 at commit d7dbed5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8016/
Test PASSed.

Test build #102436 has finished for PR 23816 at commit d7dbed5.

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

Merged build finished. Test PASSed.

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

Merged to 2.3


Fix travis tests

About half the test runs are failing on master, making them difficult to interpret:
https://travis-ci.org/cobrateam/splinter/builds/94084737
We should fix these up at some point.

closed in 0.11.0 release


Behavior of accessor functions on ladderops

The following error occurs when accessor functions are called on ladderops.

julia> r = raiseop(4)
4x4 QuMatrix in QuBase.FiniteBasis{QuBase.Orthonormal,1}:
...coefficients: Base.SparseMatrix.SparseMatrixCSC{Float64,Int64}

	[2, 1]  =  1.0
	[3, 2]  =  1.41421
	[4, 3]  =  1.73205

julia> coeffs(r)
ERROR: MethodError: `coeffs` has no method matching coeffs(::QuBase.QuArray{QuBase.FiniteBasis{QuBase.Orthonormal,1},Float64,2,Base.SparseMatrix.SparseMatrixCSC{Float64,Int64}})

# but the following thing works.

julia> m = [1+1im 2+2im 3+3im;
            4.9+4im 5+5im 6+6im;
            7+7im 8+8im 9+9im]
3x3 Array{Complex{Float64},2}:
 1.0+1.0im  2.0+2.0im  3.0+3.0im
 4.9+4.0im  5.0+5.0im  6.0+6.0im
 7.0+7.0im  8.0+8.0im  9.0+9.0im

julia> spm = sparse(m)
3x3 sparse matrix with 9 Complex{Float64} entries:
	[1, 1]  =  1.0+1.0im
	[2, 1]  =  4.9+4.0im
	[3, 1]  =  7.0+7.0im
	[1, 2]  =  2.0+2.0im
	[2, 2]  =  5.0+5.0im
	[3, 2]  =  8.0+8.0im
	[1, 3]  =  3.0+3.0im
	[2, 3]  =  6.0+6.0im
	[3, 3]  =  9.0+9.0im

julia> qspm = QuArray(spm)
3x3 QuMatrix in QuBase.FiniteBasis{QuBase.Orthonormal,1}:
...coefficients: Base.SparseMatrix.SparseMatrixCSC{Complex{Float64},Int64}

	[1, 1]  =  1.0+1.0im
	[2, 1]  =  4.9+4.0im
	[3, 1]  =  7.0+7.0im
	[1, 2]  =  2.0+2.0im
	[2, 2]  =  5.0+5.0im
	[3, 2]  =  8.0+8.0im
	[1, 3]  =  3.0+3.0im
	[2, 3]  =  6.0+6.0im
	[3, 3]  =  9.0+9.0im

julia> coeffs(qspm)
3x3 sparse matrix with 9 Complex{Float64} entries:
	[1, 1]  =  1.0+1.0im
	[2, 1]  =  4.9+4.0im
	[3, 1]  =  7.0+7.0im
	[1, 2]  =  2.0+2.0im
	[2, 2]  =  5.0+5.0im
	[3, 2]  =  8.0+8.0im
	[1, 3]  =  3.0+3.0im
	[2, 3]  =  6.0+6.0im
	[3, 3]  =  9.0+9.0im

Similarly with respect to other functions. I have tried playing around but I have not found any solution for this. It would be great to hear something on this. Thanks.

We didn't have these functions exported yet, which is why you couldn't call it (if you input QuBase.coeffs instead just coeffs, it should've worked). I just pushed a commit to add rawcoeffs and coeffs to the export list, so it should work fine in the future.
Also on a side note - from what you posted, it looks like you're using a post-v0.3 release of Julia. We're targeting the v0.3 release for now, since it's the current stable version. Functionality might be broken if you use a newer build than that...though keeping track of issues on the latest build now will help when we update to v0.4 in the future :)

Are you sure you didn't have a using QuBase.coeffs statement or something before calling coeffs(qspm)? That function definitely wasn't exported before 4e939d845c9fc77519b33f623c0cbcf52684ebe1...it failing to find the coeffs method was the expected behavior before that commit. It's weird that it worked at all for you without calling it directly from the module.
Either way, try pulling the latest version and see if it takes care of the problems you were having.

@jrevels thanks for input on this. However I had pulled the latest master and then did this
https://gist.github.com/amitjamadagni/9884dc93dd0a08051e43. Yeah I have been working on the latest master which is a higher version than 0.3 which is reflected in the link.  Could you please have a look at the gist I posted. Thanks :)

The ambiguity warnings are definitely due to being on v0.4, as call overloading isn't a feature included in v0.3. As for coeffs not dispatching properly...strange indeed. I ran that code on v0.3, and everything worked as expected.
Like I said, v0.4 compatibility isn't one of our goals for now, but I'm curious - what happens when you call methods(coeffs) and methods(rawcoeffs)?

Also, you shouldn't need to call require(...) after the using statement. Running using QuBase calls require on the module file in the package repo by default, from which quarray.jl is included.

I end up with these when I run methods(coeffs) and methods(rawcoeffs)
julia> methods(coeffs)
# 2 methods for generic function "coeffs":
coeffs(qarr::QuArray{B<:QuBase.AbstractBasis{S<:QuBase.AbstractStructure},T,N,A}) at /home/amit/Downloads/SemVII/QuBase.jl/src/arrays/quarray.jl:34
coeffs(ct::CTranspose{B,T,N,A}) at /home/amit/Downloads/SemVII/QuBase.jl/src/arrays/quarray.jl:78

julia> methods(rawcoeffs)
# 2 methods for generic function "rawcoeffs":
rawcoeffs(qarr::QuArray{B<:QuBase.AbstractBasis{S<:QuBase.AbstractStructure},T,N,A}) at /home/amit/Downloads/SemVII/QuBase.jl/src/arrays/quarray.jl:33
rawcoeffs(ct::CTranspose{B,T,N,A}) at /home/amit/Downloads/SemVII/QuBase.jl/src/arrays/quarray.jl:77

As per my understanding these are as expected.
And yeah coming to require statement, I did not pull in the latest commit which had exported so I had to do it. Though I did pull in the master before that.
So what do you suggest for this case, I was trying to implement the position and momentum related operators by using lowerop and raiseop (by initially defining +,- for QuArray). Should I move to a lower version and build julia and then carry out the operations or is there any other work around ??

That output you just posted looks okay...it's possible the behavior you were having trouble with before may just be coming from a bug from Julia master, though I'm not running v0.4 so I wouldn't know. Either way, it seems like it's just an incompatibility issue. I'm going to tag it as such and close this up, but feel free to update this thread if anything related pops up, it could be useful later when we do eventually move to the v0.4 :)

Should I move to a lower version and build julia and then carry out the operations or is there any other work around ??

Yes, specifically you should be building off of the latest stable release (the "release-0.3" branch of the Julia language repo) for all development/testing/usage of QuBase. There was a mention of having an experimental 0.4 branch but it's not a priority for us right now.

@jrevels I have reverted back to the stable version. Here are a few related doubts :

I have defined the following in the arraymath.jl

function +{B<:OrthonormalBasis}(qm1::QuMatrix{B}, qm2::QuMatrix{B})
    return QuArray(rawcoeffs(qm1)+rawcoeffs(qm2), bases(qm1,1), bases(qm1,1))
end

Then when I do this
using QuBase
require("/home/amit/Downloads/SemVII/QuBase.jl/src/arrays/quarray.jl")
require("/home/amit/Downloads/SemVII/QuBase.jl/src/arrays/arraymath.jl")
m = [1.0+1im 2+2im 3+3im;
            4+4im 5+5im 6+6im;
            7+7im 8+8im 9+9im]
qm = QuArray(m)
println(qm)
qm1 = 1/2*qm
println(qm1)
a = raiseop(3)
println(a)
b = lowerop(3)
println(b)
println(a*b)
println(qm+qm1)
println(a+b)

I get the consistent results until the last one, the last one fails. Here is the output
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: Array{Complex{Float64},2}
Complex{Float64}[1.0 + 1.0im 2.0 + 2.0im 3.0 + 3.0im
                 4.0 + 4.0im 5.0 + 5.0im 6.0 + 6.0im
                 7.0 + 7.0im 8.0 + 8.0im 9.0 + 9.0im]
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: Array{Complex{Float64},2}
Complex{Float64}[0.5 + 0.5im 1.0 + 1.0im 1.5 + 1.5im
                 2.0 + 2.0im 2.5 + 2.5im 3.0 + 3.0im
                 3.5 + 3.5im 4.0 + 4.0im 4.5 + 4.5im]
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: SparseMatrixCSC{Float64,Int64}

	[2, 1]  =  1.0
	[3, 2]  =  1.41421
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: SparseMatrixCSC{Float64,Int64}

	[1, 2]  =  1.0
	[2, 3]  =  1.41421
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: SparseMatrixCSC{Float64,Int64}

	[2, 2]  =  1.0
	[3, 3]  =  2.0
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: Array{Complex{Float64},2}
Complex{Float64}[1.5 + 1.5im 3.0 + 3.0im 4.5 + 4.5im
                 6.0 + 6.0im 7.5 + 7.5im 9.0 + 9.0im
                 10.5 + 10.5im 12.0 + 12.0im 13.5 + 13.5im]
ERROR: `+` has no method matching +(::QuArray{FiniteBasis{Orthonormal,1},Float64,2,SparseMatrixCSC{Float64,Int64}}, ::QuArray{FiniteBasis{Orthonormal,1},Float64,2,SparseMatrixCSC{Float64,Int64}})

I have a bit of problem understanding the passing of bases in QuArray. In sense we use bases(qm,1) and bases(qm,2), for example in the multiplication of operator and conjugate transpose  we explicitly pass bases when we could have created QuArray by just passing the coefficients. It would be helpful to get more insight on this. For example :

julia> m = [1+1im 2+2im 3+3im;
            4.9+4im 5+5im 6+6im;
            7+7im 8+8im 9+9im]
3x3 Array{Complex{Float64},2}:
 1.0+1.0im  2.0+2.0im  3.0+3.0im
 4.9+4.0im  5.0+5.0im  6.0+6.0im
 7.0+7.0im  8.0+8.0im  9.0+9.0im

julia> mt = m'
3x3 Array{Complex{Float64},2}:
 1.0-1.0im  4.9-4.0im  7.0-7.0im
 2.0-2.0im  5.0-5.0im  8.0-8.0im
 3.0-3.0im  6.0-6.0im  9.0-9.0im

julia> m*m'
3x3 Array{Complex{Float64},2}:
  28.0+0.0im    64.9+0.9im  100.0+0.0im
  64.9-0.9im  162.01+0.0im  250.3-6.3im
 100.0+0.0im   250.3+6.3im  388.0+0.0im

julia> QuArray(m*m')
3x3 QuMatrix in FiniteBasis{Orthonormal,1}:
...coefficients: Array{Complex{Float64},2}
Complex{Float64}[28.0 + 0.0im 64.9 + 0.9000000000000004im 100.0 + 0.0im
                 64.9 - 0.9000000000000004im 162.01 + 0.0im 250.3 - 6.300000000000004im
                 100.0 + 0.0im 250.3 + 6.300000000000004im 388.0 + 0.0im]

You don't need the require calls after using QuBase [1], but you have to make sure that you import Base.+ in arraymath.jl like we import Base.* (to make sure that you are actually extending  Base.+). For addition of QuArrays both arguments need to have the same bases as you anticipated, and the result will also have the same bases, so you can write (haven't tested this)
function +{B<:OrthonormalBasis}(qm1::QuMatrix{B}, qm2::QuMatrix{B})
    return QuArray(rawcoeffs(qm1)+rawcoeffs(qm2), bases(qm1))
end

(Maybe we should have some kind of assert macro which checks that the bases are actually equal?) if you get this to work, try to generalize this function to arbitrary QuArrays.
In general we have to pass the bases around, since they contain additional information. For example, they could result from a tensor product of states. In your last example, QuArray(m*m') assumes that no such structure is present the the most simple basis is used (it just contains the number of basis functions, which is size(m*m',1)).
[1] If you have two versions of QuBase, say one installed via Pkg.checkout and one development version somewhere else, you might have to include the latter before using QuBase, I.e.
include("/home/amit/Downloads/SemVII/QuBase.jl/src/QuBase.jl")
using QuBase

@acroy Ah seems like include statement gives the result. Thanks for this :).


validation return values only as String?

Is it intended behaviour that custom validators return only strings? I have written a slightly more complex validator, which checks whether date ranges do overlap or not. In order to provide meaningful hints to the user (by highlighting the conflicting form elemeents), i need to return more complex objects than just a string.
Is there a way to achieve this with validatejs? If yes, how?
As you can see in the snippet below, the validation method returns an object, which contains a message and the indices of begin and end. Using that, i wanted to highlight the corresponding form fields in the form.
// begin and end are both elements in an array. And i, j are the indices which refer to base/cmp in that array.
// base.begin, base.end, cmp.begin and cmp.end are all moment.js objects.
if (base.begin.isAfter(cmp.begin)) {
	// if base.start is after cmp.start, then
	// base.begin has to be after cmp.end, too.
	var cmpEndsBeforeBase = base.begin.isAfter(cmp.end);
	if (!cmpEndsBeforeBase) {
		return {
			"message": cmp.title + " (" + cmp.end.format('YYYY MM DD') + ") ends after " + base.title + " starts (" + base.end.format('YYYY MM DD') + ")",
			"index": [i, j]
		}
	}
}

to be more precise: I think, there is missing some information in the validate section of the documentation (http://validatejs.org/#validate).

nevermind. http://validatejs.org/#custom-validator is giving the details, that the message can only be string or list of strings.

Does a list of strings solve your use case or do you require a new feature?
On Wed, Jul 8, 2015 at 1:28 PM, helt<EMAIL_ADDRESS>wrote:

to be more precise: I think, there is missing some information in the validate section of the documentation (http://validatejs.org/#validate).
Reply to this email directly or view it on GitHub:
https://github.com/ansman/validate.js/issues/62#issuecomment-119545795

Of course, i can do some JSON.stringify and JSON.parse to mask the objects as arrays, but i do not really like that... Feels like a workaround to me...

Do you have a concrete example so I understand the issue better?
I've been thinking that you should perhaps be able to return non strings and let the consumer of the errors handle it differently.


readdir(handle, callback) doesn't seem to give list==false at end of listing

As per the documentation, readdir callback should receive a boolean false as the list argument when the folder listing is over, but I don't see it and my code breaks with EOF.
I've tried giving a look at sftp.js and it seems to me that on EOF the cb receives and empty array.
I'm using version 0.1.20, got with ssh2 0.5.5

What are you passing as the first argument? A path string or a directory handle?

A directory handle obtained, with opendir.

Ugh, forget my comment on sftp.js, after a closer look I was looking at code inside a
if (typeof where === 'string') {


sql statement delimiter no longer being recognized in certain situations

System information:

Windows 10 Pro version 1607
DBeaver version: <IP_ADDRESS>204170718
Additional extensions: NA

Connection specification:

Database name and version: Snowflake
Driver name: JDBC 3.13.14
Do you use tunnels or proxies (SSH, SOCKS, etc)? : No

Describe the problem you're observing:
I just upgraded from DBeaver version 22.0.0, so not sure which release this started on, but I have never experienced this issue on 22.0.0 or earlier. Now when my sql statement delimiter is on the very first space of a new line, it is no longer being recognized and the sql statement corresponding to it is not parsed and executed. If the delimiter is any other position (immediately at the end of the sql or even not on the first position of the new line) it works fine, but when it is the very first character of a new line its not being recognized.
Steps to reproduce, if exist:
Open a new connection (I'm using snowflake, I'm not sure if this is a problem with other connections) and a new sql editor, this code is not executed with either Ctr + Enter or Alt + x
SELECT 1
FROM DUAL
;  -- this is the issue
however with the delimiter in any other place it will work fine:
SELECT 1
FROM DUAL;
SELECT 1
FROM DUAL
;  --indented
Include any warning/errors/backtraces from the logs

Hi, @mahonetim! Thank you for bug report! It has been already reported here #16077. As a workaround you can try this #16077 (comment). The bug will be fixed in 22.0.4.
I'll close this issue. If you encounter the same problem after upgrading to 22.0.4, please, reopen this issue.

I apologize, I tried searching for open issues relating to this before submitting, but didn't find that one. Thank you.


Access particle files and images

How to access particle files and images?
dataset_name = 'ellipsoid_test'
print(Dataset.from_name(dataset_name).images)

The Dataset only contains segmentations and meshes. To get to the particles, you need to do something like this:
dataset = Dataset.from_name('ellipsoid_test')
project = next(dataset.projects) # dataset.projects is a generator, so use next to grab the first and hopefully only item
shape_model = next(project.shape_models) # Each project can have multiple shape_models, apparently?
for particle in shape_model.particles:
    # ... do something
particles = list(shape_model.particles) # shape_model.particles is also a generator, but we can convert it into a list

From what I can tell from the domain model diagram, Dataset contains data from the Data and Grooming steps, ShapeModel represents an Analysis step, and Project is the linkage between them.
Images are not yet part of the MVP, so you cannot upload them yet. Is that something you need soon?

I was able to upload images using the column image_file column of the data.xlsx.
I was also able to download them with the bulk download option. Just looking for individual download as this might be required for the next release when we run the tiny_test examples, which selectively download only 3 files needed to run the entire use case.
This is the current usage: https://github.com/SCIInstitute/ShapeWorks/blob/fb8f3eae9af63b39dd147a1375a9ba3d67f5fd4c/Python/shapeworks/shapeworks/data.py#L46

Looking at the Girder 4 code, it looks like we completely ignore that column. Were you using the latest swcc client?


feat: Google NEG annotations for GCLB

Allow Google Cloud Load Balancing instead of kubernetes ingress. Enables NEG annotations to configure region load balancing with google cloud, also you can setup livekit under a subpath of your domain.
By example we are using this to deploy two copies of livekit , one as main service and the other one as backup under wss://my-domain.com/livekit/main and wss://my-domain.com/livekit/backup
Here is a terraform example:
resource "google_compute_health_check" "http-health-check" {
  name        = "${local.website_domain_name_dashed}-http-health-check"
  description = "Health check via http"

  timeout_sec         = 1
  check_interval_sec  = 1
  healthy_threshold   = 4
  unhealthy_threshold = 5

  http_health_check {
    request_path       = "/"
    port_specification = "USE_SERVING_PORT"
  }
}

data "google_compute_network_endpoint_group" "livekit" {
  name = var.livekit_neg
  zone = var.zone
}

resource "google_compute_backend_service" "livekit" {
  name          = "${local.website_domain_name_dashed}-backend-service-livekit"
  health_checks = [google_compute_health_check.http-health-check.id]
  timeout_sec   = var.livekit_gclb_timeout_sec

  backend {
    balancing_mode = "RATE"
    max_rate       = 1000
    group          = data.google_compute_network_endpoint_group.livekit.id
  }
}

resource "google_compute_url_map" "urlmap" {
  provider = google-beta
  project  = var.project

  name        = "${local.website_domain_name_dashed}-url-map"
  description = "URL map for ${local.website_domain_name_dashed}"

  default_service = google_compute_backend_bucket.root.self_link

  host_rule {
    hosts        = [var.website_domain_name, "www.${var.website_domain_name}"]
    path_matcher = "all-paths"
  }

  path_matcher {
    name            = "all-paths"
    default_service = google_compute_backend_bucket.root.self_link

    path_rule {
      paths   = ["/livekit/main", "/livekit/main/*"]
      service = google_compute_backend_service.livekit.self_link
      route_action {
        url_rewrite {
          path_prefix_rewrite = "/"
        }
      }
    }

    path_rule {
      paths   = ["/*"]
      service = google_compute_backend_bucket.root.self_link
    }
  }
}

I'm not too familiar with this option but it seems rather specific to GCP. It does look a bit different in terms of bypassing Ingress alltogether.
In order for this to be useful to others, could you add a bit of docs in server-sample? This could help others to understand how this option could be used in practice.

There is not too much to set up at livekit side, i added a sample file


Azure Deployment as Containers

I am cross posting this here:
Back in December, I deployed LibreChat using the LibreChatAzureDeployment terraform scripts, but I don't see any updates to it with the RagApi and VectorDB. I managed to get it running in a ContainerApp environment with 3 containers (Chat, MeiliSearch and Rag api) connected to a Cosmos MongoDB and an Azure PostgreSQL Database with vector support enabled. Took me quite a while. Hoping to Terraform it but I am not the best at Terraform and I am tight on time. Just wanted to note here that is its possible and I think its a better solution than running a linux VM or even spinning up multiple app services as the old one did.

I am cross posting this here:
Back in December, I deployed LibreChat using the LibreChatAzureDeployment terraform scripts, but I don't see any updates to it with the RagApi and VectorDB. I managed to get it running in a ContainerApp environment with 3 containers (Chat, MeiliSearch and Rag api) connected to a Cosmos MongoDB and an Azure PostgreSQL Database with vector support enabled. Took me quite a while. Hoping to Terraform it but I am not the best at Terraform and I am tight on time. Just wanted to note here that is its possible and I think its a better solution than running a linux VM or even spinning up multiple app services as the old one did.

This is great! I'm a little confused--did you deploy it via the terraform scripts first, then realize the updating issues and decided to manually create the resources to deploy afterwards? I'm essentially trying to figure out the same thing now.

@geodanchev @a-marr I have now extended Marcel Lupo's terraform for LibreChat to include features like RAG API.
https://github.com/datasiensai/terraform-azure-prisegpt
My approach is little different because I want the frontend (LibreChat) to remain a webapp and not a container app.

Its also published to the terraform registry and can be imported as a module.
https://registry.terraform.io/modules/datasiensai/prisegpt/azure/latest


Polarizing filters' problems

Why does the Optical Source emit vertically polarized visible light through this polarizing filter? In theory, the texture of a polarizing filter that polarizes light vertically should be vertical.

Horizontal texture of polarizing filter should be used in horizontal polarizing filter.

And here, why is it displayed as "Negative Diagonal" ?
Hope u can solve my problems. Forgive me for not good at eng.

About the first question, in high school I was taught that horizontal polarization polarizes light horizontally, but that came to be a misunderstanding. You see physically, light have electric field associated in random directions(random pol.) when the light passes by a (horizontally texture)polarizing filter, the field excites the eletrons in the filter causing the horizontal component of the light to be absorbed. That way, the only components left of the electric field in the beam is exactly that one perpendicular to the direction of the strips in the texture. That way, horizontal strips polarizes vertically, vertical strips polarizes horizontal etc. I mean, thats only a simplified explanation, thats a lot more going on.

That case is for polarization by absorption.

The second one is a little confusing. You see, vertical and horizontal stripes always polarizes the same if the beam incides in the both faces of the block. That don't happen to diagonal polarization, when you turn them around you are changing the axis of the stripes. With the previous explanation, you are changing the polarization as well. If you notice, you can set the filter to be in diagonal but using the goggles the polarization depends of the face of the block you're looking at

Negative and Positive is really just an arbitrary choice of reference. To be more especific, you can see the negative diagonal as (-45°) and positive as (+45°) in reference to the vertical axis if the block.

Yes, I used to learned about polarized light in high school and these knowledge can indeed be misleading. I learned the working principle of a polarizing filter in reality from the video yesterday.
What I want to say about the second point is "Horizontal light←→"can pass vertical strips texture, so why "positive diagonal light" can pass these strips. These stripes have the same direction as "positive diagonal light". This is different from what was mentioned above(vertical and horizontal).

The light emitted by the machine is positive diagonal↙↗, the texture of negative diagonal polarizing filter is ↙↗, they are not perpendicular to each other. It is diffrenet with vertical and horizontal.  Horizontal light←→ can pass through the polarizing filter which stats are "horizontal←→", so why "Positive diagonal light↙↗" can pass through "Negative diagonal ↖↘" filter but not “Positive diagonal ↙↗".

Perhaps communicating through pictures would be simpler, forgive me for not good at eng.

Yes, the beam is supposed to pass. That's not intended. Maybe there's some inverted condition in the code. I'll fixed it. Thank you very much

Sometimes theses things related to fix bugs and think about new ideas can be a little to much. That way, I really encourage people who know I little about coding and whats happening and how to fix bugs to try out and send a pull request.

Thank you very much for ur answer, this is a very creative mod. Hope you can successfully create more interesting content in the future.

by the way, can i translate "optical" into "electromagnetic waves"? because except light, there are also microwaves ,radio waves and gamma ray.

Visible light is one thing, The absence of the word "light" in the other names makes us think that they're not light. But they are.

thanks, I am trying to localize this mod,


Update tests.config

Description of changes
authy is about to be removed, so this test has to be updated.

https://github.com/NixOS/nixpkgs/pull/305268

Please review someone else's PR.
I have a good understanding of the original problem, and there's no value to be added here. I'd be happy to explain or improve it, but that'd happen at the cost of something more important.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

@ofborg build tests.config


Insert link scrolls user to top of text area

Jodit Version:  3.4.27
Browser:  Chrome
OS:  Mac
Issue
Insert a link at the bottom of the text area, and the editor scrolls to the top for a jarring experience.

Expected behavior:
The scroll position should remain the same before and after link insertion.
Actual behavior:
The scroll position is moved to the top of the text area.

Similar behavior when you blur the jodit editor, and then select and an image on the lower area of the editor.
You can reproduce this by moving the image on the playground to the bottom of the editor, blur the editor and reselect the image.

The issue its reintroduced back again as soon as one defines an editor inside e.g. position: fixed; overflow-y: auto; height:500px, element. Getting ScrollY and calling scroll to top on first scrollable parent element to the editor seems will resolve the issue yet I couldn't figure out how to implement this, I fiddled with storeScrollState and restoreScrollState to retrieve the scrollY and X from first scrollable parent like following yet isn't working, note I tested this on inserting URL button and another custom button with pop up based input form.
`
function getEditorScrollParent(node) {
const isElement = node instanceof HTMLElement;
const overflowY = isElement && window.getComputedStyle(node).overflowY;
const isScrollable = overflowY !== 'visible' && overflowY !== 'hidden';
      if (!node) {
        return null;
      } else if (isScrollable && node.scrollHeight >= node.clientHeight) {
        return node;
      }

      return getEditorScrollParent(node.parentNode) || document.scrollingElement || document.body;
    }

private storeScrollState(): [number, number] {
	return [getEditorScrollParent(this.j.editor).scrollY, this.j.editor.scrollTop];
}

private restoreScrollState(scrolls: [number, number]): void {
	window.scrollTo(getEditorScrollParent(this.j.editor).scrollX, scrolls[0]);
	this.j.editor.scrollTop = scrolls[1];
}

`
Anyone have any idea?


override default font style of shape labels

Hi
how .font() color works??
example ->
https://jsfiddle.net/5co12ajs/
thanks

I'm assuming you want to change the font color of the labels inside of each square?
Right now, they get their colors based on the background color, white for dark colors and black for light colors.

if, I apologize for not explaining well.
I did the color change with css but it affects me other graphs
What could I do?  or if you have an example of the X axis whit color
.x( false | String | Function | Object ) -> for key Label to change the color
thanks.

Please post a jsfiddle with some sample code showing your CSS and a visualization.
What color are you trying to change on the x-axis?

https://jsfiddle.net/ImMonTty/cwegLm7r/
i want to change the label colors and the decoration

Until this is implemented in javascript, you can override the styles with CSS: https://jsfiddle.net/cwegLm7r/2/


vit 2.0.0

Motivation for this change
https://groups.google.com/forum/#!topic/taskwarrior-user/0dTbvFOOZY0
I'm not sure whether I should remove the previous vit package and replace the attr with this, or keep it around as vit1, or?
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @dtzWill as maintainer of the existing vit 1.3 package, also do you want to be on this version too?

@worldofpeace thoughts on deprecation of pythonPackages.vit? It's currently marked broken.

So vit 1.3 is in perl, but the latest is rewritten in python.
If vit has moved on from perl this is just a version update.
I see it as they're the same package, you can just update the misc/vit expression in place.
What versions of python it supports is just a detail of the new python code.

I included meta.broken = python.isPy2 to indicate that it only supports python 3

you should use disabled = isPy27 instead

Thanks @arcnmx :sparkles:


Translation of the concurrency.md file

Translation of the concurrency.md file in pt/lessons/advanced to Portuguese.

@getbrandao just left some comments, thanks!

@getbrandao please rebase from master and squash your commits. Let me know if you need any help.

@pragmaticivan  squash from master is done!

Howdy @getbrandao, do you use Slack?  I can walk you through the rebase if you're free.

@getbrandao we have a little bit of messy here. What I recommend here is. Copy the content of the translation.  Pull master from upstream. Create another branch from master and open a new pull request with the content. You can close this Pull Request here.

@doomspork, yes I use Slack. Would you mind help me?


Closing modal doesn't delete modal's scope

I believe that the following issue is applicable to ngEkathuwa as well:  https://github.com/angular-ui/bootstrap/issues/1643
Using AngularJS Batarang, I can see the scope of each modal surviving even after closing it.
Billy McCafferty

See https://github.com/dwmkerr/angular-modal-service/issues/225#issuecomment-345504720 - maybe you've attached a $rootScope listener


Error: None of the sub-resolvers resolved<EMAIL_ADDRESS>location.

Hi,
I'm trying to use truffle-flattener v1.4.4 to flatten my truffle project contracts, but I'm getting the following error:
Error: None of the sub-resolvers resolved<EMAIL_ADDRESS>location.

when trying the following:
$ truffle-flattener MyContract.sol > FlattenMyContract.sol

Using the following dependences:
Ubuntu 18.04
npm v13.13.0
truffle v5.1.25
solc v0.6.7

Hi @naszam. I wasn't able to reproduce your issue.
Does your contract compile successfully using truffle compile? What version of @openzeppelin/contracts are you using?

Hi @frangio.
Yep!
OpenZeppelin v3.0

If you want to upload your project somewhere I can take a look, otherwise I don't know what could be causing this.

I've fixed it!
So, the issue was that I was using truffle-flattener as global dependency and not local.
Setting both OpenZeppelin and truffle-flattener local, I managed to get it working.
Thanks!


Fix too many watcher instances issue

Fix #6016.
Instead of creating a watcher for every single file, I create watchers only for the directory that the files are in, and matches the file change event with a list of registered files.

@mhegazy @vladima due to the approaching release deadline and concerns from @bpasero, I'll revert the polling watchers for all cases and send another PR to address the CR feedbacks after the release.

Btw I don't really have concerns about this change it is totally the right way of doing it, but I am a bit nervous because VS Code is shipping next week with TS 1.7 and I want to make sure we are not introducing a regression late in the game. Back to polling for 1.7.x and then this right fix for 1.8 would be nice.

@bpasero @vladima @DanielRosenwasser for the approaching release 1.7.5 I sent another PR that rolls back to polling watchers. This PR will be updated according to code reviews and tested after the release to reduce risks.

:+1:

@vladima @DanielRosenwasser @mhegazy Updated this PR using FileMap, please let me know if you have further comments. Thanks!

After some offline discussion with @mhegazy, we decided that it would be easier not to mix the recursive watchers and non-recursive watchers together, because the logic for reference counting would be quite complex in that case. Therefore, I rolled back to the implementation with separate directory watchers and file watchers, which might have duplicated watchers for the same folder in some case, but the compatibility across platforms would be better, and the code would be more maintainable.

:+1:


API review mega-issue

Routing

[x] Remove EndpointRoutingApplicationBuilderExtensions
[x] Make middleware pub internal
[x] seal CompositeEndpointDataSource
[x] seal DefaultEndpointDataSource
[x] review whether EndpointFeature.Invoker should be Func<RequestDelegate, RequestDelegate> or RequestDelegate
[ ] review whether EndpointOptions should be pub internal or internal?
[x] make RoutePatternMatcher internal
[x] move Microsoft.AspNetCore.Routing.EndpointFinders types to Microsoft.AspNetCore.Routing
[x] rename RouteValuesBasedEndpointFinderContext to RouteValuesAddress
[x] rename Microsoft.AspNetCore.Routing.Matchers to Microsoft.AspNetCore.Routing.Matching
[x] remove CandidateState public ctors
[ ] remove MatcherEndpoint.RequiredValues, move to metadata
[x] revisit MatchProcessor design in P2
[x] revisit MatchProcessor vs MatchProcessorBase
[ ] move Microsoft.AspNetCore.Routing.Metadata to Microsoft.AspNetCore.Routing
[x] make RoutePatternParameterPart sealed
[x] remove InboundRouteEntry.Tag

Routing Abstractions

[x] seal EndpointMetadataCollection
[x] add EndpointMetadataCollection params ctor
[x] consider perf for GetOrderedMetadata<T>()
[x] move IEndpointFinder to routing
[x] move INameMetadata to routing
[x] move IRouteNameMetadata to routing
[x] move ISuppressLinkGenerationMetadata

MVC Core

[ ] remove UseMvcWithEndpoint
[ ] see if MvcEndpointInfo can be internal

@JamesNK, thanks for filing this.
I'm moving this to preview2 for the sake of assigning a milestone. I believe the desire here is to have this meeting right after preview1 is shippeed. I'll leave it up to you to drive.

We had the API review meeting yesterday. We're aiming to have these changes done this week for preview1.
Will have another in preview2.

I think that IRouteNameMetadata needs to be renamed, and also to include required values from the endpoint - then we should have an implementation.

DONE 🎉


class_loader: 0.3.3-0 in 'jade/distribution.yaml' [bloom]

Increasing version of package(s) in repository class_loader to 0.3.3-0:

upstream repository: https://github.com/ros/class_loader
release repository: https://github.com/ros-gbp/class_loader-release.git
distro file: jade/distribution.yaml
bloom version: 0.5.21
previous version for package: 0.3.2-0

class_loader
* update maintainer
* Merge pull request #26 <https://github.com/ros/class_loader/issues/26> from goldhoorn/indigo-devel
  Added option to disable the catkin build
* Added option to disable the catkin build
* Contributors: Esteve Fernandez, Matthias Goldhoorn, Mikael Arguedas

Waiting for coordinated release.


'GroupCollection' does not contain a definition for 'Count'

I recently tried to move my web application from .net cor 2.2 to 3.0. While the following code used to compile and run just fine, it now gives the error at every occurrence where Count is invoked on a System.Text.RegularExpressions.Match object
internal virtual bool IsValidKeywordFormat(Match m, out string error)
{
        int matches = m.Groups.Count(t => t.Success);
        ......

Error: CS1061 : 'GroupCollection' does not contain a definition for 'Count' and no accessible extension method 'Count' accepting a first argument of type 'GroupCollection' could be found (are you missing a using directive or an assembly reference?)

The extension method you're looking for:
Enumerable.Count<T>(this IEnumerable<T> source)

Is not being resolved because GroupCollection only implementsIEnumerable, not IEnumerable<T>.
You can instead use Cast to get a strongly typed IEnumerable<T>:
int matches = m.Groups.Cast<Group>().Count(t => t.Success);


static window rules are not applied on window open

Hyprland Version
 System/Version info
Hyprland, built from branch HEAD at commit c5e28ebcfe00a510922779b2c568cfa52a317445  (props: bump ver 0.37.1).
Date: Sat Mar 16 14:51:49 2024
Tag: v0.37.1

flags: (if any)

System Information:
System name: Linux
Node name: Gentoo
Release: 6.6.13-gentoo
Version: #22 SMP PREEMPT_DYNAMIC Thu Apr  4 20:42:34 PDT 2024

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-H GT2 [UHD Graphics] [8086:9bc4] (rev 05) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106M [GeForce RTX 2070 Mobile / Max-Q Refresh] [10de:1f14] (rev a1) (prog-if 00 [VGA controller])

os-release: NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
VERSION_ID="2.14"

plugins:

Bug or Regression?
Bug
Description
Opening a picture in picture window in ungoogled-chromium does not apply static rules.
How to reproduce
Add windowrulev2 = pin, floating:1 to your config.
Crash reports, logs, images, videos
No response

I updated which it did not fix the issue, I've updated the system info to match.

Note this is a guess but, I am able to replicate this, and its for literally all static rules when opening pip in firefox and chromium. I'm guessing the problem is that when a pip is opened. It runs under the same process (notice how in hyprctl clients, it says pid as the same number every firefox and pip window, there is just one firefox process opening windows). I'm gonna dig deeper into this, but I'm thinking that only one evaluation is done per process. But i'll dig deeper into this right now and update when I learn more.
Thanks for the request! Hope things are going well!

Thanks, I hope things are going well for you too. That was also my thinking when I found this.

As an alternative in the interim, I just tested using dispatchers and that works. So you can just set a dispatcher to pin active window and that will work.

I also see in the debug logs that it is identifying the spawned window and attempting to apply the static rules when its spawned. But it won't even set it as floating with a window rule.

Interesting. I might use dispatchers for now, thanks for sharing that workaround.

Still trying to figure out the problem here, debugging this has been a little painful but I'm gonna keep working on this. I'll keep this updated with progress.

@SetOfAllSets
I wish I had a more satisfying answer but I must have been making some mistake earlier. For some reason it is working as expected now that I have the config correct. Please try the following for this to work in firefox pip, and replace dashes with spaces for chromium.
Use
windowrulev2=float,title:^(Picture-in-Picture)$
windowrulev2=pin,title:^(Picture-in-Picture)$

Make sure float comes first and pin comes second.
Let me know how this works.

It works, thanks!

can this be closed then?


23Q2 DevDB UPDATE

Update code

[ ] Add most recent full/half year to aggregate tables

Update source data

[ ] Update version.env to:

# DevDB versions for latest release
VERSION=22Q4 #Current Build Version of DevDB
VERSION_PREV=22Q2 #Previous Build Version of DevDB

# DevDB data details
CAPTURE_DATE= #Reference date for the DOB records (i.e. 22Q4 is a snapshot of all DOB records filed before 01-01-2023)
CAPTURE_DATE_PREV= #Reference date for the DOB records (i.e. 22Q4 is a snapshot of all DOB records filed after 2022-07-01)

# external tools versions
GEOSUPPORT_DOCKER_IMAGE_VERSION=22.3.0

# input spatial boundaries versions
GEOSUPPORT_VERSION=22c
DCP_MAPPLUTO_VERSION=
DOITT_ZIPCODE_VERSION=
DOF_VERSION=

# input data versions
COUNCIL_MEMBERS_VERSION=
DOE_ZONES_VERSION=
DOE_SUBDISTRICTS_VERSION=
HNY_VERSION=
DOB_DATA_DATE=
DOB_NOW_APPS_VERSION=
DOB_NOW_PERMITS_VERSION=
DOB_COFOS_VERSION=
DOITT_BUILDINGS_VERSION=
DOITT_BUILDINGS_HISTORICAL_VERSION=

Make sure the following are up-to-date in Digital Ocean
City Administrative Boundaries

[ ] dcp_cdboundaries
[ ] dcp_cb2010
[ ] dcp_ct2010
[ ] dcp_cb2020
[ ] dcp_ct2020
[ ] dcp_school_districts
[ ] dcp_boroboundaries_wi
[ ] dcp_councildistricts
[ ] dcp_firecompanies
[ ] dcp_policeprecincts
[ ] doitt_zipcodeboundaries
[ ] dof_shoreline

General

[ ] dcp_mappluto_wi
[ ] dof_shoreline updated with zoningtaxlots, safe to ignore
[ ] council_members check opendate
[ ] doitt_buildingfootprints check opendata
[ ] doitt_buildingfootprints_historical check opendata
[ ] doitt_zipcodeboundaries -> never changed, safe to ignore
[ ] doe_school_subdistricts -> received from capital planning
[ ] doe_eszones -> the url for this changes year by year, search on opendata
[ ] doe_mszones -> same as above
[ ] hpd_hny_units_by_building check opendata and run Data Sync action
hny_geocode_results

DOB data

[ ]  dob_cofos -> manually updated, received by email
<<<<<<< HEAD
[ ]  dob_jobapplications run Data Sync action
[ ]  dob_permitissuance run Data Sync action
[ ] dob_now_applications -> DOB contacts us via email that the data is ready, the data is downloaded from the DOB FTP using credentials, manually uploaded to DO and ingested via Data Library pipeline
[ ] dob_now_permits -> DOB contacts us via email that the data is ready, the data is downloaded from the DOB FTP using credentials, manually uploaded to DO and ingested via Data Library pipeline
[ ] dob_geocode_results run Data Sync action
=======
[ ]  dob_jobapplications check actions
[ ]  dob_permitissuance check actions
[ ] dob_now_applications -> DOB contacts us via email that the data is ready, the data is downloaded from the DOB FTP using credentials, manually uploaded to DO and ingested via Data Library pipeline
[ ] dob_now_permits -> DOB contacts us via email that the data is ready, the data is downloaded from the DOB FTP using credentials, manually uploaded to DO and ingested via Data Library pipeline

origin/main

23Q2 build on main


handle ipad Multi-tasking bounds

Sorry, i didnt test correctly my previous PL.
Now this handles backgroundView, spinner and collectionView for ipad's split view.
It also takes into account the startIndex to scroll to the correct Index.

check the following video:
https://streamable.com/2epjq


inequality does not have a pypi release yet

README.md needs to be fixed since inequality does not have a pypi release yet and thus no pip install inequality .

We now have a pypi release for inequality.


Which bit of the logic checks if RefreshToken is valid?

Assuming there's a token in database which both AccessTokenExpirationDateTime and RefreshTokenExpiresUtc are expired. Do we need to check if the Token is valid when a user attempts to Refresh his token?
In RefreshTokenProvider.Receive, there's no check to see if the Token is actually valid based on the RefreshTokenExpiresUtc.

If a token is not valid, FindToken will return null, because its hash, is the hash of the entire token, including times and claims, etc.


Default config: add note about passwordless_expire_old_tokens_on_sign_in only working with MessageEncryptorTokenizer

passwordless_expire_old_tokens_on_sign_in doesn't work for SignedGlobalIDTokenizer so added note that you have to be using MessageEncryptorTokenizer.

Good idea, thank you for the contribution! :metal: I squashed the wip commit into the first one and merged.


Cannot enqueue Query after fatal error

Hi, I keep getting this error when I try to insert a new row in a table. Everything worked fine before and I didn't modify the query recently.
More details about the error stack:
Cannot enqueue Query after fatal error.
    at Protocol._validateEnqueue (mysql/lib/protocol/Protocol.js:155:16)
    at Protocol._enqueue (mysql/lib/protocol/Protocol.js:104:13)
    at PoolConnection.Connection.query (mysql/lib/Connection.js:166:25)

Thing is I don't see anything about a fatal error anywhere in the logs.
Any idea what may be the problem?

Hi, I think this issue is similar to mine:

Connect to MySQL
End MySQL service (should not quit node script)
Start MySQL service, Node reconnects to MySQL
Query the DB -> FAIL (Cannot enqueue Query after fatal error.)

I solved this issue by recreating a new connection with the use of promises (q).
mysql-con.js
'use strict';
var config          = require('./../config.js');
var colors          = require('colors');
var mysql           = require('mysql');
var q               = require('q');
var MySQLConnection = {};

MySQLConnection.connect = function(){
    var d = q.defer();
    MySQLConnection.connection = mysql.createConnection({
        host                : 'localhost',
        user                : 'root',
        password            : 'password',
        database            : 'database'
    });

    MySQLConnection.connection.connect(function (err) {
        if(err) {
            console.log('Not connected '.red, err.toString().red, ' RETRYING...'.blue);
            return d.reject();
        } else {
            console.log('Connected to Mysql. Exporting..'.blue);
            return d.resolve(MySQLConnection.connection);
        }
    });
    return d.promise;
};

module.exports = MySQLConnection;

mysqlAPI.js
var mysqlCon        = require('./mysql-con.js');
mysqlCon.connect().then(function(con){
   console.log('connected!');
    mysql = con;
    mysql.on('error', function (err, result) {
        console.log('error occurred. Reconneting...'.purple);
        mysqlAPI.reconnect();
    });
    mysql.query('SELECT 1 + 1 AS solution', function (err, results) {
            if(err) console.log('err',err);
            console.log('Works bro ',results);
    });
});

mysqlAPI.reconnect = function(){
    mysqlCon.connect().then(function(con){
      console.log("connected. getting new reference");
        mysql = con;
        mysql.on('error', function (err, result) {
            mysqlAPI.reconnect();
        });
    }, function (error) {
      console.log("try again");
        setTimeout(mysqlAPI.reconnect, 2000);
    });
};

I hope this helps.


⚠ AZ-Launcher has degraded performance

In 61caffc, AZ-Launcher (https://az-launcher.nz/) experienced degraded performance:

HTTP code: 200
Response time: 1834 ms

Resolved: AZ-Launcher performance has improved in 5fd3f59 after 24 minutes.


Reintroduce Allreduce gradient

This works by defining an adjoint for the jax.lax.create_token primitive.
Seems to work fine, though maybe @matthj could tell us if what we are doing is fine.

I'll merge for now because I urgently need this...

I think you mean @mattjj :)
Looks OK to me, do you think we could do the same with batching?

Ooooups! yes indeed
Probably yes, but it requires a bit more thought as you can't have jax arrays of tokens


Fab button doesn't disappear while scrolling on mobile

Steps to reproduce

Login to Zafira from mobile
Open test runs tab
Select checkboxes
scroll down

Actual behavior
Fab button doesn't disappear while scrolling
Expected behavior
Fab button disappears while scrolling
Environment
ui v.1.24-SNAPSHOT | server v.1.489-SNAPSHOT | client v.1.0-SNAPSHOT
mobile
iOS 13.1.3

Available on UI from v 1.329-SNAPSHOT

Verified in ui v.1.330-SNAPSHOT | server v.1.494-SNAPSHOT | client v.1.0-SNAPSHOT.


[Apim] Autorest based .NET client on 2018-01-01 version with Tests

REST Spec:
https://github.com/Azure/azure-rest-api-specs/pull/2292
https://github.com/Azure/azure-rest-api-specs/pull/2585
Description
*** Resource Management APIs ***

Added support for Basic Sku
Added support for Intermediate Certificates
Added support for creating MSI and KeyVault integration
Added support for querying NetworkStatus endpoint

*** Management APIs ***

Added support for creating an API by importing a WSDL document, containing multiple Service endpoints
GetEntityTag API for all resources, to retrieve the ETag of the entity, to be used when Updating/Deleting the Entity.
API support for API Revisions, API Releases and Api VersionSets
API support for API Schemas.
API support for Backend Reconnect.
API support for Tag.
API support for Diagnostics
API support for Application insights Logger
API support for managing Notifications, Notification Recipients and Notification Users.
API support for Portal settings including SignIn, Signup and Delegation.
API support for Importing Policies using Link
Added support for Exporting Soap APIs in WSDL Format.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please add REST spec PR link to the SDK PR
[x] I have read the contribution guidelines.
[ ] The pull request does not introduce breaking changes.

General Guidelines

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[x] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[x] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

@azuresdkci retest this please

@promoisha @KedarJoshi @darrelmiller can you take a look at your areas?

<AzureApiTag />

Missing API version.

Refers to: src/SDKs/ApiManagement/AzSdk.RP.props:4 in 17c608c. [](commit_id = 17c608c0fe3decf6d0f15f1af7c5d1c32b395f7a, deletion_comment = False)

@shahabhijeet I had updated the *.csproj and AssemblyInfo file, but somehow GIT was not showing in diff.
You can check the *.csproj in psSdkJson6 and compare to 2018_01_01_client branch. We have bumped the major version to <IP_ADDRESS>
Incorporated your comments, around extra metadata artifacts


add SourceMap header

It's yet another header from the https://github.com/http4s/http4s/issues/5010 list.

I think this PR is good to get into the forthcoming 0.23.15 release. Otherwise, it could get stuck for a month waiting for a new release.


Switch speed and time below the progress bar

Put the speed on the left and the time on the right.

I don't mean to sound pedantic, but isn't being in the ReleaseCandidate phase a bit late for this kind of change?
(just out of curiosity, why switch them anyway?)

We definitely don't need to do this right now (maybe for v2)? It was just a though by @alexandrosm, so it felt more natural.

Ahhh, fair enough :-)
Yeah, I think if this is changed we should save it for V2, with input from @konmouz too of course.


Test RTD PR build #1

Test PR to see if it correctly triggers RTD PR build.

It looks like it only works when changes are part of the main git remote (https://gitbox.apache.org/repos/asf/libcloud) and not part of a fork.


Fix for SQLSTATE[HY093]: Invalid parameter number

Fixes issue mentioned here https://github.com/waza-ari/monolog-mysql/issues/23
“Situation:
When some additionalFields are provided with empty values.
No logs are recorded to database when this warning shows.
Code problem observed:
While $contentArray contains the full list of key-values,
$this->statement is only prepared with keys that has non-empty values. Thus it is true that number of bound variables does not match number of tokens.”

We need this pull request 😄 !

@nickgravel , @clement-garrigou
It's been a long time, but it reflects this. Thanks!