several orbitcontrols: one per canvas in several views?

I want to render several models and each shall have its own canvas and orbitcontrols. I made that work by the following code, but I make two observation:

clicking first time on a model doesnt initiate the rotation and looking into your code you somehow try to detect the first touch and only regard everything afterwards as rotation control. is there a way to customize that?
when keeping the finger on the display of my android (i run via expo) and leaving the current canvas the target camera position resets somehow to a weird position that i can make visible within the handleCameraChange function via console.logs. This does not happen when testing rotation outside of the canvas in a browser (firefox or chrome). Is that behavior on android intentional?

import React, { Suspense, useRef, useMemo, useContext, useCallback, useEffect, useState, lazy } from 'react';
import Chair from './src/components/chair';
import { SafeAreaView, StyleSheet, View } from 'react-native';
import { Canvas } from '@react-three/fiber/native';
import useControls from 'r3f-native-orbitcontrols';
import * as THREE from "three";
import Trigger from './src/components/Trigger';
import Loader from './src/components/Loader';
import { useVisibleStore } from './src/context/MyZustand';
import { Dimensions } from 'react-native';

const Game: React.FC = () => {
  const { width, height } = Dimensions.get('window');
  const isPortrait = height > width;
  const nCubes= useVisibleStore((state) => state.nCubes)
  const [loading, setLoading] = useState<boolean>(false);

  const controlsAndEvents = Array.from({ length: nCubes }, (_, index) => {
    const [OrbitControls, events] = useControls();
    return { OrbitControls, events, index };
  });

return (
      <SafeAreaView style={styles.container}>
        <View style={styles.modelsContainer}>
        {loading && <Loader />}
          <View style={isPortrait ? styles.columnContainer : styles.rowContainer}>
            {controlsAndEvents.map(({ OrbitControls, events, index }) => (
              <View key={index} style={isPortrait ? styles.modelColumn : styles.modelRow}{...events}>
                  <Canvas key={index}>
                    <OrbitControls
                      key={index}
                      enabled={true}
                      enableZoom={false}
                      enablePan={false}
                      dampingFactor={0.5}
                      enableRotate={true}
                      rotateSpeed={0.5}
                      // onChange={(event) => handleCameraChange(event, index, letters)}
                      {...OrbitControls}
                    />
                    <directionalLight position={[1, -1, -1]} intensity={5} args={["yellow", 10]}  />
                    <directionalLight position={[-1, -1, -1]} intensity={7} args={["white", 10]}  />
                    <Suspense fallback={<Trigger setLoading={setLoading} />}>
                      <Chair />
                    </Suspense>
                  </Canvas>
              </View>
             ))}
          </View>
         </View>
      </SafeAreaView>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: 'grey', // Add this line to set the background color to grey
  },
  modelsContainer: {
    flex: 0.9,
  },
   columnContainer: {
    // flexDirection: 'column',
    flex: 1,
  },
  rowContainer: {
    // flexDirection: 'row',
    flex: 1,
  },
  modelColumn: {
    flex: 1,
    justifyContent: 'center',
  },
  modelRow: {
    flex: 1,
    justifyContent: 'center',
  },
});

export default Game;

I think (1) should be solved in 1.0.10 — can you check it? —. I still have to look at (2).

Hi Tiago,
thanks a lot for responding. your fix in 1.0.10 works very well on web and android!
Regarding the second topic, I uploaded this animation, which is a recording from my android phone. (android 12 and expo on dev server)
What you don't see is the touch location of my finger, but I am moving the middle chair and hover around the canvas border to the upper chair. In the web version, I can keep touching even over other canvases/chairs, and I still move the chair where I started touching the screen. On android there is always a reset of the camera location as soon as you leave the canvas where you started the rotation.
https://github.com/TiagoCavalcante/r3f-native-orbitcontrols/assets/54145315/3b4b1d52-23f7-4e6a-b969-420535cdb9dd

@MainzerKaiser I couldn't reproduce this (but still didn't test in an Android though).
Maybe you can share the whole code, or try to reduce the code where the bug happens?
Also, does this bug happen on web too?

@TiagoCavalcante, the bug does not happen on web, it only appears on anroid. I could not test ios, though.
I created this repo with the chair, although if loaded via expo it should show 6 chairs, aligned vertically.
It should reflect the code in the first comment. And it is independent of the model loaded.
https://github.com/MainzerKaiser/testing_r3f_orbit_in_reactnative.git

The bug isn't happening on iOS, I'll test it in Android soon.

How would you go about resetting the camera settings on button click?

If you are using an "external" camera like in the second example from README.md, you can set its target with camera.lookAt(new Vector3(x, y, z)) and its position (which is only useful if pan is enabled) with camera.position.set(x, y, z).
If you are using the default Canvas camera you can obtain the camera object with useThree (similarly to what is made below) and you can update it like above.
If you are using frameloop="demand" on the Canvas you may need to call Fiber's invalidate:
function ComponentWhichMustBeInsideTheCanvas() {
  const invalidate = useThree((state) => state.invalidate)

  useEffect(() => {
    // Click stuff
    invalidate()
  }, [dependencies])

  return null as unknown as JSX.Element // This must be a JSX element
}

Unfortunately I could not make it work. I cannot use the external camera as it screws up the rest of my code (placement of all objects). How would i go about resetting each of my canvas cameras, if they are introduced by the mapping of controlsAndEvents:
`
const controlsAndEvents = Array.from({ length: nCubes }, (_, index) => {
const [OrbitControls, events] = useControls();
const orbitControlsRef = useRef();
const canvasRef = useRef(null);
return { OrbitControls, events, orbitControlsRef, canvasRef, index };

});
interface ModelCallProps {
index: number;
canvasRef: React.RefObject; // Adjust the type as needed
reloading: boolean;
}
function ModelCall({ index, canvasRef, reloading }: ModelCallProps) {
const { camera } = useThree();
const resetCameraTarget = () => {
  if (camera && camera.userData && camera.userData.controls) {
    const orbitControls = camera.userData.controls;
    orbitControls.target.set(0, 0, 0); // Set the target position, adjust as needed
    orbitControls.update(); // Make sure to call update after modifying properties
  } else {
    console.error("OrbitControls instance not available.");
  }
};

// Reset camera target when reloading is true
useEffect(() => {
  if (reloading) {
    resetCameraTarget();
    setQALoading(false); // Assuming setQALoading is a function to update qaloading state
  }
}, [reloading]);
return (
  <Model
    letters={letters[index]}
    cubeindex={index}
  />
);

}
return (
  <SafeAreaView style={styles.container}>
    <View style={styles.modelsContainer}>
    {loading && <Loader />}
      <View style={isPortrait ? styles.columnContainer : styles.rowContainer}>
        {controlsAndEvents.map(({ OrbitControls, events, orbitControlsRef, canvasRef, index }) => {
            return (
              <View
              key={index}
              style={isPortrait ? styles.modelColumn : styles.modelRow}
              {...events}
            >
                <Canvas
                  key={index}
                  ref={canvasRef}

                >
                  <OrbitControls
                    key={index}
                    enableZoom={false}
                    enablePan={false}
                    dampingFactor={0.75}
                    enableRotate={true}
                    rotateSpeed={0.45}
                    onChange={(event) => handleCameraChange(event, index, letters)}
                    {...OrbitControls}
                  />
                  <directionalLight position={[-1, 1, 1]} intensity={4} args={["white", 10]}  />
                  <directionalLight position={[1, -1, 1]} intensity={5} args={["blue", 10]}  />
                  <directionalLight position={[-1, -1, 1]} intensity={3} args={["orange", 10]}  />
                  <directionalLight position={[1, 1, -1]} intensity={5} args={["white", 10]}  />
                  <directionalLight position={[1, -1, -1]} intensity={5} args={["yellow", 10]}  />
                  <directionalLight position={[-1, -1, -1]} intensity={7} args={["white", 10]}  />
                  <Suspense fallback={<Trigger setLoading={setLoading} />}>
                      <ModelCall index={index} canvasRef={canvasRef} reloading={qaloading}/>
                    {/* <Chair /> */}
                  </Suspense>
                </Canvas>
                {/* </View>
                </Pressable>*/}
            </View>
            )
          })}
      </View>
     </View>

`

@MainzerKaiser can you check if the error is still happening with 1.0.12?

Hi Tiago,
i get this error when hitting the web version in expo:
ERROR in ./node_modules/r3f-native-orbitcontrols/lib/index.esm.js:3
Module not found: Can't resolve '@react-three/fiber/native'
Did you mean 'react-three-fiber-native.esm.js'?
BREAKING CHANGE: The request '@react-three/fiber/native' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.
  1 | import React, { useMemo, useEffect } from 'react';
  2 | import { Vector3, Vector2, Spherical, Quaternion } from 'three';
> 3 | import { invalidate, useThree, useFrame } from '@react-three/fiber/native';

This is my package.json with comparable packages as in your package.json. Do you see what the problem is?
{
  "name": "cubewordle",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@expo/webpack-config": "~19.0.1",
    "@mediapipe/tasks-vision": "^0.10.8",
    "@react-three/drei": "^9.89.0",
    "@react-three/fiber": "^8.15.11",
    "base64-arraybuffer": "^1.0.2",
    "expo": "^50.0.14",
    "expo-crypto": "^12.8.1",
    "expo-gl": "~13.6.0",
    "expo-status-bar": "~1.11.1",
    "jotai": "^2.6.1",
    "nanoid": "^5.0.4",
    "r3f-native-orbitcontrols": "^1.0.12",
    "react": "18.2.0",
    "react-native": "0.73.6",
    "react-native-3d-model-view": "^1.2.0",
    "react-native-gesture-handler": "~2.14.0",
    "react-native-safe-area-context": "4.8.2",
    "react-native-screens": "^3.29.0",
    "react-native-web": "~0.19.6",
    "react-promise-suspense": "^0.3.4",
    "react-use-refs": "^1.0.1",
    "rn-fetch-blob": "^0.12.0",
    "three": "^0.159.0",
    "three-bmfont-text": "^2.3.0",
    "three-stdlib": "^2.29.4",
    "xlsx": "^0.18.5",
    "zustand": "^4.4.7"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0",
    "@types/expo": "^33.0.1",
    "@types/expo__vector-icons": "^10.0.0",
    "@types/react-dom": "~18.0.10",
    "@types/uuid": "^9.0.7",
    "typescript": "^5.3.3",
    "vite": "^5.0.10",
    "@types/react": "^18.2.56",
    "@types/react-native": "^0.72.8",
    "@types/three": "^0.161.2"
  },
  "lint-staged": {
    "*.{ts,tsx,md}": "prettier --write --no-semi"
  },
  "private": true
}

Hi Tiago,
when starting the web version, i still get the error above, that ./node_modules/r3f-native-orbitcontrols/lib/index.esm.js:3 cannot resolve '@react-three/fiber/native'.  Don't know why that is. Could it be, that the types are not working in the new version?
But i could test the android version with your new 1.0.12.. And my original second issue:

when keeping the finger on the display of my android (i run via expo) and leaving the current canvas the target camera position resets somehow to a weird position that i can make visible within the handleCameraChange function via console.logs. This does not happen when testing rotation outside of the canvas in a browser (firefox or chrome). Is that behavior on android intentional?

still persists, unfortunately.
Best regards,
MK

@MainzerKaiser

when keeping the finger on the display of my android (i run via expo) and leaving the current canvas the target camera position resets somehow to a weird position that i can make visible within the handleCameraChange function via console.logs. This does not happen when testing rotation outside of the canvas in a browser (firefox or chrome). Is that behavior on android intentional?

I encountered the same issue as you and have resolved it. Hopefully, the same approach works for you.
I calculate the Euclidean distance between two positions using a formula. If the distance is greater than 2, I assume the position update is incorrect.
const cameraRef = useRef<Camera>();
const lastCameraPositionRef = useRef<Vector3>();

const handleOrbitPositionUpdate = (position?: Vector3) => {
  if (!position) return;

  const lastCameraPosition = lastCameraPositionRef.current;
  if (lastCameraPosition) {
    const { x, y, z } = position;
    const [x0, y0, z0] = lastCameraPosition;

    const camera = cameraRef.current;
    if (camera) {
      // if the distance exceeds 2, assume the new position is incorrect.
      const distance = Math.sqrt((x0 - x) ** 2 + (y0 - y) ** 2 + (z0 - z) ** 2);
      if (distance >= 2) {
        camera.position.set(x0, y0, z0);
        invalidate();
        return;
      }
    }

    if(lastCameraPositionRef.current) {
      lastCameraPositionRef.current = position;
    }
  }
};

<OrbitControls
  onChange={event =>
    handleOrbitPositionUpdate(event.target.camera?.position)
  }
/>

Thanks for that idea. I adopted it to my problem and in principle it works fine. What does your invalidate() function do?
The important part of my code is now:

  const handleCameraChange = useCallback((event: any, index: number, letters:string[][], lastCameraPositionRef:any) => {
    const { x, y, z } = event.target.camera.position;
    const { x: x0, y: y0, z: z0 } = lastCameraPositionRef.current;

    const distance = Math.sqrt((x0 - x) ** 2 + (y0 - y) ** 2 + (z0 - z) ** 2);
    // console.log(distance, y)
    if (distance >= 2) {
      event.target.camera.position.set(x0,y0,z0);
      return;
    } else {
      lastCameraPositionRef.current = new THREE.Vector3(x, y, z);
  [...]

  const controlsAndEvents = Array.from({ length: nCubes }, (_, index) => {
    const [OrbitControls, events] = useControls();
    const orbitControlsRef = useRef<typeof OrbitControls>();
    const canvasRef = useRef<any>(null);
    const lastCameraPositionRef = useRef<THREE.Vector3>(new THREE.Vector3(0,0,5));

    return { OrbitControls, events, orbitControlsRef, canvasRef, index, lastCameraPositionRef};
  });

  [...]
{controlsAndEvents.map(({ OrbitControls, events, orbitControlsRef, canvasRef, index, lastCameraPositionRef }) => {
                // const { invalidate } = useThree();
                return (
                  <View
                  key={index*3}
                  style={isPortrait ? styles.modelColumn : styles.modelRow}
                  {...events}
                >
                    <Canvas
                      key={index*5}
                      ref={canvasRef}

                    >
                      <OrbitControls
                        key={index}
                        enableZoom={false}
                        enablePan={false}
                        dampingFactor={0.75}
                        enableRotate={true}
                        rotateSpeed={0.45}
                        onChange={(event) => handleCameraChange(event, index, letters, lastCameraPositionRef)}
                        {...OrbitControls}
                      />
                      <directionalLight position={[-1, 1, 1]} intensity={4} args={["white", 10]}  />
                      <directionalLight position={[1, -1, 1]} intensity={5} args={["blue", 10]}  />
                      <directionalLight position={[-1, -1, 1]} intensity={3} args={["orange", 10]}  />
                      <directionalLight position={[1, 1, -1]} intensity={5} args={["white", 10]}  />
                      <directionalLight position={[1, -1, -1]} intensity={5} args={["yellow", 10]}  />
                      <directionalLight position={[-1, -1, -1]} intensity={7} args={["white", 10]}  />
                      <Suspense fallback={<Trigger setLoading={setLoading} />}>
                          <ModelCall index={index} canvasRef={canvasRef} reloading={qaloading}/>
                      </Suspense>
                    </Canvas>

                </View>
                )
              })}

Setting the  event.target.camera.position.set(x0,y0,z0); to the lastCameraPosition in case the distance>2 is visibile as a small stutter.
But apart from that it works fine..
I'd rather have an option to invalidate every touch event outside of the canvas.
https://github.com/user-attachments/assets/197da209-0155-4582-b172-56ec7ff8b773

Thanks for that idea. I adopted it to my problem and in principle it works fine. What does your invalidate() function do?

I use the invalidate function to quickly update the corrected position on the canvas. This is especially useful when your canvas frameLoop is set to demand (On-demand rendering).

Hey @MainzerKaiser and @markhuang19994
Can you confirm if #47 fixes the problem you were facing, If this your only requirement then this could fix #33  as well.
Let me know.

Thx ahkalor!
That sounds like great news. It was the first time for me to try to install a committed pull request code via gh and then link it to my project. I could not make it, even after trying for 1hr. I'll have to come back to you with testing this after Tiago merged it into the main branch.
Issue #33 is not really present anymore, I don't have a use case to test it.
However, thank you for improving this package!

Hey @MainzerKaiser
All you have to do is git clone my forked repo and change it to the map controls branch inside your project directory.
Then change your imports to this folder  instead of node-modules. That should get the library working locally.
If you want to use map controls pass CONTROLMODES.MAP to useControls hook as a parameter.
Let me know if you face any issues or need any additional help.

Ok, ill give it a try when I have time again. I read your code changes a bit and saw warnings about the camera. Does it work with my appraoch, where i only use the camera of the canvas or do i have to explicetly set a perpective camera like in the example code by Tiago?
function Canvases() {
  // You also can use the same OrbitControls for multiple canvases
  // creating an effect like the game
  // The Medium (https://store.steampowered.com/app/1293160)
  const [OrbitControls, events] = useControls()

  // In this case the same camera must be used in all the canvases
  const camera = new PerspectiveCamera()
  // You need to configure the camera too. Follow three.js' documentation.
  // Default configuration:
  //   camera.position.set(10, 10, 10)
  //   camera.lookAt(0, 0, 0)

  return (
    <View {...events}>
      <Canvas camera={camera}>
        <OrbitControls />
      </Canvas>
      <Canvas camera={camera}>
        <OrbitControls />
      </Canvas>
    </View>
  )
}

Hey @MainzerKaiser
That's only if you're using multiple canvases. There is no configuration change. Try and use it just like before and see if you're facing any issues.


fix: Export injection token used by plugins

PR Checklist

[x] The PR title follows our guidelines: https://github.com/NativeScript/NativeScript/blob/master/CONTRIBUTING.md#commit-messages.
[ ] There is an issue for the bug/feature this PR is for. To avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it.
[x] You have signed the CLA.
[ ] All existing tests are passing: https://github.com/NativeScript/nativescript-angular/blob/master/DevelopmentWorkflow.md#running-the-tests
[ ] Tests for the changes are included.

What is the current behavior?
The TEMPLATED_ITEMS_COMPONENT injection token is missing from the export, thus preventing ability to create plugins/other components that extend the TemplatedItemsComponent
What is the new behavior?
The TEMPLATED_ITEMS_COMPONENT is re-exported
Fixes/Implements/Closes #[Issue Number].

@NathanWalker  could we get this reviewed, merged and released with this weeks patches? Would love to finish updating my plugins 😉


Link to PIFSC initial UxS project transition plan?

Is it worth adding a link to the current transition plan from the MHI UxS project that is just wrapping up (https://drive.google.com/drive/u/0/folders/1_yK9UhQrQgfKACIGHFkGoEk8G1CukEcR)? Or will that add confusion?
(Also just creating this to test issues 😃)

This was created in the wrong repository - meant for a repo made off this template!


Fix coverage report

Now it also checks buildfox folder, and it shouldn't

Another way could be is to remove one-file deploy, and just deploy source as-is. This way coverage report should work just fine.


how to get uploading image width and height

I have a guestion..
how to get uploading image width and height in the showImage function?

        domImage.onload = function () {
            data.context.find('img').attr('src', domImage.src);
            // why I can't get image real width and height here?
            // when uploading multiple pictures, the first one can be got width and height, but the other cannot.
        };

thanks

When I try this, it works. For multiple images too.
domImage.onload = function () {
    data.context.find('img').attr('src', domImage.src);
    console.log(domImage.width);
    console.log(domImage.height);
};

thank you very much !!!!!!!!!!!!!! :)


Implementation of EV3Key - fixes #298.

Implements all the major features of the EV3Key class. Most of the features can be tested via the newly added EV3KeyTest unit test.
The implementation also passes the manual test submitted in the https://github.com/ev3dev-lang-java/ev3dev-lang-java/issues/298 .
There is quite a lot of code comments as well as javadocs to facilitate understanding and usage.

Merged


Admin Users - Order Management

Story: As an admin user, I want to view a list of all orders, so that I can find specific orders to review
Implementation

Story: As an admin user, I want to filter orders by status (Created, Processing, Cancelled, Completed), so that I can more easily find the orders I'm interested in
Implementation:

Story: As an admin user, I want to view details of a specific order, so that I can review it and update its status
Implementation

Story: As an admin user, I want to change the status of the order (Created -> Processing, Processing -> Cancelled || Completed), so that others will know what stage of the process the order is in
Implementation:


Fix for Segfault seen in hipMemcpyDtoD [SWDEV-227444]

System where Peer2Peer access is not enabled hipMemcpyDtoD & hipMemcpyPeer throw exception. Added a fallback mechanism which will be slow but complete the copy.

Exceptions are not for message passing, and this is needlessly slow and verbose. Again, it's unclear if HIP ever handled this, but if it did the right thing is to call hsa_memory_copy on failure, at the point of failure and not after unwinding the stack.

HIP used to fallback to unpinned memory copy if peers is not enabled in D2D case. However I agree with Alex that we should throw exception and catch to resolve this. It should be something like if (res == HSA_STATUS_SUCCESS) <do_copy...> else <fallback_code>

I agree with @mangupta 's observation.  I went back through sync memcpy code history to verify the fallback path.  We used to call stream->locked_copySync, and in that call it would check canSeeMemory.  If memory wasn't visible, forceUnpinnedCopy=true would be passed to HCC's accelerator_view::copy_ext to force the use of the unpinned copy engine.  The unpinned copy engine would use two fixed-size, pinned staging buffers and cycle between them to get some overlap as it iterated over the copied memory.
https://github.com/RadeonOpenCompute/hcc/blob/96192de51d391c07bbeb38132790d867b3469540/lib/hsa/unpinned_copy_engine.cpp#L476-L564

Pardon, my history lesson wasn't needed.  I wasn't suggesting we copy/paste/reimplement the unpinned copy engine.  I agree with @mangupta 's suggestion.
In the sync copy path for D2D, when hsa_amd_agents_allow_access fails, the fallback should be called instead of throwing.  The fallback should be stream->locked_copySync like it was before.
Need to better understand whether the async path needs the new catch block.

LGTM


Code updated to SDK v2.1

Code refactored to dump more information
For details see the updated README.MD

Thank you sir.  Code merged.


Invalid Netkey Index after power reset in onoff client!! (IDFGH-5291)

Environment

Development Kit      :  ESP32-DevKitC
Module or chip used:  ESP32-WROOM-32U
IDF version              :  v4.4.0
Build System           :   idf.py
Compiler version     :   8.4.0
Operating System   :   Linux
Using an IDE?         :   No
Power Supply          :   external 5V

Problem Description
 Iam working on ble mesh and i have issue in sending message to server from client after power reset. Iam using esp32 example ble mesh node on/off client.
 I have modified onoff_client example by creating multiple elements and gpio interrupt for controlling server based on switch press.
 I can provision the node and control the led on the server node from client, It works fine. once I reset the board Iam unable to transmit message from client. Though netkey is stored in flash, Iam getting below error.

Debug Logs
<27>[0;31mE (12969) BLE_MESH: Invalid NetKeyIndex 0x0000<27>[0m<\r><\n>
<27>[0;31mE (12969) BLE_MESH: Failed to send client message 0x00008203<27>[0m<\r><\n>
<27>[0;32mI (12969) EXAMPLE: Generic client, event 1, error code -22, opcode is 0x8203<27>[0m<\r><\n>
<27>[0;32mI (12979) EXAMPLE: ESP_BLE_MESH_GENERIC_CLIENT_SET_STATE_EVT<27>[0m<\r><\n>
<27>[0;32mI (12989) EXAMPLE_NVS: Store, key "onoff_client", length 6<27>[0m<\r><\n>
<27>[0;32mI (12989) EXAMPLE_NVS: Store, data: 00 00 00 00 01 93 <27>[0m<\r><\n>

Did you enable persistent storage in menuconfig for ble mesh?

No I haven't enable persistent storage, Can you provide the path to enable in menuconfig.

Just use / to enable searching and search for persistent.
BLE_MESH_SETTINGS

Thank you, but If persistent storage is enabled in menuconfig device is not advertising!!

Then it may be different issue. I didnt try with v4.4, but with older idf version ble mesh worked to me.
Maybe try erase_flash, just in case.


Update log.lua

I encountered a massive slowdown caused by having lots of log.trace in the update function of a base entity class.
Even when the log level is set higher and the log does not output anything, the log function still does 4 allocations with string handing that get discarded immediately after.
This simple change doubled my framerate and should have no downside.
Please review, thank you.

After some thought I've decided I wasn't happy with the changes made after the 0.1.0 version and have reverted the master back to it. For this reason I won't be accepting the pull request as the current version shouldn't suffer from the issues this pull request fixes.
Regardless, thanks for submitting the pull request, had I not decided to revert the master it would have been merged.


Checkboxes do not show

Checkboxes do not show if I try to use them after adding text to the note.
OS: Win 10
Joplin version: Latest

Hi. This is how it looks. In the place of the usual box there is nothing. However, it can still be completed by clicking the empty space where the box would normally show up but I can not uncheck the box either.

Does it work when you disable all other plugins?

On 18 Oct 2021, at 13:48, Ihsank @.***> wrote:
I am using Windows 10.
Here is a screenshot of my plugins:
https://user-images.githubusercontent.com/89727118/137724609-bc5a46d8-460e-4c99-b243-06b02c556656.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/ajilderda/joplin-macos-native-theme/issues/30#issuecomment-945684380, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADW6DVQTICPIS3HUYHQ4ITUHQCRFANCNFSM5EJP32MA.

@Xindi7  Weird, there is no way for me to recreate your issue. If you provide some more information I can dig into this some more, else I'll close this issue eventually.


DOC: Fix import in scipy.io.wavfile.read sample code

DOC: Fix import in scipy.io.wavfile.read sample code
The following code gives an error of "AttributeError: module 'scipy.io' has no attribute 'wavfile'"
import scipy.io as sio
sio.wavfile

To fix it, I changed the import to scipy.io.wavfile. Consequently, since the sio definition no longer exists, I modifed the code that uses sio to use the name scipy.io directly.

LGTM, merged. Thanks @ziyaointl

Thanks @ziyaointl! If you'd like your name added to THANKS.txt, please make an entry here.


Updating azure trouble shooting guide

The current trouble shooting guide is not really very helpful. I've updated it with the latest troubleshooting knowledge base. I am hoping that we can make this the de-facto reference for support teams and hopefully we will add to it as we come across new issues.

@nizarq,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@nizarq : Thanks for your contribution to the Azure documentation! The author, @rboucher, has been notified to review your proposed change.

#sign-off

#hold-off

#sign-off


storage: track jmt keys by their keyhash

Closes #1647

I'm going to put this into #2032  directly instead.


counter2 Fix memory leak

#3330 missed one issue
I have tested this change and it all seems to work

Thanks!


Do not assume 'rspec' found on $PATH is suitable

It could be arbitrarily old, or the Ruby run time that is running thor :spec may have a more suitable rspec.

Doesn't this depend on rubygems being required?

I suppose so.
Otherwise, we'd need something like:
require 'rbconfig'
…
ruby = File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["RUBY_INSTALL_NAME"])
exec "#{ruby} -S rspec --color --format=documentation spec"


Can't set desiered trigger time

Alarmo Version
1.9.11
HA Version
2023.8.4
Bug description
After update from 1.9.10 to 1.9.11 there some problem to set mode trigger time with UI.

all modes, which had 1 minute trigger time with version 1.9.10,  with version 1.9.11 trigger time can be set between 5-60 seconds;
Home Mode which had 5 minutes trigger time with version 1.9.10,  with version 1.9.11 trigger time can be set between 5-60 minutes.

Any value can be set manually in file .storage/alarmo.storage
Steps to reproduce
Go to Alarmo->General->Modes and try to change Trigger Time
Relevant log output
No response

The change has been made on purpose.
You can click on the text next to the slider to switch between setting the time in seconds vs minutes.
Am I missing something?

Yes, switching between seconds and minutes works fine. The idea is great, but probably some help tooltip will not be superfluous.
Just a question before closing this issue.
After update, the alarm now activated also with the sensors do not included in the mode sensor list.  For example in home mode it triggers alarm from the entrance door sensor also, which is not in this mode list.  Should I try to clear Alarmo configuration and setup everything again?

After update, the alarm now activated also with the sensors do not included in the mode sensor list. For example in home mode it triggers alarm from the entrance door sensor also, which is not in this mode list. Should I try to clear Alarmo configuration and setup everything again?

#818

I released v1.9.12 which brings back the previous trigger time setting, hope it solves the issue for you.


Some inputs don't work on controller

Camera control as well as sprint/walk toggles don't seem to work.  Using wired XBOX controller

Enable controller input in the mod settings and ensure Steam Input is set to emulate a controller (not a keyboard/mouse).


X.0 is not int

Hello,
thanks you for this tool, but last changes have broken our CI
Regards to  https://github.com/jongracecox/anybadge/issues/27

Hi Krukov, I just wanted to say sorry for your CI breaking due to this bug, and thanks for your PR.  I see that this is used more widely now, and I will be much more cautious with testing going forward.  I may put out a release candidate for community testing before cutting final releases too.


Using UART0 on default pins

Answers checklist.

[X] I have read the documentation ESP-AT Programming Guide and the issue is not addressed there.
[X] I have used the latest released firmware or have updated my ESP-AT branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
I have modified factory_param_data to use UART0 on TX pin 1 and RX pin 3 (which is actually pins 31 and 30 on the ESP32-C3-MINI-1).  The menu config was modified to have the log output moved to USB.  The log output will stop just after the "ESP-ROM:esp32c3-api1-20210207", but I will see a single "Ready" coming out of the ESP32's UART0 TX port.  After that it seems like the ESP just hangs and never does anything.  It won't respond to AT commands.  I've tried everything under the sun with menuconfig options and/or menu config options.  NOTHING seems to make it run.  Even if I configure it wrongly to not use UART0, the ESP32 will panic and go into an infinite boot cycle.  I'd say it was an issue with trying to use UART0, but I've had success making a UART bridge between the USB and my MCU on UART0 just fine with IDF 5.2.1 on a separate project.  I'm about to give up, so I thought I'd submit a issue report from some possible assistance.  Perhaps it's something simple I'm missing or forgetting to modify?  Or it's an issue with IDF 5.0.6 using UART0.

Well apparently changing the param settings to this: PLATFORM_ESP32C3, MINI-1, TX:21 RX:20, 4, 78, 0, 1, 13, CN, 115200, 21, 20, -1, -1  fixes whatever was going on.  Things appear to be working now.


A reflection error when trying to set values on a pointer struct

 reflect: call of reflect.Value.FieldByName on zero Value when trying to save a value on a struct that is a pointer for example:
type BandsByRole struct {
	Foo     *Wrapper `bson:"foo"`
	Default *Wrapper `bson:"default"
}

type Wrapper struct {
  Bar BoolWrapper `bson: "bar"`
}

type BoolWrapper struct {
  Baz bool `bson:"baz"`
}

saving foo.bar.baz = true will throw the error

Oh @securingsincity that's just because you gotta instantiate the *Wrapper on the BandsByRole before setting it. What you're doing there is trying to set a value on a nil pointer that you haven't instantiated yet.
Sorry, I thought it was an issue with the diff tracker before but then I realized I already had a test for nil pointers and that was fine.


Min trust management for manual interface mode

In MANUAL mode thrust shouldn't be limited, i.e. this line should be removed:
https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_main.cpp#L1419
Now there is large 10% dead zone on thrust control in MANUAL.
Also description of the parameter should be corrected:
https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_params.c#L46

Minimum vertical thrust. It's recommended to set it > 0 to avoid free fall with zero thrust.

It's minimal vertical thrust in altitude controlled modes, i.e. all modes > MANUAL, but not MANUAL.

I've adjusted the title a bit to reflect the user interfacing discussion this is about, as its not a bug per se.

Adressed in https://github.com/PX4/Firmware/pull/2577 (when parameters are set accordingly).

Fixed in master.


Remove performance_test from rosdistro

Closes #42458

We normally don't modify EOL distros. I think removing a package may be an exception. I've asked in the OSRF slack.

Thanks @tfoote . I fixed the linting errors, and perhaps the JUnit error also. I should be able to slowly push this to a better place during the next several days.
At the end of the jobs, several emails are sent. For example:
https://build.ros2.org/job/Jdev__performance_test__ubuntu_noble_amd64/12/console
Sending e-mails to<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>How can we unsubscribe our personal email addresses from this list?

How can we unsubscribe our personal email addresses from this list?

The emails are an aggregate of the maintainers listed in the package.xml as well as any committers (from the git commits) who have committed to the branch under tests since the last successful build. Now that the build has gone green it should only be the package maintainers (with one email now saying it was successful to all the people who were notified in the past that it had failed,)  And if there's a regression in the future it will be to the committers with changes since the last successful build.
So you can control it by either adjusting the package.xml or changing what you use as your commit email.

@tfoote thanks for the explanation.
Now that it has gone green, what do I need to do here to update? I never really learned what this repo is for. Should I submit an MR to update version numbers to more recent tags?

If there's new content making new releases would be great.
To update a version here you should be running bloom to make a new release and it will automatically open the PR here when it's done for you with the new version. There's an overview here: https://docs.ros.org/en/jazzy/How-To-Guides/Releasing/Releasing-a-Package.html You'll be executing the subsequent releases section but I'd suggest reading through the other two for more context first. Bloom will make all the target platform specific tags in the release repos for you based on the tags that you point it at.
The only real thing to be managed directly here might be the source version field which should be the relevant branch for development in that rosdistro, and this is what the dev jobs will pick up on and test against each associated rosdistro.  And we usually recommend the doc version be the same as the dev branch such that you can fix documentation and it will get rebuilt without needing to make a new release.
So I'm going to close this. And bloom should open new PRs for new versions. And if you have different branches for development on the different rosdistros you could update those for each distro as is appropriate.

@tfoote thank you!

@tfoote I updated all of the versions, and the build farm has a new error:
https://build.ros2.org/job/Ibin_uJ64__performance_test__ubuntu_jammy_amd64__binary/542/
15:29:37 c++: fatal error: Killed signal terminated program cc1plus

It looks like the job is being killed? But i don't see a reason why. Any ideas?

Is this a compilation unit that uses a lot of memory? It might have been reaped by the oom killer.
The farm is busy at the moment and we don't hard enforce memory limits. So it out another parallel build might have run over allocation. It will retry automatically, but I've bumped it to accelerate it too.

@tfoote there's a good amount of template instantiation due to the wide variety of message types, so I would not be surprised if this is the case. Thanks for looking into it.


Gridsome serve results with 404

Hi, thanks for a great plugin.
Out of the box, after creating new project, gridsome serve shows the following content:
{"code":404,"message":"Could not find /"}

WLS 1, node 10.8
Any potential reason you can think of?

Not seeing that listed in the Gridsome CLI docs, maybe it's a deprecated command? I see it does work if you spin up the default project with gridsome create my-gridsome-site, so I really don't know what to say. I personally never used it, only used gridsome develop, which works fine 🤷♂

Thanks for the answer. :) Here's the answer I got from @hjvedvik:
The gridsome serve command is not deprecated :slight_smile: Just haven't documented it yet because it is very unstable and not meant to be used yet.

With this, we can close the issue until the command becomes stable and documented.


Update azure-stack-update-1902.md

Additional portal known issue included as identified by IcM 114243035

@efemmano : Thanks for your contribution! The author, @sethmanheim, has been notified to review your proposed change.

Looks fine, thank you. #sign-off


RuntimeError: (False, 'Unable to find more lines')

Load a file with 300k lines and got error
import numpy as np
import stl

stl_file = './000000_tumoredbrain.stl'
# Load the STL file
stl_mesh = stl.Mesh.from_file(stl_file, mode=stl.Mode.ASCII)

# Extract vertices and faces
vertices = stl_mesh.vectors.reshape(-1, 3)
faces = np.arange(len(vertices)).reshape(-1, 3)

If I don't set the mode, it will get too large error.
https://github.com/wolph/numpy-stl/issues/143

Let's try a forced binary mode in that case:
mesh = stl.Mesh.from_file(filename, mode=stl.Mode.BINARY)

still the same error "AssertionError: File too large, got 757086002 triangles which exceeds the maximum of 100000000".
the stl file is like this
solid Visualization Toolkit generated SLA File
 facet normal -0.26266389071378027 -0.066439483325182305 -0.96259725512312888
  outer loop
   vertex<PHONE_NUMBER>6484375<PHONE_NUMBER>8164062 3.6938681602478027
   vertex<PHONE_NUMBER>7724609<PHONE_NUMBER>9296875 3.8507239818572998
   vertex<PHONE_NUMBER>9570312<PHONE_NUMBER>4492188 3.8760507106781006
  endloop
 endfacet
 facet normal -0.084717307155078608 -0.20353720186408453 -0.97539509191185236
  outer loop
   vertex<PHONE_NUMBER>7724609<PHONE_NUMBER>9296875 3.8507239818572998
   vertex<PHONE_NUMBER>6484375<PHONE_NUMBER>8164062 3.6938681602478027
   vertex<PHONE_NUMBER>6357422<PHONE_NUMBER>6621094 3.7894506454467773
  endloop
 endfacet
.....

Hello, can I please unsubsidized? Thank you

@wolph Here it is:)
https://uni-duisburg-essen.sciebo.de/s/HeShw1G4da15OOZ/download?path=%2F&files=000000_tumoredbrain.stl

@alsalihi In that case you might be logged in with the wrong user/email address. If you're logged in correctly you should have this button:

If that doesn't work than I recommend contacting github support, it's not something I can change for you.
@xnuohz I've tried to open your file and I have no issues. Can you try downloading it again? Perhaps it got damaged during download?
After adding this to your script:
print(stl_mesh)
print(vertices)
print(faces)

I get these results:
<Mesh: b'Visualization Toolkit generated SLA File' 225344 vertices>
[[127.28119   148.4899      3.6938682]
 [126.85122   147.91718     3.850724 ]
 [126.60086   148.54001     3.8760507]
 ...
 [127.52576   136.14986   149.16902  ]
 [126.96575   136.04405   149.13438  ]
 [127.428795  135.67447   149.28871  ]]
[[     0      1      2]
 [     3      4      5]
 [     6      7      8]
 ...
 [676023<PHONE_NUMBER>25]
 [676026<PHONE_NUMBER>28]
 [676029<PHONE_NUMBER>31]]

If that still doesn't work than there might be some other issue. Here's the start of the file hash for me so you can verify it's integrity:

Thanks, I'll try it again!


Feature/responsive search results

Description
As a user the landing card result page will be responsive to my screen size.
I implemented an object in the gutter property of row for responsive grid spacing for the articles that are returned as cards. I also over-rode the default setting of start for justification to match the current Figma wireframes showing the results displayed centered.
video
Fixes # (issue)
Prior to responsive implementation the card results were stacking upon each other on smaller screen widths.
Type of change
Please delete options that are not relevant.

[ X ] New feature (non-breaking change which adds functionality)

Checklist:

[ X ] My code follows the style guidelines of this project
[ X ] I have performed a self-review of my own code
[ X ] I have removed unnecessary comments/console logs from my code
[ X ] My changes generate no new warnings
[ X ] I have checked my code and corrected any misspellings
[ X ] No duplicate code left within changed files
[ X ] Size of pull request kept to a minimum
[ X ] Pull request description clearly describes changes made & motivations for said changes

Docs re: AntD's grid and gutter
@sarahdherren this looks good and follows best procedures. Your video helped to give more context. I've linked the docs in case anyone needs to see them in greater depth.

I neglected to put the url into the url parenthesis - great catch! thank you, it works now


printf: add fflush(stdout) at the end

Some platforms (Windows in our case) seem to need this.

Can you say a bit more why this is required?  What are the symptoms before this change, and how does the change fix them?
I know the printf tests do some odd things with stdout, but the tests themselves (specifically, doTest) also have calls to fflush(stdout).  Are we missing a call somewhere in doTest?  Or, is there some reason why we still need this additional call in the test main function for some reason?

@lakshmih
Are you seeing behavior similar to https://github.com/KhronosGroup/OpenCL-CTS/issues/1010 that you are trying to fix with this change?

@nikhiljnv  Not sure it is the same issue but essentially we don't get output from the print_results function in testHarness.cpp that prints the cumulative pass/fail result without the fflush.
@bashbaug The individual doTest messages do get flushed but it is the final pass / fail from the harness (see above) that is missing.

we don't get output from the print_results function in testHarness.cpp that prints the cumulative pass/fail result without the fflush.

Perhaps it makes more sense to move the fflush into the harness's print_results function then?

Merging as discussed in the November 26th teleconference.


Add Starlight types to defineEcConfig, export StarlightExpressiveCodeOptions

Description

Adds Starlight-specific types to the defineEcConfig function and exports StarlightExpressiveCodeOptions. Both can be imported from @astrojs/starlight/expressive-code.

This provides Starlight types and IntelliSense support for your Expressive Code configuration options inside an ec.config.mjs file. See the Expressive Code documentation for more information.

It is documented on the EC website, including examples that show usage of the function. A majority of users will never need this as most parts of the config are serializable. Only advanced users who know plugins or advanced configurations through the EC website will run into the scenario where the Code component tells them that they need to move their EC config to the file.
The EC website contains examples which use the function, and I included the full Code component error message to ensure it pops up when using the search function: https://expressive-code.com/key-features/code-component/#using-an-ecconfigmjs-file


capstone: Add version 4.0.2

Added capstone.json in the bucket

[x] I have read the Contributing Guide.

/verify

Error


Only rewrite unit files when outdated

Compare the timestamps of target Unit file and the source Unit file, and skip the Unit remapping and writing if the target Unit file is newer than the source Unit file.
This PR addresses https://github.com/lyft/index-import/issues/6

I think I have a need for this now. @xianwen do you plan to pick this back up any time soon?

Hi, @kastiglione, happy new year!
Yes, I'll take a stab at addressing this these few weeks.

Hi, @kastiglione:
All comments are addressed. PTAL when you got a chance.
Thanks!

@xianwen looks like you'll need to rebase before we can merge.

Thanks for coming back to it.

@kastiglione, merge conflict resolved :)

I'll try this out on Wednesday.

ok, looking at this today!

I believe this may not help all use cases, particularly for Bazel and Buck. It depends how you integrate with Xcode.
Since the timestamp check is based on the outputFile, which is the path to the Xcode object file. This is where Xcode puts the object file that corresponds to any given source file. However, Bazel (and I presume Buck) do not write their object files into DerivedData.
For this to work, external build system integrations would have to copy object files from their build directories, into Xcode's build directory (ie DerivedData).
What do you think about instead comparing the time stamps of the input unit files, to the outputs. If the input unit file is not newer than an existing file at the output path, then we could skip writing reading->remapping->writing that unit file. This would improve performance for incremental imports.

also very sorry this took me forever to reply too, I love the idea

Since the timestamp check is based on the outputFile, which is the path to the Xcode object file. This is where Xcode puts the object file that corresponds to any given source file. However, Bazel (and I presume Buck) do not write their object files into DerivedData.

The timestamp check is actually just based on the two unit files. The output filename is only used to generate the destination unit filename. The timestamp check is based on the two unit files:
https://github.com/apple/swift-clang/blob/b4c4d68d76e1432032a930efade53a406e1a3c70/lib/Index/IndexUnitWriter.cpp#L219-L253
I ran this locally and it reduced a 22 second import to a 10 second import.

thanks for clarifying that @brentleyjones. I misinterpreted that API, the name alone sounds like the object file is involved.

Inlining the check, and not creating a IndexUnitWriter, reduced the time down to 5 seconds for me. About 2 seconds for cloning records and 3 for checking timestamps.

yeah when you showed the numbers my instinct was that it could be optimized to avoid more work

@DavidGoldman has also talked parallelizing along unit files instead of along indexstores. That would also help the perf.

seems like it's safe to merge this then

@kastiglione thoughts on getting this merged / released?

@segiddins I'm going to review #46 first, I believe it subsumes this change.


TypeError: e is undefined in page preview

Describe the bug
When I edit a certain page on my site based upon netlify-templates/gatsby-starter-netlify-cms, I get the following error in the preview pane:
TypeError: e is undefined

To Reproduce

Go to https://quizzical-tesla-b8c593.netlify.com/admin
(Built from https://gitlab.com/aidalgol/netlify-cms-gatsby-preview-bug)
Create a Netlify Identity user through Netlify CMS
Log in to the Netlify CMS admin panel
Edit the page named "Landing Page"
The preview pane on the right-hand side will show the error described earlier.

Expected behavior
The page's component to render normally.
Screenshots

Applicable Versions:

Netlify CMS version: 2.9.7
Git provider: GitLab
OS: Debian 10
Browser version Firefox 60.8.0esr

CMS configuration
https://gitlab.com/aidalgol/netlify-cms-gatsby-preview-bug/blob/master/static/admin/config.yml

Your CMS preview template is getting raw data, the same as you see in your frontmatter.
So lines like this one, where you expect your photos (an array of string paths to images) to be objects with a childImageSharp property, will fail: https://gitlab.com/aidalgol/netlify-cms-gatsby-preview-bug/blob/master/src/pages/index.md
This sort of mismatch in expectations is generally the cause of preview failures in Gatsby sites. Gatsby runs on the server, so a lot of things your templates normally lean on won't be available in the preview pane.

Ah, that makes sense.  Thanks to your information, I was able to fix the component under the preview.
Why was the error complaining about a variable e?  Is it because Netlify CMS runs from minified JS?

Yep, exactly.
Sent with GitHawk

Is there anything I can do in future to get a more useful stacktrace, such as running a local dev build of Netlify CMS?

It's better running locally, but still goes to the built es modules rather than source. Very readable, not minified.
Sent with GitHawk


On teleport, pre-load information

When a player teleports to a different group, pre-load their information for the new group. This should hopefully make the inventory switch seem a little faster and more seamless to the user.
Perhaps storing the information in a PWIPlayer (or whatever I end up naming that) and setting the information from that.

Some thoughts I had the other day:
On teleport, we have the 'to' location, so we can see there if the player is going to a different group. That only leaves guessing the correct GameMode that they will be in after they get there. If PWI is set to manage GameModes, then this is easy; just look at the group's default. If another plugin is managing that.... Then I don't have a solution yet. I suppose we could load ALL the saved GameModes for the new group, but that adds a bit of overhead; I'm not sure if it's worth it.


[SPARK-6052][SQL]In JSON schema inference, we should always set containsNull of an ArrayType to true

Always set containsNull = true when infer the schema of JSON datasets. If we set containsNull based on records we scanned, we may miss arrays with null values when we do sampling. Also, because future data can have arrays with null values, if we convert JSON data to parquet, always setting containsNull = true is a more robust way to go.
JIRA: https://issues.apache.org/jira/browse/SPARK-6052

Test build #28050 has started for   PR 4806 at commit 05eab9d.

This patch merges cleanly.

Test build #28050 has finished for   PR 4806 at commit 05eab9d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/28050/
Test PASSed.

@yhuai is this pr also dealing with one of the problems reported in #4729? Looks like it is. If so, can we solve the problem in the original pr? Or please suggest on it, instead of just making each sub-problem of it as new pr such as #4782 and this? It makes the original pr hard to manage and modify. Thanks!

Besides, I think that it is weird to manually set up the containsNull for JSON schema inference. Sampling should not be an issue because you can also argue that we may miss arrays with different column types.
So the main point is still the problem of inserting JSON data to parquet data source table. I did in #4729 just copy the schema of JSON data and modify its containsNull then use it for insertion, without actually modifying the schema of the JSON data.
Both solutions are working on the unit test. @liancheng @yhuai you can decide which one is more proper.

@viirya Making complex types in JSON relation always nullable could be more robust, and makes more sense for most common use cases. We don't want to get a schema with wrong nullability when we  happened to only sampled records without nulls. So this problem itself should be fixed anyway regardless of SPARK-5950.

Merging to master and branch-1.3, thanks!

I think your suggestion to completely remove nullablity may be considered if it is useless at all.

Yeah, we introduced it for potential optimizations, but seems that it's causing more troubles. We decided to ignore nullability in Parquet and JSON data sources because this seems to be making more sense for most scenarios, especially when dealing with "dirty" datasets.
However, completely ignoring nullability in Spark SQL also means that we lose part of the schema information, which affects data sources like Avro, ProtocolBuffer, and Thrift. Not quite sure whether this is a good idea for now...


Finished adding option to assert all 1d time-var variables are metadata

This feature can be enabled through the command-line tool with the '-1' or '--meta1d' options to 's2smake'.  Alternately, 'meta1d=True' option can be set in the 'create_specifier' function, or the 'assume_1d_time_variant_metadata' attribute of the Specifier can be set to True.

Whoa!  Need to update documentation about this new feature first.


use optops to specify tc dims

continuing with #3205. current HIP creates an incorrect pattern and uses hacks to make it work. no behavior change in the first commit, need some way to divide indices before can make the behavior actually correct
Later commits get the right hip pattern, almost ready for cuda TC!

not sure about tc=2 yet

lambda is unreadable. and why wouldn't you use the whole name of the op?

superceded #3282


Always Encrypted: Incorrect drop & create deployment step order when computed column is dropped as a part column encryption

SqlPackage or DacFx Version: 162.1.172
.NET Framework (Windows-only) or .NET Core:
Environment (local platform and source/target platforms): SQL 2022 Windows

Note: This only happens for AE. Based on the initial investigation, DacFx creates correct deployment order for drop and create function.
**Steps to Reproduce: **

Create a table with few columns -- Table1
Create a table Table2 with foreign key reference to Table1 and computed column referencing below function Func1
Create a function Func1 which references or uses Table2
Encrypt any column in Table 1

Expected: Column in table1 is successfully encrypted.
Actual:  Column encryption fails as it tries to drop the function Func1 before dropping the computed column in Table2.
DacFx generates the correct deployment step order but AE reorders the steps in function OrderStepsForAlwaysEncryptedWizardMigration as it need to run certain steps in single transaction.
In OrderStepsForAlwaysEncryptedWizardMigration, drop function is ordered before drop column referencing function.
Similarly, in OrderStepsForAlwaysEncryptedWizardMigration, step to add back the dropped column is before create function. This also cause the deployment to fail as it tries to add column reference the function which is not yet created.
Did this occur in prior versions?  If not - which version(s) did it work in?
(DacFx/SqlPackage/SSMS/Azure Data Studio)

@abhikum @dzsquared I am having this issue as well in plain old SQL Server Management Studio. Have you figured out a solution for this? I cannot add encryption to an existing table because of this.


typo fix (cycle-dom)

simple typo fix :)

Wow, can't believe those were there in the first place. Thanks


Update store loop exited while executing the tests

Describe the bug
---- index::delete_index::loop_delete_add_documents stdout ----
thread 'tokio-runtime-worker' panicked at 'Update store loop exited', meilisearch-http/src/index_controller/update_actor/store/mod.rs:251:13
thread 'index::delete_index::loop_delete_add_documents' panicked at 'assertion failed: `(left == right)`
  left: `500`,
 right: `202`: {"message":"Internal error: panic","errorCode":"internal","errorType":"internal_error","errorLink":"https://docs.meilisearch.com/errors#internal"}', meilisearch-http/tests/index/delete_index.rs:36:9

To Reproduce
Steps to reproduce the behavior:

Go to the MeiliSearch repository
Just do a cargo test

MeiliSearch version: v0.21.0, even just main.
Additional context
I am on macos on an Apple M1 machine.

I am working on a fix for this.

Thanks Marin, this bug fix is not expected for v0.22.0 anyway but for v0.23.0, so take your time

Need a redesign of the update store to solve this issue https://github.com/meilisearch/MeiliSearch/issues/1679
I remove it from v0.23.0 Milestones

Should be solved in v0.25.0 then!
I did not succeed to reproduce.
@Kerollmops can you check again on your machine (launching cargo test 3-4 times)?

Seems to be fixed on the latest commit of the main branch ea0a5271.


Push the contents of the starter kits into their respective repos.

This PR checks out the starter kits, pulls the contents of their individual directories in the main lit repo into the root of their individual repos, and commits / pushes the new content to main. This process is only gated on whether or not there has been any change in a starter kit's directory - the push does NOT depend on (e.g.) a version bump.

[x] Merge #2516

Part of the work for https://github.com/lit/lit/issues/2248.

Could we test this by pushing to a different branch than main?

These actions need some kind of condition to be triggered on. Currently, they'll run every time this workflow runs, which means during both the "make the version PR" and "publish packages" phases. I'm looking for a decent way to detect when its being run in the "publish packages" phase but, AFAICT, changesets/action only sets published to true if a non-zero number of packages were published - i.e. it doesn't make the "make the version PR" and "publish packages" phases distinguishable if zero packages were published. This might be good enough for our purposes but it would be nice not to have these pushes blocked on some other package having publishable changes.

Maybe these shouldn't be tied to releases? They might fit better in a workflow that doesn't have any automatic triggers.

Or, maybe they should be in a workflow that automatically triggers on every push to main since the starter kits aren't versioned.

Thanks for taking the time to review!


How to build the python package after building LightGBM (MPI version) from source?

Hi,
I have just built the MPI version of LightGBM and now I would like to build the Python package using the library that I just built.
Is this possible or will building the Python package again build LightGBM instead of using the library that I provide?
This is somehow not obvious from the documentation.
Best regards
Sam

Thanks for using LightGBM!
If you've built lib_lightgbm.so from source, you can use it in the Python package by running the following.
cd python-package
python setup.py install --precompile

As described in https://github.com/microsoft/LightGBM/tree/master/python-package#install-from-github.

@jameslamb Thank you for your help. This is exactly what I was looking for.
Sorry for overlooking it in the documentation.
Best regards
Sam

No problem! It's easy to miss, there is a lot of documentation there.
Thanks for using LightGBM 👋


feat(pb): update LIST Projects API

Issue #, if available: GALI-1739
Description of changes:
Updated the List Projects API to support pagination and prepare for dynamic Authz integration to enforce project as a boundary.
Integ tests to come but I extensively tested the API manually through postman
I also did a small refactor to reuse pagination code and custom object types
Checklist:

[x] Have you successfully deployed to an AWS account with your changes?
[x] Have you written new tests for your core changes, as applicable?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@kpark277, @maghirardelli, and I spoke and decided server-side pagination (instead of database pagination) will have to work until we can figure out a better solution.


Icicle Source REPL

REPL for Icicle surface language.
Commands:

:load <filepath>
:set show-type -- show the expression type
:set show-core -- show core output
:set show-eval -- show evaluated result

Given an Icicle expression, e.g. feature salary ~> sum value, show the result type and core output -- plus the result value if a data set is given as well.

:+1:

@tmcgilchrist as in more widely used --> less widely used as you move down the page, as a rule of thumb?

@michaelneale not sure I follow.
I was suggesting a form something like this https://github.com/ambiata/sanction/blob/master/src/Sanction/Control.hs#L10-L20

I usually just have 2 groups: external libraries and local modules.

yeah, Icicle is pretty much all divided into local modules followed by other stuff, but I'll know better next time


Example implementation of API token validation

Hopefully fairly human readable logic for how the Dataspace signed API Tokens in the X-API-Key header can and should be used. Should contain sufficient links to documentation, as well as some guidance for how to adjust for production use.

When running poetry install with a recent version of poetry you get greeted by this warning, that could be fixed by doing what's suggested when using it only for dependency management:
Warning: The current project could not be installed: No file/folder found for package ioxio-dataspace-example-productizer
If you do not want to install the current project use --no-root.
If you want to use Poetry only for dependency management but not for packaging, you can disable package mode by setting package-mode = false in your pyproject.toml file.
In a future version of Poetry this warning will become an error!

I know it's not part of this PR really, but do you think we at the same time could do the following small other updates to this repo as well:

Update the build-backend in build-system in the pyproject.toml? See https://python-poetry.org/blog/announcing-poetry-1.1.0/#standalone-build-backend for more details. I've tried to ensure to fix this in all our repos when I spot it.
Update PyJWT and FastAPI to latest versions; I think they got new releases while you were working on the PR.
Ensure the pre-commit hooks are at the latest version.


Error in prcomp.default(t(abundance), center = TRUE, scale = TRUE) :    cannot rescale a constant/zero column to unit variance

Hello,
I had posted in the past about a previous issue, but it has now been resolved.
I do have a new issue in making metacyc pca plots.
I originally was able to make PCA plots with all my data, but there was a certain set of samples I wanted to focus my analysis on, and so I modified my data files and have been doing analysis with them. I can make error bars and heatmaps, but the PCA is giving me trouble.
Here is my code
` setwd("/Users/mayagabitzsch/Desktop/microbiome2")
library(tidyverse)
library(ggh4x)
metcyc_abundance_file <- "path_abun_unstratroots.tsv"
metcyc_abundance_data <- read_delim(metcyc_abundance_file, delim = "\t", col_names = TRUE, trim_ws = TRUE)
view(metcyc_abundance_data)
metadataM<- read_delim(
"~/Desktop/microbiome2/MetadataROOTS.txt",
delim = "\t",
escape_double = FALSE,
trim_ws = TRUE)
view(metcyc_abundance_data)
view(metadataM)
#START HERE
metacyc_daa_results_df <- pathway_daa(abundance = metcyc_abundance_data%>% column_to_rownames("pathway"), metadata = metadataM, group = "ENV_ALT", daa_method = "ALDEx2")
Annotate the results
metacyc_daa_annotated_results_df <- pathway_annotation(pathway = "MetaCyc", daa_results_df = metacyc_daa_results_df, ko_to_kegg = TRUE)
feature_with_p_0.05 <- metacyc_daa_results_df %>% filter(p_adjust < 0.05)
pathway_heatmap(abundance = metcyc_abundance_data %>% filter(pathway %in% feature_with_p_0.05$feature) %>% column_to_rownames("pathway"), metadata = metadataM, group = "ENV_C")
pathway_pca(abundance = metcyc_abundance_data %>% column_to_rownames("pathway"), metadata = metadataM, group = "ENV_ALT")
`
Before I removed the samples I did not want to include in the analysis, I could make the PCA plots just fine, but now I get the error
Error in prcomp.default(t(abundance), center = TRUE, scale = TRUE) :
cannot rescale a constant/zero column to unit variance
I have tried multiple different groupings and I get the same error each time. I have also attached the meta data and Metacyc file here:
path_abun_unstratroots copy.txt
MetadataROOTS copy.txt
Also, one quick question about the annotation of KO abundance,
My samples are taken from the roots of plants, and for my error bars I have human diseases occur on one graph.
fixedA.pdf
How do these annotations work? I just think that is a strange group to have given the type of samples, and only occurs on the grouping ENV_A

Dear mayagabitzsch,
I hope this email finds you well. I am writing in response to your recent inquiry regarding an issue you encountered while attempting to generate Metacyc PCA plots and a question about the annotation of KO abundance.
Regarding the issue with the PCA plots, it appears that after modifying your data files to focus your analysis on a specific set of samples, you encountered an error message stating, "Error in prcomp.default(t(abundance), center = TRUE, scale = TRUE): cannot rescale a constant/zero column to unit variance." This error typically occurs when there are columns in the abundance data that contain constant or zero values, which prevents rescaling to unit variance.
To address this issue, I suggest applying the following code snippet to exclude rows with all-zero values before performing the PCA analysis:
abundance_data <- read_delim(
  "/Users/apple/Microbiome/ggpicrust2总/ggpicrust2测试/ggpicrust2_test/mayagabitzsch/path_abun_unstratroots.copy.txt",
  delim = "\t",
  col_names = TRUE,
  trim_ws = TRUE
)

metadata <- read_delim(
  "/Users/apple/Microbiome/ggpicrust2总/ggpicrust2测试/ggpicrust2_test/mayagabitzsch/MetadataROOTS.copy.txt",
  delim = "\t",
  escape_double = FALSE,
  trim_ws = TRUE
)

pathway_pca(abundance = abundance_data %>% column_to_rownames("pathway") %>% filter(rowSums(. != 0) > 0), metadata = metadata, group = "ENV_ALT")

Please make sure to modify the file paths in the code snippet to reflect the appropriate locations of your data files. This adjustment should help resolve the error by removing rows with all-zero values from the analysis.
As for your query regarding the annotation of KO abundance, if you are observing human diseases in your error bars, it is possible that the KEGG database includes pathway classifications related to human diseases. These annotations are not specific to the sample type but rather reflect the comprehensive nature of the KEGG database, which covers various biological contexts. If you believe that annotations specific to your sample type would be more appropriate, you may consider using a database that aligns better with your research discipline for performing the annotations.
I hope this information proves helpful in resolving the issues you encountered and clarifying the annotation query. If you have any further questions or require additional assistance, please feel free to ask. I am here to help.
Best regards,
Chen YANG

Thanks so much for your help, I just have 1 last question for you, I have made these error bar graphs and the labels are not aligned correctly for some reason. No matter how I alter the PDF export size, many of my graphs have alignment errors. Here is one of them as an example
[
fixedC.pdf
](url)
Do you have any reccomendation on how to fix this? I also have very hard to read heatmaps
METACYC_HP_KEGG_A.pdf
Is there anyway I can get these heatmaps to be readable? or is the data set to large for heatmaps to be a good visual tool?
Thanks again

Dear @mayagabitzsch ,
Thank you for reaching out with your additional question regarding alignment issues in the error bar graphs and readability concerns with the heatmaps generated using ggpicrust2. I'll address each of your concerns separately.

Alignment Issues in Error Bar Graphs:
The misalignment of labels in your error bar graphs might be due to the relatively small number of pathways being visualized. To address this, you can manually adjust the alignment using Adobe's Illustrator software or any other vector graphics editor. By opening the PDF file in such software, you can make precise adjustments to the label positions to ensure proper alignment.

Readability of Heatmaps:
If you are experiencing difficulties in reading the heatmaps, there are a few steps you can take to improve their readability. Firstly, I would recommend referring to the pathway_heatmap section of the ggpicrust2 tutorial, specifically the link provided here. This section provides guidelines on how to filter the pathways before generating the heatmap. By selectively including relevant pathways and excluding less informative ones, you can enhance the clarity and interpretability of the heatmap.

Additionally, you can try adjusting the color scale used in the heatmap to improve visibility. Experimenting with different color palettes or adjusting the color contrast can make a significant difference in the readability of the heatmap. You can refer to the heatmap documentation in ggpicrust2 for further details on customizing the color scale.
I hope these recommendations help in addressing the alignment issues in the error bar graphs and improving the readability of the heatmaps. If you have any further questions or require additional assistance, please feel free to let me know. I'm here to support you.
Thank you for your patience and for being a valuable user of ggpicrust2.
Best regards,
Chen


⚠ Create own MarklogicApiClient instance and set user agent

Changes how we handle environment variables a little; check staging before deploy to live.

 Add user-agent to Ingester, PUI and EUI

Codecov Report

Merging #879 (f3d6802) into main (19ab7e8) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #879   +/-   ##
=======================================
  Coverage   93.72%   93.72%
=======================================
  Files          33       33
  Lines        1418     1419    +1
  Branches      226      226
=======================================
+ Hits         1329     1330    +1
  Misses         69       69
  Partials       20       20

Files Changed
Coverage Δ

judgments/feeds.py
92.10% <100.00%> (ø)

judgments/tests/test_utils.py
100.00% <100.00%> (ø)

judgments/utils.py
91.15% <100.00%> (ø)

judgments/views/advanced_search.py
94.44% <100.00%> (ø)

judgments/views/browse.py
92.59% <100.00%> (ø)

judgments/views/index.py
87.50% <100.00%> (+0.83%)
:arrow_up:

judgments/views/results.py
64.58% <100.00%> (ø)

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


Fix SDL2 platform losing events when using multiple windows/views

Summary of the PR
Currently the SDL windowing platform loses events when using multiple windows.
Flow of the bug:

1st Window DoEvents

Previous events cleared
Platform DoEvents

SDL PollEvent
Polled events dispatched to every window

Events handled for this window

2nd Window DoEvents

Previous events cleared (and everything we just collected)
Platform DoEvents

SDL PollEvent (likely gives nothing since we just polled already)
Polled events dispatched to every window

Events handled for this window (there are none)

The solution in this pr is to add a new (internal) AfterProcessingEvents method to (the internal) ViewImplementationBase, which performs the clearing of the event queue. Clearing at the end of DoEvents is too early for the input module.
I also took the liberty of consolidating event removal logic. I thought its best to be safe around free handling for SDL_DropEvent.
Related issues, Discord discussions, or proposals
Fixes https://github.com/dotnet/Silk.NET/issues/1550
Further Comments
Feedback/reshaping welcome.
Maybe AfterProcessingEvents -> ClearEvents? and remove non-virtual ClearEvents from sdl view.
Or maybe this multi-poll logic is too cursed already? idk

@dotnet-policy-service agree

Wow! Thank you so much, haven't even reviewed it yet but I'm excited to! Before I do, do you think this could knock off #350 as well?

I tried the zip attached in that issue seeing the same behavior both for SDL & GLFW now.
The "When resizing a window events still get mixed up." part is definitely an API usage issue, but I'm not a GL expert. There's nowhere in the code that specifies which window/gl context to use. If you swap the order of the IWindow.Initalize calls the other window gets drawn to and the centering makes sense.
Adding some names and comments makes it more clear what's happening.. try this if you want
ReproIssue350.zip

You're right, my example project was missing a MakeCurrent call to ensure the Skia surface gets bound to the content window and not the blank window. Thanks for pointing that out. Did some more tests and can confirm that the events get routed correctly now. Thanks so much!


ParseLiveQuery.js : currentUser.sessionToken ??

Hi,
File: ParseLiveQuery.js  on line 75
return ParsePromise.as(currentUser ? currentUser.sessionToken : undefined);
should be
return ParsePromise.as(currentUser ? currentUser.getSessionToken() : undefined);
thanks

Thanks for catching this. I've given the ParseLiveQuery code some cleanup to fix this, and bring it closer to the rest of the codebase, coding style-wise. I've also added tests for some standard cases. I'll attempt to release it as 1.8.6 later.

ok, good work
thanks


[#5672] Adds a function to warmup connection cache

Codecov Report

Merging #5686 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #5686      +/-   ##
==========================================
- Coverage   40.58%   40.57%   -0.01%
==========================================
  Files        2908     2908
  Lines       87407    87408       +1
  Branches    11549    11550       +1
==========================================
- Hits        35475    35468       -7
- Misses      48857    48861       +4
- Partials     3075     3079       +4

Impacted Files
Coverage Δ

...p/pinpoint/common/hbase/ConnectionFactoryBean.java
36.11% <0%> (-1.04%)
:arrow_down:

...vercorp/pinpoint/rpc/packet/ClientClosePacket.java
55.55% <0%> (-11.12%)
:arrow_down:

...p/pinpoint/rpc/stream/StreamChannelRepository.java
75% <0%> (-10%)
:arrow_down:

.../profiler/sender/StandbySpanStreamDataStorage.java
72.88% <0%> (-3.39%)
:arrow_down:

...rc/main/java/com/navercorp/pinpoint/test/Item.java
70% <0%> (-3.34%)
:arrow_down:

...tor/metric/datasource/DefaultDataSourceMetric.java
75% <0%> (-3.13%)
:arrow_down:

...ollector/cluster/zookeeper/ZookeeperJobWorker.java
81.01% <0%> (-1.39%)
:arrow_down:

...point/rpc/client/DefaultPinpointClientHandler.java
72.4% <0%> (-0.65%)
:arrow_down:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
79.92% <0%> (-0.36%)
:arrow_down:

...om/navercorp/pinpoint/rpc/codec/PacketDecoder.java
59.57% <0%> (+2.12%)
:arrow_up:

... and 2 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 a59fd64...10e2da5. Read the comment docs.


Add support for Rails 6.1

We need this gem to support Rails 6.1 as part of our upgrade.

To test this, I

created an new empty Rails 6.1.3 project and added this gem to its Gemfile
created a basic user model with a few string fields
ran bin/rails console and then inserted a new user
call User.all.as_gql to make sure it still works


Authorization ?

Hi,
In first place thanks a lot for node-odata. It's really handy and has saved us a lot of time!
I would have a question regarding authorizations. For express, we use acl (https://www.npmjs.com/package/acl) to implement authorizations, in the moment we define routes.
Considering that node-odata removes the need of manually defining routes, do you have any idea how I could implement authorizations on top of node-odata.
Any idea is welcome!
Thanks.

Hi @emathias ,
You should use resources.auth(...) for authorizations. Here is document for this.
It's a synchronize function, so you should cache your authorization when app start.
You can add any Express middleware like this, because node-odata is based on express, I think the acl will be work well.
Thanks.


Can Orion handle training a 2TB dataset?

Orion version:latest
Python version:3.11
Operating System:Linux

Description
In my case, the training data is very large and cannot be loaded into memory all at once. It seems that time_segments_aggregate, SimpleImputer, MinMaxScaler, and rolling_window_sequences in the pipeline all require the data to be stored in memory. Can Orion handle training a 2-10TB dataset?

Hi @bigmisspanda – thank you for your question!
You are right, all the preprocessing primitives require to be in memory.
One work around can be to replace these primitives with your own scalable functions and then start the Orion pipeline from the modeling primitive directly. Another can be to chunk up your training data and training the pipeline on each chunk.

Hi @bigmisspanda – thank you for your question!
You are right, all the preprocessing primitives require to be in memory.
One work around can be to replace these primitives with your own scalable functions and then start the Orion pipeline from the modeling primitive directly. Another can be to chunk up your training data and training the pipeline on each chunk.

Yes, I understand what you mean. My plan is to use TadGAN to train an anomaly detection model. My data comes from power equipment sensors and has over 20 features. If I train in chunks, the MinMaxScaler results will not be globally distributed. I referred to the information in this document,

and my plan is: 1. To use MinMaxScaler's partial_fit for global calculations on the dataset in advance. 2. To split the data into chunks. 3. To remove the MinMaxScaler from the third step in the primitives. 4. To train the model. Is my approach feasible? Can TadGAN perform similar partial_fit training?

Your plan looks logical to me!
I'm not too familiar with what partial_fit does under the hood, however, calling fit on multiple times on different data chunks seems analogous to their concept of "incremental learning".


Test/mkldnn batch norm op

Description
Add tests for MKLDNN batch norm operator The creates ndarray inputs and then runs it separately through the native CPU BN operator and MKLDNN BN operator. Creating the BN test requires a different helper as the BN operation writes to the input, so identical arrays of equal value must be created and then ran through the native / MKLDNN operators.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Add tests for MKLDNN BN operator

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@azai91 Thanks for your contribution!
@mxnet-label-bot [pr-awaiting-review , MKLDNN]
@mseth10 Could you please take a look into PR?

@TaoLv please take a look if there's conflict with our latest upgrade for the convolution.

@TaoLv please review

@azai91 It will be helpful if you can please add more details to description explaining why tests where failing earlier, and how did you fix it.

@mseth10 @anirudh2290 pulling you guys in for a review...

@Vikas89 added

Is it possible to separate operator change and unit test into two PRs?

@TaoLv https://github.com/apache/incubator-mxnet/pull/13625

@azai91 can you please resolve merge conflicts.

@azai91 - can you please rebase?


Add Spark USING and OPTIONS

Description & motivation

I have the following external table:
CREATE TABLE config (
  item_no                        INTEGER,
  shopping_cart_no               SHORT,
  order_location_no              INTEGER
)
USING CSV
LOCATION '/mnt/../.csv'
OPTIONS (
  'SEP'='|',
  'HEADER'='TRUE',
  'timestampFormat'='yyyy-MM-dd HH:mm'
);

Checklist

[x] I have verified that these changes work locally
[x] I have updated the README.md (if applicable)
[x] I have added tests & descriptions to my models (and macros if applicable)

How can I test this easily locally? Any pointers?


Add --replace-input flag for saving as a same name.

Hi @Sparticuz ,
Many thanks for maintaining this repo. It's been a great help.
Here I would like to request a feature to add --replace-input flag to allow users to save password-protected files with the same name so that we don't have to delete old password-less files.
here is the error that I've got,
UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "
qpdf: input file and output file are the same; use --replace-input to intentionally overwrite the input file

code snippet:
      setTimeout(() => {
        try {
          const passProtectedPDF = async (): Promise<any> => {
            console.log('[*] into passProtectedPDF!');
            const pdf = {
              input: pdfFile,
              output: pdfFile,
              password: getHCNo,
            };
            await qpdf2.encrypt(pdf);
            console.log('[*] end of passProtectedPDF!');
          };
          console.log('[*] passProtectedPDF called!');
          resolve(passProtectedPDF());
        } catch (err) {
          console.log(err);
        }
      }, 1000);

Thanks for the issue! I've released this in v4.1.0.


Limited topics available to the user PC compared to Pi.

Please provide the following information:

OS: (e.g. Ubuntu 22.04)
ROS Distro: (e.g. Humble)
Built from source or installed: Installed

Expected behaviour
Both user PC and the Pi returning all available topics published by Create 3 and Pi.
Actual behaviour
ros2 topic list returning only a limited set of topics compared to pi. I have attached a screenshot for your reference. I followed the instructions under Simple Discovery to setup the communication between the bot and the user PC.

To Reproduce
Setup https://turtlebot.github.io/turtlebot4-user-manual/setup/simple_discovery.html
Verify running ros2 topic list in both user PC and Pi to see that the topics accessible match.

A snapshot of the log for your reference.

@ramakrishnasakethi I see that you have entered a number of issues that seem inter-related. Are they all on the same robot? If you don't have the create3 connected to wifi then simple discovery will not work properly and you will not be able to see all of the ros 2 topics from your computer. As such you will not be able to run nav.
If these are on the same robot then I can work through these issues with you but one at a time starting with getting the create3 connected to wifi. Taking them out of order may make some of the troubleshooting steps not make sense.

@hilary-luo I tried following the steps mentioned by you in #257

I could not find the robot listed as Create-[xxx] in the Network Manager after pressing and holding buttons 1 and 2 for a few seconds. The light ring has the spinning blue light though.
The robot starts to make a maneuver that has not been mentioned by you in the procedure after pressing and holding the buttons 1 and 2 for approximately 4-5 seconds before the light ring turns spinning blue.

@ramakrishnasakethi Even if you were not able to connect through the create3 acess point, this still should have turned on the wifi connection of the create3. Assuming that was the only issue, you should be able to connect the create3 base to the internet now through the original method. (connect to the create3 webserver using the raspberry pi ip address and navigate to the connection page etc).
In regards to the fact that the robot started driving, that is fine, depending on how you pressed them or the mode that the robot is in it may do so. Individually those buttons are used for Turtlebot4 for docking and undocking as well.

Once I took those steps to enable wifi, it showed me my available wifi networks. Not the actual robot.

By it, do you mean the PC's network manager?

@ramakrishnasakethi Even if you were not able to connect through the create3 acess point, this still should have turned on the wifi connection of the create3. Assuming that was the only issue, you should be able to connect the create3 base to the internet now through the original method. (connect to the create3 webserver using the raspberry pi ip address and navigate to the connection page etc).
In regards to the fact that the robot started driving, that is fine, depending on how you pressed them or the mode that the robot is in it may do so. Individually those buttons are used for Turtlebot4 for docking and undocking as well.

I tried connecting the Create-3 through the original method now. It is the same like before. I see the following page after entering the Wi-Fi credentials and clicking on connect,

After 15 minutes, I opened the Create3 webserver in a different page and entered the connect tab and it seems as though I have to enter the credentials all over again,
´
Log file for your reference:
messages.txt

Ensure that you have closed all browser windows that are connected to the webserver and then please try to follow the instructions again (from the other page) and hold the buttons down until you get the spinning cyan light pattern as shown here: https://iroboteducation.github.io/create3_docs/hw/face/
Either you may not have held the buttons down long enough or perhaps having the webserver open through the raspberry pi maybe could have interfered.

What do you mean by computer's wifi manager?

Ensure that you have closed all browser windows that are connected to the webserver and then please try to follow the instructions again (from the other page and hold the buttons down until you get the spinning cyan light pattern as shown here: https://iroboteducation.github.io/create3_docs/hw/face/
Either you may not have held the buttons down long enough or perhaps having the webserver open through the raspberry pi maybe could have interfered.

An IP Address now appears on top of the create3 webserver when I open the connect tab, which was previously not the case. But I still am not able to connect to the robot to the network. A snapshot of the log corresponding to the failed attempt to connect to the network,

List of topics available enough to do mapping after connecting Create 3 to WiFi properly using solution provided here


Fix typo

Fixes #28331

@Potapy4 : Thanks for your contribution! The author, @spelluru, has been notified to review your proposed change.

Thank you @Potapy4
#sign-off


JavaScript: Formatting goes nuts with these settings

Type: Bug
.
VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:22:42.175Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-5960X CPU @ 3.00GHz (4 x 3000)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: unavailable_offraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
12.00GB (6.09GB free)

Process Argv
--crash-reporter-id aec6428d-8cff-448d-b3b8-b7bf7709edfc

Screen Reader
no

VM
50%

/duplicate of #192193

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Browser caching old app version

When deploying a new version, the browser still displays the old one cached

I made some tests and it actually seems the browser receives last version of the app by a simple page reload. No need to force cache invalidation

I made some tests and it actually seems the browser receives last version of the app by a simple page reload. No need to force cache invalidation


[REFACTOR] Exit for SIGPIPE signal without leaks

By setting up a signal handler that cleans and exits for SIGPIPE, we exit with the first write() to a broken pipe without trying over and over again.
To avoid memory leaks, allocations in builtins that have not been freed before a call to write() have to be safed into the shell struct so that they can be freed in the signal handler.

Also:

Use ft_bzero() to init shell struct to 0.
Shorten abort message.
Fix sa.sa_flags not matching with the function pointers.

Aahh it's fruststrating that the tester behaves differently in the GitHub Action environment...
I just cannot figure out why our minishell doesn't print the SIGPIPE error messages from external commands even though the signal handler for SIGPIPE gets reset to SIG_DFL.
I also cannot reproduce when bash prints them in the first place, because locally it never does even though the same version of bash is installed.

@LeaYeh Please check if the updates to the README about SIGPIPE are okay for you


Resolve issue while appending subscritptions when there is only 1 bin…

…ding

Can one of the admins verify this patch?

Ok to test

Updated the corresponding junit test for listQueueSubscribers

ok to test

retest this please


feat: Publish cerbosctl container

Adds configuration to publish cerbosctl as a container that can be
used in container orchestration environments.
Fixes #970
Signed-off-by: Charith Ellawala<EMAIL_ADDRESS>

Codecov Report

Merging #972 (34224d1) into main (bcae1a9) will increase coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #972      +/-   ##
==========================================
+ Coverage   54.80%   54.99%   +0.18%
==========================================
  Files         106      106
  Lines       11653    11653
==========================================
+ Hits         6387     6409      +22
+ Misses       4732     4712      -20
+ Partials      534      532       -2

Impacted Files
Coverage Δ

internal/engine/engine.go
65.44% <0.00%> (+0.78%)
:arrow_up:

internal/storage/index/builder.go
84.35% <0.00%> (+5.02%)
:arrow_up:

internal/compile/errors.go
55.55% <0.00%> (+15.87%)
:arrow_up:


Eye Icon

Something like that:

Yeah that's missing

I found it, search "show" and "Hide" icons


chore: categorize action creators by type

This is a better way to categorize the actions.

Now you can find all actions related to specific domain (e.g. entities or application) in single location.
It opens up possibilities for using component specific reducers

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Namespaced Storage

Scopes

@iammrjude #39

[x] AppOracle
[x] Factory
[x] Platform
[x] PriceReader
[x] StrategyLogic
[x] Swapper
[x] VaultManager

@JodsMigel #40

[x] VaultBase
[x] RVaultBase
[x] RMVault
[x] StrategyBase
[x] LPStrategyBase
[x] QuickswapV3StaticFarmStrategy
[x] FarmingStrategyBase
[x] GammaQuickSwapFarmStrategy
[x] CVault
[x] RVault

Description
The storage of each core contract must be formed using the Namespaced Storage pattern.
Need to refactor the contract state variables (and getters) to get rid of gaps. This will make contract upgrades more convenient and safer.
Also, in any case, it is more profitable for us to form the state in structures, pointers to which can be passed to libraries in order to save space in the main contract.
ERC-7201

Previously, upgradeable contracts used to have a __gap variable in storage between inherited contracts in order to reserve space for supporting new variables added between upgrades. But, in this new version storage locations are namespaced using ERC-7201 so that variables can be added without compromising previously stored variables.
-- Introducing OpenZeppelin Contracts 5.0

Base ERC7201 contract cant be implemented at this time while solidity has no generics. Read more  https://github.com/OpenZeppelin/openzeppelin-contracts/issues/4696

Job is done.
Now we are on namespaced storage, this will make it easier to reduce the size of contracts by transferring functionality to libraries.


OCL: [Brute Force Match]Optimize OCL BFM.

Remove unnecessary global/local dim for radius match.
Remove unecessary barrier.
Merge 1st and 2nd best searching of knn match.

Signed-off-by: Yan Wang<EMAIL_ADDRESS>check_regression=OCL
test_modules=features2d
build_examples=OFF

  FAILED  ] 1 test, listed below:
[  FAILED  ] OCL_BruteForceMatcherFixture_KnnMatch.KnnMatch/2, where GetParam() = (1920x1080, 32FC1)

@ilya-lavrenov Thanks for your information. I will check it.

@vbystricky I roll back cl kernel modification. Please help review. Thanks.

:+1:


fix: table view attribute cannot applied to element td on header and footer

Description
Fixed #6507
Supersedes #6511
Checklist:

[ ] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[x] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

@kenjis On PC office cant running all sign commit (rebase error), and now i am using export file key to home PC cannot sign gpg. How do I fix this? so that my key id on both pc can be used.

@ddevsr Export private/public keys and import the  keys.
How to export and import keys with GPG
https://linuxhint.com/export-import-keys-with-gpg/

@kenjis still same error

Okay, i am already import private yesterday. Public key soon
Pada tanggal Sel, 13 Sep 2022 05.13, kenjis @.***>
menulis:

@ddevsr https://github.com/ddevsr Export private/public keys and import
the keys.
How to export and import keys with GPG
https://linuxhint.com/export-import-keys-with-gpg/
—
Reply to this email directly, view it on GitHub
https://github.com/codeigniter4/CodeIgniter4/pull/6531#issuecomment-1244585962,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXIWASTAXVYUNUMDQBC7LUTV56TIRANCNFSM6AAAAAAQJ2WXJ4
.
You are receiving this because you were mentioned.Message ID:
@.***>