Created Execution API Spec

This doc is still a working draft, but it is close to being finished. Any feedback would be recommended.

I'm not a fan of the abbreviations used for each method like EC vs ECAL.  It doesn't serve a clear purpose, adds chaff to the page IMO (makes it harder to read) and doesn't provide significant value.


AC.andNot(RC)

I've decided to try using Util.advanceUntil in andNot between ArrayContainer and RunContainer. The implementation present in the commit was verified with present tests and a new one, but for sure I'd test it more if going to be merged.
I run two benchmarks part{3,4}_andNotArrayContainerVSRunContainerContainer on master and the new branch.
BasicAndNotContainerBenchmark.part3_andNotArrayContainerVSRunContainerContainer  avgt   15  3327,444 ± 49,353  ns/op
BasicAndNotContainerBenchmark.part4_andNotArrayContainerVSRunContainerContainer  avgt   15  1877,370 ± 25,888  ns/op

BasicAndNotContainerBenchmark.part3_andNotArrayContainerVSRunContainerContainer  avgt   15  7790,214 ± 81,502  ns/op
BasicAndNotContainerBenchmark.part4_andNotArrayContainerVSRunContainerContainer  avgt   15  638,899 ± 4,385  ns/op

The code is slower for the present benchmark which andNot Array Container of 1024 elements with very dense Run Container of 1009 runs with 64512 cardinality.
The new benchmark uses Run Container with 5 very long runs and the new code is 3x faster.
I'm opening this Pull Request to discuss

is it worth to use new approach?
should there be a switch when to use old and new approach?

I think the new approach will be faster when there are long sequences of array elements covered by runs or between two runs.
If there are very few array elements per run or between runs the old approach should be faster.

Looks good to me but might it be worth using Thoughput and Sample bench mark modes since they paint a fuller picture? A Sample benchmark might have pointed to the speculative allocation of the short[] in the old code.

Any chance we might dynamically detect which code path is fastest?

Richard, sure there will be more benchmarking. Not really understand "speculative allocation of the short[] as it occurs in both versions.
The bug is detected and I can fix it with next commit. As I marked the code is draft and requires to be properly tested.
Daniel, we may try to estimate how many array elements occur per a Run.
int k = 10; //arbitraryEmelentsPerRun  - todo requires fine-tuning
if ((ac.cardinality/rc.numberOfRuns)>k) newCode() else oldCode()

Yes, so I suggest you look at such a heuristic to choose the fast code path quicky.

@ppiotrow
On master I see unnecessary allocation for empty run containers:
233     short[] buffer = new short[cardinality];
234     if (x.nbrruns == 0) {
235       return clone();
236     }

Coverage increased (+0.0009%) to 89.89% when pulling 86c4c6cb71309c943723651e556fff9a2347c137 on ppiotrow:fast-array-run-and-not into a8b390ebc0af1d5041ae607466daf789e1824098 on RoaringBitmap:master.

@ppiotrow  Can you update us on the status of this PR?

Sure, sorry for letting it hang without progress. I spent some time benchmarking and it actually showed that the improvement is not because of "smart search" by advanceUntil but by iterating over "runs" . I prepared method iterateUntil which - you know - continuously iterates ;) It appeared that it could almost replace advanceUntil even when the benchmark data was prepared to give boost for non-sequential search. I'll get back to it but recently I need to deal with non-development issues.

@ppiotrow Any update on this issue?

@lemire Summer time slowly ends here and I've get back to that. I've noticed that there are no changes in performance which is caused by #178 .

Ok. Let us see if we can fix https://github.com/RoaringBitmap/RoaringBitmap/issues/178

I've pushed rebased code to publish the recent changes. I've decided for now to switch to the iterateUntil as I can't clearly seem much improvement even in artificial benchmarks.
I'm looking for ideas how to benchmark the code. I've been using RealDataBenchmarkAndNot.pairwiseAndNot but it was not showing a difference even between hardcoded byCardinalityAndNot and byRunsAndNot.
The current code is fastest in both part3 and part4 version of _andNotArrayContainerVSRunContainerContainer, but the feature switch should be tuned/adjusted.

Coverage increased (+0.003%) to 90.447% when pulling 0e1c08fd8eaffcafe22e8cbb8566c8f6e0088a4e on ppiotrow:fast-array-run-and-not into e949e2b05449529e7a7cbf981ee7a9e2b3b47168 on RoaringBitmap:master.

@ppiotrow Now that we appear to have solved https://github.com/RoaringBitmap/RoaringBitmap/issues/178 Can you have a look again?

I'd like to get back to it again in January. I think that fixing #178 might be helpful, as I was not able to spot improvements in benchmarks where there should be some.

I've rebased once again as there were conflicts. The latest commits migrated the new andNot to the Mappeable containers.
Benchmark results:
before
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           census-income  thrpt    6   4115.511 ±  23.200  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC              census1881  thrpt    6   3700.978 ±  18.233  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_008  thrpt    6    715.214 ±   2.405  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_003  thrpt    6    392.583 ±   2.620  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_033  thrpt    6    957.163 ±   1.972  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC            uscensus2000  thrpt    6  13781.241 ±  23.237  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC         weather_sept_85  thrpt    6   1542.546 ±  21.425  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC      wikileaks-noquotes  thrpt    6   1918.950 ±  13.967  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC       census-income_srt  thrpt    6   1633.116 ±   4.996  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC          census1881_srt  thrpt    6   7220.821 ± 118.992  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC     weather_sept_85_srt  thrpt    6    856.222 ±   5.260  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC  wikileaks-noquotes_srt  thrpt    6   4956.840 ±   6.646  ops/s

after
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           census-income  thrpt    6   3003.861 ± 11.617  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC              census1881  thrpt    6   3879.833 ± 23.042  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_008  thrpt    6   1138.537 ± 12.382  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_003  thrpt    6    424.930 ±  3.149  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_033  thrpt    6   1964.210 ±  7.404  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC            uscensus2000  thrpt    6  13825.639 ± 61.090  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC         weather_sept_85  thrpt    6   1499.531 ± 10.418  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC      wikileaks-noquotes  thrpt    6   2041.218 ±  3.736  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC       census-income_srt  thrpt    6   1617.040 ±  5.009  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC          census1881_srt  thrpt    6   7130.179 ± 82.599  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC     weather_sept_85_srt  thrpt    6    876.837 ±  6.255  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC  wikileaks-noquotes_srt  thrpt    6   5662.352 ± 42.143  ops/s

I can see in results that some of them are faster while other slower. One more thing is that the benchmarks do not test off-heap. Have we ever tried the benchmarks for off heap?

Last commit fixes double allocation of short[] and ShortBuffer. It gives very good performance gain.
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           census-income  thrpt    6   3109.274 ±   8.578  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC              census1881  thrpt    6   3922.203 ±  25.543  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_008  thrpt    6   1412.179 ±   4.474  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_003  thrpt    6    428.023 ±   3.425  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC           dimension_033  thrpt    6   2251.272 ±  64.407  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC            uscensus2000  thrpt    6  13810.724 ±  42.388  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC         weather_sept_85  thrpt    6   1449.482 ±   4.666  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC      wikileaks-noquotes  thrpt    6   2370.417 ±  20.323  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC       census-income_srt  thrpt    6   1841.769 ±   6.374  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC          census1881_srt  thrpt    6   7177.638 ± 124.841  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC     weather_sept_85_srt  thrpt    6   1031.121 ±   5.117  ops/s
ArrayContainerAndNotRunContainerBenchmark.immutablePairwiseACAndNotRC  wikileaks-noquotes_srt  thrpt    6   6420.377 ±  78.892  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                    census-income  thrpt    6   3872.256 ±   8.075  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                       census1881  thrpt    6   4135.116 ±  46.413  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                    dimension_008  thrpt    6   1955.400 ±  22.059  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                    dimension_003  thrpt    6    568.534 ±   6.035  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                    dimension_033  thrpt    6   2783.285 ±  14.780  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                     uscensus2000  thrpt    6  26150.184 ±  50.266  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                  weather_sept_85  thrpt    6   1596.039 ±  12.919  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC               wikileaks-noquotes  thrpt    6   3112.493 ±  31.045  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                census-income_srt  thrpt    6   2466.304 ±   4.101  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC                   census1881_srt  thrpt    6  11106.665 ±  20.548  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC              weather_sept_85_srt  thrpt    6   1351.175 ±   2.567  ops/s
ArrayContainerAndNotRunContainerBenchmark.pairwiseACAndNotRC           wikileaks-noquotes_srt  thrpt    6   8420.691 ±  58.283  ops/s

I'll open an issue regarding off-heap tests.
Regarding your code... That looks good. Do you recommend merging?

See https://github.com/RoaringBitmap/RoaringBitmap/issues/210

We can merge it, yes. But there is one more thing that improves the performance. For Mappeable container we can .clone() array container at the beginning and then do inplace copies System.copy(src, ..., src,...,...). That way you can use the code without references to ShortBuffer` utils. I'll push it to some branch on Monday to get review.

Ok. I am merging.


add support for loading custom css files with webpack alias?

Hi
I want to use this module with self-hosted css file, but I'm unable to use it as the plugin does not support using webpack aliased urls (using "@/" or "~/")
It would be good if it was possible

I have this issue too. If its helpful I can see two workarounds:

place your fonts and font css directly in the nuxt static folder and reference them here
import your fonts into your css elsewhere and don't use the url field


Improve visibility of the loader indicator in the analysis node

I'd propose make it 88 opacity.

Fixed - https://github.com/CartoDB/CartoAssets/pull/142


symlink support, step 1: constants.

And so it begins.
Signed-off-by: Ronald G. Minnich<EMAIL_ADDRESS>

Well, here then. Pandora's box opened. for curiosity, how do you know the value of that constants?

LGTM.

Updating branch needed.

We get to set the constants, so I made some up
LGTM


Create Table of Contents for Part 15

Is your feature request related to a problem? Please describe.
A linked table of contents at the top of the page would help with navigation of the tutorial.
Describe the solution you'd like
The creation of a linked table of contents at the top of the page so that the tutorial would be easier to navigate. There are many examples of this in the repository, should be very easy to do for someone new to open source.

Hey @rcallaby ,
Can you assign this issue to me?

@shubhampaliwal3011 It is all yours now


Re-apply markdown copy files setting

Reapplies #169454
Fixes #169608

Full tests are passing: https://dev.azure.com/monacotools/Monaco/_build/results?buildId=197530&view=results


Did you do any tests with an additional refactoring agent?

From my experiences gpt-4 is quite good at refactoring code for reusability. Your current set of agents does influence reusability with the prompt action_template.txt and the third code criteria:
"Your function will be reused for building more complex functions. Therefore, you should make it generic and reusable. You should not make strong assumption about the inventory (as it may be changed at a later time), and therefore you should always check whether you have the required items before using them. If not, you should first collect the required items and reuse the above useful programs."
However, I find this influence lacking or nonexistent, though I'm confident without it, performance would likely degrade. With all this in mind. I think a complete agent for refactoring, while requiring another gpt-4 call, would be useful in extending hierarchical function composition as well as limiting the size of the skill library thus refining the top 5 skills returned to more meaningful skills.
I still need to more deeply read the paper, look through the codebase more, and experiment to confirm my hunches. My capacity with OAI API is limited so if you did experiment with this at all and see any noticeable difference, please let me know before I proceed, if not any advice on where in the codebase to peruse to best get started would be equally appreciated.
If this proves to be fruitful, next directions could be additions to the refactoring step that would use gpt3.5 to further the performance, I don't think more than one gpt4 call for the actual refactoring is necessary, but I do believe that a gpt3.5 call between code generation and refactoring could improve performance while maintaining low additional costs.

I just compared my skill codebase from 104 iterations with the goal of beating the ender dragon and the checkpoint present in #27 and it seems like not setting the goal to open-endedness drastically impacts the performance on code reusability. I didn't change anything in any prompts to do with code reusability or refactoring, only the curriculum_qa_step1_ask_questions.txt's ultimate goal and curriculum.txt ultimate goal and criteria 7 to reflect a desire to find and stay in relevant locations to beating the ender dragon for only as long as necessary.

Hi @TimeLordRaps! I think a refactoring agent would be very useful. We haven't tried this before. Maybe you can do refactoring before adding a new skill to the skill library. But this may require additional verification to check whether the refactoring operation is correct. Let us know if you find any interesting behaviors. And thanks a lot for helping us make this project even better!!

@wangguanzhi Bro, When you decide to open source. It's decided become more power than before :). It's very important for us.we both enjoy it.


will this work with existing app written in mvc 5?

Hello,
sorry for the noob question, but i think i will ask it here rather then going to SO, so we have a big app built with backend and frontend working ok in MVC5 now we want to offload some parts of it to react and slowly shift as we go with the experience.
my question is if i use react will my server side routing stop or will we be able to use this side by side? as both angular and react uses client side routing and its not possible to us for offload everything to client neither it is needed, especially the admin part will always stay server side.
hope you are clear on my question.
thanks

Yeah, you can still keep your routes with ASP.NET's server side routing. Should work fine. 😄

thanks, i will try and let you know results


Using BabelJS to convert Obfuscated JS to AST, then AST to JS

steakenthusiast made a guide for using BabelJS for deobfuscating any type of obfuscation: https://steakenthusiast.github.io/
This method is pretty absolute, they make use of BabelJS to AST the code, then convert back to the readable JS code.
Not sure if this can be implemented as a feature of webcrack.

that's already how it works ^^


Are there any current plans to support Azure DevOps Server

Is there an update to the API that stops this extension from being used on on-premises servers?

It is expected that the solution should be compatible with on-premises servers, can you describe your environment?

The information about the on-prem environment version is as follows.

When I enter the marketplace for installation, it warns that it is not suitable and does not install.

Hi there! I've checked the "targets," and unfortunately, the Cascading picklist doesn't work with on-premises solutions at the moment, and we have no plans to add support for on-premises solutions in the near future.

@AminTi My company needs an extension like this on-prem, so I built this extension modified to target "Microsoft.VisualStudio.Services" and tested against Server 2022. It works great as far as I can tell. Are you able to elaborate on what API(s) were missing, because they seem to exist now. I don't know about previous versions.
I'd like to avoid forking this extension for the sole purpose of installing on-prem, if possible.


Better MinGW build support

If you ever tried to build the entire project with MinGW (specially Qt and the test targets) instead only the core projects or using Microsoft Visual Studio, you will discover it's painful. This PR allows to build with MinGW a smoother process.

Thanks for looking into this!
As I mentioned in the discussion, I'm not sure how many people actually use MinGW. In my experience MSVC always built faster and gave smaller binary sizes (plus it's easier to use the Windows APIs).

Yeah, I use MSVC too, it's so much better. But since there is MinGW in CI, so it's fair to provide it better support, I guess. Some tests failed because it was a connection error while checking out the repository. Could you please re-run the failed workflows?

If we ever want to be included back in the Qt distribution, we need to support it at least for latest Qt 6.

I agree with you, if MinGW support is dropped, I won't complain.

node-ci is failing with Mac OS 12, but I think with #926 merged, it won't fail anymore.


Allow Realm or custom context in DataProtection

I'd like to use a different connection string for the SeriLog and DataProtection than for the rest of my application. Right now, DataProtection currently gets the ArangoContext based on injection which means I have to subclass ArangoContext to use in the rest of my application.
It would be nice if:
dataProtection.PersistKeysToArangoDB(database: "dataprotection", collection: "keys");
took a an optional realm, connection string, or instance.

Thanks for this. I also created an interface for ArangoContext in case you would like to add that. Helps in unit testing. Unless you have other suggestions. https://gist.github.com/agrothe/f4e196ff52b7eb4138b31bc82c7b3223

Yeah thanks, I will extract an interface for the context.
However for our projects/products we just run tests against a real arango instance.
Is there anything else you''ll need from the driver? Just collection ideas

So far its great. I didn't have the time to finish the one I started and this is exactly what I need for a multi-tenant app. Looking forward to an implementation of velocystream. Attempted a few times but the documentation is fairly limited.
I started a multi-tenant howto series which I'm going to try and finish after I update it to Core 3.1. Planning on adding in this driver so that should help with some documentation. https://dev.to/agrothe/multi-tenant-applications-with-asp-net-core-2-2-getting-started-16n3
I'll ping back once it's done. Also I could probably help out with some documentation if you get something started.

Yeah velocysteam and its lack of documentation...
Please just vote on the following issue https://github.com/arangodb/arangodb/issues/11499#issue-606766822
It will solve almost everything including writing this "core" driver

I did already. There is where I found this. I've added a comment as well.


Dependency submission graph updates

Hi all,
I was updating a spring dependency recently to resolve a CVE. The dependency submission action ran on main. Now when I look at the dependency graph, I see two versions of the same dependency. The alert was raised correctly on the old version of Spring MVC. But now it is resolved, I was expecting that the graph would be overridden with the new version and the dependabot alert would automatically close.
The version of the action we are using is v4 gradle/actions/dependency-submission@v4

Or is this the assumed behaviour?
Regards,

The most likely explanation is that you have 2 different versions of the dependency in your dependency graph.

The most likely explanation is that you have 2 different versions of the dependency in your dependency graph.

Good point. Let me confirm by running the list of dependencies and see what are the transitives.

I can confirm the repo in question is on 6.1.13
./gradlew -q dependencies > dependencies.txt
❯ cat dependencies.txt | grep spring-webmvc
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)
|    \--- org.springframework:spring-webmvc:6.1.13
|    |    \--- org.springframework:spring-webmvc:5.3.31 -> 6.1.13 (*)

Please read the FAQ linked above. In particular you'll need to follow the instructions in the linked HOW-TO.

I'm going down a bit of a rabbit hole here...
So I enabled debug logging for the task running off the main branch as stated here
I see in the logs references to org.springframework:spring-webmvc:6.1.11
Examples:
Detected dependency 'org.springframework:spring-webmvc:6.1.11': project = ':', configuration = 'compileClasspath'
Detected dependency 'org.springframework:spring-webmvc:6.1.11': project = ':', configuration = 'implementationDependenciesMetadata'
Detected dependency 'org.springframework:spring-webmvc:6.1.11': project = ':', configuration = 'productionRuntimeClasspath'

Now, locally I have run the recommended cmds to see if this dep does exist
Examples
 ./gradlew dependencyInsight --configuration  productionRuntimeClasspath --dependency org.springframework:spring-webmvc:6.1.11
 ./gradlew dependencyInsight --configuration  compileClasspath  --dependency org.springframework:spring-webmvc:6.1.11
 ./gradlew dependencyInsight --configuration  intTestCompileClasspath  --dependency org.springframework:spring-webmvc:6.1.11
 ./gradlew dependencyInsight --configuration  runtimeClasspath  --dependency org.springframework:spring-webmvc:6.1.11
 ./gradlew dependencyInsight --configuration  implementationDependenciesMetadata  --dependency org.springframework:spring-webmvc:6.1.11

I get no results back
Example response:
> Task :dependencyInsight
No dependencies matching given input were found in configuration ':compileClasspath'

Now if I run with version 6.1.13, I can see that it does exist:
./gradlew dependencyInsight --configuration  compileClasspath  --dependency org.springframework:spring-webmvc:6.1.13

> Task :dependencyInsight
org.springframework:spring-webmvc:6.1.13 (selected by rule)
  Variant apiElements:
    | Attribute Name                     | Provided     | Requested    |
    |------------------------------------|--------------|--------------|
    | org.gradle.status                  | release      |              |
    | org.gradle.category                | library      | library      |
    | org.gradle.dependency.bundling     | external     | external     |
    | org.gradle.jvm.environment         | standard-jvm | standard-jvm |
    | org.gradle.jvm.version             | 17           | 21           |
    | org.gradle.libraryelements         | jar          | classes      |
    | org.gradle.usage                   | java-api     | java-api     |
    | org.jetbrains.kotlin.platform.type | jvm          | jvm          |

org.springframework:spring-webmvc:6.1.13
\--- org.springframework.boot:spring-boot-starter-web:3.3.4
     \--- compileClasspath (requested org.springframework.boot:spring-boot-starter-web)

org.springframework:spring-webmvc:5.3.31 -> 6.1.13
\--- org.springdoc:springdoc-openapi-webmvc-core:1.8.0
     \--- org.springdoc:springdoc-openapi-ui:1.8.0
          \--- compileClasspath

Sorry I can't help much. The best and simplest way to track down this dependency would be to generate a Build Scan. If you can't do that, then you might want to try running the buildEnvironment task as described here.

here are the results of the scan

Hi @bigdaz , have you had a chance to look at my previous comment yet?

Sorry, just back from vacations.
Thanks for the build-scan screenshots. They clearly demonstrate that there's a disconnect between what's being reported in the scans and the generated dependency graph. At this stage I don't have any explanation for this.
We might be able to get a better idea by inspecting the full dependency graph that is submitted to GitHub. Unfortunately the full transitive graph is not visible in the GitHub UI, so we'll need to inspect the report that is submitted.
You can generate the report by changing your workflow to include dependency-graph: generate-and-upload as demonstrated here. You should be able to then download the dependency-graph file as a workflow artifact. If you can share that I may be able deduce what's going on. You can either remove any sensitive information and share it here, or send it directly to<EMAIL_ADDRESS>

Not a problem @bigdaz
I just emailed you with the report.

@pexa-slee Thanks for sending the report. The file contains org.springframework:spring-webmvc:6.1.13 but contains no mention of version 6.1.11. This means that the old version has been submitted to GitHub as part of the dependency graph, but the version has not been overwritten by the newer version.
GitHub uses the 'correlator' value in the submitted file to determine if it should append or replace the existing dependency graph with a newly submitted one. You can read more about 'correlator' under 'Properties of job' here.
So I can see 2 ways that the old dependency graph containing spring-webmvc:6.1.11 is retained:

There is another job submitting a different dependency graph with a different correlator.
The correlator changed between submitting the job with '6.1.11' and '6.1.13'

The current job correlator is service_build_and_test-test, so if you renamed the workflow or job that could cause the correlator to change.
Unfortunately, GitHub doesn't provide any way to see the correlator that submitted a particular dependency. However, the GItHub engineers informed me that the old dependency graph should eventually "time out" when new graphs are being submitted, even if these have a different correlator value.
Some questions:

Is spring-webmvc:6.1.11 still listed in your dependency graph?
Are there any other jobs that may also be submitting a dependency graph to GitHub?


Config values need to be typed on parsing.

The current config-value parser treats all values as strings. Instead, we need to try to infer types in a best-effort way. This is a pre-requisite step in order to fix #4.

Perhaps consider using protobuf for this? It is easy enough to write textproto files and then you get all the useful parsing that protobuf contains by default.

To be more specific: consider using a textproto for this. Protobuf can be binary or text, but for configuration, text is much better and can be easily edited with a text editor.

I have a few hesitations with using textprotos. Though, I'm open to using them if I can address my concerns.

I'd like to support multiple file types for serialization. Right now we support JSON and ConfigParser. I could see textprotos fitting in as another format we support, but I'd prefer not to replace all formats with textprotos. Thus, I think there will be a need for type checking. I don't want to deprecate the old formats for configuring downloads if I don't have to.
https://github.com/google/weather-tools/blob/ecb194c7bc62d9d0ad3982cce24eb745a470be84/weather_dl/download_pipeline/parsers.py#L72

To my knowledge, protobufs don't support datetime values natively, where this is an important datatype for our parser to support. They do support Timestamps and int64s, but I would argue that entering ranges of dates in this format would provide a worse user experience than writing ISO-like date strings.

There is some sugar I would like to provide no matter the format the data is in. For example:
https://github.com/google/weather-tools/blob/ecb194c7bc62d9d0ad3982cce24eb745a470be84/weather_dl/download_pipeline/parsers.py#L133
We could just use protos for this, but it would require a lot of repetition on the textproto writers side. This could be automated with a script / code, but then we might as well put this logic as syntax in the format. Indeed, ranges of values come up a lot on our config file, so this sugar / syntax is really important to keep for the user experience.

Maybe there's a way to support both protos and this range syntax? I have an outstanding bug here to do this for the JSON implementation: https://github.com/google/weather-tools/blob/ecb194c7bc62d9d0ad3982cce24eb745a470be84/weather_dl/download_pipeline/parsers.py#L75 In any case, I do think that if we adopted protos, then we'd still want to add some rudimentary type paring capabilities.
As an implementation note: I think that type checking ought to be in a separate method and be called right after parsing the underlying format type, about here:
https://github.com/google/weather-tools/blob/ecb194c7bc62d9d0ad3982cce24eb745a470be84/weather_dl/download_pipeline/parsers.py#L261
https://github.com/google/weather-tools/blob/ecb194c7bc62d9d0ad3982cce24eb745a470be84/weather_dl/download_pipeline/parsers.py#L263

A simple way of replacing the string representation of values with literals is to make use of this method from ast:
https://docs.python.org/3/library/ast.html#ast.literal_eval
The motivation for typing data is mentioned in #4. It's really only necessary for creating the name of the output file; in fact, each downloader client is totally fine accepting metadata as strings and downloading them (they'll accept typed values, too, but don't need to). In reviewing this issue and it's siblings, it occurs to me that another approach for achieving #4 would be to type values "just-in-time" for string formatting. By this, I mean that we could have a method that handles MARS types (as defined in https://github.com/google/weather-tools/issues/118#issuecomment-1088151645) from strings, and we invoke that method here:
https://github.com/google/weather-tools/blob/cdd313239633efee83c8fa4e35d72c7364b984ff/weather_dl/download_pipeline/parsers.py#L350


How to manipulate variables ?

Hello,
I am creating templates for my reports.
I saw that the values of the dashboard filters can be retrieved in [[.VariableValues]] but with that I retrieve a string with all the values separated by commas.
Is there a way to get a pair of "label":"values" from the filters?

Hi, I have the same issue, how did you solve it？

Hi, even I have the same issue, is there a possibility to manipulate / access the variables from the dasboard such that I can customize the template and have my own style of report ?

Hi, even I have the same issue, is there a possibility to manipulate / access the variables from the dasboard such that I can customize the template and have my own style of report ?

Yes, you can get variable value from dashboard / datasource

@Sopcan You can get variables with format "label":"values" with new reporter app that integrates into Grafana API as a plugin app. Here is a sample report generated by the reporter


ft: making tcpdialer public inorder to get net.conn object

Codecov Report
Attention: Patch coverage is 75.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 74.49%. Comparing base (02deabf) to head (2142f10).

Files with missing lines
Patch %
Lines

protocol.go
75.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #221      +/-   ##
==========================================
- Coverage   74.62%   74.49%   -0.14%
==========================================
  Files          32       31       -1
  Lines        6396     6394       -2
==========================================
- Hits         4773     4763      -10
- Misses       1335     1350      +15
+ Partials      288      281       -7

Flag
Coverage Δ

74.49% <75.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Autoadjust "Spacer between genomes in the linear Layout" wastes space

The calculation of the genome distance wastes vertical space due to the way it is calculated:
var genomeDistance = this.getCanvasHeight() * 1 / this.filters.karyo.genome_order.length;

Because there is one less spacer required than there are genomes, the denominator can be decreased by one. However there is one additional karyoHeight required otherwise the last genome is just outside of the canvas (substract this from the numerator):
var genomeDistance = (this.getCanvasHeight() - this.getKaryoHeight) / (this.filters.karyo.genome_order.length - 1);

Tests have to be updated.

Add the better calculation of the genomeSpacer and updated the tests for it.


Include libgit2sharp as NuGet-package instead of git submodule

I'm wondering if there is any particular reason that libgit2sharp is included as a git submodule instead of as a NuGet-dependency? There is an offical NuGet-package here: http://www.nuget.org/packages/LibGit2Sharp
I've encountered at least one issue with using a git submodule: in Visual Studio 2013, building the project after having run the test suite will fail because vstest.executionengine.exe won't release the binaries and the xcopy build event will fail because it can't overwrite the NativeBinaries-folder (see #697).
By instead using the NuGet-package, we could avoid:

The need to run git submodule update --init before being able to build the solution.
Using custom build steps in both GitTfs and GitTfsTest

I've tried using the NuGet-package locally and the switch is painless. The NuGet-reference just needs to be added to GitTfs and GitTfsTest projects. It also fixes the issue described above.
I can create a pull-request, if others think this would be a good idea.

I'm wondering if there is any particular reason that libgit2sharp is
included as a git submodule instead of as a NuGet-dependency?

I think it's an historic reason from a time where there was no nuget
package and where libgit2sharp had not enough features and git-tfs needed
to use a version not yet released.
I think that's not the case anymore...

I've tried using the NuGet-package locally and the switch is painless.
The NuGet-reference just needs to be added to GitTfs and GitTfsTest
projects. It also fixes the issue described above.

Indeed, it could simply a lot of things...

I can create a pull-request, if others think this would be a good idea.

Yes, I think it's a good idea!
But, do you think that we could find a way to use the nuget package for the
new release to come but still use the submodule to be able to build the old
version (at least for quite some time for transition...)?

But, do you think that we could find a way to use the nuget package for the
new release to come but still use the submodule to be able to build the old
version (at least for quite some time for transition...)?

Here's what I have gathered about building releases from looking at the files in the repository:

There is a very old Rakefile, which I assume is not being used anymore?
There is a Travis build script which builds the libgit2sharp submodule and then builds the MSBuild-file "CI.proj".
There is the Release.proj (MSBuild) which is used to publish a new release of the library.

There seems to be no logic to build specific version in any of these files (from a quick scan... my Ruby is a little rusty). I'm thinking that building a specific version would mean checking out a specific tag and the building the code from that commit.
If this is the case, then wouldn't the checked out version still include the submodule and still build with it?

I'm thinking that building a specific version would mean checking out a specific tag and the building the code from that commit.

That sounds right.
Release.proj is the only one that really matters. I used to use the Rakefile for things, but haven't touched it in a long time. Now that TeamCity is posting commit statuses, I think we can drop the travis CI build.
So, if you wanted to try again, and only focus on the TeamCity CI status, I'd be interested in merging it.

So, if you wanted to try again, and only focus on the TeamCity CI status, I'd be interested in merging it.

I'll see what I can do. Last time the TeamCity build also failed when trying to fetch the Libgit2sharp-package, but I never got around to fixing that properly because I was focusing on the failing Travis build.
What do we need to do to disable Travis? Is it enough to delete the travis configuration file in the repository or is there some server side configuration needed?

What do we need to do to disable Travis? Is it enough to delete the travis configuration file in the repository or is there some server side configuration needed?

That's quite simple, just a switch in the travis configuration. It won't be a problem, but I think that you shouldn't focus on the travis build, just on the TeamCity one because it will be easy to remove it once the TeamCity one will build well and that your pull request is merged....

I just told travis to build only if .travis.yml is present. So we can drop the file in a PR when we're ready to. (I'm personally ready to drop travis, since the teamcity build seems pretty reliable.)

@spraints And if we want a 2nd build, perhaps we could use AppVeyor like suggested in PR #764 which seems to be very good (at least output logs are quite easier to read ;) )

The actual request to include libgit2sharp as nuget was solved. Therefore, please close the issue


Last commit broke hand tracking

Firstly, it fixed all controller issues to thanks for that! Hand tracking doesn't track in play mode anymore, while it snaps properly. In build mode,  it tracks the hand but no longer snaps.

Oh crap!  Thanks for that I will fix on Monday.
So problem would be regarding the order in which operations happen compared
to the OvRCameraRig updates.
I don't have a ton of time for this repo at moment sadly, So apologies for
not testing it as throughoutly as I should.
On Sat, 15 Aug 2020 at 22:50, Ali Abdoli<EMAIL_ADDRESS>wrote:

Firstly, it fixed all controller issues to thanks for that! Hand tracking
doesn't track in play mode anymore, while it snaps properly. In build mode,
it tracks the hand but no longer snaps.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MephestoKhaan/HandPosing/issues/25, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABF7BKST6TQQLXJWP6IEURDSA3YITANCNFSM4QAOOSUA
.

I think I fixed it, check the latest package or pull from the repo.


Fix codegen command for js project

WHY are these changes introduced?
Fix codegen command for js projects

Default codegen config was looking for ts|tsx files for a js project
WHAT is this pull request doing?

HOW to test your changes?

Post-merge steps

Checklist

[ ] I've read the Contributing Guidelines
[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've added a changeset if this PR contains user-facing or noteworthy changes
[ ] I've added tests to cover my changes
[ ] I've added or updated the documentation

I'm curious what @frandiox thinks about this?

I think it would be better to simply add ts,tsx,js,jsx to the glob 🤔


Enable blacks skip_magic_trailing_comma options

This little config change will make black remove trailing commas when they are not necessary to fit something into a single line.
It is a pure design choice but personally I like the clean up it does when function signatures simplify (although this happens rarely with more and more type hints added).
I can understand that some people prefer the manual control over what is multiline and what is not.
Feel free to vote on it :)
For me it adds cheap LOCs so it looks like I am working hard, haha.

I think we should stick to default black values. Otherwise I want to start arguing for line width=79 so we follow pep8. ;)
You can still run this cleanup though so you still get your LOCs. :)

I too vote we stick with black defaults.

Ok :)
But I guess it is better to not merge this then, it will only create messy merge conflicts for other PRs.


HDMI-CEC compatibility

I'm sure this is something you have already considered but I was curious if it was possible to implement CEC support?
It would be so cool to auto power-on my TV when Dreamcast turns on or to control the DCHDMI's OSD with my TV's remote control.

Good idea! Unfortunately this would require a new DCHDMI board revision, as currently CEC is not connected.


refactor findSupportedDiseaseByNameContains to findByName

BACKEND PULL REQUEST
Related Issue

findSupportedDiseaseByNameContains causes the following error in future spring versions

Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [\] did not match expected type [java.lang.String (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [\] did not match expected type [java.lang.String (n/a)]
	at app//org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:374)
	at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235)
	at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551)
	at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)
	at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at app//org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at app//org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at app//org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
	at app//com.sun.proxy.$Proxy211.findSupportedDiseaseByNameContains(Unknown Source)
	at app//gov.cdc.usds.simplereport.service.DiseaseService.initDiseases(DiseaseService.java:27)
	at app//gov.cdc.usds.simplereport.service.DiseaseService$$FastClassBySpringCGLIB$$e4305785.invoke(<generated>)
	at app//org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	at app//org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	at app//org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
	at app//gov.cdc.usds.simplereport.service.DiseaseService$$EnhancerBySpringCGLIB$$d844157.initDiseases(<generated>)
	at app//gov.cdc.usds.simplereport.SimpleReportApplication.lambda$initDiseasesOnStartup$0(SimpleReportApplication.java:50)
	at app//org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:777)
	... 84 more

Changes Proposed

refactor findSupportedDiseaseByNameContains to findByName in SupportedDiseaseRepository and utilize Optionals

What is actually going on with the error here? Is it not possible to do a Contains repo method at all in the new Spring? That seems like a pretty big breaking change

What is actually going on with the error here? Is it not possible to do a Contains repo method at all in the new Spring? That seems like a pretty big breaking change

It seems like this is an underlying bug within Hibernate: https://github.com/spring-projects/spring-data-jpa/issues/2472#issue-1176907733
@zdeveloper Seems like it's fixed in the latest version of Spring, or we can pin the Hibernate dependency to a working version.

What is actually going on with the error here? Is it not possible to do a Contains repo method at all in the new Spring? That seems like a pretty big breaking change

It seems like this is an underlying bug within Hibernate: spring-projects/spring-data-jpa#2472 (comment)
@zdeveloper Seems like it's fixed in the latest version of Spring, or we can pin the Hibernate dependency to a working version.

Hmm I got this problem on Spring Boot 2.6.7, which is the latest.
Also I would argue against using the contains, since it uses the like operation under the hood, which is slower than findByName. I am honestly not sure why the contains was used in the first place, since we already know the name, might as well just use it directly to load the diseases.

According to the thread Emma linked, it looks like it will be fixed in Hibernate 5.6.9, but that's not released yet. Anyways, Zedd I think you're right that there's no need to use contains here anyways. 👍


allow gather_for_metrics to be more flexible

What does this PR do ?
This Pr makes gather_for_metrics more flexible when it comes to tensors. We introduce use_gather_object flag that enable users to gather object even if the input data is composed of tensors only. This is useful in the case the tensors have different sizes and we don't wanna end up padding all tensors to the same shape/size as it might be a bit complicated afterwards. Note that this is not very efficient for tensors on GPU. Also, we make sure that we do not adjust the sample when we are not in distributed setup.
Fixes https://github.com/huggingface/transformers/issues/30357

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


feat(article): Add new /article2 route

Description
This adds a new /article2/id route and stubs out the obvious stuff.
Also adds a new AREnableNativeArticleView feature flag.
cc @artsy/mobile-platform
PR Checklist

[x] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Just bumped here, we're still missing some work from this PR:

features.ts must have the ff
Echo doesn't have this ff

And a follow-up q, if we have the native screen for Article, do we have something similar to see all articles from one artist, similar to this?


Set as admin action

As an admin I want to be able to "set as admin" on previously added users to the management table.

The admin can "Add/Edit Account" from the User Management available actions. Search the account and then simply activate the "Set as admin" switch.


TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

The weird thing is, if my computer streams its screen to the laptop it works fine(on localhost (the computer) it also works fine with itself both ways(server and client)). But when I reverse it (so the laptop streams its screen to the computer) it suddenly doesnt work anymore and i get the folowing error:
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
I know this is a very general and non specific error but I still would like to know if more people have problems with the usage of vidstream or have tips.
IMPORTANT NOTE: I did use pyinstaller for my laptop (since it does not have python or any packages related to python) to turn it into an exe (with hidden_imports enabled, so that is not the problem). Firewall is also disabled so the problem also doenst lay there. The .exe does work both ways on localhost. Update: after installing python3.9, newest version on pycharm, pyaudio, vidstream on laptop  and just running client/sender.py it still won't send that way but does send it other way. So it has nothing to do with pyinstaller or converting it to exe.
TLDR;
Timeout occurs when client runs vidstream client.py  and tries to stream screen to server.But it does work the other way around so that the client runs server.py and server runs client.py (so that the server streams is screen, but the other way is what is needed).

nvm found it after days of research and testing. I was using VBOX internal ethernet and not own pc ip adress (allthough all my tcp server client messages did go through).


Capability bits

PR not ready to merge yet.
This currently passes all tests. Was going to work through the TDS spec and document what each capability bit does - they’re mostly not documented, but could have a good crack at it.
Then figured it would be worthwhile setting the right bits for this driver - disable the bits for cursors, and some of the data types we don’t support yet.
Thoughts?

This is ready to merge. Please can you review @senseibaka?


Add option to omit the web mount for app code

The Problem/Issue/Bug:
It is extremely difficult to experiment with new methods of getting files into the web container. docker-compose doesn't allow removing things in the base docker-compose file, so any attempt to override the mount point, whether or not a volume is mounted at all, etc doesn't actually lead to success.
How this PR Solves The Problem:
I added a new option to config.yml that lets people just opt out of the web mount in question. Since this is realistically the only mount people are going to care about getting rid of for testing new file sync methods, I didn't take it further than that.
Manual Testing Instructions:
Add omit_app_web_mount: true to a project config.yaml, then start the project. Inside the web container, you should see /var/www/phpstatus.php, /var/www/html/index.html, and /var/www/html/docroot/ which should contain the default php files from the container.
Automated Testing Overview:
I added a test to essentially perform the manual instructions above. Specifically, it's looking for /var/www/html/index.html, which is unlikely to exist on any of the PHP applications that ddev targets.
Related Issue Link(s):
Release/Deployment notes:

Well the test here is definitely causing problems. Is there a straightforward way to run one test? I can't remember exactly how that works. Not too keen on tying up my machine for an hour.

See https://github.com/drud/ddev/blob/master/docs/developers/building-contributing.md for how to run a single test. It's also easy in GoLand.

Artifacts for this build are in https://circleci.com/gh/drud/ddev/23730#artifacts/containers/0 - you have to drill down under "artifacts" just below the "test summary" header.

I'm not super clear on why the circle CI tests are failing. The failures in the output don't seem to be related to this PR -- are those tests flaky or is there a real problem that needs some attention from my end?

I just restarted that one test again. It looks to me like the failures this time are different from last time. Not related to your change.

Oh, I think those tests are failing because your test didn't clean up after itself maybe? It left stuff unmounted?

I'd like a better name than OmitAppWebMount. Let's brainstorm. NoProjectMount? SkipProjectMount?

I have no real preference. NoProjectMount is just fine if you're happy with that -- I went with Omit for consistency with OmitContainers, but I don't have strong feelings on this one.

We always also add a ddev config flag for each config.yaml entry.

Noted. Will add in the next day or so.

Oh, I think those tests are failing because your test didn't clean up after itself maybe? It left stuff unmounted? You don't need to WriteConfig() I don't believe, in the first place.  Or else have it in its own directory.

Ah, got it. The testing here was a little confusing. It seems like there's quite a bit of magic happening somewhere and I've never really been able to wrap my head around it. I think the config needs written because otherwise, the project won't start without the app mount. Cleaning it up should be easy enough. I'll take a crack at that as well.

@rfay 4 new commits above should resolve all of your notes! Please let me know if anything else is needed here -- very excited to get this in :)

Could you please add more to the manual testing instructions @cweagans  - maybe explain what you're doing, or a simple demo of how one would want to use an alternate mount.

If it's OK, I'm going to rebase this to current and fiddle with the test a little bit. Forgot that the regular NFS test uses findmnt -T which is better than what I suggested and you used here.

It does look like this docker-compose issue relates, and there may be a technique without this PR, https://github.com/docker/compose/issues/5203

I've been through the whole chain of PRs linked from that one. There really isn't a way to remove something from the original list of volumes as far as I can see.

I think this is the authoritative "no": https://github.com/docker/compose/issues/3729

Yep. I also added some manual testing instructions for Mutagen to the issue body if you want to give that a try. It's pretty easy to set up.

Thank you for this PR, I was just looking for exactly this functionality. Our use-case: We are developing a wordpress theme. I would like to only have the actual theme files in my project directory and mounted and pre-install the wordpress source in the docker image. This change will allow me to do that via the Dockerfile and docker-compose.local.yaml .
Looking forward to the release!

This is already in ddev v1.14.0-rc1, available in the edge channels of homebrew and chocolatey. We'd love to have you test it out... and then write up what you did!

Great! I'll give it a try and report back 👍

I tried this with mutagen on Windows 10 Home with Docker (edge) Desktop <IP_ADDRESS> and it worked fine for a casual test:
no_project_mount: true
hooks:
  post-start:
  - exec-host: mutagen sync create . docker://ddev-$DDEV_SITENAME-web/var/www/html
      --sync-mode=two-way-resolved --name=$DDEV_SITENAME
  - exec-host: 'while ! mutagen sync list $DDEV_SITENAME | grep "Status: Watching for changes"; do echo "waiting for mutagen sync..."; sleep 2; done  '
  post-stop:
  - exec-host: mutagen sync terminate $DDEV_SITENAME
  pre-start:
  - exec-host: mutagen daemon start
  - exec-host: mutagen sync terminate $DDEV_SITENAME >/dev/null || true
use_dns_when_possible: true

I'm not completely sure the mutagen terminate is the whole deal, but I do note that mutagen is perfectly happy to create two sessions with the same name.
Casual performance test is wonderful.

Looks good so far. I am still working on the Dockerfile. I have a quick question: During the build phase of the docker image, are there any environment variables available? Specifically the DDEV_SITENAME variable would be of interest to me. Thank you for your help.

I wouldn't use a Dockerfile if I were you, rather a docker-compose.manualmounts.yaml - and most of these will be available in docker-compose.*.yaml, https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/#environment-variables-provided

I use a combination of both. A Dockerfile which installs Bedrock in the container and a docker-compose file that mounts my theme in the right place. I thought I would need the Sitename during build time to configure bedrocks, but i am now using Hooks to set the variables post-start

Ok, i finished my setup and did a quick test yesterday. Seems to be working fine. Here is what I did.
Goal
We are developing a wordpress Theme. We only have the theme folder checked into our git and I would like to use ddev for the development. So far I needed to install bedrock into the Project root folder to get wordpress running. I would then checkout my git folder into the corresponding themes folder of bedrock. This works, but prevents me from adding the .ddev config directly to my project. I would like to have wordpress installed in the docker image and only mount the contents of my project folder directly into the correct folder of the wordpress structure.
Use the new no_project_mount option
I added the line no_project_mount: true to my config.yaml in order to prevent my project folder from being mounted directly into the webserver's root.
Add Wordpress to the Docker image
I created a .ddev/web-build/Dockerfile that uses composer to install bedrock into /var/bedrock and symlink bedrock's web folder to the webserver's root directory:
ARG BASE_IMAGE=drud/ddev-webserver:v1.13.1
FROM $BASE_IMAGE
ARG uid
ARG gid
RUN cd /var \
    && composer create roots/bedrock \
    && chown -R $uid:$gid /var/bedrock \
    && rm -rf /var/www/html \
    && ln -s /var/bedrock/web /var/www/html \
    &&  mkdir -p /var/bedrock/web/app/themes/

Use docker-compose to insert the project folder at the correct mountpoint.
I created a custom .ddev/docker-compose.mount.yaml that mounts the project folder as theme folder into the bedrock installation and add a docker volume for the dynamic content (plugins, uploads, etc) of wordpress.
version: '3.6'

volumes:
  wp-content:

services:
  web:
    volumes:
      - "wp-content:/var/bedrock/web/app"
      - '../:/var/bedrock/web/app/themes/${DDEV_SITENAME:-theme}:ro'

Use DDEV Hooks to set the bedrock environment
Finally I needed to pass the projects URL to the bedrock installation. For this, I added a post-start hook to my config.yaml:
hooks:
    post-start:
      - exec: 'echo "DB_NAME=db

        DB_USER=db

        DB_PASSWORD=db

        DB_HOST=db

        WP_HOME=https://${VIRTUAL_HOST}" > /var/bedrock/.env'
      - exec: 'echo "WP_ENV=''development''

        WP_SITEURL="${WP_HOME}/wp"

        WP_DEBUG_LOG=/path/to/debug.log

        # Generate your keys here: https://roots.io/salts.html

        AUTH_KEY=''generateme''

        SECURE_AUTH_KEY=''generateme''

        LOGGED_IN_KEY=''generateme''

        NONCE_KEY=''generateme''

        AUTH_SALT=''generateme''

        SECURE_AUTH_SALT=''generateme''

        LOGGED_IN_SALT=''generateme''

        NONCE_SALT=''generateme''" >> /var/bedrock/.env'

Ideally the generateme values should of course be replaced by actual individual keys.
This setup does what I want.
Possible Improvements
The no_project_mount option works nicely for the given procedure, an even easier way could be to simply be able to specify a project_mountpoint in the config.yaml. In my case, this would still not eliminate the docker-compose.mount.yaml since I would need to add the volume for the dynamic data.

Yay, glad it works, and thanks for the report!


Add state_image to picture-element image

Would be nice if we would be able to change the actual picture-element image with a state_image. For example to be able to use different images at different times throughout the day or when an entity is on.

you can use a full size image-element in 0.74+


Indexing into a terminal is by column and row, not by row and column

From the documentation on the Terminal type I get that something like
term[(2, 3)]

returns the Cell at the third row and fourth column. However, it actually returns the Cell at the third column and fourth row. So it actually is
term[(x, y)]

rather than
term[(y, x)]

That is also reflected in the code. The docs are confusing here.

Sorry about this! Those docs are out of date at the moment, I'll get on that as soon as I can.

Closing this, fixed by 6451031.


tests: Continue moving helpers that are node related to libnode.

What this PR does / why we need it:
As part of the effort to cleanup tests/utils.go and better structure the e2e tests, move more helpers to libnode.
The first commit also includes some import aliases fixes.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:
NONE

/sig code-quality

/retest

/lgtm


.golangci.yml - Removed deprecated linters and unused depguard

Remove deprecated linters:
WARN [runner] The linter 'ifshort' is deprecated (since v1.48.0) due to: The repository of the linter has been deprecated by the owner.
WARN [runner] The linter 'deadcode' is deprecated (since v1.49.0) due to: The owner seems to have abandoned the linter. Replaced by unused.
WARN [runner] The linter 'structcheck' is deprecated (since v1.49.0) due to: The owner seems to have abandoned the linter. Replaced by unused.
WARN [runner] The linter 'varcheck' is deprecated (since v1.49.0) due to: The owner seems to have abandoned the linter. Replaced by unused.

Remove depguard. The linter was not configured with any rules so it blocks all imports.

:green_heart: Build Succeeded

Buildkite Build
Commit: c558b9b249d760ceaee4c3d688fa6c7551b9cfc2


No notifications are shown

Android 13 requires a new permission before notifications are shown. This permission must be requested by Mute reminder.

I'm working on this one :)


Feat/register service

Added service registry client and sent request to register NSCs into IPAM Server

@vladmoisescu  the changes look ok to me.  Please rebase on top of the latest changes (kiknos NSE) so that the build-vl3 triggers again with those changes to make sure it builds.

IMO, this one is ready to merge.  I'm a little concerned about the grpc dial semantics but I think we need to scrub those scenarios in general.  I rebased this and tested for client pods with and without the labels and things seem to work.  I also validated that the kiknos image builds.
Due to rebase conflicts and PTO plans I'm going to push the rebased version in a new PR, merge it, and close this one.


Add files via upload

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/3385
Changed screenshot

@nenonix - can you please assist to check on this PR and let us know if its good to go? Thanks.

LGTM

looping in @get-itips so he can help guide and share his insights on this PR. Please assist to review this PR based on issue 3385 and let @Reeced40 know what needs to be changed or improved. Thank you.

Hello @Reeced40 how are you? I reviewed the screenshot and it contains information about a third party antivirus. So the screenshot might not be useful for official documentation.
Please take the screenshot from another Windows 10 clean install.


ValueError: mutable default <class 'jaxlib.xla_extension.ArrayImpl'> for field current_player is not allowed: use default_factory

Example:
$ python3 -c "import pgx; pgx.make('2048')"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.11/site-packages/pgx/v1.py", line 347, in make
    from pgx.play2048 import Play2048
  File "/usr/local/lib/python3.11/site-packages/pgx/play2048.py", line 27, in <module>
    @dataclass
     ^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pgx/_src/struct.py", line 115, in dataclass
    data_clz = dataclasses.dataclass(frozen=True)(clz)  # type: ignore
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 1220, in wrap
    return _process_class(cls, init, repr, eq, order, unsafe_hash,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 958, in _process_class
    cls_fields.append(_get_field(cls, name, type, kw_only))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 815, in _get_field
    raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'jaxlib.xla_extension.ArrayImpl'> for field current_player is not allowed: use default_factory

Version information:

macOS 11.7.10
Python 3.11.5
PGX 1.4.0

Thank you for your comment.l! Currently Pgx only supports 3.8-3.10. python 3.11 is not supported.

@sotetsuk When will 3.11 / 3.12 be supported?

At the moment, there are no specific plans or milestones for Python 3.11 support. We believe we can support it once the issues related to dataclass are resolved.

@sotetsuk To resolve this issue, would you be open to a PR that replaces
current_player: jnp.ndarray = jnp.int8(0)

with
current_player: jnp.ndarray = dataclasses.field(default_factory=lambda: jnp.int8(0))

and likewise for other fields, and possibly for other game classes too?

Thank you for providing a solution. One concern is that by using the default factory, the initialization code is called not just the first time, but every time, so I'm worried about whether this will decrease the execution speed. I'm curious if JIT will optimize this.


Feature/unity 961 provider manager windows automatic

Summary
When using XRLeapProviderManager, OpenXRProvider checks whether it can use UL OpenXR, if false, LeapServiceProvider checks if it can connect to the tracking service, if false, if other OpenXR sources are available, OpenXR will be used, otherwise a warning will be logged that no tracking source was available.
Contributor Tasks
These tasks are for the merge request creator to tick off when creating a merge request.

[ ] Pair review with a member of the QA team.
[ ] Add any release testing considerations to the MR for the next release.
[x] Check any relevant CHANGELOG files have been updated.
[x] Ensure documentation requirements are met e.g., public API is commented.
[x] Consider any licensing/other legal implications for this MR e.g. notices required by any new libraries.
[x] Add any relevant labels such as breaking to this MR.
[ ] If this MR closes a Jira issue, make sure the fix version on the JIRA issue is set to the correct one.

Reviewer Tasks
Add any instructions or tasks for the reviewer such as specific test considerations before this can be merged.
Use emojis in review threads to communicate intent and help contributors.

[x] Code reviewed.
[x] Non-code assets e.g. Unity assets/scenes reviewed.
[ ] Documentation has been reviewed. Includes checking documentation requirements are met and not missing e.g., public API is commented.
[x] Checked and agree with release testing considerations added to MR for the next release.

Closes JIRA Issue
Closes UNITY-961

Overall changes seem to work fine for Windows, based on changing my system's configuration. I just need to confirm that things are correct when our SDK in uninstalled. Something is still claiming to support OpenXR hand tracking.

@Greg-UL I'm happy with the code and my testing. Do you want to do anything before we merge this?

@MattGrayUL @MaxPalmer-UH will the XR plugin contain any tracking source overrides?
I'm not sure that's entirely necessary but it was something on a previous iteration of this that had been included so wasn't sure if it was another thing to test out as well.

@MattGrayUL @MaxPalmer-UH will the XR plugin contain any tracking source overrides? I'm not sure that's entirely necessary but it was something on a previous iteration of this that had been included so wasn't sure if it was another thing to test out as well.

It continues to have the override dropdown to specify 'OpenXR' or 'Leap Direct' so that should also be tested yeah :) though that implementation hasn't changes for this PR so it just needs to be a release testing consideration

@Greg-UL FWIW, I have tested:

UL service running + Control Panel OpenXR Toggle ON + Quest tracking ON - result: UL OpenXR
UL service running + Control Panel OpenXR Toggle OFF + Quest tracking ON - result: Leap Direct
UL service NOT running + Control Panel OpenXR Toggle OFF + Quest tracking ON - result: Quest OpenXR

I'm happy with that - thanks Matt.


Can the value_from function add iterator parameters, such as value_from (Iterator begin, Iterator end)

PLEASE DON'T FORGET TO "STAR" THIS REPOSITORY :)
When reporting a bug please include the following:
Version of Boost
You can find the version number in the file <boost/version.hpp>
Steps necessary to reproduce the problem
A small compiling program is the best. If your code is
public, you can provide a link to the repository.
All relevant compiler information
If you are unable to compile please include the type and
version of compiler you are using as well as all compiler
output including the error message, file, and line numbers
involved.
The more information you provide the sooner your issue
can get resolved!

You didn't explain the desired semantics, so I assume it's supposed to produces a json::value that stores an array. So, my questions are these.  Why converting a sequence object doesn't work for you? Where do you get the iterators?

你没有解释所需的语义，所以我认为它应该产生一个存储 .所以，我的问题是这些。为什么转换序列对象对您不起作用？你从哪里得到迭代器？json::value``array

Due to the large amount of data in my sequential container, I can only send a part of it at a time. Therefore, I need to serialize just this portion, so I expect to transmit the iterator range.

You don't have the required semantics to explain, so I think it should produce a store. Why doesn't converting sequence objects work for you? Where do you get iterators?json::value``array

Due to the large amount of data in my sequential container, I can only send a part of it at a time. Therefore, I need to serialize just this portion, so I expect to transmit the iterator range.

But can't you wrap two iterators into a range-like class? This one should work: https://www.boost.org/doc/libs/1_85_0/libs/range/doc/html/range/reference/utilities/iterator_range.html
But if you have access to C++20, this should also work: https://en.cppreference.com/w/cpp/ranges/subrange

But can't you wrap two iterators into a range-like class? This one should work: https://www.boost.org/doc/libs/1_85_0/libs/range/doc/html/range/reference/utilities/iterator_range.html But if you have access to C++20, this should also work: https://en.cppreference.com/w/cpp/ranges/subrange

good idea，thank you

Silentium videtur confessio.


zglfw + zgui macos builds failing

Any sample with both zglfw and zgui fails to build for both x86_64 and aarch64 macos targets.
minimal_zgpu_zgui,
minimal_zgui_glfw_gl,
physically_based_rendering_wgpu,
zig version 0.13.0-dev.351+64ef45eb0
zig build minimal_zgpu_zgui -Dtarget=x86_64-macos
zig build minimal_zgpu_zgui -Dtarget=aarch64-macos
└─ run minimal_zgui_glfw_gl
   └─ zig build-exe minimal_zgui_glfw_gl Debug x86_64-macos
      └─ zig build-lib imgui Debug x86_64-macos 1 errors
/Users/connor/git/zig-gamedev/libs/zglfw/libs/glfw/include/GLFW/glfw3native.h:112:13: error: 'ApplicationServices/ApplicationServices.h' file not found
   #include <ApplicationServices/ApplicationServices.h>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/backends/imgui_impl_glfw.cpp:101:10: note: in file included from /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/backends/imgui_impl_glfw.cpp:101:
#include <GLFW/glfw3native.h>   // for glfwGetCocoaWindow()
         ^
error: warning(compilation): failed to delete '/Users/connor/git/zig-gamedev/.zig-cache/tmp/9a2bd6786cc7dd3d-imgui_impl_glfw.o.d': FileNotFound

error: the following command failed with 1 compilation errors:
/Users/connor/zig/0.13.0-dev.351+64ef45eb0/files/zig build-lib -cflags -fno-sanitize=undefined -- /Users/connor/git/zig-gamedev/libs/zgui/src/zgui.cpp -cflags -fno-sanitize=undefined -- /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/imgui.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/imgui_widgets.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/imgui_tables.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/imgui_draw.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/imgui_demo.cpp -cflags -fno-sanitize=undefined -- /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/implot_demo.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/implot.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/implot_items.cpp -cflags -fno-sanitize=undefined -DIMGUI_IMPL_OPENGL_LOADER_CUSTOM -- /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/backends/imgui_impl_glfw.cpp /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui/backends/imgui_impl_opengl3.cpp -ODebug -target x86_64-macos -mcpu baseline -I /Users/connor/git/zig-gamedev/libs/zgui/libs -I /Users/connor/git/zig-gamedev/libs/zgui/libs/imgui -I /Users/connor/git/zig-gamedev/libs/zglfw/libs/glfw/include -DZGUI_IMPLOT=1 -DZGUI_TE=0 -Mroot -lc++ -lc --cache-dir /Users/connor/git/zig-gamedev/.zig-cache --global-cache-dir /Users/connor/.cache/zig --name imgui -static --listen=-
Build Summary: 7/12 steps succeeded; 1 failed (disable with --summary none)
minimal_zgui_glfw_gl-run transitive failure
└─ run minimal_zgui_glfw_gl transitive failure
   ├─ zig build-exe minimal_zgui_glfw_gl Debug x86_64-macos transitive failure
   │  └─ zig build-lib imgui Debug x86_64-macos 1 errors
   └─ install minimal_zgui_glfw_gl transitive failure
      └─ zig build-exe minimal_zgui_glfw_gl Debug x86_64-macos (+8 more reused dependencies)
error: the following build command failed with exit code 1:
/Users/connor/git/zig-gamedev/.zig-cache/o/7dcc050882c226c4bc55250be91dc279/build /Users/connor/zig/0.13.0-dev.351+64ef45eb0/files/zig /Users/connor/git/zig-gamedev /Users/connor/git/zig-gamedev/.zig-cache /Users/connor/.cache/zig --seed 0x31e903b -Zfd1b67ccade83f69 minimal_zgui_glfw_gl-run -Dtarget=x86_64-macos

When i run zig build minimal_zgpu_zgui on my macos machine everything works properly.
That should narrow it down, but I'm not quite sure how.

Ok, so when run natively the zig compiler includes Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include  in the zgui library's libc.
But when a target is specified, it's just a standard libc as far as I can tell.
So if I run this on MacOS, it works.
zig build minimal_zgpu_zgui -Dtarget=x86_64-macos --libc libc.txt

libc.txt
include_dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
sys_include_dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
crt_dir=null
msvc_lib_dir=null
kernel32_lib_dir=null
gcc_dir=null

I'm still not 100% on how everything links together. It doesn't seem like you can alter libc in build.zig. Is there another way we could do this?


Don't add dummy DSIG by default any more

Fontbakery problem detection and gftools fixing has got out of sync again. (as will always happen when the detection and the fixes are in different places...) As per https://github.com/googlefonts/fontbakery/issues/3398, we don't want fonts to have a DSIG table:

In fact, I think we should flip the check to WARN people if a DSIG is found at all, and tell them to remove it.

Thanks!

as will always happen when the detection and the fixes are in different places...

Agreed. It is a pita.


Asyncify the APIs

In order to prepare for #3, the APIs are made asynchronous. It also applies to tests and benches.

fyi: clippy fails because it rightflully complains about keeping a mutex locked across await points. That will be addressed, I just need to figure out why cargo bench crashes with OOM for me, because I want to see if going async causes a substantial regression


chore: remove legacy unnecessary interfaces

Cleanup of exec code. CommandContext runs LookPath, so I have cleaned up all these duplicate references. Also, I have remove the LocalProfecessor interface since it doesn't have any implementation specific structs in it. Works just as well as a helper function and not clutter our structs.

Mocks have to be re-generated.


workflow: Workaround EKS flake

See commits for details.
Passing workflow: https://github.com/cilium/cilium/actions/runs/3639862710/jobs/6143833409.

Wow, nice find. Thanks for the detailed commit description.

Your kudos should go to @NikAleksandrov :slightly_smiling_face:

Can we make AWS operator delete this DS?

@nebril I think we don't want to remove this DaemonSet for users, outside of CI: https://github.com/cilium/cilium-cli/pull/208.

The workflow passed as shown in the first post. Reviews are in except for the github-sec review but the PR doesn't affect the way the workflow is ran so it shouldn't affect the security impact. I'm merging.


Some pages don't get snippets.

Why does this page, or any of the "tabs" related functions not get snippets injected?
https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/api-
reference/v1.0/api/teamstab-list.md
https://review.docs.microsoft.com/en-us/graph/api/teamstab-list?view=graph-rest-1.0&branch=andrueastman%2Fsnippets-preview-get-post-js-csharp

This is due to the header annotations of the requests in the raw markdown marking the requests as "ignored" requests.
Once this is changed, the snippets should present.


How to create an administrator account？

How can I create an administrator account so that he can see the folders and files of all virtual users?

Please, refer to vsftpd documentation: https://security.appspot.com/vsftpd.html


[Platform Bug] Report 27 "Dimensions - Total"

Hello,
The trigger OnOpenPage() was called twice. First when the request page was open, second when user run the report preview.
So, if user change the dimension selection the report restore default selection and it cause the error behaviors.
If use sent to pdf option, report work corrects.
Thank you!

I guess this is related to the following platform change: Multiple Preview of Reports.
https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-report-triggers?tabs=current%2Crdlc#modes
The fast work-around could be to set AllowScheduling to false (https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-allowscheduling-property)
Maybe the trigger OnAfterGetCurrRecord can be used instead, since this trigger seems to called only once for the master instance

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 10731.


Allow to scroll all opened editors at the same time

VSCode Version: 1.3

OS Version: Windows 7 SP1

Feature request.

@paritosh149 can you please be more specific what you are asking for?

I am asking that when two or three editors are open, a setting should allow user to scroll all visible documents, simultaneously. This would be useful while comparing two or three documents.

Command Palette.... has a Command to Compare and that does synchronous scrolling. So the feature is already present.


Python 3.12.7 No module named 'distutils'

Python 3.12.7
pip install -r requirements.txt
got error:
ModuleNotFoundError: No module named 'distutils'
please migrate python 3.12 distutils according to
https://peps.python.org/pep-0632/#migration-advice

to fix your trouble check this solution click
maybe this will solve your problem.


Nav menu in mobile view is not 100vh

In mobile view, the nav menu has height less than 100vh. It'll look better at 100v

h.

Can I work on this issue?

There are 2 more issues. 1) In mobile view, if you have not scrolled down and u have opened the hamburger menu, then on hover, nav link color is purple. It should be white. 2) On hover, the line that appears above the link has less height than the line below it. (See attached pic)


mwc-drawer: can't change background-color and border-color

Currently there is no easy way to change the default background-color (#fff) and border-color (rgba(0,0,0,.12)).

Related to https://github.com/material-components/material-components-web/issues/5242

Priority: High since Jan 15, 2019 and it's still not possible to change the drawer background color

Would love if this issue is fixed 👍

Going to close this as a duplicate of https://github.com/material-components/material-components-web-components/issues/953, which has more information related to the issue. Subscribe to that for further updates!


IRQ driven RX on UART0

Thanks @kanflo for this contribution!
I have a few thoughts for discussion before merging this. I'm not asking you to necessarily do any of the things here, but it's a good chance to discuss the long-term goals around UART functionality.
There are some parts I'd like to get into esp-open-rtos, probably sooner rather than later:

Cleaner esp_reg_t macros for the UART registers, in include/esp/registers.h, so no need for the READ_PERI_REG/WRITE_PERI_REG stuff.
Remove sdk_os_putchar, sdk_os_readchar, baud rate functions, etc. entirely and replace them with an equivalent core/uart.c

I also think @foogod's suggestion of minimising bloat/automatically pulled in code is a good one. Relying on the linker for this is (IMHO) good, so weak linking and/or --ffunction-sections and/or having syscalls in their own source files are all good approaches - so you don't link _read_r unless you actually call read() somewhere in your program, etc.
I see UART functionality as "core" functionality to the chip, too, so I'd like to have whatever support is required for good UART interaction included in the core, rather than needing to specify an extra component for it. I see at the moment that you can use just the 'core' and have a busy-waiting read with no buffering, or if you use the extra driver then you get buffering and a cleaner blocking read(), which is clearly a much better configuration.
Anyhow, sorry to dump a bunch of requirements out of the blue! If you're not interesting in making further changes then that's fine, I can probably jump in a give them a shot soon - just let me know.
(Also if you think any of this is a bad idea, let me know about that as well!)
Angus

Here are @kanflo's original comments from Issue #22:
I have completed support for this in https://github.com/SuperHouse/esp-open-rtos/commit/e648cd2957c462b7c1715d4210c4f310362ea3f4
The driver is placed in extras/serial-driver and there is an example program in examples/terminal showing how to include the driver (it is not included by default).
TL;DR:
_read_r in newlib_syscalls.c is now declared as weak and extas/serial-driver/serial_driver.c implements a new version of _read_r that blocks until data is available and reads from a circular buffer filled by the UART0 IRQ handler. The IRQ handler is installed on the first call to _read_rwith a small penalty for subsequent calls.

You're welcome. I wasn't aware of the esp_reg_t macros but yes, it would be nicer to have those instead of the PERI_REGs. I'll have a look at them when I find the time.
I also see UART functionality as core but one could always debate if UART RX is core. Either way, having RX included when referenced would be nice. And a lot nicer than having to specify extra components.

FWIW, @foogod has just contributed better UART register support. Should be possible to do away with the
I'm also planning to shortly write a set of uart functions in 'core' to replace the SDK getc/putc functions.
Something I've noticed mentioned in other places is that apparently the UART itself has a 128 byte FIFO buffer (one for each direction), so maybe software ringbuffering isn't actually necessary? I haven't verified this is actually the case yet, though, it may be that the 128 byte buffer is part of the SDK.

Yup, nice addition from @foogod. I might have messed things up slightly but there's a new pull request for here: https://github.com/SuperHouse/esp-open-rtos/pull/31
The ring buffering still needs to be verified. Also, this PR can be closed  but I see no button for it.

Closing this in favour of #31.


Vector index

Scope & Purpose
We are introducing a vector index into Arangodb. The current implementation uses faiss library to support vector index in Arangodb.
How to use vector index?
Creating indices
To create an index use the following syntax:
db.collection.ensureIndex({name: "vector_l2", type: "vector", fields: ["vector"],  params: { metric: "l2", dimensions: 544, nLists: 100 }})

Params contain configurations specific to the vector index:

metric: currently supported metrics are L2 and cosine, if you want to search with specific metric use APPROX_NEAR_COSINE or APPROX_NEAR_L2
dimension: the vectors dimension, there is a strict restriction that all vectors in the field must be of a specific dimension
nLists: number of centroids in the index
trainingIterations: number of iterations in the training process, smaller number means after index creation,m but might yield worse results during the search. The default value is 25, the same as in faiss.

Running queries using vector index
One must use SORT with APPROX_NEAR_* function and LIMIT clause to trigger the vector index.
So something like this is the simplest case:
FOR doc IN collection
SORT APPROX_NEAR_L2(doc.vector, @q)
LIMIT 5
RETURN doc

where @q is the point at which we are looking for 5 neighbors.
or if we wanted the distance returned as well:
FOR doc IN collection
LET dist = APPROX_NEAR_L2(doc.vector, @q)
SORT dist
LIMIT 5
RETURN {name: doc._key, dist}

And if you want to run on multiple points, it is possible by writing a subquery:
FOR docOuter IN collection
LIMIT 10
LET neighbors = (
    FOR docInner IN collection
    LET dist = APPROX_NEAR_L2(docInner.vector, docOuter.vector)
    SORT dist
    LIMIT 10
    RETURN { doc, dist }
)
RETURN {doc, neighbors: neibhours}

How it works?
Basics
The vector index implementation uses faiss library to support L2 and cosine metrics. The index used is IndexIVFFlat, the quantizer for L2 is IndexFlatL2 and the cosine uses IndexFlatIP where we normalize vectors before insertion and search.
Index creation
Creating an index triggers training the index on top of real data, which is a limitation that expects that the data already exists for the vector field upon which the index is created.
The number of training points depends on the nLists parameter, bigger nLists will produce more correct results but will increase the training time necessary to build the index.
Current limitations

Data must already exist before the index creation.
No stored values are supported.

The description in the PR calls the field params.dimensions, but using that example I get
JavaScript exception in file<EMAIL_ADDRESS>at 90,7: ArangoError 10: error: Missing required attribute 'dimension', path: dimension
!      throw error;
!      ^

Anyways, I think dimensions is a better fit, because usually its more than one.

Using cosine similarity, the values are returned in descending order. This is because with respect to cosine, 1 is consider the most similar.
Thus technically, the following query can not use the vector index
FOR doc IN c
    LET approx_d = APPROX_NEAR_COSINE(doc.v, @q)
    SORT approx_d
    LIMIT 10
    LET real_d = COSINE_SIMILARITY(doc.v, @q)
    RETURN [doc._key, approx_d, real_d]

Note that this query explicitly asks for ascending order. Which is not what the result is.
[
  [
    "4013599",
    0.7978184819221497,
    0.7978184579427844
  ],
  [
    "4014455",
    0.7924057841300964,
    0.7924058469832043
  ],
  [
    "4010955",
    0.7919625043869019,
    0.7919627465026107
  ],
  [
    "4013663",
    0.7825029492378235,
    0.7825029700861946
  ],
  [
    "4015381",
    0.7809746861457825,
    0.7809744271341923
  ],
  [
    "4015111",
    0.7792600393295288,
    0.7792598244883351
  ],
  [
    "4015915",
    0.7782509922981262,
    0.7782505660963362
  ],
  [
    "4016271",
    0.7779594659805298,
    0.7779596193266592
  ],
  [
    "4011765",
    0.7755686044692993,
    0.7755686915007658
  ],
  [
    "4015837",
    0.7750034332275391,
    0.7750036051070812
  ]
]

To fit in, and agree with the same version of the query doing an exhaustive search, we have to require descending order for using vector indexes with cosine similarity.
FOR doc IN c
    LET approx_d = APPROX_NEAR_COSINE(doc.v, @q)
    SORT approx_d DESC // << ---- HERE
    LIMIT 10
    LET real_d = COSINE_SIMILARITY(doc.v, @q)
    RETURN [doc._key, approx_d, real_d]


Version::parse should reject malformed inputs

Fixes #11

Made a few changes; nevertheless, merged in 4ef0226d68908ac0437e6eb584b7b981d7d9d439.


cleaner workaround for Oracle setNull(BOOLEAN) bug

Here's what I think is a better way to do this:
I've introduced doBindNull() in BasicBinder and I'm using WrapperOptions, FastSessionServices, and getPreferredSqlTypeCodeForBoolean() for what they're designed for.
Perhaps one might object that adding doBindNull() introduces an additional polymorphic call when binding null values, but if that overhead were measurable, then it would actually be worse in the case of the regular doBind() call that exists today for all basic types when the value is not-null, and would be an argument for eliminating BasicBinder altogether. So I don't see any reasonable objection to this on performance grounds.

Merging this because the main substantive change is also needed by #3974, and because it lets us delete a whole class.


Consistently use outline:0 rather than outline:none

just for code consistency, no actual effect on styling per se

damn sorry, missed the request for review from @mdo that @XhmikosR did. please revert if it turns out this was too hasty.

damn sorry, missed the request for review from @mdo that @XhmikosR did. please revert if it turns out this was too hasty.


map export using html-to-image library doesn't work when using a vector layer

Now that there isn't any event.context.canvas available we have to use html-to-image library as shown in export to pdf example.
But the dom-to-image library is not working when the map includes a vector layer, any idea how to get a map screenshot when using a vector layer ?

Can you give more details of what is not working.  The example https://openlayers.org/en/latest/examples/export-pdf.html does include a vector layer and works as long as html-to-image supports the browser (Internet Explorer and Safari are not supported, with or without vector layers).

Hi,
here is may map:
`let mapa = new OlMap({
renderer: 'canvas',
layers: [
new OlLayerTile({
source: new Zoomify({
url: this.zoomifyUrl,
size: [this.imgWidth, this.imgHeight],
crossOrigin: 'anonymous',
tileSize: 256
})
}),
new VectorLayer({
source: this.vectorsource
})
         ],
         target: this.panoname+i,
         view: this.theview,
         logo: window.logoElement,
         controls: []
     });

`
if i leave this VectorLayer, toJpeg(map.getViewport()...) is giving me an "uncaught error (in promise"
if i remove it it's working as expected.

It looks like mixed content (http images in an https application) is tainting the canvas and causing an html-to-image error.

Not sure if relevant to this but we discovered that having empty vectorlayers on the map causes canvases with 0 width to be on the DOM that seems to break html-to-image. We fixed this by filtering empty canvases out: https://github.com/oskariorg/oskari-frontend/pull/1040

Thanks @ZakarFin It may not be the only problem in this case but that is reproducible in the Export PDF example.  If you zoom in to somewhere where the vector feature cannot be seen and then rotate the view the export fails.  Inserting your additional filter fixes it.  Although I could not reproduce the issue in the PNG export example, the filtering in both examples should be updated.

I think it might be easier to go back to the export method we had in version 5, and use the css transforms of the layer divs to compose them to an output canvas. Without going through svg


Avoid code repetition

I tried to use rust macros to avoid some repetition.
Misc changes:

put contents of utils.rs into lib.rs
*HeaderData enums should be public if they aren't used in the public API

Thank you very much for this pull request! I've learned a lot thanks to your code and re-did it myself :) I must say I've underestimated the power of macros!.

https://github.com/wojciechkepka/mobi-rs/blob/25862e33af3961cee7c96170fb96a539f89f6c84/src/lib.rs#L15
Tip: use ? (postfix) instead of this macro. docs

Yes :) Thanks for that! finally understand how ? works


Update server list

SmoothStreams have updated their servers as follows:
deu-nl1: "EU NL1 (Ams)",
deu-nl2: "EU NL2 (Ams)",
deu-nl3: "EU NL3 (Ams)",
deu-uk1: "EU UK1 (io)",
deu-uk2: "EU UK2 (100TB)",
deu-nl:  "European NL Mix",
dEU:     "European Server Mix",
deu-uk:  "European UK Mix",
dNAe1:   "US/CA East 1 (NJ)",
dNAe2:   "US/CA East 2 (VA)",
dNAe3:   "US/CA East 3 (MTL)",
dNAe4:   "US/CA East 4 (TOR)",
dNAe:    "US/CA East Mix",
dNA:     "US/CA Server Mix",
dNAw1:   "US/CA West 1 (PHX,AZ)",
dNAw2:   "US/CA West 2 (SJ,CA)",
dNAw:    "US/CA West Mix",
dAP :    "Asia Mix"

Closed by commit 75bc59ae0b162ba6df9648b94bc2a36f0a2d40a6


Feature suggestion: consider safety component quality picking for finding the combination of the materials with the lowest price

There seems to be quiet a difference between the price of quality 2 and quality 3 safety components. Sometimes it seems possible, to save money by using a quality 2 safety component instead of a quality 3 safety component, and use higher quality materials of materials with a smaller difference in price between quality 2 and 3. This might result in a lower total price to craft.

I am not quite sure I understand.
The material suggestion feature already tries to give you the combination with the lowest crafting cost that still reaches the desired threshold

I believe their suggestion is to also be able to suggest changing optional reagents.  If a tier 2 optional reagent adds 20 difficulty and costs 500g, a tier 3 adds 15 difficulty and costs 15,000g, and the extra 5 skill can be made up by using higher quality materials costing another 3,000g, it is more cost effective to use the tier 2 reagent and higher material qualities to make up the difference.

I put this on the todo, but will take a while to implement due to its complexity