Flow 53 updates

All flow 53.1 updates needed.  Also did a general dependencies update.
Getting this released will allow us to stop ignoring it in material-ui, and stop upstream problems with that ignore in our apps.

Thanks, I will release it.


fix: deprecate utils params

Description
Currently, the jest-matcher-utils are getting passed around through the matchers to the assertions and need to be mocked in tests. This should be replaced with a single import of jest-matcher-utils
Problem Statement/Justification
N/A
Proposed Solution or API
N/A
Alternatives
No response
Additional Information
No response

:tada: This issue has been resolved in version 1.19.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Trait Bound Documentation without GILPool

I'm attempting to implement a Python interface to some Rust hardware driver code that was written against Rust hardware traits. For the python interface, the implementation of this trait needs to be via calls to Python - but the logic of the driver is, of course, written in Rust. This results in a lot of ping-ponging between Rust and Python, something that seems really hard to get right.
In the docs, there is this page on trait bounds, but it uses the Python::with_gil/GILPool API. I'm still not quite sure how that interacts with the new Bound API - but my issue/question is on how these docs change if we weren't to use the GILPool. i.e, we need to get a Bound into the trait.
I have some code that looks similar to the docs example, but with the instance of the PyObject for which we want to implement a Rust trait for inside another Rust struct that is generic on T which requires the implementation of that trait.
// ------ Foreign Rust Library Code

trait ForeignTrait {
    fn trait_method(&mut self) -> f32;
}

struct ForeignType<T: ForeignTrait> {
    inner: T,
}

impl<T> ForeignType<T>
where
    T: ForeignTrait,
{
    fn do_something(&mut self) -> f32 {
        let x = self.inner.trait_method();
        x * x
    }
}

// ----- My Python Wrapper Code

/// A newtype around an instance of a python class that has a method I want to use from rust
struct PyWrapper(Py<PyAny>);

impl ForeignTrait for PyWrapper {
    fn trait_method(&mut self) -> f32 {
        Python::with_gil(|py| {
            let obj = self.0.bind(py);
            let x: f32 = obj
                .call_method0("fn_that_returns_a_float")
                .unwrap() // We'll do real error handling at some point
                .extract()
                .unwrap();
            x
        })
    }
}

/// A "top-level" struct that I'll expose to Python
/// Basically just a surrogate for `ForeignType` as an FFI-shim
#[pyclass]
struct TopLevel(ForeignType<PyWrapper>);

#[pymethods]
impl TopLevel {
    #[new]
    fn new(obj_from_python: Bound<'_, PyAny>) -> Self {
        Self(ForeignType { inner: PyWrapper(obj_from_python.unbind()) })
    }

    /// A shim for the inner function of ForeignType
    fn do_something(&mut self) -> f32 {
        self.0.do_something()
    }
}

In the real code I've written, I occasionally get RuntimeError: already borrowed - which means something about the setup here breaks some rules. I'm wondering what assumptions in this example are not correct such that I could get that runtime error, if this is related to some weird interaction between the Bound and Python::with_gil trait impl, what kind of solutions there are, and if we could work together on some docs to explain this.
Cheers!

You will get a panic If fn_that_returns_a_float() will call TopLevel::do_something(). The way to fix that is by using Bound<Self> instead of &mut self:
/// A newtype around an instance of a python class that has a method I want to use from rust
struct PyWrapper(Py<PyAny>);

impl ForeignTrait for PyWrapper {
    fn trait_method(&mut self) -> f32 {
        Python::with_gil(|py| {
            let obj = self.0.bind(py);
            let x: f32 = obj
                .call_method0("fn_that_returns_a_float")
                .unwrap() // We'll do real error handling at some point
                .extract()
                .unwrap();
            x
        })
    }
}

/// A "top-level" struct that I'll expose to Python
/// Basically just a surrogate for `ForeignType` as an FFI-shim
#[pyclass]
struct TopLevel(Py<PyAny>);

#[pymethods]
impl TopLevel {
    #[new]
    fn new(obj_from_python: Bound<'_, PyAny>) -> Self {
        Self(obj_from_python.unbind())
    }

    /// A shim for the inner function of ForeignType
    fn do_something(this: Bound<'_, Self>) -> f32 {
        let wrapper = PyWrapper(this.borrow().0.0.clone_ref(this.py()));
        ForeignType { inner: wrapper }.do_something();
    }
}

Thank you for your response! So, this implies that we have to construct a ForeignType on every call to an internal function? How would we manage a situation where that struct contains state?

You can store a ForeignType and clone it instead. Or, if that's not possible, take it and return it back at the end, but that will mean users won't be able to call your method recursively (but they still won't get PanicException).

I think I don't completely understand.
If I need to work through a PyRef how about
#[pyclass]
struct TopLevel(ForeignType<PyWrapper>);

#[pymethods]
impl TopLevel {
    #[new]
    fn new(obj_from_python: Bound<'_, PyAny>) -> Self {
        Self(obj_from_python.unbind())
    }

    /// A shim for the inner function of ForeignType
    fn do_something(this: Bound<'_, Self>) -> f32 {
        this.borrow_mut().0.do_something()
    }
}

As discussed above in the thread, the docs are already updated for Bound and the issue was more to do with interior mutability.
Will close here as no further action.


Is !time really obsolete

.time does not seem to show the same information as !time. If the !time command is truly obsolete what is a good replacement to see unbiased interrupt time?

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

ID: fe9974bc-013f-7bd5-6ea2-186629d7d019
Version Independent ID: 5c27329f-1099-6578-d969-16d775406c01
Content: time - Windows drivers
Content Source: windows-driver-docs-pr/debugger/-time.md
Product: windows-hardware
Technology: debugger
GitHub Login: @DOMARS
Microsoft Alias: domars

@Shyamal-V - Thanks for your interest in our debugger docs. This particular channel is monitored by the men and women who write the driver documentation posted on docs.microsoft.com/drivers. Though we'd like to, we don’t have the resources to provide support for specific scenarios.
Your best bet is to use one of the forums where other driver developers and Microsoft engineers can be found. For example the Hardware and Application Developers on Q&A. You can post your question there, and the community of developers usually give feedback fairly quickly.
If you have debugger product input, you can provide that using public github issues here: http://aka.ms/dexex
Depending on your goals with tracking time, you may wish to to investigate enabling time stamps using .echotimestamps, !runaway, event logging or even user mode time travel tracing. Good luck with your debugging.


Full CI/CD for deploys

If CI/CD staging + tutorials succeeds go through with a deploy to production

I have added a comment here https://github.com/iasql/iasql-on-iasql/pull/98#issuecomment-1243782443
Would appreciate your input @dfellis @depombo

This has been deprioritized now that the onboarding focus on running IaSQL locally


Hungarian version does not work

Hi,
the Hungarian language version of the application apparently does not work:

Frontend bundle was updated for map.project-osrm.org 3 years ago - when Hungarian resources were not yet added I suppose. Also osrm-text-instructions package was last published 2 years ago and so it's not actual too.


[AutoPR network/resource-manager] Add/Edit Outbound Rule on Load Balancer and Examples

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3592

(message created by the CI based on PR content)


Help with MPEG TS Container support

Hi LiTr is really cool code as was your approach to transcoding.
We have an MPEG2 video in an MPEG TS container from an ATSC video tuner.
LiTr properly transcodes the MPEG2 video to H.264 when the input video is an MP4 container.
On some Set Top Box devices LiTr will not transcode the same MPEG2 video in an MPEG TS container. We adjusted LiTr code to accept mime/mpeg2 video from the file with Transport Stream container.
It seems like when the MPEG TS container with MPEG2 video is open some parameter is not set for the encoder.
The Amlogic OMX encoder error is 0x8001001 which is an error for OMX to report "Unknown error."
Any suggestions on how to get the parameters configured properly so the encoder will work.
What also is interesting is LiTr can decode the MPEG2 video in a MPEG TS container because extract frame and video filters can decode and play the video.
Any suggestions on how to debug or what settings encoder might need or how to fix?
This is link for MPEG2 video in MP4 container that works well with LiTr transcoder:
https://drive.google.com/file/d/1VFoAL1xJNw6pAq-fp1rMhwMfwaQ3uP1o/view?usp=sharing
This link is for same MPEG2 video in MPEG TS container:
https://drive.google.com/file/d/15Qmh12BFCJudwmgiTe8ucI5wdYfsWm24/view?usp=sharing

Thank you for enjoying LiTr! I didn't realize one could use LiTr on a set top box. Can you tell a bit more about how you guys use it? I am extremely curious.
I will look into this. I tried playing those two videos on my Android device (Samsung Galaxy Note 10), and they are behaving very strange. MP4 video does not play at all, TS video plays audio only. Tried with both built-in player and ExoPlayer, same problem on both. I think, something funky is going on with container parsing,MediaMetadataRetriever was not even able to extract a thumbnail. Can you guys share what you did to make this work, or is proprietary know-how?
As for encoder, one possible idea comes to mind is to maybe try to play around with different colors formats for the encoder. I wonder if decoder is producing frames in some format that is not compatible with what encoder expects. Shouldn't be the case, but might be worth a try. I will keep thinking about it.

I ran ffprobe, got some strange errors about invalid frame size and some corrupt packets:
[mpeg2video @ 0x7fb74d808800] Invalid frame dimensions 0x0.

Input #0, mpegts, from 'kgtv-10-abc-atsc-capture.ts':
Duration: 00:01:19.55, start: 3909.989856, bitrate: 8355 kb/s
Program 3
Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Side data:
cpb: bitrate max/min/avg: 17598000/0/0 buffer size: 7995392 vbv_delay: N/A
Stream #0:10x34: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:20x35: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
I wonder if this could be throwing off OMX codecs. QuickTime on Mac was able to play the .ts file, but with artifacts in the beginning.

I don’t think they would throw off the encoder setup.  We see these type of messages until the first i-frame, ffmpeg is a bit noisy, and then even after timestamp errors are very common.  In your code when you read the mime type and set parameters for the H.264 encoder do you know which ones must be set. I think it is this because when the mime type is parsed the mpeg ts container mime is not in the code and so the encoder may be missing some important parameters beyond bit rate, frame rate.  Could it something like pixel format, or something related to surface details, etc.  This is above what I know about encoders.
Regards,
Bob Kulakowski
CEO
Secure TV, LLC
Mobile: +1-760-533-5888
Main: +1-844-401-5777
Web:  http://www.SecureTV.TV www.SecureTV.TV
Email: @.***
Address:
12707 High Bluff Drive
Suite 200
San Diego, CA 92130 USA
From: Izzat Bahadirov @.***
Sent: Wednesday, April 20, 2022 7:06 AM
To: linkedin/LiTr @.>
Cc: SecureTVBob @.>; Author @.***>
Subject: Re: [linkedin/LiTr] Help with MPEG TS Container support (Issue #187)
I ran ffprobe, got some strange errors about invalid frame size and some corrupt packets:
[mpeg2video @ 0x7fb74d808800] Invalid frame dimensions 0x0.

Input #0, mpegts, from 'kgtv-10-abc-atsc-capture.ts':
Duration: 00:01:19.55, start: 3909.989856, bitrate: 8355 kb/s
Program 3
Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Side data:
cpb: bitrate max/min/avg: 17598000/0/0 buffer size: 7995392 vbv_delay: N/A
Stream #0:10x34: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:20x35: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
I wonder if this could be throwing off OMX codecs. QuickTime on Mac was able to play the .ts file, but with artifacts in the beginning.
—
Reply to this email directly, view it on GitHub https://github.com/linkedin/LiTr/issues/187#issuecomment-1103975574 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKQXAPXNTFSG6LARMIJIRB3VGAFOHANCNFSM5TWVAJFA .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AKQXAPTJ2VOWIHHMSFGV3PLVGAFOHA5CNFSM5TWVAJFKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOIHGVJFQ.gif Message ID: @.*** @.***> >

Having trouble reproducing this locally. Devices I am trying this on do not have an MPEG2 decoder.

Is there something I can do here with some additional debug outputs added?

One possible way I can think of is comparing mediaFormats in CodecUtil.configureMediaFormat for .ts and MP4 inputs. That would let us see what exactly is being sent to encoder.


Update config

This .editorconfig is mostly the same as the existing one but rearranged.
PR also contains code fixes using VS 2017 15.8 p3's format document that applies the styles.

/cc @danielcweber @akarnokd

I won't be able to check this until next morning.

That's fine, I'm still fixing styles

It would be great if this got merged as it prevents further developments due to likely conflicts.


fix: stuck resizing when resizing bound text container very fast beyond threshold

Attempt to fix https://github.com/excalidraw/excalidraw/issues/4534

Woohoo ❤


dta iOS run in simulator

With these changes the display-test-app can run unattended in the iOS simulator.

@markschlosseratbentley can you review please?

@markschlosseratbentley can you review please?

@pmconne Yep, working on it.

@calebmshafer can you review please?


CUDA Multiprocessing Issue

🐛 Bug
I'm trying to build a simple SigLIP Inference API with LitServ but I'm running into the well-known CUDA vs multiprocessing issue (Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method).
Does anyone know how to solve this? Setting the spawn forking method via torch (torch.set_start_method('spawn') does not work. No matter if I run it before or after import litserve as ls
❯ CUDA_VISIBLE_DEVICES=4 python server.py
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
Swagger UI is available at http://<IP_ADDRESS>:8000/docs
INFO:     Started server process [546581]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
Using device: cuda:0
You are attempting to use Flash Attention 2.0 without specifying a torch dtype. This might lead to unexpected behaviour
Setup complete for worker 0.
LitAPI ran into an error while processing the request uid=d1cab0c9-a28c-42c2-b438-4697bc14bf21.
Please check the error trace for more details.
Traceback (most recent call last):
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/litserve/loops.py", line 149, in run_single_loop
    response_queues[response_queue_id].put((uid, (y_enc, LitAPIStatus.OK)))
  File "<string>", line 2, in put
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/multiprocessing/managers.py", line 833, in _callmethod
    raise convert_to_error(kind, result)
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Traceback (most recent call last):
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/multiprocessing/managers.py", line 253, in serve_client
    request = recv()
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/multiprocessing/connection.py", line 251, in recv
    return _ForkingPickler.loads(buf.getbuffer())
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/torch/multiprocessing/reductions.py", line 148, in rebuild_cuda_tensor
    torch.cuda._lazy_init()
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/torch/cuda/__init__.py", line 300, in _lazy_init
    raise RuntimeError(
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
---------------------------------------------------------------------------
INFO:     <IP_ADDRESS>:56904 - "POST /predict HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 20, in __call__
    await responder(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 39, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/litserve/server.py", line 346, in predict
    load_and_raise(response)
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/litserve/utils.py", line 58, in load_and_raise
    raise exception
multiprocessing.managers.RemoteError:
---------------------------------------------------------------------------
Traceback (most recent call last):
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/multiprocessing/managers.py", line 253, in serve_client
    request = recv()
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/multiprocessing/connection.py", line 251, in recv
    return _ForkingPickler.loads(buf.getbuffer())
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/torch/multiprocessing/reductions.py", line 148, in rebuild_cuda_tensor
    torch.cuda._lazy_init()
  File "/ltstorage/home/7schneid/miniforge3/envs/murag/lib/python3.10/site-packages/torch/cuda/__init__.py", line 300, in _lazy_init
    raise RuntimeError(
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
---------------------------------------------------------------------------

MWE to reproduce
# server.py
import base64
import io

import torch
from PIL import Image
from transformers import SiglipModel, SiglipProcessor
import litserve as ls

MODEL_NAME = "google/siglip-so400m-patch14-384"
TORCH_DTYPE = torch.bfloat16

class SigLipLitAPI(ls.LitAPI):
    def setup(self, device: str):
        self.device = device
        print(f"Using device: {device}")
        self.model = SiglipModel.from_pretrained(
            MODEL_NAME,
            attn_implementation="flash_attention_2",
            torch_dtype=TORCH_DTYPE,
            device_map=device,
        )
        self.processor = SiglipProcessor.from_pretrained(MODEL_NAME)

    def _compute_text_embedding(self, text_inputs) -> torch.Tensor:
        with torch.no_grad():
            with torch.autocast(self.device):
                text_emb = self.model.get_text_features(**text_inputs.to(self.device))
        return text_emb

    def _compute_image_embedding(self, image_inputs) -> torch.Tensor:
        with torch.no_grad():
            with torch.autocast(self.device):
                img_emb = self.model.get_image_features(**image_inputs.to(self.device))
        return img_emb

    def decode_request(self, request):
        image_inputs, text_inputs = None, None
        if "image_bytes" in request:
            b64 = request["image_bytes"]
            image = Image.open(io.BytesIO(base64.b64decode(b64)))
            image_inputs = self.processor(
                images=image, padding="max_length", return_tensors="pt"
            )  # type: ignore
        if "text" in request:
            text = request["text"]
            text_inputs = self.processor(
                text=text, padding="max_length", return_tensors="pt"
            )  # type: ignore

        return image_inputs, text_inputs

    def predict(self, inputs):
        image, text = inputs
        img_emb, text_emb = None, None
        if image is not None:
            img_emb = self._compute_image_embedding(image)
        if text is not None:
            text_emb = self._compute_text_embedding(text)
        return img_emb, text_emb

    def encode_response(self, outputs):
        img_emb, text_emb = outputs
        return {"image_embedding": img_emb, "text_embedding": text_emb}

if __name__ == "__main__":
    api = SigLipLitAPI()
    server = ls.LitServer(api, accelerator="cuda")
    server.run(port=8000)

# client.py

import requests
import base64
import io
from PIL import Image

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")

buffered = io.BytesIO()
image.save(buffered, format="JPEG")
b64 = base64.b64encode(buffered.getvalue()).decode("utf-8")

data = {
    "image_bytes": b64,
    "text": "A quick brown fox jumps over the lazy dog",
}
response = requests.post("http://<IP_ADDRESS>:58007/predict", json=data)
print(response.json())

Expected behavior
The serialized embeddings are printed .
Environment

PyTorch/Jax/Tensorflow Version (e.g., 1.0): 2.4.0
OS (e.g., Linux): Ubuntu 22.04 LTS
How you installed PyTorch (conda, pip, source): conda
Python version: 3.11
CUDA/cuDNN version: 12.4
GPU models and configuration: Using one single A100
Any other relevant information: LitServ version 0.2.3

hi @floschne, thanks for reporting the issue! It seems like a torch.Tensor object is being returned from the encode_response method. Could you try converting them to list?

Oh, true, I missed that! It works like a charm now! Thanks


Please make clear whether caching is out of preview

The text of this page makes it seem that this functionality is out of preview - no mention of pipeline caching being in preview is made. However, the title of this page in the tree view menu on the left hand pane is Reduce build time using caching (Preview). Either this is an oversight, or this page doesn't make clear that this feature is still in preview.
I'd expect the content of the page, and any text in hyperlinks opening it to be consistent about whether this is a feature in preview or not.

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

ID: 77c20289-dab2-7a6e-4f63-4b30eaff2c71
Version Independent ID: d75cc196-90c1-8291-9907-ff405bde4edf
Content: Pipeline caching - Azure Pipelines
Content Source: docs/pipelines/caching/index.md
Product: devops
Technology: devops-cicd
GitHub Login: @chasewilson
Microsoft Alias: phwilson

Any news on this?

Duplicate of #6300

It is out of preview and I am fixing that TOC right now, sorry for the delay.


Suggestion: emit #line statements for SPIR-V OpLine opcode

It would be useful if there's an option to emit #line statements in the generated source code guided by the SPIR-V OpLine  opcode.
With this, a shader-cross-compiler tool can map errors and warnings from the Metal- and HLSL-compilers back to the original source file (at least roughly).
For example:
The Metal compiler might generate warnings like this on a piece of generated Metal source code, such "is used uninitialized" cases don't generate a warning on the original GLSL when compiled with glslang:
test.metal:34:13: warning: variable 'param' is used uninitialized whenever 'if' condition is false
      [-Wsometimes-uninitialized]
test.metal:74:23: note: uninitialized use occurs here
        float4 _593 = param;

Manually adding random #line statements like this:
        float _636 = _656;
#line 12 "bla.glsl"
        float4 param;
#line 13 "bla.glsl"
        if (_656 < 0.100000001490116119384765625)

...changes the warning output to:
bla.glsl:13:13: warning: variable 'param' is used uninitialized whenever 'if' condition is false
      [-Wsometimes-uninitialized]

It seems that one #line statement needs to be emitted for each generated source code line, without one, the compiler seems to increment the internal line counter for each parsed source code line, and a #line statement just resets this counter.

+1!
just DXC recently gained OpLine support in SPIR-V backend..

Personally, this seems to me like it would be confusing and misleading. Among other things, the column number in the warning output you provide would not correspond to anything in the original source. Perhaps it would be better to add comments to the generated MSL to indicate the original source file and line number. Leave the #line out, so the warnings indicate the relevant part of the MSL code, but when the developer looks there, they see where that comes from in the original.

@KenThomases comments wouldn't be very useful since they are for "human consumption", the #line statements are for tools and IDEs. And the feature would be disabled by default in SPIRV-Cross so that the generated source file is still "human readable", the #line statements would have to be enabled through the compiler options.
For example: I have a shader-cross-compiler which takes a GLSL file as input, converts this to SPIRV and (among others) Metal or HLSL source code, which is then compiled to Metal or D3D11 byte code through the Metal and D3D compilers.
The intermediate Metal or HLSL source code may might even only exist in memory, and never on disc.
Any warnings and errors in the last step would be mapped back to the original GLSL file and displayed in IDEs, or text editors which know how to parse GCC or MSVC error messages. For instance in Xcode it looks like this:

Currently this only works for errors and warnings generated by the intitial GLSL to SPIRV-step, not by errors generated by the Metal and D3D compilers (for those the line information is lost and I all errors are mapped to the first line of a file). For this last step to work I need the information how the line numbers in the generated HLSL / Metal source code roughly maps back to the original GLSL source.
...even when the line mapping isn't 100% correct it's still better than having to "map" the line number manually, and not having column information at all is okay too.

The solution is to make this an option I guess, whether to ignore OpLine or not in conegen.

PR in flight. I made it opt-in to emit OpLine statements.

Wow that was quick :) I'll give it a whirl ASAP!


Added 2 posts

@silverdrake11  sorry for the delay. Looks like the .cache directory got included despite adding it into the .gitignore. Most likely the .gitignore was updated after those files in .cache/ got committed?
https://github.com/getnikola/nikola-site/blob/master/.gitignore - this seems to be the .gitignore we should use.
Also was the listings folder autogenerated or you had to create it separately?

Made a commit first, but the cache wasnt in the gitignore so I accidentally added those files. Then  changed the gitignore to include the cache and deleted those files.
I created that listings folder, it just contains code snippets .py files shown in the blog post. I couldnt figure out how to get code snippets without syntax highlighting unless I created that folder and put the snippets in there.

removed the cache directory and deployed.


rT not completely converted for mmol/L units

Describe the bug
Missing convert_bg function calls on rT assignments of BG variables
To Reproduce
just view rT with mmol/L as units specified in profile
Expected behavior
output in the units as specified by profile
Additional context
PR #1438 has been created, however for the rT.predBGs I havent found a solution as convert_bg(value,profile) does not work on something like rT.predBGs.COB = COBpredBGs

You can like the PR like #1438.

fixed


Update social preview with the mimic-fn logo

On GitHub the preview thumbnail shown in social media defaults to the repository's owner's profile picture. This can be changed under Settings > Social preview.
Changing it to the mimic-fn logo might be nice. This website can be used to make sure it worked.

Done


Add ifconfig check to tests

We've run into cases where ibstat shows the infiniband devices, but ifconfig does not. Since this is a bad configuration and will cause issues, we should test ifconfig as well

Is the goal to explicitly check whether the IB device is configured before and after a reboot or can the checks be combined into a single if statement?

Updated the test to be a single line with an "or" in the grep


include bpe_simple_vocab_16e6 file to package

Signed-off-by: ChengZi<EMAIL_ADDRESS>

/lgtm
/approve


Autoload a saved item

From<EMAIL_ADDRESS>on March 16, 2010 01:44:19
More of a hack for php-file items (since I cross-reference wwwsqldesigner
from our wiki and want an item loaded automatically):

Rename index.html to index.php

Modify the last script element:

var d = new SQL.Designer();
<? if ($_GET['item']) { echo
"setTimeout("d.io.serverload(0,'".$_GET['item']."')",2000);"; } ?>

Call as http://site/index.php?item=

Original issue: http://code.google.com/p/wwwsqldesigner/issues/detail?id=78

From<EMAIL_ADDRESS>on March 15, 2010 23:37:23
aren't you looking for this behavior ?
> http://ondras.zarovi.cz/sql/demo/?keyword=

From ondrej.zara on March 16, 2010 00:47:33
As noted by geompse, this functionality is already present.
Status: Invalid

From<EMAIL_ADDRESS>on March 16, 2010 07:47:12
Please add this to the documentation.

From ondrej.zara on March 16, 2010 09:33:13
Done :)


3.8.0 - Reshala Guard Zabralo Armor Non-Removable Inserts missing

General information:
Reshala's Guards generated with a 6B43 Zabralo-Sh with missing shoulder armor inserts.
As a side note, should guards be made to spawn with the plates that the armor normally spawns with?

Attachments

2024-01-11[14-18]176.9, 4.1, 169.4-0.2, -0.8, 0.4, -0.4_15.26 (0).png (1271 KiB)
2024.01.11_19-08-55_<IP_ADDRESS>.28375 traces.log (133 KiB)
server-2024-01-11.log (689 KiB)
LogOutput.log (82 KiB)

Originally written by Jester_Stacks

My bot generator tool was missing the shoulder mod name:
Will be included in next bot generation

Attachments

image.png (128 KiB)

Originally written by chomp

Fixed with: https://dev.sp-tarkov.com/SPT-AKI/Server/commit/6e4d5d1acab998b2ddb42da9486301fc4cf8ad18

Originally written by chomp


No Mail support in adonis v5.

Lack of documentation
There is no clear documentation for how to set up Mail in Adonis js V5.
Blow the command is not doing anything but updating ace-manifest.json only
 node ace invoke @adonisjs/mail

No config file is there for mail as well.

Hey @prakashbharti786! 👋
This provider wasn't ready for AdonisJS V5.
From 4.1.0, you can use it with V5, documentation comes next week.


Magnifier Tool

Hi,
I need to implement a Magnifier tool to magnify a dicom image in a different dicom viewer.
If anyone can help me in this regard .

This is how we do it in Cornerstone Tools though I don't know how helpful this will be for you:
https://github.com/chafey/cornerstoneTools/blob/master/src/imageTools/magnify.js


logos added for website

@Tejas1510 added logos for website.
please merge it.

@Tejas1510 please add releated labels like levels and others along with DWoC label to this PR.

@Tejas1510 please add releated labels like levels and others along with DWoC label to this PR.


doc: how to create an input

:question: What
Doc: how-to create an input component

all done @arl


update Bolts req

update min Bolts version to suppress warnings

@Borda and this one:
https://github.com/williamFalcon/cifar5-simple/blob/main/cifar5.py


GIS Data automation

OTI PDF which details Open Data self-publishing option: link

Also shared, DCAT standards

Takeways from meeting with GIS on Oct 13.

Open Data Guidelines lists several ways to upload data to OpenData/Socrata. There are two or three options (sdks/publishing api/rest api) that we're going to POC.
We'll focus first on pushing data from AGOL (ArcGIS Online) -> OpenData/Socrata because this could be the most standardized and repeatable data flow, due to AGOL's enforced data standards.
Then we'll try going from Digital Ocean to OpenData/Socrata. This may be more difficult because data on Digital Ocean are largely shapefiles.
We have a test dataset for MIH (Mandatory Inclusionary Housing) here. We'll push to this for testing.
This sprint will be largely exploratory work.

Notes:

SDE is an ESRI Spatial Database Engine, which is effectively git for geographers.
~80% of data at GDE is accounted for by this path.

The scope for this initial phase is to draw a line straight from AGOL to OpenData. Currently OTI receives OpenData updates via email, and OTI would like very much to have this process automated.

Options for pushing to OpenData

Socrata Gateway
Agent (a running process on our servers) that will configure itself by phoning home (to Socrata) and push data on a schedule. It exposes data syncing functionality, but not metadata. Conceivably you could run this on a machine behind our firewall to sync data to Socrata. Probably not worth due to the limitations of syncing just data.

Socrata-py
Fully featured python client. Docs say it hits the Socrata Data Management API but it hits the publishing REST API as well. Our best option. I've tried pushing datasets, metadata, etc. and it's straightforward.

Publishing API
Umbrella for a few different APIs (SODA Producer API, Dataset Management API, Import API)

Metadata API

Misc

sodapy - Dead Python Client
Socrata DataSync - Java jar you can download and run. Basically a GUI layer over the data API. Not worth it, due to limitations.
Connectors
Proprietary connectors for Socrata and other sources. Plugins are largely declarative, and one exists for ESRI. Built by a partner company, and you need an account with them, so it's probably not worth the time.

Can we push from DO to AGOL?
Wrinkle: have to name differently for DO and destinations

Next Steps:

Prove out pushing to AGOL
Exercise: take a handful of Data Engineering's products, and map formats.

start with: housing, cpdb, pluto, facdb
what metadata goes with diff products.

Metadata

how would it be applied?

Tommy (former intern) wrote PHP app to package for ESRI. Investigate *

Design should think about metadata on shapefiles

Data dictionaries don't have spatial details, projectsion. ESRI metadata already has it.

Notes:

Filenames on Bytes may change imminently (ie in the next month+)
DE needs scoped AGOL creds
Alex Finckel would be able to help pulling from AGOL (OTI)

Adding two diagrams of GIS open data process:
Original:

More recent: when @jackrosacker returns he can add the other diagram.

@alexrichey FYI - Alex from OTI open data team shared the following resources:

Tyler Metadata API information: https://socratametadataapi.docs.apiary.io/#
Socrata Support page: https://support.socrata.com/hc/en-us

@alexrichey Here's the updated diagram. I did my best to include bits from the whiteboard yesterday, and synthesize some of our thoughts on "phases". Looking forward to hearing your thoughts once we're both back in the office.

@alexrichey to answer the question, Is there a comprehensive list of DCP datasets on Socrata? - unfortunately its not that straightforward since there is not a one-to-one match of all data on BYTES of the BIG APPLE (BOBA) and NYC Open Data portal.

This is OTI's list they generate as all datasets on the NYC Open Data portal, which can be filtered by agency

I feel like this is not comprehensive
Some data is not uploaded to portal, and only a link back to BOBA

Recommend you use this list, which is our list we use to track open data updates and send to OTI. We just added open data UID and URL as fields in this table.

Next Steps
Checklist for datasets

[ ] Is it in DO? If so where
[ ] Is pushing to DO?

Process for GIS to onboard datasets to push to DO

[ ] Adding Product metadata
[ ] Adding product do edm-distributions

Get Other DE Team members involved
Planning Metadata for Products

With Amanda, GIS, and DE
Figure out data formats, location


Cleaning up Code Editor

Code editor clean up

Splitting the code editor and the code asset into different components
This is used by Artifacts and Code ProjectAssetsTypes

With @shawnyama heading on Vacation on Wednesday (Aug 2) I can continue this effort.

It does not exist a paper with GitHub code that can create a model.


Add a warning to the section on password expiry for bulk password expiration

According to the statement from Daniel Stefaniak on the thread below, PWD expiration kicks in based on the last time hash was written into AAD.
https://stackoverflow.microsoft.com/questions/235394/235403#235403

@billmath Could you review the proposed update? If it's approved, we can apply the custom note formatting before merging. Thanks.

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

@billmath please review. If good, pull commit over to private repo to clean up formatting and AAD usage.

Pulling over to private repo for formatting and spelling.  Thanks!
#please-close


Split packages

The package com.google.cloud.kms.v1 is in multiple jars. This is going to be a problem in java 9 and later.

This is a problem across every gapic generated client library we publish. See https://github.com/googleapis/google-cloud-java/issues/5760

No update but this issue needs to be addressed widely across gRPC and google-cloud-java libraries. Closing this one.


After joining two tables (categories, post) I am able to get only single post

if($slug === FALSE){                 $this->db->order_by('posts.id', 'DESC');                 $this->db->join('categories', 'categories.id = posts.category_id');                 $query = $this->db->get('posts');                 return $query->result_array();

The code is correct, can you explain a little more on what you mean.


Add documentation example for conditional wait

I had a usecase for this today and went looking for documentation on it. I figured it might be useful for others.

@radar Thank you so much for your contribution! Adding it to the docs!
Cheers!
Karen of the Buildkite Docs Team


spirv-val: --relax-logical-pointer not adequately relaxed

error: line 1048: Opcode PtrAccessChain requires one of these capabilities: Addresses VariablePointersStorageBuffer VariablePointers PhysicalStorageBufferAddresses
  %709 = OpPtrAccessChain %_ptr_Function_float %706 %708

Doesn't make sense to error on OpPtrAccessChain with this argument.

The --relax-logical-pointer option was added to aid HLSL legalization. I'm not sure that OpPtrAccessChain would be replaced when performing legalization so I'm not sure this should be relaxed.
@s-perron, you originally added the option. Do you have any opinions on extending it?

I'm trying to use spirv-val to validate a shader prior to running de-pointerization passes. Since it's C++ output, it's full of pointers, and it would be nice to have validation between the initial codegen and the final output.

I think that should be fine.  This is the same type of thing, it just comes from C++ instead of HLSL.


Make preadv take immutable slice of IoVecs

fixes #913
I filled in the CHANGELOG, but I see that it usually links to PRs and not issues, do you want me to change it or remove and leave for you to describe?
This change seems to be strictly backwards-compatible, I didn't have to change the test for it to work.

Should be fine now :recycle:

Not quite.  There's a typo in the new changelog entry.

:+1:

bors r+


How to reduce build size of nebular

In my project i use ngx-admin strater kit. There are some modules or components which i not use so how to remove unused component or module..
Suggest me how to do

starter kit when I run npm run build -- --prod --aot , dist size with fonts,assets,main, styles.js is 21Mb I think is too much


initialize engine fail

init failed when call IRtcEngine.GetEngine(appId);
Create engine failed, error code: -7
UnityEngine.Debug:LogError (object)
agora_gaming_rtc.IRtcEngine:.ctor (string) (at Assets/AgoraSDK/Scripts/AgoraGamingSDK/AgoraGamingRtcEngine.cs:240)
agora_gaming_rtc.IRtcEngine:GetEngine (string) (at Assets/AgoraSDK/Scripts/AgoraGamingSDK/AgoraGamingRtcEngine.cs:4985)
AgoraVideoChatController:b__5_0 () (at Assets/Scripts/AgoraVideoChatController.cs:29)
why error code is -7????

The Readme file has the answer for you.  See this section:


TD3 Implementation

TD3 is a successor of DDPG (see original implementation that would be nice to have in the repo.
See also Spinning Up

Absolutely. DDPG is not stable for difficult tasks in Roboschool. TD3 will probably help.

DDPG is not stable for difficult tasks in Roboschool.

Usually, I would recommend SAC in that case. But yes, TD3 and SAC have different strengths/weaknesses, so would be good to have them both.

@araffin ,
Yeah. Basically, I would like to make a comparison for Roboschool HumanoidFlagrunHarder so I have to run DDPG even though it is not good for the task. Anyway, do we have any ways to speed up the off-policy algorithms? They are not using multiprocessing (multi workers) like on-policy methods. It is quite painful to collect millions of timesteps with just only 1 worker.

They are not using multiprocessing (multi workers) like on-policy methods

There is for DDPG. (see HER-support branch on rl-baselines zoo).

I will try that. Can't wait to see the release of TD3. Thank you.

Good news. Finally, I could try TD3 using stable-baselines. Thank you.


JSDoc render with @param Sub-object properties

🔎 Search Terms
"jsdoc", "@param"
⏯ Playground Link
No response
💻 Code
/**
 * @param {Object} options the args object
 * @param {number} options.alpha first number
 * @param {number} options.bravo second number
 * @param {Object} options.charlie sub-object
 * @param {number} options.charlie.count third number
 * @param {Function} callback the callback function
 * @returns {number}
 */
function addNumbersFromObject(options, callback = null) {
    if (!callback) return options.alpha + options.bravo + options.charlie.count;
    return callback();
}

🙁 Actual behavior
The render does not display the Sub-object properties of options.charlie variable. It's rendering only Object properties of first level.
🙂 Expected behavior
The render should display Sub-object properties of options.charlie variable like the following image.

Additional information about the issue
Tricky solution:
If you replace the type of options.charlie variable in the JSDoc by any or * , it will display the Sub-object properties in the render.
But if we do that, we will lose the autocompletion feature on options.charlie variable.
Recap:
I wish to have at the same time fully JSDoc rendering and autocompletion on an Object variable AND its Sub-object variables when it's defined in the JSDoc of my function.
Thanks !
This issue is related to my previous issue.

like the following image

The image doesn’t show the desired behavior. Also, you have expected and actual behavior switched.

Fixed


Finish loading previous month

In case your did not use the app for a few days and in the meantime the month changed, the app will not load the latest blog entries from the previous month.
The app needs to make sure that all blog entries from previous months are also loaded.

fixed with 52d7cdc65d2530570032ff49f5ed670340611b55


[FEATURE] Stonecutter Implementation

TL;DR: I'll be focusing on a large codebase rework that should make maintaining multiple Minecraft versions much easier. It will take time and I may neglect other features/bug fixes whilst I work on it.

I've been considering using a multi-version repository for a while now. It seems like stonecutter-kt would help with that. This should probably be my priority for now as it would make maintaining different versions much easier.
I'm considering creating classes that wrap Minecraft and Fabric methods that are often used throughout the codebase. The wrapper methods would utilize stonecutter to modify the code for each version, which  would result in the wrapper method essentially becoming version agnostic.
For example, imagine seeing this throughout the codebase for every translatable text call:
/*? if >1.19 {*/
return Text.translatable(...)
/*?} else {*//*
return new TranslatableText(...)
*//*?}*/

It would get very cluttered very quickly. And if they changed to another syntax in 1.21 or something? Yikes. But if I write a wrapper method with that same code, the rest of the codebase can simply use the method and it would be much easier to read (and much easier to maintain, as I can use it without thinking about version-specific code).
This change would also allow me to clean up the repository.. I could remove all of the version branches and use branches that represent a specific feature, hotfix, etc.

Finally got around to actually setting up stonecutter-kt. Next I'll be going through each version, one-by-one, porting each to the multi-version codebase and decoupling version-specific code to the abstraction (wrapper) classes (where most of the stonecutter code will reside): FabricAbstractions, MinecraftAbstractions.

I'll be porting 1.20 and 1.20.1 next and then start porting to 1.20.5 and 1.20.6.. and then working on that GitHub Actions workflow so I can publish multiple versions at once.

Alright, 1.20 and 1.20.1 are ported over. I need to test the currently ported versions more thoroughly and then I'll start porting 1.20.5 and 1.20.6.

The GitHub Actions workflow file has been created and tested; seems to be working just fine. In addition, I've archived the supported branches (see tags) and the feature/stonecutter branch.
I'll be starting on porting to 1.20.5 and 1.20.6 soon.


⚠ Bofrost.de has degraded performance

In d593c16, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1487 ms

Resolved: Bofrost.de performance has improved in 3ce4963.


Extending Karma reporter from Typescript

Hey guys, so i need to create new reporter for karma, specifically for building a vscode extension for running angular tests. How can I extend the Karma Reporter from typescript? all the examples I found are custom reporters created from javascript and set in the configuration file.
is there a way to add a reporter programatically?
are there any typings made of the complete karma runner solution?

A TypeScript reporter can be added exactly the way a JS reporter is added.  Your reporter exports the dependency injection string:
export = {
  'reporter:XXXX': ['type', implXXXX]
};
```js
and your config adds the reporter:

module.exports = function(config) {
config.reporters = (config.reporters || []).concat(['XXXX']);
};
The API is confusing and not documented but also simple enough, just look at reporter examples to work it out.  Note that in general the reporter is a client of the test framework, not really of karma-runner. The runner API is essentially a few events like `onBrowseInfo` `onBrowserComplete` with data forwarded from the framework.

>are there any typings made of the complete karma runner solution?

None covering reporters that I know about.


Mirror PROD ec2s

[ ] Setup all services on BETA
[ ] Make sure can swap over to BETA to run all prod services
[ ] same with ALPHA, switch back and test
[ ] document or automate swap

hot mirror
dedicated database


Fix : fixed tiny mistake

Core => Chore

gitmessage.txt is English and the other is Korean now, which is opposite.
Reviewer should solve it and merge it.


Remove code-duplication in throwIfNotFound()

A possibility for a minor simplification I happened to stumble over that removes the need to write the same line of code twice (throw this._modelClass.createNotFoundError(builder.context());).
I think legibility remains equally good.

Coverage decreased (-0.002%) to 95.03% when pulling 3ceb57d94a65127e91d0789f49489e6652686978 on lehni:remove-code-duplication into ad592625790a88d49147703995817afaf0bdb298 on Vincit:master.


dartanalyzer doesn't include the -D option in help text

I think when we added support for that flag the args package didn't support that style of flag so we implemented it in a different way. We should clean that up, then we should automatically get it printed as part of the help text.

This is fixed (you need to pass in -h -v to see the extended options).


Update auth, dynamodb, s3, sqs to 2.17.150

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:dynamodb
software.amazon.awssdk:s3
software.amazon.awssdk:sqs

from 2.17.66 to 2.17.150.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #863.


This allows curators to enter/edit/delete internal data

It's quite basic, I will add ISSN lookup based on Daisie's code soon.
Click the admin area.  Click the little clock icon for a dataset.  Look at the bottom of the page to work with the internal data.  https://github.com/CDL-Dryad/dryad-product-roadmap/issues/153

The problem with updated curation statuses showing in the wrong table is fixed now.  Thanks for catching this.

Looks good now! Merging. Thanks, Scott.


Fix possible memory leak of debug sidebar output

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

With current master branch of Node-RED, continuously outputting message to debug sidebar causes rapid increase in memory usage of node-red editor tab of Chrome client.  The increased memory is not reclaimed by garbage collector.
This seems to be caused by mixing jQuery with native DOM manipulation as discussed in:
https://makandracards.com/makandra/31325-how-to-create-memory-leaks-in-jquery
This PR replaces raw JavaScript DOM manipulation code by jQuery code.
Sample flow:
[{"id":"de885be9.b10fc8","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"d14b1b7a.231358","type":"inject","z":"de885be9.b10fc8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":120,"wires":[["271411aa.bb864e"]]},{"id":"f49bed2d.dea01","type":"debug","z":"de885be9.b10fc8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":490,"y":120,"wires":[]},{"id":"271411aa.bb864e","type":"function","z":"de885be9.b10fc8","name":"","func":"var N = 60*5;\n\nvar count = 0;\nfunction doIt(n) {\n    if (n > 0) {\n        for(var i = 0; i < 10; i++) {\n            count++;\n            node.send({payload: {val: count}});\n        }\n        setTimeout(function () {\n            doIt(n-1);\n        }, 1000);\n    }\n    else {\n        node.send({payload: \"done\"});\n    }\n}\n\n\ndoIt(N);\n","outputs":1,"noerr":0,"x":290,"y":120,"wires":[["f49bed2d.dea01"]]}]

With current dev branch code, this problem do not reproduce the above problem.
I guess that recent updates of base jQuery version are affecting this result.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Good to know about the mixing of native//jquery access - wasn't aware of that one.
Thanks for the fix.

Coverage remained the same at 76.38% when pulling 13cf2b48e159913e2bfd965394badc03d74b2131 on node-red-hitachi:fix-debug-node-memory-leak into 742bf85a89f77e78f47287af38b6220c2f9ed756 on node-red:master.


react-native doesn't link ios module

I went through all instructions and run the project but I hadn't find NativeModules in React from 'react-native'. And find that  that my link didn't link ios module.

👍  me tooooo

It works this way


Replace the Form's block visual engine with the BlocksForm

I've discovered that one change that I did for volto-blocks-form wasn't fully migrated to Volto's block Edit component. In the design for the updated block edit, I've moved the drag + delete buttons to the EditBlockWrapper so that they can be replaced. Right now if you try to use the BlocksForm and the default EditBlockWrapper, there's an extra delete button.

Relevant, that change didn't make it into the volto core. https://github.com/plone/volto/pull/1826#pullrequestreview-571192265


More return types

For #87, this PR completes the list of methods missing return types.

Looks like #92 needs addressing - DOMNodeList shouldn't be returned, but it is. Return types are catching this out.


Add onboarding key location (specifically for Helium OG definition)

This is now defined in the settings.toml file in gateway rs:
https://github.com/helium/gateway-rs/blob/900ac54b1d79f79a7d7d840ed2be0ae29e8964c4/config/settings.toml#L11-L12
And was previously in the sys.config:
https://github.com/helium/miner/blob/6739b568e195ef0c66f0b4db3fece0eefde4d873/config/sys.config#L55
Linked with #221 we should allow definition of a separate onboarding key location

Added in #227


[Authorize] Atribute return error 404 because It is not returning /tenant/Identity/Account/Login

Hello:
First of all, thank you for all the work you do, now the question. I want to put a controller in Home and when you are not loggin into the application it returns you to the login page. This is very simple in a normal application but working with tenant I don't know how to solve it. It is supposed that the only thing you may need is [Authorize] atribute but It is not returning me the good url. Maybe I have to create a new attribute but I don't know how. I'm working with ASP.NET Core. Thanks

I think this is because of the way Identity UI scaffolds things out. It dumps everything in that Identity folder and kind of creates issues when you're doing anything outside of that. I think you have to scaffold identity and change that login path because they hardcode that area path.
https://stackoverflow.com/questions/50682108/change-routing-in-asp-net-core-identity-ui

I think this is because of the way Identity UI scaffolds things out. It dumps everything in that Identity folder and kind of creates issues when you're doing anything outside of that. I think you have to scaffold identity and change that login path because they hardcode that area path.
https://stackoverflow.com/questions/50682108/change-routing-in-asp-net-core-identity-ui

Yes, It has to do with the Identity scaffolding thing, however, as I work with the HostStrategy in my final version, there it is working fine. Thank you for your answer. The ones that works with RouteStrategy or similar may have to change something or make an [Authorize] custom attribute that redirects to login or to a page error using the tenant route.
I mark the issue as close as I don't need the solution exactly for my project.
Thank you for your answer.


Debug Test doesn't support multiply-nested test

What works is initiating the debug on the top-level describe, or an it 1-level below the describe. If there are nested describe blocks lower than that 1st-level, initiating debug on the test will not work.
The debugger never attaches.
Environment
node: v18.17.0
OS: macOS Ventura 13.5
vscode-jest-runner: v0.4.66

Do you mean like this?
describe('nested', () => {
  describe('a', () => {
    it('b', () => {
      expect(true);
    });
  });
});

This scenario seems to work for me

3+ months stale without repro. please reopen with example if required


Layouts add more complexity than they help

It appears to me that any problem solved by using layouts can also be solved by using regular Blazor components.
Layouts might be a subjectively cleaner way to do it, but adding an extra learning topic, which adds so little functionality, for new developers getting into Blazor seems counter-intuitive to me.
Having a clean way to implement this in normal components (like there already is), instead of using layouts, seems like it will keep the learning curve less steep for beginners and ensure people will always implement child content of components in the same way across a codebases.
I'm brand new to Blazor, and maybe I've missed something and layouts can do something you cannot do with normal components. If that's the case, I could understand there might be a use for them.

Dokumentoplysninger
⚠ Undlad at redigere denne sektion. Det er påkrævet til docs.microsoft.com ➟ GitHub-problemlinkning.

ID: cce76032-e7b4-d168-6e24-c2cb88ae7e44
Version Independent ID: f3ecd255-c3ce-9162-ddf1-67b35aeffc11
Content: Razor Components layouts
Content Source: aspnetcore/razor-components/layouts.md
Product: aspnet-core
Technology: aspnetcore-razorcomponents
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @jakobrames ... Normal components used in parent-child relationships require the parent to explicitly include the child component by name. Layouts allow you to set an @Body property in the layout component where any child referencing the layout in an @layout directive will have its content rendered at the @Body location. This is better for the scenario that it serves. The ability to have one directive (just one line of Razor code) in each component that consumes the layout isn't just subjectively cleaner ... it's actually a lot cleaner.


Cannot resolve module(s)

It appears that npm is trying to resolve modules in the current directory, rather than in node_modules.
I get about 10 of these messages, each about a different module.
ERROR in ./docs/install/index.jsx
Module not found: Error: Cannot resolve module 'react-highlight/lib/optimized' in /work/path/react-foundation-apps/docs/install
@ ./docs/install/index.jsx 6:16-56

My installation was simple:
clone
npm install  // had to repeat this after getting XCode 7.0.1
npm start

Same set of errors after running the other actions found in package.json:
npm run postinstall
npm run prepublish
npm run start

If you find out the answer to this, I'd love to know!


should bootstrapping do something about Party ID?

I imported account records into a CE+F&O environment.  I was planning to bootstrap them so, no Dual Write integration was running other than Company.  Now turning on the customer integration fails for lack of Party ID (msdyn_party lookup field.)
I verified that all the Party Numbers (autogenerated text field) existed on the account records.  However, there are no Parties in the msdyn_party table.  Pretty hard to populate a lookup from an empty table.
From where should they come?  What process needs to run for them to be created (and copied into the lookup?)
TIA

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

ID: 0891e384-80e8-5d40-8bde-24081e06876a
Version Independent ID: b6ecc0cb-e827-80aa-934d-ef03d674c97e
Content: Bootstrap with company data FAQ - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/data-entities/dual-write/bootstrap-company-data.md
Service: dynamics-ax-applications
Product: ****
Technology: ****
GitHub Login: @RamaKrishnamoorthy
Microsoft Alias: ramasri

@RamaKrishnamoorthy Can you take a look? Thanks.

We updated this topic today, but I don't think is addresses your question:
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/data-entities/dual-write/bootstrap-company-data

Bug 538984 created to track this issue.

We updated the docs to address this.


how parallel is the code

The comment
WARNING: This is probably the most resource hungry section. It typically took me 2 days to process 5 months of data, on a machine with 40 cpu cores. Beware, and be patient.
prompted me to wonder if I had 4 cores, would it take 10 times longer? How well does the parallel portion of the code scale? Is there a significant portion serial only?    I think knowing this would be useful for users.
Alternatively, could the code be made faster by using XLA/dask/numba ?(as food for future thought)
Can the underlying reasons for this powerhungryness be understood in O(n) notation?

I'm not an expert, but the way I've implemented the parallel code should scale linearly. I'd expect a 4 core machine to take approximately 10 times longer than a 40 core one. This step in crucial as it conditions relevant pairs of data files and creates time alined data. This is done with a savgol filter followed by interpolation. A loop over relevant files identifies the correct pairs of data files, the sends each pair to its own core.
I don't think there is any significant serial code which acts as a bottleneck to this process

I'm not an expert yet, though this is on my horizon. However, if a task like this takes so long is probably worthy of inspecting for bottlenecks. Nice project for another time.  If you could figure out what the expected processing time is, like an O(N) analysis, that could help/give insight.
I've been using the github projects to schedule new ideas. You can also keep them in the issue to reminder you, or volunteers, that this might be an issue.

Will do, thanks Peter! It would be good to do this at some point, and learn more on code optimisation.


Replace test-jars with separate modules

Followup of #1515.
We have introduced several places where we use test-jars (see https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html) to reuse (abstract) tests, for example in repository-api, sail-api, and some other places. However, it appears that this setup is causing maven build issues in some tools (in particular Eclipse IDE).
To simplify matters and to make sure the dependency tree is easier to follow, I propose we replace these test-jars with separate modules. Essentially we're going back to testsuite modules for these tests, but we'll take care to set them up such that they can be used as part of unit tests in a particular module (e.g. memorystore will be able to unit test using the rdf4j-sail-api testsuite) instead of being forced to put the tests in a separate compliance module.

For some reason the master branch now builds normally in Eclipse, but I'm still having problems with the develop branch.

I forgot to update test dependencies in the newly introduced modules on the develop branch (elasticsearch-store and extensible-store) - fixed now. Local build in Eclipse now longer spins its wheels. Assuming the CI build completes without errors I'm (finally) declaring victory.


fix-contract-meta-img

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
The focus of this PR is to update the image source in MetadataHeader component using a new function resolveScheme from thirdweb/storage.
Detailed summary

Updated image source using resolveScheme function
Added thirdwebClient import for resolving image URI

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#4031  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MananTank and the rest of your teammates on  Graphite


[docs] Demo BasicModal crashes

[x] I have searched for similar issues in this repository and believe that this is not a duplicate.

Steps to reproduce

Visit https://mui.com/material-ui/react-modal/ using LibreWolf. Possibly FireFox also.
Try show a modal, or interact with anything really.
demo BasicModal crashes

Your environment

Tech
Version

Version
v5.15.13

Netlify deploy
https://65f1b5cb81999a000825acc9--material-ui-docs.netlify.app

Browser
Mozilla/5.0 (X11; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0

Description
I am using LibreWolf v123.0-1 for my browser. It was working roughly six hours ago, then stopped all of a sudden.
I cleared all browser data, and disabled all exentions, still an issue.
Worked fine when I tried on my other browsers, brave and tor.
I discovered this issue when my local NextJS project started locking up all of a sudden, and I went to the MUI site to verify my component usage. If it works for you in LibreWolf, then please close.
I just use the CDN on my project, so not sure if something has gone wrong there, and also relates to MUI site.

Search keywords:

It's really weird, all dialogs stopped working on my project, and demos on official docs as well (same error as yours).
However, it seems to only affect Firefox, as it is working on Chrome.
Here is the error I get in dev mode:

Uncaught Error: Permission denied to access property "getAttribute"

and:

Uncaught TypeError: containerInfo is undefined

I tried to downgrade the version of MUI, and still have the issue.
Could this be an issue with a Firefox update?

Crazy thing: it looks like the culprit is the Proton Pass extension on Firefox. When I disable it, everything works fine again.
Could you confirm you have this extension as well @harley-codes?

I have the exact same issue - dialogs and dropdowns crashing exclusively on Firefox - and I also use Proton Pass extension. The person who reported the issue on my website has the same setup.  I also have Proton Pass. I forgot that I chose not to disable this one, thinking that it would have no affect.
Hmm... Wonder if the extension used NextJS under the hood, and there seems to be a conflict in the library.

Disabling Proton Pass' autocompletion on the affected website removes this issue. Makes me think it recognizes MUI component as one to use autocomplete on and fails.

I think we can close this right @Arcyvilk? What do you think... I don't see MUI jumping in to solve their bug, not their fault.

@harley-codes I agree. Maybe we could raise it with Proton team instead 🙂

@harley-codes I agree. Maybe we could raise it with Proton team instead 🙂
EDIT: It looks like they are aware of the bug and are working on it! https://www.reddit.com/r/ProtonPass/comments/1bfe2zi/protonpass_firefox_addon_breaks_websites/

Good catch!
I couldn't believe it when I found out all the issues were related to that extension 😅

Being resolved by Proton team.


index: Update my email address

I no longer have access to the faculty-provided email, so switch to using my personal email instead.

Thanks, I will merge it, one more thing Are you still engaged in HPCAN LAB or a new position?

Thanks, I will merge it, one more thing Are you still engaged in HPCAN LAB or a new position?

Currently still working on a paper with HPCAN, but technically I've graduated.


ActiveRecord::StatementInvalid: PG::NotNullViolation: ERROR:  null value in column "item_id" violates not-null constraint
DETAIL:  Failing row contains (1993, Article, null, update, null, ---
id: 548
title:
created_at: 2015-12-30 08:59:17.003638000 Z
...

View details in Rollbar: https://rollbar.com/trystant/BOW/items/273/

PG::NotNullViolation: ERROR:  null value in column "item_id" violates not-null constraint
DETAIL:  Failing row contains (1993, Article, null, update, null, ---
id: 548
title:
created_at: 2015-12-30 08:59:17.003638000 Z
..., 2015-12-30 09:19:46.472009, ---
title:
-
- Michael Noel
, <IP_ADDRESS>, 1992).

  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql_adapter.rb", line 606, in exec_prepared
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql_adapter.rb", line 606, in block in exec_cache
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_adapter.rb", line 473, in block in log
  File "/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.4/lib/active_support/notifications/instrumenter.rb", line 20, in instrument
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_adapter.rb", line 467, in log
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql_adapter.rb", line 605, in exec_cache
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql_adapter.rb", line 589, in execute_and_clear
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/postgresql/database_statements.rb", line 173, in exec_delete
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/database_statements.rb", line 114, in update
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/query_cache.rb", line 14, in update
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/relation.rb", line 345, in update_all
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/has_many_association.rb", line 159, in delete_count
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/has_many_association.rb", line 175, in delete_records
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 525, in remove_records
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 518, in block in delete_or_destroy
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 183, in block in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/database_statements.rb", line 211, in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb", line 220, in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 182, in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 518, in delete_or_destroy
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 268, in delete
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 538, in replace_records
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 373, in block in replace
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 183, in block in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/database_statements.rb", line 213, in block in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/transaction.rb", line 184, in within_new_transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/database_statements.rb", line 213, in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb", line 220, in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 182, in transaction
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 373, in replace
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/collection_association.rb", line 67, in ids_writer
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/associations/builder/collection_association.rb", line 76, in version_ids=
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/attribute_assignment.rb", line 54, in public_send
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/attribute_assignment.rb", line 54, in _assign_attribute
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/attribute_assignment.rb", line 41, in block in assign_attributes
  File "/app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.4/lib/action_controller/metal/strong_parameters.rb", line 185, in each_pair
  File "/app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.4/lib/action_controller/metal/strong_parameters.rb", line 185, in each_pair
  File "/app/vendor/bundle/ruby/2.2.0/gems/activerecord-4.2.4/lib/active_record/attribute_assignment.rb", line 35, in assign_attributes
  File "/app/vendor/bundle/ruby/2.2.0/gems/rails_admin-0.6.7/lib/rails_admin/adapters/active_record/abstract_object.rb", line 19, in set_attributes
  File "/app/vendor/bundle/ruby/2.2.0/gems/rails_admin-0.6.7/lib/rails_admin/config/actions/edit.rb", line 27, in block (2 levels) in <class:Edit>
  File "/app/vendor/bundle/ruby/2.2.0/gems/rails_admin-0.6.7/app/controllers/rails_admin/main_controller.rb", line 22, in instance_eval
  File "/app/vendor/bundle/ruby/2.2.0/gems/rails_admin-0.6.7/app/controllers/rails_admin/main_controller.rb", line 22, in edit
  File "/app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.4/lib/action_controller/metal/implicit_render.rb", line 4, in send_action
  File "/app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.4/lib/abstract_controller/base.rb", line 198, in process_action
  File "/app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.4/lib/action_controller/metal/rendering.rb", line 10, in process_action
  File "/app/vendor/bundle/ruby/2.2.0/gems/actionpack-4.2.4/lib/abs

Closing

Closing


building cluster image is broken

Running make base-image cluster-image, building the cluster image fails with the following error.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
aiobotocore 1.3.1 requires botocore<1.20.50,>=1.20.49, but you have botocore 1.20.109 which is incompatible.

I'm not sure exactly which of the recent PRs fixed this, but it's now fixed.


Fix nodejs v14 compatibility

Minimum changes to make tests pass on both nodejs v12 and v14

@SocketSecurity ignore<EMAIL_ADDRESS><EMAIL_ADDRESS>


fix(ONYX-1075): scroll performance on SWA landing page

This PR resolves ONYX-1075
Description
This PR improves the scroll performance on the SWA landing page. This is thanks to using Flatlist instead of ScrollView.
FlatList renders only the visible items, optimizing performance with large datasets. ScrollView renders all items at once, potentially causing performance issues on devices with limited processing power.
The difference in performance between the videos is not so big but it would be pretty noticeable on an old android device.
Before
https://github.com/artsy/eigen/assets/11945712/3dbfc205-8403-4344-bc0a-1c29cfaa76cf
After
https://github.com/artsy/eigen/assets/11945712/19c3ee7a-6fbe-49ad-8b99-3d5c68346430

PR Checklist

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

To the reviewers 👀

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

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

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

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against ace2d2646d9fc653097370f9d23ff33412147b5a

@olerichter00 @gkartalis I just noticed my before video wasn't uploaded, I just uploaded it again.

Niiiiice! Thank you!


Update Python.gitignore

I updated the comments thus:
PyInstaller
Usually these files are written by a Python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+#  before PyInstaller builds the exe file, so as to inject date/other information into it.
Reasons for making this change:
To ensure syntactic correctness.
TODO
Links to documentation supporting these rule changes:
TODO
If this is a new template:

Link to application or project’s homepage: TODO

Thanks for the PR, but you failed to follow the template provided. See the project's README for help.


Merging advancedengineering constantmax quantization

Reordered the commits of #46 on top of the commits of #51 using git cherry-pick, and manually resolved merge conflicts.
This retains authorship and allows us to keep the existing commit history from #46, see the following screenshot from the 'commits' tab:

@advancedengineering This PR is built on top of #50 and #51, and if this looks good, let's merge in this order:
first #50, then #51, finally #52
Let me know if this looks okay, then we'll have everything merged in soon : )

Looks great


added hmf as requirement to enable tests

Codecov Report

Merging #38 (681bc97) into main (b3335ad) will increase coverage by 5.15%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   62.86%   68.01%   +5.15%
==========================================
  Files          87       87
  Lines       15601    15580      -21
==========================================
+ Hits         9807    10597     +790
+ Misses       5794     4983     -811

Impacted Files
Coverage Δ

ares/physics/HaloMassFunction.py
74.46% <83.33%> (+27.47%)
:arrow_up:

ares/phenom/ParameterizedQuantity.py
71.05% <0.00%> (+0.21%)
:arrow_up:

ares/physics/Cosmology.py
65.75% <0.00%> (+0.27%)
:arrow_up:

ares/util/Stats.py
65.62% <0.00%> (+0.48%)
:arrow_up:

ares/physics/HaloModel.py
26.93% <0.00%> (+0.58%)
:arrow_up:

ares/static/SpectralSynthesis.py
67.28% <0.00%> (+0.61%)
:arrow_up:

ares/populations/Composite.py
67.59% <0.00%> (+0.92%)
:arrow_up:

ares/populations/GalaxyAggregate.py
72.18% <0.00%> (+1.63%)
:arrow_up:

ares/populations/Population.py
65.96% <0.00%> (+1.89%)
:arrow_up:

ares/sources/SynthesisModel.py
73.02% <0.00%> (+2.72%)
:arrow_up:

... and 6 more

Continue to review full report at Codecov.

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


Proper error on Submariner not installed

This patch does the follwong:

Print proper error message while running
subctl show * when submariner is not
installed/removed in/from the cluster
Don't exit when subctl show * fails on
a cluster rather enumerate other clusters

Closes: #957
Closes: #958
Signed-off-by: Janki Chhatbar<EMAIL_ADDRESS>

mkolesni posted you an example here: https://github.com/mkolesnik/submariner-operator/commit/ba2a8e85d187bf2ac824a4f3a2c034e138cd10fd

mkolesni posted you an example here: https://github.com/mkolesnik/submariner-operator/commit/ba2a8e85d187bf2ac824a4f3a2c034e138cd10fd

mkolesni posted you an example here: mkolesnik@ba2a8e8

So getSubmarinerResource also has paths that print an error and exit.  So if we move the printing of the "not installed" message to the caller, shouldn't we be consistent and move the error handling as well?

mkolesni posted you an example here: mkolesnik@ba2a8e8

So getSubmarinerResource also has paths that print an error and exit.  So if we move the printing of the "not installed" message to the caller, shouldn't we be consistent and move the error handling as well?

mkolesni posted you an example here: mkolesnik@ba2a8e8

So getSubmarinerResource also has paths that print an error and exit. So if we move the printing of the "not installed" message to the caller, shouldn't we be consistent and move the error handling as well?

@mangelajo  @mkolesnik WDYT?

mkolesni posted you an example here: mkolesnik@ba2a8e8

So getSubmarinerResource also has paths that print an error and exit. So if we move the printing of the "not installed" message to the caller, shouldn't we be consistent and move the error handling as well?

@mangelajo  @mkolesnik WDYT?

Closing in favor of https://github.com/submariner-io/submariner-operator/pull/1030

Closing in favor of https://github.com/submariner-io/submariner-operator/pull/1030


Filter heartbeat in Offboard plugin to consider only autopilot heartbeats

Linked to issue #1213

Yep thanks, it should be OK now ?

Thanks @yhabib29!


Add Inteli

Inteli
https://www.inteli.edu.br/
https://www.inteli.edu.br/engenharia-da-computa
Gmail - Graduação Inteli l Informações sobre acessos.pdf
cao/#

@elisaflemer First stage of verification passed, official domain is inteli.edu.br as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@elisaflemer Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Support all options/codes/formats

Unofficial with all drafts: http://svn.tools.ietf.org/svn/wg/core/registry.txt
Official: http://www.iana.org/assignments/core-parameters/core-parameters.txt

The implementation should revert to number Content-Formats, when no media type string is registered. There is no reason to fail creating the IncomingMessage object. Generic clients built with the coap package cannot register all numbers with "unknown", just to allow for reception.


influxdb-python 5.2.0: Query with UTF-8 chars causes exception

Hello,
We observed a behavior change when moving from influxdb-python from 5.1.0 to 5.2.0.
A query containing non-ASCII UTF-8 characters was successfully executed with 5.1.0, but fails with 5.2.0.
Sample code:
# -*- coding: utf-8 -*-
from influxdb import InfluxDBClient
client = InfluxDBClient('localhost', 8086, 'user', 'pwd', 'test')
queryStr = 'SELECT value, value_meta FROM test.default_test."tempest-ｎａｍｅ-110197974"'
result = client.query(queryStr)

Pls. note: The strange looking "ｎａｍｅ" are UTF-8 characters used for testing.
Hex representation: EFBD8E, EFBD81, EFBD8D, EFBD85
With influxdb-python, version=5.1.0, the query works without problems
With influxdb-python, version=5.2.0, the query causes an exception:
Traceback (most recent call last):
  File "influxdb-client-issue.py", line 12, in <module>
    result = client.query(queryStr)
  File "/home/bandorf/.local/lib/python2.7/site-packages/influxdb/client.py", line 408, in query
    if query.lower().startswith("select ") and " into " in query.lower():
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 55: ordinal not in range(128)

Now, I've got the following questions:

Was this an intentional behavior change?
As of now, I consider this a bug.
Is there any work-around?

Thanks,
Matthias

@mattibf this bug is a result of https://github.com/influxdata/influxdb-python/blob/master/CHANGELOG.md#changed-1, specifically:
Update POST/GET requests to follow verb guidelines from InfluxDB documentation.
I will PR a fix in the next day or so, thanks for reporting this bug!

Any update on this? The bug is still present in version 5.2.1

The issue still exists in version 5.2.2.
It affects only Python 2 code. I could confirm that the client works nicely with Python 3.

The issue still exists in 5.2.3.

Please don't post after every release. We will close this issue when it is fixed.


Using underset does not render valid MathML

Before reporting a bug

[x] Check common issues.
[x] Check the bug is reproducible in the demo. If not, check KaTeX is up-to-date and installed correctly.
[x] Search for existing issues.

Describe the bug:
Using underset renders a MathML structure that is not valid so some elements become HTML elements that causes issues with sanitizers like dompurify that prohibits html elements from existing inside a mathml namespace.
To Reproduce:
Steps to reproduce the behavior:

Go to https://codepen.io/spocke78/pen/zYVyzJP?editors=1010 this takes a tex formula converts it to MathML then runs a check on the elements inside the math element to see if they are all MathML namespace elements.
Check that the red status message appear for \underset formulas so rendering that to MathML produces invalid markup and thus causing some elements like underset and mo to become HTML elements.
Try different formulas without \underset and notice that they pass meaning they don't produce anything other than MathML elements.

Expected behavior:
The mathml output option should produce valid MathML.
I expect the output for \underset ab to be something like:
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <semantics>
    <mrow>
      <munder>
        <mi>b</mi>
        <mi>a</mi>
      </munder>
    </mrow>
    <annotation encoding="application/x-tex">\underset{a}{b}</annotation>
  </semantics>
</math>

Instead we get this incorrect output:
<math xmlns="http://www.w3.org/1998/Math/MathML">
   <semantics>
      <mrow>
         <mi>
            <munder>
               <mo>
                  <mi>b</mi>
               </mo>
               <mi>a</mi>
            </munder>
         </mi>
      </mrow>
      <annotation encoding="application/x-tex">\underset ab</annotation>
   </semantics>
</math>

Environment (please complete the following information):

KaTeX Version: 0.16.11
Device: Desktop
OS: MacOS
Browser: Chrome, Firefox, Safari

I tried running the output MathML through a validator and it reports:

Element munder not allowed as child of element mi in this context.

This is presumably the root cause.

If you use this input \underset{!}{=} then it also nests mo elements that seems also invalid. Tested the output of that with the validator.
So it generates this output notice the nested mo elements for =:
<math xmlns="http://www.w3.org/1998/Math/MathML">
   <semantics>
      <mrow>
         <mo>
            <munder>
               <mo>
                  <mo>=</mo>
               </mo>
               <mo stretchy="false" lspace="0em" rspace="0em">!</mo>
            </munder>
         </mo>
      </mrow>
      <annotation encoding="application/x-tex">\underset{!}{=}</annotation>
   </semantics>
</math>

I think the structure should be:
<math xmlns="http://www.w3.org/1998/Math/MathML">
   <semantics>
      <mrow>
          <munder>
             <mo>=</mo>
             <mo stretchy="false" lspace="0em" rspace="0em">!</mo>
          </munder>
      </mrow>
      <annotation encoding="application/x-tex">\underset{!}{=}</annotation>
   </semantics>
</math>

But I don't know enough about the MathML spec to be sure.

If you just want MathML output, you might check out Temml which is a fork of KaTeX that aims to do a better job at MathML output. It'd be nice to merge its changes back into KaTeX, but it's a large task.


HotkeysModule and hotkeysShortcut pipe is not exported in 4.0.0

Upgraded to the latest 4.0.0, however this broke my code because apparently HotkeysModule and hotkeysShortcut  are no longer available.
Is this on purpose and it's just that Readme needs to be updated?
Anyone else seeing this?

me too.


Example of Column Oriented DataSource & Aggregation

The following in a suggested implementation of a {{getRow}} that consists of a getter for each of two known columns, ({{height}} and {{weight}}.
The idea of using getters here is to prevent a {{getRow}} implementation from deref'ing all column arrays. With getters each column is only deref'd when accessed.
function Row() {}
Row.prototype = {
    get height() { return column[1][this.n]; },
    get weight() { return column[0][this.n]; }
};

var column = [
    [222,180,145,240],
    [60,61,62,63]
];

var row = new Row();
row.n = 3;
row.height; // 63
row.weight; // 240

row.n = 1;
row.height; // 61
row.weight; // 180

function getRow(n) {
    row.n = n;
    return row;
}

var dataRow = getRow(2);
dataRow.height // 62
dataRow.weight // 145

Generalized:
function Row(fields) {
    this.rowIndex = 0;
    fields.forEach(function(fieldName, columnIndex) {
        Object.defineProperty(Row.prototype, fieldName, {
            get: function() {
                return column[columnIndex][this.rowIndex];
            }
        });
    });
}

DataSourceColumn.prototype.setFields(fields) {
    . . .
   row = new Row(fields);
};

DataSourceColumn.prototype.getRow(rowIndex) {
    row.rowIndex = rowIndex;
    return row;
}

@joneit has added a version of the above "generalized" code to the Computed Cells & Columns wiki page.

Alternatively and more drastically, all calls to getRow could be removed. Usages on [this]commit(https://github.com/openfin/fin-hypergrid/commit/275ec5c7c39c02489f88bb7bc78a863a0b91aade) are
       filterSubgrid // addon overrides it. Will be removed
       totalsToolkitSummarySubgrid // addon overrides it. Will be removed
       simple-sorting-pipeline // Will be removed
       sorting-example

      grid->behavior->dataModel + subgrids-> dataSourceOrigin-> Pipeline Objects..getRow
      behavior.get/setRowHeight
      behavior.clearAllCellProps
      dm.getIndexedData

      cellEvent.dataRow //Critical

      selection.getRowSelection
      selection.getColumnSelection
      selection.getRowSelectionMatrix
      selection.getColumnSelectionMatrix
      selection.getSelection
      selection.getSelectionMatrix

Discussion with  @stevewirts
"Hypergrid Thoughts..

the DataOrigin object should have a simple API that would look something like this,

getValue(x, y)
setValue(x, y, value)
getRowCount()
getColumnLabel(x)
getColumnType(x) - optional, but would make a huge difference in analytics for sorting/bucketing purposes
addDataChangedListener(callback)

Everything else is built on top of this.
This default DataOrigin object should be easy to replace (maybe passed in with config?)
The analytics should sit on top of this.
Row Objects should be avoided at all cost.  The inner workings of hypergrid should not use row objects.
To support application developer API hypergrid would have to provide them (generate them on the fly), but not use them internally.
This would provide for a more general grid control as it would be trivial to support both column and row oriented data structures.
When the datachanged listener is fired, the analytics should be re-applied, sorts/filters/aggregations/etc.
Don’t assume the getValue/setValue functions deal only with primitives, they should be free to take/return anything; numbers, dates, strings, objects, arrays, etc…

The ideal scenario for any high performance frontend gui display (like a grid or chart) is for the program to not have to transform the data in order for it to be used.
The above API should stay small and simple as developers should be able to implement it very easily for any shape of data.

Also take a look at this grid, It is probably the leading competitor for hypergrid.  It’s DOM based and has all the features of a great general grid control.
https://www.ag-grid.com/"


Refactor SASS files so modules can use variables

Related Issue or Background Info
Move SASS variable and configuration settings into a file separate from the main App.scss file. This lets components import config values such as colors in their own .scss file. I did just one simple change to show how it is used, the settings in the other files can be changed in later commits or refactors so we can get this merged soon.
This change doesn't allow the use of mixins or macros, I hadn't been using them in the previous project where I did this. I tried including a few other files but was only rewarded with errors about finding files because I think the search path is confused. If either of you know the magic to that we could give it a try.
This change doesn't affect the use of utility classes, so we can continue to use those where appropriate.

I think it's a good start. I found a utilities package packages/_uswds-utilities.scss, but when I tried to import it, I got errors that it couldn't find variables. I'm hoping this package would let us use the utility functions + tokens. So will need to keep digging or find some magic ✨

Yeah i don't know what it takes to get SASS to find the files. It seems like SASS is moving from the global @include model to a module-based @use model that would be helpful here, but at that point it would probably be easier to avoid SASS altogether and move to CSS variables, assuming that IE11 is not a concern.

I opened #860 just to test something out. I have a note about a potential solution in case anyone wants to take look.

I think this is ready to merge as-is. It can be enhanced in several ways but it would be good to get this part done first.

Friendly reminder to merge main to this PR, as new lint checks/configs were added by #885 and #995!