[Fix] Correctly chasing other blobs

Currently, other players are evaluated just like food, and the bot will follow a smaller blob until it's too far away. However, it would be better if the chase would not be pursued from the very beginning. I see two ways to do this; one is to follow the following rules:

Do not follow a blob which is not in splitting range
If the blob is in range, only aim at the blob if the player is more than twice the size (I don't know exactly how large one needs to be to consume another blob)
Only split if you are aimed at the blob and within range (account for a minor error margin too)

The second way, which is a lot more complicated and resource intensive, is tracking the direction, size and velocity of a blob to determine whether to chase (and potentially being able to predict the trajectory of the blob as to split in the right direction).

Maybe I'll make a separate system for non moving food and moving food (other players).

#331

Since the bot doesn't split, it doesn't have any means to catch up with smaller faster players. It differentiates between a moving target and a non moving one. It only goes for non moving ones.


Implement Versioned Branching Strategy

Currently we are not distinguishing between Elasticsearch's master and 7.x branches. The goal is to follow the same branching strategy.
Blocking Tasks

[ ] Merge all open PRs

New Branches

[ ] Create 7.x branch from main
[ ] Create 7.14 branch from 7.x

Tooling & Infra

[x] Investigate & update the scripts to be version aware - https://github.com/elastic/elasticsearch-specification/pull/503
[x] Add the backporting bot and ensure only compiler changes are backport-able - https://github.com/elastic/elasticsearch-specification/pull/502
[x] Read the version number & build hash from the spec artefact and write these values to the schema.json _info object - https://github.com/elastic/elasticsearch-specification/pull/501

We can merge the other prs later on.


Mutable value types don’t often introduce errors

Hello,
This quoted sentence is unclear for me:

mutable value types don’t often introduce errors.

Does this say it will certainly introduce errors? Or will this be misused by developers? Or something else?
And when would those errors show up?

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

ID: c36588d0-6bdf-1740-220c-10b20bb88730
Version Independent ID: 587ed47f-f532-e018-9b0d-6ee76afd20e4
Content: What's new in C# 9.0 - C# Guide
Content Source: docs/csharp/whats-new/csharp-9.md
Product: dotnet-csharp
Technology: csharp-whats-new
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Looks like the sentence should be without "don't":

mutable value types often introduce errors

The next sentence after that explains why:

Value type variables hold the values so changes are made to a copy of the original data when value types are passed to methods

related to #20601
Thanks for pointing this out @Daynvheur The comment by @pkulikov is correct, although taking this in context with the related issue, this section likely gets larger updates that change or remove that sentence.

Thanks @pkulikov & @BillWagner, everything makes better sense. :)
Seems the intro will have a hard time, I can't wait to read the new version.


add support of flash attention v3:

Summary

load balance of blocks computation for causal attention
add support of inplace of  Output with one of inputs Q, K , V
fix tma support for compute ability == 8.0
fix dtype for non-accumulator SRAM operation : qk , fp16 should be faster than fp32 according my experiences in Graphcore IPU , we only use fp32 for accumulator vectors

performance comparison :
BLOCK_M 128, BLOCK_N 64

The codes are a little faster than the previous one.
BLOCK_M, BLOCK_N estimation:
According to Tri Dao comments,  if B_c = M/4d (M is total SRAM, d is emb_d), then B_r = min(M/d, d):
If we want to load q, k, v, o as much as possible, at most we could load **M/4d** (q,k,v,o) **d(emb_d)** dimension vectors **simultaneously** into SRAM cache. Of course we could not be able to do it, since we have accumulator for QK (eliminated in memory efficient attention), accumulator for PV output, and online softmax states l_i (Br), m_i(Br) which can be neglected if we made small adjustment to M/4d. Thus, Br(Q, O), Bc(K, V) must <= **M/4d**

Suppose Bc = M/4d (choose the maximum), since Br*Bc <= M/4 (Tri Dao assumption), we derived Br must < d, such that size accumulator is less than the 1/4 of total SRAM capacity in each GPU SM. Tri Dao decided that if Br < d, then cache needed for intermediate of QK in non-causal attention is small than 1/4. That will be enough for cache used for O=PV.

Continue the Tri Dao's assumption for non-causal attention:
Now we have x = min(d, M/4). Suppose we still need to create an accumulator for QK without delay of the summation of safe exponentials inside online softmax loop.

At least we need to load **Br x Bc + 2 x ( B_r + B_c) x d <  M**, i.e. xy + 2d(x+y) < M (x, y are algebraic equal),
either substitute y = M/4d (or y = x), we have:

If we have d, which is very small (in Llama2 4096/64(heads)=64 or 4096/32(heads)=128) thanks to TP partition, then we derive that:
x * M/4d +  2d ( x + M/4d )  = x * (M/4d + 2d ) + M/2 ~ x * M/4d < M/2 (x*d might be few KB, while M is at least 192KB/SM in a gpu card with compute ability >= 8.0), i.e. x < 2d, if x ~ d

**Continue for non-causal attention (online softmax, memory efficient attention)**:

The computation process is :

```python
# create output accumulator
acc = createSRAM(Br x d)
m_i = createSRAM(Br)
l_i = createSRAM(l_i)

# load q tile (Br x d)

# loop along K, V sequence length direction to comput  N/B_c tiles of K, V
for i in range(N/B_c):
   k = load K (d x Bc)
   v = load V (Bc x d)
   qk = q.dot(k)
   m_i_new = max(m_i, tl.max(qk, 1))
   p = exp(qk - m_i_new)

   # memory efficient attention divide safe exp summation lazily

   # qk1 x v1 / l_1
   # qk2 x v2 / l_2 + acc1 x (l_1 / l_2)
   # qk3 x v3  / l_3 + acc2 x (l_2 / l_3)
  # or
  # we compute acc1 * l1 , acc2 * l2, ...
  # qk1 x v1
  # qk2 x v2 + acc1 x l_2 / l_1
  # qk3 x v3 + acc2 x l_3 / l_2
  acc += acc * beta + qk3 x v3

   l_i  = l_i * exp(m_i_new - m_i) + sum(p, 1)
   m_i = m_i_new

   # update K_block_ptr, V_block_ptr

# i.e
# iter 1 : exp(q x k1 - max(m1)) x v1
# iter 2 : exp(q x k2 - max(m2, m1)) x v2, l1 x exp(max(m1) - max(m2, m1))
# iter 3 : exp(q x k3 - max(m3, m2, m1)) x v3, l2 x exp(max(m2, m1) - max(m3, m2,m1))

We allocated SRAM : 2 x Br + Br x d + Br x d + 2 x (Bc x d) = 2 Br + 2d (Br + Bc)
M/2 > (1 + d) Br + d Bc
M = 192,000 bytes per SM, suppose we have (batches x heads) ~ 192 outter dim blocks partition,  and we roughly get 1000 x 50 bytes SRAM ~ 4096, so we get BLOCK_SIZE almost equal to 128 or 64.

Thanks for the work, but I think this is out-of-scope of Triton. However, I would be happy with a small new PR that improves load balancing for our 06-fused-attention tutorial.

Hi @ptillet thank you for your comments and share me the plan.
I will do it soon.


Visco elastic notebook

Add a notebook for a viscoelastic model. Add elastic and viscoelastic options to benchmark.py.

Codecov Report

Merging #882 into master will increase coverage by 0.48%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #882      +/-   ##
==========================================
+ Coverage   89.19%   89.68%   +0.48%
==========================================
  Files         105      105
  Lines       11927    12521     +594
  Branches     2367     2570     +203
==========================================
+ Hits        10638    11229     +591
- Misses        994     1004      +10
+ Partials      295      288       -7

Impacted Files
Coverage Δ

devito/mpi/routines.py
93.69% <0%> (+0.68%)
:arrow_up:

devito/logger.py
86.86% <0%> (+0.95%)
:arrow_up:

devito/dle/rewriters.py
87.67% <0%> (+1.44%)
:arrow_up:

devito/ir/iet/nodes.py
97.18% <0%> (+2.32%)
:arrow_up:

devito/ir/iet/visitors.py
88.39% <0%> (+5.21%)
:arrow_up:

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 76c8cfa...8d25132. Read the comment docs.

Merged.


Updated some links in README.md

Updated some links in README.md

@glv2 @FuzzyBearBTC @peerchemist Please merge :)


Broken links in wiki page

https://github.com/yahoojapan/NGT/wiki/Graph-Types#anng

Since it is difficult to adjust these parameters and coefficients above to fit your dataset, there are optimization functions (Command/Python/Cpp) to automatically optimize these parameters.

Links(Python, Cpp) in above paragraph are broken.

Thanks! I updated the links.

@masajiro Nice!! :+1:


Add an option to confirm boluses faster on Apple Watch

Adds an option in ⚙>Watch to reduce them amount of turning required of the wheel to confirm a bolus on Apple Watch. Defaults to off.

Tested on real phone (iPhone 14 ProMax, iOS 17.3) and Apple Watch (SE watchOS 10.3) without any issue.

I didn't close this manually, but it was auto-closed when fixing the alpha branch.

Reopened in https://github.com/Artificial-Pancreas/iAPS/pull/508


Accessibility improvements for finding in files

Issue Type: Bug
CC: @isidorn
Hi,
Some parts of the workflow for searching within a file with ctrl+f aren't that accessible. As a demonstration, have a blank editor with the following contents:
hello world
goodbye world

From the top of the file, when pressing ctrl+f and typing world, visually the first occurance is highlighted, but no screen reader feedback is provided at all. So my instinct is to press enter, which of course brings me to the second match instead.
Next when on the second line, perform the same search. By default, it wraps you back to the beginning of the file if no more matches are found, which is doubly confusing due to the lack of feedback.
I expect to hear something similar to how its announced in the results view in project-wide search, but less verbose. E.g, "1/2: Found 'world' at 9:20 with text: "
Similar context should also be provided when moving using f3 and shift+f3, but haven't figured out what the best messages would be.
On a related note, I'm also pondering whether disabling such wrap-around by default if a screen reader is detected would be better. It is obvious that this has happened visually, but unless enough context is provided, it can be confusing.
VS Code version: Code - Insiders 1.32.0-insider (804373ac4d5c84e96c8086cee5b9be132df88837, 2019-03-01T18:22:35.336Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
15.86GB (8.89GB free)

Process Argv

Screen Reader
yes

VM
36%

Extensions (7)

Extension
Author (truncated)
Version

vscode-markdownlint
Dav
0.25.0

vscode-eslint
dba
1.8.0

python
ms-
2019.2.5433

cpptools
ms-
0.21.0

Go
ms-
0.9.2

rust
rus
0.5.3

markdown-preview-enhanced
shd
0.3.11

I expect to hear something similar to how its announced in the results view in project-wide search, but less verbose. E.g, "1/2: Found 'world' at 9:20 with text: "

this one is a bug we should fix.

I'm also pondering whether disabling such wrap-around by default if a screen reader is detected would be better

IMO We need to provide more hints for screen reader when we reach the last item in the document, and users can be aware that the next search will go back to the top of the document. To allow users disable this feature, we have a tracking item https://github.com/Microsoft/vscode/issues/28666 , we can introduce a setting if it doesn't make sense to some users.

@rebornix I think that having better alerts when focus moves when moving to the next/previous result would be sufficient; if I was at 3/3 and suddenly it says 1/3, then I know its moved.
Another possibility is to play the system bell sound every time focus is wrapped back to the top.
Regarding the proposed format of the alert, I think it can be condensed to "1/2: Found 'world' at line 9:20: ".

@rebornix can you maybe provide a code pointer for this. So we could add a help-wanted, or I might look into this if I find time.
Thanks!

@isidorn thanks for the ping. The code change is intuitive by leveraging aria.status.
Firstly, we listen to find results change in https://github.com/microsoft/vscode/blob/master/src/vs/editor/contrib/find/findWidget.ts#L324 and update labels when search results count change. So we can alert the status at the same position.
Secondly, for the message format, we can follow Search Viewlet ones but less verbose as suggested by @Neurrone .  https://github.com/microsoft/vscode/blob/579966f90d84df7186510e31b94fe464843cfbc9/src/vs/workbench/contrib/search/browser/searchView.ts#L1319-L1335

@rebornix  Great. Thanks for the pointers. Let's see if some user jumps on this.
If not, I can take a look in the future.

@rebornix @isidorn I will have a look at this -
I expect to hear something similar to how its announced in the results view in project-wide search, but less verbose. E.g, "1/2: Found 'world' at 9:20 with text: "

I tested with NVDA 2019.1.1 - and the above issue is reproducible

@georgebatalinski thanks for being interested. Feel free to provide a PR. @rebornix provided nice code pointers.

@isidorn this is my first guess at the issue - let me know your thoughts

Re-using the existing label document.createTextNode(label) - would be the most beneficial

as hiding the text from the screen - has not worked for me - under matchesCount with NVDA

.sr-only {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

role="status" - is not consistent, hence I set it for 'role', 'alert'

https://github.com/microsoft/vscode/pull/77031

@georgebatalinski thanks! I will comment in the PR directly.

The PR is already merged.

@georgebatalinski this is such a massive quality of life improvement and does exactly what I would expect, thanks a lot!


@ #63 | should support sphinx-autobuild + Docker for docs

connect #63

Coverage remained the same at 98.018% when pulling 25f2f4f76bb9104e6242a198719d3ce2f4cb805f on hoatle:tasks/#63-sinpx-autobuild-with-Docker into baf37cd8a1f9f1124d32c1376135968172aa6b7b on teracyhq:develop.


Update and rename b1 submission space to b1 ongoing

rejected:B1
It looks like you are trying to submit B1, however it seems like the following submission criteria are problematic:

Logs are missing
We’ve thus marked B1 as rejected, however if this is a mistake, please upload the log summary and we can re-review.


Language switcher translation

I think that if a non-english speaking person opens the site in english, and clicks the language dropdown, it might be confusing for them to see "Croatian" (which is english version) and not "Hrvatski". But then again, it would also be confusing to see "English" as well. Maybe we should switch to flags instead of words?

Fixed

Now we have an issue that a person won't know that "Hrvatski" means they can change to english language.


adding preprocess folder and changing run.sh

Replacing the original pre-processing in ClashAnalyst with my own custom pre-processing and modify parts of the run.sh script.

Looks good, but the main program's tool parameters currently allow setting HYB and CLAN. Please check if this functionality is still needed in the project update. If it might be needed in the future, I suggest removing this input and directly setting the TOOL parameter to 'chira' in run.sh at line 46 to prevent misuse by others. I will help update the documentation.


Debian/Ubuntu repository doesn't know utopic or vivid

The installation instructions refer to the release name with lsb_release. Ubuntu 14.10 which gets listed as Utopic receives 404 from the server, same goes for the soon to be released 15.04 (vivid).
Trusty packages work for Vivid, so quick workaround is to adjust the source line accordingly, but the either the server should be updated or installation instructions adjusted.

Thanks for the heads up on this. Both releases have been added.


Datastore: duplicate classes in dependencies

Using the com.google.cloud:google-cloud-datastore jar version 0.3.0 as a dependency in my project resulted in a lot of transitive dependency jars. I ran the duplicate-finder plugin and it came up with duplicate classes in multiple of the datastore dependenies. Might be something you can do to exclude some of the dependencies?
duplicate-finder.txt
?

Hi @janbartel, thanks for your interest in google-cloud-java.
Duplicated classes related to package com.google.cloud.datastore:datastore-v1-protos:1.0.1 were already discussed here and we should be able to resolve them soon.
For what concerns guava-related classes it seems that our dependency com.google.cloud.datastore:datastore-v1-proto-client is pulling guava-jdk5, which should be excluded instead (we do that elsewhere). @eddavisson would you consider excluding guava-jdk5? I believe google-http-client-protobuf is pulling it. The following updated dependency declaration should do the trick:
<dependency>
  <groupId>com.google.http-client</groupId>
    <artifactId>google-http-client-protobuf</artifactId>
    <version>1.20.0</version>
    <exclusions>
      <exclusion>
        <artifactId>guava-jdk5</artifactId>
        <groupId>com.google.guava</groupId>
      </exclusion>
    </exclusions>
</dependency>

Also @eddavisson, I noticed that you still duplicate some common proto-related classes in datastore-v1-protos:1.2.0:
[WARNING]   com.google.api.AnnotationsProto
[WARNING]   com.google.api.CustomHttpPattern
[WARNING]   com.google.api.CustomHttpPatternOrBuilder
[WARNING]   com.google.api.Http
[WARNING]   com.google.api.HttpOrBuilder
[WARNING]   com.google.api.HttpProto
[WARNING]   com.google.api.HttpRule
[WARNING]   com.google.api.HttpRuleOrBuilder
[WARNING]   com.google.rpc.Code
[WARNING]   com.google.rpc.CodeProto
[WARNING]   com.google.rpc.Status
[WARNING]   com.google.rpc.StatusOrBuilder
[WARNING]   com.google.rpc.StatusProto
[WARNING]   com.google.type.LatLng
[WARNING]   com.google.type.LatLngOrBuilder
[WARNING]   com.google.type.LatLngProto

You should be able to pull those dependencies from com.google.api.grpc:grpc-google-common-protos:0.1.0.

Some of the code in google-http-client-protobuf has an actual dependency on guava (though not in a public interface). Would the exclusion break that (or should we shade it instead)? I'm still a bit of a novice when it comes to Maven.
That's great to know that the common proto classes are now available in a Maven artifact. I will work on making that update.

From the dependency tree I see:
[INFO] +- com.google.cloud.datastore:datastore-v1-proto-client:jar:1.1.0:compile
[INFO] |  +- com.google.http-client:google-http-client-protobuf:jar:1.20.0:compile
[INFO] |  \- com.google.api-client:google-api-client:jar:1.20.0:compile
[INFO] |     \- com.google.guava:guava-jdk5:jar:13.0:compile

guava-jdk5 is pulled by com.google.api-client:google-api-client. Something similar happens also in google-cloud-core where we already include a more recent version of guava (as you also do in datastore-v1-proto-client)  and went ahead to exclude guava-jdk5. But don't trust my words, you better give it a try :)

@janbartel we just released google-cloud 0.4.0 which should have considerably removed duplicate classes. We still have some duplicates related to the following dependencies of ours:

datastore-v1-proto-client and grpc-google-common-protos: @eddavisson is taking care of this
protobuf-java and protobuf-lite: I need to investigate wether is safe to exclude protobuf-lite

datastore-v1-protos:1.3.0 removes the classes mentioned above and datastore-v1-proto-client:1.3.0 excludes guava-jdk5.

Thank you @eddavisson, I will take care of updating the dependency soon!


RPM package support

Currently, the only ways we can obtain Numara on GNU/Linux are through AppImage and deb packages.
As a Fedora user, I can't use deb packages, which forces me to use the only option left, AppImage. However, AppImage is slower and personally, I don't find it very convenient.
The addition of an RPM package would greatly improve the experience for many RPM-based distribution users.
RPM packages are faster and integrate with the system much better than AppImage.
Since there is literally no decent alternative to Numara, I built the package myself and decided to propose this idea.
I have also tested the 'publish' script and everything seems to be working. (Release)
Thank you for considering this proposal

Hi @arschedev,
Thanks for the PR, always happy to expand support for more distros.  I will include this in the next release.

Good to hear that!

Just released v4.0.3 with rpm build.  Tried to merge your PR but it failed due to unsigned commits so I just added it to my workflow.  Thank you for your feedback and contribution!

Thank you too


added @with_request decorator to receive the request object as the first parameter

This PR adds a decorator @with_request which can be placed before service methods in order to receive the current request object as the first parameter.
This decorator is known from the XMLRPC module and should be available for JSONRPC as well
Example:
def jsonrpc_method_without_request(self, arg1, arg2):
    ...

@with_request
def jsonrpc_method_with_request(self, request, arg1, arg2):
    ...

Looks like there's a conflict now :-/

Moved the py3 compatibility changes to another branch. The with_request decorator changes should be able to merge now.

Thanks!


fix task_status_api

Additional steps for tasks_status_api:
1. Check if there is response from url = "/dataservice/device/action/status/{action_id}"
   2. if empty:
       Check if the task was registered:
       1. Check if action_id is inside list of running tasks from running_tasks_url
       2. If yes:
           1. introduce additional sleep (should be configurable via parameter to method, with some default value)
           3. If after addtitional sleep we still don't have proper response about task status -> raise error / return failure
       3. If no:
           1. Raise Error / Return failure and info that the task was not registered
   3. if response is not empty, return task status

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/83


initial for common docs

把常见的对与参数的中英文的描述写到了一个py文件中，RD在开发的时候可以从这里copy & edit。
Will polish the wordings, and add more.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


gammacorrect stretching

When I adapted the renderplanet code to my game I was seeing some strange stretching effect. I was able to reproduce the problem in the renderplanet codebase by adding function love.conf(t) t.gammacorrect = true end to conf.lua.
Any idea what's going wrong? I have a very old graphics card (Intel integrated from 2008) so it could just be that. I don't mind turning off gammacorrect, but I'm curious if anyone else is seeing this or knows of a better fix.

Oops; forgot to attach the screenshot:

https://love2d.org/wiki/love.graphics.isGammaCorrect It looks like gamma
correct converts the values of the colours are sent into shaders. Since the
map projection coordinates (e.g. lat/long) are mapped to colours on the
texture, you see the warping effect - you'll have to change the math to
calculate which colour correspond to which coordinate if you turn on gamma
correct.
On Mon, Nov 20, 2017 at 3:12 PM, Phil Hagelberg<EMAIL_ADDRESS>wrote:

Oops; forgot to attach the screenshot:
[image: stretched-earth]
https://user-images.githubusercontent.com/141/33001962-fd5c1b32-cd65-11e7-923c-dc8312c24bd9.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/meric/renderplanet/issues/3#issuecomment-345587172,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAW2fEHQhC9_oktDT1ELa5DPZMURY_kCks5s4PxBgaJpZM4QjuFK
.

Thanks; that makes a lot of sense. In my case adding {linear=true} to the second arg of newImage did the trick!


node.walk does not stop when passing stopOnFalse: true and returning false from callback.

Reproduction
https://formkit.link/30e3bf77c76f4610c0e7c34541a851e9
Describe the bug
In the reproduction link I have edited the example provided in formkit's documentation for making a "scroll to error" plugin. I have added multiple validation rules in the form and when I submit the form without adding anything in the form, the scrollToErrors plugin runs and the node.walk function walks to every child of the form. And in the plugin I have specified that node.walk should stop when we find a child that has a validation error by passing stopOnFalse: true and returning false from the callback of node.walk.
But as you can see when you submit the form it scrolls to first node (that has validation errors) then second and then so on because node.walk does not stop when passing stopOnFalse: true and returning false from callback.
Environment
• All

Thanks for the report. I’ve published a fix on the @next tag.


Deeplink in email on Android - Assess Bitly solution

Deeplinks sent in an email are not opening the app on Android.
This is because the Android email app is opening the link inside the email app, the deeplink opens the app correctly if used in a browser.
This is related to this issue.
https://github.com/bithyve/hexa/issues/3351

Tested on Dev app v1.7.0 (289) and Issue still reproducible.


adding X-Forwarded-for header in httpd access log

Description
Adding X-Forwarded-For header in httpd access log.
Reference: https://repost.aws/knowledge-center/elb-capture-client-ip-addresses
We apply this modification only on SSL-enabled sessions since all incoming internet traffic on the production environment is routed through SSL. Additionally, we make this adjustment in jenkins.conf instead of the default httpd.conf because we have created jenkins.conf, and it functions equivalently to httpd.conf.
Issues Resolved
N/A
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

closing this draft PR


ignore changelog during lint

Issue #, if available:
Description of changes:
changelog is takes directly from release notes, which might have formatting that can be ignored.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I think we should keep this, I tried to fix the issue but it didn't do the trick if you want to take a look at that: https://github.com/awslabs/amazon-eks-ami/blob/f59dfbdd9367f4713eb87fb35863c44956f77199/.github/workflows/update-changelog.yaml#L47-L48

I think we should keep this, I tried to fix the issue but it didn't do the trick if you want to take a look at that:
https://github.com/awslabs/amazon-eks-ami/blob/f59dfbdd9367f4713eb87fb35863c44956f77199/.github/workflows/update-changelog.yaml#L47-L48

oh didn't realize 😲 i think the issue here...


feat: add support for systemd

This should add libsystemd0 as a dependency on the host so that we can hopefully have support for it - I'm guessing that flux will detect it on build.

Checklist

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

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


KAFKA-9742: Fix StandbyTaskEOSIntegrationTest End offset

The StandbyTaskEOSIntegrationTest was broken due to the incorrect offset setting in the checkpoint file enforced by https://github.com/apache/kafka/commit/6cf27c9c771900baf43cc47f9b010dbf7a86fa22. The fix is to set the offset to a legitimate value even if the topic doesn't exist.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

test this please

LGTM.

seems #8330 is going to fix this flaky.


Stable AMM doesn't support A=0

Describe the bug
Setting A=0 causes the Curve v1 pools to fail on swap with ArithmeticError (division by zero) here:
https://github.com/interlay/interbtc/blob/1f7533459a654d745002d1e519cf4fe9ecc4dfe2/crates/dex-stable/src/utils.rs#L41-L53
https://github.com/interlay/interbtc/blob/1f7533459a654d745002d1e519cf4fe9ecc4dfe2/crates/dex-stable/src/utils.rs#L90-L95
To Reproduce
Steps to reproduce the behavior:

Create a pool with A=0
Call calculate_base_swap_amount
See error

Expected behavior
According to most sources, A=0 should reduce the formula to the CFMM.
Additional context
This also fails in the Acala implementation: https://github.com/nutsfinance/stable-asset/blob/9a60645bc60e1c3452e8313de43179c4ba9b6e36/lib/stable-asset/src/lib.rs#L844

Expected behavior, see also https://github.com/saber-hq/stable-swap/blob/c621f5950e8071aaa595bc9ad674e970fccebdb2/stable-swap-math/src/curve.rs#L22


ConstituentID missing

WebConstituents_person_view.csv has these cols
ConstituentID,AlphaSort,LastName,FirstName,DisplayName,BeginDate,EndDate,DisplayDate,Code,Nationality,Suffix,NameTitle,ConstituentType
The ConstituentID is not mapped. @workergnome needs it for the display app

Added.


Initial PR

Inspired by https://www.hashicorp.com/blog/managing-google-calendar-with-terraform

Checklist

[x] single initial resource
[x] acceptance tests
[x] automatic testing
[x] README / Documentation

Purpose
IMO this should replace https://github.com/rebuy-de/graylog-configurator. Terraform is more convenient for setting stuff up. Also we could replace our other configuration glue scripts with Terraform (see here, here, here, here and here). The only thing missing is a neat way for automatic deployments in our cluster.

@rebuy-de/it-platform What do you think?

looks good. another candidate for open-sourcing?

I like very much!


add -e to bash to support multiline commands

Could this help with multiline commands? Not a JS or GH actions expert.
related to: #43 #53

Thanks for the contribution! This seems like an easy enough fix.
Can you add a few tests to the CI/CD workflow? At least two to verify that the traditional multiline and the multiline containing && works.  Then negative tests for each where one of the commands in each type of multiline will fail (e.g., call the zzzz executable that doesn't exist).

Tested with act pull_request -j ci  --container-architecture linux/amd64 --workflows .github/workflows/ci_cd.yml -v --rm seems to be working.


8 decimals and 21,000,000 supply - is 0.21 expected?

Sorry for large screenshots, too lazy to do: https://apple.stackexchange.com/questions/105185/how-can-i-stop-my-retina-display-from-taking-2x-sized-screenshots
So I've created my custom token: https://www.ethereum.org/token

There were 21m, sent 2m, now there is 19m:

In the UI it is displayed as 0.19:

When I re-add there is some silly validation

Border around the fields suggests there is something wrong?

When I see transaction history in Ethereum Wallet:

It seems like 21,000,000 and 8 decimal places creates 0.21

The decimals decide where to be the decimal place. If you look up the account on ethplorer, there should be a decimal field. I would guess that if you didn't explicitily set the decimals, it is either 0 or 18

I understand decimals as "resolution".
Say there is 21m supply
My understanding
0 decimals make it 21,000,000
1 decimal make it 21,000,000.0
2 decimals make it 21,000,000.00
3 decimals make it 21,000,000.000
4 decimals make it 21,000,000.0000
5 decimals make it 21,000,000.00000
6 decimals make it 21,000,000.000000
7 decimals make it 21,000,000.0000000
8 decimals make it 21,000,000.00000000
Alternative understanding
0 decimals make it 21000000
1 decimal make it 2100000.0
2 decimals make it 210000.00
3 decimals make it 21000.000
4 decimals make it 2100.0000
5 decimals make it 210.00000
6 decimals make it 21.000000
7 decimals make it 2.1000000
8 decimals make it 0.21000000
When I run Ethereum Wallet I can view the deployed contract and I have some admin panel, allowing to transfer tokens etc...

I'll try to create some dummy tokens on the testnet - thank you #537 - and try to reproduce
https://ethereum.org/token

decimals = decimalUnits;                            // Amount of decimals for display purposes

Note also silly validation, read border on the fields.

@stefek99
Are you still getting the validation issue. I re-created it once on accident but can't now :( :(

Decimals are how divisible something is. 0 decimals = you can only send 1, 2, 3 tokens - not 1.1, .66, etc.
Since when you send things there are no decimals its more like this
0 Decimals
21000000
8 Decimals
2100000000000000
Ethereum is 18 (WEI is the smallest unit). So if you have a decimal of 18, it's essentially matching ETH so a lot of people choose that. Alternatively you can do 0 (Unicorns / Beercoin) so you can't split them.
You can see decimals here: https://github.com/kvhnuke/etherwallet/blob/mercury/app/scripts/tokens/ethTokens.json
You can see WEI to ETH ratio and everything in between here: https://www.myetherwallet.com/helpers.html

I'm closing this as I'm trying re-org the issues and redo a todo list with priorities, but feel free to comment or ping me on slack in #general. 👍

About validation:

(hope the animated GIF will play)
About decimal places
Thank you for explanation.
Looking at the code: https://www.ethereum.org/token
    /* Initializes contract with initial supply tokens to the creator of the contract */
    function MyToken(
        uint256 initialSupply
        ) {
        balanceOf[msg.sender] = initialSupply;              // Give the creator all initial tokens
    }

That's where language knowledge kicks in - http://solidity.readthedocs.io/en/develop/types.html - uint256 has 256 bits, so unlike JavaScript can store<PHONE_NUMBER>000000


Spread with enum index key, invalid members don't trigger errors

TypeScript Version:  3.5.1
Search Terms:
object spread enum index missing keys
Code
Playground link has code
Expected behavior:
Missing keys & incorrect value types when I build a nested object using the spread operator with index keys, ought to throw errors for invalid types
Actual behavior:
It seems like the child object can have whatever shape I want, the types aren't being checked at all
Playground Link: This is same as above playground link
Related Issues: I'm not really sure what the root limitation that's causing this is so it's hard for me to find similar issues.

enum Prop {
    Alpha,
    Beta
}

type MediumMap = {
    [key in Prop]: {
        m: string;
    };
};

declare const SomeProp: Prop;
const k1: MediumMap = {
    [Prop.Alpha]: { m: "" },
    [Prop.Beta]: { m: "" },
    // No error
    [SomeProp]: { m: 10 }
};

So the problem here is that there's not a good way to describe the type of k3 in the above example - it's technically { A: string; B: number } | { A: number; B: string } but this type algebra is combinatorially explosive in the presence of multiple computed property names, and isn't actually correct if given e.g. { [AB]: "", [AB]: "" }. At least in the indirected case, it's not clear that we have any available fix.
That said, ideally we'd have some way to flag the [AB] property in k1 as an error by realizing it's a contextually typed thing, keeping the literalness of AB around, and then making sure it's assignable to the intersection of the properties it possibly targets.
@ahejlsberg any thoughts?

@RyanCavanaugh  This seems to affect not just enums. If the computed property is string it basically gets ignored in the spread:
declare let o: { field1: number };
declare let key: string;

o = { ...o, [key]: "value" };  // ok ? why ?
let newO = { ...o, [key]: "value" };  // same type as o ? but why ?

declare let oIndex: { [n: string]: number };
oIndex = { ...oIndex, [key]: "value" } // here we get an error

Playground Link
I really don't think the result of { ...o, [key]: "value" } should be typeof o unless key is a specific key of typeof o. This is fundamentally unsound and surprising.

@dragomirtitian i think technically that’s ok because the resulting object may have other keys but still satisfies the interface that the object type specifies - though it’s also the case that applying that key-value pair may cause an existing key on the object to have an incorrect value type, which is unsound

I am running into the same issue. Any update on this?
It is fairly common to update an object using code similar to this:
type Key = 'a' | 'b' | 'x'
type Obj = {[key in Key]: number}

const x = 'x' as Key

const obj: Obj = {
  a: 4,
  b: 4,
  x: 4,
}

const updatedObj: Obj = {
  ...obj,
  [x]: 'hello', // No error. No type check on the value, which is a string instead of number
}

The same is true for Object.assign:
const updatedObj: Obj = Object.assign({}, obj, { [x]: '4' }) // No error

It seems that { [x]: '4' } gets widened to the type { [x: string]: string }, but arguably something like the following would be more accurate: {a: string} | {b: string} | {x: string}. Even then it is currently still a valid third argument to Object.assign.
This issue may be related to:
#37103
#13948
#38663


Update readme with latest links

Please update the readme file with the latest hyperlinks to developer documentations of tech. stack used.

Updated the links! :)


How to freeze model？

Hello, I want to freeze the model so that it can still run out of the mmdetection framework. Which file should I run，publish_model.py or pytorch2onnx.py？

Hi @wytcsuch ,
publish_model.py or pytorch2onnx.py only export model weights with a different format or name. You need to set the model to eval mode if you want to freeze the model, i.e. do not train the weights in the model.


Support TLS for connection to RMQ management API

Previously, it was hardcoded to use http only. Now, it can take arguments to use https, as well as a certificate chain to trust as the CA pool when connecting, or to skip certificate validation entirely.
This likely closes #39, or at least addresses the concerns in the comments under it.

Is there a timeline for when this PR can get looked at? Encryption is tasty and I'd like to have it for this network path :)

Hey @thomasmitchell, thanks very much for the PR! I'm going to be looking at this today.

Hey @thomasmitchell, I've backfilled some tests on top of this PR & done a little refactoring; you can find this in #104. I'll make sure that isn't squash-merged so you still get in as a commit author :)
I'll close this now as it is superceded by the other PR, and hopefully we can merge it today!


Inconsistency of AMD supports (eve & raphael)

//eve.js
(typeof define === "function" && define.amd ? (define("eve", [], function() { return eve; })) : (glob.eve = eve));

// raphael.js
if (typeof define === "function" && define.amd) {
        // Define as an anonymous module
        define(["eve"], function( eve ) {
            return factory(glob, eve);
        });
    }

Why not make them same?

Already done like that.
Thanks.

Hi,
I reopen this issue because I've a problem with Magento2 requirejs config. (I precise I'm not expert on requirejs).
I correctly included Raphael 2.2.0 as a dependency of my module, like that :
define([
    'raphael', //With a mapping on my file, correctly HTTP downloaded
], function (Raphael) {
    //Raphael is undefined
}

After checking the source, I see line 14 : define("Raphael", [], factory);
And according to the requirejs doc, it seems not good to manually define a module name.
So I tried to remove the first arg "Raphael" , and it works !
Is it possible to fix this issue ? Or if it's not a bug but a misunderstanding from me, I apologize.
Thanks

Done. v2.2.1


[BUG] TLVReader error "Wrong TLV type" when use CustomArgumentParser.

Reproduction steps
pair all-cluster-app demo with chip-tool, send command:
./chip-tool-<IP_ADDRESS> colorcontrol command-by-id 8 '{"0":10,"1":"s:20","2":0,"3":0}' 12345 1,
the all-cluster-app shows an error log below:
[1704804890.455678][346309:346309] CHIP:DMG: InvokeRequestMessage =
[1704804890.455680][346309:346309] CHIP:DMG: {
[1704804890.455682][346309:346309] CHIP:DMG: 	suppressResponse = false,
[1704804890.455685][346309:346309] CHIP:DMG: 	timedRequest = false,
[1704804890.455687][346309:346309] CHIP:DMG: 	InvokeRequests =
[1704804890.455690][346309:346309] CHIP:DMG: 	[
[1704804890.455692][346309:346309] CHIP:DMG: 		CommandDataIB =
[1704804890.455695][346309:346309] CHIP:DMG: 		{
[1704804890.455697][346309:346309] CHIP:DMG: 			CommandPathIB =
[1704804890.455712][346309:346309] CHIP:DMG: 			{
[1704804890.455714][346309:346309] CHIP:DMG: 				EndpointId = 0x1,
[1704804890.455716][346309:346309] CHIP:DMG: 				ClusterId = 0x300,
[1704804890.455718][346309:346309] CHIP:DMG: 				CommandId = 0x8,
[1704804890.455740][346309:346309] CHIP:DMG: 			},
[1704804890.455744][346309:346309] CHIP:DMG:
[1704804890.455747][346309:346309] CHIP:DMG: 			CommandFields =
[1704804890.455749][346309:346309] CHIP:DMG: 			{
[1704804890.455756][346309:346309] CHIP:DMG: 				0x0 = 10,
[1704804890.455758][346309:346309] CHIP:DMG: 				0x1 = 20,
[1704804890.455760][346309:346309] CHIP:DMG: 				0x2 = 0,
[1704804890.455762][346309:346309] CHIP:DMG: 				0x3 = 0,
[1704804890.455764][346309:346309] CHIP:DMG: 			},
[1704804890.455765][346309:346309] CHIP:DMG: 		},
[1704804890.455768][346309:346309] CHIP:DMG:
[1704804890.455770][346309:346309] CHIP:DMG: 	],
[1704804890.455773][346309:346309] CHIP:DMG:
[1704804890.455774][346309:346309] CHIP:DMG: 	InteractionModelRevision = 11
[1704804890.455776][346309:346309] CHIP:DMG: },
[1704804890.455789][346309:346309] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0300 e=1 p=o
[1704804890.455795][346309:346309] CHIP:DMG: AccessControl: allowed
[1704804890.455798][346309:346309] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0008
[1704804890.455803][346309:346309] CHIP:DMG: Endpoint=1 Cluster=0x0000_0300 Command=0x0000_0008 status 0x85 (INVALID_COMMAND) (no additional context)
[1704804890.455807][346309:346309] CHIP:DMG: Command handler moving to [ Preparing]
[1704804890.455810][346309:346309] CHIP:DMG: Command handler moving to [AddingComm]
[1704804890.455813][346309:346309] CHIP:DMG: Command handler moving to [AddedComma]
[1704804890.455816][346309:346309] CHIP:ZCL: Failed to dispatch command, TLVError=src/lib/core/TLVReader.cpp:186: CHIP Error 0x00000026: Wrong TLV type

I found that the reason is that the chip-tool treats 10 and 20 as uint8 type. Why doesn't MoveColor automatically treat unsigned integers as signed?
Bug prevalence
always
GitHub hash of the SDK that was being used
181b0cb14ff007ec912f2ba6627e05dfb066c008
Platform
other
Platform Version(s)
Linux
Anything else?
No response

Why doesn't MoveColor automatically treat unsigned integers as signed?

Because that would be a spec violation.  Those are different TLV types, and per spec if the wrong type is used the command is rejected.
As you found, you can use "0":"s:10" to indicate that the 10 is signed.

Why doesn't MoveColor automatically treat unsigned integers as signed?

Because that would be a spec violation. Those are different TLV types, and per spec if the wrong type is used the command is rejected.
As you found, you can use "0":"s:10" to indicate that the 10 is signed.

I use like chip-tool any command mode as rpc request, so I'm not sure about the specific data type before send request. Upon your reply, I should reformat the data type according to the cluster data model.

I should reformat the data type according to the cluster data model

Yes.


Try to play nicer with the seed corpus

The data provided to the fuzz target is likely to look like a font. If some fool cut the front off it would become unlikely to do so. I suspect this is why fuzzing outlines has near zero coverage:

https://storage.googleapis.com/oss-fuzz-coverage/fontations/reports/20240625/linux/src/fontations/skrifa/src/outline/report.html.
What if instead we try a crossproduct of likely and random options against the fuzzer provided data?
Contributes to #420.
JMM if happy

I am definitely in favor of interpreting the fuzzer data as a font immediately and not doing the truncation at the beginning. This is also useful for debugging. But I think generating random data from the fuzzer input data very likely messes with the coverage guiding of the fuzzer. The fuzzing library can no longer associate a sample/corpus mutation operation with a code coverage change, which probably slows down fuzzing coverage growth. How about taking the input for mutation OutlineRequest etc. from somewhere later in the file?

Thinking out loud: what if our corpus included explicit 'header' bytes in this case that will always correspond to the OutlineRequest? Then the fuzzer could mutate those bytes to explore the space of possible requests in isolation?
It makes sense to me that having changes in the input data having side effects will confuse the coverage guidance, since a small change in the input data will cause a completely different set of options to be selected, which could drastically effect what code gets run..

Per IM I will try guing extra bytes on the end to feed the outline request.


Void functions in go are not returning unit as expected.

All functions in Oden have return values. When importing void functions from Go, they are considered as returning the unit value ().
This is a problem, since it makes it possible to use the return value in an assignment in Oden, but not from Go.
For example, log.Println has the signature func Println(v ...interface{}) in Go. A void function.
The following code compiles in Oden, but the generated Go code is not valid:
package main

import log

main : -> ()
main() = let x = log.Println(5) in {
  log.Println(x)
}

The Go code generated from the let statement is var x struct{} = log.Println([]interface{}{5}...).

One solution would be to have some mechanism to disallow void methods as right-hand values in assignments.
Another solution would be to wrap them in code that returns () to make them work like Oden functions. The let-statement in the code above could generate something like:
var x struct{} = func() struct{} {
    log.Println([]interface{}{5}...); // Original call. The rest is wrapping
    return struct{}{};
}();


Enum with struct variants can only have 12 fields

Bug Description
I was refactoring some code from
#[pyclass]
enum TupleEnum {
   Variant1(InnerType1),
   Variant2(InnerType2),
}

#[pyclass]
struct InnerType1 {
    field_1: u32,
    field_2: u32,
    field_3: String,
    field_4: f32,
}

...

to this
#[pyclass]
enum StructEnum {
    Variant1 {
        field_1: u32,
        field_2: u32,
        field_3: String,
        field_4: f32,
    },
    Variant2 {
        etc...
    }
}

Effectively getting rid of the wrapped types and representing them in the enum's variants directly.
However, it looks like there is some kind of limit on the number of fields that you can have in an enum member. The example in the "Steps to reproduce" produces this error:
error[E0277]: `(&str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str)` cannot be converted to a Python object
   --> pyanif/src/blocks/beam.rs:373:1
    |
373 | #[pyclass]
    | ^^^^^^^^^^ the trait `pyo3::IntoPyObject<'_>` is not implemented for `(&str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str)`
    |
    = note: `IntoPyObject` is automatically implemented by the `#[pyclass]` macro
    = note: if you do not wish to have a corresponding Python type, implement it manually
    = note: if you do not own `(&str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str)` you can perform a manual conversion to one of the types in `pyo3::types::*`
    = help: the following other types implement trait `pyo3::IntoPyObject<'py>`:
              &(T0, T1)
              &(T0, T1, T2)
              &(T0, T1, T2, T3)
              &(T0, T1, T2, T3, T4)
              &(T0, T1, T2, T3, T4, T5)
              &(T0, T1, T2, T3, T4, T5, T6)
              &(T0, T1, T2, T3, T4, T5, T6, T7)
              &(T0, T1, T2, T3, T4, T5, T6, T7, T8)
            and 17 others
note: required by a bound in `pyo3::IntoPyObjectExt::into_py_any`
   --> /home/majp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.23.3/src/conversion.rs:367:33
    |
367 | pub trait IntoPyObjectExt<'py>: IntoPyObject<'py> + into_pyobject_ext::Sealed {
    |                                 ^^^^^^^^^^^^^^^^^ required by this bound in `IntoPyObjectExt::into_py_any`
...
380 |     fn into_py_any(self, py: Python<'py>) -> PyResult<Py<PyAny>> {
    |        ----------- required by a bound in this associated function
    = note: this error originates in the attribute macro `pyclass` (in Nightly builds, run with -Z macro-backtrace for more info)

Steps to Reproduce
// my_module.rs

use pyo3::prelude::*

enum StructEnum {
    Variant1 {
        field_1: u32,
        field_2: f32,
        field_3: String,
        field_4: f32,
        field_5: f32,
        field_6: u32,
        field_7: u32,
        field_8: u32,
        field_9: u32,
        field_10: u32,
        field_11: u32,
        field_12: u32,
        field_13: u32,
        field_14: u32,
        field_15: u32,
    }
}

won't compile. However, with 12 fields, there is no error:
#[pyclass]
enum StructEnum {
    Variant1 {
        field_1: u32,
        field_2: f32,
        field_3: String,
        field_4: f32,
        field_5: f32,
        field_6: u32,
        field_7: u32,
        field_8: u32,
        field_9: u32,
        field_10: u32,
        field_11: u32,
        field_12: u32,
        // field_13: u32,
        // field_14: u32,
        // field_15: u32,
    }
}

Backtrace
error[E0277]: `(&str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str)` cannot be converted to a Python object
   --> pyanif/src/blocks/beam.rs:373:1
    |
373 | #[pyclass]
    | ^^^^^^^^^^ the trait `pyo3::IntoPyObject<'_>` is not implemented for `(&str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str)`
    |
    = note: `IntoPyObject` is automatically implemented by the `#[pyclass]` macro
    = note: if you do not wish to have a corresponding Python type, implement it manually
    = note: if you do not own `(&str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str, &str)` you can perform a manual conversion to one of the types in `pyo3::types::*`
    = help: the following other types implement trait `pyo3::IntoPyObject<'py>`:
              &(T0, T1)
              &(T0, T1, T2)
              &(T0, T1, T2, T3)
              &(T0, T1, T2, T3, T4)
              &(T0, T1, T2, T3, T4, T5)
              &(T0, T1, T2, T3, T4, T5, T6)
              &(T0, T1, T2, T3, T4, T5, T6, T7)
              &(T0, T1, T2, T3, T4, T5, T6, T7, T8)
            and 17 others
note: required by a bound in `pyo3::IntoPyObjectExt::into_py_any`
   --> /home/majp/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pyo3-0.23.3/src/conversion.rs:367:33
    |
367 | pub trait IntoPyObjectExt<'py>: IntoPyObject<'py> + into_pyobject_ext::Sealed {
    |                                 ^^^^^^^^^^^^^^^^^ required by this bound in `IntoPyObjectExt::into_py_any`
...
380 |     fn into_py_any(self, py: Python<'py>) -> PyResult<Py<PyAny>> {
    |        ----------- required by a bound in this associated function
    = note: this error originates in the attribute macro `pyclass` (in Nightly builds, run with -Z macro-backtrace for more info)

Your operating system and version
Ubuntu 24.04
Your Python version (python --version)
Python 3.12.3
Your Rust version (rustc --version)
rustc 1.83.0 (90b35a623 2024-11-26)
Your PyO3 version
0.23.3
How did you install python? Did you use a virtualenv?
No venv, just the python3 that comes with Ubuntu 24.04.
Additional Info
Thanks for this awesome project. I imagine creating this is an insane task. So lots of appreciation from here :)

Hi @MartinJepsen!
Unfortunately, this is caused by a limitation of Rust itself. Specifically, Rust does not support Variadic Generics, so we follow the Rust standard library pattern of supporting up to length 12 tuples. See also https://gist.github.com/PoignardAzur/aea33f28e2c58ffe1a93b8f8d3c58667.
Can I ask why you want to refactor away from the wrapped types? That seems to me a better pattern than expanding the support in PyO3 to longer tuples.

I agree that adding support for larger tuples is not a helpful. However the fundamental problem seems to be caused merely by our expansion for __match__args__ support here:
https://github.com/PyO3/pyo3/blob/3965f5f7cb6908f7e7f2b62076948daf509a529a/pyo3-macros-backend/src/pyclass.rs#L1198-L1201
which expands to something like
#[classattr]
const __match_args__: (&str, ..., &str) = ("field_1", ..., "field_15");

in this case, which relies on the IntoPyObject impl for tuples. We could construct the attribute manually without going through Rust tuples like so:
#[classattr]
fn __match_args__(py: Python<'_>) -> PyResult<Bound<'_, PyTuple>> {
    PyTuple::new(py, ["field_1", ..., "field_15"])
}

I prototyped this in #4832

Can I ask why you want to refactor away from the wrapped types? That seems to me a better pattern than expanding the support in PyO3 to longer tuples.

I just thought it looked a bit cleaner. I'm basically deserializing the structs from binary data, so instead of implementing a From for each enum variant, I can generalize it to the enum itself. Total noob at Rust, so maybe I should change it back :)
I don't expect support for longer tuples. If it's a limitation of Rust, then that's completely fine and not something pyo3 should solve. I was mostly wondering about the reason for this behaviour. Thank you for the explanation!


Any reason why this component would not work inside a flatlist/scrollview component?

I used this library to view a list of products images while maintaining their original aspect ratio. What I noticed was that, only first n products show up. The rest is not showing. I tried different ways to view the list of items, but same result nonetheless.
This my render body:
    <View style={[common.flex, styles.screen]}>       <HomeHeader />       <IsLoading />       {products.length && !loading && (         <FlatList           data={products}           horizontal={false}           keyExtractor={(_, index) => index.toString()}           style={styles.productsView}           renderItem={({ item }) => <Product product={item} />}         />       )}    </View>


Toggling the price filter toggles the update button as well

Hi,
There is an issue with the price filter: toggling it hides the update button as well.

I think the update button is only for the price filter? Other filters should apply immediately, at least on the demo branch where React is used.

On the demo branch, yes. But on master we have to click on the button, same thing happens when we have other filters.

Kinda relate to what was said on #2118.

There is also an issue with the submit button (.btn.primary) it has padding: 1rem 4rem which is quite ugly in French, we probably should replace that by padding: 1rem
1rem 4rem padding:

1rem padding:

And, to fix #2168, it would require to move down the button:
Index: templates/product/_filters.html
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- templates/product/_filters.html	(revision 8857c3c7b21e641382c6a8e77dc6bac171d75625)
+++ templates/product/_filters.html	(date<PHONE_NUMBER>000)
@@ -60,9 +60,10 @@
                         value="{% if field.value.1 %}{{ field.value.1 }}{% endif %}" type="number" min="0"
                         class="form-control d-inline" placeholder="{% trans 'to' context 'Product price filter' %}"/>
                 </div>
-                <button class="btn primary" type="submit">{% trans 'Update' context 'Product price filter' %}</button>
               </div>
             </div>
+
+            <button class="btn primary" type="submit">{% trans 'Update' context 'Product price filter' %}</button>
           {% endif %}
         {% endfor %}
       </form>


remove init_config from tests and use TestConfigBuilder

We don't need to use init_config anymore. TestConfigBuilder should be able to replace it now.

Can I work on this @apoorvsadana ?

Hey @elielnfinic, thanks for reaching out. Currently, there are four teams working on picking issues and we're trying to keep it to that for now. The main reason being to be more accountable and to be able to ship fast. So for now, we haven't opened issues to new contributors.

Sounds good. Thank you.

Ig we can close this @apoorvsadana


Introduce memset_s in sqlite3

Introduce memset_s in sqlite3

@ShrutiJaiswal1494 - Can you address the open comments? It was agreed in today's community meeting that the changes can proceed.

Doing force merge, as the mac CI is failing for older virtual images


Cannot search Cores on serial part

I'm requesting POST /v4/cores/query with the following request body to get a filtered output of Boosters (without the Merlins):
{
  "options": {
    "sort": {
      "serial": "desc"
    }
  },
  "query": {
    "$text": {
      "$search": "B"
    }
  }
}

I'm receiving a 400-error: index required for $text query
Aren't cores searchable by all text indices? Is this the wrong structure?
@jakewmeyer would it be possible to add a partial string match example in the docs?

@jakewmeyer I've solved the issue. (there was no issue 🙃 )
The $text-$search only searches for matching words, so parts like "m" or "b" don't work here since the full name is something like Merlin1A which also has uppercase characters.
After searching for MongoDB query examples I found examples using regex is the way to go here. Also note that the search string must contain 2 or more characters. I am now able to filter by partially search a text index:
{
  "options": {
    "sort": {
      "serial": "asc"
    }
  },
  "query": {
    "version": {
      "$regex": "^me.*",
      "$options": "i"
    }
  }
}


The Line errors generated in the report summary have incorrect links

For eg:-
In the report for https://goreportcard.com/report/github.com/golang/crypto
For the first go vet issue at Line 188, the href is generated as
https://goreportcard.com/report/github.com/golang/crypto#L188
rather than
https://github.com/golang/crypto/blob/master/blake2s/blake2s_test.go#L188

I have opened #219 for this


Minifier is deprecated

Let's stop using minifier as it is deprecated. We should be able to replace this using uglify.

I can help if you want 😄

Has been replaced with terser. Closing this.


Remove NuGet patches

Fixes https://github.com/dotnet/source-build/issues/172
Related to https://github.com/NuGet/NuGet.Client/pull/1772
Removing NuGet patches and changing the entry point for the build.
This PR needs to be merged AFTER the NuGet Client Repo one
PS.
PS. Please squash and merge!
@crummel @mishra14

The NuGet PR has been merged.
Can we kick the tests again?
@crummel

@dotnet-bot test this please

@nkolev92 It looks like the submodule hasn't been updated, it's still referring to https://github.com/NuGet/NuGet.Client/commit/884b3d8f10656137babc06db85dac63d10757bbb.  I think you'll have to go into the nuget-client subdirectory, git checkout 93d85237e4c21ade2376b2b49cc8822852c1b3c7, then go back up to the main source-build directory and add and commit the submodule.

Done.

Thanks @nkolev92!


'' becomes ' '

Which makes the text
Message('let''s show a message');
to
Message('let' 's show a message');
which doesn't compile

Are you on version 2.1.0, which was released on sunday?
I've fixed a similar issue in that versioner.

I am:

All right, I'll look into it.

The issue is, that I try to isolate keywords, strings and types through regular expressions.
I think that I've managed to allow my expression to include double ' in strings.
I'll do some testing and hopefully I can have it ready in the next couple of days.


Delete the generated config files after the YarnAppLauncher test

Also reorganized imports using the IDEA.

Ignoring flaky test failure and merging.


Update dependencies, including object to 0.36

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.58%. Comparing base (29b0cf8) to head (bb4fe65).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #162   +/-   ##
=======================================
  Coverage   98.58%   98.58%
=======================================
  Files          79       79
  Lines       24449    24449
=======================================
  Hits        24103    24103
  Misses        346      346

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


More TDDable in any test case

もっとTDDっぽい感じで書く。ちょっとtest caseが英文とcontextに沿ってなくて微妙な感じ。

I think this task should be include in upgrading node and angular task.


writing-support-requests: 3-point summary

hpc-doc/help/writing-support-requests.rst is one of my favorite things, but it's a bit too long to be linkable when someone has an issue and is honestly trying their best.  I distilled it down to a 3-point list that isn't so condescending I can use as a link in a reply:
https://scicomp.aalto.fi/triton/help.html#give-enough-information
What do you think?

It's very good. Can I use that one also on our side?
At some point we will phase this documentation here out (at some point this machine will be phased out) and it continues living here:
https://documentation.sigma2.no/help/how_to_write_good_support_requests.html
Can I use your text here:
https://documentation.sigma2.no/help/support.html
And link to your page? (I know not everything is great on https://documentation.sigma2.no, I am working on improving that this week)

Absolutely you can use it (it's cc-by but you don't need to be
constricted by that).  We can work on a text suitable for a canned
reply, and update our text too.  I have a feeling there are some
subtle improvements to be done still...

Great! I will add it on our side, maybe find an improvement, and notify you once it's up.

As a thank you I will send you a PR.

https://documentation.sigma2.no/help/support.html#give-enough-information
https://github.com/AaltoScienceIT/scicomp-docs/pull/56

Thanks again!


Remove deprecated Error::description

Error::description has been documented as soft-deprecated since 1.27.0 (17 months ago). It is going to be hard-deprecated soon.
This PR:

Removes an implementation of description in impl ::std::error::Error
Cleanups description from foreign_link_variant
Increases minimal version to 1.27.0 in travis

Related PR: https://github.com/rust-lang/rust/pull/66919

That's quite the leap in minimum supported rust.  Do the tests fail on 1.13?

I dug into this and sure enough, with 1.41 release, our next breaking version would need to support 1.27 at minimum or error in compilation.

@AndyGauge, there is another option: to allow depricated methods.

Closing in favour of https://github.com/rust-lang-nursery/error-chain/pull/285


Compilation error: ‘cudnnConvolutionBwdFilterAlgo_t’ does not name a type

I get this error compiling in Ubuntu 14.04. Other than that, I uninstalled cython and installed the latest version using pip, since the cython in the distribution was older than required. Using Cuda 7.5 from the Nvidia repos for ubuntu.
Compiling without setting CUDNN_ENABLED=1 works ok, but I don't want that, obviously :smile:
g++ -DCUDNN_ENABLED -O3 -fPIC -Wall -Wfatal-errors -I./include -I/usr/local/cuda/include -c -o src/nnet/cudnn.o src/nnet/cudnn.cpp
In file included from src/nnet/cudnn.cpp:5:0:
./include/cudarray/nnet/cudnn.hpp:71:3: error: ‘cudnnConvolutionBwdFilterAlgo_t’ does not name a type
   cudnnConvolutionBwdFilterAlgo_t bwd_filters_algo;
   ^
compilation terminated due to -Wfatal-errors.

If I remove the -Wfatal-errors from the Makefile, I get even more errors:
g++ -DCUDNN_ENABLED -O3 -fPIC -I./include -I/usr/local/cuda/include -c -o src/nnet/cudnn.o src/nnet/cudnn.cpp
In file included from src/nnet/cudnn.cpp:5:0:
./include/cudarray/nnet/cudnn.hpp:71:3: error: ‘cudnnConvolutionBwdFilterAlgo_t’ does not name a type
   cudnnConvolutionBwdFilterAlgo_t bwd_filters_algo;
   ^
./include/cudarray/nnet/cudnn.hpp:72:3: error: ‘cudnnConvolutionBwdDataAlgo_t’ does not name a type
   cudnnConvolutionBwdDataAlgo_t bwd_imgs_algo;
   ^
src/nnet/cudnn.cpp: In member function ‘void cudarray::PoolBC01CuDNN<T>::fprop(const T*, int*, T*)’:
src/nnet/cudnn.cpp:75:31: error: ‘CUDNN_PROPAGATE_NAN’ was not declared in this scope
         pool_desc, pool_mode, CUDNN_PROPAGATE_NAN, n_img_dims, win_shape,
                               ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp: In member function ‘void cudarray::ConvBC01CuDNN<T>::fprop(const T*, const T*, int, int, int, int, int, int, int, T*)’:
src/nnet/cudnn.cpp:159:5: error: too many arguments to function ‘cudnnStatus_t cudnnSetFilter4dDescriptor(cudnnFilterDescriptor_t, cudnnDataType_t, int, int, int, int)’
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
In file included from ./include/cudarray/nnet/cudnn.hpp:8:0,
                 from src/nnet/cudnn.cpp:5:
/usr/local/include/cudnn.h:267:27: note: declared here
 cudnnStatus_t CUDNNWINAPI cudnnSetFilter4dDescriptor(  cudnnFilterDescriptor_t filterDesc,
                           ^
src/nnet/cudnn.cpp:179:5: error: ‘cudnnConvolutionFwdAlgoPerf_t’ was not declared in this scope
     cudnnConvolutionFwdAlgoPerf_t fwd_algo_perf[n_requestedAlgo];
     ^
src/nnet/cudnn.cpp:179:35: error: expected ‘;’ before ‘fwd_algo_perf’
     cudnnConvolutionFwdAlgoPerf_t fwd_algo_perf[n_requestedAlgo];
                                   ^
In file included from src/nnet/cudnn.cpp:5:0:
src/nnet/cudnn.cpp:182:43: error: ‘fwd_algo_perf’ was not declared in this scope
         n_requestedAlgo, &n_returnedAlgo, fwd_algo_perf
                                           ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:183:5: error: there are no arguments to ‘cudnnFindConvolutionForwardAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnFindConvolutionForwardAlgorithm’ must be available [-fpermissive]
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:183:5: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:188:16: error: ‘fwd_algo_perf’ was not declared in this scope
     fwd_algo = fwd_algo_perf[0].algo;
                ^
src/nnet/cudnn.cpp:189:5: error: ‘cudnnConvolutionBwdDataAlgoPerf_t’ was not declared in this scope
     cudnnConvolutionBwdDataAlgoPerf_t bwd_data_algo_perf[n_requestedAlgo];
     ^
src/nnet/cudnn.cpp:189:39: error: expected ‘;’ before ‘bwd_data_algo_perf’
     cudnnConvolutionBwdDataAlgoPerf_t bwd_data_algo_perf[n_requestedAlgo];
                                       ^
In file included from src/nnet/cudnn.cpp:5:0:
src/nnet/cudnn.cpp:192:43: error: ‘bwd_data_algo_perf’ was not declared in this scope
         n_requestedAlgo, &n_returnedAlgo, bwd_data_algo_perf
                                           ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:193:5: error: there are no arguments to ‘cudnnFindConvolutionBackwardDataAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnFindConvolutionBackwardDataAlgorithm’ must be available [-fpermissive]
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:198:5: error: ‘bwd_imgs_algo’ was not declared in this scope
     bwd_imgs_algo = bwd_data_algo_perf[0].algo;
     ^
src/nnet/cudnn.cpp:198:21: error: ‘bwd_data_algo_perf’ was not declared in this scope
     bwd_imgs_algo = bwd_data_algo_perf[0].algo;
                     ^
src/nnet/cudnn.cpp:199:5: error: ‘cudnnConvolutionBwdFilterAlgoPerf_t’ was not declared in this scope
     cudnnConvolutionBwdFilterAlgoPerf_t bwd_filters_algo_perf[n_requestedAlgo];
     ^
src/nnet/cudnn.cpp:199:41: error: expected ‘;’ before ‘bwd_filters_algo_perf’
     cudnnConvolutionBwdFilterAlgoPerf_t bwd_filters_algo_perf[n_requestedAlgo];
                                         ^
In file included from src/nnet/cudnn.cpp:5:0:
src/nnet/cudnn.cpp:202:43: error: ‘bwd_filters_algo_perf’ was not declared in this scope
         n_requestedAlgo, &n_returnedAlgo, bwd_filters_algo_perf
                                           ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:203:5: error: there are no arguments to ‘cudnnFindConvolutionBackwardFilterAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnFindConvolutionBackwardFilterAlgorithm’ must be available [-fpermissive]
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:207:5: error: ‘bwd_filters_algo’ was not declared in this scope
     bwd_filters_algo = bwd_filters_algo_perf[0].algo;
     ^
src/nnet/cudnn.cpp:207:24: error: ‘bwd_filters_algo_perf’ was not declared in this scope
     bwd_filters_algo = bwd_filters_algo_perf[0].algo;
                        ^
In file included from src/nnet/cudnn.cpp:5:0:
src/nnet/cudnn.cpp:218:5: error: there are no arguments to ‘cudnnGetConvolutionBackwardDataWorkspaceSize’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardDataWorkspaceSize’ must be available [-fpermissive]
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:222:5: error: there are no arguments to ‘cudnnGetConvolutionBackwardFilterWorkspaceSize’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardFilterWorkspaceSize’ must be available [-fpermissive]
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp: In member function ‘void cudarray::ConvBC01CuDNN<T>::bprop(const T*, const T*, const T*, T*, T*)’:
src/nnet/cudnn.cpp:248:18: error: ‘bwd_filters_algo’ was not declared in this scope
       conv_desc, bwd_filters_algo, workspace, workspace_size, &CUDNN::zero,
                  ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:255:29: error: ‘bwd_imgs_algo’ was not declared in this scope
       convout_d, conv_desc, bwd_imgs_algo, workspace, workspace_size,
                             ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp: In instantiation of ‘void cudarray::ConvBC01CuDNN<T>::fprop(const T*, const T*, int, int, int, int, int, int, int, T*) [with T = float]’:
src/nnet/cudnn.cpp:261:16:   required from here
src/nnet/cudnn.cpp:159:5: error: too many arguments to function ‘cudnnStatus_t cudnnSetFilter4dDescriptor(cudnnFilterDescriptor_t, cudnnDataType_t, int, int, int, int)’
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
In file included from ./include/cudarray/nnet/cudnn.hpp:8:0,
                 from src/nnet/cudnn.cpp:5:
/usr/local/include/cudnn.h:267:27: note: declared here
 cudnnStatus_t CUDNNWINAPI cudnnSetFilter4dDescriptor(  cudnnFilterDescriptor_t filterDesc,
                           ^
In file included from src/nnet/cudnn.cpp:5:0:
src/nnet/cudnn.cpp:183:5: error: ‘cudnnFindConvolutionForwardAlgorithm’ was not declared in this scope
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:193:5: error: ‘cudnnFindConvolutionBackwardDataAlgorithm’ was not declared in this scope
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:203:5: error: ‘cudnnFindConvolutionBackwardFilterAlgorithm’ was not declared in this scope
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:218:5: error: ‘cudnnGetConvolutionBackwardDataWorkspaceSize’ was not declared in this scope
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
src/nnet/cudnn.cpp:222:5: error: ‘cudnnGetConvolutionBackwardFilterWorkspaceSize’ was not declared in this scope
     ));
     ^
./include/cudarray/nnet/cudnn.hpp:87:44: note: in definition of macro ‘CUDNN_CHECK’
 #define CUDNN_CHECK(status) { cudnn_check((status), __FILE__, __LINE__); }
                                            ^
make: *** [src/nnet/cudnn.o] Error 1

The problem was an old version of cudnn (I think v2) lying in /usr/local. Completely removing it and installing v5 solved the problem. Sorry for the trouble.


The Git_Bash in the Makefile is necessary to optimize

The current Git_Bash does not support paths with spaces and does not support the "\" path for Linux Shell.
It is also not easy to use.
So whether Windows or Linux, the best solution is just to replace find with /usr/bin/find. As follows shown:
INTERNAL_PROTO_FILES=$(shell /usr/bin/find -c "find internal -name *.proto")
API_PROTO_FILES=$(shell /usr/bin/find -c "find api -name *.proto")

$ make config
C:/ Files/Git/mingw64/bin/ C:/ Files/Git/bin/bash.exe
/usr/bin/sh: line 1: C:/: Is a directory
protoc --proto_path=./internal \
               --proto_path=./third_party \
               --go_out=paths=source_relative:./internal \

Missing input file.
make: *** [config] 错误 1


Update ru-localization for ChainOfResponsibilites

Fix titles

Merged, thanks for the fixes @u-mulder!


Add a explorer context menu entry to let the user pick the profile they want to "open here"

Follow up from #6100
We should add another entry to the explorer context menu to let the user select which profile.
This is the only other option I'm considering at this time, I don't want to clutter that UI too badly.
notes:

We could maybe allow arbitrary customization akin to what we're planning for #1571.
#9749, #11348: people want to use startupActions in the specified directory
#9991 maybe also relevant

Hiya! This is an issue I found after creating my own personalized context menu for windows terminal using a registry edit.
It seems that the current implementation uses a different approach to populating the context menu, through a shell extension via appxmanifest. To me, an implementation involving directly adding registry keys directly through a .reg or .bat script seems to have several solid pros, namely:

Very easy to disable (by simply deleting the relevant registry keys), from the high number of duplicate issues requesting this feature it seems like this is something that people want to be able to do (see eg. Issue 8105).

Easily extensible, by simply adding/editing the existing keys users would be able to add their own start-up options, e.g:

Opening windows terminal with two tabs/splits running different shells in the relevant directory.

Opening windows terminal and running a command (e.g. starting a server, or opening the directory in a terminal based text editor), etc.

Setting certain context menu items to only appear on shift click (Issue 6113) by simply adding the "Extended"="" string-value to the key.

The default keys would provide a useful template for such customized context menu items, and it would also allow for customized options to appear within any default cascading menus (eg. for multiple profiles, as mentioned in this issue).

There is already a strong precedent for terminals using registry keys for their context menus, namely PowerShell's "Open PowerShell window here".

Additionally, I do not think that this implementation would have to wait for the internal bug-fix mentioned in Issue 6414, though that may be a moot point as that may be resolved before any context menu changes go through.
Admittedly, I can see one flaw of such an implementation, newly added profiles may have very poor discoverability. A cascading menu listing all profiles may need to be manually refreshed - this seems like an option that could be quite accessible within the planned gui settings, but with the current settings.json it might be a hassle ( { "refreshContextMenu": true } ? ).
Similarly, deleted profiles may linger unwantedly - again something that might be easily addressed within gui settings in which profiles are removed by pressing a button, but with settings.json it would be tricky. Diffing for removed profiles doesn't seem like a good idea, and simply deleting all keys that do not match a profile may have the unwanted side effect of removing any of the user's custom added keys.
If this approach does seem to be beneficial it would be something I'd be interested in contributing to, though there may be some benefits to the current implementation that I am unaware of.
Thanks and kind regards!!

Very needed feature. I was thinking that after open from explorer context menu every new tab will preserve current dir, but no :(

Very needed feature. I was thinking that after open from explorer context menu every new tab will preserve current dir, but no :(

Stumbled upon this project while searching this topic: https://github.com/lextm/windowsterminal-shell
I would rather see this kind of functionality included in Windows Terminal instead of being provided as a third-party PowerShell script. Though the idea is nice.
It looks like the linked project only checks the profiles during installation so changes after that won't change anything. A per-profile toggle would be nice to control which profiles to show in the context menu (just like there's a toggle now for which profiles to show in the dropdown within Windows Terminal).

Notes:

I don't know how to add nested menu entries to File Explorer. I'm not sure there's a sample of how to do it that's not older than I am.
I tried in dev/migrie/fhl/nested-file-explorer.
I'd love to just try this out without even using the settings model, as a test. Alas, I have no idea how.

Adding actual settings parsing might be hard. A dependency on WinRT would be hard.

I'm imagining two settings at the moment:

globals.allProfilesInContextMenu: when true, the context menu entry has all the non-hidden profiles listed as nested entries.
globals.runAsAdminInContextMenu: When true, we'll add a second entry for "(As Admin)". This entry will also obey the above one, switching between a single entry and a nested one.

Are there any plans to implement this in the near future? Please consider the following scenario:
I have multiple profiles in the terminal. The default is Ubuntu (WSL), because I usually want that to open when I simply launch the Terminal application.
However, I also have Powershell 7, Git Bash etc installed for working directly in the Windows filesystem.
When using "Open in Terminal" from File Explorer, the most sensible would be to use a profile different than the WSL shell.
The main issue currently is that when I use the context menu, it will open the default (Ubuntu bash), and then when I use the + button, I can launch PowerShell, but it won't start in the right directory (as @kirsan31 mentioned above). So essentially, there's no way for me to quickly launch PS in the directory I'm viewing in File Explorer, without changing the default profile, which then affects my workflow at other times...
I feel perhaps the default profiles for normal launch of Terminal and for context menu use - should be a separate setting. The above feature for a list of profiles in the context menu would also suffice.

The main issue currently is that when I use the context menu, it will open the default (Ubuntu bash), and then when I use the + button, I can launch PowerShell, but it won't start in the right directory (as @kirsan31 mentioned above).

To work around the lack of options, I created my own explorer context menu options for different profiles (I'm using Windows 10).
The basic command I use to open a new tab is wt -w 0 -p "profile-name" -d "directoty-path".
Using RegEdit, you can add the command wt -w 0 -p "profile-name" -d "%1" and it will open using the current directory of the context menu.
You can add your own icon and export those registry entries to reuse later.
I also recommend hiding the original context menu and creating your own, to avoid updates breaking your custom commands.
This command can be added to the whole system in:

[HKEY_CLASSES_ROOT\Directory\shell]
[HKEY_CLASSES_ROOT\Directory\Background\shell]

Or for a single user in:

[HKEY_CURRENT_USER\Software\Classes\Directory\shell]
[HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell]

I also use similar commands to make context menus for specific file types (like py and ps1 scripts)

Thanks @WagnerGFX for the suggestions. Actually when I was writing my comment above, I had forgotten that it's possible to just type pwsh (or another command, depending on what you want to launch) in the address bar of File Explorer, to launch that command in the current directory, which has solved my need for now. It's marginally slower than the context menu option, but a decent workaround if you don't want to create your own registry entries!


Question: searching by id (startkey, endkey)

Please excuse newbie question:
When I was using PouchDB with Cordova I could retrieve all records that matched certain id values, using values for startkey and endkey, as described here: https://pouchdb.com/api.html#batch_fetch
What is the equivalent with sync-android?
At present I am reading ALL the documents using:
List all = this.mDocumentStore.database().read(0, nDocs, true);
then doing my own filtering, like this:
for (DocumentRevision rev : all) {
if (rev.getId().substring(0, 17).equals(address2)) {...}
}
This does not seem very efficient. Do I have to use the query API? If so, could you possibly provide a code snippet that would deliver documents based on id values?
Thanks.

@acutetech see https://github.com/cloudant/sync-android/blob/master/doc/query.md for comprehensive documentation.
To query on _id > "abc" and _id < "xyz", see the following snippet. Note that these operators will follow SQLite's internal collation order, which I think (?) is Unicode.
    public void testIt() throws Exception {
        DocumentStore ds = DocumentStore.getInstance(new File("/tmp/blah"));
        DocumentRevision dr1 = new DocumentRevision("abc");
        dr1.setBody(DocumentBodyFactory.create("{\"message\":\"hello world\"}".getBytes()));
        DocumentRevision dr2 = new DocumentRevision("cde");
        dr2.setBody(DocumentBodyFactory.create("{\"message\":\"goodbye world\"}".getBytes()));
        DocumentRevision dr3 = new DocumentRevision("xyz");
        dr3.setBody(DocumentBodyFactory.create("{\"message\":\"hello universe\"}".getBytes()));
        ds.database().create(dr1);
        ds.database().create(dr2);
        ds.database().create(dr3);
        ArrayList<FieldSort> fields = new ArrayList<FieldSort>();
        fields.add(new FieldSort("message"));
        ds.query().createJsonIndex(fields, "index1");
        Map<String, Object> gtAbc = new HashMap<String, Object>();
        gtAbc.put("$gt", "abc");
        Map<String, Object> ltXyz = new HashMap<String, Object>();
        ltXyz.put("$lt", "xyz");
        Map<String, Object> idGtAbc = new HashMap<String, Object>();
        idGtAbc.put("_id", gtAbc);
        Map<String, Object> idLtXyz = new HashMap<String, Object>();
        idLtXyz.put("_id", ltXyz);
        Map<String, Object> query = new HashMap<String, Object>();
        query.put("$and", Arrays.<Object>asList(idGtAbc, idLtXyz));
        for (DocumentRevision dr : ds.query().find(query)) {
            System.out.println(new String(dr.getBody().asBytes()));
        }
    }

The above should print {"message":"goodbye world"}
The code to build up the query is a bit laborious. If you are on Java 9 or later you can use a convenience method like Map.ofEntries.

Thanks for the quick and helpful response. I have modified it for my purpose and attach the code below in case a second example is helpful for others. It seems to work OK. If you like you could comment on (a) lack of indexing and (b) the use of '\uffff' to match "all" ids in the range (taken from the PouchDb documentation).
Here my ids are of the form "80_16_B7_11_22_00_2025dbf6" where the first part is a Bluetooth device address and the second part is a timestamp. So this method searches for all documents from one Bluetooth device (matches the "80_16_B7_11_22_00" in the id).
`
public ArrayList<MedRecord> allMedRecordsFor(String address) throws DocumentStoreException {
    ArrayList<MedRecord> mmmDatabaseDocuments = new ArrayList<MedRecord>();

    String addressWithinId = address.replace(":", "_");

    Map<String, Object> startkey = new HashMap<>();
    startkey.put("$gte", addressWithinId);   // Matches "80_16_B7_11_22_00"

    Map<String, Object> endkey = new HashMap<>();
    endkey.put("$lte", addressWithinId + '\uffff');  // Matches "80_16_B7_11_22_00_andAnyFurtherCharacters"

    Map<String, Object> idStart = new HashMap<>();
    idStart.put("_id", startkey);

    Map<String, Object> idEnd = new HashMap<>();
    idEnd.put("_id", endkey);

    // Create a query which is "idStart AND idEnd", or "_id>=addressWithinId AND _id<=addressWithinId + '\uffff'"
    Map<String, Object> query = new HashMap<>();
    query.put("$and", Arrays.<Object>asList(idStart, idEnd));

    for (DocumentRevision rev : mDocumentStore.query().find(query)) {
        Log.d(TAG, (new String(rev.getBody().asBytes())));
        MedRecord record = MedRecord.fromRevision(rev);
        if (record != null) {
            mmmDatabaseDocuments.add(record);
        }
    }
    return mmmDatabaseDocuments;
}

`

I would recommend that you don't concatenate the Bluetooth MAC ID and the timestamp, but instead store them in separate fields in your documents. This way you can more easily query for [pseudocode] MAC ID == "blah" and timestamp < x and timestamp > y.
Unless you have legacy reasons to do so, you don't have to choose your own values for _id. If you create documents (either locally on sync-android, or remotely on Cloudant/couchdb), a unique _id will be generated for you.


Draft:UIUX-53 add route link

Added URL Links to be reflective of the search type and the query
Make the search input reflect the changes made to the URL query
Slight modification of Res.js file to respond to the URL parameters rather than passed values

LGTM


Segment Traits Override for MixPanel?

Hi,
We've been using the key word company to set the user's company name in MixPanel (prior to using this SDK). We are now using this SDK and I was wondering if it's possible to still keep the data the same? The data that is being set in MixPanel from this SDK is company:{"name":"Fake, Inc."}. Is it possible to override it and match our previous data of company:Fake, Inc.?
Thanks,

Hi @Michaelpwoo sorry to answer late, I didn't get your issue.
You can set a company on the group method like this example.
And exist another object on UserTraits that exist the company object with diferent attributes. Like this example.
could you help us with an example about your issue please?


Introducing passive_intertransport_auth to facilitate communication b…

…etween nodes with adv sec enabled and nodes without adv sec enabled.
Changes to ssl_dual_mode_enabled to support the same.
opendistro-for-elasticsearch/security pull request intake form
Please provide as much details as possible to get feedback/acceptance on your PR quickly

Category: New feature

Github Issue # or road-map entry, if available:

Description of changes: Introducing opendistro security dynamic config feature flag "passive_intertransport_auth".
Additionally, making changes to ssl_dual_node behaviour.
The changes allow transport communication between nodes with advanced security enabled and nodes without advanced security enabled (ssl only or plugin disabled).
The feature flag should be used transiently to facilitate migration of cluster to using advanced security.

Why these changes are required?
Currently, migrating to advanced security requires a full cluster restart as any other kind of migration process causes transport communication to break between old and newer nodes. These changes will allow a cluster to be migrated to use advanced security without any downtime, by allowing old and new nodes to successfully communicate at the transport layer.
NOTE: There is an existing feature disable_intertransport_auth that if enabled will cause transport level authorization to be skipped. However, the side affect of this is that any non-super admin user will be able to update opendistro_security during migration.
passive_intertransport_auth does not skip authorization, instead it injects a default user, which you can map to the permissions you want to give during this transient phase of migration.

What is the old behavior before changes and new behavior after changes? (Please add any example/logs/screen-shot if available)
Old Behaviour: Transport communication from old node to a new node fails at the new nodes with the error: No user found for...
New Behaviour: Transport communication from old node to a new node succeeds. When a user is not found and this feature flag is set to true, we inject a default user. Note that this user should have all index and cluster permissions.

Testing done: (Please provide details of testing done: Unit testing, integration testing and manual testing)
Extensive UTs to cover all cases.

By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

Resolving in favour of https://github.com/opensearch-project/security/pull/1142


Add License file

Used github templates to add MIT license.
Closes #12
Also mentioned on #13

Seeing as I am not the only Author.
@derfred You fine with MIT license?

Yes, I'm fine with licensing this gem and my contributions under the MIT license.


Roll engine f307c7fd070b..7ea8b9968dce (1 commits)

https://github.com/flutter/engine/compare/f307c7fd070b...7ea8b9968dce
git log f307c7fd070b..7ea8b9968dce --no-merges --oneline
7ea8b9968 Roll src/third_party/skia 9835dd51b320..f03d4eaa2487 (1 commits) (flutter/engine#6496)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

@rmistry @liyuqian : New roll has been created by https://autoroll.skia.org/r/flutter-engine-flutter-autoroll


Querying values based on existence not working as expected MongoDB

Bug description
I have an optional field skipped, that I am trying to query all fields that do not have a value for skipped. Usually in Mongo, I would do something like: { skipped: null }. However, in prisma I cannot seem to get this functionality to work. The documentation suggests using $exists which doesn't seem to be supported anymore. I've tried the following queries with no luck:
{ skipped: {} }
{ skipped: null }
{ skipped: {equals: null} }
How to reproduce

Create record(s) with a nullable field that you do not insert
Try and query based on that field.

Expected behavior
I expect that both the { skipped: null } and { skipped: {equals: null} } should give me records based on existence, since we are not given an exists filter.
Prisma information
model Property {
skipped                       Boolean?
...
}
Environment & setup

OS: Windows
Database: MongoDB
Node.js version: 20.10.0

Prisma Version
prisma                  : 4.12.0
@prisma/client          : 5.12.1

@TrueAndTrue , @janpio ,  any news for this issue ?  its very important bug for mongoDB.

It seems to be one solution: { isSet: false }
Example: { skipped: {isSet: false} }