Make Jetty and Jetty compat do log rotations

We do not want to fill the VM disk space with logs.
The environment providing the local logs to the console supports log rotation.
Just need to verify we do it.

The request log is setup in jetty9 by gae.xml and in jetty9-compat by a similar gae.xml
This indicates we are rolling the logs daily and that we keep the logs for 2 days.
Note that the pure jetty request log does not have a size based log rotation, so we could still fill up the disk.   However, we have the ability to plugin something like logback which I believe does have this capability.   @joakime can you confirm that and perhaps provide a PR to change the configuration?    @ludoch please say if you want size based rotation

I think 2 days is too long (there is another agent looking at the /var/log/appengine_logs area and it can catch up to 5 or 10 minutes with rotation..
Logback: can it be configure by time and size, i.e rotate every 30mins or when the size is bigger than xMb? That would be ideal.

@joakime also it would be good to filter out the routine health check requests

With logback, you can do this .
See http://logback.qos.ch/manual/appenders.html#RollingFileAppender
There's 2 ways to do this ...
Using separate rolling & triggering policies:
What you'll setup is a rollingPolicy which is based on time.
and a triggeringPolicy based on file size.
Something like this ...
<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>gae.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>gae.%d{yyyy-MM-dd}.log</fileNamePattern>

      <!-- keep 30 days' worth of history capped at 3GB total size -->
      <maxHistory>30</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>30MB</maxFileSize>
    </triggeringPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="DEBUG">
    <appender-ref ref="FILE" />
  </root>
</configuration>

Using time & size based rolling policy only:
<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>gae.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <!-- rollover daily -->
      <fileNamePattern>gae-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
      <!-- each file should be at most 30MB, keep 60 days worth of history, but at most 3GB -->
      <maxFileSize>30MB</maxFileSize>
      <maxHistory>60</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>
    </rollingPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>

  <root level="DEBUG">
    <appender-ref ref="FILE" />
  </root>
</configuration>

I've personally never setup a log to roll as aggressively as every 30 minutes, so I'll need to dig some more to figure that aspect out.  (Hourly is probably already supported by the built-in policies)

@joakime also it would be good to filter out the routine health check requests

+1 however I don't think we should completely filter them out. Instead we should either filter out
only the ones that return 200 or better yet change the log level of the ones that return 200 to debug
and if possible change the failed ones to warning.

@joakime  could you also please document how to make logging work when running locally from jetty9-compat-base: doesn't seem to notice a logging.properties file in the webapp's WEB-INF dir.

Wait, the webapp's WEB-INF dir?
Do we want to have the webapp's logging punch a hole through the WebApp isolation layers? (ie: WebAppClassloader)
I would strongly discourage this behavior, as there are existing webapps that people deploy that do not like this (hudson, jenkins, and nexus are some obvious examples)
This issue has been about server side logging, and that's the way I've been progressing, throwing forced webapp logging into the mix should be a separate issue, with a separate PR (to make the eventual revert easier).

Logging events produced by the webapp wont use the server logging layer.
Having the server dive into the webapp, grab some configuration, and configure the server is no big deal, that works.
But expecting the logging events at the webapp to flow out of the webapp and into the server logging requires hole punching (java.util.logging works because its already hole punched).
Without punching a hole, the logging from commons-logging, log4j, slf4j, jetty-log (from the use of jetty-client) would not flow out of the webapp, they would have their own logging layer setup at the webapp side.
Another approach, without hole punching, is to force the logging at the webapp side to use the server side components (a feature that the jetty-webapp-logging deployment module does).  But this has proven VERY problematic on some webapps, as some webapps expect to be able to manage their own logging (which this technique forbids)

See Issue #289 for proposed change to the JSON format to suit the multiple logger world we live in now.

The fact that we don't generate the hidden classes list has bitten us in this case.  We needed to have added org.slf4j. and org.apache.log4j to the server class.
But we also need a suite of test webapps using common frameworks that we can deploy against to ensure that we don't break stuff like this.

obsoleted by https://github.com/GoogleCloudPlatform/jetty-runtime/issues/4,  unless @ludoch wants a solution in master of this repository? If not please close.

No need for master in this repo.
On Wed, Sep 7, 2016 at 6:32 PM, Greg Wilkins<EMAIL_ADDRESS>wrote:

obsoleted by GoogleCloudPlatform/jetty-runtime#4
https://github.com/GoogleCloudPlatform/jetty-runtime/issues/4, unless
@ludoch https://github.com/ludoch wants a solution in master of this
repository? If not please close.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/appengine-java-vm-runtime/issues/231#issuecomment-245469257,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAE4zXVex9WJK_YilGxf6YDTb5XmTBbOks5qn2WigaJpZM4IYJK-
.

Reopening, because we need the fix in master as well due to a customer issue.

Can we replace the current config with something that rolls request logs more aggressively? Either keep only several hours worth of logs, or restrict by size?
    <!-- =========================================================== -->
    <!-- Setup a request log                                         -->
    <!-- =========================================================== -->
    <Ref refid="Handlers">
      <Call name="addHandler">
        <Arg>
          <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
	    <Set name="requestLog">
	      <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
		<Arg><SystemProperty name="jetty.logs" default="/var/log/app_engine"/>/request.yyyy_mm_dd.log</Arg>
		<Set name="retainDays">2</Set>
		<Set name="append">true</Set>
		<Set name="extended">true</Set>
		<Set name="LogTimeZone">GMT</Set>
		<Set name="logLatency">true</Set>
		<Set name="preferProxiedForAddress">true</Set>
	      </New>
	    </Set>
          </New>
        </Arg>
      </Call>

@meltsufin this is only for request logs and it can only roll on a daily basis, the only real size tweak here is the number of retained days
It proper path forward would be to wire up the logback or jul setup that does provide a facility for this.  For the request logs it would go to either of these via the slf4j request log implementation.

It sounds like there is no minimally invasive change that we can do right now, except for changing retainDays to 1.

'no minimally invasive change' - that would be correct, resolving this would require a small handful of changes to logging

As per https://github.com/GoogleCloudPlatform/jetty-runtime/issues/60, I'm not sure we need a request log file at all?    The gcloud console produces a request log separately that will eventually be re-integrated with the application log stream.
As @jmcc0nn3ll says, the default jetty request log only supports 24hr roll over.  To do size related rollover, we would need to configure our logback integration, which has wider logging implications.
Thus I think we should just remove the log for now, and it can be added back if and when the requirements process we are separately engaged in identifies a need.

+1 for removing the Jetty request log altogether for now.


Option to enable borders and padding for collapsible blocks

I personally like the borders and padding for collapsible blocks in version 1. I like to put multiple blocks and paragraphs in a collapsible block. If there is no border, it's hard to see if a block/paragraph is inside a collapsible block.

That's not the indented use of the collapsible block. If you want a decorated block, you should just use a regular example block.
The collapsible block is only meant to hide and reveal other content. In PDF, it should match the display of an open collapsible block in the HTML output. However, when examining what this converter produces, I realized that it was not meeting that requirement. I have opened #2219 to address that inconsistency. I think you may find that the fix for that issue addresses your concern that it's hard to see what is inside the collapsible region. I agree that is currently a problem.
That said, I'm not sure the collapsible block even makes much sense in the PDF output. You might want to just filter out the option using ifndef::backend-pdf[]. The converter is primarily focused here on being true to how the block appears in HTML in the open state without the behavior attached to it.

You might want to just filter out the option using ifndef::backend-pdf[].

Thanks for the advice. In the meantime, I think it's good to have out-of-box support for collapsible block in PDF like #2219.


Crash on Swift and Objective-C assemblies collaboration

Hello.
I have an issue with v4-alpha version. If I try to inject an object from Objective-C assembly inside Swift assembly I receive EXC_BAD_ACCESS.

But everything works fine when two Objective-C assemblies are collaborating.
Here is an example project. Have a look at ASObjectiveCAssembly and SwiftAssembly.
TyphoonV4Test.zip

Hey @Brain89, what do you mean on "v4-alpha"?

Looking..

To get that working, you should make your property declaration as:
dynamic var objectiveCAssembly: ASObjectiveCAssembly!

and objective-c method return type change to id:
@interface ASObjectiveCAssembly : TyphoonAssembly

- (id)objectiveCDefinition;

@end

Just checked and confirmed. Sample project doesn't work with stable Typhoon (3.5.1) as well.

It is very strange. I have at least one project in production with the similar code and Typhoon 3.5.x and everything works fine.

Your solution could be simpler: it works if I just add dynamic.


Chore: update documentation links to https://docs.rs/

Pending next release, see: https://github.com/alloy-rs/alloy/pull/920#issuecomment-2173076203
See: https://github.com/alloy-rs/alloy/pull/920

Unblocked, now available

Fixed by #37


Fix misleading error message in _assert_is_pandas_df

This helper function _assert_is_pandas_df is called for a variety of file formats, but the error message mentions CSV specifically:
https://github.com/rstudio/pins-python/blob/70380b4532f3778e4777888507a49c2d1cab1ae8/pins/drivers.py#L17-L23
I think this function should be changed to accept a type argument so that an appropriate message can be constructed dynamically.

That makes sense to use a type argument! It is a helper function that is only used in pins-python/pins/drivers.py, and always is in the context of an if type == ... block 👍


Bug: search results timeout causes page to go white

Describe the bug
when searching for a repository in the homepage, sometimes I get a result and the other times the page goes full white.
here's the error that's triggering the white page:
react-dom.production.min.js:189 TypeError: Cannot read properties of null (reading 'length')
    at bK (Hero.tsx:117:26)
    at Lf (react-dom.production.min.js:167:137)
    at Kl (react-dom.production.min.js:197:258)
    at im (react-dom.production.min.js:292:88)
    at am (react-dom.production.min.js:280:389)
    at s0 (react-dom.production.min.js:280:320)
    at ki (react-dom.production.min.js:280:180)
    at iu (react-dom.production.min.js:271:88)
    at tm (react-dom.production.min.js:268:429)
    at z (scheduler.production.min.js:13:203)
Yl @ react-dom.production.min.js:189
Fy.r.callback @ react-dom.production.min.js:189
wp @ react-dom.production.min.js:144
Dp @ react-dom.production.min.js:262
em @ react-dom.production.min.js:260
n0 @ react-dom.production.min.js:259
c0 @ react-dom.production.min.js:283
kn @ react-dom.production.min.js:281
tm @ react-dom.production.min.js:269
z @ scheduler.production.min.js:13
B @ scheduler.production.min.js:14

when I investigated further, turns out the call going to supabase from src/components/Hero.tsx, triggering fetchRecommendations from src/lib/supabase.ts is timing out and thus returning null, and as there's no null check in src/components/Hero.tsx, results are set to null, which triggers an error a few lines later when results.length is called, which causes the page to go white
a temporary solution would be to implement a null handling and a retry mechanism on the supabase calls.
but as I went further and set the Network property to Slow 3G in the Performance tab in the developer console, I had all my requests failing. setting it to Fast 3G makes the first call work, but the second one failes. so I believe a more permanent solution would be to reconfigure the timeout
Steps to reproduce
Reproduce 1:

go to https://hot.opensauced.pizza/
open the developer console, navigate to the Performance tab, set the Network property to Slow 3G
now in the page, click on the Search Repositories field and type rust
you will see in a few seconds the page going white

Reproduce 2:

go to https://hot.opensauced.pizza/
open the developer console, navigate to the Performance tab, set the Network property to Fast 3G
now in the page, click on the Search Repositories field and type rust
you most probably will see results appearing
now clear the field and type dart
you will see in a few seconds the page going white

Browsers
Other (add additional context)
Additional context (Is this in dev or production?)
production, using the Arc browser (arc.net)
Code of Conduct

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

Contributing Docs

[X] I agree to follow this project's Contribution Docs

.take

Wow thanks for catching this @adnanjpg


Easy sync of downloaded cheatsheets

Is your feature request related to a problem? Please describe.
As mentioned at auto-updating-repositories, so in case these repos are updated, one can easily get the latest and greatest.
Describe the solution you'd like
A command like navi repo sync would synchronize i.e. git pull the content of the repos
Adding of repos in should be basically a git clone of the cheatsheet repo rather doing a git clone to the tmp folder and then copying files over.
Describe alternatives you've considered
I currently use and adaption of your proposal,
#!/bin/bash
CHEATS_PATH=$(navi info cheats-path)

cd $CHEATS_PATH

for REPO_PATH in $(ls -d *); do
    echo "Get changes from $REPO_PATH"
    cd $REPO_PATH
    if [ -d ".git" ]; then
        DEFAULT_BRANCH=$(git branch -r | grep -Po 'HEAD -> \K.*$' | cut -d'/' -f2)
        echo $DEFAULT_BRANCH
        git pull -q origin $DEFAULT_BRANCH
    else
        repo_details=($(echo $REPO_PATH | sed  's/__/ /g'))
        repo_user=${repo_details[0]}
        repo_name=$(echo ${repo_details[1]} | cut -d'/' -f1)
        rm *
        git clone "https://github.com/${repo_user}/${repo_name}" .
    fi
    cd ..
done

Additional context
N/A

Nice suggestion. It should be easy to implement.
I can't give an ETA, unfortunately.
I'll gladly review a PR, though.


Create documentation on kubectl bash completion

This is a...

[x] Feature Request
[ ] Bug Report

Problem: There are no easily-findable docs on "kubectl bash completion". This query doesn't return any documentation.  This leads to blog posts such as:

https://blog.fabric8.io/enable-bash-completion-for-kubernetes-with-kubectl-506bc89fe79e
https://blog.merapar.com/fixing-bash-autocompletion-on-macos-for-kubectl-and-kops-e87f019652e8

Proposed Solution: Write a new doc that shows how to enable bash/zsh completion for kubectl. I just scraped the following existing snippet from https://kubernetes.io/docs/getting-started-guides/gce/ but it's not great and doesn't belong there.
#### Enabling bash completion of the Kubernetes command line tools

You may find it useful to enable `kubectl` bash completion:

* If you're using kubectl with Kubernetes version 1.2 or earlier, you can source the kubectl completion script as follows:

  $ source ./contrib/completions/bash/kubectl

* If you're using kubectl with Kubernetes version 1.3, use the `kubectl completion` command as follows:

  $ source <(kubectl completion bash)

**Note**: The above commands will last for the duration of your bash session. If you want to make this permanent you need to add corresponding command in your bash profile.

Alternatively, on most linux distributions you can also add a completions file to your bash_completions.d as follows:

* For kubectl with Kubernetes v1.2 or earlier:

  $ cp ./contrib/completions/bash/kubectl /etc/bash_completion.d/

* For kubectl with Kubernetes v1.3:

  $ kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl

but then you have to update it when you update kubectl.

I wonder why this section doesn't show up on search results https://kubernetes.io/docs/tasks/kubectl/install/#enabling-shell-autocompletion

Any further work to do here?

@jaredbhatti yeah I'll probably refactor the existing section to add:

on Linux using ZSH
on Linux/macOS using oh-my-zsh


ReadWriteMany not working

Hey guys,
First off: Thanks for this amazing guide!!
So my question is, how can I configure rook / ceph to allow me to use ReadWriteMany Volumes. Because with my current setup I can create such volumes but, if I spin up a second replica, it throws an error: "Volumes in use".
Maybe its just a dump mistake on my side but help would be much appreciated.
Thanks in advance!

Okay got it with nfs mounts.


Build size for Android and iOS

Plugin Version or Commit ID
v0.10.1
Unity Version
2021.3.7f1
Your Host OS
Windows 11
Target Platform
Windows Standalone, Android, iOS
Description
Hi,
We use macOS Intel Mac guide from Wiki to build libraries. Everything is ok, but the size is very large.
Could you please tell me, how to reduce build size, maybe by excluding unnecessary solutions from libraries (android, iOS, Windows-Windows is needed only for development in Unity Editor) - we need only Selfie Segmentation.
Thank you in advance :)
Code to Reproduce the issue
No response
Additional Context
No response

See https://github.com/homuler/MediaPipeUnityPlugin/wiki/Installation-Guide#build-command.
In your case, run python build.py build --android arm64 --ios arm64 --linkopt=-s --solutions=selfie_segmentation -vv.
If you want to disable the bitcode, you can also specify --no-apple_bitcode (cf. https://github.com/homuler/MediaPipeUnityPlugin/issues/524#issuecomment-1093834311).


Use multiple configmaps containing URIs to ratelimit in Global Ratelimit service

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
I am running web-services on tomcat inside pods and about 40-50 urls are exposed in each of these pod. I am running multiple such pods. Now I want to implement ratelimit on these url, I tried global ratelimit but for that i have to maintain all the urls of different pod in a single cm. I want to separate the cm for each pod, so that i can maintain urls of each pod in its specific cm file and can implement ratelimit using all these cm files instead of single one. Is this possible?
Version
istio - 1.18.1
kubernetes - 1.24.9

Additional Information
No response

I think this related to which ratelimit backend you used.

I am using ratelimit and redis service as mentioned in official istio documentation - https://istio.io/latest/docs/tasks/policy-enforcement/rate-limit/

I think this related to the implement of envoy/ratelimit, which isn't related to istio.
you'd better raise up on upstream repo.


[CORE-1712] Add SetProjectDefaults

One item to mention is that SetProjectDefaults’s internals are very similar to SetClusterDefaults. My normal rule is to wait until doing something at least three times before abstracting it out, but I am very open to abstracting this out now if @acohen4 concurs.


Error with some characters image on Ubuntu

What bug did you encounter?
Hello,
When I start the game there's an uncaught expectation occurred and some images of characters doesn't renderd correctly:
While running game code:
File "renpy/common/00start.rpy", line 240, in script call
call _splashscreen from _call_splashscreen_1
File "game/scripts/splashscreen.rpy", line 26, in script
if local_version != itch_version:
File "game/scripts/splashscreen.rpy", line 26, in
if local_version != itch_version:
NameError: name 'local_version' is not defined
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/00start.rpy", line 240, in script call
call _splashscreen from _call_splashscreen_1
File "game/scripts/splashscreen.rpy", line 26, in script
if local_version != itch_version:
File "/home/mutaman/Downloads/LearnToCode/LearnToCodeRPG-1.5-linux/renpy/ast.py", line 2115, in execute
if renpy.python.py_eval(condition):
File "/home/mutaman/Downloads/LearnToCode/LearnToCodeRPG-1.5-linux/renpy/python.py", line 1092, in py_eval
return py_eval_bytecode(code, globals, locals)
File "/home/mutaman/Downloads/LearnToCode/LearnToCodeRPG-1.5-linux/renpy/python.py", line 1085, in py_eval_bytecode
return eval(bytecode, globals, locals)
File "game/scripts/splashscreen.rpy", line 26, in
if local_version != itch_version:
NameError: name 'local_version' is not defined
Linux-5.15.0-56-generic-x86_64-with-glibc2.35 x86_64
Ren'Py <IP_ADDRESS>90809
Learn to Code RPG 1.5
Sun Dec 25 22:26:08 2022
Steps to Reproduce
just run the learnToCodeRGP.sh with the terminal using any of the following:
./learnToCodeRGP.sh
sh learnToCodeRGP.sh
bash learnToCodeRGP.sh
Screenshots
No response
Additional Information
No response

Cat image as an example

Hmmm...these look like two different issues. The first crash report looks like it was made when there was an issue retrieving the version information for the latest game on Itch. The second has nothing to do with the splash screen as far as I can tell.


when will your densepose extractor be open-sourced

Thanks for your excellent work.  I would like to ask, when will your densepose extractor be open-sourced? I used the densepose extractor in Simple Magic Animate and the evaluation results (fid, fvd) on the TED-Talk dataset are quite different from the results you published.
I wanted to inquire if the difference is due to the densepose extraction itself.

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

I am also interested in the pre-trained model trained on the TED-Talk dataset. Do you have a plan to release this checkpoint? Thank you very much.

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.
May I ask if the results mentioned in your paper regarding the TED-Talk dataset were obtained by training on the TED-Talk training set and then testing on the TED-Talk test set?  And I am also interested in the color discrepancy between the background of the densepose results extracted by Detectron2, which appear as black, and the ones presented by your team, which appear as purple?

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

May I ask if the results mentioned in your paper regarding the TED-Talk dataset were obtained by training on the TED-Talk training set and then testing on the TED-Talk test set? And I am also interested in the color discrepancy between the background of the densepose results extracted by Detectron2, which appear as black, and the ones presented by your team, which appear as purple?

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

May I ask if the results mentioned in your paper regarding the TED-Talk dataset were obtained by training on the TED-Talk training set and then testing on the TED-Talk test set? And I am also interested in the color discrepancy between the background of the densepose results extracted by Detectron2, which appear as black, and the ones presented by your team, which appear as purple?

Yes, it was trained on TED-Talk. The detectron2 has different visualizers, we use the semantic map one, and its background is purple.

Yes, it was trained on TED-Talk. The detectron2 has different visualizers, we use the semantic map one, and its background is purple.

Thank you very much. Do you have a plan to release this checkpoint?

Yes, it was trained on TED-Talk. The detectron2 has different visualizers, we use the semantic map one, and its background is purple.

We have been utilizing the DensePose with the following command:
python apply_net.py show configs/densepose_rcnn_R_50_FPN_s1x.yaml
https://dl.fbaipublicfiles.com/densepose/densepose_rcnn_R_50_FPN_s1x/165712039/model_final_162be9.pkl
image_path dp_segm -v
Furthermore, we have experimented with various visualizers listed below:
"dp_contour": DensePoseResultsContourVisualizer,
"dp_segm": DensePoseResultsFineSegmentationVisualizer,
"dp_u": DensePoseResultsUVisualizer,
"dp_v": DensePoseResultsVVisualizer,
"dp_iuv_texture": DensePoseResultsVisualizerWithTexture,
"dp_cse_texture": DensePoseOutputsTextureVisualizer,
"dp_vertex": DensePoseOutputsVertexVisualizer,
"bbox": ScoredBoundingBoxVisualizer,
However, we noticed an issue where the background appears black instead of purple.   Could you possibly shed light on why this might be happening?

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

I am also interested in the pre-trained model trained on the TED-Talk dataset. Do you have a plan to release this checkpoint? Thank you very much.

yes, we will release this ckpt

Yes, it was trained on TED-Talk. The detectron2 has different visualizers, we use the semantic map one, and its background is purple.

We have been utilizing the DensePose with the following command:
python apply_net.py show configs/densepose_rcnn_R_50_FPN_s1x.yaml https://dl.fbaipublicfiles.com/densepose/densepose_rcnn_R_50_FPN_s1x/165712039/model_final_162be9.pkl image_path dp_segm -v
Furthermore, we have experimented with various visualizers listed below:
"dp_contour": DensePoseResultsContourVisualizer, "dp_segm": DensePoseResultsFineSegmentationVisualizer, "dp_u": DensePoseResultsUVisualizer, "dp_v": DensePoseResultsVVisualizer, "dp_iuv_texture": DensePoseResultsVisualizerWithTexture, "dp_cse_texture": DensePoseOutputsTextureVisualizer, "dp_vertex": DensePoseOutputsVertexVisualizer, "bbox": ScoredBoundingBoxVisualizer,
However, we noticed an issue where the background appears black instead of purple. Could you possibly shed light on why this might be happening?

plz use "dp_segm" and change the black background to a canvas filled with RGB: (84, 1, 68).

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

I am also interested in the pre-trained model trained on the TED-Talk dataset. Do you have a plan to release this checkpoint? Thank you very much.

yes, we will release this ckpt

Thanks for your reply.  Do you compute FID between 100 generated images and the corresponding 100 real images for each video, and then average it over all videos? Or directly compute FID between all generated images (100 x the number of videos) and real images (100 x the number of videos)?

Hi, we used detectron2 library to estimate densepose, and the checkpoint we released was not trained on TED-Talk dataset.

I am also interested in the pre-trained model trained on the TED-Talk dataset. Do you have a plan to release this checkpoint? Thank you very much.

yes, we will release this ckpt

I am also looking forward this ckpt.


Error installing multiple packages in parallel using COM API

Brief description of your issue
From Dev Home, when calling the COM API during installation from multiple threads running in parallel, often an exception occurs for one of the calls.
Dev Home logs
System.Runtime.InteropServices.COMException (0x8007139F)
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|39_0(Int32 hr)
   at ABI.Microsoft.Management.Deployment.ICatalogPackageMethods.get_DefaultInstallVersion(IObjectReference _obj)
   at Microsoft.Management.Deployment.CatalogPackage.get_DefaultInstallVersion()
   at DevHome.Services.WindowsPackageManager.Services.WinGetPackageInstaller.InstallPackageInternalAsync(CatalogPackage package, String version, Guid activityId)

AppInstaller logs
2024-06-26 10:00:53.540 [FAIL] C:\__w\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\SQLiteIndexSource.cpp(24)\WindowsPackageManager.dll!00007FFB8CE49D82: (caller: 00007FFB8CE7372E) Exception(2) tid(6288) 8007139F The group or resource is not in the correct state to perform the requested operation.

2024-06-26 10:00:53.541 [FAIL] WindowsPackageManager.dll!00007FFB8CF09106: ReturnHr(2) tid(6288) 8007139F The group or resource is not in the correct state to perform the requested operation.

    Msg:[C:\__w\1\s\external\pkg\src\AppInstallerRepositoryCore\Microsoft\SQLiteIndexSource.cpp(24)\WindowsPackageManager.dll!00007FFB8CE49D82: (caller: 00007FFB8CE7372E) Exception(2) tid(6288) 8007139F The group or resource is not in the correct state to perform the requested operation.

]

Steps to reproduce
From Dev Home, attempt to install:

Notepad++.Notepad++
Vim.Vim

Expected behavior
Ability to call the API from multiple threads
Actual behavior
At least one call will throw an exception (logs above)
Environment
Windows Package Manager (Preview) v1.9.1763-preview

Correct me if I'm wrong, but isn’t this a limitation of MSI installers in general, where only one operation can be performed at a time anyways? Even with exe installers, although they can run at the same time if they attempt to access the same resource, there could be issues.
To me it seems that best practice for any automated installation is to only allow a single thread to process an install at any given time

Correct me if I'm wrong, but isn’t this a limitation of MSI installers in general, where only one operation can be performed at a time anyways? Even with exe installers, although they can run at the same time if they attempt to access the same resource, there could be issues.
To me it seems that best practice for any automated installation is to only allow a single thread to process an install at any given time

We already take care of that in the COM server, doing the things that we can in parallel (downloads) and serializing the parts that we must (installs [except of MSIX, because it takes care of that]).
@amelbawa-msft was able to capture a TTT for me and I determined that it was an issue in winget caused by a lack of thread safety around our opening of the tracking catalog (really, around the shared_ptr where we store it).  So ultimately the error occurs due to a race on searching using that source/catalog the first time.
https://github.com/microsoft/winget-cli/blob/015f0e9d9d6fd8d0d40e51dce264cd7744886c7b/src/AppInstallerRepositoryCore/RepositorySource.cpp#L986-L989


Fixed negative max_returned_metrics

What does this PR do?
Ensuring that metric limits are set if the class has set a non-zero default value even in the case where max_returned_metrics is negative
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] Feature or bugfix must have tests
[ ] Git history must be clean
[ ] If PR adds a configuration option, it must be added to the configuration file.

We've migrated from Travis to Azure, you need to rebase your branch to pick up the changes

Hallo @Jallasia would you have time to update your PR with latest master?

Hallo @Jallasia I'm going to close this PR due to inactivity. Please feel free to reopen when you have time to work on it.


Add homology annotations to anatomy term info

These are shown in the current UI but not in the Beta UI.

Duplicate of #10.


Json schema defined in settings.json - json.schemas is ignored

Version: 1.61.0-insider (user setup)
Commit: f66a3e06bcb9f000e5dc0ad0040ff9b32fc75c78
Date: 2021-09-14T05:15:56.612Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19042

A way to debug this is by looking at the json language server log.
Define `"json.trace.server": "verbose" in the settings and check the logs.
Originally posted by @aeschli in https://github.com/microsoft/vscode/issues/76744#issuecomment-527966947

I have the same situation for a configuration like the following, but a view months ago everything worked fine.
{
    "json.schemas": [
        {
            "fileMatch": [
                "/source/de/products/items/*"
            ],
            "url": "./products-de.schema.json"
        },
...
    ]
}

The output of json language server is

[Trace - 2:43:58 PM] Sending request 'textDocument/hover - (139)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/../static-site/source/de/products/items/ACT152/P26.json"
    },
    "position": {
        "line": 6,
        "character": 7
    }
}

[Trace - 2:43:58 PM] Received response 'textDocument/hover - (139)' in 0ms.
No result returned.

If I change the config to
{
    "json.schemas": [
        {
            "fileMatch": [
                "/source/de/products/items/**/*"
            ],
            "url": "./products-de.schema.json"
        },
...
    ]
}

Then in Problems Tab there is the message
Unable to load schema from 'c:\Users\..\static-site\products-de.schema.json': ENOENT: no such file or directory, open 'c:\Users\..\static-site\products-de.schema.json'.

but the File exists.
Folder Structure in the Workspace

.vscode\settings.json
source\de\products\items\ACT152
source\de\products\items\ACT152\P26.json
source\de\products\items\ACT152\P27.json
producs-de.schema.json

I have not changed something for the configuration in the last few months.

Closing this Issue because the reason was a Typo. Sorry for opening it!


[Event Request] Table 81 Gen. Journal Line - OnBeforeSetCurrencyCode

Hi Team,
In table 81 we need possibility to replace standard code with our own. Having event with handling in the beginning of procedure SetCurrencyCode would be perfect solution:

    [IntegrationEvent(false, false)]
    local procedure OnBeforeSetCurrencyCode(AccType2: Option "G/L Account",Customer,Vendor,"Bank Account"; AccNo2: Code[20]; GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


ToPrettyString in end game rule completions

About the PR

so that the prototypeid is visible
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

oh wait oops im silly lol

The entity completion helper should probably also do this.


ScreenCapture on macOS?

I am right that screen capture (httpStream.attachScreen(ScreenCaptureSession()) does not work on macOS?

Not support yet macOS.

I'll see if I can implement this part.

Any progress here? I also need this. Let me know if I can help.

I have a version working for macOS. It's in my fork. I still have to do some cleanup and refactoring before I can do a PR.

Hi. framework will support for ScreenCapture on macOS next release 0.3.4.
macOS has the ScreenCapture api "AVCaptureScreenInput". https://developer.apple.com/library/mac/documentation/AVFoundation/Reference/AVCaptureScreenInput_Class/
snippet code is here.
let screen = AVCaptureScreenInput(displayID: CGMainDisplayID())
rtmpStream.attachScreen(screen)

released 0.3.4


#135842519 add karma and jasmine to setup frontend testing

What does this PR do?
It adds Karma to setup front end testing environment.
Description of Task to be completed?
It adds Jasmine and Karma(with PhantomJS, Chrome and Firefox) to setup front end testing environment.
How should this be manually tested?
run:
karma start

Any background context you want to provide?
What are the relevant pivotal tracker stories?
#135842519
Screenshots (if appropriate)
Questions:

@andela-jkanyua You have conflicts.

@andela-jkanyua I see the smoke-test, but it has not yet been included in our continuous deployment. I think you still have to manually run Karma to run the tests. Work with @andela-cwekesa to see how to add it to the gulp tasks, or one of the npm scripts. It should also include coverage, so @andela-Bgathu has to aslo chip in.

@andela-jkanyua please make the changes we talked about when you can and reopen this.


Add download tests

The first part of increasing the test coverage for the download package.
/ref #47

Codecov Report

Merging #138 into master will increase coverage by 4.92%.
The diff coverage is 85%.

@@            Coverage Diff             @@
##           master     #138      +/-   ##
==========================================
+ Coverage   46.72%   51.64%   +4.92%
==========================================
  Files          12       12
  Lines         610      608       -2
==========================================
+ Hits          285      314      +29
+ Misses        277      244      -33
- Partials       48       50       +2

Impacted Files
Coverage Δ

pkg/installation/install.go
31.86% <0%> (+0.68%)
:arrow_up:

pkg/download/fetch.go
50% <100%> (+50%)
:arrow_up:

pkg/download/downloader.go
64.36% <100%> (+27.7%)
:arrow_up:

pkg/download/verifier.go
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


fix: check issuer during proof check.

Codecov Report
Attention: 18 lines in your changes are missing coverage. Please review.

Comparison is base (04cf7f1) 87.75% compared to head (eda87be) 87.51%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #32      +/-   ##
==========================================
- Coverage   87.75%   87.51%   -0.24%
==========================================
  Files          53       53
  Lines        7938     7954      +16
==========================================
- Hits         6966     6961       -5
- Misses        708      728      +20
- Partials      264      265       +1

Files
Coverage Δ

jwt/jose_wrappers.go
81.25% <100.00%> (ø)

proof/checker/checker.go
86.85% <100.00%> (-0.08%)
:arrow_down:

verifiable/bbs_selective_disclosure.go
71.06% <100.00%> (ø)

verifiable/credential.go
89.23% <100.00%> (+0.59%)
:arrow_up:

verifiable/credential_jws.go
100.00% <ø> (ø)

verifiable/credential_jwt.go
92.37% <100.00%> (+0.13%)
:arrow_up:

verifiable/credential_jwt_unsecured.go
42.85% <100.00%> (-57.15%)
:arrow_down:

verifiable/credential_sdjwt.go
91.31% <100.00%> (+0.09%)
:arrow_up:

verifiable/embedded_proof.go
95.08% <100.00%> (+0.08%)
:arrow_up:

verifiable/jws.go
63.33% <100.00%> (-4.24%)
:arrow_down:

... and 8 more

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


Availability of test vibration mode shapes

I am just curious. Are the experimental mode shapes from the GVT part of the git repository?
If not, is it possible to make them available in Universal File Format?

Let me check to see if they are posted somewhere on the GitHub.  If
not then we have Matlab scripts that can
be used to regenerate them.  Matlab created an example based on this
GVT data that you might find useful:
https://www.mathworks.com/help/ident/examples/modal-analysis-of-a-flexible-flying-wing-aircraft.html
This contains the code to generate and animate these mode shapes.
On Thu, Oct 31, 2019 at 5:20 AM nilswagner<EMAIL_ADDRESS>wrote:

I am just curious. Are the experimental mode shapes from the GVT part of the git repository?
If not, is it possible to make them available in Universal File Format?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Are you aware of http://hosting.umons.ac.be/html/mecara/EasyMod/index.html ?
unv55write(infoMODE,filename,ind_complex): This function writes the information
about the modal parameters in a 55 type UFF file.
unv15and82write(Nodes,Connexions,filename,NodeColor,LineColor): This func-
tion records the geometry information (nodes and connexions) in UFF file bringing
together the file type 15 (for the nodes) and the file type 82 (for the connexions between
nodes).
Your support is greatly appreciated. Thanks in advance.

The scripts to obtain experimental mode shapes have been added here.
Let us know if this resolves the issue.

Yeah, but I don't have a Matlab license right now. Hence the question about Universal files.
http://sdrl.uc.edu/sdrl/referenceinfo/universalfileformats/file-format-storehouse/universal-dataset-number-15
http://sdrl.uc.edu/sdrl/referenceinfo/universalfileformats/file-format-storehouse/universal-dataset-number-55
http://sdrl.uc.edu/sdrl/referenceinfo/universalfileformats/file-format-storehouse/universal-dataset-number-82

I am not used to this file format but I have saved the resulting mode shapes in the file below.
ModeShapes.txt
The columns in the file are the mode shapes. The corresponding frequencies and locations can be read from the matlab files which can be opened in any text editor.

I prefer Python
import numpy as np
X = np.loadtxt('ModeShapes.txt', delimiter=',')
print (X.shape)

X.shape
(30, 8)

You have extracted 8 mode shapes. The number of sensors (tri-axial accelerometers) is ten, right?

There are 30 single axis accelerometers. I have extracted 8 mode shapes.

wing.zip
The z-coordinates of the 30 single-axis accelerometers should be different due to the curved wing, right?

We ignored the affect of curvature of the airfoil on the mode shape calculations and assumed the measurements to be perpendicular to the chord.
This is because we only used the qualitative mode shape information for FEM update and thereafter used the FEM model for further .
For examples,  we just used the information that the mode at 5.8 Hz is the first symmetric bending.
A simple factor of cosine correction can be added if more fidelity in mode shapes are needed.

Thank you.


Up pusher/pusher-php-server to 4 version instead 3

PHP 7.4 don't supported by pusher/pusher-php-server 3 version.

https://github.com/CoreProc/nova-notification-feed/pull/27


Generate lag change or use worlds

versions:
MC Spigot 1.14.3-R0.1-SNAPSHOT)
Multiverse-Core version 4.0.0-SNAPSHOT-b764
description problem:
We have the latest version of the multiverse core and it generates a lot of lag, it does not work well in 14, we have checked with the "timings paste" and it is very bad indeed! Much lag when changing worlds etc. It makes the server work very badly! please in previous versions this did not happen! something is wrong to fix this problem please!
 Use https://pastebin.com

? You already have the timings report above where we see the exaggeration of use of the multiverse-core

sorry and I think it's solved thank you very much! xDD good work xD

but why have you closed the case when it is not solved? that there is some version that no longer passes those lagg and elevated timings?


Docs(deploying-with-docker.mdx): Inform user about turbo prune command

Description
The command turbo prune web --docker produces an error if the name in the package.json is not set to web, for example:
{
   name: "next-app",
   private: true,
   ...
}

It will then throw the error: package web not found. This change informs the user that it is being assumed that the name given in the package.json is "web".

Testing Instructions

Create a nextjs project with a name other than web, next-app for example.
Copy the Dockerfile for the nextjs app found here in the deploying with docker handbook
Run the command docker-compose up
Expect an Error stating package web not found
Change the line RUN turbo prune web --docker to RUN turbo prune next-app --docker
Run the command docker-compose up
It should run successfully

Allow CI Workflow Run

[ ] approve CI run for commit: 95638ddcb1239bfdcb969e016ae7e99b6285afe4

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer


Blog featured image

No changes needing a change description found.

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/3245/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/3245/


fixed test for new qr_brightness default

Just in case it gets merged, so that test suite passes.

I wasn't fast enough, merged without the unit-test fix.


'SaveText|pysssss' node: Converting 'file' to input triggers an error

'SaveText|pysssss' node instances work properly until you try to convert 'file' from a widget to an input, after which that node is bugged and won't work again. New instances are unaffected but will experience the same error if you convert their 'file' to an input.

'See linked post in issue 126:
Originally posted by @Wraithnaut in https://github.com/pythongosssss/ComfyUI-Custom-Scripts/issues/126#issuecomment-1837575409

The string outputs I tried connecting to 'file' as input were 'filename_text' from 'Load Image Batch' and then for science I tried using the 'STRING' output from 'StringFunction|pysssss' as an intermediary but with the same results.
I don't have a workaround for using 'file' as input. New instances of  'SaveText|pysssss' work fine as long as you don't convert 'file' from a widget.
Complete Error Messages from the terminal when 'file' is a connected input.

got prompt
ERROR:root:Failed to validate prompt for output 37:
ERROR:root:* SaveText|pysssss 40:
ERROR:root:  - Exception when validating inner node: No file
ERROR:root:Output will be ignored

This should be fixed

Awesome! Love your custom nodes.


Many plugins are listed as a soft dependency but are required for plugin execution.

Many plugins are listed as a soft dependency in the YAML, however,  the code that runs shortly after loading the plugin enforces that most plugins listed as a soft dependency are installed before executing code.

Closed after logical reasoning in STEMMechanics Discord.


How to use the filemanger in Django 2.2.7?

How to use it in django 2.2.7. If it can't. How to upgrade it ? thanks

I am also waiting for the update as this library is breaking the code.


Sent API registration emails contained a typo

We recently used a one-off script to send emails to users who had registered for the Openverse API during a time period in which verification emails were broken. Unfortunately, the emails we sent contained broken link with a url with two slashes, like so:
                      error here: ↓
https://api.openverse.engineering//v1/auth_tokens/verify/{mytoken}

We should most likely:

Reintroduce the one-off script (it was removed in this PR: https://github.com/WordPress/openverse-api/pull/768)
Fix the duplicated slash
Bonus: The emails were shown to be sent from 'noreply'; ideally we could set a name like 'Openverse API Team' or something in the code. Here's how it looked in Gmail:

Edit: As @sarayourfriend indicated, we can identify the users we emailed in production under the resendoauthverification:processed redis key.

@zackkrida Are the verification emails still broken? I was attempting to register earlier today and still have not received an email to verify?

As far as I'm aware the emails are working, @aod-123. I just tried to register myself and got the confirmation instantly, after running the following command:
curl \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"name": "My amazing project", "description": "To access Openverse API", "email"<EMAIL_ADDRESS>\
  "https://api.openverse.engineering/v1/auth_tokens/register"

@zackkrida The first email address I tried was for a Google Group/Bot (anything sent to the email address goes to each of our admins emails) and as far as our IT team could tell nothing seems to have come in for that address. I've tried another individual address our company has and it appears to work with that one though it did go to spam right away in GMail. I'm not sure if that would be the reasoning why it didn't come through for the group but I suppose just a heads up that companies with a similar setup may not get the verification email.
Sorry, just a follow up question as well, I noticed the expires_in value is for 10 hours. Does this mean we would need to have a CRON job or something setup to refresh our token every 10 hours? Is there a specific reason it's 10 hours and not 12?
Thanks for your help!

Thanks for the extra information @aod-123, that's very helpful! As for the expiration: I'm not sure why it returns for 10 hours. Frankly, I don't see where in the code we actually assign a specific expiration to tokens. 10 hours does seem arbitrary :thinking:

@sarayourfriend It could be a default value that's just coming through? Might there be any plans for having longer expiration times on the tokens? Or potentially changing it to at least every 12/24 hours or so instead of the 10? For now, I'll need to update our project to refetch a token (authenticate) every ten hours or when a 401 is received. We originally implemented when CC was handling the project and so just needed an API key with no expiry in the past, we didn't realize that our key had no longer been working until the recent change regarding limiting page results.

Bonus: The emails were shown to be sent from 'noreply'; ideally we could set a name like 'Openverse API Team' or something in the code. Here's how it looked in Gmail:

For this part, we need to update the DEFAULT_FROM_EMAIL environment variable to follow the NAME <EMAIL> format: https://stackoverflow.com/a/2112818


Updating default VM_SKU on request.

Summary of the Pull Request
What is this about?
A developer requested we update the default CLI value for VM_SKU to Standard_D4s_v3, as this SKU can more efficiently use 4 cores to run standard jobs - esp. libfuzzer jobs.
PR Checklist

[ ] Applies to work item: #xxx
[ ] CLA signed. If not, go over here and sign the CLI.
[ ] Tests added/passed
[ ] Requires documentation to be updated
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
What does this include?
Changed files:

modified:   src/cli/onefuzz/api.py
modified:   src/cli/onefuzz/templates/ossfuzz.py
Updating default value to new Standard.

Validation Steps Performed
How does someone test & validate?
Integration tests.

This change would increase CPU costs for fuzzing workloads by 2x, based on information from the public Azure Pricing Calculator.  We should be hesitant to make changes that impact the cost to all users of OneFuzz.
Could your developer's needs be served by setting up the scalesets in the pools for your instance to use this VM SKU?

This change would increase CPU costs for fuzzing workloads by 2x, based on information from the public Azure Pricing Calculator. We should be hesitant to make changes that impact the cost to all users of OneFuzz.
Could your developer's needs be served by setting up the scalesets in the pools for your instance to use this VM SKU?


BUG : OutOfMemory Exception with Gradients

Hi,
When trying to draw a SVG, I receive an out of memory exception with this stack trace:
à System.Drawing.Drawing2D.LinearGradientBrush..ctor(PointF point1, PointF point2, Color color1, Color color2)
à Svg.SvgLinearGradientServer.GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, Single opacity) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\Painting\SvgLinearGradientServer.cs:ligne 107
à Svg.SvgVisualElement.RenderFill(SvgRenderer renderer) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\Basic Shapes\SvgVisualElement.cs:ligne 141
à Svg.SvgVisualElement.Render(SvgRenderer renderer) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\Basic Shapes\SvgVisualElement.cs:ligne 119
à Svg.SvgElement.RenderChildren(SvgRenderer renderer) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\SvgElement.cs:ligne 653
à Svg.SvgGroup.Render(SvgRenderer renderer) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\Document Structure\SvgGroup.cs:ligne 71
à Svg.SvgElement.RenderChildren(SvgRenderer renderer) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\SvgElement.cs:ligne 653
à Svg.SvgElement.Render(SvgRenderer renderer) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\SvgElement.cs:ligne 641
à Svg.SvgDocument.Draw(Bitmap bitmap) dans d:\TFS\GiresV2\Development-v2\Sources\Svg\SvgDocument.cs:ligne 464
à Svg.SvgDocument.Draw() dans d:\TFS\GiresV2\Development-v2\Sources\Svg\SvgDocument.cs:ligne 437
Knew problem?

This is a known GDI issue with very small values (gradients in this case) - the exception is misleading as it is no real out of memory error.
I think this can be fixed by adding checks for small values - I may look into this some time later.

I have encountered a similar issue, for the above SVG,
In my case, some of the linearGradient has 0 height (y1 == y2)
<linearGradient x1="252.49" y1="651.83" x2="559.16" y2="651.83" xlink:href="#linear-gradient" gradientTransform="translate(-53.42, -414.64)" id="linear-gradient-2"/>

The call stack is
System.OutOfMemoryException: 'Out of memory.'
This exception was originally thrown at this call stack:
    System.Drawing.SafeNativeMethods.Gdip.CheckStatus(int)
    System.Drawing.Drawing2D.LinearGradientBrush.LinearGradientBrush(System.Drawing.PointF, System.Drawing.PointF, System.Drawing.Color, System.Drawing.Color)
    Svg.SvgLinearGradientServer.GetBrush(Svg.SvgVisualElement, Svg.ISvgRenderer, float, bool)
    Svg.SvgDeferredPaintServer.GetBrush(Svg.SvgVisualElement, Svg.ISvgRenderer, float, bool)
    Svg.SvgVisualElement.RenderFill(Svg.ISvgRenderer)
    Svg.SvgVisualElement.RenderFillAndStroke(Svg.ISvgRenderer)
    Svg.SvgVisualElement.RenderInternal(Svg.ISvgRenderer, System.Action<Svg.ISvgRenderer>)
    Svg.SvgVisualElement.RenderInternal(Svg.ISvgRenderer, bool)
    Svg.SvgVisualElement.Render(Svg.ISvgRenderer)
    Svg.SvgRectangle.Render(Svg.ISvgRenderer)

I tried to add a very small value to the y2, then the exception is no longer thrown, however the gradient is not rendered correctly.
For example, converted PNG, which the gradient is significantly different than the actual svg rendered in browser (at the beginning of this post)

@mrbean-bremen do you have any plans to address this? Or maybe has a better solution than simply add a small value to make brush height not 0?

@gwang-msft
I want to compare it with major browsers, so please upload complete SVG file.

@gwang-msft I want to compare it with major browsers, so please upload complete SVG file.

@H1Gdev, the svg file was uploaded in my previous post, here is the direct link
https://user-images.githubusercontent.com/62914304/160978648-3bc1935e-e9ac-4040-a8dc-5d9a07210654.svg
Thanks!

The PR fixes the issue reported by @guoyu-wang, which is unrelated to the original problem, which remains. Reopen.

Is there any update on this? We started to use the SVG.net library on a new project and encountered the same problem, as our whole icon collection contains gradients.

Update:
I applied the proposed changes from https://github.com/svg-net/SVG/issues/1008 and the problem seems to be fixed.

Yes, I think this (ignoring small differences) is the way to fix this. There has been no update on this - the issue has obviously been forgotten - but if somebody could pull a PR with these changes together, it would be nice.
It is unlikely that I will get to this myself in the near future, as I'm mostly busy with other stuff and have not been working on SVG for a long time now. Though I may have a shot some time later on if nobody else gets to it...

I created a pull request for this fix, as mentioned:
https://github.com/svg-net/SVG/pull/1035


Failing "password" test

Add's a failing test case because for some reason hashing "password" at a cost of 2 fails

Upon further investigation this seems to only happen with a cost of 1, 2, or 3

From what I can tell this is expected: https://github.com/libressl-portable/openbsd/blob/master/src/lib/libc/crypt/bcrypt.c#L143
We should probably just throw a nicer error here if the cost is below BCRYPT_MINLOGROUNDS

Oh interesting, that's good to know. Cool, I'm good with this being closed then

I've seen this in some other wrappers:
if rounds < 4 or rounds > 31:
        raise ValueError("Invalid rounds")

No, your test is ok. The only thing that needs to be changed is XCTAssertNoThrow for XCTAssertThrowsError

Cool, since it's intended changing that makes sense. Will update now

If you want to, add the guard also (paste it from #57)

Sure no problem! I just walked away from my computer but will be back in about an hour

Thanks @mcdappdev!


TestContainers Kafka wrapper fails to start Confleunt Kafka

The Test Containers - Kafka module fails to startup a container. The following starter example works fine on a standard Docker backend but fails with Kubedock.
import org.junit.jupiter.api.Test;

import org.testcontainers.containers.KafkaContainer;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

@Testcontainers
public class KafkaTest {

    @Test
    void testKafkaStartup() {
        KafkaContainer KAFKA_CONTAINER = new KafkaContainer(DockerImageName.parse("confluentinc/cp-kafka:5.5.0"))
                .withStartupAttempts(3);

        KAFKA_CONTAINER.start();
        KAFKA_CONTAINER.stop();
    }
}

Running this example against a local Kubedock build from master yields:
[GIN] 2022/02/14 - 12:33:51 | 201 |       165.8µs |       <IP_ADDRESS> | POST     "/containers/create"
[GIN] 2022/02/14 - 12:33:53 | 204 |    2.4264976s |       <IP_ADDRESS> | POST     "/containers/44e0da1c4a4ff1260dfe20404f1a9f916c88ab78dcf1f0d0204a51fc228c0cde/start"
I0214 12:33:53.722604   27595 portforward.go:42] start port-forward 37943->9093
I0214 12:33:53.722665   27595 portforward.go:42] start port-forward 52796->2181
[GIN] 2022/02/14 - 12:33:53 | 200 |        86.8µs |       <IP_ADDRESS> | GET      "/containers/44e0da1c4a4ff1260dfe20404f1a9f916c88ab78dcf1f0d0204a51fc228c0cde/json"
I0214 12:33:53.833324   27595 copy.go:36] copy 2048 bytes to 44e0da1c4a4f:/
E0214 12:33:58.908660   27595 v2.go:168] io: read/write on closed pipe
E0214 12:33:58.914197   27595 util.go:18] error during request[500]: command terminated with exit code 2
[GIN] 2022/02/14 - 12:33:58 | 500 |    5.1302852s |       <IP_ADDRESS> | PUT      "/containers/44e0da1c4a4ff1260dfe20404f1a9f916c88ab78dcf1f0d0204a51fc228c0cde/archive?noOverwriteDirNonDir=false&path=%2F"
[GIN] 2022/02/14 - 12:33:59 | 200 |    102.6893ms |       <IP_ADDRESS> | GET      "/containers/44e0da1c4a4ff1260dfe20404f1a9f916c88ab78dcf1f0d0204a51fc228c0cde/logs?stdout=true&stderr=true&since=0"
[GIN] 2022/02/14 - 12:33:59 | 201 |       144.7µs |       <IP_ADDRESS> | POST     "/containers/create"
[GIN] 2022/02/14 - 12:34:01 | 204 |     2.379796s |       <IP_ADDRESS> | POST     "/containers/86abe9fd787d0b557bde2496a269a708f03a9a368b05989116d6cfad93ca41e3/start"
I0214 12:34:01.436944   27595 portforward.go:42] start port-forward 38007->2181
I0214 12:34:01.437094   27595 portforward.go:42] start port-forward 52166->9093
[GIN] 2022/02/14 - 12:34:01 | 200 |       175.1µs |       <IP_ADDRESS> | GET      "/containers/86abe9fd787d0b557bde2496a269a708f03a9a368b05989116d6cfad93ca41e3/json"
I0214 12:34:01.491702   27595 copy.go:36] copy 2048 bytes to 86abe9fd787d:/
E0214 12:34:01.989394   27595 v2.go:168] io: read/write on closed pipe
E0214 12:34:01.990213   27595 util.go:18] error during request[500]: command terminated with exit code 2
[GIN] 2022/02/14 - 12:34:01 | 500 |    547.6007ms |       <IP_ADDRESS> | PUT      "/containers/86abe9fd787d0b557bde2496a269a708f03a9a368b05989116d6cfad93ca41e3/archive?noOverwriteDirNonDir=false&path=%2F"
[GIN] 2022/02/14 - 12:34:02 | 200 |    103.6247ms |       <IP_ADDRESS> | GET      "/containers/86abe9fd787d0b557bde2496a269a708f03a9a368b05989116d6cfad93ca41e3/logs?stdout=true&stderr=true&since=0"
[GIN] 2022/02/14 - 12:34:02 | 201 |       183.3µs |       <IP_ADDRESS> | POST     "/containers/create"
[GIN] 2022/02/14 - 12:34:04 | 204 |    2.4081256s |       <IP_ADDRESS> | POST     "/containers/479e20e215dd43c14171afb588470b239a31c475f8ac44670d54b95dad71c6fd/start"
I0214 12:34:04.518805   27595 portforward.go:42] start port-forward 44148->9093
I0214 12:34:04.518965   27595 portforward.go:42] start port-forward 47341->2181
[GIN] 2022/02/14 - 12:34:04 | 200 |       207.4µs |       <IP_ADDRESS> | GET      "/containers/479e20e215dd43c14171afb588470b239a31c475f8ac44670d54b95dad71c6fd/json"
I0214 12:34:04.573697   27595 copy.go:36] copy 2048 bytes to 479e20e215dd:/
E0214 12:34:05.047982   27595 v2.go:168] io: read/write on closed pipe
E0214 12:34:05.052508   27595 util.go:18] error during request[500]: command terminated with exit code 2
[GIN] 2022/02/14 - 12:34:05 | 500 |    526.6571ms |       <IP_ADDRESS> | PUT      "/containers/479e20e215dd43c14171afb588470b239a31c475f8ac44670d54b95dad71c6fd/archive?noOverwriteDirNonDir=false&path=%2F"
[GIN] 2022/02/14 - 12:34:05 | 200 |    101.7087ms |       <IP_ADDRESS> | GET      "/containers/479e20e215dd43c14171afb588470b239a31c475f8ac44670d54b95dad71c6fd/logs?stdout=true&stderr=true&since=0"

I've looked at this off and on over the last few weeks and was hopeful that perhaps the fix for #6 would resolve this as well.

Locally using minikube the test doesn't fail for me. Are you using OpenShift?
Upping the verbosity (e.g. kubedock  server -P -v 5 --port-forward --pre-archive) displays what the startup actually does; it rewrites the entrypoint to watch for a certain shell script to be present, and the copy actually copies that specific shell script to the container. After that, it does a local nc to see if the something is listening to the zookeeper/kafka ports.

Good point, I'm using vanilla Kubernetes but setting a different user to run as (1001). I suspect this is an issue with the image itself then, will confirm by running as the user expected in the image. Thanks!

When running kubedock to enforce user 1001, the test fails indeed. This is because it tries to copy a shell script to /, which is not allowed by that user. The issue is similar to: https://github.com/quarkusio/quarkus/pull/19736

Closing in favour of #43.


Bottom Library category failed to update

Device information

Tachiyomi version: Neko <IP_ADDRESS>
Android phone & version: android 11, Redmi 8A Pro

Steps to reproduce

First step
Update two bottom library category

Expected behavior
Library update normally
Actual behavior
Library failed to update, no code error provided
Other details
Neko Library backup file
https://drive.google.com/file/d/1610LZRvDDp0rY9f4u1BvuH4kcmh6RquS/view?usp=drivesdk
Error log
https://drive.google.com/file/d/160CsOvIxTPrJfoXaEhVUaicGoiZGQPB8/view?usp=drivesdk
Also video for bug detail on Cesco discord DM

let me know if you still have this issue In 2.6.0

Reopen if still an issue on 2.7.0


ES6/Typescript update for v3

Added Typescript types
Moved SelectHandler into a separate file
Exported the handler with ES6
Typehinted the .selectize() method
Removed old code (git will have the history)

The idea is to split up the code a little in-case someone - like me - would like to extend the base class and modify some of the behaviors in a subpackage.

Uh cool, you found the branch with the new code :D.
It wasn't released because the resize-plugin which relies on select wasn't ready yet.
Also, I didn't decide yet how I want resizing to happen (coordinate changes vs transformations - at the moment its a mixture of both).
But yeah -- that's unrelated to this PR. Thanks for your work :)

Your welcome, I hopefully will able to share a bit more later.
By the way, is there room to move the code to typescript?
Also, what are the missing features you need?

some tickets should be better with the merge:
/related #33
/related #61

Since whole svg.js is not written in typescript imo it makes not too much sense to have the plug-ins use typescript as it will confuse people. Also: especially for the Plug-ins I don't really see the benefit because they are mostly small and easy to manage.
For the features I am not too sure either.
The thing is most big graphic programs distinguish between resizing and transforming shapes and I see the benefit in doing so. Also manipulating the shape itself (by e. G. changing points in a poly line) is actually a separate thing. So I feel like at some point we have to have multiple selection modes each for a different form of editing.

resizing for changing width and height in untransformed state
transforming (= scaling, rotating, skewing, translating)
manipulation where the actual shape data is manipulated (= editing single points in poly line or paths)

Bonus points for making it possible to reuse the same code for all this + drawing the shape :D

Hmm, the possible confusion is a great point, though I feel like the whole project could benefit a lot with typescript and the plugins are small enough to start. To be honest, it just ugly when you extend an ES6 class:

Maybe I can fix it by adding the type declarations.
I agree on the particular plugin modules and the way to extend it, from my viewpoint the main use-cases are already there for a Graphical Editor project, hopefully, I will able to share more later, we are in an early experimental phase at the moment.
What I actually need is extending the already exist classes and define my own handle UI. What's kinda buggy is using multiple plugins together as they sometimes fail to behave with each other. I've ended up having a monorepo where I collect the plugins into their own space and edit them together.

The plugins draw, resize, select and draggable were actually all written more or less together but ofc screw-ups happen :D.
For the typescript: We actually have pretty decent typings for svg.js and the updated plugins so working with them should actually be a pretty pleasant experience

from my viewpoint the main use-cases are already there for a Graphical Editor project

Yes and No. Yes, you can do a lot of stuff but it kinda feels a bit mixed up. Especially resizing and rotating together


How to sharding table by a column which type is Datetime or use ShardingAlgorithm which define myself in mybatis

sharding-jdbc version: 4.0.0-RC2
springboot version: 2.1.6
mybatis version: 3.5.2
mybatis springstarter: 2.1.0
DB: mysql
I want sharding my table with a column which type is datetime, and I try code MyShardingAlgorithm implements HintShardingAlgorithm
private static final String ORDER_TABLE = "t-order";

  @Override
  public Collection<String> doSharding(Collection<String> collection, HintShardingValue<String> shardingValue) {

    List<String> list = Lists.newArrayList(shardingValue.getValues());
    List<String> actualTable = Lists.newArrayList();

    String json = list.get(0);
    IllegalResultQueryCondition condition = JSON.parseObject(json, IllegalResultQueryCondition.class);

    if (StringUtils.isEmpty(condition.getCreatedAt())) {

      for (int i = 1; i < 13; i++) {
        String tabIndex = i < 10 ? "0".concat(String.valueOf(i)) : String.valueOf(i);
        actualTable.add(ORDER_TABLE.concat(tabIndex));
      }
    } else {

      String tableSuffix = ShardingUtils.getDateIndex(condition.getCreatedAt());
      actualTable.add(ORDER_TABLE.concat(tableSuffix));
    }

    return actualTable;
  }

and config in application.yml

spring:
  application.name: illegal
  shardingsphere:
    datasource:
      ds0:
        driver-class-name: com.mysql.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://${DB_URL}:3306/demo
        username:${DB_USER}
        password: ${DB_PASS}
      names: ds0
    sharding:
      binding-tables: t_order
      default-database-strategy:
        hint:
          algorithmClassName: com.demo.config.MyShardingAlgorithm
      tables:
        t_order:
          actual-data-nodes: ds0.t_order$->{1..9}, ds0.t_order$->{10..12}
          key-generator:
            column: id
            type: SNOWFLAKE
          table-strategy:
            hint:
              algorithmClassName: com.demo.config.MyShardingAlgorithm
    props:
      sql:
        show: true

but it looks like not worked.
when I insert into table one recode , it will insert into all tables, also by query.
please show me what I mistake.
I find example with jdbc in github, but I don't know how to use in mybatis, has example show how to use by mybatis?
thanks.

You must use HintManager If you wanna use HintShardingAlgorithm. Hint-example is an example for hint, maybe you should look at it first.

You must use HintManager If you wanna use HintShardingAlgorithm. Hint-example is an example for hint, maybe you should look at it first.

Yes，I was read the example, it's fro jdbc.
Now I want to use it in mybatis, and I don't konw how to mixin the HintManager into mybatis.

HintManager can work with myabtis too. You can call HintManager before call mybatis mapper like this.
// call HintManager's method.
HintManager.getInstance().addTableShardingValue("t_order", 1L);
// call maybtis method.
orderMapper.selectById(id);

HintManager can work with myabtis too. You can call HintManager before call mybatis mapper like this.
// call HintManager's method.
HintManager.getInstance().addTableShardingValue("t_order", 1L);
// call maybtis method.
orderMapper.selectById(id);

Thanks


Remove / Replace Link

Please remove or replace the UC Berkeley Data Structures link under video lectures of data structure because the video is not present on this link.

please assign this to me


Bowling: missing test

I stumbled upon a case that wasn't covered by the bowling test suite. This solution adds the next frame bonus to a spare followed by a strike, i.e: [5,5,10,+6][10,6][6,0]... All current tests pass with this bug.
Proposed test:
  def test_a_spare_followed_by_a_strike_should_not_get_bonus_from_next_frame
    game = Game.new
    rolls = [5, 5, 10, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    rolls.each { |pins| game.roll(pins) }
    assert_equal 42, game.score
  end

class Game

  def initialize
    @frames = Hash.new { |frame, key| frame[key] = Frame.new(key) }
    @frames[1]
  end

  def roll(pins)
    game_should_not_be_over
    next_frame if current_frame.complete?
    current_frame.add(pins)
    add_bonus if current_frame.complete?
  end

  def score
    game_must_be_over
    @frames.values.map(&:score).sum
  end

private

  def current
    @frames.keys.max
  end

  def current_frame
    @frames[current]
  end

  def next_frame
    @frames[current.next]
  end

  def previous(prev = 1)
    current >= prev ? @frames[current - prev] : Frame.new(0)
  end

  def add_bonus
    previous.add_bonus(current_frame.points(2))
    previous(2).add_bonus(current_frame.points(1), previous.strike?)
  end

  def game_over
    current_frame.last? && current_frame.complete?
  end

  def game_must_be_over
    raise BowlingError, "The game is not over" unless game_over
  end

  def game_should_not_be_over
    raise BowlingError, "The game is over" if game_over
  end

  class Frame

    def initialize(turn)
      @points = []
      @complete = false
      @last = turn == 10
    end

    def add(pins)
      validate(pins)
      @points << pins
      @complete = @points.size == rolls_to_complete
    end

    def points(max = 3)
      @points.first(max)
    end

    def score
      @points.sum
    end

    def add_bonus(rolls, should_add = true)
      return unless bonus? && should_add
      bonus = strike? ? rolls.sum : rolls.first
      @points << bonus
    end

    def bonus?
      spare? || strike?
    end

    def strike?
      @points.first == 10
    end

    def spare?
      !strike? && score >= 10
    end

    def complete?
      @complete
    end

    def last?
      @last
    end

  private

    def rolls_to_complete
      if last? then bonus? ? 3 : 2 else strike? ? 1 : 2 end
    end

    def validate(pins)
      incoherent_pins = !pins.between?(0,10)
      invalid = last? ? score < 20 && score + pins > 20 : score + pins > 10
      raise BowlingError, "Wrong number of pins" if incoherent_pins || invalid
    end

  end

  class BowlingError < StandardError
  end

end

Posted here for "we are talking about it here" convenience.


Add maxLength attribute to input component

@javivelasco The maxLength attribute was not working, and it was because it was being displayed but not being added to the element.

Great, thanks for the PR! :)


Add chat kc abbreviations #4369

#4369 hashtag for the issue didn't seem to register in the title

@aquivers I'd recommend formatting the commit as such:
Add chat kc abbreviations

Fixes #4396

That way, it'll close the issue automatically once merged.

Ah cheers, I'm new to this :D


About the y-coordinates

In your paper, we have "the x-coordinates of four vertices of the OBB are sorted as x1, x2, x3, x4 from small to large, and y-coordinates are sorted as y1, y2, y3, y4", so y-coordinates is also from small to large, too?
But from fig2, it seems y4<y3<y2<y1,

In this way, when we calculate rs in w>=h situation, rs=(y2-y1)/h<0, is it right?

Thank you for your comment!
There seems to be an error in Fig. 2. We will correct it in future revisions.


Fix link to SYB paper in README

The link to Simon Peyton Jones's paper on scrap your boilerplate seems to get re-directed to his home page. It looks like it used to point directly to the paper - is this the right link now?

Codecov Report

Merging #782 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #782   +/-   ##
=======================================
  Coverage   86.97%   86.97%
=======================================
  Files          90       90
  Lines        2518     2518
  Branches       53       53
=======================================
  Hits         2190     2190
  Misses        328      328

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 4b760e3...61d044f. Read the comment docs.

Good catch! Yes, that's the right link ... many thanks ... merging :-)


W32 GUI: ctrl+alt=altgr; intelligent "unshifting"

Implementation uses additional call to ToUnicode() to recognize more
precisely, what is going on concerning Alt, Crtl and Shift modifiers.
ctrl+alt=altgr
Fixes: questionable PR #10308, (was blamed by @sthomen), recovering
standard-Windows behavior
In case both left Ctrl and Alt are hold, attempt is firstly made to
translate keypress in the same way as AltGr was hold, and if translation
differs from original (without Ctrl+Alt), effect is kept and both Ctrl
and Alt modifiers are forcibly removed in _OnChar().
intelligent "unshifting"
Fixes: #10324
Similarly, in case Shift is hold, attempt is firstly made to translate
keypress in the way that Shift key effect is removed. If such
translation differs from original (with Shift hold) - Shift modifier is
assumed to be already accounted by translation, and _OnChar() is
instructed to forcibly remove Shift modifier.
Anton Sharonov
(Changed github user name from haron13-2019; my former PR's: #10687, #10658)

Does this perhaps fix #10817 ?

Does this perhaps fix #10817 ?

Unfortunately not, see my reply in #10817.

@ant0sha is this still relevant?

@ant0sha is this still relevant?

Theoretically yes.
Practically (probably) for very limited number of users - namely for those who playing with:
:call test_mswin_event('set_keycode_trans_strategy', {'strategy': 'experimental'})

That was badly needed in the times we had the 'experimental' strategy as default.

okay, so let me close it for now.


chore(deps): update dependency jest to v27.4.3

This PR contains the following updates:

Package
Type
Update
Change

jest (source)
devDependencies
patch
27.4.2 -> 27.4.3

Release Notes

facebook/jest
v27.4.3
Compare Source
Fixes

[jest-environment-jsdom] Remove @types/jsdom dependency (and make its dom property private) (#12107)

Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: pnpm-lock.yaml
/bin/sh: 1: pnpm: not found


Proposal: Allow using env-vars in devcontainer-feature.json

My current use case involves defining additional container mounts in the future users home directory in the container. It seems to be impossible at the moment, since the remoteUser is configurable.
${devcontainerId} seems to be the only variable that can be used in the devcontainer-feature.json file. There are 2 env variables mentioned in the feature spec (_REMOTE_USER_HOME and _CONTAINER_USER_HOME) but they are only accessible in the install.sh-script.
I'd like to have access to more variables, either the ones passed to the install-script, or the ones used in the parents devcontainer.json.

Hi 👋
I agree, it would be helpful if we could make environment variables passed to the devcontainer.json and added as Feature options available to devcontainer-feature.json.
Our current set of dev container Features would benefit from this as well, we have https://github.com/devcontainers/cli/issues/391 opened which tries to tackle another such scenario.

Hello there, once again... can I do something to get this going? I'd love to finish some devcontainer features but they depend on these variables...

Hi 👋
We currently have this issue in our backlog, @bamurtaugh @joshspicer looking for your thoughts on this one.

I agree this one sounds useful, thanks for opening @max06!
Since this is an open spec, we really value feedback and contributions too. @samruddhikhandale @chrmarti would you find it reasonable to suggest anyone from the community could also contribute this request via PR to https://github.com/devcontainers/cli? If so, then @max06 you'd be able to kick this off directly!

Looks like I overestimated my abilities here 🙈
(Any help/hint would be greatly appreciated!)

Adding another use case here, would be great to be able to use ${localEnv:HOME}${localEnv:USERPROFILE} for the mounts in features. I'm working on a feature to allow adding Python packages using a requirements.txt and it would be great to be able to give users the options to use a requirements.txt that's store on their host rather than in the container. Don't see a way to accomplish this otherwise.

I gave it another try - and was more successful than last time🥳


PX4 autopilot recipes for ROS

Collection of ROS recipes to interface with PX4 and Ardupilot controller for Drones:
http://wiki.ros.org/mavros

Thanks for your pull request. Generally, the recipes look good and I am happy to merge them once you address the few simple points in the comments. I have been a bit of more explicit in the beginning of my review, and the later review comments are short and imperative and should be understood with the comment from before.

@bulwahn Thanks for the feedback, it was very useful!. It took me a little bit longer than I wanted to make the changes but here they are.
The only comment I haven't addressed yet pertains the locations to get the sources from, git repo or released archive. I can sort of understand why you would use the released archive but could you elaborate further on the advantages and disadvantages of each please?
At least for development while I was figuring out if I needed patches for the recipes, using the git source was useful. I'm not doing that anymore but I wasn't able to come up with enough reasons to change it afterwards.
Thanks

You are welcome. I reviewed the patches once again, and had some more points I noticed.
The advantage of using archive files is certainly that they are smaller than the downloading the whole git repository (with its history); the smaller size makes the download directory smaller, and it works
with a lower pressure on the internet connection, esp. in corporate networks, you share the bandwidth, so you do not want to speed down the bandwidth of your colleagues.
A second smaller advantage is that I already have scripts to semi-automatically do version updates, and this scripts expects that the recipes refer to the archive files. But that's a weaker argument because one could imagine extending the script to handle the references to the git repositories as well.
Once the last comments are addressed, I will run a quick test build of the recipes and then merge them.

@JochiPochi Did you have time to address the last points? Is there another point that you are working on for this pull request that I am not aware of? If you do not have time within the next weeks, I can possibly jump in and do the last requested changes myself, depending on my personal schedule.

Hello @bulwahn.

I made the last modification regarding the dependency list.
I'm updating the mavlink recipes to use a TarBall right now, mavros will have to stay as git link as some important commits are not on their indigo release yet

I tested your pull request with a recent openembedded-core build setup and bitbake complains:
ERROR: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/mavros_0.17.4.bb: This recipe does not have the LICENSE field set (mavros)                                                      | ETA:  --:--:--
ERROR: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/mavros-extras_0.17.4.bb: This recipe does not have the LICENSE field set (mavros-extras)
ERROR: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/mavros-msgs_0.17.4.bb: QA Issue: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/mavros-msgs_0.17.4.bb: Variable RDEPENDS is set as not being package specific, please fix this. [pkgvarcheck]
ERROR: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/mavros-msgs_0.17.4.bb: Fatal QA errors found, failing task.
ERROR: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/libmavconn_0.17.4.bb: This recipe does not have the LICENSE field set (libmavconn)
ERROR: Failed to parse recipe: /home/lukas/dev/github.com/bmwcarit/meta-ros/recipes-ros/mavros/mavros_0.17.4.bb

Please consider to include my adjustments at https://github.com/bulwahn/meta-ros/commits/pull-424 into this pull request. These address the errors listed above.

Thanks for catching those. I just implemented the changes you suggested. I'm testing on my end now

The current state of this PR works. As standalone meta-ros compiled on a meta-openembedded env as well as poky from scratch. I can compile and run mavros and mavros extras just fine.
On the other hand, I am testing mavros with @guludo's implementation on #434 as it's a much newer version of mavlink and may not require the patch.

This pull request is closed, as pull request #434 has been merged.


Health.md

I'm new to this. DO I need to create this pull request to add my GPT to the list?
Thank you!

your app url (https://chat.openai.com/g/g-Nmm2aSRIz-gptutor) seems to be invalid (404)


pic32mx: sched_lock should replace with enter_critical_secion

Summary
pic32mx: sched_lock should replace with enter_critical_secion
Impact
none
Testing

I think we should not blindly remove/replace sched_lock/sched_unlock, but fix the actual issue if there is one. What actual problem is solved with this PR?

I think we should not blindly remove/replace sched_lock/sched_unlock, but fix the actual issue if there is one. What actual problem is solved with this PR?

It's wrong to use sched_lock/sched_unlock as a critical section in SMP case, and people normally copy the similar code before doing the modification, so it's important to ensure the code base work for both UP and MP.

I mean that for non-MP mode the critical section and scheduler lock bring conceptually different behaviour in terms of interrupt reaction latency.

Does PIC32MX support SMP?

MIPS doesn't support SMP yet, I think.

I mean that for non-MP mode

Even in MP mode, it's unsafe to use the sched lock to do the sync between the normal thread and interrupt handler. pic32mx_gpio may need consider this case.

the critical section and scheduler lock bring conceptually different behaviour in terms of interrupt reaction latency.

Yes, but since the code is very short without loop and touch only the hardware register, I believe the time to execute pic32mx_configgpio is very small.

BTW, I do not see any read-modify-store in the function, so why do we need a critical section here? Maybe let's just remove the sched_lock/unlock?

BTW, I do not see any read-modify-store in the function, so why do we need a critical section here? Maybe let's just remove the sched_lock/unlock?

But, i am not sure where it is safe to interrupt the action even the code just write registers.

Ok. Let's go with a critical section, but it seems to be redundant. I do not have a way to test it and time to spend to read docs about it


Adding new --language command-line arg

This is backwards compatible with artman.

Plumbing TargetLanguage throughout the code
Removing the "generator id" concept altogether.

Node: using the NODEJS_DOC codepath; updating the Node baselines to reflect generation of docs
Ruby: using the RUBY_DOC codepath; updating the Ruby baselines to reflect generation of docs

Deleting GapicGeneratorConfig, passing around its components instead
Deleting CLIENT_CONFIG support - Artman doesn't use it, and all relevant languages perform the same generation anyway

Codecov Report

Merging #2040 into master will decrease coverage by 0.4%.
The diff coverage is 44.2%.

@@             Coverage Diff              @@
##             master    #2040      +/-   ##
============================================
- Coverage     86.89%   86.49%   -0.41%
+ Complexity     4986     4965      -21
============================================
  Files           450      449       -1
  Lines         19692    19704      +12
  Branches       2083     2079       -4
============================================
- Hits          17112    17043      -69
- Misses         1872     1951      +79
- Partials        708      710       +2

Impacted Files
Coverage Δ
Complexity Δ

.../codegen/discogapic/DiscoGapicProviderFactory.java
86.84% <0%> (-0.34%)
1 <0> (ø)

...ain/java/com/google/api/codegen/GeneratorMain.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...gle/api/codegen/config/DiscoGapicMethodConfig.java
46.83% <0%> (ø)
5 <0> (ø)
:arrow_down:

.../api/codegen/config/DiscoGapicInterfaceConfig.java
54.09% <100%> (+1.15%)
23 <0> (ø)
:arrow_down:

.../google/api/codegen/config/GapicProductConfig.java
73.72% <100%> (ø)
38 <0> (ø)
:arrow_down:

...odegen/discogapic/transformer/DiscoGapicNamer.java
82.35% <100%> (+9.62%)
5 <1> (+1)
:arrow_up:

...le/api/codegen/packagegen/PackageGeneratorApp.java
60.97% <100%> (ø)
3 <1> (ø)
:arrow_down:

...e/api/codegen/config/SingleResourceNameConfig.java
80.95% <100%> (ø)
7 <0> (ø)
:arrow_down:

...oogle/api/codegen/config/GapicInterfaceConfig.java
77.37% <100%> (+0.5%)
46 <0> (ø)
:arrow_down:

...api/codegen/config/ResourceNameMessageConfigs.java
91.52% <100%> (ø)
21 <0> (ø)
:arrow_down:

... and 12 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 0a8c52b...6af72d0. Read the comment docs.

cc @andreamlin (for discogapic changes), cc @jbolinger (for Ruby changes - FYI only, it shouldn't change real API generation output), cc @alexander-fenster (for NodeJS changes - FYI only, it shouldn't change real API generation output)

Changes LGTM, but I didn't get why the baselines need to be renamed, and why there were changes in ruby and node?

LGTM from my side, let's see :)

I decided to re-enable sample test generation within the baseline tests (it will stay off for real generation, which is the status quo)


Make the site a PWA

make the site usable locally ("installable") and available offline by making it a PWA

References for PWA: https://web.dev/progressive-web-apps/

Added in 96b1f93d1d47ef6dd970848f3d423a31cd86f0d6


Fix ambiguous command behaviour

Should add a space between MESSAGE_CONTACT_USAGE and the previous line and also to keep it consistent with the add command message usage, should use single \n and not double.

If it is related to changing the error message then it may violate feature freeze


What permissions are needed to run an ADF debug session?

What permissions are needed to run a debug session?
We have removed Data Factory Contributor because we want to disallow publishing to the dev instance. However, this page does not say what permissions are required to run Debug.
Related stackoverflow question: https://stackoverflow.com/questions/62766636/what-permissions-are-needed-to-run-an-azure-data-factory-adf-debug-session

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

ID: 5abe92e0-af6a-4def-ca04-cec316529945
Version Independent ID: 96e2ab4c-46cd-e996-fb11-1423b2325928
Content: Iterative development and debugging in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/iterative-development-debugging.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@successhawkCG  Thanks for reaching out. We will investigate and update the thread.

@successhawkCG As answered on your SO thread, and as you are already aware, for someone to be able to access the author (create/edit/modify,etc) parts of ADF, you would need to assign the in-built contributor role.
You can however also create custom roles depending on your requirement.  Eg - To Let a user be able to test connection in a linked service or preview data in a dataset,
Create a custom role with permissions for the following actions: Microsoft.DataFactory/factories/getFeatureValue/read and Microsoft.DataFactory/factories/getDataPlaneAccess/action. Assign this custom role on the data factory resource for the user.
Hope this helps.
Also, Since the issue is not a feedback on the doc in reference, I would recommend you to continue the discussion on Stack Overflow and on MS QnA. It will have visibility across the community which is a better suited audience for such types of issues.
I will now proceed to close this issue. Feel free to comment if you have any other queries.

I disagree.  I think it would be helpful for the documentation to state the minimum permissions necessary to run a debug session,  even if that requires a custom role.  Giving someone built in Contributor or even Data Factory Contributor, gives too much access.
I believe this is what is needed, but this documentation should confirm this:

If you want to know the various available permissions, refer to: https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftdatafactory

Thanks. That is a great reference page for all Data Factory permissions, that I am already familiar with.  Should I assume that every DataFactory action that mentions "debug" should be given.  I think these assumptions could easily be cleared up on the Debug page associated with this issue by someone who knows the product, instead of me guessing and struggling through a trial by error approach.  Maybe it requires all of the below.

Action
Description

Microsoft.DataFactory/factories/createdataflowdebugsession/action
Creates a Data Flow debug session.

Microsoft.DataFactory/factories/startdataflowdebugsession/action
Starts a Data Flow debug session.

Microsoft.DataFactory/factories/addDataFlowToDebugSession/action
Add Data Flow to debug session for preview.

Microsoft.DataFactory/factories/executeDataFlowDebugCommand/action
Execute Data Flow debug command.

Microsoft.DataFactory/factories/deletedataflowdebugsession/action
Deletes a Data Flow debug session.

Microsoft.DataFactory/factories/querydataflowdebugsessions/action
Queries a Data Flow debug session.

Microsoft.DataFactory/factories/cancelSandboxPipelineRun/action
Cancels a debug run for the Pipeline.

Microsoft.DataFactory/factories/sandboxpipelineruns/action
Queries the Debug Pipeline Runs.

Microsoft.DataFactory/factories/querydebugpipelineruns/action
Queries the Debug Pipeline Runs.

Microsoft.DataFactory/factories/debugpipelineruns/cancel/action
Cancels a debug run for the Pipeline.

Are you talking about pipeline debug or data flow debug? They are different concepts. What do you wish for your users to be able to do?

I think the answer is Pipeline debug.  I don't know about data flow debug, but maybe.  Keeping it to the scope of this issue.  I want them to be able to at least perform anything mentioned on this page: Iterative development and debugging in Azure Data Factory - Azure Data Factory


.github/: Add dependabot

Maintaining multiple open source projects, I found Dependabot very helpful. It will continuously monitor all dependencies and automatically create pull requests once newer versions are available. Note, given that snow is a library, Dependabot will not update minor and patch versions for crates >= 1.0 nor patch versions for crates < 1.0. This keeps the overall noise vs. signal ratio low while still allowing binaries to stay up-to-date with latest (security) patches. See documentation for details.
In case you would like to enable Dependabot for snow, you only need to merge this pull request. Feel free to just close this pull request otherwise.

Thank for the PR! Sure, I'm down to try it out and see if it gets annoying or not :stuck_out_tongue:.


Wish counter for Ayaka's banner doesn't show

When you release wish counter for Ayaka's banner? I've been pulling for Ayaka but the web paimon.moe doesn't counting my pity, the latest banner is still Kazuha.

its already updated for the ayaka banner, make sure to wait about 1 hour after wishing before importing

closed for now, please reopen if you have more information


Async Daemon -- swallow exceptions when trying to stop a ProjectionAgent

There's something in ProjectionAgent that does a TryAction() within the "stopping" cycle. When the Stop() is initiated, we need to make all other exceptions thrown within TryAction() just latch. There's a case today where you can get a StackOverflowException where something in the Stop() fails, which triggers a new call to stop the projection.

Done in my local branch.


Feature/SK-173 Fix hardcoded kubeconfig path

Status

[x] Ready
[ ] Draft
[ ] Hold

Description
In apps/tasks.py some command had hardcoded kubeconfig. Should take value from settings.py

I think this actually takes the kubeconf argument already from ENV.  Check the helm chart. I.e. no need to hardcode to config in settings. The env is more flexible.

Ok, Not in there any more. I checked. scaleout/stackn/templates/studio-deployment.yaml

I do use the ENV in the helm chart (see branch release/v0.6.0). And I agree that one should rely on env instead on --kubeconfig. This PR was more of a quickfix to an issue I got in  helm deployment. I don't think ENV is set in docker-compose.