Regression Tests and gitlab CI support

This PR depends on https://github.com/microsoft/LightGBM/pull/4089

Regression here stands for testing method as described here . To not be confused with term regression tasks in ML realm.

This PR:

Add basic regression test supports

create report for all tests
many to many relationship between testing scripts and verified datas
multiple regression tests
sha1 and color report

Gitlab CI Support

to build lightgbm on the fly
run regression tests

Example Result: on gitlab
Caveats/Future Plans:

Gitlab CI Support depends on a image I created willianz/lightgbm-build-env:latest, this won't effect current upstream CI (Microsoft) whose CI were fulled on GitHub.
Regression Tests not yet added to GitHub CI
Current check implementation relies on local data generation for referencing data

as regression logics (caching and moving data around) should be more dependent on CI tool side instead of checking side
and there would be a pending decision on how Add-Remove-Change effects CI reports (are they strictly prohibited)

This PR depends on https://github.com/microsoft/LightGBM/pull/4089

Considering there are some local regression tests yet under development against Sequence feature

@jameslamb
Sorry for not making this clear.
Intention for this PR is to purpose what LightGBM seems to be lacking: Regression test that ensures LightGBM produces same outputs (intermediate results, models, predictions, etc) over commits or releases.
This is especially useful on project of this magnitude, specially when building, testing with large datasets takes huge amount of time or resources, while CI could step up offload those heavy tasks asynchronously during development cycle.
GitLab CI here serves as a demo. We have been testing legally protected datasets (e.g. Yahoo), as well as large ones (e.g. Higgs) on self hosted server. GitLab CI integrates well to our current testing infrastructure, also does not affect current public Github CI.
However considerations are: Regressions tests on a ML framework could be very different to traditional ones that requires each in-output to be  strictly unchanged, restrictions could be added where needed or instead prompting user for change if not fatal.
Despite running procedure could be arbitrary (C++, Python, R or any combination of those routine) and reporting mechanism is strongly sighted to CI tool adopted, It's really up to your design decision where restrictions or suggestion to put on regression changes.
TL;DR

Gitlab is just a proposal, it does not affect current GitHub CI procedure.
Please consider adding Regression tests.

Intention for this PR is to purpose what LightGBM seems to be lacking: Regression test that ensures LightGBM produces same outputs (intermediate results, models, predictions, etc) over commits or releases.

Thanks for the clarification.
Even though there isn't a separate directory in this project called regression_tests, many of the project's tests meet that definition...they are intended to catch breaking changes. For example, consider these tests that check for exact measures of metrics from training on a fixed  dataset:

https://github.com/microsoft/LightGBM/blob/26cde5f513d58ad567da7817d76da1418087d3df/R-package/tests/testthat/test_basic.R#L172-L173
https://github.com/microsoft/LightGBM/blob/26cde5f513d58ad567da7817d76da1418087d3df/R-package/tests/testthat/test_basic.R#L572-L573

We'd welcome a discussion about specific types of tests that the project is missing today, and then small, focused pull requests to add them one at a time.
Could you please close this pull request and open a feature request at https://github.com/microsoft/LightGBM/issues describing the types of tests that you believe LightGBM is missing?
Please be as specific as possible, for example:

tests that a model file written in version X can be used in version Y
tests that a Dataset file written by version X can be read by version Y
etc.

This pull request in its current state needs significant changes before it is likely to be accepted by maintainers, so I think this topic would benefit from some discussion first.

I agree with @jameslamb . There is no doubt that regression tests are very important. However, according to the provided definition,

Regression testing (rarely non-regression testing) is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change.

such tests can be written in quite different formats, not necessary as a special GitLab jobs.
I believe we already have regression tests for
metrics,
https://github.com/microsoft/LightGBM/blob/4530deda28063003c86925d9c5303b325492524f/tests/python_package_test/test_engine.py#L169
https://github.com/microsoft/LightGBM/blob/4530deda28063003c86925d9c5303b325492524f/tests/python_package_test/test_engine.py#L2662
internal model structure,
https://github.com/microsoft/LightGBM/blob/4530deda28063003c86925d9c5303b325492524f/tests/python_package_test/test_basic.py#L47-L48
printed outputs
https://github.com/microsoft/LightGBM/blob/4530deda28063003c86925d9c5303b325492524f/tests/python_package_test/test_utilities.py#L97
All these asserts check that LightGBM performs the same way it did in previous commit. I guess this is what regression tests are about.
I believe we should add more such tests with hardcoded expected results and make them more strict (for metrics on test datasets, for example) and pay more attention to PRs which change that values (#4349). Contributions are very welcome 😉 !
Sorry, but I think this PR in its' current state is not going to be merged.

I've created two issues to track specific pieces of work that I think are relevant to the discussion in this pull request.

#4406: regression tests on binary dataset files
#4407: regression tests on model files

Since it has been almost two months since https://github.com/microsoft/LightGBM/pull/4228#issuecomment-830706993 with no comment from non-maintainers on this pull request, I am closing this pull request and locking the conversation.
For anyone arriving at this discussion who is interested in contributing such regression tests, please comment on #4406 / #4407 or open a new issue.


pycache files snuck in pypi archive

(Original issue 1065 created by minusf on 2014-11-28T20:42:10.466110+00:00)
please remove in next release archive.
#!sh

$ ls -1 Pygments-2.0.1/tests/__pycache__ | wc -l
      27

edit: actually python2 .pyc files are also present in this directory

(Original issue 1065 last updated on 2015-03-08T06:45:01.116689+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2015-03-08T06:45:01.140791+00:00)
Thanks, this has been remedied in 2.0.2 and shouldn't happen again.


gtk3: 3.24.17 -> 3.24.18

Motivation for this change
GTK 3.24.17 has a critical issue which breaks many applications under Wayland. This issue was fixed in 3.24.18.
cc. @jtojnar @worldofpeace for review
cc. @FRidh for inclusion into the current staging merge
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I'm about halfway through building all the changed pkgs.

World rebuild was fine, I've been running this for a couple days and it's working normally.
It's ready to go.

@lovesegfault Are you sure, ofborg shows a build with a patch failing to apply
source root is gtk+-3.24.18
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file gtk+-3.24.18/build/win32/vs16/gtk3-version-paths.props
patching sources
applying patch /nix/store/aq2pv5ijchrhhk07lhmcscdjw8babgph-3.0-immodules.cache.patch
patching file gtk/deprecated/gtkrc.c
Hunk #1 succeeded at 774 with fuzz 1.
applying patch /nix/store/f0brcnzizhmn58nw3sdzcdaqgmfqfl1k-Xft-setting-fallback-compute-DPI-properly.patch
patching file gdk/x11/gdkxftdefaults.c
applying patch /nix/store/1g3l5z56gvj9z61f72p13n6x43ymz48m-01-build-Fix-path-handling-in-pkgconfig.patch
patching file meson.build
Hunk #1 succeeded at 852 (offset 18 lines).
applying patch /nix/store/3zvj1qhvakcmr4fnivsdczdgqjw51yrb-79732da1ed8cb167440fb047c72cfc0d888a187b.patch
patching file gdk/wayland/gdkwindow-wayland.c
Hunk #1 FAILED at 1635.
1 out of 1 hunk FAILED -- saving rejects to file gdk/wayland/gdkwindow-wayland.c.rej
builder for '/nix/store/lmkm9px8zmlr94m4hqyk9mj1a2jcs1gw-gtk+3-3.24.18.drv' failed with exit code 1

Oh, I rebased and now it fails; investigating.

@worldofpeace Fixed, removed patches that were already incorporated into this release

@worldofpeace Fixed, removed patches that were already incorporated into this release

Perfect, thanks @lovesegfault :sparkles:


Add missing newlines to the generated default_env.tres in new projects

This prevents unnecessary whitespace changes in VCS diffs when saving a scene for the first time in a new project.
This closes https://github.com/godotengine/godot/issues/59809.
Note: master doesn't have default_env.tres anymore, so this PR targets 3.x.

Thanks!


Corrupt videos

Hi
Some videos I encoded are corrupted and can't be played in any player.
Using FFMPEG, i get the following error. Something about "unspecified pixel format" and "analyzeduration" and "probesize".
Do you have any Idea what might be wrong?
[matroska,webm @ 0000021cea7ab4c0] Could not find codec parameters for stream 0 (Video: vp9 (Profile 0), none(tv, smpte170m), 1280x1280): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, matroska,webm, from '.\test.mp4':
Metadata:
encoder         : https://github.com/Vanilagy/webm-muxer
Duration: 00:00:09.64, start: 0.000000, bitrate: 2229 kb/s
Stream #0:0(eng): Video: vp9 (Profile 0), none(tv, smpte170m), 1280x1280, SAR 1:1 DAR 1:1, 1k tbr, 1k tbn (default)

How did you encode the video? Looks like the decoder-specific information is missing.

function initEncoder(
    encoderConfig: VideoEncoderConfig,
    muxerCodec: string,
): { mux: Muxer<ArrayBufferTarget>; enc: VideoEncoder } {
    // https://github.com/Vanilagy/webm-muxer
    let mux = new Muxer({
        target: new ArrayBufferTarget(),
        video: {
            codec: muxerCodec, // V_VP9, V_VP8, V_VP9, V_AV1, A_OPUS and A_VORBIS.
            width: encoderConfig.width,
            height: encoderConfig.height,
        },
        firstTimestampBehavior: 'offset', //'strict' | 'offset' | 'permissive'
    });

    let enc = new VideoEncoder({
        output: (chunk, meta) => {
            mux.addVideoChunk(chunk, meta as any);
            postMessage(EncodeWorkerResponse.FRAME_ENCODED({}));
        },
        error: e => console.error(e),
    });
    enc.configure(encoderConfig);

    return { mux, enc };
}

newFrame = new VideoFrame(offCanvas, {
        timestamp: frame.timestamp,
    });

    frameCounter++;
    let keyFrame = false;

    if (performance.now() - lastKeyFrame >= 300) {
        keyFrame = true;
        lastKeyFrame = performance.now();
    }

    encoder.encode(newFrame, { keyFrame });
    newFrame.close();

    if (payload.stopAfterFrame) {
        await encoder.flush();
        encoder?.close();

        muxer.finalize(); // Buffer contains final WebM file
        const buffer = muxer.target;
        lastKeyFrame = 0;

        if (buffer) {
            postMessage(EncodeWorkerResponse.ENCODING_COMPLETE({ data: buffer.buffer }));
        } else {
            postMessage(E.left({ message: 'invalid buffer after multiplexing' }));
        }
    }

The codec is either one of ['vp8', 'vp8.0', 'vp<IP_ADDRESS>', 'vp<IP_ADDRESS>', 'av01.0.05M.08', 'av01.0.08M.08']
It worked so far, the problems might have started with Chrome <IP_ADDRESS> update, but this I am still investigating.

Hi, @Vanilagy fyi I found the problem:
It seems that the Problem is Android 15 together with vp9, both profiles produce corrupt videos.
For now I disabled vp9 in our app. Thanks

@davidstrahm I see! Good to know.


Add NDS

I want to add a project an open source project the uses nsd package

Sure, you can raise a PR.

done


Bug: GitOps Cluster plugin does not start

@chanwit this happens when I click the plugin from the /explore page (on localhost).

acked.
I'll take a look.
Did you run the gitops-api backend on port 3008?

@chanwit no I did not -- which is most definitely the issue here. But nonetheless the plugin should fail a bit more gracefully 😏

@stefanalund yep sure. it should say that it expects the backend to run and probably provides some info how to run it.
I'll work on this fix :-)


index.js files are not checked in from a build machine

The GitHub action runs index.js. However, this file is not built & checked in from a build machine. Instead, the file is built on developer machines & checked in via the PR process. Changes in this file are difficult to review because the file is bundled via webpack; unrelated updates in third-party components can show up in the diff.
One approach to solve this problem is to build index.js in a pipeline and push it to a separate "release" repository or branch. Users would reference the "release" repository in consuming pipelines. This repository's source tree would only contain TypeScript files.

This issue was resolved, the index.js is now checked only in the release bits and via a build pipeline not the dev machine anymore


Some additions to the documentation

Some docs cleanup, changes for new features, descriptions of kwargs for annotations

Codecov Report

Merging #54 (ff10378) into main (46a70fd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #54   +/-   ##
=======================================
  Coverage   95.16%   95.16%
=======================================
  Files          22       22
  Lines        1179     1179
=======================================
  Hits         1122     1122
  Misses         57       57

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 46a70fd...ff10378. Read the comment docs.


community: Implement bind_tools for ChatTongyi

Description
Implement bind_tools in ChatTongyi. Usage example:
from langchain_core.tools import tool
from langchain_community.chat_models.tongyi import ChatTongyi

@tool
def multiply(first_int: int, second_int: int) -> int:
    """Multiply two integers together."""
    return first_int * second_int

llm = ChatTongyi(model="qwen-turbo")

llm_with_tools = llm.bind_tools([multiply])

msg = llm_with_tools.invoke("What's 5 times forty two")

print(msg)

Streaming is also supported.
Dependencies
No Dependency is required for this change.

I also did some refactoring.
The main challenge of supporting tools for Tongyi, is that Tongyi does not support using tools with incremental_output=True yet, which means every new chunk contains the content of previous chunks. However, some internal methods of  Langchain assume the opposite.
That's why I end up writing a subtract_client_response method, to chop off duplicated content when streaming without incremental_output=True.

When i use ChatTongyi, bind_tools provide an error about "NotImplementedError (note: full exception trace is shown but execution is paused at: _run_module_as_main) , exception: no description". I am sure i have correct prompt and tools' description.

OK FINE, this method has not been implemented yet. ->langchain_core/language_models/chat_models.py"
langchain_core == 0.1.52

I Use ChatTongyi to bulid a Agent.
Which outputparser I could use?
ToolsAgentOutputParser() could not available to ChatTongyi.
LangChain-core==0.2.1

`from langchain_core.tools import tool
from langchain_community.chat_models.tongyi import ChatTongyi
@tool
def multiply(first_int: int, second_int: int) -> int:
"""Multiply two integers together."""
return first_int * second_int
llm = ChatTongyi(model="qwen-turbo")
llm_with_tools = llm.bind_tools([multiply])
msg = llm_with_tools.invoke("What's 5 times forty two")
print(msg)`
this code can't call multiply in langchain 0.2.6?


support for aarch64 macOS

For macOS aarch64, I think trunk should download x64 version of wasm-bindgen instead of throwing error unsupported architecture because aarch64 mac can run x64 binaries with Rosetta.

any workaround in the meantime?

2 PRs already, neither merged https://github.com/thedodd/trunk/pulls .
you can still download the fork locally to run trunk(I'm already doing that).

This works (in 0.16.0) #401


[ISSUE #262] MessageStore IndexService performance improve

Please do not create a Pull Request without creating an issue first.
What is the purpose of the change .  #262
Using RandomAccessFile read and write instead of MappedFile for IndexFile read and write to improve send performance.
Brief changelog
Replace IndexFile read write with RandomAccessFile read and write.
Verifying this change
This is a trivial change.
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage decreased (-0.06%) to 41.43% when pulling 49a62b3edd37e139b95d435ddc82a9ef7932cee9 on lindzh:fix_index_latency into 5db240f39208374117342c5852b3a32061c8e6ef on apache:develop.


Constructing StartOrCursor.Cursor

Is there a practical reason the StartOrCursor.Cursor has an internal constructor?  I have a case where I'm exposing solr results through a rest api.  I'd like to be able to return the next cursor and let the user send it back to me for the next page to do something like:
queryOptions.StartOrCursor = new StartOrCursor.Cursor([cursor string from request]);

but currently the only way to queryOptions.StartOrCursor is from a previous queryResult.NextCursorMark which can't be done through stateless requests.

It was to prevent invalid values (the constructor was only used when parsing the response).
But yeah, you're right, I just made it public.
Cheers


Proposed Method : "Social media search engine by integrating it with their APIs"

Have you ever tried to find some meme or media that you don't know how to search for? Instead, if you could describe it, there would be a model that can search your description through social media. I am thinking that this project can push the concept of becoming a media search engine in social media by integrating it with their APIs.
Do you think it would be possible?
And if you wish, I would love to contribute to this.

Hey, this is possible theoretically, but my experience with Social Media APIs suggests this might be a bit difficult. I've done integrations both with X and Instagram recently and they are both very restrictive and/or expensive for this use case. Basically, they don't want to give you access to all of their data, even less nowadays in the context of LLMs, where many people are trying to train models on recent data.
Otherwise I agree - I often try to find some image I saw based on its description, but struggle with that. Another option may be something like Rewind AI that records your screen and lets you search in what you saw. I find it too creepy to allow another company to have that access to my data though


pyinstaller-osx doesn't create OSX executables

Describe the bug
batonogov/pyinstaller-osx:latest doesn't create OSX executable.
Following warning is shown:
7763 WARNING: Ignoring icon; supported only on Windows and macOS!

To Reproduce
Steps to reproduce the behavior:

Clone https://github.com/imxade/pictopygsoc
Go inside pictopygsoc
Run: docker run --volume "$(pwd):/src/" batonogov/pyinstaller-osx:latest

Expected behavior
Creates OSX executable
Log

182 INFO: PyInstaller: 6.9.0, contrib hooks: 2024.7
182 INFO: Python: 3.12.3
185 INFO: Platform: Linux-6.1.85+-x86_64-with-glibc2.39
185 INFO: Python environment: /root/.local/share/pipx/venvs/pyinstaller
187 INFO: Removing temporary files and cleaning cache in /root/.cache/pyinstaller
188 INFO: Module search paths (PYTHONPATH):
['/usr/lib/python312.zip',
 '/usr/lib/python3.12',
 '/usr/lib/python3.12/lib-dynload',
 '/root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages',
 '/root/.local/share/pipx/shared/lib/python3.12/site-packages',
 '/src']
350 INFO: Appending 'datas' from .spec
351 INFO: checking Analysis
351 INFO: Building Analysis because Analysis-00.toc is non existent
351 INFO: Running Analysis Analysis-00.toc
351 INFO: Target bytecode optimization level: 1
351 INFO: Initializing module dependency graph...
354 INFO: Caching module graph hooks...
365 INFO: Analyzing base_library.zip ...
1143 INFO: Loading module hook 'hook-encodings.py' from '/root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages/PyInstaller/hooks'...
3973 INFO: Loading module hook 'hook-pickle.py' from '/root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages/PyInstaller/hooks'...
5232 INFO: Loading module hook 'hook-heapq.py' from '/root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages/PyInstaller/hooks'...
6033 INFO: Caching module dependency graph...
6139 INFO: Looking for Python shared library...
6147 INFO: Using Python shared library: /usr/lib/libpython3.12.so.1.0
6148 INFO: Analyzing /src/build.py
6157 INFO: Loading module hook 'hook-sqlite3.py' from '/root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages/PyInstaller/hooks'...
6440 INFO: Processing module hooks...
6474 INFO: Performing binary vs. data reclassification (7 entries)
6507 INFO: Looking for ctypes DLLs
6519 INFO: Analyzing run-time hooks ...
6522 INFO: Including run-time hook '/root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages/PyInstaller/hooks/rthooks/pyi_rth_inspect.py'
6529 INFO: Looking for dynamic libraries
6926 INFO: Warnings written to /tmp/build/warn-build.txt
6940 INFO: Graph cross-reference written to /tmp/build/xref-build.html
6953 INFO: checking PYZ
6953 INFO: Building PYZ because PYZ-00.toc is non existent
6954 INFO: Building PYZ (ZlibArchive) /tmp/build/PYZ-00.pyz
7761 INFO: Building PYZ (ZlibArchive) /tmp/build/PYZ-00.pyz completed successfully.
7763 WARNING: Ignoring icon; supported only on Windows and macOS!
7772 INFO: checking PKG
7773 INFO: Building PKG because PKG-00.toc is non existent
7773 INFO: Building PKG (CArchive) PictoPy.pkg
12696 INFO: Building PKG (CArchive) PictoPy.pkg completed successfully.
12698 INFO: Bootloader /root/.local/share/pipx/venvs/pyinstaller/lib/python3.12/site-packages/PyInstaller/bootloader/Linux-64bit-intel/run
12698 INFO: checking EXE
12698 INFO: Building EXE because EXE-00.toc is non existent
12698 INFO: Building EXE from EXE-00.toc
12698 INFO: Copying bootloader EXE to /src/dist/PictoPy
12699 INFO: Appending PKG archive to custom ELF section in EXE
13075 INFO: Building EXE from EXE-00.toc completed successfully

Docker information (please provide the following information):

Docker image: batonogov/pyinstaller-osx:latest
Docker version: 24.0.9
Run command: docker run --volume "$(pwd):/src/" batonogov/pyinstaller-osx:latest

.spec file
# -*- mode: python ; coding: utf-8 -*-

a = Analysis(
    ['build.py'],
    pathex=[],
    binaries=[],
    datas=[('static/', 'static/'),('models/', 'models/'),],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=1,
)
pyz = PYZ(a.pure)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.datas,
    [],
    name='PictoPy',
    icon='static/asset/favicon.ico',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)

Hi Thanks for the issue. I managed to reproduce the problem myself. I'll try to figure it out.
zsh: exec format error: ./main

Same problem, I think it is actually a linux program compiled under archlinux 🥲

https://www.bleepingcomputer.com/news/security/docker-osx-image-used-for-security-research-hit-by-apple-dmca-takedown/amp/
:(

https://www.bleepingcomputer.com/news/security/docker-osx-image-used-for-security-research-hit-by-apple-dmca-takedown/amp/

Apple being themselves,
Github-actions seems to be the only way for now.

Due to the removal of sickcodes/docker-osx images, I decided to remove the osx image build as it breaks the pipeline. :(
If you have any suggestions, please submit your merge requests.


Closes #345, Introduces KustoQuery wrapper object

Added

KustoQuery object

Why:
Adding this object allows for extensibility without changing method signatures or chaining methods until you reach an implementation, which should reduce the surface of the library and make the code easier to read. Currently to execute a command you must pass each property needed individually. Sometimes this results in a lot of method chaining, which can get pretty verbose and hard to track. Additionally, when new options are made available to the user, more chains are needed to account for this, which means a lot more verbosity.
Request:
Deprecate the old methods that take each parameter individually, including the command and management methods, in favor of a single execute method that takes a KustoQuery object. This is a big change for users, however it should be a relatively simple one, and if the methods are annotated as being deprecated for a time prior to removal, this will give users time to migrate to using the KustoQuery object.
New usage:
   var client = ClientFactory.createClient(engine_connection_string, httpClientProperties);

   // Example 1:
   client.execute(new KustoQuery("my query"));

   // Example 2
   var myProperties = new ClientRequestProperties();
   var query = new KustoQuery("my query", myProperties);
   client.executeToJsonResult(query);

I meant to open this in draft. If there is interest in the request section, I can annotate the methods in question as deprecated.

I dont think we want this to be on our public API , we try to maintain a fairly similar API in all our sdks

I dont think we want this to be on our public API , we try to maintain a fairly similar API in all our sdks

@ohadbitt the reason I really liked this is just that a wrapper object like this really shortens your method signatures and reduces the number of methods you need to maintain. The object acts as a simple container that can hold whatever needs to be sent between methods, which in the long run saves you from needing to add more methods with different signatures when that context undergoes changes. For instance, when you need to add an enhancement you can just add the additional context to the wrapper, add the logic to the method implementation that consumes the wrapper, and then add your documentation. If you package JavaDocs the documentation is just some comments over some getters/setters.
If you have a chance, can you check out my comments over on issue #249 ? I was hoping to preface the async implementation with this, but I don't mind following one of the other potential paths if you have a preferred implementation instead. I get wanting to keep the SDKs aligned for sure.

We actually want to remove some of the overload in the next version.
This week Me and Ohad will brainstorm on the async design, and we'll see how the API will change.
Maybe this class should be used internally?

We actually want to remove some of the overload in the next version. This week Me and Ohad will brainstorm on the async design, and we'll see how the API will change. Maybe this class should be used internally?

I think unless you exposed the container object like this one on the API somewhere, you would have to chain/overload methods. That said, if it's important to chain methods to keep the APIs aligned, I don't mind writing some extra boilerplate. Let me know what y'all come up with on the async implementation. I've been messing around with it. There's a lot of work no matter which way we go.

@ohadbitt @AsafMah  Can either of you trigger CI tests to run on this for me? I am confident it passes.

Don't know since when it's a thing, but github won't run the trigger on PRs with merge conflicts - https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request
So can you fix those first?

Don't know since when it's a thing, but github won't run the trigger on PRs with merge conflicts - https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request
So can you fix those first?

Since the two branches are so different and the diffs are really hard to read , I'm probably going to create a new branch and manually verify each file individually. I don't want to throw out anyone's commits but there's major changes between this branch and main, so it probably makes sense to start fresh and check each file by hand. Otherwise I'd have to cherry pick commits, and that doesn't sound fun.


bugfix (#249)

atomic patch no more deletes current working directory

Why this order change solves your issue?

well, here libmicroros.mk the path specified to rm command happens to be the current working directory, which results in uncertain behavior.
just switching to another directory before performing rm fixes the issue

@mergify backport humble iron


Authenticate on a backend server with Google account

Hello, I already have dj-rest-auth in my app.
How can I authenticate user on a backend server with Google account - https://developers.google.com/identity/sign-in/android/backend-auth
I dont want to reinvent the wheel, maybe you could point me out how to do this with dj-rest-auth
Thanks in advance!

it's already on dj rest auth docs please read carefully and implement the code to login with google.
https://dj-rest-auth.readthedocs.io/en/latest/installation.html

So I made it up almost like described here
But now I got
django.urls.exceptions.NoReverseMatch: Reverse for 'account_confirm_email' not found. 'account_confirm_email' is not a valid view function or pattern name.
So my question is, if email is verified by social provider, in my case Google and I have this key-value pair in response
'email_verified': True,
Should I verify email again in case if its mandatory?

So I made it up almost like described here
But now I got django.urls.exceptions.NoReverseMatch: Reverse for 'account_confirm_email' not found. 'account_confirm_email' is not a valid view function or pattern name. So my question is, if email is verified by social provider, in my case Google and I have this key-value pair in response 'email_verified': True,  Should I verify email again in case if its mandatory?

Its for custom sign up when user create an account with email user need to verify with verification email link, you can turn off this in settings.py

got it, I want get data from provider and "auto verify" email if its verified by google or facebook. In case email sign up I want to leave email verification mandatory, so there would be email confirmation sent.

got it, I want get data from provider and "auto verify" email if its verified by google or facebook. In case email sign up I want to leave email verification mandatory, so there would be email confirmation sent.

Once you login with google, google response a token you have to provide this token in Google login api then it's auto create a account for u in database and response jwt token and user profile. You can use that email to login only with google not direct login.

You can use that email to login only with google not direct login.
yes, but how auto verify email if its already verified by google?

You can use that email to login only with google not direct login.

yes, but how auto verify email if its already verified by google?

Account already created with google email and verified you don't need to verify that email again if u try to  register with same email it's raise an error email already exist.

Account already created with google email and verified you don't need to verify that email again

Not really

So I disabled email verification for social accounts

when you logged in through social account it will show on social account model which is in bottom, and in email addresses will show only email which is custom sign up and once you clicked on confirmation email then verified will true else false.

don't need to verify email with social login.


Edge-based CH does not handle u-turns with virtual edges correctly

This test fails with an exception: abf35b0a7443f2f131c912abd98776d370ee6881
    @Test
    public void test_Issue1592() {
        //      6   5
        //   1<-x-4-x-3
        //  ||    |
        //  |x7   x8
        //  ||   /
        //   2---
        NodeAccess na = graph.getNodeAccess();
        na.setNode(0, 49.407117, 9.701306);
        na.setNode(1, 49.406914, 9.703393);
        na.setNode(2, 49.404004, 9.709110);
        na.setNode(3, 49.400160, 9.708787);
        na.setNode(4, 49.400883, 9.706347);
        EdgeIteratorState edge0 = graph.edge(4, 3, 194.063000, true);
        EdgeIteratorState edge1 = graph.edge(1, 2, 525.106000, true);
        EdgeIteratorState edge2 = graph.edge(1, 2, 525.106000, true);
        EdgeIteratorState edge3 = graph.edge(4, 1, 703.778000, false);
        EdgeIteratorState edge4 = graph.edge(2, 4, 400.509000, true);
        // cannot go 4-2-1 and 1-2-4 (at least when using edge1, there is still edge2!)
        addRestriction(edge4, edge1, 2);
        addRestriction(edge1, edge4, 2);
        // cannot go 3-4-1
        addRestriction(edge0, edge3, 4);
        graph.freeze();
        LocationIndexTree index = new LocationIndexTree(graph, new RAMDirectory());
        index.prepareIndex();
        List<GHPoint> points = Arrays.asList(
                // 8 (on edge4)
                new GHPoint(49.401669187194116, 9.706821649608745),
                // 5 (on edge0)
                new GHPoint(49.40056349818417, 9.70767186472369),
                // 7 (on edge2)
                new GHPoint(49.406580835146556, 9.704665738628218),
                // 6 (on edge3)
                new GHPoint(49.40107534698834, 9.702248694088528)
        );

        List<QueryResult> queryResults = new ArrayList<>(points.size());
        for (GHPoint point : points) {
            queryResults.add(index.findClosest(point.getLat(), point.getLon(), EdgeFilter.ALL_EDGES));
        }

        RoutingAlgorithmFactory pch = automaticPrepareCH();
        QueryGraph queryGraph = new QueryGraph(chGraph);
        queryGraph.lookup(queryResults);
        RoutingAlgorithm chAlgo = pch.createAlgo(queryGraph, AlgorithmOptions.start()
                .traversalMode(TraversalMode.EDGE_BASED_2DIR)
                .build());
        Path path = chAlgo.calcPath(5, 6);
        // there should not be a path from 5 to 6, because first we cannot go directly 5-4-6, so we need to go left
        // to 8. then at 2 we cannot go on edge 1 because of another turn restriction, but we can go on edge 2 so we
        // travel via the virtual node 7 to node 1. From there we cannot go to 6 because of the one-way so we go back
        // to node 2 (no u-turn because of the duplicate edge) on edge1. And this is were the journey ends: we cannot
        // go to 8 because of the turn restriction from edge1 to edge4 -> there should not be a path!
        assertFalse("there should not be a path, but found: " + path.calcNodes(), path.isFound());
    }

This is the error message
java.lang.IllegalStateException: Edge 5 not found with adjNode:1. found edges were:3->5, 5->3

	at com.graphhopper.routing.QueryGraph.getEdgeIteratorState(QueryGraph.java:564)
	at com.graphhopper.routing.ch.Path4CH.getEdge(Path4CH.java:98)
	at com.graphhopper.routing.ch.Path4CH.processEdge(Path4CH.java:47)
	at com.graphhopper.routing.PathBidirRef.extract(PathBidirRef.java:90)
	at com.graphhopper.routing.AbstractBidirAlgo.extractPath(AbstractBidirAlgo.java:297)
	at com.graphhopper.routing.AbstractBidirAlgo.calcPath(AbstractBidirAlgo.java:95)
	at com.graphhopper.routing.ch.CHTurnCostTest.test_Issue1593(CHTurnCostTest.java:728)

but the error is simply that QueryGraph#lookup is run before the CH contraction, which does not make much sense anyway (and is never done in production code). Maybe we could throw an error if a virtual edge is encountered during the graph contraction (requires some instanceof check or adding an isVirtual() method to EdgeIteratorState interface or we have to find out the exact reason for this error and make sure that in principle the CH preparation also works when it is run after QueryGraph#lookup).
After fixing this (I have adjusted the previous comment accordingly), the test shows the real routing problem: CH finds a path that should not be found, because it takes a forbidden u-turn at node 1. The u-turn check here:
https://github.com/graphhopper/graphhopper/blob/7df1bbab1c07b6835c2a49c5b79b9eeed44dba5a/core/src/main/java/com/graphhopper/routing/AbstractBidirectionEdgeCHNoSOD.java#L150-L157
fails, because the u-turn is checked by comparing the first/last orig edge ids of the virtual edge 7-1 and the shortcut edge 1-4 and the virtual edge state returns the virtual edge id as first/last orig edge:
https://github.com/graphhopper/graphhopper/blob/7df1bbab1c07b6835c2a49c5b79b9eeed44dba5a/core/src/main/java/com/graphhopper/routing/VirtualEdgeIteratorState.java#L285-L293
The virtual edge id obviously does not match the (real) first/last orig edge id of the shortcut.

Fixing this is not so trivial and what bothers me here once again is that we even do these u-turn checks. They are separated from the calculation of the edge weights, which already include the turn costs via the prevOrNextEdgeId parameter in calcWeight and IMO would be the right place to apply the u-turn costs/restrictions also. For me this has caused many problems in the past (in retrospective I might say maybe 70% of the routing issues I found for edge-based CH where related to this) and the u-turn prevention should really be included in calcTurnWeight. The TurnWeighting would then be the place where we configure the default u-turn costs (no need for two different TraversalModess). However, since this requires quite a bit of refactoring I think here we should just do some hacky quick fix (even though I haven't really figured it out yet). Related to #1520.

And with u-turns I mean turning onto the same edge we came from. I am not talking about more complex 'u-turns' where we switch to the opposite lane (another edge in the routing graph) as they are handled in the instructions. Handling these on the level of the routing algorithms would be much more involved.

I think I found a fix that is not too much of a hack :)  -> #1596.

Thanks for finding and fixing this. But this fix does not move the U-turn check into the calcWeight method - did I understand this correctly?

Ok, removed my comment as I understood it wrong. So thanks again for finding and fixing this :D


m.IterBuffered causing dead lock

deadlock will be detected in following test case
i think it's because m.Count() and it's count value is not lock protected in m.IterBuffered
func TestBufferedIterator(t *testing.T) {
    m := New()

    // Insert 100 elements.
    for i := 0; i < 100; i++ {
        m.Set(strconv.Itoa(i), Animal{strconv.Itoa(i)})
    }

    // Iterate over elements.

    //iter while put
    tcounter := new(int32)
    wg := &sync.WaitGroup{}
    var ct <-chan Tuple
    for j := 0; j < 10000; j++ {
        i := j
        if i == 999 {
            wg.Add(1)
            go func() {
                defer wg.Done()
                ct = m.IterBuffered()
                /*
                    for item := range m.IterBuffered() {
                        val := item.Val

                        if val == nil {
                            t.Error("Expecting an object.")
                        }
                        atomic.AddInt32(tcounter, 1)
                    }
                */
            }()
        } else {
            wg.Add(1)
            go func() {
                defer wg.Done()
                m.Set(strconv.Itoa(i), Animal{strconv.Itoa(i)})
            }()
        }
    }
    wg.Wait()
    fin := atomic.LoadInt32(tcounter)
    fmt.Println("tmp counter", fin)

    counter := 0
    for item := range m.IterBuffered() {
        val := item.Val

        if val == nil {
            t.Error("Expecting an object.")
        }
        counter++
    }

    if counter != 10000-1 {
        t.Error("We should have counted 10000-1 elements.", counter)
    } else {
        fmt.Println("iter buffered count", counter)
    }

    wg = &sync.WaitGroup{}
    for j := 0; j < 1000; j++ {
        i := j
        wg.Add(1)
        go func() {
            defer wg.Done()
            m.Set(strconv.Itoa(i), Animal{strconv.Itoa(i)})
        }()
    }
    wg.Wait()

    ctcount := 0
    for item := range ct {
        val := item.Val

        if val == nil {
            t.Error("Expecting an object.")
        }
        ctcount++
    }
    fmt.Println("ct count", ctcount)
}

Old + Comment...
// Returns a buffered iterator which could be used in a for range loop.
func (m ConcurrentMap) IterBuffered() <-chan Tuple {
	ch := make(chan Tuple, m.Count())
        // Race Condition... Imagine a Goroutine (Consumer) wants to do an insert
       // (and succeeds for a while)  while iterating the map; you would need to acquire
       // the Writer Lock on that shard...
       // The issue is that the Goroutines currently serving these (Producers)
       // hold the Reader Lock, and hence the Consumer, wanting to insert, will be blocked, waiting for
       // the Producers. The issue is that, if there is no Consumer, and if we fill up the channel's
       // buffer, they block, waiting for the Consumer, who is in turn, waiting on them.
	go func() {
		wg := sync.WaitGroup{}
		wg.Add(SHARD_COUNT)
		// Foreach shard.
		for _, shard := range m {
			go func(shard *ConcurrentMapShared) {
				// Foreach key, value pair.
				shard.RLock()
				for key, val := range shard.items {
					ch <- Tuple{key, val}
				}
				shard.RUnlock()
				wg.Done()
			}(shard)
		}
		wg.Wait()
		close(ch)
	}()
	return ch
}

How could this be fixed? Forward declare the channel, and add some more WaitGroups so that both do not begin until all shards are locked and the channel has been created (with the appropriate count, since as soon as the Reader Lock is held, no more inserts can be done, and therefore the count is immutable). However, it's more of a hackish way of solving the problem.

fixed merged to master: https://github.com/orcaman/concurrent-map/pull/51


feat(engines): support for node 20

Strapi is phasing out Node.js version 16 support, prompting the need to upgrade to Node.js version 20 for alignment with Strapi requirements.

Hey @pavelglac ,
Thank you so much for the PR!
I‘ll have a look next week, sorry for the delay 🥲

@all-contributors please add @pavelglac  for code


fix: loosen capistrano version requirement

Allows newer versions:
https://github.com/capistrano/capistrano/releases

Thanks for the PR. I was just about to do the same. Let's. hope it's merged soon.


More form validation Options

I have added two validation methods to validate date and time for a given or default format

Duplicate of #4346.


Getting a complex type from the ComplexTypeCollection by the condition

I have a collection of complex types. I want to get a specific complex type from this collection by condition.
The use case:
"transcription": [
          {
              "text": "Hello world!!!",
              "start": "0:00:03.52",
              "end": "0:00:11.24"
          },
          {
              "text": "Bye world!!!",
              "start": "0:00:11.44",
              "end": "0:00:11.64"
          }
]

I want to get the complex object {               "text": "Hello world!!!",               "start": "0:00:03.52",               "end": "0:00:11.24"           } based on the condition that it contains the word "hello" in the "text" field
Is it possible?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Content: How to model complex data types - Azure Search
Content Source: articles/search/search-howto-complex-data-types.md
Service: search
GitHub Login: @brjohnstmsft
Microsoft Alias: brjohnst

@decadance-dance
Thanks for your feedback! We will investigate and update as appropriate.

Hi @decadance-dance, the filter expressions you want look into would be search.ismatch and search.ismatchscoring as the OData filter expressions that combine the full text search with strict Boolean filtering. For more information on these filters, see OData full-text search functions in Azure Cognitive Search - search.ismatch and search.ismatchscoring.
You can also look into using the search.in function which allows you to search within an array of values; see OData search.in function in Azure Cognitive Search for information.


Clarify the logic for detecting maintenance mode.

Purpose of this pull request
This pull request attempts to clarify the logic which explains how and when maintenance mode is enabled.
Affected pages
https://experienceleague.adobe.com/en/docs/commerce-operations/installation-guide/tutorials/maintenance-mode

@devops-devdocs import the pr

Something went wrong

@devops-devdocs import the pr

Something went wrong

@devops-devdocs import the pr

@devops-devdocs imported this pull request


Allow skipping CI run on commit, copied from Nim/#15289 (with fix from Nim/#15556)

Allow skipping CI run on commit, copied from Nim/#15289 (with fix from Nim/#15556)

Can you remove your second commit? (That part is now fixed in master)


Tell users not to use conditional reveals to reveal text (for example contextual help)

What
Tell users not to use conditional reveals to reveal text (for example contextual help) – they should only be used to reveal related form fields. Any other use would need to be thoroughly research and tested.
This guidance should be added to the 'Conditionally revealing content' section for both the checkboxes and radios components.
Why
As part of an audit of GOV.UK, the conditional reveals on https://www.gov.uk/email-signup?link=/world/switzerland were flagged as failing WCAG 4.1.2.

The page uses the conditional reveals in an unusual way, as what’s being revealed is effectively contextual help (like a hint) that would help the user to make the right choice. Whereas the way we currently intend the component to be used (as per the examples on https://design-system.service.gov.uk/components/radios/#conditionally-revealing-content) is to reveal additional form controls that ‘follow on’ from the radios.
It fails because changes to the expanded ‘state’ of the radio buttons are not always available to assistive tech, and so users may be unaware that something else has changed on the page as a result of selecting a radio. This is true regardless of what type of content is being revealed.
However, when used to reveal form controls, we think that the user is very likely to discover the revealed control as they navigate forwards from the radio button or checkbox. When used to reveal text, the text is not focusable and so is unlikely to be discovered.
We therefore want to discourage users from using conditional reveals in this way, whilst we investigate solutions to the broader issue.

I've used this pattern before successfully - though I don't recall specifically testing this with AT.
Would a similar issue occur if it revealed a form control that was prefaced with a heading / paragraph of text?

yep, the user wouldnt know about the text, just the form control because they move to it

I think it'll depend on how they're navigating through the page. I don't think it's true to say they definitely wouldn't know about the text, but it's a lot more likely that they'd miss it.

I think your are referring being in forms mode as opposed to browse mode of a screenreader.
In forms mode the elements that are not (programmatically associated with) fields may not are not read out.


No example to redirect a new page and open a new page

I study all the doc and try all example on http://flexx.readthedocs.io/, but I don't find a way to redirect a new page and open a new page, I think, it is a common usage for desktop app and web app.
Please give some sample.

Related to #189

Made an example: https://github.com/flexxui/flexx/blob/master/flexxamples/howtos/redirect.py (visible as soon as #486 is merged)


libmraa on Edison isn't versioned

We should pin a specific version for libmraa and update it whenever we see fit here https://github.com/resin-io-library/base-images/blob/master/device-base/Dockerfile.i386.edison.tpl#L22-L26.
The current version of the library is v0.8.1.

fixed in https://github.com/resin-io-library/base-images/commit/5ba2f11a7934001b82799f7b56c67abac1303e32


More Content

This makes the site into a longer page with all the event details listed. (We could do with longer copy for each one).

New copy: an intro header and "how to get involved" & CoC sections
There's a service worker for web fonts. It doesn't make much of a difference for the main page, though it makes it easier to hack on locally without network.
There's rudimentary "organisers" support, though I wasn't happy with the look of it, so I've left it off for now.

Looks neat 👍


Buy Me Coffee Link is Broken

The Buy Me Coffee Link is broken. Please fix so I can get you an XXL coffee.

😄thanks. Fixed!


Shard readGroupSets using the associated referenceSet.

Take a look at https://github.com/deflaux/dataflow-java/commit/33f0cfffd0a500b63ff2d4f9e1640b0488921de0 so see how this change could be used downstream. (but I plan to refactor that refactor; it needs a bit more work)

Thanks for the feedback @calbach. PTAL
I switched to Coverage Buckets for read group set sharding.  Its much better to use something available for all read group sets.  I left the getReferenceId and getReference methods in the utility class since they're generally useful.

LGTM

LGTM
On Oct 13, 2015 1:15 PM, "Nicole Deflaux"<EMAIL_ADDRESS>wrote:

Thanks for the feedback @calbach https://github.com/calbach. PTAL
I switched to Coverage Buckets for read group set sharding. Its much
better to use something available for all read group sets. I left the
getReferenceId and getReference methods in the utility class since they're
generally useful.
—
Reply to this email directly or view it on GitHub
https://github.com/googlegenomics/utils-java/pull/64#issuecomment-147839322
.


Run exo with exo

Yo dawg. I heard you like exo...
This work will allow us to dev the local version of exo but run it using a released version of exo.

Fixes #38


Change Speedtest Destination.

Is it possible to change/define what destination speedtest uses to perform its test?  I tried digging through the configuration files and could only find changing the test interval

See this issue: https://github.com/geerlingguy/internet-pi/issues/62


[HowTo] How create private/public key with openssl and..

Hello, im trying to create an public/private ecc keyPair address with openssl linux binaries, no problem, but when I sign something with linux with my priv key, im unable to verify signature in nodejs with public address and signature.
Any help?

Closing this as old


Capture 3d data including camera intrinsics over time

Motivation and Context
Store some extra data to make sure that we can capture the 3d info we need for usa-nets/clip-fields.
Changelog

info field in sparse voxel map
pickle function

How Has This Been Tested

real robot tests

Types of changes

[X] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have made changes to existing documentation where needed.
[ ] I have added tests that show that the PR is functional.
[X] I ran tests/hw_manual_test.py on hardware and observed that robot behavior looks normal.

scan data looks like this


Add support for scrollbars in FlexboxLayoutManager

I just noticed that FlexboxLayoutManager does not override computeVerticalScrollRange() and computeVerticalScrollExtent() that are required for drawing scrollbars. Additionally, I cannot use View#canScrollVertically() either to check if the list can be scrolled further because it internally calls the same two methods.
Will it be possible to add support for this?

Thanks for bringing this up.
Yes, that should be supported. I'll keep this issue as an enhancement.

Thank you!

Fixed by #272


File name can't show.

When I update to v0.14.
Some file name can't show.
(e.g. CHT, JPN)
And it can't Open in Explorer.
(v0.13 without this problem.)

Hello!
Can you attach the torrent file? Or send it to me at
<EMAIL_ADDRESS>On Thu, 12 Apr 2018 at 17:35, Yui Mitsuki<EMAIL_ADDRESS>wrote:

When I update to v0.14.
Some file name can't show.
(Ex. CHT、JPN)
And it can't Open in Explorer.
(v.0.13 without this problem.)
[image: image]
https://user-images.githubusercontent.com/5698157/38687643-b9f30f76-3ea9-11e8-8001-989ab9de27d0.png
[image: image]
https://user-images.githubusercontent.com/5698157/38687661-c2839fac-3ea9-11e8-83af-43663c558a26.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/picotorrent/picotorrent/issues/564, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABbDcAG9M6QlRh7nTGlEiUvwIxZDB7b_ks5tn3RKgaJpZM4TSBdI
.

This is magnet link: magnet:?xt=urn:btih:eb5842c2dfe06220499adcb36bf64929f1fd8bcc

eb5842c2dfe06220499adcb36bf64929f1fd8bcc.zip

@vktr Thank you.


photon vm ssh <VM_IP>without password

Shall we have support for this command: photon vm ssh <VM_IP>

re


knex.raw arguments in 0.8.6

I'm currently on hold with upgrading from 0.7.6 to 0.8.6 due to the knex events not being fixed in 0.8.6 yet, but I figured I could upgrade to test if theres anything else in my app that would need fixing.
Doing this, I found that the argument handling for knex.raw must have changed, and I'm just unsure whether this was intentional or not.

I should add that sending ['Test'] in 0.8.6 does work, but not if you send the string alone. Instead it appears to run split on the string..

Just a guess, I think it is possible to bind an array as a value. This
would cause ambiguity between applying an array as a binding and an array
of bindings.
If this is the case then it should error rather than splitting the string.
On Fri, 4 Sep 2015 7:59 pm wubzz<EMAIL_ADDRESS>wrote:

I should add that sending ['Test'] in 0.8.6 does work, but not if you
send the string alone. Instead it appears to run split on the string..
—
Reply to this email directly or view it on GitHub
https://github.com/tgriesser/knex/issues/965#issuecomment-137694074.

@rhys-vdw I agree it should throw an error to easily detect broken parts of the apps.

@rhys-vdw Would you agree that allowing either String or Array is the better option here? Much like nearly every other function in exposed in knex, such as the tablebuilder. (primary('id'), primary(['id'])
That way knex can be backwards-compatible in regards to this issue. It's a quick fix changing the argument to an Array if the input is a String. See: https://github.com/tgriesser/knex/blob/master/src/raw.js#L29

Fixed in #1172


[Relay modern] Can't get react-app-rewire-relay to work.

const babelrc = config.module.loaders.find(babelLoader).query;
^
TypeError: Cannot read property 'find' of undefined

Hi @Togrias
I don't use relay modern so can't really offer any assistance.  You might try looking at some of the utility methods
const getBabelLoader = function(rules) {
  return getLoader(rules, babelLoaderMatcher);
};


[CI] Don't build wheels on PR

CI is very slow (approx 12 mins). By not building wheels on PR (only main) we can halve the time taken (first push to this PR took 7 mins)

I'm not 100% sure on this one, its only only check against Python 3.7. If we're going to do this, we should move main CI to Python 3.7 (which has asan issues).

Related to #756

Closing as 3.7 checks are valuable and we have #756


WIP: Implement EIP-5806

See https://github.com/Amxx/EIP-5806/tree/main to track the other implementation effort.
This PR provides TransactTo::DelegateCall that NomicFoundation's Hardhat EDR needs to implement EIP-5806. It also adds the restricted opcodes as documented in the EIP document.
I'd love to provide some testing, but I'm not very familiar with this projet. Can you guide me for that part?

Hey, thank you for doing this, but revm should focus only on current mainnet EIP's, it is too early to merge this inside main repo.
For example, you can check the history of Transient Storage here, these things can span a year and more: https://github.com/bluealloy/revm/issues/154 from
@Wodann ping on this as it is related to hardhat

I looked at the Inspector system, following this as an example.
However I'm not sure that would work:

This PR is mostly about adding TransactTo::DelegateCall(address), and I'm really not sure if that can be done without changes to revm.
The "restricted opcode part" might be feasable through an Inspector, but I'm not sure how:

I can get everything I need from the Interpreter and the EvmContext, but if I want to write to the interp.instruction_result, I'm not sure how to get access to InstructionResult
Even if was able to set that, I'm not sure how a Inspector step can halt the execution

Following the discussion in telegram, I looked at the Inspector system, following this as an example.
However I'm not sure that would work:

This PR is mostly about adding TransactTo::DelegateCall(address), and I'm really not sure if that can be done without changes to revm.

The "restricted opcode part" might be feasable through an Inspector, but I'm not sure how:

I can get everything I need from the Interpreter and the EvmContext, but if I want to write to the interp.instruction_result, I'm not sure how to get access to InstructionResult
Even if was able to set that, I'm not sure how a Inspector step can halt the execution

Probably will be hard,

Following the discussion in telegram, I looked at the Inspector system, following this as an example.
However I'm not sure that would work:

This PR is mostly about adding TransactTo::DelegateCall(address), and I'm really not sure if that can be done without changes to revm.

The "restricted opcode part" might be feasable through an Inspector, but I'm not sure how:

I can get everything I need from the Interpreter and the EvmContext, but if I want to write to the interp.instruction_result, I'm not sure how to get access to InstructionResult
Even if was able to set that, I'm not sure how a Inspector step can halt the execution

Yeah, this will be more harder to add outside of Revm as it requires a new transaction type.
Will close this PR as it is not actively worked on.


ROS publishing latency issue

A strange publishing behavior has been observed using the ROS driver. It appears that there is a publishing delay that occurs at a frequency of 1Hz, with the publishing occurring at a higher frequency just after to compensate. The ROS timestamps in the header seem to indicate that the data is being received and processed at the expected frequency, so it appear to just be an issue on the publishing side.

@CeeSBG Might be related: https://github.com/SBG-Systems/sbg_ros_driver/issues/83

It seems to be the same issue as #83 which is already solved.


[BUG] EXIF oriented images are not displaying properly in FiftyOne

A user has encountered an issue when using compute_metadata() in which the exif orientation is not accounted for and the width and height are flipped.
Perhaps compute_metadata() should account for orientation as browser rendering will, I believe.

Relevant details:

compute_metadata() uses PIL.Image.open() to compute height/width:
https://github.com/voxel51/fiftyone/blob/7304b69abb556e8899084329d9dde3197e1913b8/fiftyone/core/metadata.py#L273-L284
The rest of the library uses some mix of PIL.Image and cv2.read to read images whenever a builtin method requests this:
https://github.com/voxel51/fiftyone/blob/7304b69abb556e8899084329d9dde3197e1913b8/fiftyone/utils/torch.py#L1592
https://github.com/voxel51/eta/blob/9a89132a0fc8e8d519faf1fbb71f93981f97255d/eta/core/image.py#L460

The issue below suggests that OpenCV may not have supported EXIF until pretty recently (and also that PNG itself didn't support EXIF until 2017):
https://github.com/opencv/opencv/issues/16579
I suspect it may be difficult to pin down our browser + PIL + cv2 dependencies in order to uniformly respect or ignore EXIF in a reliable way...
TLDR: working with EXIF oriented images in FiftyOne is definitely "use at your own risk" territory.

I would propose 2 ways to fix this as this has been an issue for me.

To the two functions above add the following line
from PIL import ImageOps img = Image.open(image_path) img = ImageOps.exif_transpose(img)
This line will transpose the image if it needs to be according to the exif data else just returns a copy of the image. https://pillow.readthedocs.io/en/stable/reference/ImageOps.html
for cv2 functions the flag IMREAD_UNCHANGED which can be used as default if force_rgb is not true will not orient the image according to the exif data as describe here. Either forcing the rotation buy setting force_rgb == true or another solution has to be found for opencv when using the alpha channel and exif orientation.


Transformation list refreshing issues

The transformation list sometimes doesn't refresh properly, even if a graph is selected when multiple tabs / editors are open.
To address this, a timeout after ~5 seconds with no transformations could cause an explicit refresh button to appear.

Recent changes in #203 may have fixed this, currently impossible to reproduce. Status unclear.


tighen gem dependencies

This introduces versions for all gems.  It changes the dependency on rails from 4.1.6 to ~> 4.1.6.  Whenever it does not conflict with the current Gemfile.lock, versions of gems match either the heidrun or frontend app.

:+1:


Tags are restricted to alphanumeric characters, so they cannot contain hyphens

I'm not sure what this falls under, but we can discuss whether this is something we can leave intact and update the UG for, or if we want to change how it is currently implemented.
This is the case for both the add and the edit command

To be updated in UG as a field restriction

On second thought, I think this is important given our target user. Maybe not so much "-" but also spaces " ".
Related to issue #169, a reasonable tag would be low income and ex-convict. low income may be replaced by low-income if space poses a problem in implementation or vice versa for ex-convict --> ex convict but in any case, 2 or more word tag needs to be allowed.

I'll try doing the naive implementation of that and see if it poses any problems with multiple tags parsing!


Fix optimum-tpu pip install instructions

We need to provide the find-links option to pip to find libtpu on Google storage

it seems there is an error on the doc build...


Error: Invalid login: 535-5.7.8 Username and Password not accepted

I have the following code
const sgMail = require('@sendgrid/mail')
async sendMail(emailInfo, log) {
 sgMail.setApiKey(process.env.SENDGRID_API_KEY)

    const msg = {
      to: emailInfo.recipient,
      from: process.env.EMAIL_SENDER,
      html: emailInfo.body,
    }
    return sgMail.send(msg).catch((error) => {
      console.error(error)
      console.log(error.response.body)
    })
}

in package json
  "@sendgrid/mail": "^7.6.1",
The value for process.env.EMAIL_SENDER I can confirm its verified on sendgrid dashboard.
Runnning the above code throws the following error:
2022-02-22T17:55:00.077Z | Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
2022-02-22T17:55:00.077Z | 535 5.7.8 https://support.google.com/mail/?p=BadCredentials n19-20020a05600c4f9300b0037c06fe68casm3105077wmq.44 - gsmtp
2022-02-22T17:55:00.077Z | at SMTPConnection._formatError (/usr/src/app/node_modules/nodemailer/lib/smtp-connection/index.js:784:19)
2022-02-22T17:55:00.077Z | at SMTPConnection._actionAUTHComplete (/usr/src/app/node_modules/nodemailer/lib/smtp-connection/index.js:1536:34)
2022-02-22T17:55:00.078Z | at SMTPConnection.<anonymous> (/usr/src/app/node_modules/nodemailer/lib/smtp-connection/index.js:540:26)
2022-02-22T17:55:00.078Z | at SMTPConnection._processResponse (/usr/src/app/node_modules/nodemailer/lib/smtp-connection/index.js:947:20)
2022-02-22T17:55:00.078Z | at SMTPConnection._onData (/usr/src/app/node_modules/nodemailer/lib/smtp-connection/index.js:749:14)
2022-02-22T17:55:00.078Z | at TLSSocket.SMTPConnection._onSocketData (/usr/src/app/node_modules/nodemailer/lib/smtp-connection/index.js:189:44)
2022-02-22T17:55:00.078Z | at TLSSocket.emit (node:events:390:28)
2022-02-22T17:55:00.078Z | at addChunk (node:internal/streams/readable:315:12)
2022-02-22T17:55:00.078Z | at readableAddChunk (node:internal/streams/readable:289:9)
2022-02-22T17:55:00.078Z | at TLSSocket.Readable.push (node:internal/streams/readable:228:10) {
2022-02-22T17:55:00.078Z | code: 'EAUTH',
2022-02-22T17:55:00.078Z | response: '535-5.7.8 Username and Password not accepted. Learn more at\n' +
2022-02-22T17:55:00.078Z | '535 5.7.8 https://support.google.com/mail/?p=BadCredentials n19-20020a05600c4f9300b0037c06fe68casm3105077wmq.44 - gsmtp',
2022-02-22T17:55:00.078Z | responseCode: 535,
2022-02-22T17:55:00.078Z | command: 'AUTH PLAIN'
2022-02-22T17:55:00.078Z | }

What am i doing wrong?

My bad, I missed to add subject, and also had an issue with passing the api key via env variables.


Where's aws-request-signing-apache-interceptor in Maven?

Now that we have done #35 we need to be able to find what we published ;)
https://mvnrepository.com/search?q=aws-request-signing-apache-interceptor isn't turning up.
I see snapshots in https://s01.oss.sonatype.org/#nexus-search;quick~aws-request-signing-apache-interceptor, but no released artifacts. I imagine that CI published to https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/io/github/acm19/aws-request-signing-apache-interceptor, but I cannot see it (permissions).

Do we still have to promote the library from staging to releases, manually?
If (1), document in RELEASING.md.
Once we find the release in maven, add how to use it into README.
We should reduce bus factor of who has access to the staging repo. Add dblock (I think it needs a JIRA in https://issues.sonatype.org/browse/OSSRH-33832)?

Let's reopen this one: https://central.sonatype.org/publish/release/#locate-and-examine-your-staging-repository. Apparently for full automation we'll need to use the Nexus Staging Maven Plugin:

Note that deploying with the Nexus Staging Maven plugin or Ant tasks will, by default, automatically attempt to close the staging repository upon deployment and can be used to release the staging repository from the command line as well. This allows you to avoid logging into the OSSRH user interface altogether. More details can be found in the Maven and Ant sections of this guide.

We have https://issues.sonatype.org/browse/OSSRH-82461 open because the project is still not coming up in search.

It's showing up today! https://search.maven.org/artifact/io.github.acm19/aws-request-signing-apache-interceptor


Conversion of IPAddress to non-scalar type

I get the following error with the provided example and changed for my use case

Please upgrade the component

And how do i do that? i guess it pulls the code directly from github?

It does, but you may have to clear cache in esphome in some way.

I deleted everything and redownloaded via homeassistant and manualy and still the same issue

I'm using esphome dev and yes it is updated ... could the issue be the dev esphome addon?

Maybe. Yes. But if it is then i need to figure out why dev doesnt work.

[image: image.png][image: image.png][image: image.png]
Hi,
since i have your attention ... i'm still struggling to get the thing
working ... i have a VVM310 HP, and i cant find the enable MODBUS40 in
settings and i cant get it connected. I guess the modbus connection is ok.
I also tried different ports if some were blocked
V V pon., 30. okt. 2023 ob 17:55 je oseba Joakim Plate <
@.***> napisala:

Maybe. Yes. But if it is then i need to figure out why dev doesnt work.
—
Reply to this email directly, view it on GitHub
https://github.com/elupus/esphome-nibe/issues/48#issuecomment-1785658965,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGCU5ZPFNLM4FCRFRIJ7S2DYB7LYJAVCNFSM6AAAAAA6WABOKCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBVGY2TQOJWGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

also i get this error ... even if i have the devices on the same network,
but since i have homeassistant on <IP_ADDRESS> and esp on <IP_ADDRESS> it
should be fine
V V sre., 1. nov. 2023 ob 16:47 je oseba Matevž Pivk @.***>
napisala:

[image: image.png][image: image.png][image: image.png]
Hi,
since i have your attention ... i'm still struggling to get the thing
working ... i have a VVM310 HP, and i cant find the enable MODBUS40 in
settings and i cant get it connected. I guess the modbus connection is ok.
I also tried different ports if some were blocked
V V pon., 30. okt. 2023 ob 17:55 je oseba Joakim Plate <
@.***> napisala:

Maybe. Yes. But if it is then i need to figure out why dev doesnt work.
—
Reply to this email directly, view it on GitHub
https://github.com/elupus/esphome-nibe/issues/48#issuecomment-1785658965,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGCU5ZPFNLM4FCRFRIJ7S2DYB7LYJAVCNFSM6AAAAAA6WABOKCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBVGY2TQOJWGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

[image: image.png]
V V sre., 1. nov. 2023 ob 18:41 je oseba Matevž Pivk @.***>
napisala:

also i get this error ... even if i have the devices on the same network,
but since i have homeassistant on <IP_ADDRESS> and esp on <IP_ADDRESS> it
should be fine
V V sre., 1. nov. 2023 ob 16:47 je oseba Matevž Pivk <
@.***> napisala:

[image: image.png][image: image.png][image: image.png]
Hi,
since i have your attention ... i'm still struggling to get the thing
working ... i have a VVM310 HP, and i cant find the enable MODBUS40 in
settings and i cant get it connected. I guess the modbus connection is ok.
I also tried different ports if some were blocked
V V pon., 30. okt. 2023 ob 17:55 je oseba Joakim Plate <
@.***> napisala:

Maybe. Yes. But if it is then i need to figure out why dev doesnt work.
—
Reply to this email directly, view it on GitHub
https://github.com/elupus/esphome-nibe/issues/48#issuecomment-1785658965,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGCU5ZPFNLM4FCRFRIJ7S2DYB7LYJAVCNFSM6AAAAAA6WABOKCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBVGY2TQOJWGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


Bump icu to 58.*

Seems everything else is using 58.* at this point. Would it be reasonable to also bump qt to 58.*?
Note: I have not been following the icu update at all. So if this is already answered somewhere, please just let me know.

I'm not up to speed at all about the icu pinning. I did just find that matplotlib has icu pinned to icu 58.* and winds up installing qt=4.8.7 because latest here (5.6.2) has icu pinned to 56.*.

matplotlib cannot use qt5 from conda-forge yet. we are having some issues
compiling pyqt with qt5. I will get back to that soon. meanwhile we still
need to pin everything in conda-forge to qt4
On Mar 7, 2017 3:17 PM, "Peter Parente"<EMAIL_ADDRESS>wrote:

I'm not up to speed at all about the icu pinning. I did just find that matplotlib
has icu pinned to icu 58.*
https://github.com/conda-forge/matplotlib-feedstock/blob/master/recipe/meta.yaml#L47
and winds up installing qt=4.8.7 because latest here (5.6.2) has icu pinned
to 56.*.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/qt-feedstock/issues/29#issuecomment-284809061,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6BL5wIuohpSyMLxlwgQ337azXAaSRbks5rjZ8agaJpZM4MSwUW
.

Thanks @ocefpaf. I found this because I wound up with broken geopandas and lxml installs (they both look for libicui18n.so.58) in an environment with qt also installed for matplotlib which pulls in icu 56.1 instead.

I will take a look at this tomorrow. (I moved to another city right in the
middle of the icu change so things ended up incomplete).
On Mar 7, 2017 3:48 PM, "Peter Parente"<EMAIL_ADDRESS>wrote:

Thanks @ocefpaf https://github.com/ocefpaf. I found this because I
wound up with broken geopandas and lxml installs (they both look for
libicui18n.so.58) in an environment with qt also installed for matplotlib
which pulls in icu 56.1 instead.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/qt-feedstock/issues/29#issuecomment-284817995,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6BLyaXukmuzNooa6_LvNWbcCeqnJ66ks5rjaZzgaJpZM4MSwUW
.

@parente you may be hitting a channel mismatch there. Qt4 is used everywhere in conda-forge and it is pinned to icu 58.*
See https://github.com/conda-forge/qt-feedstock/blob/qt4/recipe/meta.yaml
Hopefully qt5, with icu 58, will be available soon.

Interesting. I'll take another pass through the package list.

@parente let me know if you still suffer from this. Like I mentioned above you should not get Qt5 from conda-forge since everything is still pinned to Qt4, and will remain like that for a while until we can build Qt5 on Windows and OS X.
I am closing this to avoid confusing users. Qt4 is pinned and people should not rely on Qt5 from conda-forge at the moment.

I think the problem I'm seeing is due to graphviz. Still tracking it down, but here's
# works fine
conda create -p /tmp/foo python=2.7 -c conda-forge 'matplotlib>=2.0' 'icu>=58'

# works fine
conda create -p /tmp/foo python=2.7 -c conda-forge python-graphviz 'icu>=58'

# winds up installing icu=56.*
conda create -p /tmp/foo python=2.7 -c conda-forge python-graphviz 'matplotlib>=2.0'

# package in conflict
conda create -p /tmp/foo python=2.7 -c conda-forge  'matplotlib>=2.0' 'icu>=58' python-graphviz

Thanks. That helps. The culprit graphviz that is not properly pinned to latest libpng and is forcing a different build of matplotlib to be installed.
I will fix that soon.

All of these packages switch to defaults channel when I specify icu>=58.0 and graphviz together. libpng seems to remain at the same version from conda-forge , 1.6.28-0.
    cairo:           1.12.18-6        defaults
    fontconfig:      2.11.1-6         defaults
    freetype:        2.5.5-2          defaults
    harfbuzz:        0.9.39-1         defaults
    pango:           1.39.0-0         defaults

I was thinking the pinning problem might be in one of these.

I am pretty sure it is graphviz. That feedstock is not updated in ages. Should be fixed soon.

I guess that updating the pinning was all we needed.
> conda create -c conda-forge -n TEST python=2.7 python-graphviz
Fetching package metadata .........
Solving package specifications: ..........

Package plan for installation in environment /home/filipe/miniconda3/envs/TEST:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libtool-2.4.6              |                0         572 KB  conda-forge
    python-2.7.12              |                2        13.8 MB  conda-forge
    certifi-2017.1.23          |           py27_0         222 KB  conda-forge
    setuptools-33.1.0          |           py27_0         492 KB  conda-forge
    wheel-0.29.0               |           py27_0          81 KB  conda-forge
    pip-9.0.1                  |           py27_0         1.6 MB  conda-forge
    graphviz-2.38.0            |                4        12.6 MB  conda-forge
    python-graphviz-0.5.1      |           py27_0          17 KB  conda-forge
    ------------------------------------------------------------
                                           Total:        29.3 MB

The following NEW packages will be INSTALLED:

    ca-certificates: 2017.1.23-0      conda-forge
    cairo:           1.14.6-4         conda-forge
    certifi:         2017.1.23-py27_0 conda-forge
    expat:           2.1.0-2          conda-forge
    fontconfig:      2.12.1-4         conda-forge
    freetype:        2.7-1            conda-forge
    gettext:         0.19.7-1         conda-forge
    glib:            2.51.4-0         conda-forge
    graphite2:       1.3.9-0          conda-forge
    graphviz:        2.38.0-4         conda-forge
    harfbuzz:        1.4.3-0          conda-forge
    icu:             58.1-1           conda-forge
    jpeg:            9b-0             conda-forge
    libffi:          3.2.1-3          conda-forge
    libiconv:        1.14-4           conda-forge
    libpng:          1.6.28-0         conda-forge
    libtiff:         4.0.6-7          conda-forge
    libtool:         2.4.6-0          conda-forge
    libxml2:         2.9.4-4          conda-forge
    ncurses:         5.9-10           conda-forge
    openssl:         1.0.2h-3         conda-forge
    pango:           1.40.4-0         conda-forge
    pcre:            8.39-0           conda-forge
    pip:             9.0.1-py27_0     conda-forge
    pixman:          0.34.0-0         conda-forge
    python:          2.7.12-2         conda-forge
    python-graphviz: 0.5.1-py27_0     conda-forge
    readline:        6.2-0            conda-forge
    setuptools:      33.1.0-py27_0    conda-forge
    sqlite:          3.13.0-1         conda-forge
    tk:              8.5.19-1         conda-forge
    wheel:           0.29.0-py27_0    conda-forge
    xz:              5.2.2-0          conda-forge
    zlib:            1.2.11-0         conda-forge


Find new SAP image registry for slack-bot image

The GCP project hosting image registry where slack-bot image resided has been deleted
$ make build-image push-image
...
The push refers to repository [eu.gcr.io/sap-se-cx-gopher/slack-bot]
e3ef9d4c6b56: Preparing
fd6fa224ea91: Preparing
denied: Project sap-se-cx-gopher has been deleted.

as a quick remediation, it has been put to a temporary image registry. With https://github.com/kyma-incubator/slack-bot/pull/15 and https://github.com/kyma-project/test-infra/pull/6626, the transition should be complete to kyma registry.


Add progress bar for TestInfo tests

Description
Added a Write-Progress to show the current test and progress when using TestInfo parameter option
Related Issue
None
Motivation and Context
It allows long running testing to have some semblance of progress, and allows testers to see which test is taking too long
How Has This Been Tested?
By running some validations and ensuring the progress bar appears and works are intended
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

This change is

Builds are failing with and issue outside of my control...
Invoke-Git : fatal: ambiguous argument 'Operation-Validation-Framework': unknown revision or path not in the working
tree.
At C:\Users\VssAdministrator\Documents\WindowsPowerShell\Modules\BuildHelpers\2.0.8\Public\Get-BuildVariable.ps1:184
char:17
+ ...             Invoke-Git @IGParams -Arguments "log --format=%B -n 1 $(  ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-Git

##[error]PowerShell exited with code '1'.

Thanks for the contribution @My-Random-Thoughts!

Builds are failing with and issue outside of my control...

That is a problem with the BuildHelpers module which should be fixed in https://github.com/RamblingCookieMonster/BuildHelpers/pull/102 but it hasn't been released yet. Not to worry. It builds/tests fine locally 👍


chore: remove deprecated goreleaser release actions

The gorelaser release following subcommands has been changed:

--rm-dist deprecated and replaced by --clean
--debug deprecated and replaced by --verbose

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 61.51%. Comparing base (c59a29e) to head (f69f299).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #143   +/-   ##
=======================================
  Coverage   61.51%   61.51%
=======================================
  Files           5        5
  Lines         317      317
=======================================
  Hits          195      195
  Misses        121      121
  Partials        1        1

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


allow working with latest capybara version #831

Closing in favor of https://github.com/thoughtbot/capybara-webkit/tree/capybara-2.5. Thanks for the PR!

@mhoran because Capybara follows SemVer and we inherit from Capybara::Driver::Base, do you think it would be good to lock to a minor version, like ~> 2.3?
That way, users can update to the latest Capybara without action from us, and the worst they should see is a "not supported" error from the base driver.
We'll obviously want to issue a release to support the latest features, but at least users could keep up with Capybara without waiting for us.

Hey @jferris. I'd prefer to lock to versions we've added to Appraisals, as I've seen slight differences between point releases in the past. Nothing major, and nothing I would consider a violation of semver, but things that may break our integration tests in subtle ways. Check out the capybara-2.5 branch for an example.
I think with enough heads up (which @twalpole provided this time) we can stay on top of the version bump and raise the runtime dependency as appropriate. If you feel strongly the other way, I'm fine with locking to the point release. I'd just prefer that it be clear to users whether we're aware of any issues, missing features, etc. before they go ahead and upgrade.

Alright, let's continue on that path, then. When in doubt, I think we should go the more conservative route.

capybara-webkit 1.1 (now is 1.6) works with capybara 2.5, so, when we update capybara to actual (2.5) via bundle update then capybara-webkit rollback from 1.6 to 1.1
here is why https://rubygems.org/gems/capybara-webkit/versions/1.1.0

capybara-webkit 1.7.0 has been released and supports Capybara 2.5, with the exception of Node#send_keys.

Yay! :+1:


only matching images ..different images with same face are not recogizing

I am adding image in gallery by getting image from gallery using enroll api.
Now for recognition I am using recognition api.If I pick same image from gallery ,Its giving me result properly.But I pick other image of same person (That is face is same as image i have enrolled) ,its giving me no result found .please help.

I would suggest using the "threshold" parameter and lowering it a value below the default, which I think it set at 0.80.

Are you telling I should pass threshold parameter with value 0.80 in recognize api??

No, a value lower, you can go as low as 0.01.

I am not understanding what you are Telling .My Question is that if I have uploaded my one image using enroll api ,and I am upload that same image for recognition it's giving me proper result.But if I upload another image of mine(that is enrolled image and sec image for recognition faces are same) ,Its giving me no result found.(I think if images faces are same than IT should be given result with name)

Hello I would like to leave your newsletter very much so.

I suggest trying the requests manually from something like Curl or Postman outside of the Android app.  We have extensive documentation available at: https://www.kairos.com/docs/face-recognition/


I keep getting an error 'could not build Objective-C module ' name of module' sourcekitd

I am using Hummingbird 2.0.0-beta.1
I keep getting an error message for the import of the 'HummingbirdTesting' module from the hummingbird package.
The error message is "could not build Objective-C module 'HummingbirdTesting'sourcekitd"
To Reproduce
Steps to reproduce the behavior:

clone this repo: Todos
swift build
go to Tests/TestTodos.swift
See error when you hover over 'HummingbirdTesting'. It should have an error squiggly under it.

Expected behavior
I expected that the HummingbirdTesting module would be built and available.
Environment

OS: MacOS 14.2.1
swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-<IP_ADDRESS>.56 clang-15<IP_ADDRESS>.5)
Target: arm64-apple-macosx14.0
Visual Studio Code version: 1.87.2
vscode-swift version: 1.8.1

Hey @brucemontegani you added a version of this bug 2 years ago #138. As I said at the time this is a sourcekit-lsp bug.
Although if you follow all the links through all the issues you'll find it was SwiftPM bug which looks like it got fixed and merged 3 months ago. So will probably be in Swift 6.
I'm going to close this as a duplicate.


Issues deploying to aspnetcore runtime

Hi, This error started happening today. I am on the latest gcloud components.
[09:27:57]Activated service account credentials for: [<REMOVEdTHIS>]
[09:27:57]Updated property [core/project].
[09:27:59]You are about to deploy the following services:
[09:27:59] - <REMOVEdTHIS>/freudcoreweb/39 (from [C:\buildAgent\work\85e8b955db2254d4\src\Dtl.Freud.Web\bin\Release\netcoreapp1.0\publish\app.freudcoreweb.yaml])
[09:27:59]     Deploying to URL: [https://<REMOVEdTHIS>.appspot.com]
[09:27:59]
[09:27:59]WARNING: Checking the status of the Appengine Flexible Environment API during Appengine Flexible deployments is currently in beta.
[09:28:23]Beginning deployment of service [freudcoreweb]...
[09:28:23]Building and pushing image for service [freudcoreweb]
[09:28:23]ERROR: (gcloud.beta.app.deploy) Could not read [<googlecloudsdk.api_lib.storage.storage_util.ObjectReference object at 0x02E91A50>]: HttpError accessing <https://www.googleapis.com/storage/v1/b/runtime-builders/o/aspnetcore-builder-20170327052736.yaml?alt=media>: response: <{'status': '404', 'content-length': '9', 'expires': 'Tue, 16 May 2017 09:28:23 GMT', 'vary': 'Origin, X-Origin', 'server': 'UploadServer', 'x-guploader-uploadid': 'AEnB2Uovx0kR4KaMgYaF0QIIPYtaz4FN4HZZr_SmoXbKwVks7JoSCIoaobVZ2PA_yNVlJEcoh4oF-Vb3dBrYCvejVig1s1xfxA', 'cache-control': 'private, max-age=0', 'date': 'Tue, 16 May 2017 09:28:23 GMT', 'alt-svc': 'quic=":443"; ma=2592000; v="37,36,35"', 'content-type': 'text/html; charset=UTF-8'}>, content <Not Found>. Please retry.
[09:28:24]Process exited with code 1

My app.yaml file looks like this... (its actual called app.freudcoreweb.yaml)
runtime: aspnetcore
env: flex
threadsafe: true
service: freudcoreweb
manual_scaling:
  instances: 1
env_variables:
  service_name: freudcoreweb

to deploy I call this

gcloud beta app deploy app.freudcoreweb.yaml -v localdeploy1 -q

Any ides what im doing wrong? This has been working.

There has been a problem in our config, tracking this down.

Phew!!! Thought it was me. Is it a beta thing?

Yep, beta pains. We have fixed the config on our side. Try again, it should just work now.

@Jetski5822 Has this issue been resolved to your satisfaction? Are you using the Google .NET Runtime to deploy your .NET Core apps to GCP?

Works perfectly!!! Loving the cli for google chaps... cracking job.
Deploying using the gcloud deploy command.

That's excellent news @Jetski5822 ! Can I ask if you're using the Google .NET Runtime or a custom Dockerfile?

@csells I used to use the docker file, but I now use the native .net runtime. Works great.
I can put my deployment script in here tomorrow if you want. Super simple.

Great! That's good news.


Fix one node install taint issue

It seems that the following taint is applied to the single node node-role.kubernetes.io/control-plane. It causes deployment suspension due to pod affinity.
Image for reference
kubectl get nodes

kubectl describe node vhive-sched-bench | grep Taints

I've follow the getting started documentation on how to deploy vHive on a single node and I clearly don't know why this label is assigned to the node.

@Joffref is this problem still relevant? if so, please provide the exact steps how we can reproduce it.

This issue clearly depends on #606. Indeed, since few versions master has been renamed to control-plane in kubernetes thus as said in #606 kubeadm download is not handled by the install scripted forcing the user to manually install kubeadm. Causing this issue as the version is not the correct one.
I'm closing this pull request since this just a result of a root cause.

#606 is a sporadic bug, hence it cannot be the root cause of your problem. otherwise please elaborate.
@cvetkovic can you help make sense out of this PR/issue? I am still missing something here

#606 is a sporadic bug, hence it cannot be the root cause of your problem. otherwise please elaborate.
@cvetkovic can you help make sense out of this PR/issue? I am still missing something here

I suspect the mirror from which the kubeadm installation is pulled does not contain the version we used. This is something I have experienced in practice on Cloudlab. One geolocation has it as it uses a different mirror, the other does not.
@Joffref Can you manually check if the package manager can fetch kubeadm and kubectl, as in the https://github.com/vhive-serverless/vHive/blob/main/scripts/install_stock.sh#L52.
Also, this PR should not be merged, as we still do not support Kubernetes v1.25. We currently use v1.23.

@cvetkovic Unfortunately, I'm no more using this OS thus I can't test.

I am closing this issue. Please re-open if it becomes relevant.


pilot: fix bug in endpoint updates (#50746)

Fixes #51026

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio_release-1.21
3838f0334510a673dc89b49c73e7f0507caa7888
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

/retest


fix: Docker Compose build context

Description
The build context in the docker-compose.yml file is currently incorrect. This PR is fixing that.
Task Item
Closes #5381

Coverage increased (+0.01%) to 54.478% when pulling 0918a71025b327270233cc49b3187a140d0ecc05 on peterbozso:patch-6 into 4fff914b74aca6836ff6034893b5b1c68db22596 on microsoft:main.


Import design time targets for Roslyn Project System

Conditionally import design time targets that will be installed with the next Preview of Visual Studio 15. These targets override CPS project properties schema to enable functionality introduced by the Roslyn Project System.
/cc @AndyGerlicher @srivatsn @davkean
For reference:

Roslyn Project System Design Time targets
Work Item: https://github.com/dotnet/roslyn-project-system/issues/128

👍

Should the conditional import also include a condition for whether the targets will be run (something like $(BuildingInsideVisualStudio)?
If that doesn't seem like a good idea, LGTM.

In the future we may want other hosts to get the properites\items in the design time targets as well. So BuildingInsideVisualStudio may not be strictly correct.


Updates to main NB landing page

Need to add:

[x] Why we do this: our philosophy
[x] General contribution guidelines:

[x] Style guide
[x] Notebook template

[x] How does the machinery work?

@eteq @TheRealZoidberg This is ready for merge.

Looks good and has been well-reviewed.  Merging!