Configure CD Workflows for Helm Chart

Description

[ ] After an image is successfully built, trigger a deployment workflow that will deploy the ngsa helm chart

[ ] Helm should rollback the changes if the upgrade is unsuccessful and then fail the deployment

[ ] Configure the deployment to also be triggered when the helm chart is updated (configmap, etc)

References #103

We are moving to a GitOps model instead of automation through GitHub Actions.
Closing as it is now out of scope.


Preprocessing image

In order to match two faces is it enough to apply this transformation (image - 127.5) * 0.0078125. The preprocessing image stage will be correct?

Ya, processing image to [-1, 1] is enough. Like (image - 127.5) * 0.0078125 for image [0, 255], image * 2 - 1 for image [0, 1].


Portfolio: responsive designs

Figma:
https://www.figma.com/file/bZh7tOiLm6Ls9Hl4RL6qMC5X/Augur-Redesign?node-id=7833%3A266234
(Zoom out for overview)
Notes
MOBILE

Mobile (min = 360)

Nothing changing here

Mobile (max = 767)

24px gutters on side of screen

excluding the secondary tab bar

Sort by and toggle button are side by side

TABLET

General note

We'll use the mobile header bar between 768-1199px, but retain the content of the pages from desktop

Tablet (min = 768)

Single column  of content with 24px margins on sides, 12px padding between cards

Tablet (max = 1199)

24px margins on sides

DESKTOP

Desktop (min = 1200)

Padding between cards across the desktop breakpoint is 24px
Margins on side 40px
For 'open orders' and 'filled orders', we may need to truncate the outcome column and tighten up the padding between columns, ping Cillian if issues need to work through on this

Desktop (baseline = 1440 - what we've been working at to date)

40px margins on side
24px padding between cards

Desktop (max = 2064) using as an example of a large resolution (we can come back to this if not trivial)

40px margins on side
24px padding between cards
Creating a 3 column layout, with card heights expanding down to reveal their content (if nothing else is below them)

I'm seeing an issue between 1201px and ~1280px. The 'total returns' toggle is breaking. It's because the side nav is in the build and not in the designs.

I suggest we change the breakpoint from 1200 to 1280 until we remove that side nav in the build.


IPROTO-211 UUIDAdapter has the incorrect Id Reproducer

Test for ISPN

https://issues.redhat.com/browse/IPROTO-211

Replaced by #9311


Seems to be incompatible with IE

What is the current behavior?
incompatible with IE(11)
Steps to reproduce it and if possible a minimal demo of the problem. Your bug will get fixed much faster if we can run your code and it doesn't have extra dependencies other than react-use. Paste the link to your JSFiddle or CodeSandbox example below:
What is the expected behavior?
As compatible as possible with IE9 or above。
A little about versions:

OS:  Windows10
Browser (vendor and version): IE11
React:  16.8.6
react-use:  12.5.0
Did this worked in the previous package version? NO

What issues do you experience in IE?

@streamich the problem been related to harmonic interval lib, which is fixed now.


Ethan: Watch<PHONE_NUMBER>3

Ethan requests the watch of the watch_number<PHONE_NUMBER>3. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Ollie in Charcoal HQ


Git commit unit test flakes

I've encountered some local flakes with TestGitCommit_GenerateFullyQualifiedImageName

These fail for me every time locally on both OS X and Linux. Interestingly, the short hash that the test actually computes is the same on both platforms:
--- FAIL: TestGitCommit_GenerateFullyQualifiedImageName (0.02s)
    --- FAIL: TestGitCommit_GenerateFullyQualifiedImageName/success (0.01s)
    	util.go:51: string differ.
    		Expected
    		test:41cf71e
    		Actual
    		test:0e78a85

@nkubala only the TestGitCommit_GenerateFullyQualifiedImageName/success fails for you, right? Not the TestGitCommit_GenerateFullyQualifiedImageName/dirty one?


Fix context paint on shape with zero-size bbox

Consider the following SVG:
<svg id="svg1" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
    <title>`context-stroke` on shape with zero-size bbox</title>

    <marker id="marker1" refX="10" refY="10" markerWidth="20" markerHeight="20">
        <path id="path-marker" d="M 10 0 16 20 H 4 Z" fill="context-stroke"/>
    </marker>
    <path id="path1" stroke="green" d="M 100 25 L 100 175"
          marker-end="url(#marker1)"/>
    <!-- image frame -->
    <rect id="frame" x="1" y="1" width="198" height="198" fill="none" stroke="black"/>
</svg>

Currently, it renders like this:

The reason being that in my previous implementation, I wrongly assumed that we always need to have a bbox for context-fill/context-stroke, which is not true for solid paints. Since a line doesn't have a bbox, this example would fail to render correctly previously. This PR fixes this:

Thanks. Zero width/height bbox are tricky to handle in SVG.


[Bug] Duplicate directory found in source - ignoring

Hi Devs and all.
I have this message when cloning the data from one team drive to a other (Empty) team drive i get this many times
Duplicate directory found in source - ignoring

So I would like to know if there is a way to copy the folder instead of dedupe it or ignoring it, like it says it's related with the folder / directory
Btw, I don't want to dedupe my drive because I have same content in different languages and if I dedupe it, it can delete one of the languages by mistake, in the other hand i want to make sure than folder and files with the same name sa been copied (at normally there are no more than 1 movies by folder)
So i pretty sure than there will be no issues if some one help me to find a flag to force a copy instead of dedupe it.
Thanks

Same here cloning a harbor docker registry from s3 to azure blobstorage using the sync command, copieng from one remote to the other.
How can i prevent this?


Proposal: Private registry name-spacing as part of V2 image names

Proposal
This proposal is meant to flesh out how private registry use will look with the V2 registry.  For reference:

docker#6805 : Self-describing images
docker#9015 : JSON Registry API V2
https://github.com/docker/docker-registry/issues/612 : Registry next generation

Background
V1
Currently (v1), names used on the docker cli and Dockerfiles are a mix of transport and image name, as follows:
debian +------> [docker.io/][library/]debian
                 +--+----+   +-------------+-+
                    |                      |
                    |                      |
+-------------------+---+-+             +--+---------+
https://index.docker.io/v1/repositories/library/debian/...

mycompany.com/project/app
+------+----+ +----+----+
       |           |
       |           +-----------------------+
       |                                   |
+------+--------------+-+             +----+----+
https://mycompany.com/v1/repositories/project/app/...

V2
This is my understanding of how the above breakdowns will look in V2, if no changes are made to repo/image name restrictions:
debian +------> [library/]debian
                +--------------+
                               |
                               |
+--------default------+    +---+--------+
https://index.docker.io/v2/library/debian/...

--where https://mycompany.com mycompany/project_app
                  +                   +
                  |                   |
                  |                   |
       +----------+--------+    +-----+-------------+
       https://mycompany.com/v2/mycompany/project_app/...

This raises some awkwardness/limitations in how a private registry is used:

'mycompany' vs 'mycompany.com' is used, due to repository naming limitations.
'project_app' vs 'project/app' is used, due to <user>/<repo> limitations.
While unlikely, it is possible that 'mycompany' was already taken as a <user> in the docker.io namespace.
All current Dockerfile references to private repository images would need to be updated, requiring a complete rebuild of private repository containers.

Namespaced V2 Image Names
I propose we include the registry namespace as part of the image name, for the purposes of signing and registry lookups:
debian +------> [docker.io/][library/]debian
                +--------------------+-----+
                                     |
                                     |
+--------default------+    +---------+------------+
https://index.docker.io/v2/docker.io/library/debian/...

--where https://mycompany.com mycompany.com/project/app
                  +                   +
                  |                   |
                  |                   |
       +----------+--------+    +-----+-----------------+
       https://mycompany.com/v2/mycompany.com/project/app/...

Pros:

Allows mapping current <user>/<repo> image names onto a global namespace of <registry>/<user>/<repo> without modifications to existing Dockerfiles.
Cannot conflict with any existing <user> names on docker.io
Allows for registry indexes that potentially mirror multiple repository 'namespaces', including docker.io
Gives 'docker.io' registries a name that can be referenced in future configurations.  For example, it would be possible to, say, whitelist ['docker.io, 'mycompany.com'] registries.
Allows for easier configuration of private registries in a way that can be used for both V1 and V2 (See docker#8329)

Cons:

Image names tend to look like they still include 'transport' information ('mycompany.com').

@dkjer I think that what you are trying to achieve here is better achieved by #6805. If I put '''FROM ubuntu''' in my docker file, that should mean the official ubuntu image from docker.io, regardless of where I run the  container.  If your company is using an internal registry, then you should be able to proxy/mirror the official image there.  If you want to use an internal ubuntu image, then the image name of your internal image should sit in your company's namespace.  e.g. com.yourcompany.ubuntu.  The key piece that is missing from docker today is that the image name and the location of it's registry are tightly coupled, so if you put your own ubuntu image at your-registry.yourcompany.com/ubuntu, you can never move your registry from that address.  If your prod security-zone is separate from your dev security zone, then you will have to change all your image names when you promote an image from dev to prod.
Separation of name from transport is (IMHO) the best way to achieve this.  It also allows the possibility that, if docker looked for the all images in your internal registry first, (or exclusively,) you could sneakily substitute in your own image for the official ubuntu one if you wanted to and none of us would be the wiser.  ;-)

It would be really useful functional. Gracefully +1.


Memory leak or overly-agressive consumption

Summary
We are seeing Kong consume memory at about 1G/week and fail to release. We limit our instances over the
Steps To Reproduce

Run Kong (in our case, in docker)
Watch memory usage graphs

Here's what ours looks like

The exponential spike seen in the farthest right was due to a flood of requests during a DoS-like event. So the rate of climb appears to be related to traffic, meaning memory consumption is connected to something within the request cycle.
Additional Details & Logs

Kong versions: 0.9.4 & 0.9.9
Kong debug-level startup logs
Kong configuration:

JWT
Datadog
Logstash
CORS
ACL
Basic Auth

Docker FROM kong:0.9.9

Also note, where the graphs drop are related specifically to deploys or instance reboots. So far it's the only way we've found to reset the memory consumption.

Do you see any logs at /usr/local/kong/logs/error.log ?

This could very well be the lack of LRU cache mechanism in the Lua-land caching implemented in database_cache.lua. A high priority for us at this time.

@thefosk I will check the error logs, but we've been running without error for quite some time. We only just noticed this memory issue.

@thefosk the only lines in the error log are:
2017/03/13 14:03:03 [notice] 97#0: signal 17 (SIGCHLD) received

@plukevdh as part of the 0.10.1 release, we included an LRU mechanism in per-worker memory caches to eliminate this sort of unbounded growth. Can you have a try of the latest release and let us know if you still see the same behavior?

We'll give it a go as soon as we can. I know the 0.9 -> 0.10 caused some other bumps so we've held off upgrading just now.

@plukevdh can you share some more details about your config when you experience this problem? How many data store entities (APIs, consumers, plugins, etc) are you using? What is the value of the mem_cache_size directive in your config?

@plukevdh any update on the questions above, or any chance on moving to 0.10.1?

We've tried a couple of times and still had some fairly significant backwards compat breakages or bugs in those releases that have slowed our progress on this.
As an aside, breaking changes are supposed to be in major point releases when using semver, but I realize sometimes the rules don't apply to pre 1.0 releases (although imo, they should).

Sorry to butt in @plukevdh but ...
We can upgrade to 1.10, however we're blocked by #2512
Everything else works, so backwards compat isn't an issue.

@tecnobrat @plukevdh just a note that #2519 contains a fix for #2512, and will likely make its way into 0.10.4.

^ BTW this change was merged in and will be in the 0.10.4 release, which will likely be out in a few weeks. Would love your feedback on this if you can!

We're experiencing the same issue running 0.10.3.
In one of our 3 nodes cluster, one node is now stuck at 95% RAM (3.34 of 3.67 GB)  usage receiving exactly the same amount of traffic than the other 2 nodes. We're monitoring it and no GC seems to be triggered at any time that will evict the RAM load.
Has someone solved this by upgrading to 0.10.4?
BTW, let me know if you want me to provide profiling data.
Cheers

Facing the Same Issue.
Running Kong in Docker (using https://github.com/Mashape/docker-kong/tree/master/compose)
Host : Ubuntu  & docker-ce

@pachico @rajasoun I would strongly recommend updating to 0.11.x because there were lots of changes that may have positively affected this issue.

@thefosk, thanks for your reply. We're in the process of upgrading now.
I will reply here if it solved the issue.

We have upgrade to 0.11 three days ago and we are still experiencing the same problem.
We are actually expecting some of our instances running Kong (and only Kong) to crash due to memory exhaustion.
Is there some way you can call the GC?
If we didn't have an auto-scaling solution we would already be looking for alternatives.
Help would be highly appreciated.

I tried and was unable to reproduce this using https://github.com/Kong/docker-kong/tree/master/compose and the plugins mentioned.
I only configured a single API and hammered the Kong cluster with https://github.com/wg/wrk but never had the memory problems indicated.

It takes some days for the instance to crash for memory exhaustion.
This is the typical life cycle of an instance and, as you can imagine, we're quite worried about it.

@pachico can you share your configuration? what plugins do you use?

 Concerning memory issue: https://github.com/Kong/kong/issues/2194

@pachico any updates on this?

If you are encountering this issue, please do share:

Your Kong version (kong version -a)
OpenResty version and compilation flags (nginx -V)
Your Kong configuration: underlying datastore, plugins in use, rough estimate of the number of Consumers, and type of APIs matching in use (URI, regex URI, host, wildcard host, etc.).

While we are very eager to get this to a resolution, we need to narrow down the scope of search because such a leak could be hidden anywhere: in Kong core, in a plugin, in a dependency (C or Lua), in OpenResty itself, in a third-party NGINX module.
At least getting such information for each one of you who observed this leak would help us make correlations if we see a common piece of functionality you are all using. This is very important to help us resolve this issue.
Additionally, if you are familiar enough with NGINX/OpenResty, I suggest using tools such as Valgrind, the OpenResty SystemTap scripts (https://github.com/openresty/stapxx#lj-gc), or gdb utils (https://github.com/openresty/openresty-gdb-utils#lgc) to help us narrow this down between the Lua VM or the C land of NGINX and lua-nginx-module.
Your report is greatly appreciated, and so is your help!
Thanks

Hello @Tieske. I'm glad to tell you that it seems the problem was not caused by Kong's core but by one of our custom plugins.
We have finally solved it and the RAM consumption is back to a stable and low level.
Sorry for the inconveniences.

@pachico Thank you for letting us know.
We'll keep this thread open for now, hoping to get answers from @rajasoun, @plukevdh and/or @tecnobrat as well, or for anybody else who might be encountering this. Please do follow the steps/provide the details I asked for in my above message if you think you are still encountering a memory leak. Thanks!

@pachico would you mind providing some details on what exactly went wrong with your custom plugin? (for future reference here)

@Tieske We are running a stack which uses XML as external document model (mostly dictated by the industry standard) but we wanted to use Kong as API gateways. This forced us to develop most of the plugins in order to return proper XML response formats.
One of these plugins validates input XML against XSD using Xerces-C++ lua wrapper. It turns out we ended up having a memory leak for every document validated.
Anyway, now we're quite happy with it, despite to change the format of the response required us to completely duplicate the built-in plugins since there was no view "template" we could modify.

@pachico did you just "hack them to xml" or did you implement a template? in the latter case, I'd love to see a PR!  😄

@Tieske we "hack them to xml", and yes, this means we had to re do some of the work every time these built-in plugins changed over versions  :)

Hey all,
I'm a colleague of plukevdh who originally opened this issue.
We've finally been able to upgrade to kong 0.11.2, we had issues with 0.10.0 with it breaking URL encoding so we had to wait for 0.11.
We are still seeing the memory leak on 0.11.
We run kong 0.11.2 based on the released docker image.  We run this in docker in production.
We are using the following plugins:

acl
basic-auth
cors
datadog
jwt
tcp-log
response-transformer

We have about 60 APIs configured.  We peak at about 8 requests per second, and the memory consumption does appear to be based somewhat on traffic volume.  On our staging servers the consumption increases very slowly (very little traffic) where is on our production system, it increases roughly at an exact factor increase based on the traffic increase. (2x traffic = 2x memory consumption)
Regards

@tecnobrat if you disable the response-transformer plugin, what behavior do you see?

@thefosk I'll see what I can do, that's easier said than done because we use it to set a header on every response and I'll need to make sure that doesn't break a bunch of things to test it properly.
Is there any particular reason why you make that suggestion?

@tecnobrat if you are changing the response body Kong will have to parse the content in-memory (https://github.com/Kong/kong/blob/master/kong/plugins/response-transformer/handler.lua#L40-L42), but that should only happen when changing the body of the response (not when adding only headers)

@thefosk yea, this is what we have it configured as:
{"created_at":1494441618000,"config":{"replace":{"json":{},"headers":{}},"add":{"json":{},"headers":["X-Content-Type-Options:nosniff"]},"remove":{"json":{},"headers":{}},"append":{"json":{},"headers":{}}},"id":"eaf18c1a-5759-48b8-8969-d3ef44940e33","enabled":true,"api_id":"a96a49fa-b230-409a-a899-de5f212eb9b3","name":"response-transformer"}

Another test would be to disable the tcp-log plugin first, and the datadog plugin later if the problem still continues. The logging plugins are taking up memory for every request and they could also be the cause, we should try by trial and error.

We're also experiencing this issue. Our symptoms are quite similar to those that @tecnobrat described: the rate of memory consumption appears to be tied to request rate.
Kong 0.10.2 from the Kong-provided .deb packages.
APIs: ~60
Peak requests: 150/s
API matching: URI (non-regexp)
Plugins:

cors
jwt
rate-limiting (local policy)
request-transformer
syslog

We're using modified copies of the jwt and request-transformer plugins. The modifications are quire simple, but that complicates things a bit. The jwt plugin is configured to add claims as HTTP headers, and the request-transformer plugin to run at a different priority. We're only using request-transformer to modify headers.
I'm hoping to be able to work through some of @thibaultcha's debugging recommendations early in the new year.

Disabling syslog is a good idea too. I'll try that after Christmas.

The logging plugins don't implement batching (which is a feature in our roadmap) - if turns out the problem is caused by them we might be able to give it a higher priority.

Looking at both lists of plugins, the cors one is in both. And both have logging plugins (those share the serializer code), so those would be most suspect imo.
@tecnobrat since you seem to have it reproduced in a non-prod environment, could you experiment to see whether any of those could be the culprit?

Hello @plukevdh / @tecnobrat , did you have time to try 0.12 and see if it solved your memory issue?

We're currently in the process of updating to 0.12. I should be able to let you know if we've seen any improvement by early next week.

We cut the cluster shown on this chart over to 0.12 just after 12:00 on 2018-02-26. The new release definitely looks to have resolved the problem for us. Big thanks to everyone involved. If you're ever in Sydney I'll buy you a drink.

@daurnimator   ^^^ free :beers: !

👏 👏 👏

Closing this now, thanks everybody for the feedback.


Breaks out detailed readme stuff into docs directory

I rule and have completed some work on Case Manager that's ready for review!
per the wise advice of @stvnrlly and @DarthHater  and @Kevin-Wei and @lomky , this starts the process of breaking the readme out into a docs directory where we can start sticking some of the director's cut stuff.
This pull request makes the following changes:

Extracts advanced setup
Some general readme grooming and updating

It relates to the following issue #s:

Fixes #813

Codecov Report

Merging #822 into master will not impact coverage.

@@           Coverage Diff           @@
##           master     #822   +/-   ##
=======================================
  Coverage   96.69%   96.69%
=======================================
  Files          35       35
  Lines         727      727
=======================================
  Hits          703      703
  Misses         24       24

Continue to review full report at Codecov.

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


repeat: add option to pass iterator

done in https://github.com/icmx/nukit/commit/7821773949efd7de1542c32c51397a6858a9de4b


Document the liveshare.{account,accountProvider} Settings

I've been trying to figure out how to configure both the "liveshare.account" & "liveshare.accountProvider" settings. The best I could come up with was that they're expected to be type: string (from the Extensions package.json file...). I would rather have sent a PR than Feedback, but that's the best I could do. Could you offer any clarification on those two settings?

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

ID: 6a671ef3-7321-b9b6-2ca5-9378c613a31b
Version Independent ID: 26462292-c010-d177-6ebb-6d63ae82e5f7
Content: Collaborate using Visual Studio Code -  Visual Studio Live Share - Visual Studio Live Share
Content Source: docs/use/vscode.md
Service: vs-liveshare
Product: visual-studio-family
GitHub Login: @Chuxel
Microsoft Alias: clantz

I think these settings are probably deprecated.
@jasongin to provide more information.

They are not deprecated, but they are rarely needed. They enable you to select which account should be used for automatic sign-in in case you have cached credentials for multiple accounts available.
For example, imagine you work on 2 projects with which you want to sign in with different identities. You could set the "liveshare.account" setting to different email addresses in each project directory to ensure they each automatically sign-in with the correct account. The "liveshare.accountProvider" setting could be set to either "microsoft" or "github" in case you use the same email address with multiple providers.

Done.

Can the signed-in account itself be remembered across sessions? When do 'cached credentials' expire? This seems a little unclear.

They are not deprecated

Is this still the case?
I want to get rid of the pop-up prompt to choose either microsoft or github each time i start a session, and it also makes it easier to share docs with teamates on the settings that make it work within our network.  Sharing a small json snippet and then it just works is much easier than telling/documenting "look for popup, choose selection, " ...


Enable osx/arm64

@conda-forge-admin please rerender

I believe this can be closed right?
Happy holidays!


[release] Support for GitHub Artifact Attestation

See the announcement.
More detailed information in GitHub's generate-build-provenance repository.

As far as I can tell the behavior is exposed as a GH action. JReleaser would require direct API calls while running on a GitHub runner. I suppose 3rd parties may not have access to such API otherwise bad actors may gain access.
@martinwoodward @brunoborges would appreciate any tips & hints you may provide 😅

Similarly as it was done with SLSA catalog, JReleaser can generate file that contains a list of all releasable artifacts that should be attestated. This file would have to be feed to the https://github.com/actions/attest-build-provenance action
In this way, there's no external duplication when defining subject paths and there should be a match with every artifact posted as a release asset.
cc: @sormuras

Lovely!
Beware that there's another interesting feature on the roadmap:

https://github.com/github/roadmap/issues/943

Which could render the interaction with JReleaser as easy as:

just release to GHA with JReleaser
let the release process generated attestations for all attached artifacts

No?

🎉 This issue has been resolved in v1.13.0 (Release Notes)


NSenter fails to execute

Rancher Version:
v0.63.0-rc2
Docker Version:
1.10.2
OS:
Ubuntu 14.04
Steps to Reproduce:
Deploy a global service.
at 60+ nodes in an environment add 10 + nodes at a time.
Results:
As hosts register and pick up the global service containers, you start to see:
Failed null, exit code [1] output [nsenter: failed to execute /var/lib/cattle/events/config.update: No such file or directory
]

in the logs.
Expected:
Containers/Nodes register without error messages.

Closing as a duplicate of https://github.com/rancher/rancher/issues/835


Update keystone-ec2 scripts to pass environment variables into build

They keystone-ec2 scripts should build against the correct versions of spark/hadoop for the cluster that is launched (e.g. SPARK_VERSION=1.3.1 HADOOP_VERSION=2.0.0 sbt/sbt assembly

Fixed by https://github.com/shivaram/spark-ec2/commit/36d998c76a0750513948bad48801528425d96063

Nice - thanks @shivaram !


Test testOOTBTracingWithWorkers intermittently fails

Description:
Below is the error log. More details can be found in scans.gradle (not sure for long it will be retained though)

I have also attached the complete log file.
logs_7124.zip

Dependencies between Observability Test Cases had been removed and waits had been added in worker related test cases in #24949. Hence this issue is fixed.

Dependencies between Observability Test Cases had been removed and waits had been added in worker related test cases in #24949. Hence this issue is fixed.


feat: add article type

Please see the issue for the history.

#80

I have a few concerns, so please give me some feedback.

Do not check for og:type.

If you want to be fully compliant with the OGP specification, you have to make it work only for <meta property="og:type" content="article" />. However, this implementation will always read article:*.

Is the structure of Metadata good?

Added under the root instead of under open_graph to match the structure of the property names.

Is the test code in a good place?

Thanks for your contribution.

Do not check for og:type.
If you want to be fully compliant with the OGP specification, you have to make it work only for . However, this implementation will always read article:*.

I see. I think this is fine for now and we can revisit this in the future if we need to be stricter.

Is the structure of Metadata good?
Added under the root instead of under open_graph to match the structure of the property names.

I see why you did that but think  having it under open_graph would be more intuitive. I don't mind having a disparity between the structure and property names.
Is the test code in a good place?
Tests look great , nice work!
I want to revisit the testing approach at some point and look at removing nock and the http server.

I should revisit the testing approach at some point and look at removing nock and the http server.

I'm not trying to be argumentative here, but can you briefly explain why?

Modified article to be part of open_graph.

I should revisit the testing approach at some point and look at removing nock and the http server.

I'm not trying to be argumentative here, but can you briefly explain why?

I've not thought about it in any great deal but the current testing approach feels a bit cumbersome.


Refactored userRoutes file and moved controller functions to userControllers file

#55
Refactored userRoutes file and moved controller functions to userControllers file

thank you , it was just what we needed 👍


Bash on Windows screen flashes on briefly then disappears

I have installed Bash on Windows using the Turn Windows features on or off.
I selected Windows Subsystem for Linux
restarted
I am using windows 10 pro 1809 v17763.437
help
@makdaddy

Could you please collect log files?


Update README.md

s0md3v  can i change: programs buy donating a few bucks, to  programs by donating a few bucks?

s0md3v should i work on this issue?


feature/setup-bootstrap

Adding Bootstrap

Installation
Importing compiled CSS

Looks good, let's merge!


Fix an i18n typo in breadcrumbs for cim_base_storage_extents

This fixes the last remaining "${foo}" % {:foo => ...} (${} instead of %{}).
This one in cim_base_storage_extents, not sure where in the UI...

Euwe Backport details:
$ git log
commit b046be0dccb05a0193d81ab6155e32166f7a2237
Author: Milan Zázrivec<EMAIL_ADDRESS>Date:   Thu Oct 13 16:53:53 2016 +0200

    Merge pull request #11914 from himdel/fix-i18n-typo

    Fix an i18n typo in breadcrumbs for cim_base_storage_extents
    (cherry picked from commit bdf3c9b1026a56ef89194571f8f948b04f0693de)


make a javascript implementation?

This project is labeled "javascript" but it's actually completely written in jQuery. With jQuery becoming more and more obsolete, it would be nice to have an actual javascript implementation.
Otherwise please consider changing the label to jQuery or at least mention the dependency, might save some people like me from disappointment.

it's bootstrap-markdown and bootstrap requires jquery. anyone that uses bootstrap knows that it uses jquery so I don't see any issues at all.
PS: jquery is a framework of javascript - still a javascript

btw, this plugin does not even have it's own native parser i.e. it uses supported 3rd party library parser like marked. I think you're looking for something like that as this library is mainly for UI.
You can actually easily make something similar with this plugin without using jquery or even bootstrap and by just using marked + textarea, no need to use a fancy plugin like this if you don't like jquery. 😄


Problems on windows

level 37 (push_branch)
It uses unix-specific command wc
The error message:
'wc' is not recognized as an internal or external command,
operable program or batch file.
Sorry, this solution is not quite right!

Same with level 39 (fetch)

Name: reorder
Level: 47
Difficulty: ****
You have committed several times but in the wrong order. Please reorder your commits.
C:/Ruby21-x64/lib/ruby/2.1.0/fileutils.rb:1163:in utime': Permission denied @ utime_failed - file3 (Errno::EACCES)         from C:/Ruby21-x64/lib/ruby/2.1.0/fileutils.rb:1163:in block in touch'
from C:/Ruby21-x64/lib/ruby/2.1.0/fileutils.rb:1160:in each'         from C:/Ruby21-x64/lib/ruby/2.1.0/fileutils.rb:1160:in touch'
from (eval):15:in block in setup'         from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/githug-0.4.3/lib/githug/level.rb:90:in call'
from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/githug-0.4.3/lib/githug/level.rb:90:in setup_level'         from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/githug-0.4.3/lib/githug/game.rb:52:in level_bump'
from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/githug-0.4.3/lib/githug/game.rb:21:in play_level'         from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/githug-0.4.3/lib/githug/cli.rb:14:in play'
from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.14.6/lib/thor/task.rb:22:in run'         from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.14.6/lib/thor/invocation.rb:118:in invoke_task'
from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.14.6/lib/thor.rb:263:in dispatch'         from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/thor-0.14.6/lib/thor/base.rb:389:in start'
from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/githug-0.4.3/bin/githug:4:in <top (required)>'         from C:/Ruby21-x64/bin/githug:23:in load'
from C:/Ruby21-x64/bin/githug:23:in `'

@vors Thanks for raising all these. I did used to support Windows when I had easy access to a Windows machine, I'll try to replace these tools with pure ruby alternatives.
I'm not sure what the issue on the reorder level is, maybe a lock on the file?
The files/lines in question are:

push_branch - https://github.com/Gazler/githug/blob/ab0a9692e900bbe742e9bf248e4a0836dd376261/levels/push_branch.rb#L63
fetch - https://github.com/Gazler/githug/blob/ab0a9692e900bbe742e9bf248e4a0836dd376261/levels/fetch.rb#L55
reorder - https://github.com/Gazler/githug/blob/ab0a9692e900bbe742e9bf248e4a0836dd376261/levels/reorder.rb

To prevent future regressions you may want to have appveyor build script in repo. Appveyor is a travis-ci for windows. It's free for open source and use yml.

@vors I have created a new branch at https://github.com/Gazler/githug/tree/fix/windows for windows fixes. I would appreciate it if you could either run the tests or manually verify the levels in question using the following steps:
To run the tests:
git fetch git@github.com:Gazler/githug.git
git checkout fix/windows
rake

To test manually:
git fetch git@github.com:Gazler/githug.git
git checkout fix/windows
rake
gem install pkg/githug-0.4.3.gem
cd YOUR_GITHUG_DIRECTORY
githug reset fetch
git fetch
githug
githug reset push_branch
git push origin test_branch
githug

I am still not sure about the reorder one, I would appreciate it if you could just reset the level and try again for that one.
With regards to Appveyor, am trying to set it up now.
@abudarian - you may be interested in this as well.
Thanks

Just tried test with rake, got problems for all levels:
...Exiting
..********************************************************************************
*                                    Githug                                    *
********************************************************************************
...********************************************************************************
*                                    Githug                                    *
********************************************************************************
...............................this is hint 1
...................................FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
An error occurred in an after(:all) hook.
  TypeError: no implicit conversion of nil into String
  occurred at D:/dev/githug/spec/githug_spec.rb:29:in `chdir'

Failures:

  1) The Game solves the init level
     Failure/Error: Dir.chdir("/tmp")
     Errno::ENOENT:
       No such file or directory @ dir_chdir - /tmp
     # ./spec/githug_spec.rb:23:in `chdir'
     # ./spec/githug_spec.rb:23:in `block (2 levels) in <top (required)>'

  2) The Game solves the config level
     Failure/Error: Dir.chdir("/tmp")
     Errno::ENOENT:
       No such file or directory @ dir_chdir - /tmp
     # ./spec/githug_spec.rb:23:in `chdir'
     # ./spec/githug_spec.rb:23:in `block (2 levels) in <top (required)>'
...

@vors The tests actually use many linux commands to fetch the commit hashes for certain levels. I have tried to get Appveyor working, but didn't have much luck with it.
I have however fixed all 3 issues that you have raised and released githug v0.4.4
The issue for the reorder level was that the previous level didn't close one of the files in the solution.
Thanks for raising the issues!
cc @abudarian

That's great! Thank you.
I can try to provide windows alternative for such commands with PowerShell.


Implement image pull policies

These policies exist in testcontainers-java and are currently missing from this project.
They allow you to specify when you should pull a new image.

@tillahoffmann This is ready for review. Do you mind taking a look?

Codecov Report

Merging #233 (798baa0) into master (95fb5e0) will decrease coverage by 0.66%.
The diff coverage is 95.12%.

@@            Coverage Diff             @@
##           master     #233      +/-   ##
==========================================
- Coverage   86.32%   85.66%   -0.67%
==========================================
  Files          27       33       +6
  Lines         746      823      +77
  Branches       70       81      +11
==========================================
+ Hits          644      705      +61
- Misses         79       95      +16
  Partials       23       23

Impacted Files
Coverage Δ

testcontainers/core/container.py
76.69% <80.00%> (-0.39%)
:arrow_down:

testcontainers/core/policies/_cache.py
92.30% <92.30%> (ø)

testcontainers/core/docker_client.py
53.33% <100.00%> (+2.17%)
:arrow_up:

testcontainers/core/policies/__init__.py
100.00% <100.00%> (ø)

testcontainers/core/policies/always.py
100.00% <100.00%> (ø)

testcontainers/core/policies/base.py
100.00% <100.00%> (ø)

testcontainers/core/policies/default.py
100.00% <100.00%> (ø)

testcontainers/core/policies/maxage.py
100.00% <100.00%> (ø)

testcontainers/redis.py
0.00% <0.00%> (-85.72%)
:arrow_down:

testcontainers/mssql.py
100.00% <0.00%> (ø)

... and 7 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Looks good, I've left some inline comments.
One larger question is whether we need the additional complexity of the image cache. Directly getting the images from the client takes about 5 ms on my machine. That seems negligible compared with typical runtimes of tests because of the container start-up time. Removing the cache could simplify the code a little. What do you think?

I ported the Java code to work and the cache is present there, which is why it is present here. Note that the same container might be stopped or started multiple times and 5ms for a single query regarding its age might add up to a lot in a very large test suite.
If the cache can shave off these calls to Docker, a test suite of significant size should benefit from this cache.

I have a relatively strong preference to remove the cache for two reasons. First, it's more code to maintain. Second, I don't think the caching will help in most real-world scenarios.
I appreciate that runtime is different across different machines, but getting a single image takes about 4ms on my machine. Using the cache, getting a single image takes about 300ms. It'll of course be quicker the next time images are fetched, but we'd have to use at least 75 containers per test suite to make the cache worthwhile. To have a delay of one second over the cached version, we'd have to run about 325 containers. I'd argue that for a test suite that runs more than 300 docker containers a delay of one second is negligible. But let me know if I misunderstood/miscalculated.


How to calculate the Von Neumann Entropy for a given region (or several given regions) of the genome

I want to compare VNE (Von Neumann Entropy) in different regions on the genome.
In both entropyExample.m and entropyExampleExpanded, VNE can only be calculated for one chromosome
I note that in vne.m.
tempEig = eig(A);
tempEig = tempEig/(sum(tempEig));
vneOut = -sum(tempEig.*log(tempEig));
I ended up looking through your published paper  "4DNvestigator: time series genomic data analysis toolbox“
In the section "Network entropy", the formula for Entropy is given
Considering the contents of vne.m, so I only need to calculate eigenvalues for the specified region: a, VNE for the specified region = - a * ln(a)
The question is, what if a < 0？

there are a number of regions that I am interested in, and they are all special regions that I have filtered out,
so each region calculates a value and then just sums it up.
This is also consistent with the article, vne.m
"tempEig = tempEig/(sum(tempEig))"
Another question is, if I want to calculate the VNE for a given region, is sum(tempEig) here a genome-wide calculation of the sum of eigenvalues

Or I can just calculate the correlation matrix for the given regions, use this matrix to calculate the eigenvalues, and then calculate the VNE


VMware: VM ingestion broken in case of dynamically handled hypervisor/guest OS versions.

ACS 4.19 RC1
VMware ingestion is broken when testing with VMware <IP_ADDRESS>as the hypervisor and Rocky Linux (8 or 9) - this is a consequence of changes implemented in https://github.com/apache/cloudstack/pull/7380:

if no record for <IP_ADDRESS> in the hypervisor_capabilities table, then use "capabilities" of the "parent" version which is VMware 8.0;
if no records in the guest_os_hypervisor table, then use the records/mappings of the "parent" version - from 8.0
this all works fine during VM deployment
this does not work during VMware ingestion, where we do reverse-mapping, and code seems to look for a DB record for "rockylinux_64Guest" for version <IP_ADDRESS> in the guest_os_hypervisor table - and this record does not exist

The logic of "mapping minor version guest OS mappings, if missing, to a parent version mappings" - sounds fine, as long as:

It's supported by all ACS features/code where we try to use guest OS hypervisor mappings (this now includes VMware VM ingestion that needs to be fixed, but there might be other places)
there is detailed logging similar to "The guest OS mappings for XXX was not found for the hypervisor version YYYYY (<IP_ADDRESS>), looking for parent version mappings (8.0), found, using that mapping etc" - something similar to this, needs to be very verbose, otherwise troubleshooting will be impossible.

For the hypervisor capabilities, I would propose the following:

Revert the logic of dynamically "assuming" that the minor version has the same capabilities as the major version (in fugure, VMware e.g. 8.5 version will certainly NOT have the same capabilities as the 8.0 version, it would have more capabilities) - so revert the code and recreated the needed DB records in the hypervisor_capabilities table
Worst case, even though it's a bad solution - leave it as it is, but add a loooot of logging, similar to the guest OS mappings logging (not found this, using that version capabilities)

@andrijapanicsb @weizhouapache @nvazquez @DaanHoogland @harikrishna-patnala @rohityadavcloud this seems like a blocker. I guess I'll have to recall the RC1 and wait for a fix. Any other suggestions?

Did some investigation for this. Guest OS and VM import issue should be solved with #8426 (currently it needs #8429 to be merged). The hypervisor capabilities issue is more complex and below are my findings,

Currently, the code will use the capabilities of the parent version if the capabilities of the minor/patch hypervisor version are missing.
In the above case there is no option to update the capabilities manually using updateHypervisorCapabilities API as there is no entry for the given hypervisor version, eg: VMware <IP_ADDRESS>

Based on the above findings and the original report do we need to consider the hypervisor capabilities issue as a blocker?
To solve this hypervisor capabilities behaviour I feel the following are our options:

Use the mechanism of retrieving hypervisor capabilities from the parent hypervisor version only for patch or lower versions. Add logs in the code to highlight parent version capabilities are used. Document the behaviour.
Use the mechanism of retrieving hypervisor capabilities from the parent hypervisor version as it is with additional logs. Support manually updating capabilities for inexisting minor or lower hypervisor versions by adding hypervisorversion param in the updateHypervisorCapabilities API.
Revert this mechanism of retrieving hypervisor capabilities from the parent hypervisor version and add capabilities for <IP_ADDRESS> in the traditional manner.

@andrijapanicsb @weizhouapache cc @harikrishna-patnala @DaanHoogland @nvazquez feedback, suggestions?

@shwstppr at this stage I think you can make the call you do above. In general and as a matter of design principle I feel we should always fall back even over major versions (ad 1). In this case, woking around a backwards incompatible vmware feature we will have to be explicit about what we support. making an extra API is good if that means the operator has more control, but we must make sure regular upgrades can not conflict with that (ad 2). I think we should fix forward, not backwards (ad 3). Of course only if feasible given we want to release.

Based on the discussion with some of the participants here, I've created https://github.com/apache/cloudstack/pull/8444 to explicitly add support for VMware <IP_ADDRESS> and also add logs when capabilities retrieval falls back to the parent version

Based on the discussion with some of the participants here, I've created #8444 to explicitly add support for VMware <IP_ADDRESS> and also add logs when capabilities retrieval falls back to the parent version

will you include that now? or is it for 4.19.1?

Based on the discussion with some of the participants here, I've created #8444 to explicitly add support for VMware <IP_ADDRESS> and also add logs when capabilities retrieval falls back to the parent version

will you include that now? or is it for 4.19.1?

@DaanHoogland already created the PR. We can include it in 4.19.0

Fixes for both guest OS mappings and hypervisor capabilities have been merged.
Based on the discussions, in the future, we may have to take care when support for new minor versions is added and there is a breaking change resulting in a difference in capabilities. API update may also be allowed in such cases.


Feature: Column for "$ Total" on Orderbooks and Trade History

Abstract
Add a column called $ Total on each orderbook and trade history table.
It will be calculated as follows: $ Total = Price * Quantity.
This will produce the total $ amount being quoted for the given quote.

This ticket is being considered for removal. It would clutter the U.I. in it's current form.

Not enough screen real estate with current design. Closing.


Confusing area size selection

The desired area size currently is attached to the set values in Output Zoom, Output Width and Output Height.
Changing one of those values also changes the area size accordingly.
This is somehow confusing and could be improved to be more user-friendly.
Output Width and Output Height also define the picture resolution which is fine.
Solution:

Let the user set the area size in a separate box called e.g. "Area Size". The area size then shouldn't change until the user sets another value for this within this box.
As Output Width and Output Height define the picture resolution, they could be merged to one box called "Output Resolution".
Setting the Output Zoom Level only should define the maximum possible quality based on the set Output Resolution.

Let the user set the area size in a separate box called e.g. "Area Size". The area size then shouldn't change until the user sets another value for this within this box.
As Output Width and Output Height define the picture resolution, they could be merged to one box called "Output Resolution".

This solution wouldn't allow for non-square outputs, e.g:

Setting the Output Zoom Level only should define the maximum possible quality based on the set Output Resolution.

Mm, I think you're right.
The more intuitive way of doing this would be to "click and drag" an area on the map, and then define the pixel dimensions you want for the file.
However this is a problem in this case, becase we can only allow certain fixed "zoom" or "resolution" levels (1), so we can't do any arbitrary dimensions & physical size combination.
In addition, for Unreal Engine & Unity (& possibly other softwares) they will only allow certain pixel dimensions.
Hence...I think the current solution is still the best for the moment, if a little unintuitive.
If you can think of a way that satisfies the above constraints, feel free to re-open the ticket!
(1) : The data is only provided at fixed resolution levels, and interpolating between any of these levels (i.e. allowing arbitrary size & zoom level combos) would severely limit the resolution, and be no better than most existing tools.

This solution wouldn't allow for non-square outputs, e.g:

Okay, if you want the user to be able to also get a rectangle selection then probably adding two input fields - one for each axis - would be a better solution.

The more intuitive way of doing this would be to "click and drag" an area on the map, and then define the pixel dimensions you want for the file.

No, I don't think so. Let me try to explain it by the following example:
Let's say the user wants to create a box selection of 16 km² - square selection would be 4x4 m and a rectangle selection 2x8 m.
Now he has to create a box by click and drag (freehanded I guess), but he doesn't get the correct size. Even after several tries he still doesn't get a selection of 16 km².
However, it could work if you would add this way of area selection as an option, so in addition the user can then also adjust the selected area by typing in the values for each axis manually.

Ah right - I see what you mean, so I guess you're asking for selection by physical measurements instead of pixels?
The thing that stopped me from doing this is that the calculations are quite difficult! It is definitely something that could be implemented, though.
Perhaps a toggle, for example to switch from pixel beased measurements to physical measurements?:

I don't think that this solves the actual problem. The main problem is that changing the Output Zoom Level also changes the size of the selection and that shouldn't happen in my opinion. Therefore I thought that separating the individual inputs (Output Zoom Level, Output Image Resolution and Area Size) from each other would make more sense and offers more possibilities.
Let me try to explain what I mean with another example:
Let's say you want to select an area of 16 km² with an image size/quality of 8129 x 8129 px and the Output Zoom Level set to 15 or higher. This currently isn't possible because a) you can't set the area size specifically and b) changes in both, the image size (Output Width/Height) and the Output Zoom Level, do change the area size independently.
This makes it hard to get the expected result.
In this case I think we should be able to set and change the area size only by defining it in a separate input field called Area Size and changes in the other two input fields shouldn't affect the area size.
I hope you now understand what I mean.


Format visibility for statics and consts

Fixes https://github.com/nrc/rustfmt/issues/499.

Thanks for the quick fix!


Revert MPU9250 fusion to DMP+DCM-based correction

Might as well add flags to debug.h to toggle between DMP, Mahony and Madgwick


Value of 'x-example' is used as value in parameter fields in the Swagger UI since 2.9.2

Since we have updated from springfox version 2.8.0 to 2.9.2 we noticed that the 'x-example' value (swagger.json) is now used as initial value in the parameter fields in the swagger ui.
Please see the following part as an example swagger json file (see 'x-example'):
{
  "swagger": "2.0",
  "info": {
    "description": "",
    "version": "",
    "title": "API",
    "contact": {},
    "license": {}
  },
  "host": "localhost:8080",
  "basePath": "/",
  ...
  "paths": {
    "/api/": {
      "get": {
        "tags": [
          "Something"
        ],
        "summary": "Get something",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "the id",
            "required": true,
            "type": "string",
            "allowEmptyValue": true,
            "x-example": "5cd2daf3-b304-4173-8654-927845799207"
          }
        ],
        "responses": {
          "200": {...},
  ...
  "externalDocs": {}
}

And a screenshot of the associated swagger ui:

Is it configurable to avoid this? Because we would like to have examples in our swagger.json's, but the parameter fields in the swagger ui should initially be empty.
Thanks.

This is a function of Swagger-ui.

Ok thanks for your answer.


fix folder already rendered with same name

fix #246

Thanks for the PR, this will be great to have fixed.  Looks like a good set of tests.
Overall I'd just recommend adding some comments and refactorings so that it's more clear how exactly this gets validated, and what's considered valid/invalid.

thx for review @latkin , i'll send an update

Sry for delay.
During refactoring i tried to fix root problem (add multiple nodes with same name) but is not ready yet.
I'll complete this one and update it, max this weekend, and send the other fix as separate pr

Thx for Ping :)

Enrico, is there any progress to report on this?
Thank you
Kevin

i am near to end, i used lot of time for complete but is going nice.
i need to update status more while working

What you do is fine mate, and thank you so much for taking on this work.
Kevin

status? :)

@enricosada I've heard before that this bug is annoying, it will be great to have your fix.  Do you have an ETA on an update?

i added the new version.
i'll check why build failed, but i rebased this branch onto master HEAD before push
the idea is to used a tree structure (the RoseTree) and check the tree for the invalid folder logic.
The function also remove unused msbuild <Folder ..> items
Every node is a ProjectTreeNode:

Folder, the virtual folder used by solution explorer
Item, an item with a reference to the msbuild item

every node can have children,  exactly like solution explorer, so there is not  a 1-1 mapping with msbuild items
the function explode every msbuild item as tree, add every tree to the project root, and discard unused folders
the tree is checked for invalid folders
The algorithm use domain types, so we can unit test, instead of run the integration test with full visual studio (slow).
I think this is good because we can start take advantage of f# discriminated union for msbuild nodes (like ComReference etc) and behaviours

btw, can i add the FsCheck as reference from nuget?
For vs extension tests (not core, so np for profiles)
sometime is easier to use that for tests (like path, tree, list) because easy invariant

I like this, it is a big ambitious fix.  We will have to go over the code more thoroughly but it certainly looks, nice with a lot of detailed test cases, thank you for this.
However, given where we are in the cycle and how late it is, I think we are going to have to postpone taking this until the next version.  We are quite thoroughly locked down right now, and accepting changes only with the minimum necessary footprint changes.  It looks like a bunch of opportunistic and good restructuring was done, but we do not really have the runway to ensure that such a big set of changes to our project system do not have any impactful side effects.
It is a shame, I was hoping that we would ship Dev 14 with a fix for the issue.  We will not decline this pull just keep it until we can accept it into F# V.Next.  People should continue to review and thoroughly vet this submission.

@enricosada, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

@enricosada is this big change still beneficial/needed, given that the original bug was fixed?

Closing this out as original bug has been fixed.  Please migrate this work to the tip of OOB and re-open if you'd like to revisit this for an upcoming release.


coverage gutters do not show up sometimes

Describe the bug
I'm running pytests. I was previously getting gutter indicators to show up, but they no longer are. I have to do line coverage to see anything. I saw on the readme that there's a conflict with breakpoints. But, I've removed all breakpoints in my workspace and regenrated coverage, and I still don't see itin the gutter.
Also, the pytest I'm using creates a coverage.xml (default). The extension has a default of cov.xml, yet it still finds coverage.xml
Desktop (please complete the following information):

OS: Windows 10, but remoted in to an Ubuntu 20 docker container, and running remotely.
Extension Version: 2.8.0
VSCode Version: 1.58.2

@stealthrabbi Thanks for the ticket!
If you could try out the example python project and let me know if that works any better for you, that would be a great first step!
https://github.com/ryanluker/vscode-coverage-gutters/tree/master/example/python
Regarding the extension finding coverage.xml, we have had people mention that a lot, so it was added as a default alongside the other popular coverage file names. The old way to specify the file names (for lcov and xml) is being deprecated eventually.
https://github.com/ryanluker/vscode-coverage-gutters/blob/master/package.json#L136-L144
https://github.com/ryanluker/vscode-coverage-gutters/blob/master/src/extension/config.ts#L48
Regarding the Windows 10 -> Ubuntu 20 docker container setup, you may need to look into using the remotePathResolve if the coverage file paths that you get in the coverage.xml match correctly 🤔.
https://github.com/ryanluker/vscode-coverage-gutters/blob/master/example/example.code-workspace#L10
https://github.com/ryanluker/vscode-coverage-gutters/blob/master/example/remote-node/lcov.info

Closing this due to lack of activity but can easily reopen!


Update storage component to store student results

Codecov Report

Merging #106 (bb01436) into master (2d7498d) will decrease coverage by 1.23%.
The diff coverage is 27.77%.

@@             Coverage Diff              @@
##             master     #106      +/-   ##
============================================
- Coverage     43.61%   42.37%   -1.24%
+ Complexity      522      519       -3
============================================
  Files           130      132       +2
  Lines          2703     2782      +79
  Branches        302      314      +12
============================================
  Hits           1179     1179
- Misses         1451     1529      +78
- Partials         73       74       +1

Impacted Files
Coverage Δ

...eedu/address/logic/commands/AddStudentCommand.java
0.00% <0.00%> (ø)

...seedu/address/logic/commands/ListScoreCommand.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
44.71% <0.00%> (-0.74%)
:arrow_down:

...du/address/model/assessment/AssessmentResults.java
0.00% <0.00%> (-30.77%)
:arrow_down:

.../address/storage/JsonAdaptedAssessmentResults.java
0.00% <0.00%> (ø)

.../java/seedu/address/storage/JsonAdaptedPerson.java
80.00% <0.00%> (ø)

...eedu/address/storage/JsonAdaptedStudentResult.java
0.00% <0.00%> (ø)

...ava/seedu/address/storage/JsonAdaptedTutorial.java
51.02% <58.82%> (+1.02%)
:arrow_up:

...u/address/storage/JsonSerializableAddressBook.java
88.57% <71.42%> (-0.32%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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


Bronze to tinker alloy

After hitting reset to defaults on mekanismI am no longer able to make bronze equipment, it all turns into thermal foundations tinkers alloy. Now thermal foundation is turning more virulent and overpowering mekanism on showing rf over joules with waila and now its hijacking equipment is there a way to make this stop aside from obviously removing thermal?

Yeah, nothing here is on my end or a result of my changes. Removing TE is the real only way to get rid of all interference, though it's definitely possible to fix the recipes using recipe editors.


listTables() failing to use correct prefix

Linux, PHP 7.2, Latest develop branch, MySQLi
If I use $db->listTables(true) (for $constrainByPrefix) with a prefix that includes an _I get a SQL statement that doesn't work. Pseudo-code:
$db = db_connect(['DBPrefix' => '_dev']);
$db->listTables(true);
echo (string)$db->getLastQuery();

I see that it is trying to escape the underscore with a bang (!):
SHOW TABLES FROM database LIKE 'dev!_%'
Tracing it back this is indeed what is set on the BaseConnection:
/**
 * ESCAPE character
 *
 * @var string
 */
public $likeEscapeChar = '!';

What am I missing? That doesn't work as an escape, should be \, right?

Postrge seems to provide an additional ESCAPE '!' to define the escape character:
		return $sql . ' AND "table_name" LIKE \''
				. $this->escapeLikeString($this->DBPrefix) . "%' "
				. sprintf($this->likeEscapeStr, $this->likeEscapeChar);

But I don't think that works in MySQLi and it's trying to use ! regardless.

There are actually a couple problems here... The escape character is one, but I'm baffled why it isn't causing failures in #2211. The other issue is that listTables() doesn't check $constrainPrefix before returning a cached value. That should be a pretty easy fix though.

From what I can see this is a bug inherited from CI3.
The thing is that SHOW TABLES FROM query can't have custom escaping character in LIKE statement. So something like this won't work:
SHOW TABLES FROM `database` LIKE 'dev!_%' ESCAPE '!';

We can try to use something like this:
SELECT `table_name` FROM information_schema.tables WHERE `table_schema` = 'database' AND `table_name` LIKE 'dev!_%' ESCAPE '!';

But I'm not sure if users always have access to information_schema. Any feedback on this would be appreciated. If so, we can do just:
protected function _listTables(bool $prefixLimit = false): string
{
	$sql = 'SHOW TABLES FROM ' . $this->escapeIdentifiers($this->database);

	if ($prefixLimit !== false && $this->DBPrefix !== '')
	{
		$sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = '" . $this->escapeIdentifiers($this->database) . "' AND table_name LIKE '" . $this->escapeLikeString($this->DBPrefix) . "%'" . sprintf($this->likeEscapeStr, $this->likeEscapeChar);
	}

	return $sql;
}

Ah that’s good info! I didn’t realize SHOW TABLES can’t take escape sequences but it makes sense as the cause. That means that there’s a deeper issue and the MySQLi driver shouldn’t be using escapeChar for some queries. We need a way to determine when that is and differentiate how to escape in light of that. SHOW TABLES FROM ‘database’ LIKE ‘prefix\_’ works fine so maybe we need two different escape functions?
Incidentally I think listTables() is the only function like this right now so it could probably be hard-coded into the driver but I want to make sure any future additions handle it correctly.

Is this now fixed then, by #2229?

Yes! Closing.


Manually migrate to vtk 9.3.0

Necessary as a workaround for https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/6306, fix part of https://github.com/robotology/robotology-superbuild/pull/1695 .

Checklist

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

@conda-forge-admin, please rerender

Not sure why pcl 1.14.0.* is required:
Could not solve for environment specs
The following packages are incompatible
├─ pcl 1.14.0.*  is installable and it requires
│  └─ vtk-base >=9.2.6,<<IP_ADDRESS>a0  with the potential options
│     ├─ vtk-base 9.2.6 would require
│     │  └─ pugixml >=1.13,<1.14.0a0 , which can be installed;
│     ├─ vtk-base 9.2.6, which can be installed;
│     └─ vtk-base 9.2.6 would require
│        └─ pugixml >=1.11.4,<1.12.0a0 , which can be installed;
└─ vtk-base 9.3.0.*  is not installable because it requires
   └─ pugixml >=1.14,<1.15.0a0 , which conflicts with any installable versions previously reported.

Not sure why pcl 1.14.0.* is required:
Could not solve for environment specs
The following packages are incompatible
├─ pcl 1.14.0.*  is installable and it requires
│  └─ vtk-base >=9.2.6,<<IP_ADDRESS>a0  with the potential options
│     ├─ vtk-base 9.2.6 would require
│     │  └─ pugixml >=1.13,<1.14.0a0 , which can be installed;
│     ├─ vtk-base 9.2.6, which can be installed;
│     └─ vtk-base 9.2.6 would require
│        └─ pugixml >=1.11.4,<1.12.0a0 , which can be installed;
└─ vtk-base 9.3.0.*  is not installable because it requires
   └─ pugixml >=1.14,<1.15.0a0 , which conflicts with any installable versions previously reported.

Apparently I hardcoded pcl 1.14.0 in https://github.com/conda-forge/bipedal-locomotion-framework-feedstock/pull/72 , no idea why.

@conda-forge-admin please rerender

Ok, perhaps I may remember why I pinned pcl to 1.14.0 :
framework-split_1724102702010/work/utilities/realsense-test/src/Module.cpp
2024-08-19T21:37:23.4047836Z In file included from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/src/GenericContainer/include/BipedalLocomotion/GenericContainer/Vector.h:12,
2024-08-19T21:37:23.4048956Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/src/ParametersHandler/include/BipedalLocomotion/ParametersHandler/IParametersHandler.h:17,
2024-08-19T21:37:23.4049696Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/utilities/realsense-test/include/BipedalLocomotion/RealSenseTest/Module.h:17,
2024-08-19T21:37:23.4050362Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/utilities/realsense-test/src/Module.cpp:10:
2024-08-19T21:37:23.4051422Z /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/iDynTree/Core/Span.h:5:4: warning: #warning <iDynTree/Core/Span.h> is deprecated. Please use <iDynTree/Span.h>. To disable this warning use -Wno-deprecated. [-Wcpp]
2024-08-19T21:37:23.4052238Z     5 |   #warning <iDynTree/Core/Span.h> is deprecated. Please use <iDynTree/Span.h>. To disable this warning use -Wno-deprecated.
2024-08-19T21:37:23.4052732Z       |    ^~~~~~~
2024-08-19T21:37:23.4053675Z In file included from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/common/actor_map.h:40,
2024-08-19T21:37:23.4054761Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/pcl_visualizer.h:48,
2024-08-19T21:37:23.4055803Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/cloud_viewer.h:39,
2024-08-19T21:37:23.4056641Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/utilities/realsense-test/include/BipedalLocomotion/RealSenseTest/Module.h:23:
2024-08-19T21:37:23.4057674Z /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/point_cloud_geometry_handlers.h:49:10: fatal error: vtkSmartPointer.h: No such file or directory
2024-08-19T21:37:23.4058248Z    49 | #include <vtkSmartPointer.h>
2024-08-19T21:37:23.4058618Z       |          ^~~~~~~~~~~~~~~~~~~
2024-08-19T21:37:23.4058871Z compilation terminated.

Ok, perhaps I may remember why I pinned pcl to 1.14.0 :
framework-split_1724102702010/work/utilities/realsense-test/src/Module.cpp
2024-08-19T21:37:23.4047836Z In file included from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/src/GenericContainer/include/BipedalLocomotion/GenericContainer/Vector.h:12,
2024-08-19T21:37:23.4048956Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/src/ParametersHandler/include/BipedalLocomotion/ParametersHandler/IParametersHandler.h:17,
2024-08-19T21:37:23.4049696Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/utilities/realsense-test/include/BipedalLocomotion/RealSenseTest/Module.h:17,
2024-08-19T21:37:23.4050362Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/utilities/realsense-test/src/Module.cpp:10:
2024-08-19T21:37:23.4051422Z /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/iDynTree/Core/Span.h:5:4: warning: #warning <iDynTree/Core/Span.h> is deprecated. Please use <iDynTree/Span.h>. To disable this warning use -Wno-deprecated. [-Wcpp]
2024-08-19T21:37:23.4052238Z     5 |   #warning <iDynTree/Core/Span.h> is deprecated. Please use <iDynTree/Span.h>. To disable this warning use -Wno-deprecated.
2024-08-19T21:37:23.4052732Z       |    ^~~~~~~
2024-08-19T21:37:23.4053675Z In file included from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/common/actor_map.h:40,
2024-08-19T21:37:23.4054761Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/pcl_visualizer.h:48,
2024-08-19T21:37:23.4055803Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/cloud_viewer.h:39,
2024-08-19T21:37:23.4056641Z                  from /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/work/utilities/realsense-test/include/BipedalLocomotion/RealSenseTest/Module.h:23:
2024-08-19T21:37:23.4057674Z /home/conda/feedstock_root/build_artifacts/bipedal-locomotion-framework-split_1724102702010/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/pcl-1.14/pcl/visualization/point_cloud_geometry_handlers.h:49:10: fatal error: vtkSmartPointer.h: No such file or directory
2024-08-19T21:37:23.4058248Z    49 | #include <vtkSmartPointer.h>
2024-08-19T21:37:23.4058618Z       |          ^~~~~~~~~~~~~~~~~~~
2024-08-19T21:37:23.4058871Z compilation terminated.

See https://github.com/conda-forge/bipedal-locomotion-framework-feedstock/pull/69#issuecomment-2198558431 .

@conda-forge-admin please rerender

@conda-forge-admin please rerender

Linux still fails:
Could not solve for environment specs
The following packages are incompatible
├─ libbipedal-locomotion-framework 0.18.0.* h7f52459_15 is installable and it requires
│  └─ vtk-base * qt*, which can be installed;
└─ vtk-base 9.3.0.* osmesa_py312h1234567_100 is not installable because it conflicts with any installable versions previously reported.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 891, in get_install_actions
    _actions = _install_actions(prefix, index, specs, subdir=subdir)
  File "/opt/conda/lib/python3.10/site-packages/conda_build/environ.py", line 1307, in install_actions
    txn = solver.solve_for_transaction(prune=False, ignore_pinned=False)
  File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 152, in solve_for_transaction
    unlink_precs, link_precs = self.solve_for_diff(
  File "/opt/conda/lib/python3.10/site-packages/conda/core/solve.py", line 221, in solve_for_diff
    final_precs = self.solve_final_state(
  File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 223, in solve_final_state
    out_state = self._solving_loop(in_state, out_state, index)
  File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 303, in _solving_loop
    solved = self._solve_attempt(in_state, out_state, index, attempt=attempt)
  File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 414, in _solve_attempt
    new_conflicts = self._maybe_raise_for_problems(
  File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 710, in _maybe_raise_for_problems
    self._maybe_raise_for_conda_build(
  File "/opt/conda/lib/python3.10/site-packages/conda_libmamba_solver/solver.py", line 803, in _maybe_raise_for_conda_build
    raise exc
conda_libmamba_solver.conda_build_exceptions.ExplainedDependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {MatchSpec("libbipedal-locomotion-framework==0.18.0=h7f52459_15"), MatchSpec("vtk-base=[build=qt*]")}
Encountered problems while solving:
  - package libbipedal-locomotion-framework-0.18.0-h7f52459_15 requires vtk-base * qt*, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ libbipedal-locomotion-framework 0.18.0.* h7f52459_15 is installable and it requires
│  └─ vtk-base * qt*, which can be installed;
└─ vtk-base 9.3.0.* osmesa_py312h1234567_100 is not installable because it conflicts with any installable versions previously reported.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
├─ libbipedal-locomotion-framework 0.18.0.* h7f52459_15 is installable and it requires
│  └─ vtk-base * qt*, which can be installed;
└─ vtk-base 9.3.0.* osmesa_py312h1234567_100 is not installable because it conflicts with any installable versions previously reported.


Enabling batch transforms

🚀 Feature
Hi ! Well the feature is quite simple, it is to have a simple way to code batch level transforms without having to put them directly in training_step.
Motivation
Motivation comes from the fact that in a project of mine, I want to change the color space of my input images directly on the batch rather than on individual images so that I gain some time. Problem is I didn't find a way to automate that using lightning. When going through code and documentation, I even stumbled upon something that confused me a lot : in the documentation for LightningDataModule, there are numerous examples of places where transforms are passed directly to a pytorch DataLoader constructor. However we can't do that, there is no transform argument in pytorch DataLoader. I looked for an override somewhere in lightning's source code, and tried to find if there is somewhere in the code where the batch could get modified based on transforms but I couldn't find any. So please if I missed something just tell me and I guess this issue can be closed. Else I'm pretty sure this feature could come in handy for others than me.
Pitch
The idea is to allow the user to specify batch transforms in a LightningDataModule or somewhere in the trainer and have them be called automatically after the dataloader is iterated through. The idea for me is to having it be called right after the batch is transferred to GPU in training_forward. I'm pretty sure further details need to be discussed as the implementation will depend on the coding philosophy of the library.
Alternatives
For now the alternative I use is to manually insert he batch transform in training_step. This could also be automated by adding a hook that allows batch modification right before training_step. It would allow for a broader use and could be what is used behind the scene fore a higher level batch transform feature. Again, the details probably need to be discussed.
Additional context
I'll add a screenshot of the confusing part of the documentation I was refering to earlier.

I'll also add that I am willing to work on this feature myself once details are set.

I'll add a screenshot of the confusing part of the documentation I was refering to earlier.

I think that is a bug. Transforms are passed to the dataset.
You could pass the transforms to your LightningModule or get the LightningDataModule transforms via self.trainer.datamodule.train_transforms.

@nateraw can you fix this documentation error?

The stuff w/ transforms being passed to dataloader is definitely wrong...I'll update docs!

As for batch transforms...I think philosophically that feature is already covered by torch Dataset object, right? Datamodule is meant to extend it. I think a great way to solve your issue is to...

implement a custom pytorch dataset that does the batch transforms

implement a datamodule that initializes that dataset object for each split (passing transforms to your dataset's init that you can tether to the DM itself for reproducibility/modularity purposes)

suggested something here #3399.

@carmocca That is quite what I had in mind, this kind of hook is probably the easiest way to go with it.
@nateraw Thanks for the doc fix ! Also, isn't the dataset purpose to handle items individually and not on the batch level ? The only actual solution I found for batch level transforms using pytorch API only is to use a custome collate function in the dataloader, but I don't find it very handy, therefore this suggestion.
@rohitgr7 Indeed, didn't see your post but this is exactly what I had in mind. Separating transforms before and after being passed to device is also quite a good idea, didn't think of it. This is close to the solution @carmocca proposed. Basically anything along this line is fine to me.


Removed io root pacakge

io.unsecurity => unsecurity Was made aware that having io. as a root package could easily create trouble when importing

updated dependencies while I was at it

LGTM


Fix issue with inability to parse mandatory types

Prior to this commit:
λ parseWith (pure mempty) type_ "[B!]!"
Done "!" (TypeList ...)

With this commit we now have:
λ parseWith (pure mempty) type_ "[B!]!"
Done "" (TypeNonNull ...)

The important thing to note here is that previous "[B!]!" was parsed
as a list type (not a non-null type), but all the input was not
consumed as expected.  This means that whatever parser comes after
would start by looking at the exclamation point, which belongs to the
type.
This aims to close https://github.com/haskell-graphql/graphql-api/issues/221

parseWith (pure mempty) -- BTW -- was a trick I came up with to inspect how much input attoparsec consumes.

Thanks! Can you change this to the value 1364? I believe that will fix the test.

Thanks! Can you change this to the value 1364? I believe that will fix the test.

Ah cool! Thanks for providing the fix, I had just glossed over it. I will update this PR later.


[1.10.2] Fluxed redstone Cabling Output power fluctuates

My current setup is a Creative Power source from Draconic connected via any of the cables from FR to an Energy pylon from DE xfering power to a DE power storage and i noticed the power input fluctuates up and down an isnt constantly at the max rate of power output as apposed to other mod cabling.  is this a bug or intentional?

It might be improved in the newer version, let me know if its not.


CaptureScreen doesn't work when not bound to a key

If you call CaptureScreen from a script while PSReadline is not running, the arrow keys don't work because the console mode is not set correctly for raw mode.

Dupe, fixed with 98cf8fcb237


clearance:install generator does not update existing user class using Rails 5 style models

When running rails generate clearance:install on a Rails 5 app, include Clearance::User is not injected into an existing User model that was created with the rails generators.
The clearance:install generator is looking for class User < ActiveRecord::Base, which has been replaced by class User < ApplicationRecord.
Fix would be to also check for the new style as well when injecting include Clearance
Not a bug but worth mentioning; the create half of the action will copy in a user model using the old style, which could cause confusion.
generator code for reference:
# /lib/generators/clearance/install/install_generator.rb:22
def create_or_inject_clearance_into_user_model
  if File.exist? "app/models/user.rb"
    inject_into_file(
      "app/models/user.rb",
      "  include Clearance::User\n\n",
      after: "class User < ActiveRecord::Base\n"
    )
  else
    copy_file 'user.rb', 'app/models/user.rb'
  end
end

Thanks for this. Closing in favor of #663 which is ready for code review now.


NUTS1 class not assigned

See https://grips.semantic-web.at/display/ADEQ/Number+of+new+babies+by+the+cities%2C+districts . Although all cells were disambiguated, no class was found for. Try to answer why and propose a fix.

With the full dbpedia, this does not happen.

With the full dbpedia, this does not happen.

Really? It does according to https://grips.semantic-web.at/display/ADEQ/Number+of+new+babies+by+the+cities%2C+districts .

In current version NUTS1 class is already assigned:

@josef-janousek Still too generally. It is iteresting though, that the German DBpedia is more specific than the English one.

AD KB changed, now invalid


volume clipping

Intel i5 12 gig ram Win 10 Reaper Dec. 9 ver.  I like your sampler, experienced these problems.
Overall output volume seemed low.
Experienced multiple volume spikes that muted Reaper's output. This happened with multiple different samples even after track fader pulled down approx, 50%.
That said, I like the concept and wish you well with Just-a-Sample development.

Hey, thank you for checking it out. The output volume is essentially exactly what sample you give it. I recommend using the gain control to adjust it (the range is -32db to +16db).
What were you doing when the spikes happened? Was it with Bungee playback?

I experienced the spikes mostly in poly mode, both standard and bungee playback, seemed like the 3rd or fourth chord would trigger the spike?

If it's not a hassle, could you send over the Reaper project with the issue? That'll at least confirm whether it's specific to your computer.


Basic "Done Assessments" submissions list

This PR includes just a basic view of the done assessments of the tutor for a given exercise.
The view is not done yet, but it's mergable.
It uses API data. I had to do some minor fixes to the models because the data provided by the API is slightly different (no Student.lastName, Submission.results is a list).
There now is a way to easily preview components which need authentication to work.
The authenticated preview needs some minor setup work: https://confluence.ase.in.tum.de/display/IOS2223CIT/Authentication+Preview+Setup

The method getAllSubmissions() should have not been deleted. It is intended to be used for the read-only assessment search.
Also Student does have firstName and lastName, which I used instead of name as I think it is more convenient if we get it this way anyways. For reference:

Also Student does have firstName and lastName, which I used instead of name as I think it is more convenient if we get it this way anyways. For reference:

lastName is missing for the /programming-submissions?assessedByTutor=true endpoint:

This is really strange, maybe I should file a bug report about this?

lastName is missing for the /programming-submissions?assessedByTutor=true endpoint:
This is really strange, maybe I should file a bug report about this?
Edit: Apparently the backend filters out null values, maybe the test users have their last names set to null?

Yes, very likely that the test user just doesn't have a last name. However in official use this wont be a problem as all students will have first and lastName. So just make it optional because I think its still beneficial to get the full name as separate values.
PS: backend does not exist in ls1 vocabulary

This should work, but I cannot really test right now because the login is not working. I will test it again later to make sure.

Not it should work


Did not deal with the problem of overlapping marks with same name

Describe the bug
Prosemirror supports overlapping marks with same name(as long as they have different attributes):

excludes: ?string
Determines which other marks this mark can coexist with. Should be a space-separated strings naming other marks or groups of marks. When a mark is added to a set, all marks that it excludes are removed in the process. If the set contains any mark that excludes the new mark but is not, itself, excluded by the new mark, the mark can not be added an the set. You can use the value "_" to indicate that the mark excludes all marks in the schema.Defaults to only being exclusive with marks of the same type. You can set it to an empty string (or any string not containing the mark's own name) to allow multiple marks of a given type to coexist (as long as they have different attributes).

https://prosemirror.net/docs/ref/#model.MarkSpec.excludes
But prosemirror-binding seems didn't handle it well, i have found the problem code line:
https://github.com/yjs/y-prosemirror/blob/25cea84874eace50745fd2433847aabceef92b65/src/plugins/sync-plugin.js#L670
If a prosemirror text with the marks:[{type: 'comment', attrs: {id: 1}}, {type: 'comment', attrs: {id: 2}}]
It will be convert to:{comment: {id: 2}}
You can see lost a mark.

Right.. that makes sense. But this type of information can currently not be properly represented in Yjs / Y.Text.

In my project, i have a temporary solution. The main code is as follows:

Meantime, i change createTextNodesFromYText and equalYTextPText
It seems hack but works fine, do you have a better suggest? @dmonad

Hi @dongtc ,
the approach might work, but it will break all existing bindings. I would accept a PR that is well tested and is backwards-compatible. I think it could be possible to use arrays as "attributes" when multiple marks with the same name are present.

Tanks for your suggestion, i will create a PR later. @dmonad

Was this ever fixed? I think I ran into the same issue with overlapping comment marks. Works fine as long as I don't reload my editor but as soon as I reload, the overlapping marks are replaced with the outermost mark taking priority.

For comments, I recommend annotating ranges using relative-positions.
For now, overlapping formatting attributes is not something that I'm looking to support in the near future.


Removed globally unique constraint for Apphook configs

Fix  #5684
This is the forwardport of #5458 with tests
Will backport test after this is merged

Coverage remained the same at 82.392% when pulling 9b34f6342e2b82ed33bf33db43d11ee8181258f7 on yakky:merge/5458 into cb9fa2b46a4e1b3eb3d3b1cf02ba0f550dd6540b on divio:release/3.4.x.


Shortcut of command doesn't work (likely conflicts with other commands)

NOTE THIS IS NOT A PYTHON EXTENSION ISSUE
VScode version 1.74.2
In a py file, sselect a line and click the button is ok, while the shortcut shfit+enter doesn't work

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


add deep id/manifest tools and doc

This PR adds

a new document to the concepts describing use of deep images to store object IDs
two extra example binaries that are built but not deployed. deepidexample creates an image with IDs, deepidselect isolates selected objects from images with deep ids. These are in fact standalone tools but also are intended as code examples.
an extra utility, idmanifest, that prints out any manifests found in the given file(s). This could be extended to perform other operations in the future, such as stripping out manifests, or merging manifests together from multiple files

I wasn't quite sure whether deepidexample and deepidselect are in the correct place here. They aren't quite the same as the other examples, but they are not really useful tools that should be installed everywhere.

I re-read the specification document and it's great. Thanks @peterhillman.

Very cool. I wish for a UINT64 so you don't have to split the hash for 64 bits. You could also sort the manifest and assign numerical ids in order, then 32 bits are sufficient. But then you need to consolidate ids when mixing frames. Having hashes as ids is stable, I like it better.
I also wonder about the meaning of Z. Since the element may be moving and accumulate color from different depths, I guess we would handle it with ZBACK or skip Z altogether.

@aconty thanks for those points. Indeed, for moving objects or volumes you might expect a ZBack channel to specify the range of depth that is covered by a given ID. In some cases it may be desirable to store multiple adjacent samples with a discrete depth and the same ID channels.
The deepidexample uses hashed names, rather than sequential IDs. It would be a relatively small change to the code to support that option as well as the hashed scheme. The minor complication is de-duplicating the IDs. Doing that efficiently in a multi-threaded renderer would be more tricky than in this trivial example.
An internal UINT64 type could simplify things, but that would mean that software using the library must represent IDs with a uint64_t type internally. If you do have uint64_t IDs, you can read and write the 64 bit IDs directly by making two setFrameBuffer() calls, one call to put the first channel into the least significant bytes position of the uint64_t, and another call to put the second channel into the most significant bytes position. (The complication here is the position of those two changes depending on whether the hardware is little endian or big endian). Also, keeping the ids as two separate channels opens up the possibility of optimization by reading only one of the two 32 bit channels when the manifest indicates there are no collisions.

I think, but am not sure, that it this proposal carries information equivalent with cryptomatte? It might be worth spending a paragraph on similarities and differences, and motivations. I have a hunch that the biggest difference is that cryptomatte invents some concepts like the manifest that might exist more explicitly in OpenEXR 3?

Good point @meshula. @pleprince had written some comparisons to Cryptomatte in his version of the text which I omitted for brevity. I've restored that now, and extended it a bit to make the differences clearer. A mention of prman's deep id scheme  may also have been appropriate, though that doesn't address how to track names associated with numeric IDs. @jonahf (if you happen to notice this), is this a reasonably accurate summary of Cryptomatte?

Thanks for adding that in, I'm very excited to see these concepts worked out for OpenEXR!

@peterhillman, you mentioned adding a test, and I mentioned moving the example code into separate .cpp files and including them in the build (see #1501 for an example of that), but fine to handle that later in a separate PR. Thanks!


Update all the entities with some fields values and some select criterias

Sometimes we need to update all the entities of a namespace with some values.
E.g.:  update my_table set status = 'deprecated' where date < an_old_date
It's a mix of query and update.

Done with the new then feature.


Enclosure of term-value groups in divs

I'm wondering if there could be some way, either in the markdown syntax or as a parameter given to the plugin, to wrap <dt>/<dd> groups with <div> tags? This seems to be legal HTML as per:

MDN reference
WHATWG dl spec

I'm afraid not.


Capture webview with horizontal and vertical overflow

Is it possible to capture webview with horizontal overflow?

SwViewCapture isn't support the feature now. It's hard to implement the feature because horizontal overflow usually implemented by css. Do you have any idea?

Yes, I managed to do that by temporary removing the css class during the swViewCapture execution and changing the algorithm to scan the columns per line.
As soon as I have enough time I'm going to PR the solution

Awesome, SwViewCapture looking forward to your PR. @fontiana


CSET Import assessment function not working

Discussed in https://github.com/cisagov/cset/discussions/4197

Originally posted by davidlewisabilegroup October 29, 2024
I’m having trouble with the CISA CSET tool (version 12.1) and could use some help. I’ve completed a CMMC Level 2 assessment and exported it. Now, I’m trying to share it with a coworker so they can import it. However, when they attempt to import the file, the import screen shows that it’s “importing,” but it just hangs there for hours without completing.
Has anyone else experienced this issue? Any suggestions on how to troubleshoot or resolve it would be greatly appreciated!
Thanks in advance!

davidlewisabilegroup Can you provide more details about this issue. Testing this on CSET version 12.1.2 and was able to export and import a CMMC 1.0 Level 2 and a CMMC 2.0 Level 2 successfully


Add config to set alert playbook URL

This playbook URL will be set as one of the annotations in the alert spec, which can then be used to provide extra information to the alert recipient.

@davidheryanto did you mean to merge this PR? Not sure if you noticed the comment: https://github.com/gojek/turing/pull/38#discussion_r547060572 :)

I will add that in another PR. I tried auto merge feature in this PR so it was automatically merged before I address your comment :)

@davidheryanto ah I see.. Will watch out for that in the future :)


[🐞]: Buttons border transformation

What happened?
When we click on the nav bar (Home, bookmark, About) buttons the border-radius does not transform in a proper way it changes into a square first, and then changes into a rounded border.
Add screenshots
No response
What browsers are you seeing the problem on?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Do you want to work on this @dheeraj1129

Yes Sure,


[Question] Does ioredis support redis modules?

Im quit new to redis, and I had been finding a way to define custom functions to atomically operate redis, and I saw that Redis Modules are a much better way than using lua scripting.
Does ioredis support the usage of these modules, and if so how does one go about calling the custom module?

It's yes and no. Ioredis doesn't support it natively but provides two APIs for you to extend it.
addBuiltinCommand and createBuiltinCommand.
Here is an example for createBuiltinCommand:
https://github.com/luin/ioredis/issues/1205
here is for addBuiltinCommand:
https://github.com/luin/ioredis/issues/1464
addBuiltinCommand could be the best option since the added commands are on the Redis instance. But all Redis modules have command prefixes, which makes it a bit wired to call the new commands as https://github.com/luin/ioredis/issues/1464 said.

I'd suggest using redis.call() (e.g. https://github.com/luin/ioredis/blob/main/examples/module.js) but we probably going to add official typings for it.

Merged into #1489


[WIP] Mesh storage

This is an early version of Mesh storage functionality.
It allows you to store:

main Mesh structure
subnets
appKeys

For now, the data can be saved by running provision command
from shell. To reset the storage run reset command. To restore
data frome storage run restore.

I'm closing this one and will open a new pull request with a new implementation.