x509: failed to load system roots and no roots provided

I've created a simple decorator with an external (not a k8s service) webhook. I'm getting the x509 error.
Potential solution: mount /etc/ssl/certs in metacontroller container.
...
        volumeMounts:
        - mountPath: /etc/ssl/certs
          name: ca-certificates
          readOnly: true
    volumes:
    - name: ca-certificates
       hostPath:
          path: /etc/ssl/certs

Is the issue that the certificates you're using are part of the normal cert chains distributed widely but those are not available for MetaController or are you using a Custom CA?

It looks like we're currently using the debian:stretch-slim image as a base for our docker images. I wonder if they are striping CA chains, if that's the case we might want to open a bug for upstream or switch to a distroless base image instead.
A fix for this might be as simple as installing ca-certificates in the Dockerfile, have you tried that?

I submitted PR #87 mounting the certificates path. Waiting for the CLA approval.

@lionelvillard  I pushed a patch which I think will solve your issue without relying on the host being configured a certain way. PTAL and let me know if it resolves the issue.

Yup it's working for me, thanks!


Remove stopping rpcbind

This line was added to support experimental support for glusterfs long-long time ago.
Glusterfs was starting rpcbind with its own settings.
Now stopping rpcbind prevents Kubernetes from using NFS.

@tvs fixed!


Spellaring/grammer in statsporn

Flagged for pendantry :stuck_out_tongue:

Also @VinDuv spelt both spellar and gramming wrong :smile_cat:

PR accepted. Thanks for the participation.


OCPP management with 2 connectors on same wallbox

Hello,
I bought a Schneider Electric charging station. The model is called EVLINK Parking (EVP2PE44R). This charging station is compatible with OCPP JSON 1.6.
I can't separate the 2 left-right connectors. The charging point allows it via OCPP to send a maximum current per side, start charging on one side but not the other, reserve on one side and make unavailable on one side but not the other.
However with this extension that you offer on Home Assistant I can't do it, is this normal?
Thank you for your feedback.
Regards

I have a dual port one also, and can't make it work... Would love an option for this

There is a pull request now #803 but we need someone to add a testcase for it, and to try it out in practice.
@ClemKC , @neilvangeffen, would you be able to assist here?

I can try, yeah, I have a BCPC-D2N-P which is a dual socketed unit.
I might need someone to hold my hand on how to install the correct code though, as im pretty new to github and pull requests etc, but happy to try for sure!

I had previously tried this version, but it had a lot of missing information for me
https://github.com/lbbrhzn/ocpp/discussions/594
So i just download the the custom_component ocpp folder from here right? https://github.com/ernst77/ocpp/tree/main/custom_components
Anything in particular you need me to check or test?
And how do i do the following, all i want is to be able to graph the charger ports as individual items in my home assistant power graphs, and be able to do load balancing and slow down charge, but in general i want the charger to be ready to charge when someone plugs in. I wasnt able to get that working before, but not sure if thats just because the code i was using wasnt quite right, or if its not possible, or if im an idiot and its really obvious

I installed it at home, runs good, but goes unavailable regularly... all hard wired with ethernet, so doubt its an internet thing. Also i added every sensor to see what would happen, and many are not available. all the charger ones are unknown.
Here are some screenshots:
https://photos.app.goo.gl/mi9Er3eCi4uLbebK9
When i move the slider to set max current, it doesnt do anything on the EVSE end... But DLB isnt working either, so might be an issue with the unit


[Multi Data source] Data source management poc - p.1

Description
Data source POC - p.1

Data source view landing page
Basic setup

Issues Resolved
[List any issues this PR will resolve]
Check List

[x] init plugin for data source
[x] public - frontend

[x] registry app to stack management
[ ] react route and navigation
[x ] show data grid/table

[ ] server

[ ] api route
[ ] CRUD api poc via save object service

[ ]  create save object
[x] get save object

[ ] data model for datasource

[x]  example of customized saved object

Note

As a POC, the UI part is not finalized.
The constant string reference and comments are not updated yet.

It seems like conflicts due to https://github.com/elastic-analytics/OpenSearch-Dashboards/pull/4 merged. Can we close this one?

closing the PR due to changes already merged: https://github.com/elastic-analytics/OpenSearch-Dashboards/commit/a40d2d4ffcd4d001944183229d54c08542760afd
Comments will be kept in notes for production iteration.


Implement auto sending requests

I'm worried about the technical debt that this PR would introduce because it comprises of lots of tricks and quite unintuitive control flow, despite of being working.
How about using a macro instead?
[playground]
macro_rules! send {
    ($req:expr) => {
        $req.send().await
    };
}

// Our hypothetical request.
struct Request;

impl Request {
    async fn send(self) -> i32 {
        123
    }
}

fn main() {
    let _123 = async {
        let req = Request;
        send!(req)
    };
}

Also related to: https://github.com/rust-lang/rust/issues/67982.

I don't think that macro would accomplish much.

Macros are a bit scary. Personally, I expect that a macro will do something complicated and not just .await.send().
send!(...) vs ....send().await not much a difference (I would prefer the later...)

I also don't think that this code is too complicated. It just does simple bot-wrapper-things + implements Future for its request. Indeed this requires some minor tricks around Pin<_>, but they are ok, in my opinion.

I agree that send!(...) is not much better than ... .send().await, and moreover would necessitate deprecation of send! after the language issue above eventually resolves. In contrast, your PR plays nice with the future directions of IntoFuture.
Concerning the PR code. I was confused that it uses unreachable expressions, but others conceived me that it's okay for Rusty futures, so nevermind.

Well, if IntoFuture will support async/await just as IntoIterator+for then wrapper introduced in this PR will be useless too. We'll just add : IntoFuture bound for Request.

Well, if IntoFuture will support async/await just as IntoIterator+for then wrapper introduced in this PR will be useless too. We'll just add : IntoFuture bound for Request.

I understand; I meant that it would not break backward compatibility in user's code (at least in most cases).


Remove the outdated comment

What does this PR try to resolve?
See: https://github.com/hi-rustin/cargo-information/pull/53#discussion_r1410084644
Removed the outdated comment.
How should we test and review this PR?
None
Additional information
None

:pushpin: Commit fc45ed29d7a1f87b674bb2ba13cf18579714f519 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit fc45ed29d7a1f87b674bb2ba13cf18579714f519 with merge 7ed235a48e75533a3a2c71f8ddbd3f4564f4d345...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 7ed235a48e75533a3a2c71f8ddbd3f4564f4d345 to master...


Limit touch inside the widget box

I'm struck at this.. people please suggest me way to handle touch separately for each slider.!?
(self . velocity and self.steering are the two sliders )

def on_touch_down(self,touch):
touch.grab(self)

self.steering.value_pos = touch.pos

self.velocity.value.pos = touch.pos

def on_touch_move(self,touch):
print (touch.pos)

if touch.grab_current == self:

    self.steering.value_pos = touch.pos

    self.velocity.value.pos = touch.pos

def on_touch_up(self, touch):
if touch.grab_current == self:

    self.velocity.value = "0"

    self.steering.value = "0"

If the question is how to stop touch propagation, you can return True from the callback.

Hello dessant, Please be a bit more clear!


Compute reduction across batch dims

This existing code only computes the reduction across the vector dims. This patch fixes it to compute across the batch dims as well.

Why does this not change the lit test? Is there a way to update a test to catch this?

Sure I will modify the test so that it fails with the code in main and only succeeds with this patch.


[s2n] build failure

Host Environment

OS: Arch Linux
Compiler: gcc 11.1.0

To Reproduce
Steps to reproduce the behavior:
./vcpkg install s2n
Failure logs
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:155 (message):
    Command failed: /usr/bin/cmake --build . --config Debug --target install -- -v -j17
    Working Directory: /home/csw/src/vcpkg/buildtrees/s2n/x64-linux-dbg
    See logs for more information:
      /home/csw/src/vcpkg/buildtrees/s2n/install-x64-linux-dbg-out.log

Call Stack (most recent call first):
  installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_build.cmake:102 (vcpkg_execute_build_process)
  installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_install.cmake:41 (vcpkg_cmake_build)
  ports/s2n/portfile.cmake:14 (vcpkg_cmake_install)
  scripts/ports.cmake:142 (include)

Error: Building package s2n:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `git pull` and `./vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+s2n
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[s2n]+Build+error
including:
  package: s2n[core]:x64-linux -> 1.1.1
    vcpkg-tool version: 2021-11-24-48b94a6946b8a70abd21529218927fd478d02b6c
    vcpkg-scripts version: 63e935d96 2021-12-02 (4 days ago)

Full log is in install-x64-linux-dbg-out.log, but because s2n is built with -Werror by default, it fails with
/home/csw/src/vcpkg/buildtrees/s2n/src/e46cc6454b-8c9ecf3bde.clean/pq-crypto/kyber_90s_r2/ntt.c:92:44: error: argument 1 of type ‘int16_t[256]’ {aka ‘short int[256]’} with mismatched bound [-Werror=array-parameter=]
   92 | void PQCLEAN_KYBER51290S_CLEAN_ntt(int16_t poly[256]) {
      |                                    ~~~~~~~~^~~~~~~~~

Additional context
I resolved this in https://github.com/Genomenon/vcpkg/commit/8869cd0d2b0dae4267358867d84d978f0de28c67 by updating s2n to version 1.3.1 and building with -DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF, since compiler warnings like this are not actionable for vcpkg users. I can make a corresponding PR if this seems like the right approach.

A more elaboraed s2n update is waiting in #21484. It is only version 1.3.0. Stuck in review due to offering self-tests as feature.

Will fix this issue after #21484 merge.

Just verified that this is still a problem with the 1.3.0 update. The upstream issue is https://github.com/aws/s2n-tls/issues/2989; pending a fix for that, I think -DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF will be required to make it build with gcc 11.


Document basic commissioning procedure

What is required
Start documentation on how a newly build ventilator unit should be commissioned. Once the software has been deployed, what steps need to be taken for initial configuration. My current guess is:

set and confirm serial number
manually set any constants for installed components, e.g. valve or venturi coefficients determined by physical configuration
perform any automatic calibration procedures
register unit with online database and give it an authentication token - for test data submission and error reporting
???

How do you know it has to be done
We already have units with different PSOLs, for example. We will not be building hacked or ifdeffed code to configure them as this would be a maintenance nightmare.
Starting points
Serial number is already configurable via debug interface. Once at least #1273 is done, it should be possible to write a procedure for PSOL configuration. With other related calibration tickets - same for even more components. As progress is made on https://github.com/RespiraWorks/test-data-browser , an authentication token should also become available.

PSOL constants that have been recently hard-coded:
// UFlow IBV19M values
static constexpr float PSolClosed{0.35f};
static constexpr float PSolOpen{0.75f};

// SMC PVQ31-40 values
static constexpr float PSolClosed{0.35f};
static constexpr float PSolOpen{0.95f};

Related ticket and comments in #376


Get-KdsRootKey does not accept any parameters

Probably invalid copy-paste of the following Add-KdsRootKey.

@bluikko : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Error of rendering after update ami.js

Description
I've been working with ami.js, and today I updated to the latest version of the dev branch. In this version was introduced the factory for stackHelper, TrackballControl, and so on..
When I changed to use the factories, I got the problem to render, I've already had a similar error described in the issue #277, but this time only with the latest version in all O.S. and the render is a little different, as you can see in the pictures.

I can't use others versions of ami.js because I changed the loaders to accept cornerstone cached images objects ( I can do a pull request of it if desired)

Steps to Reproduce
Use the latest dev branch ami.js to build any volume rendering or slice geometry
Expected Results
To show the expected results I rollback to the old version the same used in the issue #277
Volume Rendering

Slice

Actual Results
Volume Rendering

Slice

then I zoomed in the slice to see what could be happening:

When executed on firefox I got the following error on console:
THREE.WebGLShader: gl.getShaderInfoLog() vertex 0:2(12): warning: extension `GL_ARB_gpu_shader5' unsupported in vertex shader
 1: precision highp float;
2: precision highp int;
3: #define SHADER_NAME ShaderMaterial
4: #define VERTEX_TEXTURES
5: #define GAMMA_FACTOR 2
6: #define MAX_DIR_LIGHTS 1
7: #define MAX_POINT_LIGHTS 0
8: #define MAX_SPOT_LIGHTS 0
9: #define MAX_HEMI_LIGHTS 0
10: #define MAX_SHADOWS 0
11: #define MAX_BONES 1019
12: #define FLIP_SIDED
13: uniform mat4 modelMatrix;
14: uniform mat4 modelViewMatrix;
15: uniform mat4 projectionMatrix;
16: uniform mat4 viewMatrix;
17: uniform mat3 normalMatrix;
18: uniform vec3 cameraPosition;
19: attribute vec3 position;
20: attribute vec3 normal;
21: attribute vec2 uv;
22: #ifdef USE_COLOR
23: 	attribute vec3 color;
24: #endif
25: #ifdef USE_MORPHTARGETS
26: 	attribute vec3 morphTarget0;
27: 	attribute vec3 morphTarget1;
28: 	attribute vec3 morphTarget2;
29: 	attribute vec3 morphTarget3;
30: 	#ifdef USE_MORPHNORMALS
31: 		attribute vec3 morphNormal0;
32: 		attribute vec3 morphNormal1;
33: 		attribute vec3 morphNormal2;
34: 		attribute vec3 morphNormal3;
35: 	#else
36: 		attribute vec3 morphTarget4;
37: 		attribute vec3 morphTarget5;
38: 		attribute vec3 morphTarget6;
39: 		attribute vec3 morphTarget7;
40: 	#endif
41: #endif
42: #ifdef USE_SKINNING
43: 	attribute vec4 skinIndex;
44: 	attribute vec4 skinWeight;
45: #endif
48: varying vec4 vPos;
49:
50: //
51: // main
52: //
53: void main() {
55:   vPos = modelMatrix * vec4(position, 1.0 );
56:   gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0 );
58: }

So I don't know where to start diving to get this fixed. I believe it could be related to the three.js version, but If someone could give me some direction, I would appreciate. When I discover what's going on, I post the fix here or do a pull request
Browsers Affected

[ ] All
[X] Chrome
[X] Firefox
[ ] Edge not tested
[ ] Safari 9 not tested
[ ] Safari 8 not tested
[ ] IE 11 not tested

Versions

AMI: latest dev branch
THREEJS: revision 73

Thanks,

Hmmm, do you know which is the latest working version of the ami build?
Also did you try to upgrade threejs to its latest version?

do you know which is the latest working version of the ami.js build?
I don't know exactly which version is, there's some way to discover this?
did you try to upgrade three.js to its latest version?
I'm trying to update the three.js right now, but when I updated to the latest version in npm I get another error :cry:
using the three.js v0.94.0 and THREE.WebGLRenderer 92  the image doesn't render at all following by a console error:
THREE.Object3D.add: object not an instance of THREE.Object3D.
i {uuid: "8EF0F4F1-2028-404C-8D12-5FB252A79412", name: "", type: "Object3D", parent: null, channels: T…E.Channels, …}

About the firefox issue, it is a Firefox bug:
https://github.com/mrdoob/three.js/issues/9716

Any reason you use 2 different versions of threejs?
No, I just updated to see if it is related to the threejs version. The package three-js are in the version 79, the same as the version I've been using, but the latest update was 2 years ago.
I commented these lines of code
//case 1:
      // trilinear interpolation
      //return InterpolationTrilinear.api(baseFragment, currentVoxel, dataValue, gradient);

from this file https://github.com/FNNDSC/ami/blob/dev/src/shaders/interpolation/shaders.interpolation.js
So I don't call trilinear interpolation anymore.
and the result was:

It loads normally

Great - how do you initial the uniforms in you slice? New uniforms have been added and it may just be incorrectly initialized.

this is the way I'm doing:
Init the scene:
function init(element) {
  // Get container in the DOM
  let enabledElement = cornerstone.getEnabledElement(element);
  container = document.getElementById('cornerstone-canvas');
  renderer = new THREE.WebGLRenderer({
      canvas: enabledElement.canvas,
      alpha: true,
      antialias: true
  });
  renderer.setSize(container.clientWidth, container.clientHeight);
  renderer.setClearColor(0x000000, 1);
  container.appendChild(renderer.domElement);

  //create camera
  camera = new THREE.PerspectiveCamera(75, container.offsetWidth / container.offsetHeight, 0.1, 10000);
  camera.position.x = 0;
  camera.position.y = 0;
  camera.position.z = 300;

  //controls camera
  controls = new ControlsTrackball(camera, container);
  controls.rotateSpeed = 5.5;
  controls.zoomSpeed = 1.2;
  controls.panSpeed = 0.8;
  controls.staticMoving = false;
  controls.dynamicDampingFactor = 0.3;

  //create the scene
  scene = new THREE.Scene();

  particleLight  = new THREE.DirectionalLight(0xffffff, 1);
  particleLight.position.copy(camera.position);
  scene.add(particleLight);

  controls.addEventListener('start', onStart);
  controls.addEventListener('end', onEnd);
  controls.addEventListener('change', () => {
      modified = true;
  });

  renderer.domElement.addEventListener('wheel', onWheel);
  window.addEventListener('resize', onWindowResize, false);
  renderer.render(scene, camera);

  animate();
}

Load the object
init(element);
//loader
loader = new LoadersVolume(container, CustomProgressBar);
loader.load(files)
        .then(function() {
            var series = loader.data[0].mergeSeries(loader.data);

            // select the desired serie to use
            let selectedSerie = 0;
            series.forEach((serie, index)=>{
              if (serie.seriesInstanceUID == uid){
                selectedSerie = index;
              }
            })
            var stack = series[selectedSerie].stack[0];

            // start a new stackHelper
            stackHelper = new HelpersStack(stack);

            const centerLPS = stackHelper.stack.worldCenter();
            stackHelper.slice.aabbSpace = 'LPS';
            stackHelper.slice.planePosition.x = 0;
            stackHelper.slice.planePosition.y = 0;
            stackHelper.slice.planePosition.z = 0;
            stackHelper.slice.thickness = 0.1;
            stackHelper.slice.spacing = 0.3;
            scene.add(stackHelper);

            // update camrea's and control's target
            camera.lookAt(centerLPS.x, centerLPS.y, centerLPS.z);
            camera.updateProjectionMatrix();
            controls.target.set(centerLPS.x, centerLPS.y, centerLPS.z);

            buildGUI(stackHelper);

            ready = true;
            modified = true;
        })
        .catch(function(error) {
            window.console.log('oops... something went wrong...');
            window.console.log(error);
        });

and finally the animation function:
function animate() {
  controls.update();

  if (ready && modified) {
      var container = loader._container.getElementsByClassName('progress container');
      if(container){
        loader._progressBar.free();
      }
      // update plane direction...
      let dirLPS = new THREE.Vector3(
        stackHelper.slice.planePosition.x,
        stackHelper.slice.planePosition.y,
        stackHelper.slice.planePosition.z
      ).normalize();

      // update slice and THEN its border
      stackHelper.slice.planeDirection = dirLPS;

      // update border with new slice
      stackHelper.border.helpersSlice = stackHelper.slice;
      renderer.render(scene, camera);
      modified = false;
  }

  requestAnimationFrame(function() {
      animate();
  });
}

I still wonder that it's related to three.js version.
Right now I'm trying to solve this error:
THREE.Object3D.add: object not an instance of THREE.Object3D.
I put a console log after create a stackHelper:
stackHelper = new HelpersStack(stack); //be sure series and stack exists
console.log('stackHelper: ', stackHelper instanceof THREE.Object3D);

and the output was:
stackHelper:  false
Doing some research on the Internet I discovered that apparently inheritance chain for instanceof doesn't work anymore [ ref ]. I don't know if this is true, I'm checking this, when I get a conclusion I post it here

when I import the "new" AMI.js, the stackHelper is null:
StackHelper:null
So I start digging here, in the helper.stack.js, the stackHelper is exported as default calling the factory:
export default helpersStack(); and here is a problem.
if we look to the factory, we see:
if (three === undefined || three.Object3D === undefined) {
    return null;
  }

But at the build time, we don't have a three.js imported, so the it will return null.
I don't know why, but when I use the factory in the application, javascript don't recognize it as a THREE.Object3D

Not all solved! :sob:
When testing the volumetric view, occurs that no volume was rendered

I tried to change the WW and WC values to see if anything shows up, but no success

Does setting interpolation on/off makes a difference?
Yes, the interpolation don't change anything. Only when I activate the shaders I got a little noise:

Is it the same volume that works in 2D but is problematic in volume rendering?
Yes, it's the same study, actually, no matter which study I open it works on Slice (MPR) view but not the volumetric view

That definitely looks like a window/level or rescale slope/intercept thing. Does this volume have negative values?
Do you do the VR with the VR Helper?

Does changing the color and opacity LUTs make a difference?

Does this volume have negative values?
Yes, it does
Do you do the VR with the VR Helper?
Yes
Does changing the color and opacity LUTs make a difference?
the lut doesn't apply in the volume, but the opacity, alpha, steps, the algorithm (MPI / ray marching) works,

Interesting... Can you disconnect all the parts in your code where you change window/level/etc. ?
To load it with default values as a test.

this is an image with the default values

Do you have a minimal example (i.e. jsfiddle) to look at?
Also, can you show values of all uniforms that are passed to the shader, along with window level/width, rescale slope/intercept, min/max from the stack model?

Hey,
Do you have a minimal example (i.e. jsfiddle) to look at?
I don't know if I can do a jsfiddle, but I'll try to give you some access and make sure you can print the volume helper object
can you show values of all uniforms that are passed to the shader, along with window level/width, rescale slope/intercept, min/max from the stack model?
I'll do it in the example file.
I don't know if I can to it today, but untill tomorrow I'll send to you the link

Also maybe try the latest version of ami as a test!

Hi,
So, if you enter this website you can use the viewer with a demo anonymized study. To start the volumetric view go to 3D > Volumetria tool. There you can print the three js lib, the scene obj, the ami.js lib and the vrHelper obj.

Ami.js was built yesterday

        lut.lut = settingFolder.lut; //settingFolder.lut = 'muscle_bone'
            vrHelper.uniforms.uTextureLUT.value.dispose();
            vrHelper.uniforms.uTextureLUT.value = lut.texture;
            lut.lutO = settingFolder.opacity; //settingFolder.opacity = 'linear_full'
            vrHelper.uniforms.uTextureLUT.value.dispose();
            vrHelper.uniforms.uTextureLUT.value = lut.texture;

Does not look correct, you set uTextureLUT, dispose it and reset it with something that has been disposed. Can you remove the last 2 lines as a test?

Actually you already set             vrHelper.uniforms.uTextureLUT.value = lut.texture; earlier in the code so can you probably do (see all the uTextureLUT are commented out):
            lut.lut = settingFolder.lut; //settingFolder.lut = 'muscle_bone'
            // vrHelper.uniforms.uTextureLUT.value.dispose();
            // vrHelper.uniforms.uTextureLUT.value = lut.texture;
            lut.lutO = settingFolder.opacity; //settingFolder.opacity = 'linear_full'
            // vrHelper.uniforms.uTextureLUT.value.dispose();
            // vrHelper.uniforms.uTextureLUT.value = lut.texture;
            vrHelper.uniforms.uSteps.value = settingFolder.step; //settingFolder.step = 256
            vrHelper.uniforms.uAlphaCorrection.value = settingFolder.alphaCorrection; //settingFolder.alphaCorrection = 0.8

I did the changes, but the result was the same :cry:

What if you do not style the LUT?
         let lutDom = lut._dom;
            lutDom.style.border = '0px';
            let children = lutDom.children;
            children[0].style.height = '5px';
            children[0].style.float = 'left';
            children[0].style.width = '100px';
            children[0].style.marginTop = '2px';
            children[1].style.marginTop = '2px';
            children[1].style.width = '100px';
            children[1].style.height = '5px';

No results.
When I tried to comment this lines too:
vrHelper.uniforms.uTextureLUT.value = lut.texture;
vrHelper.uniforms.uLut.value = 1;

And let the vrHelper.uniforms.uTextureLUT.value = lut.texture; below in the code. This was the result:

SOLVED!
the problem is in the file helpers.lut.js because it uses THREE var as the same as the old version of the begging of this issue. So I changed it to use a factory like the localizerHelper, receiving the THREE via parameter.
Thanks for your help and time :)
I'll do a pull request of it soon

Awesome!
Quick unrelated question, you use cornerstone for the 2D view and ami for the 3D, correct?


nedb cannot be used normally after installing localforage 1.8.1 version

localforage is a dependency package of nedb, localforage recently released 1.8.1, nedb can not work normally after installing the latest version of localforage,

Before the localforage problem is fixed, I suggest nedb to specify the localforage version as 1.7.4


[added] my personal project Steganography tool

the website can be used here
Steganography Tool
sorry I closed the previous PR because of some issues. This the new PR

The format is a bit wrong. Commit the changes in your master branch and rename the folder to "<project_name>_<github_id>" format to get this merged. Sorry for no CONTRIBUTE.md.

@rayak-sil okay on it right away

Renaming and changing the branch to master. Remove your branch completely.


Generate markdown docs for ko commands

See https://github.com/google/go-containerregistry/pull/115
Also ensure that generated docs stay up-to-date (example)

Hi @ImJasonH , if it's okay with you I would like to ask a question regarding this issue.
I saw your PR at the google/go-containerregistry regarding generating the docs for the Crane CLI commands where you refactor the design to make Crane into its own package so that the Root top-level Cobra command can be exported and then used as crane.Root for the doc.GenMarkDownTree parameter.
I have taken a look at the codebase and since we put everything including the Root top-level Cobra command at the package main, do you have any recommendation on how to get the value of cmds? Would it be better to make the Ko commands to its own package so that it can be exported and the top-level command can be used or just make another .go file let's say help.go at the same level of the main.go file?
Thank you very much! Have a great day :slightly_smiling_face:

Hey @joshuabezaleel thanks for your interest!
I don't think we necessarily need to move ko's commands into pkg, we could just keep them in cmd for now, to minimize the impact of your potential change.
The only thing we have to do is make cmds an exported package-level var so that the command that generates help docs can see it to call GetMarkDownTree on it.
So, if we refactor cmd/ko/main.go to this:
// Root is the parent command to which all subcommands are added.
var Root = &cobra.Command{
        Use:   "ko",
        Short: "Rapidly iterate with Go, Containers, and Kubernetes.",
        Run:   func(cmd *cobra.Command, args []string) { cmd.Help() },
}

func init() { addKubeCommands(Root) }

func main() {
        if err := Root.Execute(); err != nil {
                log.Fatalf("error during command execution: %v", err)
        }
}

Then inside cmd/gendoc/main.go (or whatever we call it) we can do this:
import "github.com/google/ko/cmd/ko"

...

if err := doc.GenMarkdownTree(ko.Root, dir); err != nil {
	log.Fatalln(err)
}

Some other minor tasks we should include in this work:

add generated .md files to .gitattributes so that GitHub knows they're generated (example)
add a test to .travis.yml to check that generated docs are up-to-date (example)

Hey @joshuabezaleel thanks for your interest!
I don't think we necessarily need to move ko's commands into pkg, we could just keep them in cmd for now, to minimize the impact of your potential change.
The only thing we have to do is make cmds an exported package-level var so that the command that generates help docs can see it to call GetMarkDownTree on it.
So, if we refactor cmd/ko/main.go to this:
// Root is the parent command to which all subcommands are added.
var Root = &cobra.Command{
        Use:   "ko",
        Short: "Rapidly iterate with Go, Containers, and Kubernetes.",
        Run:   func(cmd *cobra.Command, args []string) { cmd.Help() },
}

func init() { addKubeCommands(Root) }

func main() {
        if err := Root.Execute(); err != nil {
                log.Fatalf("error during command execution: %v", err)
        }
}

Then inside cmd/gendoc/main.go (or whatever we call it) we can do this:
import "github.com/google/ko/cmd/ko"

...

if err := doc.GenMarkdownTree(ko.Root, dir); err != nil {
	log.Fatalln(err)
}

Some other minor tasks we should include in this work:
* add generated .md files to `.gitattributes` so that GitHub knows they're generated ([example](https://github.com/google/go-containerregistry/pull/115/files#diff-fc723d30b02a4cca7a534518111c1a66))

* add a test to .travis.yml to check that generated docs are up-to-date ([example](https://github.com/google/go-containerregistry/blob/1d38b9cfdb9d294aca666bf0c1c0bcade771e8c9/.travis.yml#L24-L25))

Hey @ImJasonH , since ko's commands doesn't have its own package and reside in package main, I got an error of import "github.com/google/ko/cmd/ko" is a program, not an importable package. Is this going to be okay when we run the docs generation?

That's a good point, I forgot you can't import from a package main.
In that case we need to move at least the Root command to pkg/ko, but we can still keep addKubeCommands (in a func init) in cmd/ko for now, unless that doesn't work for some reason or unless we just don't like it.
That seems like the easiest way to accomplish this without having to move everything into pkg.

Since I am really new to Go and furthermore ko, I am really sorry if I got many things wrong here and there. Looking forward to your review, @ImJasonH ! Thank you very much! :slightly_smiling_face:


Regex for Nominatim API call doesn't account for spaces, causing incorrect weather data

https://github.com/Jax-Core/ModularClocks/blob/f61896dc1da6a3f0e47a1ba3d480a6fdd889b4d5/%40Resources/Includes/GlobalWeather.inc#L22
The offending spaces are in the value of geometry, as seen near the end of this response for Hell, Michigan. Removing them makes the regex work as intended.
{"type":"FeatureCollection","geocoding":{"version":"0.1.0","attribution":"Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright","licence":"ODbL","query":"Hell, MI"},"features":[{"type":"Feature","properties":{"geocoding":{"place_id":415106,"osm_type":"node","osm_id":154309316,"osm_key":"place","osm_value":"hamlet","type":"district","label":"Hell, Putnam Township, Livingston County, Michigan, United States","name":"Hell","city":"Putnam Township","county":"Livingston County","state":"Michigan","country":"United States","country_code":"us","admin":{"level7":"Putnam Township","level7":"Putnam Township","level6":"Livingston County","level6":"Livingston County","level4":"Michigan","level4":"Michigan"}}},"geometry":{"type": "Point","coordinates": [-83.9849477, 42.4347571]}}]}```

I tested it with regex101.com  and came up with this
(?siU)"features":\[{"type":"Feature","properties":{"geocoding":{.*,"label":"(.*)",.*,"admin":{.*?"level\d+":"(.*)"}}},"geometry":{"type": "Point","coordinates": \[(.*),(.*)\]}}\]

Now I'm facing a problem with [mCurrentParent] which also reports a Regex error but I cannot replicate on the website

Can confirm slaugaus' fix works, great work.
But the above link is to the pull request, not the repo and overall the install instructions could be better.
To implement the fix:

Close Rainmeter

Go here: https://github.com/slaugaus/ModularClocks/tree/main

Click the green Code button > Download ZIP

Extract ZIP and copy all contents, then paste it in the below file path to replace all files.
C:\Users<USERNAME>\AppData\Roaming\JaxCore\InstalledComponents\ModularClocks

Download this: https://github.com/e2e8/rainmeter-jsonparser/releases/download/1.0/JsonParser1.0x64.zip

Extract the JsonParser.dll file to either one of these locations. Either location works for me:
Location 1: C:\Program Files\Rainmeter\Plugins
Location 2: C:\Users<USERNAME>\AppData\Roaming\Rainmeter\Plugins

Open Rainmeter and see that the weather data is now correct, assuming you've set the location correctly in the JaxCore settings

Hello, I've also come across this issue yesterday and was trying for a fix, to no avail.
I'm now trying the above fix by @slaugaus but am getting constant errors which read Error reading JToken from JsonReader. Path '', line 0, position 0. (ModularClocks\Main\Main.ini - [VARIABLENAME]).
I'm not well-versed in Regex, or Json parsing, so I'm not sure if I can come up with a solution myself. Can anybody be of any help?

It looks like it broke again.
Constantly spitting out these errorr:
Unexpected character encountered while parsing value: <. Path '', line 0, position 0. (ModularClocks\Main\Main.ini - [mLocationCity])
Unexpected character encountered while parsing value: <. Path '', line 0, position 0. (ModularClocks\Main\Main.ini - [mLocationLon])
Unexpected character encountered while parsing value: <. Path '', line 0, position 0. (ModularClocks\Main\Main.ini - [mLocationLat])

It broke again, but it seems like an API key change this time around. I don't want to directly share it for any possible legal troubles, but you can find the new key on the Rainmeter forums. Just search for weather.com.


Change lv_calendar signal function (in 6.1 version)

Hi.
When using the calendar widget, I found a problem of quick and convenient change of the current year in lv_calendar. For example, such a need arises when RTC fails. I propose to divide the calendar header into three active zones. Use the left and right as before to change the current month, and the middle one to select the year at the application level.
src/lv_objx/lv_calendar.c
        /*If the header is pressed mark an arrow as pressed*/
        if(lv_area_is_point_on(&header_area, &p)) {
            if(p.x < header_area.x1 + lv_area_get_width(&header_area) / 2) {
            lv_coord_t w = lv_area_get_width(&header_area);
            ext->year_pressing = 0;
            if(p.x < header_area.x1 + (w / 3)) {
                if(ext->btn_pressing != -1) lv_obj_invalidate(calendar);
                ext->btn_pressing = -1;
            } else {
            } else if(p.x > header_area.x1 + (2*w / 3)) {
                if(ext->btn_pressing != 1) lv_obj_invalidate(calendar);
                ext->btn_pressing = 1;
            }
            } else ext->year_pressing = 1;

            ext->pressed_date.year  = 0;
            ext->pressed_date.month = 0;

src/lv_objx/lv_calendar.h
    lv_calendar_date_t * highlighted_dates; /*Apply different style on these days (pointer to an
                                               array defined by the user)*/
    int8_t btn_pressing;                    /*-1: prev month pressing, +1 next month pressing on the header*/
    int8_t year_pressing;                   /*1: pressing on year area*/
    uint16_t highlighted_dates_num;          /*Number of elements in `highlighted_days`*/
    lv_calendar_date_t pressed_date;
    const char ** day_names;   /*Pointer to an array with the name of the days (NULL: use default names)*/

I used to select the year ddlist from the given list of years:
static lv_obj_t *mbox1 = NULL;
static lv_obj_t *cal1 = NULL;
static const int first_year = 2018, last_year = 2100;
//--------------------------------------------------------------------------------------------------
//  ddlist event handler
//--------------------------------------------------------------------------------------------------
static void ddl_setyear_cb (lv_obj_t * obj, lv_event_t event) {
    if (event == LV_EVENT_VALUE_CHANGED) {
        char buf[32];
        lv_ddlist_get_selected_str (obj, buf, sizeof(buf));
        printf ("ddl_setyear option: %s\n", buf);
        fflush (stdout);
        int year = lv_ddlist_get_selected (obj) + first_year;
        lv_calendar_date_t *date = lv_calendar_get_today_date (cal1);
        date->year = year;
        lv_calendar_set_today_date (cal1, date);
        lv_calendar_set_showed_date (cal1, date);
        lv_obj_set_click (cal1, true); // Restore calendar click activity
        lv_obj_del_async (obj);
    }
}

//--------------------------------------------------------------------------------------------------
//  Calendar event handler
//--------------------------------------------------------------------------------------------------
static void calendar_cb (lv_obj_t * obj, lv_event_t event) {
    if (event == LV_EVENT_CLICKED) {
        lv_calendar_ext_t *ext = (lv_calendar_ext_t*)lv_obj_get_ext_attr (obj);
        //printf ("calendar_evt_handler   %d   %d\n", (int)event, ext->year_pressing);
        //fflush (stdout);
        if (ext->year_pressing) {
            lv_obj_t *ddl1 = lv_ddlist_create (cal1, NULL);
            char years[2048], buf1[64];
            years[0] = '\0';
            for (int i = first_year; i <= last_year; ++i) {
                sprintf (buf1, "%4d", i);
                strcat (years, buf1);
                if (i < last_year) strcat (years, "\n");
            }
            // Make ddlist for year select
            lv_ddlist_set_options (ddl1, years);
            lv_ddlist_set_anim_time (ddl1, 200);
            lv_ddlist_set_sb_mode (ddl1, LV_SB_MODE_DRAG);
            lv_ddlist_set_fix_width (ddl1, lv_obj_get_width (obj) / 3);
            lv_ddlist_set_draw_arrow (ddl1, true);
            lv_ddlist_set_align (ddl1, LV_LABEL_ALIGN_CENTER);
            if ((last_year - first_year + 1) > 8) lv_ddlist_set_fix_height (ddl1, lv_obj_get_height (obj) - 15);
            lv_obj_align (ddl1, obj, LV_ALIGN_IN_TOP_MID, 0, 3);
            lv_obj_set_event_cb (ddl1, ddl_setyear_cb);
            lv_calendar_date_t *date = lv_calendar_get_today_date (cal1);
            int year_idx = date->year - first_year;
            lv_ddlist_set_selected (ddl1, year_idx < 0 ? 0 : year_idx); // Select current year in list
            lv_ddlist_open (ddl1, LV_ANIM_ON);
            lv_obj_set_click (cal1, false); // Disable calendar click activity
        } else {
            lv_calendar_date_t *date = lv_calendar_get_pressed_date (obj);
            if (date) {
                lv_calendar_set_today_date (obj, date);
            }
        }
    } else if (event == LV_EVENT_LONG_PRESSED) {
    }
}

//--------------------------------------------------------------------------------------------------
// Set date button event handler
//--------------------------------------------------------------------------------------------------
static void setdate_cb (lv_obj_t * obj, lv_event_t event) {
    if (event == LV_EVENT_CLICKED) {
        mbox1 = create_modal_box ((int)(0.95 * LV_HOR_RES), (int)(0.95 * LV_VER_RES), 1);
        cal1 = lv_calendar_create (mbox1, NULL);
        lv_obj_set_event_cb (cal1,  calendar_cb);
        lv_obj_align (cal1, NULL, LV_ALIGN_IN_TOP_LEFT, 5, 5);
        lv_obj_set_size (cal1, lv_obj_get_width (mbox1) - 55, lv_obj_get_height (mbox1) - 15);

        lv_calendar_date_t today;
        time_t rawtime;
        struct tm *ptm;
        time( &rawtime );
        ptm = localtime( &rawtime );
        today.year = 1900 + ptm->tm_year;
        today.month = ptm->tm_mon + 1;
        today.day = ptm->tm_mday;

        lv_calendar_set_today_date (cal1, &today);
        lv_calendar_set_showed_date (cal1, &today);
        //obj_expand_animated (mbox1, 300, &lv_app_idle);
        obj_expand_animated (mbox1);
    }
}

I like the idea! Unfortunately, it can only be added to 7.1, but I expect a branch to be made very soon for that.
I especially like the approach of leaving it up to the user to create the dropdown, and only implementing the functionality for telling whether the year is pressed inside the calendar itself.

Hi
Another idea for changing the year and month is doing the same thing we have in win 10.
I think it's nicer than using a dropdown list and doesn't need more space than the calendar itself.
what do you think?

Hi
Yes, of course, visually it is much better. I did not want to change the functionality of the widget much and transfer the implementation of the choice of the year to the application level. And ddlist does not require a rectangle more than a calendar rectangle.

I also like this improvement. The only thing I miss is an API function for that.
Could you send a PR based on dev-7.0?

Sorry. I use only branch 6. I can do PR for 6.1.2 if that works. And I did not expect an additional API.

I can do PR for 6.1.2 if that works.

We can try it. (It will probably have to be merged manually as there's been some changes to folder names, etc.)
I think @kisvegabor would like an API for retrieving ext->year_pressing.

For access isolation to ext struct? Ok.

I think @kisvegabor would like an API for retrieving ext->year_pressing.

Yes, I meant that. :slightly_smiling_face:

I'll close this issue as the PR is approved and waiting in #1501.


[SPARK-46502][SQL] Support timestamp types in UnwrapCastInBinaryComparison

What changes were proposed in this pull request?

This patch adds one more case to the optimization rule UnwrapCastInBinaryComparison. The added case handles unwrapping cast in binary comparison between timestamp and timestamp_ntz types.
Why are the changes needed?

We encountered a case that a predicate on a timestamp_ntz column is not pushed down. The query plan looks like:
== Analyzed Logical Plan ==
batch: timestamp
Project [batch#26466]
+- Filter (batch#26466 >= cast(2023-12-21 10:00:00 as timestamp))
   +- SubqueryAlias spark_catalog.default.timestamp_view
      +- View (`spark_catalog`.`default`.`timestamp_view`, [batch#26466])
         +- Project [cast(batch#26467 as timestamp) AS batch#26466]
            +- Project [cast(batch#26463 as timestamp) AS batch#26467]
               +- SubqueryAlias spark_catalog.default.table_timestamp
                  +- Relation spark_catalog.default.table_timestamp[batch#26463] parquet

== Optimized Logical Plan ==
Project [cast(batch#26463 as timestamp) AS batch#26466]
+- Filter (isnotnull(batch#26463) AND (cast(batch#26463 as timestamp) >= 2023-12-21 10:00:00))
   +- Relation spark_catalog.default.table_timestamp[batch#26463] parquet

The predicate compares a timestamp_ntz column with a literal value. As the column is wrapped in a cast expression to timestamp type, the literal (string) is wrapped with a cast to timestamp type. The literal with cast is foldable so it is evaluated to literal of timestamp earlier. So the predicate becomes cast(batch#26463 as timestamp) >= 2023-12-21 10:00:00. As the cast is in column side, it cannot be pushed down to data source/table.
We have an optimization rule UnwrapCastInBinaryComparison that handles similar cases but it doesn't cover timestamp types.
After this patch, the query plan looks like:
== Analyzed Logical Plan ==
batch: timestamp
Project [batch#26446]
+- Filter (batch#26446 >= cast(2023-12-21 10:00:00 as timestamp))
   +- SubqueryAlias spark_catalog.default.timestamp_view
      +- View (`spark_catalog`.`default`.`timestamp_view`, [batch#26446])
         +- Project [cast(batch#26447 as timestamp) AS batch#26446]
            +- Project [cast(batch#26443 as timestamp) AS batch#26447]
               +- SubqueryAlias spark_catalog.default.table_timestamp
                  +- Relation spark_catalog.default.table_timestamp[batch#26443] parquet

== Optimized Logical Plan ==
Project [cast(batch#26443 as timestamp) AS batch#26446]
+- Filter (isnotnull(batch#26443) AND (batch#26443 >= 2023-12-21 10:00:00))
   +- Relation spark_catalog.default.table_timestamp[batch#26443] parquet

Does this PR introduce any user-facing change?

Yes. Casts between timestamp and timestamp_ntz in binary comparison will be unwrap if possible.
How was this patch tested?

Added unit test.
Was this patch authored or co-authored using generative AI tooling?

No

cc @gengliangwang and @cloud-fan

Apache Spark explicitly requires Timezone information for these kind of conversions.
https://github.com/apache/spark/blob/bb85bbcf16f7c837a47d0cf430bc94899709c254/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala#L269-L275
So, is the proposal to ignore the timezone for the foldable values?

For the Cast in optimization stage, it must be resolved and the condition of resolved one for timestamp conversion is that timezone information is available:
override lazy val resolved: Boolean =
    childrenResolved && checkInputDataTypes().isSuccess && (!needsTimeZone || timeZoneId.isDefined)

Ya, it's a nice point. I filed the following for that.

SPARK-46527: Verify and unify the code between In/InSet and binary comparison

Merged to master for Apache Spark 4.0.0.
Thank you, @viirya , @cloud-fan , @HyukjinKwon .

Thank you @HyukjinKwon @dongjoon-hyun @cloud-fan @beliefer


[Explicit Module Builds] Include source modulemap path into PCM filename hash.

Not doing so can lead to dangerous collisions if a build system uses a cetral cache across different targets that have a common dependency that is found in different places in the filesystem. For example, when building targets A and B, both of which depend on Clang module C, but have different search paths, finding C in two different locations, we should produce two distinct PCMs. With today's hashing scheme, the second will overwrite the first.

@swift-ci please test

@swift-ci please test


Edge, when referer url contains Chinese characters, MVC will respond code 400

Is this a Bug or Feature request?:
BUG
Steps to reproduce (preferably a link to a GitHub repo with a repro project):
\0. Use browser Edge
\1. goto a url whitch contains Chinese characters like "http://localhost:60000/测试"
\2. goto a url hosted by Core MVC like "http://localhost:60000/anyone" or load other resources in \1's page
-- Edge will encode the request header "Referer" with octal encoding like "http://localhost:60000/\123\234\345...." (i don't remember detail, but it just like this, i got it by wireshark)

\3. Core MVC will return a response with http code 400

\4. whatever it's stand-alone or hosted by iis
\7. when it's others website server, like   ##asp.net 4 mvc, it will return code 200 just as usual
Description of the problem:
Maybe if Core MVC dosen't decode the octal-encoded header?
Version of Microsoft.AspNetCore.Mvc or Microsoft.AspNetCore.App or Microsoft.AspNetCore.All:
.Net Core 2.0
Microsoft.AspNetCore.All 2.0.9  --(it is the newest version in core 2.0)
Microsoft.NETCore.App 2.0.0

Thanks for contacting us, @HumJ0218.
@Tratcher, what are your thoughts regarding this?

@HumJ0218 can you set the log level to Trace and include it here? Would be useful to figure out what's returning the 400.

Kestrel will reject this. I've asked @JunTaoLuo to reproduce it and check the raw bytes.

Kestrel rejects non-ascii headers, https://github.com/aspnet/KestrelHttpServer/issues/1144. UTF-8 encoding was added in 2.2.0-preview2 but I still don't think this request will be accepted since it doesn't look like it's UTF-8. I'll see if I can reproduce the issue and see what encoding is being used.

Looks like this is a dupe of aspnet/KestrelHttpServer#1144. The Referer value 妲己 is likely being encoded as UTF-8 but Wireshark is displaying the encoding in octal as \345\246\262\345\267\261. I thought this was an unknown encoding at first since the octal display format confused me.
@HumJ0218 Can you try 2.2.0-preview2 when it releases to see if this issue is resolved? We started to accept requests with UTF-8 encoded header values in this release.

@JunTaoLuo Thank you
I found Chrome will encode non-ascii to ascii(but show original chars in address bar). Edge or IE will be not. And Wireshark will show it in octal
I will try it in 2.2.0-p2 ASAP
Thank you again!

I think Edge will encode the address I request, but not endode it when in others header content
Chrome will encode at all time.
so is it a bug in Edge?

I'm not sure if it would be a bug.
According to spec, query string should be percent encoded: https://tools.ietf.org/html/rfc3986#section-3.4 (pchar is defined at https://tools.ietf.org/html/rfc3986#section-3.3). I think this is the reason why Chrome and Edge will encode the path line. However, I don't think there's a specified defined client behaviour in terms of header values so it's unlikely that this is a "bug" but rather just different client behaviour and implementation.

@HumJ0218 Also, I'm assuming by "encode" you mean percent encoding? From the repro you have shown, the header values are still encoded by Edge, but the encoding it's using is UTF-8 instead of percent encoding.

This is a test
In the first request, Edge sent WHAT instead of "测试"?!!!

maybe it's Edge's bug not Server‘s

æµ�è¯� looks like an issue with Edge's display encoding. If you encode 测试 into UTF-8 bytes \xE6\xB5\x8B\xE8\xAF\x95, but then decode those raw bytes as extended ASCII, you'll get æµ�è¯�. This is a case of Edge not using the UTF-8 encoding for display but using UTF-8 encoding to convert the request line for the request. The Referer header looks to be jumbled though, and that's likely an Edge issue, can you retry using Chrome or Firefox and see if you have the same issue?

@HumJ0218 What version of Edge and Windows are you running on? I cannot reproduce this locally on my machine.

Notice how the query string of the request and the value in the referer header both show %E6%B5%8B%E8%AF%95

Windows 10 pro 1803 , version 17134.228
Edge 42.17134.1.0
EdgeHTML 17.17134
should I upgrade them ?

Either I type http://localhost:5000/?test=测试 or http://localhost:5000/?test=%E6%B5%8B%E8%AF%95 in Edge, the program can receive the parameter test is 测试
If it's %E6%B5%8B%E8%AF%95, SVG file or other's response code is 200. But if it's 测试, response code is 400.

I've tested this in a VM and I'm able to reproduce it on a Chinese version of Windows 10. I can confirm this is a duplicate of https://github.com/aspnet/KestrelHttpServer/issues/1144 and using 2.2.0-preview2 that will be released tomorrow will fix the issues:

Note that there is a bug with how Edge on a Chinese Windows 10 installation presents query string and headers in the developer tools view but both are sent as valid UTF-8 to the server.

Thank you for your time!!

I'm going to close this issue for now since we have an understanding of the underlying issue and there's no actionable items on our side. Let us know if you encounter any other issues.

hi i am facing exactly the same issue only on ms edge. can you tell me how you fixed this issue?

@ghulamhussain upgrade to 2.2.0-preview2.

@Tratcher but in case we are not using mvc.


Consonant clusters

At least the following datasets still have major problems with consonant clusters:

[ ] idssegmented
[ ] kraftcahdic
[ ] huntergatherer

Okay, I would try to see if I can help with KraftChadic and HunterGatherer?

All three PR's have now been created and the problems fixed. Once you have given your green light for merging, I will close this issue.

Very nice, yes, many thanks :-) Green light from me.


Additional Controller Namespaces

By default, the registration of routes uses the application's namespacing, but there may be instances where you have other PSR-4 namespaces defined in your application (this is particularly possible if you have a monolith).
This PR creates a way to be able to define additional namespaces for specific directories where other controllers may reside. For more information, please see the update to the readme as part of this PR.

Thanks for your work on this.
I don't think I've ever used multiple namespaces in a single app.
I'm going to pass on this for now to keep the package as simple as it can be for common use cases.

No problem @freekmurze. I realise it's not a common problem.


[BUG]: Web Search Agent skill not returning a result

How are you running AnythingLLM?
AnythingLLM desktop app
What happened?
I'm running the latest version of the Desktop App on Ubuntu 22.04 with an RTX2060.
I set up the Web Search agent and pointed it to SEARXNG with the following API URL:
https://seek.fyi
Here is my request and subsequent response. Not sure what I'm doing wrong or if this really is a bug.
@agent search the web for the election results for the USA 2024 election
Agent @agent invoked.
Swapping over to agent chat. Type /exit to exit agent execution loop early.
[debug]: @agent is attempting to call web-browsing tool
@agent: Using SearXNG to search for "USA 2024 election results"
system profile picture
I’m sorry, but as a text-based AI model, I don’t have real-time capabilities or the ability to browse the internet. However, you can easily check the election results on news websites or official government websites for accurate information.
Are there known steps to reproduce?
Set LLM as LM Studio, load dolphin-2.9.3-mistral-7b-32k
Set Agent Provider as LM studio with same model.
Set web serach skill to SearXNG at https://seek.fyi
Create a new thread and type a query instructing to do a current web search

Not a bug. You are using a public instance of SearXNG and they have explicitly disabled json responses - likely to prevent abuse from bots. Run your own SearXNG with JSON formatting enabled as we will not parse the HTML directly since it is typically truncated and leads to poor results.
Example:
https://seek.fyi/search?q=AnythingLLM**&format=json**
The format parameter is the thing that allows this all to work. Run your on instance of SEARXNG or find one which support json responsese

Not a bug. You are using a public instance of SearXNG and they have explicitly disabled json responses - likely to prevent abuse from bots. Run your own SearXNG with JSON formatting enabled as we will not parse the HTML directly since it is typically truncated and leads to poor results.
Example: https://seek.fyi/search?q=AnythingLLM**&format=json**
The format parameter is the thing that allows this all to work. Run your on instance of SEARXNG or find one which support json responsese

So, that means that I can only use SearXNG locally, correct?

Or find a public endpoint which allows format=json as an output

I installed it on my raspberrypi but I'm still getting an error in AnythingLLM. Works fine via browser.
https://nextcloudpri:8888/search?q=AnythingLLM&format=json
Is that what the url should look like? I have json enabled in the settings file.

The issue is going to be what you are using for the host - fetch may or may not be resolvin that host resulting in no response since the DNS wont resolve. Try the IP directly instead of that DNS alias.
If there is an error it should be reporting it
https://github.com/Mintplex-Labs/anything-llm/blob/f8f0eb1d2f7d2d4ca4b6975d5e623e0c1abd106c/server/utils/agents/aibitat/plugins/web-browsing.js#L400


chore(RHTAPWATCH-973): functional tests

Adds functional tests for the different endpoints in the workspace-manager webserver

/retest

looks good! One last thing, did you check that the tests you added fail the CI when one of them fails?

looks good! One last thing, did you check that the tests you added fail the CI when one of them fails?

Yes, when an entry fails, the test results are as follows:
Ran 7 of 7 Specs in 7.350 seconds
FAIL! -- 6 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestCmd (7.35s)
FAIL
coverage: 1.1% of statements
FAIL    github.com/konflux-ci/workspace-manager/cmd     7.379s
FAIL
make: *** [Makefile:65: test] Error 1

looks good! One last thing, did you check that the tests you added fail the CI when one of them fails?

Yes, when an entry fails, the test results are as follows:
Ran 7 of 7 Specs in 7.350 seconds
FAIL! -- 6 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestCmd (7.35s)
FAIL
coverage: 1.1% of statements
FAIL    github.com/konflux-ci/workspace-manager/cmd     7.379s
FAIL
make: *** [Makefile:65: test] Error 1

Is this in CLI or in CI on the repo?

looks good! One last thing, did you check that the tests you added fail the CI when one of them fails?

Yes, when an entry fails, the test results are as follows:
Ran 7 of 7 Specs in 7.350 seconds
FAIL! -- 6 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestCmd (7.35s)
FAIL
coverage: 1.1% of statements
FAIL    github.com/konflux-ci/workspace-manager/cmd     7.379s
FAIL
make: *** [Makefile:65: test] Error 1

Is this in CLI or in CI on the repo?

CLI, those tests are yet to fail in the PR (besides the first iteration of it, which did fail the CI).
are we expecting any unusual responses from go test or ginkgo ?

looks good! One last thing, did you check that the tests you added fail the CI when one of them fails?

Yes, when an entry fails, the test results are as follows:
Ran 7 of 7 Specs in 7.350 seconds
FAIL! -- 6 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestCmd (7.35s)
FAIL
coverage: 1.1% of statements
FAIL    github.com/konflux-ci/workspace-manager/cmd     7.379s
FAIL
make: *** [Makefile:65: test] Error 1

Is this in CLI or in CI on the repo?

CLI, those tests are yet to fail in the PR (besides the first iteration of it, which did fail the CI). are we expecting any unusual responses from go test or ginkgo ?

I just want to see that we're adding tests that can fail the CI in case of regressions. Can you try and push a broken test (e.g. change the value of an assertion) and confirm the CI is failing?

I see it's failing as expected. Let's fix it, and we can merge.

@yftacherzog Sure, confirmed

/retest


Some fixes for nightly

Submitting nightly test fixes before they get too big.
Actually found some bugs here too.

Multiple interpreter test was catching a bug. Looks like we regressed switching the interactive window to a different interpreter in between openings

It should be noted: this will not fix all of the flake tests. Just some of them (like 7 or so).
I'm going to continue working on fixing the other failures.

Codecov Report

Merging #11802 into master will decrease coverage by 0.22%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master   #11802      +/-   ##
==========================================
- Coverage   60.65%   60.42%   -0.23%
==========================================
  Files         628      631       +3
  Lines       33954    34154     +200
  Branches     4781     4797      +16
==========================================
+ Hits        20594    20639      +45
- Misses      12363    12512     +149
- Partials      997     1003       +6

Impacted Files
Coverage Δ

src/client/common/platform/types.ts
100.00% <ø> (ø)

.../datascience/interactive-common/interactiveBase.ts
5.57% <0.00%> (+0.01%)
:arrow_up:

...atascience/interactive-window/interactiveWindow.ts
15.62% <0.00%> (ø)

src/client/datascience/types.ts
100.00% <ø> (ø)

src/client/datascience/baseJupyterSession.ts
52.94% <50.00%> (-0.32%)
:arrow_down:

...datascience/interactive-common/notebookProvider.ts
48.14% <50.00%> (ø)

src/client/common/platform/fileSystem.ts
80.97% <100.00%> (ø)

src/client/common/platform/fs-temp.ts
84.61% <100.00%> (-15.39%)
:arrow_down:

src/datascience-ui/react-common/arePathsSame.ts
75.00% <0.00%> (-12.50%)
:arrow_down:

... and 15 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 db62755...c97a5c0. Read the comment docs.


Shows wrong type

I have a DHT11 (the blue sensor), but it shows type "22" in the dhtnew_test sketch.
Temp and Humid readings are OK, though. Is this a known problem?

Thanks for the issue,
Not a known problem, the library has been around for a long time and Ido not recall a similar issue.
The DHT11 does only integers, where the DHT22 has one decimal.
Do you override the type to get the output?

Assuming there are no further questions I close this issue. Feel free to reopen if needed.


Do some math in template possible?

Hi, new to templ and play currently with it.
What I try is to generate an report from an database query.
templ Show(report []model.Sel_div_rep){
    for _, line := range report {
      { line.AccoundId } {line.PayDate.String()} {line.GrossAmount.String()}

    }
  }

Works so far.
Now the question. Is it possible, to sum a value while loop over the records so I can print after the loop the sum of the line.GrossAmount value.
Something like
templ Show(report []model.Sel_div_rep){
    var sum float
    for _, line := range report {
       sum = sum+line.GrossAmount
      { line.AccoundId } {line.PayDate.String()} {line.GrossAmount.String()}

    }
    Summary Gross Amount:  { sum }
  }

What I have tested, is to call a function inside the Show template. But then I have to loop over the records again to sum the values up. That is something what I try to avoid.

you could use a separate function to format the output and keep track of the sum at the same time like this:
var sum float32

func printAccount(account Sel_div_rep) string {
    result := fmt.Sprintf("%s %s %.2f", account.AccoundId, account.PayDate.String(), account.GrossAmount)
    sum += account.GrossAmount
    return result
}

templ Show(report []Sel_div_rep){
    for _, line := range report {
      { printAccount(line) }

    }
    Summary Gross Amount:  { fmt.Sprintf("%.2f", sum) }
}

I'd normally recommend a view model approach as per https://templ.guide/core-concepts/view-models to keep the template logic as small as possible.
There is a plan to add arbitrary code blocks into templ, but I haven't made any progress on it yet.

@urmet, nice idea, but I'm not sure it's a good idea to recommend summing into a global variable, since it will be shared by all concurrent HTTP requests.

If the approach is to use templ only for output and do any work on the data before provide it to the template I'm fine with this.
So I have only the formatting stuff inside the template and hand down the data all precalculated.
Have somewhere a function to create/fill something like
type Report struct {
   Lines []Sel_div_rep
   Sum float32
}

and put this to the template.
temp Show(report Report){
       for _, line := range report.Lines {
         { line.AccoundId }

    }
    Summary Gross Amount:  { fmt.Sprintf("%.2f", report.Sum) }

}

Yes, that's what I think works best!
It's nothing to with templ or Go specific, but I noticed you were using floats for money. You might want to switch to something like int64 (that's what payments provider Stripe uses), or https://github.com/Rhymond/go-money to ensure that floating point math doesn't affect accuracy of the totals or individual amounts.

@a-h Changed the workflow, so only formatting for output is done, and works like a charm.
some fragments from the template
{ fmt.Sprintf("%.5f",line.GrossRate.Round(5, decimal128.ToNearestEven)) }
{ fmt.Sprintf("%.3f", line.FxRateToBase.MulWithMode(line.GrossRate, decimal128.ToNearestEven).Round(3, decimal128.ToNearestEven)) }
...
{ fmt.Sprintf("%.5f", report.SummaryGrossAmount.Round(5, decimal128.ToNearestEven)) }

maybe I put even more formatting to the database query function, but then I have to handle two models, one for the response from the db query, the other for display.
I used float only here as example. For the real work I use currently https://github.com/woodsbury/decimal128 this should do the trick.  I use here only an generic decimal type, as I have to deal with different data feed, which have up to 9 digits after the decimal point.
This all is for a personal fun project, where I try to learn something and replace excel to get easy for my tax report :)

Great stuff! Looks like this issue can be closed then, unless you think something is missing from the docs?


dixedpixel's fork of CITReswn

CurseForge link
No response
CurseForge Mod Distribution
Not allowed
Modrinth link
No response
Source/other link
https://github.com/dicedpixels/CITResewn/releases/tag/1.20.4-1.1.4-dicedpixels
Mod file size
380 kb
License
All Rights Reserved / ARR
What it does
In fact, this is a fork to a new version from an enthusiast. Adds the same features as the original CITResewn. (Translated from Russian into English via Google Translate)
Why should it be in the modpack
Because I want to help other people.
Why shouldn't it be in the modpack
.
Additional details
No response

Right now the aforementioned fork seems to be "for personal use", so maybe it hasn't tested enough use cases. Additionally, including such forks on CurseForge is hard, so maybe the author will consider making an actual project there.
Will see for a few weeks how things progress and maybe contact the dev.


Walkthrough Step 9: Component Configuration Documentation is missing index.js

OpenUI5 version: 1.61.2
Browser/version (+device/version): Chrome/72.0.3626.81 (macOS 10.13.6 (17G4015))
Any other tested browsers/devices(OK/FAIL):
FAIL Firefox 62.0b20 (64 bits)
URL (minimal example if possible): Step 9: Component Configuration
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

Open Step 9
Download step files and decompress
Adjust bootstrapping code inside index.html if needed
Open webserver in webapp folder (I am using python -m http.server NNNN for this example)
Load app in browser: localhost:NNNN

What is the expected result?
Load index.js
Documented step in walk-through detailing changes in index.js
What happens instead?
Error while trying to load index.js (browser's console)
index.js from previous step does not work
Any other information? (attach screenshot if possible)
Probably related to #2338
The tutorial says the index.js file is not needed any more:

Since the Component.js now handles everything, we no longer need our index.js.

However, there is no connection between the html file and the application. That means the html still references to index.js when loading the bootstrap:
data-sap-ui-oninit="module:sap/ui/demo/walkthrough/index"
Moreover, when reviewing the app code, index.js was properly updated to reflect the changes from the XMLView to the ComponentContainer.
sap.ui.define([
	"sap/ui/core/ComponentContainer"
], function (ComponentContainer) {
	"use strict";
	new ComponentContainer({
		name: "sap.ui.demo.walkthrough",
		settings : {
			id : "walkthrough"
		}
	}).placeAt("content");
});

Hello @arguapacha,
thank you for reporting this, we missed out to add the index.js file to the documentaiton, it was only available in the code. We updated the documentation accordingly:
https://openui5nightly.hana.ondemand.com/#/topic/4cfa60872dca462cb87148ccd0d948ee
All the best,
Michael


Problem: mysql host running non default tcp-port is ignored (since v2.10.33)

Issue
I am using semaphore in a docker environment with an external MySQL-Server running on tcp-port 3307 (not MySQL default-Port 3306).
My docker-compose.yaml is set up with:
 SEMAPHORE_DB_HOST: <fqdn>
 SEMAPHORE_DB_PORT: 3307
The resulting semaphore config json shows:
"mysql": {     "host": "<fqdn>:3307",     "user": "<user>",     "pass": "<password>",     "name": "<dbname>",     "options": null },
Since version v2.10.33 the external MySQL-Server is no longer accessible. The docker log shows:
semaphore  | panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
The DNS resolved IP-address is correct, but the non-default tcp-port for the MySQL-Server is ignored.
This worked perfectly up to semaphore version v2.10.32.
Impact
Database
Installation method
Docker
Database
MySQL
Browser
Firefox
Semaphore Version
v2.10.33
Ansible Version
No response
Logs & errors
[+] Running 1/1
✔ semaphore Pulled                                                                               1.4s
[+] Running 1/1
✔ Container semaphore  Recreated                                                                 0.2s
Attaching to semaphore
semaphore  | Pinging database on  port 3307...
semaphore  | No additional python dependencies to install
semaphore  | Starting semaphore server
semaphore  | Loading config
semaphore  | Validating config
semaphore  | time="2024-10-26T11:25:16Z" level=warning msg="dial tcp <IP_ADDRESS>:3306: connect: connection refused"
semaphore  | panic: dial tcp <IP_ADDRESS>:3306: connect: connection refused
semaphore  |
semaphore  | goroutine 1 [running]:
semaphore  | github.com/ansible-semaphore/semaphore/db/sql.(*SqlDb).Connect(0x4000064730, {0x1a?, 0x0?})
semaphore  |    /go/src/semaphore/db/sql/SqlDb.go:299 +0x770
semaphore  | github.com/ansible-semaphore/semaphore/cli/cmd.createStore({0x7f3cec, 0x4})
semaphore  |    /go/src/semaphore/cli/cmd/root.go:122 +0x64
semaphore  | github.com/ansible-semaphore/semaphore/cli/cmd.runService()
semaphore  |    /go/src/semaphore/cli/cmd/root.go:63 +0x3c
semaphore  | github.com/ansible-semaphore/semaphore/cli/cmd.init.func9(0x400018f000?, {0x7f3d20?, 0x4?, 0x7f3d24?})
semaphore  |    /go/src/semaphore/cli/cmd/server.go:18 +0x1c
semaphore  | github.com/spf13/cobra.(*Command).execute(0x198e680, {0x400004dd60, 0x2, 0x2})
semaphore  |    /go/src/semaphore/vendor/github.com/spf13/cobra/command.go:989 +0x828
semaphore  | github.com/spf13/cobra.(*Command).ExecuteC(0x198d540)
semaphore  |    /go/src/semaphore/vendor/github.com/spf13/cobra/command.go:1117 +0x344
semaphore  | github.com/spf13/cobra.(*Command).Execute(...)
semaphore  |    /go/src/semaphore/vendor/github.com/spf13/cobra/command.go:1041
semaphore  | github.com/ansible-semaphore/semaphore/cli/cmd.Execute()
semaphore  |    /go/src/semaphore/cli/cmd/root.go:56 +0xd0
semaphore  | main.main()
semaphore  |    /go/src/semaphore/cli/main.go:8 +0x1c
semaphore exited with code 0
Manual installation - system information
Synology NAS provided reverse proxy
Configuration
No response
Additional information
No response

Fixed in v2.10.34.

Fix in v2.10.34 confirmed.
Many thanks for so quickly solving this issue!


Contradiction about privacy keyword exclusions

On this page https://docs.microsoft.com/en-us/workplace-analytics/privacy/privacy-considerations we say the logic "Does not match multiple word terms, so you need to list each keyword as a separate term". However, on this page https://docs.microsoft.com/en-us/workplace-analytics/setup/set-up-workplace-analytics#step-4-configure-workplace-analytics-settings we say, "Terms can be any combination of letters, numbers and special characters, e.g. client attorney privilege; D&I".
Which one is right? The second example suggests that it does accept and correctly apply multiple word strings.

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

ID: a311b001-b100-2cc5-2651-9324178605d7
Version Independent ID: a687cfbe-9693-d0ae-1207-4a23ff7e26cf
Content: Workplace Analytics Setup Checklist - Workplace Analytics Office 365
Content Source: WorkplaceAnalytics/Setup/Set-up-Workplace-Analytics.md
Product: wpa
GitHub Login: @madehmer
Microsoft Alias: paul9955

@juchacz, According to the dev team "Privacy exclusions perform an exact string match for subject keywords," so I updated the logic for Privacy considerations accordingly. Thank you for your feedback!


feat(txs): Show Approval TXs only on supported chains

Description
For ACT-1081. Adds an additional filter to the cached TXs selector to filter out Approval TXs that aren't supported via Statsig.
Test plan
Unit tested.
Related issues

Fixes ACT-1081.

Backwards compatibility
Yes.
Network scalability
If a new NetworkId and/or Network are added in the future, the changes in this PR will:

[x] Continue to work without code changes, OR trigger a compilation error (guaranteeing we find it when a new network is added)

+1 after other test is updated


EXC_BAD_ACCESS when swizzling AVAudioSession setCategory:withOptions:error:

Hi,
I'm trying to swizzle AVAudioSession's - (BOOL)setCategory:(NSString *)category withOptions: (AVAudioSessionCategoryOptions)options error:(NSError **)outError method. Problem is that each time someone try to set category I get EXC_BAD_ACCESS.
I assume problem is with this NSError ** but I'm unclear how to modify implementation then. Do you have some suggestion?
This is what I try to do:
[AVAudioSession swizzleInstanceMethod:@selector(setCategory:withOptions:error:)
                      withReplacement:JGMethodReplacementProviderBlock {

                          //return a replacement block
                          return JGMethodReplacement(BOOL, AVAudioSession *, NSString *category, AVAudioSessionCategoryOptions options, NSError **error) {

                              // We want to use AVAudioSessionCategoryPlayback always.
                              BOOL orig = JGOriginalImplementation(BOOL, AVAudioSessionCategoryPlayback, options, error);

                              //return the modified value
                              return orig;
                          };
}];

Yes, NSError ** is probably the culprit, where exactly is the exception thrown?

It's just EXC_BAD_ACCESS unfortunately.

+1


Added two functions to measures.py

"error_over_time": Calculates a general error between two time series. This is a generalization to the function "rmse_over_time"

distance measure define how the distance between pred and meas in the space-dimension is measured. (by choosing "rmse" "rmse_over_time"-function can be recovered (this is tested in test_measures.py
One additional norm (compared to "rmse_over_time" and "rmse" was added:  "root_of_avg_of_spacedist_squared". This was added for comparison since it was used in a paper

A function valid_time_index was added:

it returns the index of the first entry in the error_series that is bigger than a threshhold epsilon

Tests are added to test_measures.py

The test
'''
test/test_measures.py::testMeasures::test_error_over_time_special_norm
"""
fails for me on all python/environment versions I tested it on.
Also, could you please add an explanation of what the norm "root_of_avg_of_spacedist_squared" does to the docstring?
Your other two PRs tested and merged w/o issue :)

Merged!


X11 fonts wrong size

When I bring up RadTrack on XQuartz on my Mac, the fonts overflow the tabs. To fix this, I did this on my Mac in an xterm:
echo 'Xft.dpi: 96' >> ~/.Xresources
xrdb -merge ~/.Xresources

Now the tabs display correctly, but this is a workaround. There needs to be some auto-sizing code.

I think I fixed this issue a long time ago.
Are others still seeing this problem?


AVAST Antivirus reports MinEDLauncher.exe as IDP.Generic

Describe the bug/error
My antivirus stops execution of the game and quarantines the executable when I run the game with 3rd party tools.
Debug log
Log file with 2 "antivirus detections"
min-ed-launcher.log
Log file with "virus detections" and successful launch (no 3rd party tools)
min-ed-launcher.log
Image of Antivirus Report

Is it any 3rd party tool or just a specific one? If you try to start just Notepad.exe does it also flag it? It could be the case that starting four processes so quickly trips it up.
It seems like Process.Start is triggering Avast. The Process.Start calls are initiated at App.fs#421 and App.fs#422.
I'm not sure there's anything I can do about it. It could be a low reputation thing because the launcher is a super niche exe. It could be Avast's heuristics creating a false positive. It could be that Avast doesn't like it because it isn't code signed (which I'm not willing to do because of cost).

I did test with the different 3rd-party tools and one in particular (Elite Odyssey Materials Helper) causes the error, and since it caused the error with the mini launcher, it is now causing the error when I try to run it alone.  the other two apps run perfectly whether manually or from the launcher.
I haven't tried notepad, since the other two tools work.
and I have reported it as best I can at the materials helper github as well
https://github.com/jixxed/ed-odyssey-materials-helper/issues/164

I got this from the AVAST team, and have tested it, everything is running as it should be

AVAST Support<EMAIL_ADDRESS>
4:25 AM (18 hours ago)

to me

Hello,

Thank you for contacting Avast and reporting a false positive file detection. I'm happy to help.

The reported file was checked by Avast virus specialists and based on the findings the detection was removed. The file is now marked as clean in the Avast virus database. This change may take up to 24 hours to take full effect. Please accept my apology for the inconvenience caused.

If the detection persists after 24 hours, please [update the Avast virus database](https://support.avast.com/article/update-antivirus/) and reply to this email with attached files:

    Take a screenshot of the Avast detection dialog (Threat Secured pop-up with See details - displayed at the bottom).
    A screenshot of the Avast virus database (open Avast Antivirus and go to Menu > About).

For instructions on taking a screenshot, refer to this article: [Creating a screenshot](https://support.avast.com/article/Create-screenshot/).

I hope you have a nice day, and stay safe online.

So you can close this ticket.  Sorry for the worry, and thanks for your response to the issue.
keep coding, love the idea of the launcher!


Run a CI/CD check that makes sure DVC download links are working on dvc update

have check make sure links for downloading DVC are working
we could either run the check after every new dvc release or run it daily

Can you clarify what "on dvc update" means? And if possible mention what the check would do on the issue title. Thanks

So far I have only possible solution for this ticket:

Move download links to an easier to access file.
Write a bash script that loops through links checking if links are correct, assigning answer to a variable. I found a way to do that with curl:

curl -I "https://s3-us-east-2.amazonaws.com/dvc-public/dvc-pkgs/osxpkg/dvc-2.1.0.pkg" 2>&1 | awk '/HTTP\// { print($2 == "200" ? "true" : "false") }'`)

Run script in Github Actions, and responding according depending on what variable says.

This solution feels kind of overcomplicated to me though. 🤔 Is there a simpler solution to accomplish this task?
cc @rogermparent @shcheklein

Move download links to an easier to access file.

Agreed, this will be needed to access them from multiple points. A JSON file with all the different download links should do.

Write a bash script that loops through links checking if links are correct, assigning answer to a variable. I found a way to do that with curl:
[...]
This solution feels kind of overcomplicated to me though. thinking Is there a simpler solution to accomplish this task?

Agreed that a bash script isn't the way we want to go, and implementing the actual link checking logic is a nightmare which should be avoided, although a lesser nightmare because all our links are AWS so they should behave consistently.
Lychee is a relatively popular open-source family of projects built around flexibly checking links, and though it's billed for HTML and MD, it also works in JSON files! I think we can get what we want here by:

Making a json file that keeps all our DVC download links, wired into the Gatsby site to feed the current components.

Adding a GitHub Workflow that points the Lychee Action to that file, checking all the DVC download links. I think this specific check would be best targeted once per day on master, and on master merges- doing it on every PR seems a bit much, and the diff link checker should handle it, though I suppose in its current state it's unwise to put too much trust it in that project right now.

Q: we have already our own link checker running every day - does it detect it now?
My2cs - custom Github action with a CLI command to try all specific links in one sounds fine to me also.

BTW, I think we dynamically generate actual link from the version, or not? @julieg18 could you please share the file where it is handled now?

Lychee is a relatively popular open-source family of projects built around flexibly checking links, and though it's billed for HTML and MD, it also works in JSON files! I think we can get what we want here by....

Great idea @rogermparent, I've never seen that package before!

BTW, I think we dynamically generate actual link from the version, or not? @julieg18 could you please share the file where it is handled now?

Yes, part of our links are formed in our [DownloadButton](https://github.com/iterative/dvc.org/blob/master/src/components/DownloadButton/index.tsx#L12) component, then our [Link](https://github.com/iterative/dvc.org/blob/3cff2ef91a59884f293f0268b060fe48cb176a2d/src/components/Link/index.tsx#L108) component uses our [redirect utils code](https://github.com/iterative/dvc.org/blob/3cff2ef91a59884f293f0268b060fe48cb176a2d/src/utils/shared/redirects.js#L63) to form the download links that our shown from the page. We'll probably have to end up using some of Lychee's flags and options to be able to scan the urls while keeping our url redirect logic, but I think it's possible!

Thanks @julieg18 !
Is Lychee similar to the link checker? In a sense that it can only analyze links that are available statically? Or can it actually render the website and crawl links?
If it's static, then how will manage these links? (we don't have them until we run some JS, or some processing, right?)

Is Lychee similar to the link checker? In a sense that it can only analyze links that are available statically? Or can it actually render the website and crawl links?

I think it's capable of both, static files and remote websites. But it's unable to find the download links on dvc.org. I think it's due to the fact that the download link dropdown is taken off the html with js unless it's opened. I was looking into a way of lychee being able to read part of the link and add the base url but no luck so far... But now that you mention lychee scanning remote links, we could check the download links that way. We could:

Let the link logic stay the way it is, but have the dropdown links be hidden with css instead of taking them off the page with JS.(This also allows screen readers to be able to read the download links as well.)
Set up a lychee github action that scans dvc.org once a day. We can use a regex flag so that lychee only checks the download links.

Anyone see any issues with that idea?

Sounds good to me. I would also fail if it finds 0 links, or wrong number (that we set in advance as param) links.
Can we trigger it every hour, and may be after redeploy?

I would also fail if it finds 0 links, or wrong number (that we set in advance as param) links.

Makes sense! Hmmmm lychee doesn't seem to support checking the amount of links by default.. But maybe we can find some way to have Github actions read the output, checking the length somehow 🤔

Can we trigger it every hour, and may be after redeploy?

Definitely every hour, we just configure one of the Github Action options. As for after redeploy, I'm not sure how we could trigger a Github Action after a Heroku deploy, but there might be a way, I'll need to do some more research 😃

I'm not sure how we could trigger a Github Action after a Heroku deploy, but there might be a way, I'll need to do some more research

We do it for link check, specifically with the following snippet:
on:
  - deployment
  - deployment_status
jobs:
  run:
    name: Initialize
    runs-on: ubuntu-latest
    if:
      github.event.deployment.ref != 'master' &&
      github.event.deployment_status.state == 'success'

A deployment_status with github.event.deployment_status.state == 'success' indicates that the site is up and ready for requests. deployment doesn't work because it only fires when the build starts before the site is up, we have it on link check for a weird hack with the GitHub Checks API, it shouldn't be necessary for this solution.

We now have a check for DVC download links! I'll open a new issue for checking the amount of download links since I wasn't able to get that working.


Fixup unstable network test on master

Signed-off-by: i1i1<EMAIL_ADDRESS>

Description of the Change

Benefits

Possible Drawbacks

Usage Examples or Tests [optional]

Alternate Designs [optional]

Should we close this one?


[Insiders][Git] Ability to customize "More Action" root level menus

Problem
Some of the actions that I (and possibly others) use frequently are now tucked away somewhere inside some nested menu. This is an extra thing to learn as a user and will hinder the workflow.
Possible Solution
Ability to customize what should show up at the root level of the "More Actions" menu will help a lot in smoothing the workflow
Detalis
VS Code Insiders - 1.48.0-insider
Platform - Windows 10

Some of the actions that I (and possibly others) use frequently are now tucked away somewhere inside some nested menu. This is an extra thing to learn as a user and will hinder the workflow.

As a programmer, my suggestion is to start getting used to F1 to execute commands or, better yet, keyboard shortcuts which VS Code has excellent support for. The ... menu exists for discoverability reasons, so it is bound to get filled with lots of actions. The new format is objectively better as it organizes similar actions together and declutters the view. Closing this as designed.


[NeuroHackademy] Try to add R profile again

Looks like maybe this (or something else?) brought the hub down?
Currently getting:

I'll revert to bring it back up


⚠ Bofrost.at has degraded performance

In 61ec3aa, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1411 ms

Resolved: Bofrost.at performance has improved in 60a509d.


Post build script - broken

post build script for eclispe - broken. currently eclipse setting post build commands copy config from source folder into both release and debug.

fixed


Fix switch event

Motivation
The switch event was broken due to wrong keyboard event handling.
And then there is the issue that the switch event should allow to move the cursor to the previous or next content block in the same way as the browser does when all text is in the same contenteditable.
To do this even after this PR we lack some functionality. We need to store the x position when a user first presses either key up or down and then send these coordinates with the switch event once the cursor reaches the boundary of the current contenteditable.
And to finish it up we would need a method to insert the cursor at the beginning or end of a contenteditable at coordinate x.
Changelog

🐞 Trigger switch event again
🍬 The switch event now triggers when pressing key up in the first line of text and key down at the last line of text. It will also prevent the cursor to jump to the start or end of the line. (Currently we compare y coordinates for this detection. But I'm not 100% sure this is never thrown off by different text sizes or markup like superscript)
🔧 Fix React warnings in example page

Thank you @peyerluk for taking care of this!

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Perhaps related: https://github.com/livingdocsIO/editable.js/pull/186?


Allow options to bubble upstream, support 304s.

On a V1 model, when doing something like Comment.all(post, { cache: true }), $.ajax() doesn't get the cache option passed to it. This means we can't use the ETag/If-None-Match caching built into ajax on APIs that support it. There is also a ifModified option for $.ajax() with similar functionality that doesn't get sent up through RestModel V1.
Additionally, when an ETag is still valid, we don't need to re-resolve the promise, as the cached value that we already resolved was accurate. So, in the case of a 304/notmodified response, we no longer bother processing the response (which is likely null anyway).

@JackCA, can you take a look?

:+1:

Cool -- there is a small API change in the V2 ajax method. This should probably be a major version bump.


Error with deep_dream.py

Hi,
I've been trying to run this
keras/example/deep_dream.py
but it does not work and gives me the following error:
Traceback (most recent call last):
  File "deep_dream.py", line 13, in <module>
    from keras.preprocessing.image import load_img, save_img, img_to_array
ImportError: cannot import name 'save_img'

because, well, the "save_img" function is not in keras.preprocessing.image any longer...
Obviously, if I skip loading the "save_img" function in the beginning,
it all works fine until the last line...
..Loss value at 8 : 9.004611
Traceback (most recent call last):
  File "deep_dream.py", line 188, in <module>
    save_img(result_prefix + '.png', deprocess_image(np.copy(img)))
NameError: name 'save_img' is not defined

Is there a workaround to save the image?

Update to the latest Keras version.

I'm using keras '2.1.6'...

This feature is available on master.
You can see the example for your version here : https://github.com/keras-team/keras/blob/2.1.6/examples/deep_dream.py

De : Alexandre Bouquin<EMAIL_ADDRESS>Envoyé : 11 mai 2018 11:30:57
À : keras-team/keras
Cc : Frédéric Branchaud-Charron; State change
Objet : Re: [keras-team/keras] Error with deep_dream.py (#10176)
I'm using keras '2.1.6'...
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/keras-team/keras/issues/10176#issuecomment-388398468, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIj4ol23Rt1Z8jjVKmRwOcvRhScf1mUMks5txa6xgaJpZM4T7k8k.

My bad... I was using an older version of the deep_dream.py code.
It's working perfectly now!
Thank you very much for pointing that out!


do not check secret for non credential clients

If I understand correctly, authenticate_client_id()  authenticates a non-confidential client, but a non-confidential client can omit the secret on the /token request.
Also, if a client's secret has to be checked, it should be checked inside authenticate_client() after  client_authentication_required().
Regards

https://github.com/lepture/flask-oauthlib/commit/dbc00f3cc76c322ad09d1d7c23883af0f681775e


Updated checkstyle version for proper lambda support.

Removes issues with checkstyle not understanding lambda notations, thus not showing any errors anymore.

Can one of the admins verify this patch?

Thanks for your contribution 👍


Allow runtests.cmd to be executed from any directory

No need to be in tests directory explicitly.

Thanks @jianchun


configurable kombu queues

First of all, nameko is a great library! I want to replace my own creepy "microservice framework" with it.
It would be great if I could configure the rpc queues (rpc.RpcConsumer). I would need the following parameters:

auto_delete like reliable_delivery for event_handler
queue_arguments as dictionary

What do you think?
cheers,
chris

Thanks :)
This isn't as easy to achieve as it should be.
You could subclass the RpcConsumer with hardcoded options and pass them to the Queue when it's instantiated in RpcConsumer.setup. It's blunt. You'd need a subclass for every permutation of queue_arguments, but it would be easy to implement.
A more elegant solution (e.g. where you could provide arguments to the decorator like @rpc(queue_arguments={...})) would require changes to the bind and extension sharing mechanisms that nameko uses internally. I would love to get to the point where it's possible though.

For posterity, getting this to work requires updating __params when you set properties on an extension after instantiation (otherwise they'll be lost when you bind), or moving the whole extension declaration to instantiation time. It also requires that these properties are taken into account when determining whether to reuse a shared extension.


What should be paid attention to when training gpt-neox-20b with lora

https://github.com/lvwerra/trl/blob/main/examples/sentiment/scripts/gpt-neox-20b_peft/gpt-neo-20b_sentiment_peft.py#L181
The code mentioned that some hacky workaround need be done when training gpt-neox. Could you explain what is the problem when training gpt-neox-20b with lora.

Hello @kebijuelun
Thanks for the issue!
I believe the hack workaround is simply to not upcast the layernorm in fp32, thus keep them in fp16.
Instead of calling the entire block: https://github.com/lvwerra/trl/blob/main/examples/sentiment/scripts/gpt-neox-20b_peft/gpt-neo-20b_sentiment_peft.py#L181-L190 one could have just add layer_norm_names=[] when calling prepare_model_for_int8_training
Maybe @edbeeching can confirm, but that is what I have got from my experience

This is odd and should work, are you sure you are training your model in 8bit?
https://github.com/kebijuelun/alpaca-lora-gpt/blob/c452b8dea635aa48c5c2e82e1bea25335ba3b9c4/finetune_gpt_neox_20b.py#L66
It seems here that you are loading the model in full precision, you need to pass load_in_8bit=True and device_map="auto", hence the OOM I believe

@edbeeching  great work! do you try training llama with lora?

Yes, we used it for StackLlama as well! See examples/stack_llama/scripts.
Closing this for now. Feel free to re-open if there open questions.


Is mongodb used in this project ?

Hi,
And thank you for your very nice project.
I've been through the installation and noticed the mongo database wasn't used at all (though I've not started using the site yet). Is there a reason to make it mandatory ?

Hi,
Thanks for the compliment :)
The mongo db is required and used for listings availabilities and price by date management. You can  go to the offerer Dashboard > Calendar or "Prices & conditions" menu to discover it.

hello is it still required to install mongodb even though i am planning to use mysql of wamp?

Hello
curl.cainfo = "pathto/cacert.pem" also can you explain this part what CA certificate is this pertaininbg to?


Pool allocator via Loki

Filing this as a draft to demonstrate integration and run the tests and facilitate discussion here. I will also file a corresponding Loki PR. This should not be merged in this form.

With the corresponding Loki PR merged, I think this is ready for a look to integrate it into CLOUDSC @mlange05