Fix consumer race panic on close

I discovered a "send on closed channel" panic in the consumer while testing #527
which I was finally able to track down. If a partition takes a long time to
drain to the user, then the responseFeeder reclaims its ownership token from
the broker so that the broker doesn't block its other partitions. However, if
the user closes the PartitionConsumer (closing the dying channel) then the
brokerConsumer will unconditionally return the ownership token to the dispatcher
even if the responseFeeder is holding it. This results in two ownership tokens
for the same partition (one in the feeder, one in the dispatcher) which leads to
all sorts of subtle brokeness. It manifested in at least two different "send on
closed channel" backtraces depending on the exact timing, and possibly more.
To fix, move the check on child.dying to the top of the subscriptionConsumer
loop where we are guaranteed to have the ownership token. Combine that check
with the 'new subcriptions' check into an updateSubscriptions helper method.
The diff is huge because this lets us drop an indentation level in
handleResponses, I suggest reviewing with w=1 to ignore whitespace.
@Shopify/kafka

For reference, the interesting snippet of one of the backtraces:
panic: send on closed channel

goroutine 35 [running]:
github.com/Shopify/sarama.(*partitionConsumer).responseFeeder(0xc208066100)
	/Users/eapache/src/github.com/Shopify/sarama/consumer.go:422 +0x3fc
github.com/Shopify/sarama.*partitionConsumer.(github.com/Shopify/sarama.responseFeeder)·fm()
	/Users/eapache/src/github.com/Shopify/sarama/consumer.go:153 +0x27
github.com/Shopify/sarama.withRecover(0xc20809b310)
	/Users/eapache/src/github.com/Shopify/sarama/utils.go:42 +0x3a
created by github.com/Shopify/sarama.(*consumer).ConsumePartition
	/Users/eapache/src/github.com/Shopify/sarama/consumer.go:153 +0x533

In this case, the incorrect return of the token to the dispatcher caused the last remaining reference to the broker to be dropped. The broker then shuts down, and when the feeder tries to re-acquire it, the channel has been closed out from underneath.

Took me a while to grok what was causing the issue, but I get it now. Nice find :+1:

Ya, it took me a long time to figure out as well. Normally once I get a backtrace it's pretty obvious, but I stared at this one for a long time and had to add all sorts of extra logging before I figured out how that channel ended up closed.
The design of the console consumer is interesting in that it starts consuming each partition serially, and doesn't start reading until that has finished, so all but the last handful of partitions time out and disassociate during startup. Good for testing this sort of thing :)


Markdown style code blocks be support

When will markdown style code blocks be supported   ?

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

ID: bc130656-2e47-da15-cf41-40bc9661b592
Version Independent ID: 127c1432-3f3b-8056-4b25-6fd19be5e40f
Content: Text Features - Adaptive Cards
Content Source: AdaptiveCards/authoring-cards/text-features.md
Product: adaptive-cards
GitHub Login: @matthidinger
Microsoft Alias: mahiding

Bump?


drift problems even no movement?

when i let my robot in static status, i found that the estimate pose drift at very very little step, however, this give me cumulative total error 20cm after about 30min in bnoth x and y axis. maybe i set motion filter too sensitive or sometiong else wrong, how to debug my error?? thank you
and also, i found that the estimate pose will Influence by anything moves around it. some other slam algorithm, may consider abnormal characteristic points out of match process. how about carto, it seems that no obvious function in carto for this?thank you

We need to know more about your system to be able to answer this.

Is this 2D or 3D?
What's your configuration?
What sort of environment?
Can you provide a bag file?

Dynamic objects are handled by iterative "probability" updates to the map.

thank you for reply. drift problem not happened certainly,i will record a bag if it happened as possible.

Ok, please open a new issue with as much information as possible if you need any help!


Fix container query in headers

Provide the exact quote of the error or issue:
We should modify the _container query to use breakpoints provided by @yamada-ui/react.
contents\layouts\headers\double-header\index.tsx
contents\layouts\headers\simple-header\index.tsx
This issue will be automatically unassigned after two weeks have passed since it was assigned. Once unassigned, it may be picked up by someone else for work.

I try it.

I try it.


PromptTemplate added ChatOptions support

PromptTemplate added ChatOptions support

@markpollack @tzolov @rr-sucheth-shivakumar

If there is no modification, please merge the PR @tzolov @markpollack

I was not able to rebase this as there are so many commits.  in the future please squash.  I have also added test.
thanks for the contribution.  merged in dad30f06d98d6eb0d56687faf64db91212b63714


"User" in macOS instructions should be "Users"

Hi, an important correction for the macOS instructions: "User" in the path to loader.js should be "Users". So the correct text to be copied is:
<script src="file:///Users/{UserName}/Library/Application%20Support/abnerworks.Typora/plugins/loader.js" type="module"></script></body>

Thanks for making this!

I updated the README. Thank you for your help, glad it could assist you :)


PLAT-993: detect and handle XML errors occurring without an HTTP code…

… 200

I am concern that the next time I read the code I will not understand it unless there are specific pointers to why we are doing these somersaults.

+1


Re-implement link item

It currently does not work though it is helpful.

Temporarily totally disabled.


Add more URI's

Add the following links/portals:

aad.portal.azure.com
intuneeducation.portal.azure.com
devicemanagement.portal.azure.com
rc-devicemanagement.portal.azure.com

@microsoft-github-policy-service agree

I also added a new "IPv6 Regex" with IPv6 Regex.
That might need some revision, I'm terrible with Regex. But this should cover IPv6 addresses and IPv6 CIDR.
IPv6 addresses are cloaked in Sign-in logs.
IPv6 addresses and CIDR might be used in conditional access rules and will be cloaked.


New extension: Wheel Joint Creator

Description
Create Wheels Joints for a two wheeled vehicle or any transport:
1-cars; 2-bikes;3-trucks with 2 axes.
That's it.
How to use the extension
Create 3 sprite objects.
One for car/vehicle and two others for front and back wheels.
Add Physcis behavior for these objects.
At Events, add a Beginning of the Scene condition and this extension only action.
Follow the fields and fill them with the respective values.
Checklist

[X] I've followed all of the best practices.
[X] I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
[X] I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.

What tier of review do you aim for your extension?
Community (Unreviewed)
Example file
VEHICLE JOINT CREATOR.zip
Extension file
WheelJointCreator.zip

Duplicate of #966.  Please update that issue to continue this extension.

No need to continue.
Just try to contribute, but I understand that is not good enough.
Thanks,
Guilherme Bastos
Em sáb., 23 de set. de 2023 às 00:17, Tristan Rhodes <
@.***> escreveu:

Duplicate of #966
https://github.com/GDevelopApp/GDevelop-extensions/issues/966. Please
update that issue to continue this extension.
—
Reply to this email directly, view it on GitHub
https://github.com/GDevelopApp/GDevelop-extensions/issues/967#issuecomment-1732194857,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BB4XJ7UKG7K4XVJW4ACWJ63X3ZIFLANCNFSM6AAAAAA3O4BZFA
.
You are receiving this because you authored the thread.Message ID:
@.***>


[k3s-upgrade] Workload-apply-k3s-worker-plan stuck while upgrading cluster from v1.16.3 to v1.16.7.

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Import a k3s cluster with version v1.16.3 (1 master node, 2 worker nodes)
Upgrade the cluster to v1.16.7 (Drain server/worker node being false and concurrency being 1)

Result:
Cluster -> system -> Workload -> apply-k3s-worker-plan one of the pods is stuck in initialization state.

Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-2399-head - 926997017
Installation option (single install/HA): Single

@galal-hussein the prepare container should be more fault tolerant in this case and treat the absence of the master plan the same as the plan not being completed

i've co-assigned @galal-hussein. He will be making changes to the prepare container and this should be included in those changes.
But @daxmc99 we should investigate a little bit to see if the master plan really was not created and if not, why

container.log
Included log of a successful prepare pod

I've removed Dax from the assignee list. This will be addressed in two ways:

By making the framework more resilient (this is the same fix as https://github.com/rancher/rancher/issues/25882)
Making the prepare step more resilient such that it does not fail if it cannot find the master plan.

Note: @daxmc99 will have to update the rancher logic to not hardcode the prepare image in order for this to work properly.

All PRs have been merged, moving to test

There was one remaining bit that just got merged: https://github.com/rancher/k3s-upgrade/pull/15
This addressed the concern:

Making the prepare step more resilient such that it does not fail if it cannot find the master plan.

Actually, can you just double check with @galal-hussein before going testing? He had some trouble getting artifacts to push properly, so just check with hi before testing.

Tested on master-2417-head- 01c482d5f . Issue is resolved.
Imported a cluster(1 control plane and 2 workers). Upgraded the k3s version from v1.16.3 to v1.16.7.
On getting empty master plan, it retried finding plan after sleep of 5 sec and didn't exit.


[Snyk] Upgrade @typescript-eslint/parser from 7.12.0 to 7.13.0

This PR was automatically created by Snyk using the credentials of a real user.![snyk-top-banner](https://github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)
Snyk has created this PR to upgrade @typescript-eslint/parser from 7.12.0 to 7.13.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 35 versions ahead of your current version.

The recommended version was released on 23 days ago.

Release notes

Package name: @typescript-eslint/parser

7.13.0 - 2024-06-107.13.0 (2024-06-10)
🚀 Features

eslint-plugin: [no-dynamic-delete] allow all string literals as index (#9280)
parser, typescript-estree: export withoutProjectParserOptions utility (#9233)
typescript-estree: require import = require() argument to be a string literal (#9226)
typescript-estree: forbid .body, .async, .generator on declare function (#9225)

🩹 Fixes

ast-spec: function-call-like callee should be Expression not LeftHandSideExpression (#9231)
eslint-plugin: [init-declarations] refine report locations (#8893)
eslint-plugin: [no-base-to-string] make error message more nuanced (#9281)
eslint-plugin: [no-unsafe-assignment] be more specific about error types (#8304)
eslint-plugin: [no-magic-numbers] fix implementation of the ignore option (#9167)
scope-manager: handle index signature in class (#9054)

❤  Thank You

Fotis Papadogeorgopoulos
Joshua Chen
Kirk Waiblinger
Tobiloba Adedeji @ tobySolutions
Vinccool96
YeonJuan @ yeonjuan

You can read about our versioning strategy and releases on our website.

7.12.1-alpha.33 - 2024-06-08

7.12.1-alpha.32 - 2024-06-08

7.12.1-alpha.31 - 2024-06-08

7.12.1-alpha.30 - 2024-06-08

7.12.1-alpha.29 - 2024-06-07

7.12.1-alpha.28 - 2024-06-07

7.12.1-alpha.27 - 2024-06-07

7.12.1-alpha.26 - 2024-06-06

7.12.1-alpha.25 - 2024-06-06

7.12.1-alpha.24 - 2024-06-06

7.12.1-alpha.23 - 2024-06-05

7.12.1-alpha.22 - 2024-06-05

7.12.1-alpha.21 - 2024-06-05

7.12.1-alpha.20 - 2024-06-05

7.12.1-alpha.19 - 2024-06-05

7.12.1-alpha.18 - 2024-06-05

7.12.1-alpha.17 - 2024-06-05

7.12.1-alpha.16 - 2024-06-05

7.12.1-alpha.15 - 2024-06-05

7.12.1-alpha.14 - 2024-06-04

7.12.1-alpha.13 - 2024-06-04

7.12.1-alpha.12 - 2024-06-04

7.12.1-alpha.11 - 2024-06-04

7.12.1-alpha.10 - 2024-06-04

7.12.1-alpha.9 - 2024-06-04

7.12.1-alpha.8 - 2024-06-04

7.12.1-alpha.7 - 2024-06-04

7.12.1-alpha.6 - 2024-06-04

7.12.1-alpha.5 - 2024-06-04

7.12.1-alpha.4 - 2024-06-04

7.12.1-alpha.3 - 2024-06-04

7.12.1-alpha.2 - 2024-06-04

7.12.1-alpha.1 - 2024-06-03

7.12.1-alpha.0 - 2024-06-03

7.12.0 - 2024-06-037.12.0 (2024-06-03)
🚀 Features

eslint-plugin: [no-useless-template-literals] rename to no-unnecessary-template-expression (deprecate no-useless-template-literals) (#8821)
eslint-plugin: [no-floating-promises] add option 'allowForKnownSafePromises' (#9186)
rule-tester: check for parsing errors in suggestion fixes (#9052)
rule-tester: port checkDuplicateTestCases from ESLint (#9026)

🩹 Fixes

eslint-plugin: [no-unnecessary-type-assertion] combine template literal check with const variable check (#8820)
eslint-plugin: [dot-notation] fix false positive when accessing private/protected property with optional chaining (#8851)
eslint-plugin: [explicit-member-accessibility] refine report locations (#8869)
eslint-plugin: [no-unnecessary-type-assertion] declares are always defined, so always check declares (#8901)
eslint-plugin: [prefer-literal-enum-member] allow using member it self on allowBitwiseExpressions (#9114)
eslint-plugin: [return-await] clean up in-try-catch detection and make autofixes safe (#9031)
eslint-plugin: [member-ordering] also TSMethodSignature can be get/set (#9193)
types: correct typing ParserOptions (#9202)

❤  Thank You

Abraham Guo
Han Yeong-woo @ nix6839
Joshua Chen
Kim Sang Du @ developer-bandi
Kirk Waiblinger
YeonJuan @ yeonjuan

You can read about our versioning strategy and releases on our website.

    from @typescript-eslint/parser GitHub release notes

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

This is not fixing a vulnerability, and the patch notes have no security related changes. Closing


Still crashing on 1.19.3

latest.log
2023-04-16-1.log.gz
2023-04-16-2.log.gz
2023-04-16-3.log.gz

I have 128 mods loaded.
Frist time it says Scorched Guns was the issue. So I disabled it
2nd time it says a different mod.

I think I found the issue.
rayon-forge-1.7.0+1.19.4.jar is the most resent version.
Cruseforge show this in 1.19.3 but the core mod is meant for 1.19.4 as of 04/15/2023
For the older rayon-forge-1.6.2.jar works 01/03/2023


[Move] Enforce immutable/shared object at creation

Proposal for discussion: Should we require immutable and shared objects to be immutable/shared at creation, and not allow turning an owned object into immutable/shared latter?
There are a few potential issues to allow turning an owned object into immutable/shared:
If an object has child objects, then turning it into immutable would freeze all child objects. This could be a feature, but I think it's also a big risk for misuse. I cannot think of a scenario that people actually want to do this. The typical use case of immutable object should be some kind of immutable config/record on-chain for reference, and usually we want to create them as immutable at birth.
For shared objects, when programming the type, it will be very difficult to reason about the code if we need to assume that the object can be owned sometimes but also shared at other times. In all the use cases I have seen so far, we want an object to be shared at birth, and should never want to turn an owned object into shared latter.
What do you think?
What this means, is that immutability/being shared could potentially also be a static state of a type, instead of dynamic state. So ideally if we could somehow figure out a way to express a type to be "always immutable" or "always shared" in the language it would be even better. Then we could do a lot more things statically.

Its not because we can -- from a dist sys safety perspective -- transitions from owned to immutable to shared that we must. If you feel we do not lose any expresivity, then lets encode it in the type, and never change it -- and we can always provide explicit conversions if need be right? ( ie. fn freeze ( ObjOwned ) -> ObjImmutable )

Its not because we could -- from a dist sys safety perspective -- transition from owned to immutable to shared, that we must.

Did you mean we must support transition from owned to immutable/shared object? Why is that?

On immutable: I take it back. Enforcing immutable at creation is basically making immutability useless. One can simply define the type without any functions that can mutate the object. A more typical usecase, if any, with immutable object should be that an object used to be mutable and at some point people want to make it immutable. However, even this use case is a stretch. One can only mutate their own object. So what's the point of making their own object immutable?
Perhaps we really don't need immutable objects.

Did you mean we must support transition from owned to immutable/shared object? Why is that?

No exactly the opposite. We are not obliged to support it if we think this is not needed to express interesting contracts.
What I was trying to say was: we have many option on safe things we can do from the perspective of the system (like the transitions you mention). This does not mean we must do them. We must only do them if they are useful to our users. Otherwise, the simpler the better (so no transitions in this case).

Perhaps we really don't need immutable objects.

We totally need immutable objects. Like our contracts are immutable objects, and any object that needs to convey information to make users could be immutable to achieve this.
My understanding of your proposal was: we define a constructor for a type, and you can construct the object. But after that the object is immutable, and cannot be deleted. This is quite usual in programming no? Why would this not be useful?

Perhaps we really don't need immutable objects.

We totally need immutable objects. Like our contracts are immutable objects, and any object that needs to convey information to make users could be immutable to achieve this.
My understanding of your proposal was: we define a constructor for a type, and you can construct the object. But after that the object is immutable, and cannot be deleted. This is quite usual in programming no? Why would this not be useful?

Contract will still be immutable. So the question is whether we need immutable Move objects.
It's fairly easy to enforce an immutable object without making it immutable: developer can simply not define any function that takes a mutable reference or by-value argument of this type. The compiler can even infer this and tell them: hey this type will never be mutated after creation. So I am trying to figure out what extra benefit we can provide by explicitly support the concept of an immutable object.
One use case may be that they want some object to be accessible (read-only) by everyone, but in a cheap way (not having to go to consensus), such as some kind of public record.

One use case may be that they want some object to be accessible (read-only) by everyone, but in a cheap way (not having to go to consensus), such as some kind of public record.

yes, this is a crucial usecase. Now if the compiler can tag an object as immutable, in a way that we can infer it is immutable and allow it to be read by everyone, all the better.

A few thoughts:

With the proposal we are considering to enable shared object deletion (Sequencer is the only shared object type + there's only one such object for now), I think the question about owned -> shared transitions goes away. There's only one magic shared object.
However, any owned object can effectively become shared by becoming a direct or transitive child of a Sequencer.
IMO, this single-owner vs effectively shared distinction should not be expressed statically because in practice this relationship is very dynamic. E.g., you might transfer a single-owner collection of NFT's (encoded as a parent-child hierarchy) to a shared marketplace to be sold, then a buyer might purchase the collection, making it a single owner object again. You do not want to force the seller to materialize all of the child objects in the collection and explicitly convert them into "shareables"--they should be able to transfer the collection directly to the NFT marketplace parent object with no conversions.

With the proposal we are considering to enable shared object deletion (Sequencer is the only shared object type + there's only one such object for now), I think the question about owned -> shared transitions goes away. There's only one magic shared object.

There are some differences in these two approaches, and I wonder what the trade-offs are:
A: There is only one shared object, and any object that needs shared access will make the object a child of that single shared object, i.e. we only support introducing effectively shared object.
B: There is a shared object wrapper type. Any object that needs to be directly shared can be wrapped into this wrapper type. It is still possible to introduce effectively shared object by having a shared object own another object. i.e. we support both effectively shared object and directly shared object.

Good questions; here's how I would break it down (and am curious to hear your thoughts)
Shared<T>:

No need to include extra Sequencer object ID as input
Transfers of the T prevented by construction

Not immediately clear to me how deleting the T would work
Minor devex annoyance of needing to borrow the T instead of taking &mut T as input directly

Sequencer

Deletion seems more straightword because an entrypoint can get ownership of the child T
No need to explain conceptual distinction between shared and effectively shared (everything is effectively shared)

Every shared object tx will need to include the Sequencer object ID as input
Preventing transfer of the T requires dynamic checks (or new abilities)

Ah, I see--I think maybe I misunderstood Shared<T>. Is the idea that the T is phantom type + the "real" shared object is a child of Shared<T>?

Oh no it will just be something like:
struct Shared<T> has key {
    id: VersionedID,
    object: T,
}

It's an object in itself, and wraps an object in it. But since it's an object, it can have child object, too.

Gotcha. In that case, I'd replace the "Not immediately clear to me how deleting the T would work" con with "Only partial deletion is possible".


feat: automatic batch, calling subscribers asynchronously in queueMicrotask

This is a non-backward-compatible change

This raises serious concerns as it no longer respects svelte store contract.


Fix for issue #5 (make battery plugin work with /sys)

Fix for parsing battery / ac power information from /sys filesystems.  Makes battery plugin work on newer kernels.
Original patch was submitted by me<EMAIL_ADDRESS>to sourceforge.  This is just a simple migration of the patch once fbpanel moved to github.
There are 2 commits -- (1) the enhancement itself + (2) simple test with valgrind to check if it works

Hi Martin
I follow git-flow branching model so  I'd like to merge your PR into develop branch rather then master. I can't find a way to change destination branch in Gihub web interface, so we left with 2 options:

I merge it from command line (I have no problem with this :-) )
You make PR based on develop branch and I merge it from web

What do you prefer?

According to project guidelines I have created a new pull request to develop branch. See #8.


Minors of #264

Codecov Report

Merging #265 into master will decrease coverage by 0.68%.
The diff coverage is 20.21%.

@@            Coverage Diff             @@
##           master     #265      +/-   ##
==========================================
- Coverage   71.56%   70.88%   -0.69%
==========================================
  Files         148      149       +1
  Lines        3626     3651      +25
  Branches      142      143       +1
==========================================
- Hits         2595     2588       -7
- Misses       1031     1063      +32

Impacted Files
Coverage Δ

...n/scala/com/ing/baker/runtime/scaladsl/Baker.scala
50% <ø> (ø)
:arrow_up:

...er/runtime/akka/actor/serialization/ProtoMap.scala
100% <ø> (ø)
:arrow_up:

.../ing/baker/runtime/javadsl/RecipeInformation.scala
0% <ø> (ø)
:arrow_up:

...kka/actor/process_index/ProcessIndexProtocol.scala
100% <ø> (ø)
:arrow_up:

...ala/com/ing/baker/runtime/javadsl/BakerEvent.scala
0% <0%> (ø)

...ing/baker/runtime/javadsl/IngredientInstance.scala
0% <0%> (ø)
:arrow_up:

...la/com/ing/baker/runtime/javadsl/EventMoment.scala
0% <0%> (ø)
:arrow_up:

...ing/baker/runtime/javadsl/SensoryEventResult.scala
0% <0%> (ø)

...tion/protomappings/SensoryEventResultMapping.scala
0% <0%> (ø)
:arrow_up:

...baker/runtime/javadsl/RecipeInstanceMetadata.scala
0% <0%> (ø)
:arrow_up:

... and 14 more

Continue to review full report at Codecov.

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


feat(model): support batch key in condscvi

closes #2623

@canergen The main backwards compatibility concern right now is that, with the current AnnDataManager setup with a batch key, the model will receive a tensor of zeroes for batch_index even if batch_key is None.
There's not a straightforward way to distinguish this case from the case where a batch_key is registered but all observations have the same batch assignment. However, we'd like to treat the latter differently from the former because of backwards compatibility.
This is because a batch_index of zeros will still be passed into the encoder (if encode_covariates is True) and the decoder, and will affect model training. So anyone repeating model training from a previous version will see different results.
There are two potential ways to address this:

Modify CategoricalObsField so that it is evaluated to None in AnnDataLoader (similar to CategoricalJointObsField) if registry_key is None. More complicated but the better long-term solution. I need to look into this one more.
Just don't register a new CategoricalObsField if batch_key is None in CondSCVI.setup_anndata. Easiest solution but you have to do a couple of checks in CondSCVI and VAEC, potentially buggy.

Need to test that saving + loading is backwards compatibible

@canergen Here's an initial exploration with using the batch key. TLDR Seems fine but can lead to overintegration when training for too long.
condscvi_batch.pdf

Losses are very similar across the runs:

We have quite some different datasets to see better integration. You need to run one UMAP per coarse celltype above. I don't think those are necessary but I requested only support to get the key into DestVI :).


Add an option to kill a tree of child processes

This is pretty much essential for working on windows as node will very often spawn via an extra layer of cmd shell - which means that the kill only goes to that and not to the underlying processes.
This may also help with your npm problems as it may be a good idea to take out the whole tree in that case - even on unix.
Given the existence of the tree-kill module the change is straightforward.

Looks otherwise good but this PR has now some conflicts after #39 was merged. Also, I would prefer the flag to be killTree instead of killAll

I recreated this functionality here: https://github.com/kimmobrunfeldt/concurrently/pull/58 but instead of having it a separate flag, I made it the default behvior. Thanks.


[IMPROVEMENT] Logging the reason why the instance manager pod is going to be deleted.

Is your improvement request related to a feature? Please describe (👍 if you like this request)

For the IM pods are going to be restarted, from my code reading, it seems LH proactively restarts the IM pod only if there is no running instance in the IM.
The method cleanupInstanceManager will be called for multiple reasons and Longhorn needs to record the reason for investigating.
Describe the solution you'd like

Add a log to record why Longhorn needs to clean up the instance manager pods.
Describe alternatives you've considered

Additional context

Verified pass on longhorn master (https://github.com/longhorn/longhorn-manager/commit/6da14ea7d571c7e73b6eae663fc11154d346de1e)
Following test steps, can see below logs mention instance manager pod deletion.
time="2024-12-10T06:28:55Z" level=warning msg="Deleting instance manager pod instance-manager-91a4cb88c75b874697f7ac924a9bda2f since one of the following conditions is met: setting is not synced (true) or data engine CPU mask is not applied (false), instances are running in the pod (false), or the pod is deleted or not running (true)" func="controller.(*InstanceManagerController).handlePod" file="instance_manager_controller.go:606" controller=longhorn-instance-manager instanceManager=instance-manager-91a4cb88c75b874697f7ac924a9bda2f node=ip-172-31-43-213 nodeID=ip-172-31-43-213
time="2024-12-10T06:28:55Z" level=info msg="Creating instance manager pod" func="controller.(*InstanceManagerController).createInstanceManagerPod" file="instance_manager_controller.go:1310" controller=longhorn-instance-manager instanceManager=instance-manager-91a4cb88c75b874697f7ac924a9bda2f node=ip-172-31-43-213 nodeID=ip-172-31-43-213


Why parsed body not available on Koa's supercharged request?

I was wondering why the parsed body is not made available to Koa's this.request.
Using the package I could only find body attached to this.req.
I know this follows closely express/multer, but this is somehow confusing when using with Koa. All Koa's middlewares tend to attach additional work to this.request instead of this.req (actually koa itself is built following that philosophy).
Let me know. Cheers.

reasonable, +1

Would you accept a pull-request? I can try something.

PR welcome, cc @fundon

@eightyfive +1, welcome

Would you also consider a Documentation update mentioning that koa-multer is useful to parse normal HTML forms sent over as FormData?
Or would this be best suited in expressjs/multer docs?
Anyhow there is no mention of that in either docs and I had kind of a hard time figuring it out (used all sorts of full-blown bodyparser before...)...
Regarding that very pull-request, we should definitely mention that body is now available on this.request.body.
What do you think?

https://github.com/koa-modules/multer/pull/3

Yes, need more details.
BTW, currently just use expressjs/multer-v0.x(<1.0).

Ping me if you need help with docs.

@eightyfive thanks, please if you want. :smiley:
And I started a new branch koa-v2_multer-v1.

@eightyfive  Laned in 0.0.2.


a.authorizationUrl is undefined with oAuth2 clientCredentials definition

System:
rapidoc 9.1.8
latest firefox and chrome
How it is:
We are using rapidoc in our vue component with allow-authentication set to true
<rapi-doc
      ref="specRef"
      render-style="read"
      style="height: 100vh; width: 100%"
      allow-authentication="true"
      allow-try="true"
    ></rapi-doc>

with a swagger.json with the security scheme:
        "securitySchemes": {
            "jwtToken": {
                "bearerFormat": "JWT",
                "description": "foo",
                "scheme": "bearer",
                "type": "http"
            },
            "oauth2client": {
                "description": "Client credential flow...",
                "flows": {
                    "clientCredentials": {
                        "scopes": {},
                        "tokenUrl": "https://some.url"
                    }
                },
                "type": "oauth2"
            }
        }

And in the browser we receive the error:
TypeError a.authorizationUrl is undefined
How to reproduce:
Code Sandbox Example:
https://codesandbox.io/s/charming-pine-doqy78
if you change the rapidoc version down to 9.1.4 it works again :)

duplicate of #667


jQuery UI breaks bootstrap-tour

I'm currently using jQuery UI 1.8.21 and it breaks bootstrap-tour, so I can't use them together on the same page.
My version of jQuery UI is older, so maybe there's a newer version of jQuery UI that works with bootstrap-tour.  Which would this be?

What's the issue?

Sorry, I should have been more specific. What happens is the tour is pegged
at the top left corner of the page and doesn't anchor with the elements you
want to highlight. I suspect that it's a conflict with jQuery  UI's
popover or something.
I can send a screenshot later if you need it.
Right now, I'm just not using the two libraries together on the same page,
but thought I'd report the incompatibility since jQuery UI is quite
popular.
Let me know if I can help!
Thanks!
On Feb 7, 2015 11:11 PM, "Ulrich Sossou"<EMAIL_ADDRESS>wrote:

What's the issue?
—
Reply to this email directly or view it on GitHub
https://github.com/sorich87/bootstrap-tour/issues/370#issuecomment-73399964
.

Any solutions for this one? I think I'm running into this issue as well.

Also having a issue, that this and ionic use the same classname popover.

Me too (I think). Any workarounds?

If it's an incompatibility of class names, there's not much we can do. You can set your own popover template using the template option when initialising the tour. So you can use a jQuery UI popover template e.g.


Training Process and GPU

Hello, I use 4 3090 gpu to train the model, but it throw error "cuda memory is out of range". Could you please tell me what's the type of gpu you use? and how long dose the training process will take? Thank you!

Hi.
Sorry for being late.
For DAT, 4 GPUs with a memory $\geq$ 40Gb for training. I train the model on 4 A100s, and it takes 3 days.


make fails with 'linux/ioctl.h file not found' error on Mac

Make failed with the following error:
[build] make
Scanning dependencies of target mraa
[  1%] Building C object src/CMakeFiles/mraa.dir/mraa.c.o
In file included from /Users/bso/mraa/src/mraa.c:52:
In file included from /Users/bso/mraa/include/mraa_internal.h:35:
In file included from /Users/bso/mraa/include/mraa_internal_types.h:31:
In file included from /Users/bso/mraa/api/mraa/iio.h:28:
/Users/bso/mraa/api/mraa/iio_kernel_headers.h:113:10: fatal error: 'linux/ioctl.h' file not found
include <linux/ioctl.h>
     ^

1 error generated.
make[2]: *** [src/CMakeFiles/mraa.dir/mraa.c.o] Error 1
make[1]: *** [src/CMakeFiles/mraa.dir/all] Error 2
make: *** [all] Error 2

Yes mraa currently doesn't build on Mac OS. It would be great if you could fix the issue and do a pull request :)

If you need the C++ API only:
In "ccmake .."

Disable BUILDSWIGJAVA
Disable BUILDSWIGNODE
Disable BUILDSWIGPYTHON
Disable ENABLEEXAMPLES

And try this patch hacked by myself: http://pastebin.com/t88bEmPi
(WARNING: This is very dirty and not recomended to use in production. It compiles but I haven't testet it further...)

@bso-intel, what's your goal here, why do you want to compile it under MacOS?

Update: http://pastebin.com/HiQDLfLt
Now you can actually use it and compile the examples.
@alext-mkrs, maybe the same motivation like me: I want to develop and test on my Mac (with the MOCK-Board) while I don't want to crosscompile/deploy and need the Target for testing all the time.

Well, I guess so as well, but it's always better to know for sure :smiley:
As far as MacOS is concerned, we indeed don't support it as of today and I haven't ever tried to run/compile mock for it as I don't have access to any Mac device. In general, as you can see from the code and your own hack, it is doable, but one would need to provide Linux some definition alternatives for MacOS.
Striving for as few changes to the library as possible when creating mock, I've intentionally left most of the includes in place (as on Windows MSYS2 provides them) and only cut out or provided local copies (for Windows compilation) of those that are not available. All in all, one would just need to try to compile mraa on MacOS with mock enabled and carefully go error by error providing alternatives or fixes. So @bhorn if you're up to making your initial hack into something production-ready, that's more than welcome. Alternatively we'd need to wait until someone from project contributors get access to a Mac :smiley:

@alext-mkrs well I do my best to support the Project. I could even do the ARTIK-Bindings, too. ARTIK would need some time because I have to do this in my spare time.
Anyway, I'll fork the git and hope to find some time later this day (GMT+2) to make something usefull out of my dirty hacks that will go with your code-design.

So I forked, got a decent codebase running without SWIG. For SWIG I need to compile V8 with clang. Done that, but how do I link MRAA against my own V8-libraries? I cant find anything where you try to link against it..?
(tbh.: I don't really know cmake. I can use it but don't write/modify it)

Check cmake -LA .. output from your build dir. There are node include
dirs you can override if pkgconfig didn't find things (which I guess on a
Mac there isn't). Note alot of prepared node pkgs don't include the actual
headers even if they say they're dev packages. So you may have to compile
it yourself.
I don't know os x enough to give you much morr advice off the top of my
head sorry.
On 24 Jul 2016 16:35, "Benedikt-Alexander Mokroß"<EMAIL_ADDRESS>wrote:

So I forked, got a decent codebase running without SWIG. For SWIG I need
to compile V8 with clang. Done that, but how do I link MRAA against my own
V8-libraries? I cant find anything where you try to link against it..?
(tbh.: I don't really know cmake. I can use it but don't write/modify it)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/intel-iot-devkit/mraa/issues/546#issuecomment-234783756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAfZZnpvriDBUu6OMavaZQ7dPJzxX5D8ks5qY4YxgaJpZM4JQa9o
.

Thing is it's dying at

[ 27%] Building CXX object src/javascript/CMakeFiles/mraajs.dir/mraajsJAVASCRIPT_wrap.cxx.o
[ 28%] Linking CXX shared module mraa.node
Undefined symbols for architecture x86_64:
"v8::HandleScope::CreateHandle(v8::internal::Isolate*, v8::internal::Object*)", referenced from:
SWIG_V8_NewPointerObj(void*, swig_type_info*, int) in mraajsJAVASCRIPT_wrap.cxx.o
mraa::Gpio::v8isr(uv_work_s*, int) in mraajsJAVASCRIPT_wrap.cxx.o
[...]

So I think it finds the needed headers but can't link the libraries.
Core problem:
V8/Node (ie installed by brew) for OSX got compiled with c++/g++. But the common build system for OSX is clang (OSX symlinks g++/c++ to clang). So in order to link MRAA with V8/Node one have to compile V8 and Node on his own. I've done this but can't find a single -lv8_{} or other lib-includes in any of the cmake and makefiles to tweak them to include my versions.

Hi @bhorn,
I came across this thread, while looking for ARTIK adaptation on mraa. I see that you had mentioned about this a while ago? Do you have any leads on this please? I would like to use/build on this as I am using mrra on Raspberry PI and UP2 board already and would be starting on ARTIK board soon.
Thanks,
Bindu


Refactor docker support and add web-searcher image

Motivation and Context

Why is this change required? Refactor docker support to reflect recent configuration changes and add web-searcher docker image support.
What problem does it solve? Refactor docker support to reflect recent configuration changes and add web-searcher docker image support.
What scenario does it contribute to? Local docker developerment with docker-compose support
If it fixes an open issue, please link to the issue here. N/A

Description

Reflect recent configuration changes to use .env files for configuration rather than baking in values. Add an .env.example file to the docker directory to serve as a template. Keep the refactored docker config isolated in the docker directory to avoid impacting the original configuration.
Add docker configuration and image build support for the new web-searcher plugin.
Update the copilot-build-image workflow to also build the web-searcher docker image.

Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

Really nice, this is almost 1:1 what I have for my project. Env vars are the way to go. I have a question about the search. I've played around with this kind of idea in the past, and something I got to work with Langchain was searxng. Searxng is good, because it's open sourcem, free, keeps "you" anonymous and it's able to aggregate search results across different search engines. And it layers between your service and for example google, meaning that you don't need to pay for API access to their search.


[Snyk] Security upgrade com.fasterxml.jackson.core:jackson-databind from 2.12.4 to 2.15.0

Snyk has created this PR to fix 1 vulnerabilities in the maven dependencies of this project.
Snyk changed the following file(s):

packages/sub/pom.xml

Vulnerabilities that will be fixed with an upgrade:

Issue
Score
Upgrade

Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-7569538
  721
com.fasterxml.jackson.core:jackson-databind:  2.12.4 -> 2.15.0  No Known Exploit

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

Checkmarx One – Scan Summary & Details – 30a8fcfe-6ce1-4289-a68e-57cd226e4f3f
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

CVE-2024-27088
Npm-es5-ext-0.10.53
Vulnerable Package

CVE-2024-27351
Python-Django-1.2
Vulnerable Package

CVE-2024-29180
Npm-webpack-dev-middleware-5.2.1
Vulnerable Package

CVE-2024-37890
Npm-ws-7.5.6
Vulnerable Package

CVE-2024-37890
Npm-ws-8.2.3
Vulnerable Package

CVE-2024-37890
Npm-ws-7.4.6
Vulnerable Package

CVE-2024-37890
Npm-ws-8.3.0
Vulnerable Package

CVE-2024-38355
Npm-socket.io-4.4.0
Vulnerable Package

CVE-2024-38875
Python-Django-1.2
Vulnerable Package

CVE-2024-39330
Python-Django-1.2
Vulnerable Package

CVE-2024-39614
Python-Django-1.2
Vulnerable Package

CVE-2024-4068
Npm-braces-2.3.2
Vulnerable Package

CVE-2024-4068
Npm-braces-3.0.2
Vulnerable Package

Cx37f28a21-b2a7
Npm-angular-1.8-1.8.2
Vulnerable Package

Cx94a5c81d-63b1
Npm-angular-1.8-1.8.2
Vulnerable Package

Cx9eb96c9b-eb45
Npm-angular-mocks-1.8-1.8.2
Vulnerable Package

Cxcf770dcb-fd21
Npm-angular-1.8-1.8.2
Vulnerable Package

Sensitive Port Is Exposed To Entire Network
/ec2.tf: 83
A sensitive port, such as port 23 or port 110, is open for the whole network in either TCP or UDP protocol

Sensitive Port Is Exposed To Entire Network
/ec2.tf: 83
A sensitive port, such as port 23 or port 110, is open for the whole network in either TCP or UDP protocol

Unpinned Actions Full Length Commit SHA
/codeql.yml: 80
desc

Unpinned Actions Full Length Commit SHA
/pull_request.yaml: 14
desc

Unpinned Actions Full Length Commit SHA
/codeql.yml: 67
desc

Unpinned Actions Full Length Commit SHA
/build.yaml: 15
desc

Unpinned Actions Full Length Commit SHA
/codeql.yml: 53
desc

CVE-2024-28849
Npm-follow-redirects-1.14.6
Vulnerable Package

CVE-2024-28863
Npm-tar-6.1.11
Vulnerable Package

CVE-2024-28863
Npm-tar-4.4.19
Vulnerable Package

CVE-2024-29041
Npm-express-4.17.1
Vulnerable Package

CVE-2024-29415
Npm-ip-1.1.5
Vulnerable Package

CVE-2024-37168
<EMAIL_ADDRESS>Vulnerable Package

CVE-2024-38999
Npm-requirejs-2.3.6
Vulnerable Package

CVE-2024-39329
Python-Django-1.2
Vulnerable Package

CVE-2024-4067
Npm-micromatch-3.1.10
Vulnerable Package

CVE-2024-4067
Npm-micromatch-4.0.4
Vulnerable Package

CVE-2024-4128
Npm-firebase-tools-9.23.1
Vulnerable Package

IAM Access Analyzer Not Enabled
/roles.tf: 3
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/ec2.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/networks.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/rds.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/security_center.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/neptune.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/gke.tf: 6
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/ecr.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/bucket.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/mssql.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/trail.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/application_gateway.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/gcs.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/kms.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/s3.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/es.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/elb.tf: 2
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/iam.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/random.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/networking.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/instance.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/big_data.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/key_vault.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/instances.tf: 3
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/resource_group.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/compartment.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/policies.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/db-app.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/sql.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/storage.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/logging.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/eks.tf: 19
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/rds.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/lambda.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/app_service.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

IAM Access Analyzer Not Enabled
/aks.tf: 1
IAM Access Analyzer should be enabled and configured to continuously monitor resource permissions

Fixed Issues

Severity
Issue
Source File / Package

CVE-2020-36518
Maven-com.fasterxml.jackson.core:jackson-databind-2.12.4

CVE-2021-46877
Maven-com.fasterxml.jackson.core:jackson-databind-2.12.4

CVE-2022-42003
Maven-com.fasterxml.jackson.core:jackson-databind-2.12.4

CVE-2022-42004
Maven-com.fasterxml.jackson.core:jackson-databind-2.12.4

Cx37f28a21-b2a7
Npm-angular-1.8-1.8.2

Cx94a5c81d-63b1
Npm-angular-1.8-1.8.2

Cx9eb96c9b-eb45
Npm-angular-mocks-1.8-1.8.2

Cxab55612e-3a56
Npm-braces-3.0.2

Cxab55612e-3a56
Npm-braces-2.3.2

Cxca84a1c2-1f12
Npm-micromatch-3.1.10

Cxca84a1c2-1f12
Npm-micromatch-4.0.4

Cxcf770dcb-fd21
Npm-angular-1.8-1.8.2

S3 Bucket SSE Disabled
/s3.tf: 89

S3 Bucket SSE Disabled
/s3.tf: 1

S3 Bucket SSE Disabled
/s3.tf: 65

S3 Bucket SSE Disabled
/ec2.tf: 271

S3 Bucket SSE Disabled
/s3.tf: 42

CVE-2007-2379
Npm-jquery-3.6.0

CVE-2014-6071
Npm-jquery-3.6.0

Cxced0c06c-935c
Maven-com.fasterxml.jackson.core:jackson-databind-2.12.4


Request: School logo URL and students_count

First, this is a thoughtful project and I'm glad I can contribute.
Request:

The school's logo is important for some use cases such as featuring the school on a page, in dropdown, etc
students_count can be useful too maybe in data analytics etc.
Would have suggested if possible to add the current vice-chancellor but that will request a request updating

the logo and vice-chancellor is a very nice suggestion  buh for the students' count, it will be very hard unless we want to use an estimate which might not even be accurate eventually
Just my own POV tho

Thank you for these suggestions, @stephengade!
Let's work with two — the current VC and the school's logo — of them for now, because we can't ascertain each school's total number of students. That'll require a lot of work. But hopefully, in the future, we can give it a shot.
I'll update the json schema to accommodate these changes!

I have one ask;
Please feel free to share this repo with your folks who are in other schools across the federation, so they can also contribute.
cc: @ajalapraise, @stephengade


Rule evaluation failure after reload with newly added rules

Bug Report
What did you do?

docker run -p 9090:9090 prom/prometheus:2.7.1
Edit /etc/prometheus/prometheus.yml, enable the - "first_rules.yml" file.
Create /etc/prometheus/first_rules.yml:

groups:
- name: testgroup
  rules:
  - record: test
    expr: 22222
    labels:
      instance: my-second

Reload prometheus - kill -SIGHUP 1. Everything is fine.
Update /etc/prometheus/first_rules.yml:

groups:
- name: testgroup
  rules:
  - record: test
    expr: 11111
    labels:
      instance: my-first
  - record: test
    expr: 22222
    labels:
      instance: my-second

Reload prometheus - kill -SIGHUP 1.
Wait for the next rule evaluation. An error is produced:

level=info ts=2019-02-08T10:28:36.906865554Z caller=main.go:695 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2019-02-08T10:28:36.907330758Z caller=main.go:722 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
level=warn ts=2019-02-08T10:28:43.395453805Z caller=manager.go:514 component="rule manager" group=testgroup msg="Error on ingesting results from rule evaluation with different value but same timestamp" numDropped=1

Data for the instance: my-second rule is missing at that timestamp.

What did you expect to see?
I expected to see no errors, and data for instance: my-second at the evaluation time. Although they have the same identifier test, they should be unique time series as they have different labels.
What did you see instead? Under which circumstances?
Log error, and missing data for the instance: my-second rule at the evaluation time.
More details

This only happens when the recording rule identifier matches, and the new rule is prepended before the other ones.
All the subsequent recording rules with the same identifier fail in the next rule evaluation. After that, they succeed.

Environment
docker container

System information:

/prometheus $ uname -srm
Linux 4.20.6-arch1-1-ARCH x86_64

Prometheus version:

/prometheus $ prometheus --version
prometheus, version 2.7.1 (branch: HEAD, revision: 62e591f928ddf6b3468308b7ac1de1c63aa7fcf3)
  build user:       root@f9f82868fc43
  build date:       20190131-11:16:59
  go version:       go1.11.5

Prometheus configuration file:

/etc/prometheus $ cat prometheus.yml
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

/etc/prometheus $ cat first_rules.yml
groups:
- name: testgroup
  rules:
  - record: test
    expr: 11111
    labels:
      name: my-first
  - record: test
    expr: 22222
    labels:
      name: my-second

Logs:

level=info ts=2019-02-08T10:28:36.906865554Z caller=main.go:695 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=info ts=2019-02-08T10:28:36.907330758Z caller=main.go:722 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
level=warn ts=2019-02-08T10:28:43.395453805Z caller=manager.go:514 component="rule manager" group=testgroup msg="Error on ingesting results from rule evaluation with different value but same timestamp" numDropped=1

Logs with debug on:

level=info ts=2019-02-08T13:55:49.17010164Z caller=main.go:695 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml
level=debug ts=2019-02-08T13:55:49.171150335Z caller=manager.go:217 component="discovery manager scrape" msg="Starting provider" provider=string/0 subs=[prometheus]
level=debug ts=2019-02-08T13:55:49.171307068Z caller=manager.go:217 component="discovery manager notify" msg="Starting provider" provider=string/0 subs=[defc8654e1f8780ce80f9010266ce592]
level=debug ts=2019-02-08T13:55:49.171393607Z caller=manager.go:235 component="discovery manager scrape" msg="discoverer channel closed" provider=string/0
level=debug ts=2019-02-08T13:55:49.171422194Z caller=manager.go:235 component="discovery manager notify" msg="discoverer channel closed" provider=string/0
level=info ts=2019-02-08T13:55:49.171924503Z caller=main.go:722 msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml
level=debug ts=2019-02-08T13:55:53.394962189Z caller=manager.go:502 component="rule manager" group=testgroup msg="Rule evaluation result discarded" err="duplicate sample for timestamp" sample="{__name__=\"test\", instance=\"my-second\"} => 22222 @[1549634153394]"
level=warn ts=2019-02-08T13:55:53.395017411Z caller=manager.go:514 component="rule manager" group=testgroup msg="Error on ingesting results from rule evaluation with different value but same timestamp" numDropped=1

So I've done some investigation and it was "expected" that when rules are moved around, the first evaluation after the reload may fail... The corner case was documented in https://github.com/prometheus/prometheus/pull/2748/commits/1692f3cff1c6aeab16ad5efe238c71cbab9e0941 (see also https://github.com/prometheus/prometheus/commit/6f813b496dcf93abdff21b9861ed76f8f45c6977) but I don't think it is called out in the docs.
That being said, the code has changed a bit since then and rules within a group are no longer evaluated in parallel so I guess that the stale markers could be inserted after all rules of the group have been evaluated. @brian-brazil what do you think?

That would break rules that depended on previous results in the group.
On Fri 8 Feb 2019, 15:34 Simon Pasquier<EMAIL_ADDRESS>wrote:

So I've done some investigation and it was "expected" that when rules are
moved around, the first evaluation after the reload may fail... The corner
case was documented in 1692f3c
https://github.com/prometheus/prometheus/commit/1692f3cff1c6aeab16ad5efe238c71cbab9e0941
(see also 6f813b4
https://github.com/prometheus/prometheus/commit/6f813b496dcf93abdff21b9861ed76f8f45c6977)
but I don't think it is called out in the docs.
That being said, the code has changed a bit since then and rules within a
group are no longer evaluated in parallel so I guess that the stale markers
could be inserted after all rules of the group have been evaluated.
@brian-brazil https://github.com/brian-brazil what do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/issues/5193#issuecomment-461841660,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGyTdqmk9eMoxmojVtPEjLSEWtwc6sz-ks5vLZj_gaJpZM4au4n9
.

Another thought is special case handling on config reload. Keeping manager logic as is, but when config reloads then dump the rule caches:  write them all as stale at the time of config reload, empty the previous-seen caches, then on next eval loop everything carries on from scratch with abandoned time series marked stale and resumed time series carrying on after the NaN.

I don't see why we'd write things as stale, we generally want to avoid any changes when there's a reload and the rules remain the same.

Yes that's a bit of a brute force approach with blind writes. Perhaps we could make the config reload handler idea more nuanced and try to remap old rule cache to new rules, so where a rule has simply moved in the list it will carry on with the previous rule's cache.
Then old rules that were deleted or changed would be left over after the remap, and those caches would be candidates to mark stale. We could mark them stale ahead of the new rule eval (a smaller blind pass), or keep them for reconciliation against the results of the new eval. I can see trade-offs either way, but maybe reconciliation at the end of the new eval is the happy path so one can hand old rules results to a new rule and not lose continuity. That path minimizes stale writes, and handles this reorder failure case as well as the case of terminating output of a deleted rule.
The main point of this approach is that the normal path is completely untouched, we just do reconciliation on config reload. Just thinking out loud (and happy to dig into details and test cases in a write up if the approach sounds useful to consider further.)

That sounds kinda like what we do for scrapes, so a similar approach could work. I wouldn't worry about supporting reorders much, they should be rare.

I made a potential fix in https://github.com/prometheus/prometheus/pull/5368.


fix(homepage): fix some sonarcloud issues

Description

Fix 3 tiny sonarcloud issues:

Improved example in (unused) plugins/dynamic-home-page/app-config.janus-idp.yaml

Marked properties in useHomePageMountPoints.ts as optional, also if its used optional chaining there already.

Which issue(s) does this PR fix

Fixes #?

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

#1532 should still work

/cc @ciiay @invincibleJai

The image is available at: quay.io/janus-idp/backstage-showcase:pr-1668!

I tested this image on an OpenShift cluster and could still configure the sidebar and home page successfully:

...
upstream:
  backstage:
    appConfig:
      # ..
      dynamicPlugins:
        frontend:
          default.main-menu-items:
            menuItems:
              default.learning-path:
                parent: default.list
              default.list:
                icon: bookmarks
                title: References
              default.my-group:
                parent: default.list
          janus-idp.backstage-plugin-dynamic-home-page:
            mountPoints:
              - config:
                  layouts:
                    lg:
                      h: 1
                      w: 12
                    md:
                      h: 1
                      w: 12
                    sm:
                      h: 1
                      w: 12
                    xl:
                      h: 1
                      w: 12
                    xs:
                      h: 1
                      w: 12
                    xxs:
                      h: 1
                      w: 12
                  props:
                    align: center
                    title: Markdown examples
                importName: Headline
                mountPoint: home.page/cards
              - config:
                  layouts:
                    lg:
                      h: 4
                      w: 6
                    md:
                      h: 4
                      w: 6
                    sm:
                      h: 4
                      w: 6
                    xl:
                      h: 4
                      w: 6
                    xs:
                      h: 4
                      w: 6
                    xxs:
                      h: 4
                      w: 6
                  props:
                    content: >
                      ### RHDH

                      * [Website](https://developers.redhat.com/rhdh/overview)

                      *
                      [Documentation](https://docs.redhat.com/en/documentation/red_hat_developer_hub/)

                      * [GitHub
                      Showcase](https://github.com/janus-idp/backstage-showcase)

                      * [GitHub
                      Plugins](https://github.com/janus-idp/backstage-plugins)
                    title: Company links
                importName: MarkdownCard
                mountPoint: home.page/cards
              - config:
                  layouts:
                    lg:
                      h: 4
                      w: 6
                      x: 6
                    md:
                      h: 4
                      w: 6
                      x: 6
                    sm:
                      h: 4
                      w: 6
                      x: 6
                    xl:
                      h: 4
                      w: 6
                      x: 6
                    xs:
                      h: 4
                      w: 6
                      x: 6
                    xxs:
                      h: 4
                      w: 6
                      x: 6
                  props:
                    content: >
                      ### RHDH

                      * [Website](https://developers.redhat.com/rhdh/overview)

                      *
                      [Documentation](https://docs.redhat.com/en/documentation/red_hat_developer_hub/)

                      * [GitHub
                      Showcase](https://github.com/janus-idp/backstage-showcase)

                      * [GitHub
                      Plugins](https://github.com/janus-idp/backstage-plugins)
                    title: Important company links
                importName: Markdown
                mountPoint: home.page/cards
....

/retest

/retest

/jira refresh
/approve

/override e2e-tests

/override ci/prow/e2e-tests


Disable other checkbox in array field

Question
I want to create a form with array fields where only one value has to be selected and other values will be disabled.

There can be only one isCorrect checkbox checked.
Following is the schema
export const multipleChoice = [
  {
    key: "choices",
    type: "array",
    fieldArray: {
      fieldGroup: [
        {
          key: "value",
          type: "input",
          templateOptions: {
            placeholder: "Value",
            label: "Value",
            required: true
          }
        },
        {
          key: "isCorrect",
          type: "checkbox",
          defaultValue: false,
          templateOptions: {
            label: "Is Correct?"
          },
          expressionProperties: {
            'templateOptions.disabled': '!model.value',
          },
        }
      ]
    }
  }
];

How can the other checkboxes be disabled when there is one selected and enable all checkboxes for selection when unchecked?

Two solutions:

using expressionProperties: https://stackblitz.com/edit/angular-vs9soe
subscribe to valueChanges and update the disabled state of each field https://formly.dev/examples/advanced/repeating-section-input


Pairs not being parsed after empty line

OAUTH field is not being parsed after empty line in env file. Works without empty line though.
SERVER_PORT=4001

OAUTH=public

Thanks for reporting this @abpetkov. It is corrected in 7d95e12a4c9237f6790840c8333f94b853e42c71 (release 2.0.1).


decorations: prevent interference from other lens extensions

VSCode has a long-standing bug https://github.com/microsoft/vscode/issues/33852: multiple decorators on the same line are resolved by whichever was inserted last. If you set the color in the decoration type and the contentText in the decoration options, another extension might insert its own style in between, overriding your color.
This PR implements the suggested workaround: set the contentText and color at the same time so they'll always appear together. It does so setting everything in the decoration options, instead of only a sparse contentText.
I tested this out with the GitLens extension, and it seems to work pretty well! Let me know if you need anything changed. It's unfortunate there's no VSCode fix yet, but this PR seems like a reasonable workaround that makes this extension feel less buggy.
Before

After

Related: https://github.com/usernamehw/vscode-error-lens/issues/25

LGTM. I'll publish once this is tested a bit more.

The upstream issue was fixed so decorations style and text from different extensions are not merged together like before. Now all :after decorations are rendered on one line (with proper styling).
I'm going to revert this change since it's pretty bad for performance.


Replace Gitter by Discord

We need to replace the Gitter icon/link by a Discord one.

Which link should we use? Is https://discord.gg/KzEMwP2 the correct one?


Merge the catchup code and the startup code for enrollment/preimage/utxo_set

Currently the periodic catch does this:
https://github.com/bpfkorea/agora/blob/05bfe591aec457544bfe9fc8b799f592d4d6b303/source/agora/network/NetworkManager.d#L208-L239
While the constructor of Ledger does this:
https://github.com/bpfkorea/agora/blob/05bfe591aec457544bfe9fc8b799f592d4d6b303/source/agora/node/Ledger.d#L93-L117
There's an obvious duplication here, that we should address.

There are two options to implement it.
@Geod24 Do you mean the first option as the goal of this issue?
First option
public void startPeriodicCatchup (Ledger ledger, bool delegate() @safe isNominating)
{
   this.taskman.runTask(
   ()
   {
       // periodic task
       while (1)
       {
           **while(auto block = this.ledger.getNextBlock())
           {
              ledger.acceptBlock(block);
           }**
           this.getBlocksFrom(
               ledger.getBlockHeight() + 1,
               blocks => blocks.all!(block =>
                   // do not alter the state of the ledger if
                   // we're currently nominating
                   !isNominating() && ledger.acceptBlock(block)));

           this.taskman.wait(2.seconds);
       }
   });
}

After writing the code above, we can delete the code about reading block, and updating utxos and validators, in the constructor of the Ledger.
Second option
private void rebuildUTXOAndValidatorSet (ref Block gen_block)
{
    foreach (height; 0 .. this.last_block.header.height + 1)
    {
        Block block;
        this.storage.readBlock(block, Height(height));
        this.acceptBlock(block);
    }
}

With the code, we can remove the duplicate function calls from the rebuildUTXOAndValidatorSet, which are already called in the validateBlock and addValidatedBlock which are called in the acceptBlock in turn.

There are two options to implement it.
@Geod24 Do you mean the first option as the goal of this issue?
First option
public void startPeriodicCatchup (Ledger ledger, bool delegate() @safe isNominating)
{
   this.taskman.runTask(
   ()
   {
       // periodic task
       while (1)
       {
           **while(auto block = this.ledger.getNextBlock())
           {
              ledger.acceptBlock(block);
           }**
           this.getBlocksFrom(
               ledger.getBlockHeight() + 1,
               blocks => blocks.all!(block =>
                   // do not alter the state of the ledger if
                   // we're currently nominating
                   !isNominating() && ledger.acceptBlock(block)));

           this.taskman.wait(2.seconds);
       }
   });
}

After writing the code above, we can delete the code about reading block, and updating utxos and validators, in the constructor of the Ledger.
Second option
private void rebuildUTXOAndValidatorSet (ref Block gen_block)
{
    foreach (height; 0 .. this.last_block.header.height + 1)
    {
        Block block;
        this.storage.readBlock(block, Height(height));
        this.acceptBlock(block);
    }
}

With the code, we can remove the duplicate function calls from the rebuildUTXOAndValidatorSet, which are already called in the validateBlock and addValidatedBlock which are called in the acceptBlock in turn.

PR #1505 is approved and merged as the final code of this issue by @Geod24. So I close this.

PR #1505 is approved and merged as the final code of this issue by @Geod24. So I close this.


Most masks are set to leaf-level values

https://github.com/ihmeuw-msca/regmod/blob/0072af6de57331c76da4e467174185f83c1a17ec/src/regmod/composite_models/tree.py#L116
We should pass model_specs.copy() rather than model_specs when creating the next level of the tree. Otherwise only the leftmost nodes of the tree get the correct mask values, and all other nodes are assigned the leaf-level mask values.

Fixed!


Remove hardcoded observations from the reference app

Looks good for removed of hardcoded data.
FYI, to get observations for a given patient, the following or equivalent need to be supported, both for sync, and local search.
http://hapi.fhir.org/baseR4/Patient?identifier=d7db5ce4-8baf-41d7-81e8-3f706b3295e3&_revinclude=Observation:subject&_pretty=true
resourceType = ResourceType.Patient,
params = mapOf("identifier" to "d7db5ce4-8baf-41d7-81e8-3f706b3295e3",
               "_revinclude" to "Observation:subject")

I'm not sure whether #92 filed earlier when we last discussed this, handles it fully.

apologies @pankajkatoch... i turned on a setting that dismisses reviews after any additional commits. so if you could take a look (and hopefully approve) again that'd be fantastic. thanks!


If popper.js was loaded, a maximum call stack size exceeded error occurs

When popper.js is loaded together with leaflet.js, a maximum call stack size exceeded error occurs.
Is it Leaflet's or popper's "fault"?
What should be done to solve it?
How to reproduce (demo)
html

<link rel="stylesheet" href ="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.6.0/leaflet.css" />

js
var osm = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png');
var map = L.map('map').setView([51.505, -0.09], 13).addLayer(osm);

console output
Uncaught RangeError: Maximum call stack size exceeded
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)
    at getComputedStyle (popper.min.js:1)

You are loading a CommonJS module of popper.js and CommonJS will not work in the browser. Replace https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.4.0/cjs/popper.min.js for https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.4.0/umd/popper.min.js resource url and will work.

@mondeja, absolutely right, thanks!

You are loading a CommonJS module of popper.js and CommonJS will not work in the browser. Replace https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.4.0/cjs/popper.min.js with https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.4.0/umd/popper.min.js resource url and will work.
This isn't an issue with Leaflet and should be closed.

I'm building a Chrome Extension that is dynamically inserting a MUI Autocomplete (uses Popper under the hood) component in a page and getting the same error Uncaught RangeError: Maximum call stack size exceeded     at getComputedStyle (popper.min.js:1).
I'm curious to understand more about the previous answer. Why is it that an infinite loop occurred when the cjs version of the popper library was loaded instead of the umd library? You'd think that an exception is thrown stating that popper was not found?


fix deprecation warning

This PR fixes the deprecation warning. This will close #51.

Please, any update as regards this pull request?

The changes have not yet been pushed to master, up


REQUEST_LIMIT_EXCEEDED: When the org has reached the limit in terms of Request API

Describe the bug
OrgCheck Information
Version: v1.9.7
Installed on OrgId: 00D3V000000vY9R
Current running UserId: 0053V000000vD5qQAE
Navigation Information
Page: /apex/OrgCheck_Automations_VFP
System Information
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Operating System: MacIntel
Language: fr-FR
Error #0: REQUEST_LIMIT_EXCEEDED
When: While creating a promise to call "private_query".
What:
index: 0
queryMore: undefined
queryString: SELECT Id FROM WorkflowRule
queryUseTooling: true
Stack:
REQUEST_LIMIT_EXCEEDED: TotalRequests Limit exceeded.
at r.getError (/resource/1642626984000/orgcheck__OrgCheck_JSForce_SR:1:72641)
at /resource/1642626984000/orgcheck__OrgCheck_JSForce_SR:1:71009
at /resource/1642626984000/orgcheck__OrgCheck_JSForce_SR:1:229622
at /resource/1642626984000/orgcheck__OrgCheck_JSForce_SR:1:229650
at MutationObserver.o (/resource/1642626984000/orgcheck__OrgCheck_JSForce_SR:1:104504)
In system overview i see this:

Maybe a nice error message about this specific error would be needed???
Or not at all???

Duplicate of #182


No way to choose template version

It would be great to add a CLI arg that lets the user choose a commit/branch/tag from where to fill the project.

Like the link command I guess, but for project creation. Maybe this is already implemented? Try with cruft create http://url.to/template commit

AFAICT link lets you choose the commit which you think your current project is on - but cruft update updates to the latest commit. What I think Yajo wants is a way to update to a different commit or branch?


Shift Nix Platform Offsets Minus One

Rust uses host-target terminology.  From the perspective of serving toolchains,
this makes sense.
However, from the perspective of the person downloading a toolchain, they are
seeking a compiler for their buildPlatform to generate outputs for their
hostPlatform, where their Rust program will run.
This change shifts most targets to host and hosts to build.
When providing build inputs for a native or cross build, depsBuildHost are
available during build time to make outputs for the host.  Therefore, we
propagate libiconv for linking into the outputs on the host.  depsBuildHost is
also known as nativeBuildInputs.  propagatedNativeBuildInputs could also be used
here.
https://nixos.org/manual/nixpkgs/stable/#variables-specifying-dependencies
Aiming to fix #57
Currently downloading the gigabyte of deps for the wasi target.  Seems to be working.  I'll have the cargo2nix branch with the example my version of the overlay up pretty soon.

Please check https://github.com/oxalica/rust-overlay/issues/57#issuecomment-970043899
About the 3 platforms, you can check this wiki: https://nixos.wiki/wiki/Cross_Compiling
In short, for a program, buildPlatform is where it's being built, hostPlatform is where it's running, and targetPlatform is what it produces (only applied to compiler, binutils, etc).
For a compiler (like rustc provided by rust-overlay), only it's hostPlatform and targetPlatform matters to users. Because we only concern about "where compiler is running" and "what the compiler produces". If you are on x86_64 and want to build an aarch64 ELF, you should seek for a compiler whose hostPlatform is x86_64 and targetPlatform is aarch64.
You don't need to calculate this offset thing, since it's automatically done by nixpkgs through package splicing, a magic in callPackage. For common usage, this overlay is introduced by,
import <nixpkgs> {
  overlays = [
    (import <rust-overlay>)
    (final: prev: {
      pkg1 = final.callPackage ./myp-kg.nix {};
      pkg2 = final.callPackage ./my-another-pkg.nix {};
    })
  ];
}

And when we package something, we write,
{ stdenv, rust-bin }:
stdenv.mkDerivation {
  nativeBuildInputs = [ rust-bin.stable.latest.minimal ];
  # ...
}

Or if we want to use buildRustPackage like naersk does,
{ rustPlatform }:
(makeRustPlatform {
  rustc = rust-bin.stable.latest.minimal;
  cargo = rust-bin.stable.latest.minimal;
}).buildRustPackage {
  # ...
}

In both cases, the compiler goes nativeBuildInputs, and it automatically gets a -1 platform offset.
And we can easily use nixpkgs' mechanism to select programs from correct platform, by,
(import <nixpkgs> { crossSystem = "aarch64-linux"; overlays = ...; }).my-pkg

or
(import ...).pkgsCross.riscv64.my-pkg

Then everything just works.

Also there is a cross compilation example in examples directory.
I believe this PR would break that example and make you must explicit specify rustc's platform every time since it mess up nix's platform selection.

I'm beginning to reconcile the sliding window.  I'm going to patch over the nixpkgs toRustTriple so I can go back and finish another pass at cargo2nix's offsets.  Would bet money the mkcrate.nix is going to need some patches for wasm & wasi.  Thanks for the quick reply on the issue!  Saved me time to work on real problems.


Error Building on Mac OSX

I'm trying to build Emulation Station on Mac OSX Yosemite. I was able to compile it by installing the required packages, which created an xcode project. However, when I try to build the xcode project, I receive the following errors:
Use of undeclared identifier "SDL_Keycode"
Use of undeclared identifier "SDL_TEXTINPUT"
Use of undeclared identifier "SDL_TEXTEDITING"
Use of undeclared identifier "SDL_JOYDEVICEADDED"
Use of undeclared identifier "SDL_JOYDEVICEREMOVED"
If I add the sdl2 framework directly to the project using "File>add files to", it clears many of the errors, but I still get the Use of undeclared identifier "SDL_Keycode" error.
Any suggestions as to how to get this to build properly?
EDIT: I compiled after applying the changes made by pasnox and displaced, here:
https://github.com/Aloshi/EmulationStation/pull/478
https://github.com/Aloshi/EmulationStation/pull/473

Do you have an Xcode project?


Implicit returns

From @felixangell on August 14, 2015 10:59
I think for the languages design, it would make certain examples such as my factorial example a lot cleaner if we were to allow for implicit returns. I remember reading somewhere that if you allow for implicit returns in a specific context (i.e. we only used to allow it for single line functions), then you may as well allow it everywhere else to be more consistent. Given that we already adopt a lot of things taken from functional languages, this should be another relatively important thing to adopt too given it's familiarity with function programmers and allowing for more concise and clean code.
We would still support the return statement for when you need to be explicit, but it would be encouraged to implicitly return something instead:
matching:
func fact(n: int) -> int {
    match n {
        1 => 1;
        _ => n * fact(n - 1);
    }
}

single line functions:
func add(a: int, b: int) -> int => a + b;

constructors:
func new() -> Foo {
    Foo {
        data: data,
        something: something,
    };
}

Copied from original issue: ark-lang/rfcs#19

From @MovingtoMars on August 14, 2015 11:4
:-1: I'm against this. I like being able to look for keywords and immediately see what some code does. That's the sort of thinking that keeps the Go stdlib so readable, so even a newcomer to the language can read the source code and understand it.

@MovingtoMars Fair enough. It just irritates me in some use cases, i.e. the match arms, when I have to type return which is longer than the thing I actually return.

From @kiljacken on August 14, 2015 11:5
I'm 50/50 on this. For more functional code it would be really nice, but
readability is a concern when it comes to use in more advanced functions
On Fri, 14 Aug 2015 12:59 Felix Angell<EMAIL_ADDRESS>wrote:

I think for the languages design, it would make certain examples such as
my factorial example a lot cleaner if we were to allow for implicit
returns. We would still support the return statement for when you need to
be explicit, but it would be encouraged to implicitly return something
instead:
matching:
func fact(n: int) -> int {
match n {
1 => 1;
_ => n * fact(n - 1);
}
}
single line functions:
func add(a: int, b: int) -> int => a + b;
constructors:
func new() -> Foo {
Foo {
data: data,
something: something,
};
}
—
Reply to this email directly or view it on GitHub
https://github.com/ark-lang/rfcs/issues/19.

From @SamTebbs33 on October 8, 2015 10:49
How about making the match statement an expression and returning it?
func fact(n: int) -> int {
    return match n {
        1 => 1;
        _ => n * fact(n - 1);
    }
}

The compiler will have to of course ensure that all possible cases are considered (achievable by using a "_" match branch).
This could perhaps be extended to other constructs, like if-statements

@SamTebbs33
One of the plans was to make match an expression, and exhaustive. I agree that this is cleaner than how it is now.
It seems a lot of people are mostly against implicit returns, or either on the fence about it. I think it would be nice to have since it makes code a lot more cleaner, though we are sacrificing some readability.
I think we should probably close this issue for now unless anyone has changed their mind since the creation of this issue?
@MovingtoMars

That's the sort of thinking that keeps the Go stdlib so readable, so even a newcomer to the language can read the source code and understand it.

I'm not sure about this. I think it's more readable because the language is very strict and enforces syntax to be written in a particular way (go fmt). I think that someone wouldn't struggle with this as long as they are familiar with the idea that returns are implicit.
Perhaps if you weren't very familiar with programming it might not make sense, but if you have a grasp of any language, it's usually quite simple to see what's going on. Given that we are adopting a reasonably complex memory model/ownership system - where you have to put a lot more thought into thinking about how memory is managed - having implicit returns is a grain of salt in terms of affecting readability/structure of code in comparison to the ownership model.
If you take into account the "audience" of this language, which is probably more experienced developers who prefer working on the lower level, I don't think our audience would struggle reading something like this:
func fact(n: int) -> int {
    match n {
        1 => 1;
        _ => n * fact(n - 1);
    }
}

Though, the important part here, is that I would like the language to be newbie friendly, but to do this, we need to think of a way to make ownership/borrowing a lot more simpler, if not almost transparent when you write code.
P.S
Sorry for the massive wall of text, just some stuff to think about. I've finished one of the larger projects I've had to do at college so I should have a bit more free time soon. I'm slowly starting to work on Arkade more, but my PC is kind of fucked at the moment.

From @vnev on October 7, 2015 15:55
50/50 here as well. It does compromise on readability IMO.

From @0xc6 on October 25, 2015 18:39
Consider making implicit returns optional. That is, depending on whether one wishes their codebase to be in a more functional style, they can choose whether or not to omit the keyword. I agree that they can shorten code considerably, but sometimes one does not necessarily wish to return anything; they can (as @MovingtoMars mentioned) make scanning through code more challenging, albeit only to those unpractised in the Zen of Ark. Having implicit returns may make a codebase less consistent, however, if early returns are utilised.
On a side note, something like this adapted for Ark would be pretty useful, as it would allow one to (for example), have an overview of functions and their return types for each file. Not that one should sacrifice readability, of course, as some people may be using a plain text editor to read and/or write Ark code.

@felixangell +1 for the tools suite, especially with JSON output

@SamTebbs33 ?? am confused

@felixangell I mean that I think the tools thing that crystal does is a good idea (the thing you linked) :p

@SamTebbs33 Oh haha, I was confused because I couldn't see anything todo with a tools suite or json output. And credit goes to @0xc6, since he's the author of that comment :)


Bump up ember-native-dom-helpers

Bump up ember-native-dom-helpers version to 0.6.x to avoid deprecation warnings because of using merge from @ember/polyfills

Coverage remained the same at 98.646% when pulling f10ccc6f4958d572a0eeb61e7eef803d164447fb on SergeAstapov:master into d3daa1062ae09167f64b932ebe16b8ad24f52281 on san650:master.

Thanks!
At the moment, according to our CI, we have some test failures with Native Events Acceptance mode starting from<EMAIL_ADDRESS>I'd like to figure it out before merging this PR. I expect to do it until the mid of the next week.

@ro0gr Thank you for the note!

@ro0gr Do you think new patch version could be released to include this change?

@SergeAstapov I intended to cut a minor release with some more changes, but seems like it needs more time. Sure, going to do a patch with your change today!

published as 1.15.4

Thank You @ro0gr!


Appt Timetable v1.1

Basically a copy of the sample create remark command, but now Appt is made up of ApptDateTimex2, ApptVenue, ApptInfo, ApptDrName instead of just 1 String

Tests have not been modified/debugged yet, but the app works (may need to delete addressbook.xml for the first time due to changes in xml format)
AddApptCommand will work in a similar way to the sample create remark command

it's ok Brandon. Failure is the mother of success. You'll get it eventually!


Delay in Real-time Updates with PocketBase SDK in Angular Applications After Idle Time

Issue Description
When using the PocketBase SDK in an Angular application, I've observed a delay in real-time updates after the page has been idle for a few minutes. Specifically, changes made to a table that a component is subscribed to are not immediately reflected in the view/template.
Steps to Reproduce

Create a new Angular project.
In the ngOnInit method of a component, subscribe to changes in a table.
Inside the subscription, fetch and update some data to bind it to the template.
Allow the page to remain idle for several minutes.
Return to the page and make some changes to the table you're subscribed to.

Expected Behavior
The changes to the table should be immediately reflected in the view/template.
Actual Behavior
Although the object returned by the promise confirms the update, the view takes several seconds to detect and reflect the change.
Root Cause Analysis
Upon investigation, the issue appears to be related to Angular's ngZone. The delay is resolved when fetching operations are wrapped in ngZone.run().
Code Sample
ngOnInit() {
  this.backend.getPocketBaseInstance()!.collection(Collections.Queue).subscribe('*', (update: RecordSubscription<QueueResponse>) => {
    if (update.record.group != this.group!.id) return;
    this.ngZone.run(() => {
      this.getData();
    });
  });
}

getData() {
  this.backend.getWaitingQueueEntries(this.group!.id).then(data => {
    if (data) this.waitingEntries = data;
  });
  this.backend.getServingQueueEntries(this.group!.id).then(data => {
    if (data) this.servingEntries = data;
  });
}

Suggested Fix
One possible solution could be to update the SDK functions to return observables instead of promises, to ensure that changes are immediately reflected in the view.

I don't understand what do you mean by "return observables instead of promises", but there are no plans to change the SDK's return results.
I haven't used Angular in ages and I'm not what exactly is the problem with Promise and what else to recommend.

The issue was open, to notificate about the issue and its possible resolution, the "suggested fix" was linked as you said to the return results, but I can understand that there are no plans to change it in the SDK, btw it can be solved on the Angular project side by forcing the ngZone as I've mentioned in the question.

I don't understand what do you mean by "return observables instead of promises", but there are no plans to change the SDK's return results.

The issue is that Angular doesn't handle correctly the change detection of an external Promises but it can hook automatically only Observables

I haven't used Angular in ages and I'm not sure what exactly is the problem with Promise and what else to recommend.

I've even created a question on stackoverflow  with one of possible solutions to that.

I think there is some misunderstanding.
The subscribe() returns only a single Promise - that is the unsubscribe function for the specific subscription.
The realtime changes are reflected in the subscription callback. This is not a Promise.
Under the hood we use the native EventSource APIs.
In any case, the SDK doesn't have any dependencies and relies entirely on native APIs like fetch and EventSource so technically it should work any JS framework.
If Angular has some quirks with its reactivity then this should be solved on the Angular side.

Oh, actually I've been trying to combine both, realtime and getFullList. When in realtime the data is notified about some changes, I was trying to fetch all the data again from the table with .getFullList, as I said with that there are no problems as the data are fetch and received correctly from both realtime and the promise.
Btw as you said Angular has some quirks with its reactivity.


Acme reduce attempts

ACME plugin attempts to resolve a pending Certificate up to 5 times.
This happens to also be the rate limit of LE for duplicate certificates.
Each attempt to resolve a pending cert consists of a new cert requesting, the DNS challenge dance, and attempt to finalize the order.
This would mean in case there is any issues with Lemur, it can quickly get a domain blocked for issuance for 7 days. Though there are workaround for that (adding a SAN), ideally we should not consume all 5 attempts at once.
This PR is setting the number of attempts to 3. We can consider to make this variable configurable, if there are other use-cases demanding it.

Coverage increased (+0.001%) to 60.735% when pulling 8c2b084bb021ec7ff020e587abce4818fd7cbcb9 on hosseinsh:acme-fixed-attempts into 2cef876ff2370dd6a06f8d710337624f79c1340d on Netflix:master.

Coverage increased (+0.001%) to 60.735% when pulling 8c2b084bb021ec7ff020e587abce4818fd7cbcb9 on hosseinsh:acme-fixed-attempts into 2cef876ff2370dd6a06f8d710337624f79c1340d on Netflix:master.


Comparing values of aggregate operators crashes

RealmSwift 0.96.1 crashes in the following scenario with reason *** Terminating app due to uncaught exception 'Invalid property name', reason: 'Property<EMAIL_ADDRESS>not found in object of type 'A'' when querying value of an aggregate operator against another value of aggregate operator.
class A: Object {

    let b = List<B>()

}

class B: Object {

    dynamic var sum = 0
    dynamic var other = 0

}

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    let a1 = A()

    let b1 = B()
    b1.sum = 5
    b1.other = 5
    let b2 = B()
    b2.sum = 10
    b2.other = 5

    a1.b.append(b1)
    a1.b.append(b2)

    let realm = try! Realm()
    try! realm.write {
        realm.deleteAll()
        realm.add([a1, b1, b2])
    }

    let results =<EMAIL_ADDRESS>!=<EMAIL_ADDRESS>// This will crash.
    print(results)

    return true
}

I have also sent this as a sample project to<EMAIL_ADDRESS>

At the moment we only support key paths in comparisons when the other side of the operator is a constant. We're tracking this limitation in our support for NSPredicate in #1490. This falls in the same group as "multi-level object equality link queries" in that list.